<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>CPPLapack: dsymatrix Class Reference</title>

<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />

<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { searchBox.OnSelectItem(0); });
</script>

</head>
<body>
<div id="top"><!-- do not remove this div! -->


<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  
  
  <td style="padding-left: 0.5em;">
   <div id="projectname">CPPLapack
   
   </div>
   
  </td>
  
  
  
 </tr>
 </tbody>
</table>
</div>

<!-- Generated by Doxygen 1.7.6.1 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
      <li><a href="dirs.html"><span>Directories</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
    </ul>
  </div>
</div>
<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-attribs">Public Attributes</a> &#124;
<a href="#friends">Friends</a>  </div>
  <div class="headertitle">
<div class="title">dsymatrix Class Reference</div>  </div>
</div><!--header-->
<div class="contents">
<!-- doxytag: class="dsymatrix" -->
<p>Real Double-precision Symmetric Matrix Class [l-type (UPLO=l) Strage].  
 <a href="classdsymatrix.html#details">More...</a></p>

<p><code>#include &lt;<a class="el" href="dsymatrix_8hpp_source.html">dsymatrix.hpp</a>&gt;</code></p>

<p><a href="classdsymatrix-members.html">List of all members.</a></p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdsymatrix.html#a855a9d4a4fa8a93acb80e746470a477d">dsymatrix</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdsymatrix.html#a50942c4b31894848e97f114d042733a5">dsymatrix</a> (const <a class="el" href="classdsymatrix.html">dsymatrix</a> &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdsymatrix.html#a5a8e3eb798cb42c19e44f6c833ba7261">dsymatrix</a> (const <a class="el" href="class__dsymatrix.html">_dsymatrix</a> &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdsymatrix.html#a139875b3924eb20da184bac3c2294a09">dsymatrix</a> (const long &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdsymatrix.html#a00a5871a3936fb1f7f0b051b6e156167">dsymatrix</a> (const char *)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdsymatrix.html#a80533e595611221cfcf65536d3f2a5de">~dsymatrix</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class__zhematrix.html">_zhematrix</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdsymatrix.html#ad975637aa00a2828c3730dbc792eb187">to_zhematrix</a> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class__dgematrix.html">_dgematrix</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdsymatrix.html#a45ff312f6c694841edfd30809e09ba7b">to_dgematrix</a> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class__dssmatrix.html">_dssmatrix</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdsymatrix.html#afb640fff012319343a9e92d1210beb23">to_dssmatrix</a> (const double eps=-1) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">double &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdsymatrix.html#ab7ef2af9dca9cd4eb2344ec8846eb2e7">operator()</a> (const long &amp;, const long &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdsymatrix.html#a1b88d6914df28f368e028843fd68077a">operator()</a> (const long &amp;, const long &amp;) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classdsymatrix.html">dsymatrix</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdsymatrix.html#a0fd73445b311e1ee6a13df40f0a261b3">set</a> (const long &amp;, const long &amp;, const double &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdsymatrix.html#ab165901ab7581cada4d0ee23db32eeaf">write</a> (const char *) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdsymatrix.html#a6924efa4234f5df916da99d858dabf1f">read</a> (const char *)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdsymatrix.html#a09530f2e3c2397751b4d66a6f73ce86b">complete</a> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdsymatrix.html#a8745204663370379924493e54a3ee919">clear</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classdsymatrix.html">dsymatrix</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdsymatrix.html#a947a5e8f68c4b7c7bb00feccf2691e18">zero</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classdsymatrix.html">dsymatrix</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdsymatrix.html#a0bbf9e39f4ed24a61102362477389d19">identity</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdsymatrix.html#a52ab0893087e809d39e67ddc92b37f78">chsign</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdsymatrix.html#ab4efab676db40bf3aa2c20d682d0067f">copy</a> (const <a class="el" href="classdsymatrix.html">dsymatrix</a> &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdsymatrix.html#a0afa7dbdf0dfb3b841ac3997bc470bbd">shallow_copy</a> (const <a class="el" href="class__dsymatrix.html">_dsymatrix</a> &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classdsymatrix.html">dsymatrix</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdsymatrix.html#aca838c10b45b98b42412fdfc2f0e4350">resize</a> (const long &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class__drovector.html">_drovector</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdsymatrix.html#a64ab65ffb5ff5afa8ecef76fa854867f">row</a> (const long &amp;) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class__dcovector.html">_dcovector</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdsymatrix.html#aa6090a0966aacf51de5837c41e16b392">col</a> (const long &amp;) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">long&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdsymatrix.html#a2d2181589454c151bacc940aa189980d">dsysv</a> (<a class="el" href="classdgematrix.html">dgematrix</a> &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">long&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdsymatrix.html#ad83185d64782dcdc6c391cdf2086649c">dsysv</a> (<a class="el" href="classdcovector.html">dcovector</a> &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">long&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdsymatrix.html#a13cdcc8bc02b6bfcebff8edd84ca1cfc">dsyev</a> (std::vector&lt; double &gt; &amp;, const bool &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">long&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdsymatrix.html#adb39304e5381c5fc91f3d290a5adc41c">dsyev</a> (std::vector&lt; double &gt; &amp;, std::vector&lt; <a class="el" href="classdcovector.html">dcovector</a> &gt; &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">long&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdsymatrix.html#a421054f74ec79e9d76124d763d5ff15c">dsyev</a> (std::vector&lt; double &gt; &amp;, std::vector&lt; <a class="el" href="classdrovector.html">drovector</a> &gt; &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">long&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdsymatrix.html#a5ad9448a32ae2bc879344010be3001c8">dsygv</a> (<a class="el" href="classdsymatrix.html">dsymatrix</a> &amp;, std::vector&lt; double &gt; &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">long&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdsymatrix.html#a0a0bb56f2fd1c9af4056df5cac3ba529">dsygv</a> (<a class="el" href="classdsymatrix.html">dsymatrix</a> &amp;, std::vector&lt; double &gt; &amp;, std::vector&lt; <a class="el" href="classdcovector.html">dcovector</a> &gt; &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classdsymatrix.html">dsymatrix</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdsymatrix.html#a78e8972052916e2172ab3b695553bf4f">operator=</a> (const <a class="el" href="classdsymatrix.html">dsymatrix</a> &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classdsymatrix.html">dsymatrix</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdsymatrix.html#a2ec8da83c7f0f72026b72e28f0de03db">operator=</a> (const <a class="el" href="class__dsymatrix.html">_dsymatrix</a> &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classdsymatrix.html">dsymatrix</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdsymatrix.html#af6b95fe5dcc2d468787fce073d6d9253">operator+=</a> (const <a class="el" href="classdsymatrix.html">dsymatrix</a> &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classdsymatrix.html">dsymatrix</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdsymatrix.html#a55695c46f5e47f6a2c53641abf026564">operator+=</a> (const <a class="el" href="class__dsymatrix.html">_dsymatrix</a> &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classdsymatrix.html">dsymatrix</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdsymatrix.html#a4a69199e564b55ac3cfed47c8cf18d9c">operator-=</a> (const <a class="el" href="classdsymatrix.html">dsymatrix</a> &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classdsymatrix.html">dsymatrix</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdsymatrix.html#aa68abf16eb15e4f649d231024d9b07e1">operator-=</a> (const <a class="el" href="class__dsymatrix.html">_dsymatrix</a> &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classdsymatrix.html">dsymatrix</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdsymatrix.html#af43cd7a5ebb3c2a5cd76146e850eeda3">operator*=</a> (const <a class="el" href="classdsymatrix.html">dsymatrix</a> &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classdsymatrix.html">dsymatrix</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdsymatrix.html#afe4a2a3d4e5338c87455383d7eeb21df">operator*=</a> (const <a class="el" href="class__dsymatrix.html">_dsymatrix</a> &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classdsymatrix.html">dsymatrix</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdsymatrix.html#a624dba2a609c0d27f9819556cfad1975">operator*=</a> (const double &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classdsymatrix.html">dsymatrix</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdsymatrix.html#aaffdd20d97769091831086530f1a72a4">operator/=</a> (const double &amp;)</td></tr>
<tr><td colspan="2"><h2><a name="pub-attribs"></a>
Public Attributes</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">long const &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdsymatrix.html#a955f345240dab42d931f4c8700dc43d5">m</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">matrix row size  <a href="#a955f345240dab42d931f4c8700dc43d5"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">long&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9">n</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">matrix column size  <a href="#a4a2ca7ec3f2b7bd62139777fbb6ad1a9"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">double *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdsymatrix.html#a7efa7c974733dc3111167a9ebb217e1f">array</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">1D array to store matrix data  <a href="#a7efa7c974733dc3111167a9ebb217e1f"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">double **&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdsymatrix.html#a786e420fb2551cffb147af789197a681">darray</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">array of pointers of column head addresses  <a href="#a786e420fb2551cffb147af789197a681"></a><br/></td></tr>
<tr><td colspan="2"><h2><a name="friends"></a>
Friends</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">std::ostream &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdsymatrix.html#a077ea0a074855b18f11abcd19a77ed96">operator&lt;&lt;</a> (std::ostream &amp;, const <a class="el" href="classdsymatrix.html">dsymatrix</a> &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdsymatrix.html#a811499c813d9c42fbe50674133fb5a20">swap</a> (<a class="el" href="classdsymatrix.html">dsymatrix</a> &amp;, <a class="el" href="classdsymatrix.html">dsymatrix</a> &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class__dsymatrix.html">_dsymatrix</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdsymatrix.html#ae4cebf6255f4d5741776b93934a1f540">_</a> (<a class="el" href="classdsymatrix.html">dsymatrix</a> &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class__dsymatrix.html">_dsymatrix</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdsymatrix.html#a007e0bd0c70badbb428c2e3dd1ed8728">t</a> (const <a class="el" href="classdsymatrix.html">dsymatrix</a> &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class__dsymatrix.html">_dsymatrix</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a> (const <a class="el" href="classdsymatrix.html">dsymatrix</a> &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdsymatrix.html#a9a5e49c5451092e6d1996b9b1b45b874">idamax</a> (long &amp;, long &amp;, const <a class="el" href="classdsymatrix.html">dsymatrix</a> &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdsymatrix.html#ab7854e81178f44951706a990116d27af">damax</a> (const <a class="el" href="classdsymatrix.html">dsymatrix</a> &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classdsymatrix.html">dsymatrix</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdsymatrix.html#a1772dd6d8212c58872fde05f3a6418ac">operator+</a> (const <a class="el" href="classdsymatrix.html">dsymatrix</a> &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class__dsymatrix.html">_dsymatrix</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdsymatrix.html#a2b758f0a103ff3ba263f9af739bd29bb">operator-</a> (const <a class="el" href="classdsymatrix.html">dsymatrix</a> &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class__dgematrix.html">_dgematrix</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdsymatrix.html#abb6a6070168122de4ef1b91a3249f98c">operator+</a> (const <a class="el" href="classdsymatrix.html">dsymatrix</a> &amp;, const <a class="el" href="classdgematrix.html">dgematrix</a> &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class__dgematrix.html">_dgematrix</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdsymatrix.html#a0e44ec4d28b7a325eb12d134f00620b9">operator+</a> (const <a class="el" href="classdsymatrix.html">dsymatrix</a> &amp;, const <a class="el" href="class__dgematrix.html">_dgematrix</a> &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class__dsymatrix.html">_dsymatrix</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdsymatrix.html#a2d81e94ca324f6f953408a9b9855ef15">operator+</a> (const <a class="el" href="classdsymatrix.html">dsymatrix</a> &amp;, const <a class="el" href="classdsymatrix.html">dsymatrix</a> &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class__dsymatrix.html">_dsymatrix</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdsymatrix.html#a4cb65e26191b448f2306fad4651c24ff">operator+</a> (const <a class="el" href="classdsymatrix.html">dsymatrix</a> &amp;, const <a class="el" href="class__dsymatrix.html">_dsymatrix</a> &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class__dgematrix.html">_dgematrix</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdsymatrix.html#aabae4897d3f0a492858427ee0a4886c0">operator+</a> (const <a class="el" href="classdsymatrix.html">dsymatrix</a> &amp;, const <a class="el" href="classdgbmatrix.html">dgbmatrix</a> &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class__dgematrix.html">_dgematrix</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdsymatrix.html#a93c60baafeec5b50a7ebba59740166f9">operator+</a> (const <a class="el" href="classdsymatrix.html">dsymatrix</a> &amp;, const <a class="el" href="class__dgbmatrix.html">_dgbmatrix</a> &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class__dgematrix.html">_dgematrix</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdsymatrix.html#a6bc987d18f0d74bdc8a6b0d193517f6c">operator+</a> (const <a class="el" href="classdsymatrix.html">dsymatrix</a> &amp;, const <a class="el" href="classdgsmatrix.html">dgsmatrix</a> &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class__dgematrix.html">_dgematrix</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdsymatrix.html#a7b3e11db94e50e9dd012fc7e79cc445a">operator+</a> (const <a class="el" href="classdsymatrix.html">dsymatrix</a> &amp;, const <a class="el" href="class__dgsmatrix.html">_dgsmatrix</a> &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class__dsymatrix.html">_dsymatrix</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdsymatrix.html#a76834575fbe4ed405dce2f04c48466a4">operator+</a> (const <a class="el" href="classdsymatrix.html">dsymatrix</a> &amp;, const <a class="el" href="classdssmatrix.html">dssmatrix</a> &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class__dsymatrix.html">_dsymatrix</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdsymatrix.html#a049cdb5a9fe8179c724ae4be1852cb2e">operator+</a> (const <a class="el" href="classdsymatrix.html">dsymatrix</a> &amp;, const <a class="el" href="class__dssmatrix.html">_dssmatrix</a> &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class__dgematrix.html">_dgematrix</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdsymatrix.html#a321aef3c40f04f5183e79a1ef387b1dc">operator-</a> (const <a class="el" href="classdsymatrix.html">dsymatrix</a> &amp;, const <a class="el" href="classdgematrix.html">dgematrix</a> &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class__dgematrix.html">_dgematrix</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdsymatrix.html#af7c8c26e04c496f8d4e31a56d45148f0">operator-</a> (const <a class="el" href="classdsymatrix.html">dsymatrix</a> &amp;, const <a class="el" href="class__dgematrix.html">_dgematrix</a> &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class__dsymatrix.html">_dsymatrix</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdsymatrix.html#ae2b69b2b2d7314d68a7903776e8fa642">operator-</a> (const <a class="el" href="classdsymatrix.html">dsymatrix</a> &amp;, const <a class="el" href="classdsymatrix.html">dsymatrix</a> &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class__dsymatrix.html">_dsymatrix</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdsymatrix.html#a6fb37b153aa5c08de19441fda1adf627">operator-</a> (const <a class="el" href="classdsymatrix.html">dsymatrix</a> &amp;, const <a class="el" href="class__dsymatrix.html">_dsymatrix</a> &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class__dgematrix.html">_dgematrix</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdsymatrix.html#a6788f3d75c4700a962525476e4897bc8">operator-</a> (const <a class="el" href="classdsymatrix.html">dsymatrix</a> &amp;, const <a class="el" href="classdgbmatrix.html">dgbmatrix</a> &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class__dgematrix.html">_dgematrix</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdsymatrix.html#ad14e61167adc3da1da2fa15757d38fff">operator-</a> (const <a class="el" href="classdsymatrix.html">dsymatrix</a> &amp;, const <a class="el" href="class__dgbmatrix.html">_dgbmatrix</a> &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class__dgematrix.html">_dgematrix</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdsymatrix.html#a9611af1ce60745ecb52dd0a3f437297e">operator-</a> (const <a class="el" href="classdsymatrix.html">dsymatrix</a> &amp;, const <a class="el" href="classdgsmatrix.html">dgsmatrix</a> &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class__dgematrix.html">_dgematrix</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdsymatrix.html#a107d522ddfca822775ecfd8493f5e152">operator-</a> (const <a class="el" href="classdsymatrix.html">dsymatrix</a> &amp;, const <a class="el" href="class__dgsmatrix.html">_dgsmatrix</a> &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class__dsymatrix.html">_dsymatrix</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdsymatrix.html#a60e6d3b311db794bca9e8a6d3ff97a7d">operator-</a> (const <a class="el" href="classdsymatrix.html">dsymatrix</a> &amp;, const <a class="el" href="classdssmatrix.html">dssmatrix</a> &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class__dsymatrix.html">_dsymatrix</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdsymatrix.html#a75f0286bcd6a239eaa70597c9d8dabb2">operator-</a> (const <a class="el" href="classdsymatrix.html">dsymatrix</a> &amp;, const <a class="el" href="class__dssmatrix.html">_dssmatrix</a> &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class__dcovector.html">_dcovector</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdsymatrix.html#af303c4219fc51f753652cc6836e40c63">operator*</a> (const <a class="el" href="classdsymatrix.html">dsymatrix</a> &amp;, const <a class="el" href="classdcovector.html">dcovector</a> &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class__dcovector.html">_dcovector</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdsymatrix.html#a4e84b6330adf0921f7226db3c399ae95">operator*</a> (const <a class="el" href="classdsymatrix.html">dsymatrix</a> &amp;, const <a class="el" href="class__dcovector.html">_dcovector</a> &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class__dgematrix.html">_dgematrix</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdsymatrix.html#a2166272ea05d4b380a52a34738688b8d">operator*</a> (const <a class="el" href="classdsymatrix.html">dsymatrix</a> &amp;, const <a class="el" href="classdgematrix.html">dgematrix</a> &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class__dgematrix.html">_dgematrix</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdsymatrix.html#a5a91ced0f02f3da9b6eaf59412610962">operator*</a> (const <a class="el" href="classdsymatrix.html">dsymatrix</a> &amp;, const <a class="el" href="class__dgematrix.html">_dgematrix</a> &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class__dgematrix.html">_dgematrix</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdsymatrix.html#aff4ef5cb19b2bc8e5dc463b48e39947e">operator*</a> (const <a class="el" href="classdsymatrix.html">dsymatrix</a> &amp;, const <a class="el" href="classdsymatrix.html">dsymatrix</a> &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class__dgematrix.html">_dgematrix</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdsymatrix.html#a469a7293a571619feef4b9b65604bcd8">operator*</a> (const <a class="el" href="classdsymatrix.html">dsymatrix</a> &amp;, const <a class="el" href="class__dsymatrix.html">_dsymatrix</a> &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class__dgematrix.html">_dgematrix</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdsymatrix.html#a08083a09e286b70511f1f692ec6c6181">operator*</a> (const <a class="el" href="classdsymatrix.html">dsymatrix</a> &amp;, const <a class="el" href="classdgbmatrix.html">dgbmatrix</a> &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class__dgematrix.html">_dgematrix</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdsymatrix.html#acdf423b6ced8d23584e91691d88e7108">operator*</a> (const <a class="el" href="classdsymatrix.html">dsymatrix</a> &amp;, const <a class="el" href="class__dgbmatrix.html">_dgbmatrix</a> &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class__dgematrix.html">_dgematrix</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdsymatrix.html#a4ffc81f6d381fb00672970b0e940cddf">operator*</a> (const <a class="el" href="classdsymatrix.html">dsymatrix</a> &amp;, const <a class="el" href="classdgsmatrix.html">dgsmatrix</a> &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class__dgematrix.html">_dgematrix</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdsymatrix.html#a7069f9ee1186800fa9a9c630a26ba33a">operator*</a> (const <a class="el" href="classdsymatrix.html">dsymatrix</a> &amp;, const <a class="el" href="class__dgsmatrix.html">_dgsmatrix</a> &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class__dsymatrix.html">_dsymatrix</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdsymatrix.html#acdec83aebce27854dd70a3dfa48634c2">operator*</a> (const <a class="el" href="classdsymatrix.html">dsymatrix</a> &amp;, const <a class="el" href="classdssmatrix.html">dssmatrix</a> &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class__dsymatrix.html">_dsymatrix</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdsymatrix.html#a42fe01a2a6cc31764c01690d97b0e1fb">operator*</a> (const <a class="el" href="classdsymatrix.html">dsymatrix</a> &amp;, const <a class="el" href="class__dssmatrix.html">_dssmatrix</a> &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class__dsymatrix.html">_dsymatrix</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdsymatrix.html#a0e2b2a65541aedb079fc26b61c9ee1c2">operator*</a> (const <a class="el" href="classdsymatrix.html">dsymatrix</a> &amp;, const double &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class__dsymatrix.html">_dsymatrix</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdsymatrix.html#a462fc76e54abae1336f5879402bc4976">operator/</a> (const <a class="el" href="classdsymatrix.html">dsymatrix</a> &amp;, const double &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class__dsymatrix.html">_dsymatrix</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdsymatrix.html#a903a231832e8f7ca3c293fda341d133c">operator*</a> (const double &amp;, const <a class="el" href="classdsymatrix.html">dsymatrix</a> &amp;)</td></tr>
</table>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>Real Double-precision Symmetric Matrix Class [l-type (UPLO=l) Strage]. </p>

<p>Definition at line <a class="el" href="dsymatrix_8hpp_source.html#l00003">3</a> of file <a class="el" href="dsymatrix_8hpp_source.html">dsymatrix.hpp</a>.</p>
</div><hr/><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="a855a9d4a4fa8a93acb80e746470a477d"></a><!-- doxytag: member="dsymatrix::dsymatrix" ref="a855a9d4a4fa8a93acb80e746470a477d" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classdsymatrix.html#a855a9d4a4fa8a93acb80e746470a477d">dsymatrix::dsymatrix</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>dsymatrix constructor without arguments </p>

<p>Definition at line <a class="el" href="dsymatrix-constructor_8hpp_source.html#l00003">3</a> of file <a class="el" href="dsymatrix-constructor_8hpp_source.html">dsymatrix-constructor.hpp</a>.</p>

<p>References <a class="el" href="dsymatrix_8hpp_source.html#l00011">array</a>, <a class="el" href="dsymatrix_8hpp_source.html#l00012">darray</a>, and <a class="el" href="dsymatrix_8hpp_source.html#l00010">n</a>.</p>
<div class="fragment"><pre class="fragment">  : <a class="code" href="classdsymatrix.html#a955f345240dab42d931f4c8700dc43d5" title="matrix row size">m</a>(<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>)
{VERBOSE_REPORT;<span class="comment"></span>
<span class="comment">  //////// initialize ////////</span>
<span class="comment"></span>  <a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a> = 0;
  <a class="code" href="classdsymatrix.html#a7efa7c974733dc3111167a9ebb217e1f" title="1D array to store matrix data">array</a> =NULL;
  <a class="code" href="classdsymatrix.html#a786e420fb2551cffb147af789197a681" title="array of pointers of column head addresses">darray</a> =NULL;
}
</pre></div>
</div>
</div>
<a class="anchor" id="a50942c4b31894848e97f114d042733a5"></a><!-- doxytag: member="dsymatrix::dsymatrix" ref="a50942c4b31894848e97f114d042733a5" args="(const dsymatrix &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classdsymatrix.html#a855a9d4a4fa8a93acb80e746470a477d">dsymatrix::dsymatrix</a> </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classdsymatrix.html">dsymatrix</a> &amp;&#160;</td>
          <td class="paramname"><em>mat</em></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>dsymatrix copy constructor </p>

<p>Definition at line <a class="el" href="dsymatrix-constructor_8hpp_source.html#l00014">14</a> of file <a class="el" href="dsymatrix-constructor_8hpp_source.html">dsymatrix-constructor.hpp</a>.</p>

<p>References <a class="el" href="dsymatrix_8hpp_source.html#l00011">array</a>, <a class="el" href="dsymatrix_8hpp_source.html#l00012">darray</a>, <a class="el" href="dsymatrix-calc_8hpp_source.html#l00016">i</a>, and <a class="el" href="dsymatrix_8hpp_source.html#l00010">n</a>.</p>
<div class="fragment"><pre class="fragment">  : <a class="code" href="classdsymatrix.html#a955f345240dab42d931f4c8700dc43d5" title="matrix row size">m</a>(<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>)
{VERBOSE_REPORT;<span class="comment"></span>
<span class="comment">  //////// initialize ////////</span>
<span class="comment"></span>  <a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a> =mat.<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>;
  <a class="code" href="classdsymatrix.html#a7efa7c974733dc3111167a9ebb217e1f" title="1D array to store matrix data">array</a> =<span class="keyword">new</span> <span class="keywordtype">double</span>[<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>*<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>];
  <a class="code" href="classdsymatrix.html#a786e420fb2551cffb147af789197a681" title="array of pointers of column head addresses">darray</a> =<span class="keyword">new</span> <span class="keywordtype">double</span>*[<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>];
  <span class="keywordflow">for</span>(<span class="keywordtype">int</span> <a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>=0; <a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>&lt;<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>; <a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>++){ <a class="code" href="classdsymatrix.html#a786e420fb2551cffb147af789197a681" title="array of pointers of column head addresses">darray</a>[<a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>] =&amp;<a class="code" href="classdsymatrix.html#a7efa7c974733dc3111167a9ebb217e1f" title="1D array to store matrix data">array</a>[<a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>*<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>]; }
  <span class="comment"></span>
<span class="comment">  //////// copy ////////</span>
<span class="comment"></span>  dcopy_(n*n, mat.<a class="code" href="classdsymatrix.html#a7efa7c974733dc3111167a9ebb217e1f" title="1D array to store matrix data">array</a>, 1, <a class="code" href="classdsymatrix.html#a7efa7c974733dc3111167a9ebb217e1f" title="1D array to store matrix data">array</a>, 1);
}
</pre></div>
</div>
</div>
<a class="anchor" id="a5a8e3eb798cb42c19e44f6c833ba7261"></a><!-- doxytag: member="dsymatrix::dsymatrix" ref="a5a8e3eb798cb42c19e44f6c833ba7261" args="(const _dsymatrix &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classdsymatrix.html#a855a9d4a4fa8a93acb80e746470a477d">dsymatrix::dsymatrix</a> </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="class__dsymatrix.html">_dsymatrix</a> &amp;&#160;</td>
          <td class="paramname"><em>mat</em></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>dsymatrix constructor to cast <a class="el" href="class__dsymatrix.html" title="(DO NOT USE) Smart-temporary Real Double-precision Symmetric Matrix Class">_dsymatrix</a> </p>

<p>Definition at line <a class="el" href="dsymatrix-constructor_8hpp_source.html#l00029">29</a> of file <a class="el" href="dsymatrix-constructor_8hpp_source.html">dsymatrix-constructor.hpp</a>.</p>

<p>References <a class="el" href="dsymatrix_8hpp_source.html#l00011">array</a>, <a class="el" href="__dsymatrix_8hpp_source.html#l00011">_dsymatrix::array</a>, <a class="el" href="dsymatrix_8hpp_source.html#l00012">darray</a>, <a class="el" href="__dsymatrix_8hpp_source.html#l00012">_dsymatrix::darray</a>, <a class="el" href="__dsymatrix_8hpp_source.html#l00010">_dsymatrix::n</a>, <a class="el" href="dsymatrix_8hpp_source.html#l00010">n</a>, and <a class="el" href="__dsymatrix-misc_8hpp_source.html#l00003">_dsymatrix::nullify()</a>.</p>
<div class="fragment"><pre class="fragment">  : <a class="code" href="classdsymatrix.html#a955f345240dab42d931f4c8700dc43d5" title="matrix row size">m</a>(<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>)
{VERBOSE_REPORT;
  <a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a> =mat.<a class="code" href="class__dsymatrix.html#a8b56cdf252a15da3e211b558abd46c1b" title="matrix column size">n</a>;
  <a class="code" href="classdsymatrix.html#a7efa7c974733dc3111167a9ebb217e1f" title="1D array to store matrix data">array</a> =mat.<a class="code" href="class__dsymatrix.html#a656ab414ee51638aedc9bf4960fe428a" title="1D array to store matrix data">array</a>;
  <a class="code" href="classdsymatrix.html#a786e420fb2551cffb147af789197a681" title="array of pointers of column head addresses">darray</a> =mat.<a class="code" href="class__dsymatrix.html#a9db2d341c99952e75adb7e183450c3dc" title="array of pointers of column head addresses">darray</a>;
  
  mat.<a class="code" href="class__dsymatrix.html#a15a1bf572055917c5963ba65d83fa282">nullify</a>();
}
</pre></div>
</div>
</div>
<a class="anchor" id="a139875b3924eb20da184bac3c2294a09"></a><!-- doxytag: member="dsymatrix::dsymatrix" ref="a139875b3924eb20da184bac3c2294a09" args="(const long &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classdsymatrix.html#a855a9d4a4fa8a93acb80e746470a477d">dsymatrix::dsymatrix</a> </td>
          <td>(</td>
          <td class="paramtype">const long &amp;&#160;</td>
          <td class="paramname"><em>_n</em></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>dsymatrix copy constructor to cast dssmatrix</p>
<p>dsymatrix constructor to cast <a class="el" href="class__dssmatrix.html" title="(DO NOT USE) Smart-temporary Real Double-precision Symmetric Sparse Matrix Class">_dssmatrix</a></p>
<p>dsymatrix constructor with size specification </p>

<p>Definition at line <a class="el" href="dsymatrix-constructor_8hpp_source.html#l00083">83</a> of file <a class="el" href="dsymatrix-constructor_8hpp_source.html">dsymatrix-constructor.hpp</a>.</p>

<p>References <a class="el" href="dsymatrix_8hpp_source.html#l00011">array</a>, <a class="el" href="dsymatrix_8hpp_source.html#l00012">darray</a>, <a class="el" href="dsymatrix-calc_8hpp_source.html#l00016">i</a>, and <a class="el" href="dsymatrix_8hpp_source.html#l00010">n</a>.</p>
<div class="fragment"><pre class="fragment">  : <a class="code" href="classdsymatrix.html#a955f345240dab42d931f4c8700dc43d5" title="matrix row size">m</a>(<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>)
{VERBOSE_REPORT;
<span class="preprocessor">#ifdef  CPPL_DEBUG</span>
<span class="preprocessor"></span>  <span class="keywordflow">if</span>( _n&lt;0 ){
    ERROR_REPORT;
    std::cerr &lt;&lt; <span class="stringliteral">&quot;Matrix sizes must be positive integers. &quot;</span> &lt;&lt; std::endl
              &lt;&lt; <span class="stringliteral">&quot;Your input was (&quot;</span> &lt;&lt; _n &lt;&lt; <span class="stringliteral">&quot;).&quot;</span> &lt;&lt; std::endl;
    exit(1);
  }
<span class="preprocessor">#endif//CPPL_DEBUG</span>
<span class="preprocessor"></span>  <span class="comment"></span>
<span class="comment">  //////// initialize ////////</span>
<span class="comment"></span>  <a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a> =_n;
  <a class="code" href="classdsymatrix.html#a7efa7c974733dc3111167a9ebb217e1f" title="1D array to store matrix data">array</a> =<span class="keyword">new</span> <span class="keywordtype">double</span>[<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>*<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>];
  <a class="code" href="classdsymatrix.html#a786e420fb2551cffb147af789197a681" title="array of pointers of column head addresses">darray</a> =<span class="keyword">new</span> <span class="keywordtype">double</span>*[<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>];
  <span class="keywordflow">for</span>(<span class="keywordtype">int</span> <a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>=0; <a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>&lt;<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>; <a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>++){ <a class="code" href="classdsymatrix.html#a786e420fb2551cffb147af789197a681" title="array of pointers of column head addresses">darray</a>[<a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>] =&amp;<a class="code" href="classdsymatrix.html#a7efa7c974733dc3111167a9ebb217e1f" title="1D array to store matrix data">array</a>[<a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>*<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>]; }
}
</pre></div>
</div>
</div>
<a class="anchor" id="a00a5871a3936fb1f7f0b051b6e156167"></a><!-- doxytag: member="dsymatrix::dsymatrix" ref="a00a5871a3936fb1f7f0b051b6e156167" args="(const char *)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classdsymatrix.html#a855a9d4a4fa8a93acb80e746470a477d">dsymatrix::dsymatrix</a> </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>filename</em></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>dsymatrix constructor with filename </p>

<p>Definition at line <a class="el" href="dsymatrix-constructor_8hpp_source.html#l00104">104</a> of file <a class="el" href="dsymatrix-constructor_8hpp_source.html">dsymatrix-constructor.hpp</a>.</p>

<p>References <a class="el" href="dsymatrix_8hpp_source.html#l00011">array</a>, <a class="el" href="dsymatrix_8hpp_source.html#l00012">darray</a>, and <a class="el" href="dsymatrix-io_8hpp_source.html#l00116">read()</a>.</p>
<div class="fragment"><pre class="fragment">  : <a class="code" href="classdsymatrix.html#a955f345240dab42d931f4c8700dc43d5" title="matrix row size">m</a>(<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>)
{VERBOSE_REPORT;
  <a class="code" href="classdsymatrix.html#a7efa7c974733dc3111167a9ebb217e1f" title="1D array to store matrix data">array</a> =NULL;
  <a class="code" href="classdsymatrix.html#a786e420fb2551cffb147af789197a681" title="array of pointers of column head addresses">darray</a> =NULL;
  <span class="comment"></span>
<span class="comment">  //// copy ////</span>
<span class="comment"></span>  <a class="code" href="classdsymatrix.html#a6924efa4234f5df916da99d858dabf1f">read</a>(filename);
}
</pre></div>
</div>
</div>
<a class="anchor" id="a80533e595611221cfcf65536d3f2a5de"></a><!-- doxytag: member="dsymatrix::~dsymatrix" ref="a80533e595611221cfcf65536d3f2a5de" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classdsymatrix.html#a80533e595611221cfcf65536d3f2a5de">dsymatrix::~dsymatrix</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>dsymatrix destructor </p>

<p>Definition at line <a class="el" href="dsymatrix-constructor_8hpp_source.html#l00120">120</a> of file <a class="el" href="dsymatrix-constructor_8hpp_source.html">dsymatrix-constructor.hpp</a>.</p>

<p>References <a class="el" href="dsymatrix_8hpp_source.html#l00011">array</a>, and <a class="el" href="dsymatrix_8hpp_source.html#l00012">darray</a>.</p>
<div class="fragment"><pre class="fragment">{VERBOSE_REPORT;
  <span class="keyword">delete</span> [] <a class="code" href="classdsymatrix.html#a7efa7c974733dc3111167a9ebb217e1f" title="1D array to store matrix data">array</a>;
  <span class="keyword">delete</span> [] <a class="code" href="classdsymatrix.html#a786e420fb2551cffb147af789197a681" title="array of pointers of column head addresses">darray</a>;
}
</pre></div>
</div>
</div>
<hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="ad975637aa00a2828c3730dbc792eb187"></a><!-- doxytag: member="dsymatrix::to_zhematrix" ref="ad975637aa00a2828c3730dbc792eb187" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class__zhematrix.html">_zhematrix</a> <a class="el" href="classdsymatrix.html#ad975637aa00a2828c3730dbc792eb187">dsymatrix::to_zhematrix</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>cast to <a class="el" href="class__zhematrix.html" title="(DO NOT USE) Smart-temporary Complex Double-precision Hermitian Matrix Class">_zhematrix</a> </p>

<p>Definition at line <a class="el" href="dsymatrix-cast_8hpp_source.html#l00003">3</a> of file <a class="el" href="dsymatrix-cast_8hpp_source.html">dsymatrix-cast.hpp</a>.</p>

<p>References <a class="el" href="dsymatrix-misc_8hpp_source.html#l00158">_</a>, <a class="el" href="dsymatrix-calc_8hpp_source.html#l00016">i</a>, and <a class="el" href="dsymatrix_8hpp_source.html#l00010">n</a>.</p>
<div class="fragment"><pre class="fragment">{VERBOSE_REPORT;
  <a class="code" href="classzhematrix.html" title="Complex Double-precision Hermitian Matrix Class [l-type (UPLO=l) Strage].">zhematrix</a> newmat(<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>);
  <span class="keywordflow">for</span>(<span class="keywordtype">long</span> <a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>=0; <a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>&lt;<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>; <a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>++){
    <span class="keywordflow">for</span>(<span class="keywordtype">long</span> j=0; j&lt;=<a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>; j++){
      newmat(<a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>,j) =comple((*<span class="keyword">this</span>)(<a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>,j),0.0);
    }
  }
  
  <span class="keywordflow">return</span> <a class="code" href="classdsymatrix.html#ae4cebf6255f4d5741776b93934a1f540">_</a>(newmat);
}
</pre></div>
</div>
</div>
<a class="anchor" id="a45ff312f6c694841edfd30809e09ba7b"></a><!-- doxytag: member="dsymatrix::to_dgematrix" ref="a45ff312f6c694841edfd30809e09ba7b" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class__dgematrix.html">_dgematrix</a> <a class="el" href="classdsymatrix.html#a45ff312f6c694841edfd30809e09ba7b">dsymatrix::to_dgematrix</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>convert to <a class="el" href="class__dgematrix.html" title="(DO NOT USE) Smart-temporary Real Double-precision General Dence Matrix Class">_dgematrix</a> </p>

<p>Definition at line <a class="el" href="dsymatrix-cast_8hpp_source.html#l00021">21</a> of file <a class="el" href="dsymatrix-cast_8hpp_source.html">dsymatrix-cast.hpp</a>.</p>

<p>References <a class="el" href="dsymatrix-misc_8hpp_source.html#l00158">_</a>, <a class="el" href="dsymatrix-calc_8hpp_source.html#l00016">i</a>, and <a class="el" href="dsymatrix_8hpp_source.html#l00010">n</a>.</p>

<p>Referenced by <a class="el" href="__dgbmatrix-dsymatrix_8hpp_source.html#l00003">operator+()</a>, and <a class="el" href="dsymatrix-__dgsmatrix_8hpp_source.html#l00025">operator-()</a>.</p>
<div class="fragment"><pre class="fragment">{VERBOSE_REPORT;
  <a class="code" href="classdgematrix.html" title="Real Double-precision General Dence Matrix Class.">dgematrix</a> newmat(<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>,<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>);
  <span class="keywordflow">for</span>(<span class="keywordtype">long</span> <a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>=0; <a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>&lt;<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>; <a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>++){
    <span class="keywordflow">for</span>(<span class="keywordtype">long</span> j=0; j&lt;<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>; j++){
      newmat(<a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>,j) =(*this)(<a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>,j);
    }
  }
  
  <span class="keywordflow">return</span> <a class="code" href="classdsymatrix.html#ae4cebf6255f4d5741776b93934a1f540">_</a>(newmat);
}
</pre></div>
</div>
</div>
<a class="anchor" id="afb640fff012319343a9e92d1210beb23"></a><!-- doxytag: member="dsymatrix::to_dssmatrix" ref="afb640fff012319343a9e92d1210beb23" args="(const double eps=&#45;1) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class__dssmatrix.html">_dssmatrix</a> <a class="el" href="classdsymatrix.html#afb640fff012319343a9e92d1210beb23">dsymatrix::to_dssmatrix</a> </td>
          <td>(</td>
          <td class="paramtype">const double&#160;</td>
          <td class="paramname"><em>eps</em> = <code>-1</code></td><td>)</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>convert to <a class="el" href="class__dssmatrix.html" title="(DO NOT USE) Smart-temporary Real Double-precision Symmetric Sparse Matrix Class">_dssmatrix</a> </p>

<p>Definition at line <a class="el" href="dsymatrix-cast_8hpp_source.html#l00035">35</a> of file <a class="el" href="dsymatrix-cast_8hpp_source.html">dsymatrix-cast.hpp</a>.</p>

<p>References <a class="el" href="dsymatrix-misc_8hpp_source.html#l00158">_</a>, <a class="el" href="dsymatrix-calc_8hpp_source.html#l00016">i</a>, and <a class="el" href="dsymatrix_8hpp_source.html#l00010">n</a>.</p>
<div class="fragment"><pre class="fragment">{VERBOSE_REPORT;
  <a class="code" href="classdssmatrix.html" title="Real Double-precision Symmetric Sparse Matrix Class.">dssmatrix</a> newmat(<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>);
  <span class="keywordflow">for</span>(<span class="keywordtype">long</span> <a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>=0; <a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>&lt;<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>; <a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>++){
    <span class="keywordflow">for</span>(<span class="keywordtype">long</span> j=0; j&lt;=<a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>; j++){
      <span class="keywordflow">if</span>( fabs((*<span class="keyword">this</span>)(<a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>,j))&gt;eps ){ newmat(<a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>,j) =(*this)(<a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>,j); }
    }
  }
  
  <span class="keywordflow">return</span> <a class="code" href="classdsymatrix.html#ae4cebf6255f4d5741776b93934a1f540">_</a>(newmat);
}
</pre></div>
</div>
</div>
<a class="anchor" id="ab7ef2af9dca9cd4eb2344ec8846eb2e7"></a><!-- doxytag: member="dsymatrix::operator()" ref="ab7ef2af9dca9cd4eb2344ec8846eb2e7" args="(const long &amp;, const long &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">double &amp; dsymatrix::operator() </td>
          <td>(</td>
          <td class="paramtype">const long &amp;&#160;</td>
          <td class="paramname"><em>i</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const long &amp;&#160;</td>
          <td class="paramname"><em>j</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>operator() for non-const object </p>

<p>Definition at line <a class="el" href="dsymatrix-io_8hpp_source.html#l00003">3</a> of file <a class="el" href="dsymatrix-io_8hpp_source.html">dsymatrix-io.hpp</a>.</p>

<p>References <a class="el" href="dsymatrix_8hpp_source.html#l00012">darray</a>, <a class="el" href="dsymatrix-calc_8hpp_source.html#l00016">i</a>, and <a class="el" href="dsymatrix_8hpp_source.html#l00010">n</a>.</p>

<p>Referenced by <a class="el" href="dsymatrix-misc_8hpp_source.html#l00035">identity()</a>, <a class="el" href="dsymatrix-io_8hpp_source.html#l00116">read()</a>, and <a class="el" href="dsymatrix-io_8hpp_source.html#l00096">write()</a>.</p>
<div class="fragment"><pre class="fragment">{VERBOSE_REPORT;
<span class="preprocessor">#ifdef  CPPL_DEBUG</span>
<span class="preprocessor"></span>  <span class="keywordflow">if</span>( <a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>&lt;0 || j&lt;0 || <a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>&lt;=<a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a> || <a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>&lt;=j ){
    ERROR_REPORT;
    std::cerr &lt;&lt; <span class="stringliteral">&quot;The required component is out of the matrix size.&quot;</span> &lt;&lt; std::endl
              &lt;&lt; <span class="stringliteral">&quot;Your input was (&quot;</span> &lt;&lt; <a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a> &lt;&lt; <span class="stringliteral">&quot;,&quot;</span> &lt;&lt; j &lt;&lt; <span class="stringliteral">&quot;).&quot;</span> &lt;&lt; std::endl;
    exit(1);
  }
<span class="preprocessor">#endif//CPPL_DEBUG</span>
<span class="preprocessor"></span>  
  <span class="keywordflow">if</span>( <a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a> &gt;= j ) {
    <span class="comment">//return array[i+n*j];</span>
    <span class="keywordflow">return</span> <a class="code" href="classdsymatrix.html#a786e420fb2551cffb147af789197a681" title="array of pointers of column head addresses">darray</a>[j][<a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>];
  } <span class="keywordflow">else</span> {
    <span class="comment">//return array[j+n*i];</span>
    <span class="keywordflow">return</span> <a class="code" href="classdsymatrix.html#a786e420fb2551cffb147af789197a681" title="array of pointers of column head addresses">darray</a>[<a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>][j];
  }
}
</pre></div>
</div>
</div>
<a class="anchor" id="a1b88d6914df28f368e028843fd68077a"></a><!-- doxytag: member="dsymatrix::operator()" ref="a1b88d6914df28f368e028843fd68077a" args="(const long &amp;, const long &amp;) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">double dsymatrix::operator() </td>
          <td>(</td>
          <td class="paramtype">const long &amp;&#160;</td>
          <td class="paramname"><em>i</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const long &amp;&#160;</td>
          <td class="paramname"><em>j</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>operator() for const object </p>

<p>Definition at line <a class="el" href="dsymatrix-io_8hpp_source.html#l00025">25</a> of file <a class="el" href="dsymatrix-io_8hpp_source.html">dsymatrix-io.hpp</a>.</p>

<p>References <a class="el" href="dsymatrix_8hpp_source.html#l00012">darray</a>, <a class="el" href="dsymatrix-calc_8hpp_source.html#l00016">i</a>, and <a class="el" href="dsymatrix_8hpp_source.html#l00010">n</a>.</p>
<div class="fragment"><pre class="fragment">{VERBOSE_REPORT;
<span class="preprocessor">#ifdef  CPPL_DEBUG</span>
<span class="preprocessor"></span>  <span class="keywordflow">if</span>( <a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>&lt;0 || j&lt;0 || <a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>&lt;=<a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a> || <a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>&lt;=j ){
    ERROR_REPORT;
    std::cerr &lt;&lt; <span class="stringliteral">&quot;The required component is out of the matrix size.&quot;</span> &lt;&lt; std::endl
              &lt;&lt; <span class="stringliteral">&quot;Your input was (&quot;</span> &lt;&lt; <a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a> &lt;&lt; <span class="stringliteral">&quot;,&quot;</span> &lt;&lt; j &lt;&lt; <span class="stringliteral">&quot;).&quot;</span> &lt;&lt; std::endl;
    exit(1);
  }
<span class="preprocessor">#endif//CPPL_DEBUG</span>
<span class="preprocessor"></span>  
  <span class="keywordflow">if</span>( <a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a> &gt;= j ) {
    <span class="comment">//return array[i+n*j];</span>
    <span class="keywordflow">return</span> <a class="code" href="classdsymatrix.html#a786e420fb2551cffb147af789197a681" title="array of pointers of column head addresses">darray</a>[j][<a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>];
  } <span class="keywordflow">else</span> {
    <span class="comment">//return array[j+n*i];</span>
    <span class="keywordflow">return</span> <a class="code" href="classdsymatrix.html#a786e420fb2551cffb147af789197a681" title="array of pointers of column head addresses">darray</a>[<a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>][j];
  }
}
</pre></div>
</div>
</div>
<a class="anchor" id="a0fd73445b311e1ee6a13df40f0a261b3"></a><!-- doxytag: member="dsymatrix::set" ref="a0fd73445b311e1ee6a13df40f0a261b3" args="(const long &amp;, const long &amp;, const double &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classdsymatrix.html">dsymatrix</a> &amp; <a class="el" href="classdsymatrix.html#a0fd73445b311e1ee6a13df40f0a261b3">dsymatrix::set</a> </td>
          <td>(</td>
          <td class="paramtype">const long &amp;&#160;</td>
          <td class="paramname"><em>i</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const long &amp;&#160;</td>
          <td class="paramname"><em>j</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const double &amp;&#160;</td>
          <td class="paramname"><em>v</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>set value for const object </p>

<p>Definition at line <a class="el" href="dsymatrix-io_8hpp_source.html#l00051">51</a> of file <a class="el" href="dsymatrix-io_8hpp_source.html">dsymatrix-io.hpp</a>.</p>

<p>References <a class="el" href="dsymatrix_8hpp_source.html#l00012">darray</a>, <a class="el" href="dsymatrix-calc_8hpp_source.html#l00016">i</a>, and <a class="el" href="dsymatrix_8hpp_source.html#l00010">n</a>.</p>
<div class="fragment"><pre class="fragment">{VERBOSE_REPORT;
<span class="preprocessor">#ifdef  CPPL_DEBUG</span>
<span class="preprocessor"></span>  <span class="keywordflow">if</span>( <a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>&lt;0 || j&lt;0 || <a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>&lt;=<a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a> || <a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>&lt;=j ){
    ERROR_REPORT;
    std::cerr &lt;&lt; <span class="stringliteral">&quot;The required component is out of the matrix size.&quot;</span> &lt;&lt; std::endl
              &lt;&lt; <span class="stringliteral">&quot;Your input was (&quot;</span> &lt;&lt; <a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a> &lt;&lt; <span class="stringliteral">&quot;,&quot;</span> &lt;&lt; j &lt;&lt; <span class="stringliteral">&quot;).&quot;</span> &lt;&lt; std::endl;
    exit(1);
  }
<span class="preprocessor">#endif//CPPL_DEBUG</span>
<span class="preprocessor"></span>  
  <span class="keywordflow">if</span>( <a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a> &gt;= j ) {
    <span class="comment">//array[i+n*j] = v;</span>
    <a class="code" href="classdsymatrix.html#a786e420fb2551cffb147af789197a681" title="array of pointers of column head addresses">darray</a>[j][<a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>] =v;
  } <span class="keywordflow">else</span> {
    <span class="comment">//array[j+n*i] = v;</span>
    <a class="code" href="classdsymatrix.html#a786e420fb2551cffb147af789197a681" title="array of pointers of column head addresses">darray</a>[<a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>][j] =v;
  }
  <span class="keywordflow">return</span> *<span class="keyword">this</span>;
}
</pre></div>
</div>
</div>
<a class="anchor" id="ab165901ab7581cada4d0ee23db32eeaf"></a><!-- doxytag: member="dsymatrix::write" ref="ab165901ab7581cada4d0ee23db32eeaf" args="(const char *) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classdsymatrix.html#ab165901ab7581cada4d0ee23db32eeaf">dsymatrix::write</a> </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>filename</em></td><td>)</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="dsymatrix-io_8hpp_source.html#l00096">96</a> of file <a class="el" href="dsymatrix-io_8hpp_source.html">dsymatrix-io.hpp</a>.</p>

<p>References <a class="el" href="dsymatrix-calc_8hpp_source.html#l00016">i</a>, <a class="el" href="dsymatrix_8hpp_source.html#l00010">n</a>, and <a class="el" href="dsymatrix-io_8hpp_source.html#l00003">operator()()</a>.</p>
<div class="fragment"><pre class="fragment">{VERBOSE_REPORT;
  std::ofstream ofs(filename, std::ios::trunc);
  ofs.setf(std::cout.flags());
  ofs.precision(std::cout.precision());
  ofs.width(std::cout.width());
  ofs.fill(std::cout.fill());
  
  ofs &lt;&lt; <span class="stringliteral">&quot;#dsymatrix&quot;</span> &lt;&lt; <span class="stringliteral">&quot; &quot;</span> &lt;&lt; <a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a> &lt;&lt; std::endl;
  <span class="keywordflow">for</span>(<span class="keywordtype">long</span> <a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>=0; <a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>&lt;<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>; <a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>++){
    <span class="keywordflow">for</span>(<span class="keywordtype">long</span> j=0; j&lt;=<a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>; j++){
      ofs &lt;&lt; <a class="code" href="classdsymatrix.html#ab7ef2af9dca9cd4eb2344ec8846eb2e7">operator()</a>(<a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>,j) &lt;&lt; <span class="stringliteral">&quot; &quot;</span>;
    }
    ofs &lt;&lt; std::endl;
  }
  
  ofs.close();
}
</pre></div>
</div>
</div>
<a class="anchor" id="a6924efa4234f5df916da99d858dabf1f"></a><!-- doxytag: member="dsymatrix::read" ref="a6924efa4234f5df916da99d858dabf1f" args="(const char *)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classdsymatrix.html#a6924efa4234f5df916da99d858dabf1f">dsymatrix::read</a> </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>filename</em></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="dsymatrix-io_8hpp_source.html#l00116">116</a> of file <a class="el" href="dsymatrix-io_8hpp_source.html">dsymatrix-io.hpp</a>.</p>

<p>References <a class="el" href="dsymatrix-calc_8hpp_source.html#l00016">i</a>, <a class="el" href="dsymatrix_8hpp_source.html#l00010">n</a>, <a class="el" href="dsymatrix-io_8hpp_source.html#l00003">operator()()</a>, and <a class="el" href="dsymatrix-misc_8hpp_source.html#l00079">resize()</a>.</p>

<p>Referenced by <a class="el" href="dsymatrix-constructor_8hpp_source.html#l00104">dsymatrix()</a>.</p>
<div class="fragment"><pre class="fragment">{VERBOSE_REPORT;
  std::ifstream s(filename);
  <span class="keywordflow">if</span>(!s){
    ERROR_REPORT;
    std::cerr &lt;&lt; <span class="stringliteral">&quot;The file \&quot;&quot;</span> &lt;&lt; filename &lt;&lt; <span class="stringliteral">&quot;\&quot; can not be opened.&quot;</span> &lt;&lt; std::endl;
    exit(1);
  }

  std::string id;
  s &gt;&gt; id;
  <span class="keywordflow">if</span>( <span class="keywordtype">id</span> != <span class="stringliteral">&quot;dsymatrix&quot;</span> &amp;&amp; <span class="keywordtype">id</span> != <span class="stringliteral">&quot;#dsymatrix&quot;</span> ){
    ERROR_REPORT;
    std::cerr &lt;&lt; <span class="stringliteral">&quot;The type name of the file \&quot;&quot;</span> &lt;&lt; filename &lt;&lt; <span class="stringliteral">&quot;\&quot; is not dsymatrix.&quot;</span> &lt;&lt; std::endl
              &lt;&lt; <span class="stringliteral">&quot;Its type name was &quot;</span> &lt;&lt; <span class="keywordtype">id</span> &lt;&lt; <span class="stringliteral">&quot; .&quot;</span> &lt;&lt; std::endl;
    exit(1);
  }
  
  s &gt;&gt; <a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>;
  <a class="code" href="classdsymatrix.html#aca838c10b45b98b42412fdfc2f0e4350">resize</a>(n);
  <span class="keywordflow">for</span>(<span class="keywordtype">long</span> <a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>=0; <a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>&lt;<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>; <a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>++){
    <span class="keywordflow">for</span>(<span class="keywordtype">long</span> j=0; j&lt;=<a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>; j++ ){
      s &gt;&gt; <a class="code" href="classdsymatrix.html#ab7ef2af9dca9cd4eb2344ec8846eb2e7">operator()</a>(<a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>,j);
    }
  }
  <span class="keywordflow">if</span>(s.eof()){
    ERROR_REPORT;
    std::cerr &lt;&lt; <span class="stringliteral">&quot;There is something is wrong with the file \&quot;&quot;</span> &lt;&lt; filename &lt;&lt; <span class="stringliteral">&quot; .&quot;</span> &lt;&lt; std::endl
              &lt;&lt; <span class="stringliteral">&quot;Most likely, there is not enough data components, or a linefeed code or space code is missing at the end of the last line.&quot;</span> &lt;&lt; std::endl;
    exit(1);
  }
  
  s &gt;&gt; id;
  <span class="keywordflow">if</span>(!s.eof()){
    ERROR_REPORT;
    std::cerr &lt;&lt; <span class="stringliteral">&quot;There is something is wrong with the file \&quot;&quot;</span> &lt;&lt; filename &lt;&lt; <span class="stringliteral">&quot;\&quot;.&quot;</span> &lt;&lt; std::endl
              &lt;&lt; <span class="stringliteral">&quot;Most likely, there are extra data components.&quot;</span> &lt;&lt; std::endl;
    exit(1);
  }

  s.close();
}
</pre></div>
</div>
</div>
<a class="anchor" id="a09530f2e3c2397751b4d66a6f73ce86b"></a><!-- doxytag: member="dsymatrix::complete" ref="a09530f2e3c2397751b4d66a6f73ce86b" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classdsymatrix.html#a09530f2e3c2397751b4d66a6f73ce86b">dsymatrix::complete</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>complete the upper-right components </p>

<p>Definition at line <a class="el" href="dsymatrix-misc_8hpp_source.html#l00003">3</a> of file <a class="el" href="dsymatrix-misc_8hpp_source.html">dsymatrix-misc.hpp</a>.</p>

<p>References <a class="el" href="dsymatrix_8hpp_source.html#l00012">darray</a>, <a class="el" href="dsymatrix-calc_8hpp_source.html#l00016">i</a>, and <a class="el" href="dsymatrix_8hpp_source.html#l00010">n</a>.</p>

<p>Referenced by <a class="el" href="__dsymatrix-dsymatrix_8hpp_source.html#l00047">operator*()</a>.</p>
<div class="fragment"><pre class="fragment">{VERBOSE_REPORT;
  <span class="keywordflow">for</span>(<span class="keywordtype">long</span> <a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>=0; <a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>&lt;<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>; <a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>++){
    <span class="keywordflow">for</span>(<span class="keywordtype">long</span> j=0; j&lt;<a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>; j++){
      <a class="code" href="classdsymatrix.html#a786e420fb2551cffb147af789197a681" title="array of pointers of column head addresses">darray</a>[<a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>][j] =<a class="code" href="classdsymatrix.html#a786e420fb2551cffb147af789197a681" title="array of pointers of column head addresses">darray</a>[j][<a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>];
    }
  }
}
</pre></div>
</div>
</div>
<a class="anchor" id="a8745204663370379924493e54a3ee919"></a><!-- doxytag: member="dsymatrix::clear" ref="a8745204663370379924493e54a3ee919" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classdsymatrix.html#a8745204663370379924493e54a3ee919">dsymatrix::clear</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>clear all the matrix data and set the sizes 0 </p>

<p>Definition at line <a class="el" href="dsymatrix-misc_8hpp_source.html#l00014">14</a> of file <a class="el" href="dsymatrix-misc_8hpp_source.html">dsymatrix-misc.hpp</a>.</p>

<p>References <a class="el" href="dsymatrix_8hpp_source.html#l00011">array</a>, <a class="el" href="dsymatrix_8hpp_source.html#l00012">darray</a>, and <a class="el" href="dsymatrix_8hpp_source.html#l00010">n</a>.</p>
<div class="fragment"><pre class="fragment">{VERBOSE_REPORT;
  <a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a> =0;
  <span class="keyword">delete</span> [] <a class="code" href="classdsymatrix.html#a7efa7c974733dc3111167a9ebb217e1f" title="1D array to store matrix data">array</a>;
  <a class="code" href="classdsymatrix.html#a7efa7c974733dc3111167a9ebb217e1f" title="1D array to store matrix data">array</a> =NULL;
  <span class="keyword">delete</span> [] <a class="code" href="classdsymatrix.html#a786e420fb2551cffb147af789197a681" title="array of pointers of column head addresses">darray</a>;
  <a class="code" href="classdsymatrix.html#a786e420fb2551cffb147af789197a681" title="array of pointers of column head addresses">darray</a> =NULL;
}
</pre></div>
</div>
</div>
<a class="anchor" id="a947a5e8f68c4b7c7bb00feccf2691e18"></a><!-- doxytag: member="dsymatrix::zero" ref="a947a5e8f68c4b7c7bb00feccf2691e18" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classdsymatrix.html">dsymatrix</a> &amp; <a class="el" href="classdsymatrix.html#a947a5e8f68c4b7c7bb00feccf2691e18">dsymatrix::zero</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>change the matrix into a zero matrix </p>

<p>Definition at line <a class="el" href="dsymatrix-misc_8hpp_source.html#l00025">25</a> of file <a class="el" href="dsymatrix-misc_8hpp_source.html">dsymatrix-misc.hpp</a>.</p>

<p>References <a class="el" href="dsymatrix_8hpp_source.html#l00011">array</a>, <a class="el" href="dsymatrix-calc_8hpp_source.html#l00016">i</a>, and <a class="el" href="dsymatrix_8hpp_source.html#l00010">n</a>.</p>

<p>Referenced by <a class="el" href="__dssmatrix-cast_8hpp_source.html#l00036">_dssmatrix::to_dsymatrix()</a>, and <a class="el" href="dssmatrix-cast_8hpp_source.html#l00033">dssmatrix::to_dsymatrix()</a>.</p>
<div class="fragment"><pre class="fragment">{VERBOSE_REPORT;
  <span class="keywordflow">for</span>(<span class="keywordtype">long</span> <a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>=0; <a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>&lt;<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>*<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>; <a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>++){
    <a class="code" href="classdsymatrix.html#a7efa7c974733dc3111167a9ebb217e1f" title="1D array to store matrix data">array</a>[<a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>] =0.0;
  }
  <span class="keywordflow">return</span> *<span class="keyword">this</span>;
}
</pre></div>
</div>
</div>
<a class="anchor" id="a0bbf9e39f4ed24a61102362477389d19"></a><!-- doxytag: member="dsymatrix::identity" ref="a0bbf9e39f4ed24a61102362477389d19" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classdsymatrix.html">dsymatrix</a> &amp; <a class="el" href="classdsymatrix.html#a0bbf9e39f4ed24a61102362477389d19">dsymatrix::identity</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>change the matrix into an identity matrix </p>

<p>Definition at line <a class="el" href="dsymatrix-misc_8hpp_source.html#l00035">35</a> of file <a class="el" href="dsymatrix-misc_8hpp_source.html">dsymatrix-misc.hpp</a>.</p>

<p>References <a class="el" href="dsymatrix_8hpp_source.html#l00011">array</a>, <a class="el" href="dsymatrix-calc_8hpp_source.html#l00016">i</a>, <a class="el" href="dsymatrix_8hpp_source.html#l00010">n</a>, and <a class="el" href="dsymatrix-io_8hpp_source.html#l00003">operator()()</a>.</p>

<p>Referenced by <a class="el" href="__dsymatrix-calc_8hpp_source.html#l00015">i()</a>.</p>
<div class="fragment"><pre class="fragment">{VERBOSE_REPORT;
  <span class="keywordflow">for</span>(<span class="keywordtype">long</span> <a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>=0; <a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>&lt;<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>*<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>; <a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>++){ <a class="code" href="classdsymatrix.html#a7efa7c974733dc3111167a9ebb217e1f" title="1D array to store matrix data">array</a>[<a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>] =0.0; }
  <span class="keywordflow">for</span>(<span class="keywordtype">long</span> <a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>=0; <a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>&lt;<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>; <a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>++){ <a class="code" href="classdsymatrix.html#ab7ef2af9dca9cd4eb2344ec8846eb2e7">operator()</a>(<a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>,<a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>) =1.0; }
  <span class="keywordflow">return</span> *<span class="keyword">this</span>;
}
</pre></div>
</div>
</div>
<a class="anchor" id="a52ab0893087e809d39e67ddc92b37f78"></a><!-- doxytag: member="dsymatrix::chsign" ref="a52ab0893087e809d39e67ddc92b37f78" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classdsymatrix.html#a52ab0893087e809d39e67ddc92b37f78">dsymatrix::chsign</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>change sign(+/-) of the matrix </p>

<p>Definition at line <a class="el" href="dsymatrix-misc_8hpp_source.html#l00044">44</a> of file <a class="el" href="dsymatrix-misc_8hpp_source.html">dsymatrix-misc.hpp</a>.</p>

<p>References <a class="el" href="dsymatrix_8hpp_source.html#l00011">array</a>, <a class="el" href="dsymatrix-calc_8hpp_source.html#l00016">i</a>, and <a class="el" href="dsymatrix_8hpp_source.html#l00010">n</a>.</p>
<div class="fragment"><pre class="fragment">{VERBOSE_REPORT;
  <span class="keywordflow">for</span>(<span class="keywordtype">long</span> <a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>=0; <a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>&lt;<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>*<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>; <a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>++){ <a class="code" href="classdsymatrix.html#a7efa7c974733dc3111167a9ebb217e1f" title="1D array to store matrix data">array</a>[<a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>] =-<a class="code" href="classdsymatrix.html#a7efa7c974733dc3111167a9ebb217e1f" title="1D array to store matrix data">array</a>[<a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>]; }
}
</pre></div>
</div>
</div>
<a class="anchor" id="ab4efab676db40bf3aa2c20d682d0067f"></a><!-- doxytag: member="dsymatrix::copy" ref="ab4efab676db40bf3aa2c20d682d0067f" args="(const dsymatrix &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classdsymatrix.html#ab4efab676db40bf3aa2c20d682d0067f">dsymatrix::copy</a> </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classdsymatrix.html">dsymatrix</a> &amp;&#160;</td>
          <td class="paramname"><em>mat</em></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>make a deep copy of the matrix </p>

<p>Definition at line <a class="el" href="dsymatrix-misc_8hpp_source.html#l00051">51</a> of file <a class="el" href="dsymatrix-misc_8hpp_source.html">dsymatrix-misc.hpp</a>.</p>

<p>References <a class="el" href="dsymatrix_8hpp_source.html#l00011">array</a>, <a class="el" href="dsymatrix_8hpp_source.html#l00012">darray</a>, <a class="el" href="dsymatrix-calc_8hpp_source.html#l00016">i</a>, and <a class="el" href="dsymatrix_8hpp_source.html#l00010">n</a>.</p>

<p>Referenced by <a class="el" href="dsymatrix-dsymatrix_8hpp_source.html#l00003">operator=()</a>.</p>
<div class="fragment"><pre class="fragment">{VERBOSE_REPORT;
  <a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a> =mat.<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>;
  <span class="keyword">delete</span> [] <a class="code" href="classdsymatrix.html#a7efa7c974733dc3111167a9ebb217e1f" title="1D array to store matrix data">array</a>;
  <a class="code" href="classdsymatrix.html#a7efa7c974733dc3111167a9ebb217e1f" title="1D array to store matrix data">array</a> =<span class="keyword">new</span> <span class="keywordtype">double</span>[<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>*<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>];
  <span class="keyword">delete</span> [] <a class="code" href="classdsymatrix.html#a786e420fb2551cffb147af789197a681" title="array of pointers of column head addresses">darray</a>;
  <a class="code" href="classdsymatrix.html#a786e420fb2551cffb147af789197a681" title="array of pointers of column head addresses">darray</a> =<span class="keyword">new</span> <span class="keywordtype">double</span>*[<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>];
  <span class="keywordflow">for</span>(<span class="keywordtype">int</span> <a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>=0; <a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>&lt;<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>; <a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>++){ <a class="code" href="classdsymatrix.html#a786e420fb2551cffb147af789197a681" title="array of pointers of column head addresses">darray</a>[<a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>] =&amp;<a class="code" href="classdsymatrix.html#a7efa7c974733dc3111167a9ebb217e1f" title="1D array to store matrix data">array</a>[<a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>*<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>]; }
  
  dcopy_(mat.<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>*mat.<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>, mat.<a class="code" href="classdsymatrix.html#a7efa7c974733dc3111167a9ebb217e1f" title="1D array to store matrix data">array</a>, 1, <a class="code" href="classdsymatrix.html#a7efa7c974733dc3111167a9ebb217e1f" title="1D array to store matrix data">array</a>, 1);
}
</pre></div>
</div>
</div>
<a class="anchor" id="a0afa7dbdf0dfb3b841ac3997bc470bbd"></a><!-- doxytag: member="dsymatrix::shallow_copy" ref="a0afa7dbdf0dfb3b841ac3997bc470bbd" args="(const _dsymatrix &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classdsymatrix.html#a0afa7dbdf0dfb3b841ac3997bc470bbd">dsymatrix::shallow_copy</a> </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="class__dsymatrix.html">_dsymatrix</a> &amp;&#160;</td>
          <td class="paramname"><em>mat</em></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>make a shallow copy of the matrix<br/>
 This function is not designed to be used in project codes. </p>

<p>Definition at line <a class="el" href="dsymatrix-misc_8hpp_source.html#l00066">66</a> of file <a class="el" href="dsymatrix-misc_8hpp_source.html">dsymatrix-misc.hpp</a>.</p>

<p>References <a class="el" href="dsymatrix_8hpp_source.html#l00011">array</a>, <a class="el" href="__dsymatrix_8hpp_source.html#l00011">_dsymatrix::array</a>, <a class="el" href="dsymatrix_8hpp_source.html#l00012">darray</a>, <a class="el" href="__dsymatrix_8hpp_source.html#l00012">_dsymatrix::darray</a>, <a class="el" href="__dsymatrix_8hpp_source.html#l00010">_dsymatrix::n</a>, <a class="el" href="dsymatrix_8hpp_source.html#l00010">n</a>, and <a class="el" href="__dsymatrix-misc_8hpp_source.html#l00003">_dsymatrix::nullify()</a>.</p>

<p>Referenced by <a class="el" href="dsymatrix-__dsymatrix_8hpp_source.html#l00003">operator=()</a>.</p>
<div class="fragment"><pre class="fragment">{VERBOSE_REPORT;
  <a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a> =mat.<a class="code" href="class__dsymatrix.html#a8b56cdf252a15da3e211b558abd46c1b" title="matrix column size">n</a>;
  <span class="keyword">delete</span> [] <a class="code" href="classdsymatrix.html#a7efa7c974733dc3111167a9ebb217e1f" title="1D array to store matrix data">array</a>;
  <a class="code" href="classdsymatrix.html#a7efa7c974733dc3111167a9ebb217e1f" title="1D array to store matrix data">array</a> =mat.<a class="code" href="class__dsymatrix.html#a656ab414ee51638aedc9bf4960fe428a" title="1D array to store matrix data">array</a>;
  <span class="keyword">delete</span> [] <a class="code" href="classdsymatrix.html#a786e420fb2551cffb147af789197a681" title="array of pointers of column head addresses">darray</a>;
  <a class="code" href="classdsymatrix.html#a786e420fb2551cffb147af789197a681" title="array of pointers of column head addresses">darray</a> =mat.<a class="code" href="class__dsymatrix.html#a9db2d341c99952e75adb7e183450c3dc" title="array of pointers of column head addresses">darray</a>;
  
  mat.<a class="code" href="class__dsymatrix.html#a15a1bf572055917c5963ba65d83fa282">nullify</a>();
}
</pre></div>
</div>
</div>
<a class="anchor" id="aca838c10b45b98b42412fdfc2f0e4350"></a><!-- doxytag: member="dsymatrix::resize" ref="aca838c10b45b98b42412fdfc2f0e4350" args="(const long &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classdsymatrix.html">dsymatrix</a> &amp; <a class="el" href="classdsymatrix.html#aca838c10b45b98b42412fdfc2f0e4350">dsymatrix::resize</a> </td>
          <td>(</td>
          <td class="paramtype">const long &amp;&#160;</td>
          <td class="paramname"><em>_n</em></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>resize the matrix </p>

<p>Definition at line <a class="el" href="dsymatrix-misc_8hpp_source.html#l00079">79</a> of file <a class="el" href="dsymatrix-misc_8hpp_source.html">dsymatrix-misc.hpp</a>.</p>

<p>References <a class="el" href="dsymatrix_8hpp_source.html#l00011">array</a>, <a class="el" href="dsymatrix_8hpp_source.html#l00012">darray</a>, <a class="el" href="dsymatrix-calc_8hpp_source.html#l00016">i</a>, and <a class="el" href="dsymatrix_8hpp_source.html#l00010">n</a>.</p>

<p>Referenced by <a class="el" href="dsymatrix-io_8hpp_source.html#l00116">read()</a>.</p>
<div class="fragment"><pre class="fragment">{VERBOSE_REPORT;
<span class="preprocessor">#ifdef  CPPL_DEBUG</span>
<span class="preprocessor"></span>  <span class="keywordflow">if</span>( _n&lt;0 ){
    ERROR_REPORT;
    std::cerr &lt;&lt; <span class="stringliteral">&quot;Matrix sizes must be positive integers.&quot;</span> &lt;&lt; std::endl
              &lt;&lt; <span class="stringliteral">&quot;Your input was (&quot;</span> &lt;&lt; _n &lt;&lt; <span class="stringliteral">&quot;).&quot;</span> &lt;&lt; std::endl;
    exit(1);
  }
<span class="preprocessor">#endif//CPPL_DEBUG</span>
<span class="preprocessor"></span>  
  <a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a> =_n;
  <span class="keyword">delete</span> [] <a class="code" href="classdsymatrix.html#a7efa7c974733dc3111167a9ebb217e1f" title="1D array to store matrix data">array</a>;
  <a class="code" href="classdsymatrix.html#a7efa7c974733dc3111167a9ebb217e1f" title="1D array to store matrix data">array</a> =<span class="keyword">new</span> <span class="keywordtype">double</span>[<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>*<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>];
  <span class="keyword">delete</span> [] <a class="code" href="classdsymatrix.html#a786e420fb2551cffb147af789197a681" title="array of pointers of column head addresses">darray</a>;
  <a class="code" href="classdsymatrix.html#a786e420fb2551cffb147af789197a681" title="array of pointers of column head addresses">darray</a> =<span class="keyword">new</span> <span class="keywordtype">double</span>*[<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>];
  <span class="keywordflow">for</span>(<span class="keywordtype">int</span> <a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>=0; <a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>&lt;<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>; <a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>++){ <a class="code" href="classdsymatrix.html#a786e420fb2551cffb147af789197a681" title="array of pointers of column head addresses">darray</a>[<a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>] =&amp;<a class="code" href="classdsymatrix.html#a7efa7c974733dc3111167a9ebb217e1f" title="1D array to store matrix data">array</a>[<a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>*<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>]; }
  
  <span class="keywordflow">return</span> *<span class="keyword">this</span>;
}
</pre></div>
</div>
</div>
<a class="anchor" id="a64ab65ffb5ff5afa8ecef76fa854867f"></a><!-- doxytag: member="dsymatrix::row" ref="a64ab65ffb5ff5afa8ecef76fa854867f" args="(const long &amp;) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class__drovector.html">_drovector</a> <a class="el" href="classdsymatrix.html#a64ab65ffb5ff5afa8ecef76fa854867f">dsymatrix::row</a> </td>
          <td>(</td>
          <td class="paramtype">const long &amp;&#160;</td>
          <td class="paramname"><em>_m</em></td><td>)</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>get row of the matrix </p>

<p>Definition at line <a class="el" href="dsymatrix-misc_8hpp_source.html#l00106">106</a> of file <a class="el" href="dsymatrix-misc_8hpp_source.html">dsymatrix-misc.hpp</a>.</p>

<p>References <a class="el" href="dsymatrix-misc_8hpp_source.html#l00158">_</a>, <a class="el" href="dsymatrix_8hpp_source.html#l00009">m</a>, and <a class="el" href="dsymatrix_8hpp_source.html#l00010">n</a>.</p>
<div class="fragment"><pre class="fragment">{VERBOSE_REPORT;
<span class="preprocessor">#ifdef  CPPL_DEBUG</span>
<span class="preprocessor"></span>  <span class="keywordflow">if</span>( _m&lt;0 || _m&gt;<a class="code" href="classdsymatrix.html#a955f345240dab42d931f4c8700dc43d5" title="matrix row size">m</a> ){
    ERROR_REPORT;
    std::cerr &lt;&lt; <span class="stringliteral">&quot;Input row number must be between 0 and &quot;</span> &lt;&lt; m &lt;&lt; <span class="stringliteral">&quot;.&quot;</span> &lt;&lt; std::endl
              &lt;&lt; <span class="stringliteral">&quot;Your input was &quot;</span> &lt;&lt; _m &lt;&lt; <span class="stringliteral">&quot;.&quot;</span> &lt;&lt; std::endl;
    exit(1);
  }
<span class="preprocessor">#endif//CPPL_DEBUG</span>
<span class="preprocessor"></span>  
  <a class="code" href="classdrovector.html" title="Real Double-precision Row Vector Class.">drovector</a> v(<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>);
  <span class="keywordflow">for</span>(<span class="keywordtype">long</span> j=0; j&lt;<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>; j++){ v(j)=(*this)(_m,j); }
  <span class="keywordflow">return</span> <a class="code" href="classdsymatrix.html#ae4cebf6255f4d5741776b93934a1f540">_</a>(v);
}
</pre></div>
</div>
</div>
<a class="anchor" id="aa6090a0966aacf51de5837c41e16b392"></a><!-- doxytag: member="dsymatrix::col" ref="aa6090a0966aacf51de5837c41e16b392" args="(const long &amp;) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class__dcovector.html">_dcovector</a> <a class="el" href="classdsymatrix.html#aa6090a0966aacf51de5837c41e16b392">dsymatrix::col</a> </td>
          <td>(</td>
          <td class="paramtype">const long &amp;&#160;</td>
          <td class="paramname"><em>_n</em></td><td>)</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>get column of the matrix </p>

<p>Definition at line <a class="el" href="dsymatrix-misc_8hpp_source.html#l00124">124</a> of file <a class="el" href="dsymatrix-misc_8hpp_source.html">dsymatrix-misc.hpp</a>.</p>

<p>References <a class="el" href="dsymatrix-misc_8hpp_source.html#l00158">_</a>, <a class="el" href="dsymatrix-calc_8hpp_source.html#l00016">i</a>, <a class="el" href="dsymatrix_8hpp_source.html#l00009">m</a>, and <a class="el" href="dsymatrix_8hpp_source.html#l00010">n</a>.</p>
<div class="fragment"><pre class="fragment">{VERBOSE_REPORT;
<span class="preprocessor">#ifdef  CPPL_DEBUG</span>
<span class="preprocessor"></span>  <span class="keywordflow">if</span>( _n&lt;0 || _n&gt;<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a> ){
    ERROR_REPORT;
    std::cerr &lt;&lt; <span class="stringliteral">&quot;Input row number must be between 0 and &quot;</span> &lt;&lt; n &lt;&lt; <span class="stringliteral">&quot;.&quot;</span> &lt;&lt; std::endl
              &lt;&lt; <span class="stringliteral">&quot;Your input was &quot;</span> &lt;&lt; _n &lt;&lt; <span class="stringliteral">&quot;.&quot;</span> &lt;&lt; std::endl;
    exit(1);
  }
<span class="preprocessor">#endif//CPPL_DEBUG</span>
<span class="preprocessor"></span>  
  <a class="code" href="classdcovector.html" title="Real Double-precision Column Vector Class.">dcovector</a> v(<a class="code" href="classdsymatrix.html#a955f345240dab42d931f4c8700dc43d5" title="matrix row size">m</a>);
  <span class="keywordflow">for</span>(<span class="keywordtype">long</span> <a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>=0; <a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>&lt;<a class="code" href="classdsymatrix.html#a955f345240dab42d931f4c8700dc43d5" title="matrix row size">m</a>; <a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>++){ v(<a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>)=(*this)(<a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>,_n); }
  <span class="keywordflow">return</span> <a class="code" href="classdsymatrix.html#ae4cebf6255f4d5741776b93934a1f540">_</a>(v);
}
</pre></div>
</div>
</div>
<a class="anchor" id="a2d2181589454c151bacc940aa189980d"></a><!-- doxytag: member="dsymatrix::dsysv" ref="a2d2181589454c151bacc940aa189980d" args="(dgematrix &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">long <a class="el" href="classdsymatrix.html#a2d2181589454c151bacc940aa189980d">dsymatrix::dsysv</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classdgematrix.html">dgematrix</a> &amp;&#160;</td>
          <td class="paramname"><em>mat</em></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>solve A*X=Y using dsysv<br/>
 The argument is dmatrix Y. Y is overwritten and become the solution X. A is also overwritten. </p>

<p>Definition at line <a class="el" href="dsymatrix-lapack_8hpp_source.html#l00006">6</a> of file <a class="el" href="dsymatrix-lapack_8hpp_source.html">dsymatrix-lapack.hpp</a>.</p>

<p>References <a class="el" href="dsymatrix_8hpp_source.html#l00011">array</a>, <a class="el" href="dgematrix_8hpp_source.html#l00011">dgematrix::array</a>, <a class="el" href="dgematrix_8hpp_source.html#l00009">dgematrix::m</a>, <a class="el" href="dsymatrix_8hpp_source.html#l00010">n</a>, and <a class="el" href="dgematrix_8hpp_source.html#l00010">dgematrix::n</a>.</p>
<div class="fragment"><pre class="fragment">{VERBOSE_REPORT;
<span class="preprocessor">#ifdef  CPPL_DEBUG</span>
<span class="preprocessor"></span>  <span class="keywordflow">if</span>(<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>!=mat.<a class="code" href="classdgematrix.html#a60d26e3a499a235310e59a0aebbe0d0a" title="matrix column size">n</a>){
    ERROR_REPORT;
    std::cerr &lt;&lt; <span class="stringliteral">&quot;These two matrices cannot be solved.&quot;</span> &lt;&lt; std::endl
              &lt;&lt; <span class="stringliteral">&quot;Your input was (&quot;</span> &lt;&lt; <a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a> &lt;&lt; <span class="stringliteral">&quot;x&quot;</span> &lt;&lt; <a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a> &lt;&lt; <span class="stringliteral">&quot;) and (&quot;</span> &lt;&lt; mat.<a class="code" href="classdgematrix.html#a60d26e3a499a235310e59a0aebbe0d0a" title="matrix column size">n</a> &lt;&lt; <span class="stringliteral">&quot;x&quot;</span> &lt;&lt; mat.<a class="code" href="classdgematrix.html#a60d26e3a499a235310e59a0aebbe0d0a" title="matrix column size">n</a> &lt;&lt; <span class="stringliteral">&quot;).&quot;</span> &lt;&lt; std::endl;
    exit(1);
  }
<span class="preprocessor">#endif//CPPL_DEBUG</span>
<span class="preprocessor"></span>  
  <span class="keywordtype">char</span> UPLO(<span class="charliteral">&#39;l&#39;</span>);
  <span class="keywordtype">long</span> NRHS(mat.<a class="code" href="classdgematrix.html#a60d26e3a499a235310e59a0aebbe0d0a" title="matrix column size">n</a>), LDA(<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>), *IPIV(<span class="keyword">new</span> <span class="keywordtype">long</span>[<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>]), LDB(mat.<a class="code" href="classdgematrix.html#a3852aa1d0b876a74c1070e982cf388a2" title="matrix row size">m</a>), LWORK(-1), INFO(1);
  <span class="keywordtype">double</span> *WORK( <span class="keyword">new</span> <span class="keywordtype">double</span>[1] );
  dsysv_(UPLO, <a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>, NRHS, <a class="code" href="classdsymatrix.html#a7efa7c974733dc3111167a9ebb217e1f" title="1D array to store matrix data">array</a>, LDA, IPIV, mat.<a class="code" href="classdgematrix.html#a006ce8c2f9add380bcb2816fdb13aa01" title="1D array to store matrix data">array</a>, LDB, WORK, LWORK, INFO);
  
  INFO=1; 
  LWORK = long(WORK[0]);
  <span class="keyword">delete</span> [] WORK;  WORK = <span class="keyword">new</span> <span class="keywordtype">double</span>[LWORK];
  dsysv_(UPLO, <a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>, NRHS, <a class="code" href="classdsymatrix.html#a7efa7c974733dc3111167a9ebb217e1f" title="1D array to store matrix data">array</a>, LDA, IPIV, mat.<a class="code" href="classdgematrix.html#a006ce8c2f9add380bcb2816fdb13aa01" title="1D array to store matrix data">array</a>, LDB, WORK, LWORK, INFO);
  <span class="keyword">delete</span> [] WORK; <span class="keyword">delete</span> [] IPIV;
  
  <span class="keywordflow">if</span>(INFO!=0){
    WARNING_REPORT;
    std::cerr &lt;&lt; <span class="stringliteral">&quot;Serious trouble happend. INFO = &quot;</span> &lt;&lt; INFO &lt;&lt; <span class="stringliteral">&quot;.&quot;</span> &lt;&lt; std::endl;
  }
  <span class="keywordflow">return</span> INFO;
}
</pre></div>
</div>
</div>
<a class="anchor" id="ad83185d64782dcdc6c391cdf2086649c"></a><!-- doxytag: member="dsymatrix::dsysv" ref="ad83185d64782dcdc6c391cdf2086649c" args="(dcovector &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">long <a class="el" href="classdsymatrix.html#a2d2181589454c151bacc940aa189980d">dsymatrix::dsysv</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classdcovector.html">dcovector</a> &amp;&#160;</td>
          <td class="paramname"><em>vec</em></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>solve A*x=y using dsysv<br/>
 The argument is dcovector y. y is overwritten and become the solution x. A is also overwritten. </p>

<p>Definition at line <a class="el" href="dsymatrix-lapack_8hpp_source.html#l00040">40</a> of file <a class="el" href="dsymatrix-lapack_8hpp_source.html">dsymatrix-lapack.hpp</a>.</p>

<p>References <a class="el" href="dsymatrix_8hpp_source.html#l00011">array</a>, <a class="el" href="dcovector_8hpp_source.html#l00011">dcovector::array</a>, <a class="el" href="dcovector_8hpp_source.html#l00009">dcovector::l</a>, and <a class="el" href="dsymatrix_8hpp_source.html#l00010">n</a>.</p>
<div class="fragment"><pre class="fragment">{VERBOSE_REPORT;
<span class="preprocessor">#ifdef  CPPL_DEBUG</span>
<span class="preprocessor"></span>  <span class="keywordflow">if</span>(<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>!=vec.<a class="code" href="classdcovector.html#a08e64e5ecb5121100787d0f5d48f0af4" title="vector size">l</a>){
    ERROR_REPORT;
    std::cerr &lt;&lt; <span class="stringliteral">&quot;These matrix and vector cannot be solved.&quot;</span> &lt;&lt; std::endl
              &lt;&lt; <span class="stringliteral">&quot;Your input was (&quot;</span> &lt;&lt; <a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a> &lt;&lt; <span class="stringliteral">&quot;x&quot;</span> &lt;&lt; <a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a> &lt;&lt; <span class="stringliteral">&quot;) and (&quot;</span> &lt;&lt; vec.<a class="code" href="classdcovector.html#a08e64e5ecb5121100787d0f5d48f0af4" title="vector size">l</a> &lt;&lt; <span class="stringliteral">&quot;).&quot;</span> &lt;&lt; std::endl;
    exit(1);
  }
<span class="preprocessor">#endif//CPPL_DEBUG </span>
<span class="preprocessor"></span>  
  <span class="keywordtype">char</span> UPLO(<span class="charliteral">&#39;l&#39;</span>);
  <span class="keywordtype">long</span> NRHS(1), LDA(<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>), *IPIV(<span class="keyword">new</span> <span class="keywordtype">long</span>[<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>]), LDB(vec.<a class="code" href="classdcovector.html#a08e64e5ecb5121100787d0f5d48f0af4" title="vector size">l</a>), LWORK(-1), INFO(1);
  <span class="keywordtype">double</span> *WORK( <span class="keyword">new</span> <span class="keywordtype">double</span>[1] );
  dsysv_(UPLO, <a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>, NRHS, <a class="code" href="classdsymatrix.html#a7efa7c974733dc3111167a9ebb217e1f" title="1D array to store matrix data">array</a>, LDA, IPIV, vec.<a class="code" href="classdcovector.html#a9b188bf160d8f7e24ea1d41deaceaf6d" title="1D array to store vector data">array</a>, LDB, WORK, LWORK, INFO);
  
  INFO=1;
  LWORK = long(WORK[0]);
  <span class="keyword">delete</span> [] WORK;
  WORK = <span class="keyword">new</span> <span class="keywordtype">double</span>[LWORK];
  dsysv_(UPLO, <a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>, NRHS, <a class="code" href="classdsymatrix.html#a7efa7c974733dc3111167a9ebb217e1f" title="1D array to store matrix data">array</a>, LDA, IPIV, vec.<a class="code" href="classdcovector.html#a9b188bf160d8f7e24ea1d41deaceaf6d" title="1D array to store vector data">array</a>, LDB, WORK, LWORK, INFO);
  <span class="keyword">delete</span> [] WORK;
  <span class="keyword">delete</span> [] IPIV;

  <span class="keywordflow">if</span>(INFO!=0){
    WARNING_REPORT;
    std::cerr &lt;&lt; <span class="stringliteral">&quot;Serious trouble happend. INFO = &quot;</span> &lt;&lt; INFO &lt;&lt; <span class="stringliteral">&quot;.&quot;</span> &lt;&lt; std::endl;
  }
  <span class="keywordflow">return</span> INFO;
}
</pre></div>
</div>
</div>
<a class="anchor" id="a13cdcc8bc02b6bfcebff8edd84ca1cfc"></a><!-- doxytag: member="dsymatrix::dsyev" ref="a13cdcc8bc02b6bfcebff8edd84ca1cfc" args="(std::vector&lt; double &gt; &amp;, const bool &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">long <a class="el" href="classdsymatrix.html#a13cdcc8bc02b6bfcebff8edd84ca1cfc">dsymatrix::dsyev</a> </td>
          <td>(</td>
          <td class="paramtype">std::vector&lt; double &gt; &amp;&#160;</td>
          <td class="paramname"><em>w</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const bool &amp;&#160;</td>
          <td class="paramname"><em>jobz</em> = <code>0</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>calculate eigenvalues and eigenvectors.<br/>
 All of the arguments need not to be initialized. w is overwitten and become eigenvalues. This matrix is also overwritten. if jobz=1, this matrix becomes eigenvectors. </p>

<p>Definition at line <a class="el" href="dsymatrix-lapack_8hpp_source.html#l00082">82</a> of file <a class="el" href="dsymatrix-lapack_8hpp_source.html">dsymatrix-lapack.hpp</a>.</p>

<p>References <a class="el" href="dsymatrix_8hpp_source.html#l00011">array</a>, and <a class="el" href="dsymatrix_8hpp_source.html#l00010">n</a>.</p>
<div class="fragment"><pre class="fragment">{VERBOSE_REPORT;
  w.resize(<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>);
  <span class="keywordtype">char</span> JOBZ, UPLO(<span class="charliteral">&#39;l&#39;</span>);
  <span class="keywordflow">if</span>(jobz==0){ JOBZ=<span class="charliteral">&#39;n&#39;</span>; } <span class="keywordflow">else</span>{ JOBZ=<span class="charliteral">&#39;V&#39;</span>; }
  <span class="keywordtype">long</span> LDA(<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>), INFO(1), LWORK(-1);
  <span class="keywordtype">double</span> *WORK(<span class="keyword">new</span> <span class="keywordtype">double</span>[1]);
  dsyev_(JOBZ, UPLO, <a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>, <a class="code" href="classdsymatrix.html#a7efa7c974733dc3111167a9ebb217e1f" title="1D array to store matrix data">array</a>, LDA, &amp;w[0], WORK, LWORK, INFO);
  
  INFO=1;
  LWORK = long(WORK[0]);
  <span class="keyword">delete</span> [] WORK;  WORK = <span class="keyword">new</span> <span class="keywordtype">double</span>[LWORK];
  dsyev_(JOBZ, UPLO, <a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>, <a class="code" href="classdsymatrix.html#a7efa7c974733dc3111167a9ebb217e1f" title="1D array to store matrix data">array</a>, LDA, &amp;w[0], WORK, LWORK, INFO);
  <span class="keyword">delete</span> [] WORK;
  
  <span class="keywordflow">if</span>(INFO!=0){
    WARNING_REPORT;
    std::cerr &lt;&lt; <span class="stringliteral">&quot;Serious trouble happend. INFO = &quot;</span> &lt;&lt; INFO &lt;&lt; <span class="stringliteral">&quot;.&quot;</span> &lt;&lt; std::endl;
  }
  <span class="keywordflow">return</span> INFO;
}
</pre></div>
</div>
</div>
<a class="anchor" id="adb39304e5381c5fc91f3d290a5adc41c"></a><!-- doxytag: member="dsymatrix::dsyev" ref="adb39304e5381c5fc91f3d290a5adc41c" args="(std::vector&lt; double &gt; &amp;, std::vector&lt; dcovector &gt; &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">long <a class="el" href="classdsymatrix.html#a13cdcc8bc02b6bfcebff8edd84ca1cfc">dsymatrix::dsyev</a> </td>
          <td>(</td>
          <td class="paramtype">std::vector&lt; double &gt; &amp;&#160;</td>
          <td class="paramname"><em>w</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">std::vector&lt; <a class="el" href="classdcovector.html">dcovector</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>v</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>calculate eigenvalues and eigenvectors.<br/>
 All of the arguments need not to be initialized. w and v are overwitten and become eigenvalues and eigenvectors, respectively. This matrix is also overwritten. </p>

<p>Definition at line <a class="el" href="dsymatrix-lapack_8hpp_source.html#l00111">111</a> of file <a class="el" href="dsymatrix-lapack_8hpp_source.html">dsymatrix-lapack.hpp</a>.</p>

<p>References <a class="el" href="dsymatrix_8hpp_source.html#l00011">array</a>, <a class="el" href="dsymatrix-calc_8hpp_source.html#l00016">i</a>, and <a class="el" href="dsymatrix_8hpp_source.html#l00010">n</a>.</p>
<div class="fragment"><pre class="fragment">{VERBOSE_REPORT;
  w.resize(<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>);  v.resize(<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>);
  <span class="keywordflow">for</span>(<span class="keywordtype">long</span> <a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>=0; <a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>&lt;<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>; <a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>++){ v[<a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>].resize(n); }
  <span class="keywordtype">char</span> JOBZ(<span class="charliteral">&#39;V&#39;</span>), UPLO(<span class="charliteral">&#39;l&#39;</span>);
  <span class="keywordtype">long</span> LDA(n), INFO(1), LWORK(-1);
  <span class="keywordtype">double</span> *WORK(<span class="keyword">new</span> <span class="keywordtype">double</span>[1]);
  dsyev_(JOBZ, UPLO, n, <a class="code" href="classdsymatrix.html#a7efa7c974733dc3111167a9ebb217e1f" title="1D array to store matrix data">array</a>, LDA, &amp;w[0], WORK, LWORK, INFO);
  
  INFO=1;
  LWORK = long(WORK[0]);
  <span class="keyword">delete</span> [] WORK;  WORK = <span class="keyword">new</span> <span class="keywordtype">double</span>[LWORK];
  dsyev_(JOBZ, UPLO, n, <a class="code" href="classdsymatrix.html#a7efa7c974733dc3111167a9ebb217e1f" title="1D array to store matrix data">array</a>, LDA, &amp;w[0], WORK, LWORK, INFO);
  <span class="keyword">delete</span> [] WORK;
  <span class="comment"></span>
<span class="comment">  //// forming ////</span>
<span class="comment"></span>  <span class="keywordflow">for</span>(<span class="keywordtype">long</span> <a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>=0; <a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>&lt;<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>; <a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>++){ <span class="keywordflow">for</span>(<span class="keywordtype">long</span> j=0; j&lt;<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>; j++){
    v[j](<a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>) = <a class="code" href="classdsymatrix.html#a7efa7c974733dc3111167a9ebb217e1f" title="1D array to store matrix data">array</a>[<a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>+n*j];
  }}
  
  <span class="keywordflow">if</span>(INFO!=0){
    WARNING_REPORT;
    std::cerr &lt;&lt; <span class="stringliteral">&quot;Serious trouble happend. INFO = &quot;</span> &lt;&lt; INFO &lt;&lt; <span class="stringliteral">&quot;.&quot;</span> &lt;&lt; std::endl;
  }
  <span class="keywordflow">return</span> INFO;
}
</pre></div>
</div>
</div>
<a class="anchor" id="a421054f74ec79e9d76124d763d5ff15c"></a><!-- doxytag: member="dsymatrix::dsyev" ref="a421054f74ec79e9d76124d763d5ff15c" args="(std::vector&lt; double &gt; &amp;, std::vector&lt; drovector &gt; &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">long <a class="el" href="classdsymatrix.html#a13cdcc8bc02b6bfcebff8edd84ca1cfc">dsymatrix::dsyev</a> </td>
          <td>(</td>
          <td class="paramtype">std::vector&lt; double &gt; &amp;&#160;</td>
          <td class="paramname"><em>w</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">std::vector&lt; <a class="el" href="classdrovector.html">drovector</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>v</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>calculate eigenvalues and eigenvectors.<br/>
 All of the arguments need not to be initialized. w and v are overwitten and become eigenvalues and eigenvectors, respectively. This matrix is also overwritten. </p>

<p>Definition at line <a class="el" href="dsymatrix-lapack_8hpp_source.html#l00145">145</a> of file <a class="el" href="dsymatrix-lapack_8hpp_source.html">dsymatrix-lapack.hpp</a>.</p>

<p>References <a class="el" href="dsymatrix_8hpp_source.html#l00011">array</a>, <a class="el" href="dsymatrix-calc_8hpp_source.html#l00016">i</a>, and <a class="el" href="dsymatrix_8hpp_source.html#l00010">n</a>.</p>
<div class="fragment"><pre class="fragment">{VERBOSE_REPORT;
  w.resize(<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>);  v.resize(<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>);
  <span class="keywordflow">for</span>(<span class="keywordtype">long</span> <a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>=0; <a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>&lt;<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>; <a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>++){ v[<a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>].resize(n); }
  <span class="keywordtype">char</span> JOBZ(<span class="charliteral">&#39;V&#39;</span>), UPLO(<span class="charliteral">&#39;l&#39;</span>);
  <span class="keywordtype">long</span> LDA(n), INFO(1), LWORK(-1);
  <span class="keywordtype">double</span> *WORK(<span class="keyword">new</span> <span class="keywordtype">double</span>[1]);
  dsyev_(JOBZ, UPLO, n, <a class="code" href="classdsymatrix.html#a7efa7c974733dc3111167a9ebb217e1f" title="1D array to store matrix data">array</a>, LDA, &amp;w[0], WORK, LWORK, INFO);
  
  INFO=1;
  LWORK = long(WORK[0]);
  <span class="keyword">delete</span> [] WORK;  WORK = <span class="keyword">new</span> <span class="keywordtype">double</span>[LWORK];
  dsyev_(JOBZ, UPLO, n, <a class="code" href="classdsymatrix.html#a7efa7c974733dc3111167a9ebb217e1f" title="1D array to store matrix data">array</a>, LDA, &amp;w[0], WORK, LWORK, INFO);
  <span class="keyword">delete</span> [] WORK;
  <span class="comment"></span>
<span class="comment">  //// forming ////</span>
<span class="comment"></span>  <span class="keywordflow">for</span>(<span class="keywordtype">long</span> <a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>=0; <a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>&lt;<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>; <a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>++){ <span class="keywordflow">for</span>(<span class="keywordtype">long</span> j=0; j&lt;<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>; j++){
    v[j](<a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>) = <a class="code" href="classdsymatrix.html#a7efa7c974733dc3111167a9ebb217e1f" title="1D array to store matrix data">array</a>[<a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>+n*j];
  }}
  
  <span class="keywordflow">if</span>(INFO!=0){
    WARNING_REPORT;
    std::cerr &lt;&lt; <span class="stringliteral">&quot;Serious trouble happend. INFO = &quot;</span> &lt;&lt; INFO &lt;&lt; <span class="stringliteral">&quot;.&quot;</span> &lt;&lt; std::endl;
  }
  <span class="keywordflow">return</span> INFO;
}
</pre></div>
</div>
</div>
<a class="anchor" id="a5ad9448a32ae2bc879344010be3001c8"></a><!-- doxytag: member="dsymatrix::dsygv" ref="a5ad9448a32ae2bc879344010be3001c8" args="(dsymatrix &amp;, std::vector&lt; double &gt; &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">long <a class="el" href="classdsymatrix.html#a5ad9448a32ae2bc879344010be3001c8">dsymatrix::dsygv</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classdsymatrix.html">dsymatrix</a> &amp;&#160;</td>
          <td class="paramname"><em>matB</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">std::vector&lt; double &gt; &amp;&#160;</td>
          <td class="paramname"><em>w</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>calculate generalized eigenvalues<br/>
 w is overwitten and become generalized eigenvalues. This matrix and matB are also overwritten. </p>

<p>Definition at line <a class="el" href="dsymatrix-lapack_8hpp_source.html#l00181">181</a> of file <a class="el" href="dsymatrix-lapack_8hpp_source.html">dsymatrix-lapack.hpp</a>.</p>

<p>References <a class="el" href="dsymatrix_8hpp_source.html#l00011">array</a>, and <a class="el" href="dsymatrix_8hpp_source.html#l00010">n</a>.</p>
<div class="fragment"><pre class="fragment">{VERBOSE_REPORT;
<span class="preprocessor">#ifdef  CPPL_DEBUG</span>
<span class="preprocessor"></span>  <span class="keywordflow">if</span>(matB.<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>!=<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>){
    ERROR_REPORT;
    std::cerr &lt;&lt; <span class="stringliteral">&quot;The matrix B is not a matrix having the same size as \&quot;this\&quot; matrix.&quot;</span> &lt;&lt; std::endl
              &lt;&lt; <span class="stringliteral">&quot;The B matrix is (&quot;</span> &lt;&lt; matB.<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a> &lt;&lt; <span class="stringliteral">&quot;x&quot;</span> &lt;&lt; matB.<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a> &lt;&lt; <span class="stringliteral">&quot;).&quot;</span> &lt;&lt; std::endl;
    exit(1);
  }
<span class="preprocessor">#endif//CPPL_DEBUG</span>
<span class="preprocessor"></span>  
  w.resize(<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>);
  <span class="keywordtype">char</span> JOBZ(<span class="charliteral">&#39;n&#39;</span>), UPLO(<span class="charliteral">&#39;l&#39;</span>);
  <span class="keywordtype">long</span> ITYPE(1), LDA(<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>), LDB(<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>), LWORK(-1), INFO(1);
  <span class="keywordtype">double</span> *WORK(<span class="keyword">new</span> <span class="keywordtype">double</span>[1]);
  dsygv_(ITYPE, JOBZ, UPLO, <a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>, <a class="code" href="classdsymatrix.html#a7efa7c974733dc3111167a9ebb217e1f" title="1D array to store matrix data">array</a>, LDA, matB.<a class="code" href="classdsymatrix.html#a7efa7c974733dc3111167a9ebb217e1f" title="1D array to store matrix data">array</a>, LDB, &amp;w[0],
         WORK, LWORK, INFO);
  INFO=1;
  LWORK = long(WORK[0]);
  <span class="keyword">delete</span> [] WORK;  WORK = <span class="keyword">new</span> <span class="keywordtype">double</span>[LWORK];
  dsygv_(ITYPE, JOBZ, UPLO, <a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>, <a class="code" href="classdsymatrix.html#a7efa7c974733dc3111167a9ebb217e1f" title="1D array to store matrix data">array</a>, LDA, matB.<a class="code" href="classdsymatrix.html#a7efa7c974733dc3111167a9ebb217e1f" title="1D array to store matrix data">array</a>, LDB, &amp;w[0],
         WORK, LWORK, INFO);
  <span class="keyword">delete</span> [] WORK;
  
  <span class="keywordflow">if</span>(INFO!=0){
    WARNING_REPORT;
    std::cerr &lt;&lt; <span class="stringliteral">&quot;Serious trouble happend. INFO = &quot;</span> &lt;&lt; INFO &lt;&lt; <span class="stringliteral">&quot;.&quot;</span> &lt;&lt; std::endl;
  }
  <span class="keywordflow">return</span> INFO;
}
</pre></div>
</div>
</div>
<a class="anchor" id="a0a0bb56f2fd1c9af4056df5cac3ba529"></a><!-- doxytag: member="dsymatrix::dsygv" ref="a0a0bb56f2fd1c9af4056df5cac3ba529" args="(dsymatrix &amp;, std::vector&lt; double &gt; &amp;, std::vector&lt; dcovector &gt; &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">long <a class="el" href="classdsymatrix.html#a5ad9448a32ae2bc879344010be3001c8">dsymatrix::dsygv</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classdsymatrix.html">dsymatrix</a> &amp;&#160;</td>
          <td class="paramname"><em>matB</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">std::vector&lt; double &gt; &amp;&#160;</td>
          <td class="paramname"><em>w</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">std::vector&lt; <a class="el" href="classdcovector.html">dcovector</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>v</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>calculate generalized eigenvalues<br/>
 w is overwitten and become generalized eigenvalues. This matrix and matB are also overwritten. </p>

<p>Definition at line <a class="el" href="dsymatrix-lapack_8hpp_source.html#l00217">217</a> of file <a class="el" href="dsymatrix-lapack_8hpp_source.html">dsymatrix-lapack.hpp</a>.</p>

<p>References <a class="el" href="dsymatrix_8hpp_source.html#l00011">array</a>, <a class="el" href="dsymatrix_8hpp_source.html#l00012">darray</a>, <a class="el" href="dsymatrix-calc_8hpp_source.html#l00016">i</a>, and <a class="el" href="dsymatrix_8hpp_source.html#l00010">n</a>.</p>
<div class="fragment"><pre class="fragment">{VERBOSE_REPORT;
<span class="preprocessor">#ifdef  CPPL_DEBUG</span>
<span class="preprocessor"></span>  <span class="keywordflow">if</span>(matB.<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>!=<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>){
    ERROR_REPORT;
    std::cerr &lt;&lt; <span class="stringliteral">&quot;The matrix B is not a matrix having the same size as \&quot;this\&quot; matrix.&quot;</span> &lt;&lt; std::endl
              &lt;&lt; <span class="stringliteral">&quot;The B matrix is (&quot;</span> &lt;&lt; matB.<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a> &lt;&lt; <span class="stringliteral">&quot;x&quot;</span> &lt;&lt; matB.<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a> &lt;&lt; <span class="stringliteral">&quot;).&quot;</span> &lt;&lt; std::endl;
    exit(1);
  }
<span class="preprocessor">#endif//CPPL_DEBUG</span>
<span class="preprocessor"></span>  
  w.resize(<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>);
  v.resize(<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>);
  <span class="keywordtype">char</span> JOBZ(<span class="charliteral">&#39;V&#39;</span>), UPLO(<span class="charliteral">&#39;l&#39;</span>);
  <span class="keywordtype">long</span> ITYPE(1), LDA(<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>), LDB(<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>), LWORK(-1), INFO(1);
  <span class="keywordtype">double</span> *WORK(<span class="keyword">new</span> <span class="keywordtype">double</span>[1]);
  dsygv_(ITYPE, JOBZ, UPLO, <a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>, <a class="code" href="classdsymatrix.html#a7efa7c974733dc3111167a9ebb217e1f" title="1D array to store matrix data">array</a>, LDA, matB.<a class="code" href="classdsymatrix.html#a7efa7c974733dc3111167a9ebb217e1f" title="1D array to store matrix data">array</a>, LDB, &amp;w[0],
         WORK, LWORK, INFO);
  INFO=1;
  LWORK = long(WORK[0]);
  std::cout &lt;&lt; <span class="stringliteral">&quot; LWORK = &quot;</span>  &lt;&lt; LWORK  &lt;&lt;std::endl;
  <span class="keyword">delete</span> [] WORK;  WORK = <span class="keyword">new</span> <span class="keywordtype">double</span>[LWORK];
  dsygv_(ITYPE, JOBZ, UPLO, <a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>, <a class="code" href="classdsymatrix.html#a7efa7c974733dc3111167a9ebb217e1f" title="1D array to store matrix data">array</a>, LDA, matB.<a class="code" href="classdsymatrix.html#a7efa7c974733dc3111167a9ebb217e1f" title="1D array to store matrix data">array</a>, LDB, &amp;w[0],
         WORK, LWORK, INFO);
  <span class="keyword">delete</span> [] WORK;
  <span class="comment"></span>
<span class="comment">  //// reforming ////</span>
<span class="comment"></span>  <span class="keywordflow">for</span>(<span class="keywordtype">int</span> <a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>=0; <a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>&lt;<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>; <a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>++){
    v[<a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>].resize(n);
    <span class="keywordflow">for</span>(<span class="keywordtype">int</span> j=0; j&lt;<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>; j++){
      v[<a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>](j) =<a class="code" href="classdsymatrix.html#a786e420fb2551cffb147af789197a681" title="array of pointers of column head addresses">darray</a>[<a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>][j];
    }
  }
  
  <span class="keywordflow">if</span>(INFO!=0){
    WARNING_REPORT;
    std::cerr &lt;&lt; <span class="stringliteral">&quot;Serious trouble happend. INFO = &quot;</span> &lt;&lt; INFO &lt;&lt; <span class="stringliteral">&quot;.&quot;</span> &lt;&lt; std::endl;
  }
  <span class="keywordflow">return</span> INFO;
}
</pre></div>
</div>
</div>
<a class="anchor" id="a78e8972052916e2172ab3b695553bf4f"></a><!-- doxytag: member="dsymatrix::operator=" ref="a78e8972052916e2172ab3b695553bf4f" args="(const dsymatrix &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classdsymatrix.html">dsymatrix</a> &amp; dsymatrix::operator= </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classdsymatrix.html">dsymatrix</a> &amp;&#160;</td>
          <td class="paramname"><em>mat</em></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>dsymatrix=dsymatrix operator </p>

<p>Definition at line <a class="el" href="dsymatrix-dsymatrix_8hpp_source.html#l00003">3</a> of file <a class="el" href="dsymatrix-dsymatrix_8hpp_source.html">dsymatrix-dsymatrix.hpp</a>.</p>

<p>References <a class="el" href="dsymatrix_8hpp_source.html#l00011">array</a>, and <a class="el" href="dsymatrix-misc_8hpp_source.html#l00051">copy()</a>.</p>
<div class="fragment"><pre class="fragment">{VERBOSE_REPORT;
  <span class="keywordflow">if</span>(<a class="code" href="classdsymatrix.html#a7efa7c974733dc3111167a9ebb217e1f" title="1D array to store matrix data">array</a>!=mat.<a class="code" href="classdsymatrix.html#a7efa7c974733dc3111167a9ebb217e1f" title="1D array to store matrix data">array</a>){ <span class="comment">// if it is NOT self substitution</span>
    <a class="code" href="classdsymatrix.html#ab4efab676db40bf3aa2c20d682d0067f">copy</a>(mat);
  }
  <span class="keywordflow">return</span> *<span class="keyword">this</span>;
}
</pre></div>
</div>
</div>
<a class="anchor" id="a2ec8da83c7f0f72026b72e28f0de03db"></a><!-- doxytag: member="dsymatrix::operator=" ref="a2ec8da83c7f0f72026b72e28f0de03db" args="(const _dsymatrix &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classdsymatrix.html">dsymatrix</a> &amp; dsymatrix::operator= </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="class__dsymatrix.html">_dsymatrix</a> &amp;&#160;</td>
          <td class="paramname"><em>mat</em></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>dsymatrix=<a class="el" href="class__dsymatrix.html" title="(DO NOT USE) Smart-temporary Real Double-precision Symmetric Matrix Class">_dsymatrix</a> operator </p>

<p>Definition at line <a class="el" href="dsymatrix-__dsymatrix_8hpp_source.html#l00003">3</a> of file <a class="el" href="dsymatrix-__dsymatrix_8hpp_source.html">dsymatrix-_dsymatrix.hpp</a>.</p>

<p>References <a class="el" href="dsymatrix-misc_8hpp_source.html#l00066">shallow_copy()</a>.</p>
<div class="fragment"><pre class="fragment">{VERBOSE_REPORT;
  <a class="code" href="classdsymatrix.html#a0afa7dbdf0dfb3b841ac3997bc470bbd">shallow_copy</a>(mat);
  <span class="keywordflow">return</span> *<span class="keyword">this</span>;
}
</pre></div>
</div>
</div>
<a class="anchor" id="af6b95fe5dcc2d468787fce073d6d9253"></a><!-- doxytag: member="dsymatrix::operator+=" ref="af6b95fe5dcc2d468787fce073d6d9253" args="(const dsymatrix &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classdsymatrix.html">dsymatrix</a> &amp; dsymatrix::operator+= </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classdsymatrix.html">dsymatrix</a> &amp;&#160;</td>
          <td class="paramname"><em>mat</em></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>dsymatrix+=dsymatrix operator </p>

<p>Definition at line <a class="el" href="dsymatrix-dsymatrix_8hpp_source.html#l00017">17</a> of file <a class="el" href="dsymatrix-dsymatrix_8hpp_source.html">dsymatrix-dsymatrix.hpp</a>.</p>

<p>References <a class="el" href="dsymatrix_8hpp_source.html#l00012">darray</a>, <a class="el" href="dsymatrix-calc_8hpp_source.html#l00016">i</a>, and <a class="el" href="dsymatrix_8hpp_source.html#l00010">n</a>.</p>
<div class="fragment"><pre class="fragment">{VERBOSE_REPORT;
<span class="preprocessor">#ifdef  CPPL_DEBUG</span>
<span class="preprocessor"></span>  <span class="keywordflow">if</span>(<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>!=mat.<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>){
    ERROR_REPORT;
    std::cerr &lt;&lt; <span class="stringliteral">&quot;These two matrises can not make a summation.&quot;</span> &lt;&lt; std::endl
              &lt;&lt; <span class="stringliteral">&quot;Your input was (&quot;</span> &lt;&lt; <a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a> &lt;&lt; <span class="stringliteral">&quot;x&quot;</span> &lt;&lt; <a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a> &lt;&lt; <span class="stringliteral">&quot;) += (&quot;</span> &lt;&lt; mat.<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a> &lt;&lt; <span class="stringliteral">&quot;x&quot;</span> &lt;&lt; mat.<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a> &lt;&lt; <span class="stringliteral">&quot;).&quot;</span> &lt;&lt; std::endl;
    exit(1);
  }
<span class="preprocessor">#endif//CPPL_DEBUG</span>
<span class="preprocessor"></span>  
  <span class="keywordflow">for</span>(<span class="keywordtype">long</span> <a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>=0; <a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>&lt;<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>; <a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>++){
    <span class="keywordflow">for</span>(<span class="keywordtype">long</span> j=0; j&lt;=<a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>; j++){
      <a class="code" href="classdsymatrix.html#a786e420fb2551cffb147af789197a681" title="array of pointers of column head addresses">darray</a>[j][<a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>] +=mat.<a class="code" href="classdsymatrix.html#a786e420fb2551cffb147af789197a681" title="array of pointers of column head addresses">darray</a>[j][<a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>];
    }
  }
  
  <span class="keywordflow">return</span> *<span class="keyword">this</span>;
}
</pre></div>
</div>
</div>
<a class="anchor" id="a55695c46f5e47f6a2c53641abf026564"></a><!-- doxytag: member="dsymatrix::operator+=" ref="a55695c46f5e47f6a2c53641abf026564" args="(const _dsymatrix &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classdsymatrix.html">dsymatrix</a> &amp; dsymatrix::operator+= </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="class__dsymatrix.html">_dsymatrix</a> &amp;&#160;</td>
          <td class="paramname"><em>mat</em></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>dsymatrix+=<a class="el" href="class__dsymatrix.html" title="(DO NOT USE) Smart-temporary Real Double-precision Symmetric Matrix Class">_dsymatrix</a> operator </p>

<p>Definition at line <a class="el" href="dsymatrix-__dsymatrix_8hpp_source.html#l00015">15</a> of file <a class="el" href="dsymatrix-__dsymatrix_8hpp_source.html">dsymatrix-_dsymatrix.hpp</a>.</p>

<p>References <a class="el" href="dsymatrix_8hpp_source.html#l00012">darray</a>, <a class="el" href="__dsymatrix_8hpp_source.html#l00012">_dsymatrix::darray</a>, <a class="el" href="__dsymatrix-misc_8hpp_source.html#l00012">_dsymatrix::destroy()</a>, <a class="el" href="dsymatrix-calc_8hpp_source.html#l00016">i</a>, <a class="el" href="dsymatrix_8hpp_source.html#l00010">n</a>, and <a class="el" href="__dsymatrix_8hpp_source.html#l00010">_dsymatrix::n</a>.</p>
<div class="fragment"><pre class="fragment">{VERBOSE_REPORT;
<span class="preprocessor">#ifdef  CPPL_DEBUG</span>
<span class="preprocessor"></span>  <span class="keywordflow">if</span>(<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>!=mat.<a class="code" href="class__dsymatrix.html#a8b56cdf252a15da3e211b558abd46c1b" title="matrix column size">n</a>){
    ERROR_REPORT;
    std::cerr &lt;&lt; <span class="stringliteral">&quot;These two matrises can not make a summation.&quot;</span> &lt;&lt; std::endl
              &lt;&lt; <span class="stringliteral">&quot;Your input was (&quot;</span> &lt;&lt; <a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a> &lt;&lt; <span class="stringliteral">&quot;x&quot;</span> &lt;&lt; <a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a> &lt;&lt; <span class="stringliteral">&quot;) += (&quot;</span> &lt;&lt; mat.<a class="code" href="class__dsymatrix.html#a8b56cdf252a15da3e211b558abd46c1b" title="matrix column size">n</a> &lt;&lt; <span class="stringliteral">&quot;x&quot;</span> &lt;&lt; mat.<a class="code" href="class__dsymatrix.html#a8b56cdf252a15da3e211b558abd46c1b" title="matrix column size">n</a> &lt;&lt; <span class="stringliteral">&quot;).&quot;</span> &lt;&lt; std::endl;
    exit(1);
  }
<span class="preprocessor">#endif//CPPL_DEBUG</span>
<span class="preprocessor"></span>  
  <span class="keywordflow">for</span>(<span class="keywordtype">long</span> <a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>=0; <a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>&lt;<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>; <a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>++){
    <span class="keywordflow">for</span>(<span class="keywordtype">long</span> j=0; j&lt;=<a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>; j++){
      <a class="code" href="classdsymatrix.html#a786e420fb2551cffb147af789197a681" title="array of pointers of column head addresses">darray</a>[j][<a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>] +=mat.<a class="code" href="class__dsymatrix.html#a9db2d341c99952e75adb7e183450c3dc" title="array of pointers of column head addresses">darray</a>[j][<a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>];
    }
  }
  
  mat.<a class="code" href="class__dsymatrix.html#a09e5b4ca8579bef58e01e80c22e799b1">destroy</a>();
  <span class="keywordflow">return</span> *<span class="keyword">this</span>;
}
</pre></div>
</div>
</div>
<a class="anchor" id="a4a69199e564b55ac3cfed47c8cf18d9c"></a><!-- doxytag: member="dsymatrix::operator&#45;=" ref="a4a69199e564b55ac3cfed47c8cf18d9c" args="(const dsymatrix &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classdsymatrix.html">dsymatrix</a> &amp; dsymatrix::operator-= </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classdsymatrix.html">dsymatrix</a> &amp;&#160;</td>
          <td class="paramname"><em>mat</em></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>dsymatrix operator-= </p>

<p>Definition at line <a class="el" href="dsymatrix-dsymatrix_8hpp_source.html#l00039">39</a> of file <a class="el" href="dsymatrix-dsymatrix_8hpp_source.html">dsymatrix-dsymatrix.hpp</a>.</p>

<p>References <a class="el" href="dsymatrix_8hpp_source.html#l00012">darray</a>, <a class="el" href="dsymatrix-calc_8hpp_source.html#l00016">i</a>, and <a class="el" href="dsymatrix_8hpp_source.html#l00010">n</a>.</p>
<div class="fragment"><pre class="fragment">{VERBOSE_REPORT;
<span class="preprocessor">#ifdef  CPPL_DEBUG</span>
<span class="preprocessor"></span>  <span class="keywordflow">if</span>(<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>!=mat.<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>){
    ERROR_REPORT;
    std::cerr &lt;&lt; <span class="stringliteral">&quot;These two matrises can not make a sutraction.&quot;</span> &lt;&lt; std::endl
              &lt;&lt; <span class="stringliteral">&quot;Your input was (&quot;</span> &lt;&lt; <a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a> &lt;&lt; <span class="stringliteral">&quot;x&quot;</span> &lt;&lt; <a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a> &lt;&lt; <span class="stringliteral">&quot;) -= (&quot;</span> &lt;&lt; mat.<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a> &lt;&lt; <span class="stringliteral">&quot;x&quot;</span> &lt;&lt; mat.<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a> &lt;&lt; <span class="stringliteral">&quot;).&quot;</span> &lt;&lt; std::endl;
    exit(1);
  }
<span class="preprocessor">#endif//CPPL_DEBUG</span>
<span class="preprocessor"></span>  
  <span class="keywordflow">for</span>(<span class="keywordtype">long</span> <a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>=0; <a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>&lt;<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>; <a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>++){
    <span class="keywordflow">for</span>(<span class="keywordtype">long</span> j=0; j&lt;=<a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>; j++){
      <a class="code" href="classdsymatrix.html#a786e420fb2551cffb147af789197a681" title="array of pointers of column head addresses">darray</a>[j][<a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>] -=mat.<a class="code" href="classdsymatrix.html#a786e420fb2551cffb147af789197a681" title="array of pointers of column head addresses">darray</a>[j][<a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>];
    }
  }
  
  <span class="keywordflow">return</span> *<span class="keyword">this</span>;
}
</pre></div>
</div>
</div>
<a class="anchor" id="aa68abf16eb15e4f649d231024d9b07e1"></a><!-- doxytag: member="dsymatrix::operator&#45;=" ref="aa68abf16eb15e4f649d231024d9b07e1" args="(const _dsymatrix &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classdsymatrix.html">dsymatrix</a> &amp; dsymatrix::operator-= </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="class__dsymatrix.html">_dsymatrix</a> &amp;&#160;</td>
          <td class="paramname"><em>mat</em></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>dsymatrix-=<a class="el" href="class__dsymatrix.html" title="(DO NOT USE) Smart-temporary Real Double-precision Symmetric Matrix Class">_dsymatrix</a> operator </p>

<p>Definition at line <a class="el" href="dsymatrix-__dsymatrix_8hpp_source.html#l00038">38</a> of file <a class="el" href="dsymatrix-__dsymatrix_8hpp_source.html">dsymatrix-_dsymatrix.hpp</a>.</p>

<p>References <a class="el" href="dsymatrix_8hpp_source.html#l00012">darray</a>, <a class="el" href="__dsymatrix_8hpp_source.html#l00012">_dsymatrix::darray</a>, <a class="el" href="__dsymatrix-misc_8hpp_source.html#l00012">_dsymatrix::destroy()</a>, <a class="el" href="dsymatrix-calc_8hpp_source.html#l00016">i</a>, <a class="el" href="dsymatrix_8hpp_source.html#l00010">n</a>, and <a class="el" href="__dsymatrix_8hpp_source.html#l00010">_dsymatrix::n</a>.</p>
<div class="fragment"><pre class="fragment">{VERBOSE_REPORT;
<span class="preprocessor">#ifdef  CPPL_DEBUG</span>
<span class="preprocessor"></span>  <span class="keywordflow">if</span>(<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>!=mat.<a class="code" href="class__dsymatrix.html#a8b56cdf252a15da3e211b558abd46c1b" title="matrix column size">n</a>){
    ERROR_REPORT;
    std::cerr &lt;&lt; <span class="stringliteral">&quot;These two matrises can not make a sutraction.&quot;</span> &lt;&lt; std::endl
              &lt;&lt; <span class="stringliteral">&quot;Your input was (&quot;</span> &lt;&lt; <a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a> &lt;&lt; <span class="stringliteral">&quot;x&quot;</span> &lt;&lt; <a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a> &lt;&lt; <span class="stringliteral">&quot;) -= (&quot;</span> &lt;&lt; mat.<a class="code" href="class__dsymatrix.html#a8b56cdf252a15da3e211b558abd46c1b" title="matrix column size">n</a> &lt;&lt; <span class="stringliteral">&quot;x&quot;</span> &lt;&lt; mat.<a class="code" href="class__dsymatrix.html#a8b56cdf252a15da3e211b558abd46c1b" title="matrix column size">n</a> &lt;&lt; <span class="stringliteral">&quot;).&quot;</span> &lt;&lt; std::endl;
    exit(1);
  }
<span class="preprocessor">#endif//CPPL_DEBUG</span>
<span class="preprocessor"></span>  
  <span class="keywordflow">for</span>(<span class="keywordtype">long</span> <a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>=0; <a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>&lt;<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>; <a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>++){
    <span class="keywordflow">for</span>(<span class="keywordtype">long</span> j=0; j&lt;=<a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>; j++){
      <a class="code" href="classdsymatrix.html#a786e420fb2551cffb147af789197a681" title="array of pointers of column head addresses">darray</a>[j][<a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>] -=mat.<a class="code" href="class__dsymatrix.html#a9db2d341c99952e75adb7e183450c3dc" title="array of pointers of column head addresses">darray</a>[j][<a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>];
    }
  }
  
  mat.<a class="code" href="class__dsymatrix.html#a09e5b4ca8579bef58e01e80c22e799b1">destroy</a>();
  <span class="keywordflow">return</span> *<span class="keyword">this</span>;
}
</pre></div>
</div>
</div>
<a class="anchor" id="af43cd7a5ebb3c2a5cd76146e850eeda3"></a><!-- doxytag: member="dsymatrix::operator*=" ref="af43cd7a5ebb3c2a5cd76146e850eeda3" args="(const dsymatrix &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classdsymatrix.html">dsymatrix</a>&amp; dsymatrix::operator*= </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classdsymatrix.html">dsymatrix</a> &amp;&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="afe4a2a3d4e5338c87455383d7eeb21df"></a><!-- doxytag: member="dsymatrix::operator*=" ref="afe4a2a3d4e5338c87455383d7eeb21df" args="(const _dsymatrix &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classdsymatrix.html">dsymatrix</a>&amp; dsymatrix::operator*= </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="class__dsymatrix.html">_dsymatrix</a> &amp;&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a624dba2a609c0d27f9819556cfad1975"></a><!-- doxytag: member="dsymatrix::operator*=" ref="a624dba2a609c0d27f9819556cfad1975" args="(const double &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classdsymatrix.html">dsymatrix</a> &amp; dsymatrix::operator*= </td>
          <td>(</td>
          <td class="paramtype">const double &amp;&#160;</td>
          <td class="paramname"><em>d</em></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>dsymatrix*=double operator </p>

<p>Definition at line <a class="el" href="dsymatrix-double_8hpp_source.html#l00003">3</a> of file <a class="el" href="dsymatrix-double_8hpp_source.html">dsymatrix-double.hpp</a>.</p>

<p>References <a class="el" href="dsymatrix_8hpp_source.html#l00012">darray</a>, <a class="el" href="dsymatrix-calc_8hpp_source.html#l00016">i</a>, and <a class="el" href="dsymatrix_8hpp_source.html#l00010">n</a>.</p>
<div class="fragment"><pre class="fragment">{VERBOSE_REPORT;
  <span class="keywordflow">for</span>(<span class="keywordtype">long</span> <a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>=0; <a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>&lt;<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>; <a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>++){
    <span class="keywordflow">for</span>(<span class="keywordtype">long</span> j=0; j&lt;=<a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>; j++){
      <a class="code" href="classdsymatrix.html#a786e420fb2551cffb147af789197a681" title="array of pointers of column head addresses">darray</a>[j][<a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>] *=d;
    }
  }
  
  <span class="keywordflow">return</span> *<span class="keyword">this</span>;
}
</pre></div>
</div>
</div>
<a class="anchor" id="aaffdd20d97769091831086530f1a72a4"></a><!-- doxytag: member="dsymatrix::operator/=" ref="aaffdd20d97769091831086530f1a72a4" args="(const double &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classdsymatrix.html">dsymatrix</a> &amp; dsymatrix::operator/= </td>
          <td>(</td>
          <td class="paramtype">const double &amp;&#160;</td>
          <td class="paramname"><em>d</em></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>dsymatrix/=double operator </p>

<p>Definition at line <a class="el" href="dsymatrix-double_8hpp_source.html#l00016">16</a> of file <a class="el" href="dsymatrix-double_8hpp_source.html">dsymatrix-double.hpp</a>.</p>

<p>References <a class="el" href="dsymatrix_8hpp_source.html#l00012">darray</a>, <a class="el" href="dsymatrix-calc_8hpp_source.html#l00016">i</a>, and <a class="el" href="dsymatrix_8hpp_source.html#l00010">n</a>.</p>
<div class="fragment"><pre class="fragment">{VERBOSE_REPORT;
  <span class="keywordflow">for</span>(<span class="keywordtype">long</span> <a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>=0; <a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>&lt;<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>; <a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>++){
    <span class="keywordflow">for</span>(<span class="keywordtype">long</span> j=0; j&lt;=<a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>; j++){
      <a class="code" href="classdsymatrix.html#a786e420fb2551cffb147af789197a681" title="array of pointers of column head addresses">darray</a>[j][<a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>] /=d;
    }
  }
  <span class="keywordflow">return</span> *<span class="keyword">this</span>;
}
</pre></div>
</div>
</div>
<hr/><h2>Friends And Related Function Documentation</h2>
<a class="anchor" id="a077ea0a074855b18f11abcd19a77ed96"></a><!-- doxytag: member="dsymatrix::operator&lt;&lt;" ref="a077ea0a074855b18f11abcd19a77ed96" args="(std::ostream &amp;, const dsymatrix &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">std::ostream&amp; operator&lt;&lt; </td>
          <td>(</td>
          <td class="paramtype">std::ostream &amp;&#160;</td>
          <td class="paramname"><em>s</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classdsymatrix.html">dsymatrix</a> &amp;&#160;</td>
          <td class="paramname"><em>mat</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [friend]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="dsymatrix-io_8hpp_source.html#l00077">77</a> of file <a class="el" href="dsymatrix-io_8hpp_source.html">dsymatrix-io.hpp</a>.</p>
<div class="fragment"><pre class="fragment">{VERBOSE_REPORT;
  <span class="keywordflow">for</span>(<span class="keywordtype">long</span> <a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>=0; <a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>&lt;mat.<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>; <a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>++){
    <span class="keywordflow">for</span>(<span class="keywordtype">long</span> j=0; j&lt;=<a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>; j++){
      s &lt;&lt; <span class="stringliteral">&quot; &quot;</span> &lt;&lt; mat(<a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>,j) &lt;&lt; <span class="stringliteral">&quot; &quot;</span>;
    }
    <span class="keywordflow">for</span>(<span class="keywordtype">long</span> j=<a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>+1; j&lt;mat.<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>; j++){
      s &lt;&lt; <span class="stringliteral">&quot;{&quot;</span> &lt;&lt; mat(<a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>,j) &lt;&lt; <span class="stringliteral">&quot;}&quot;</span>;
    }
    s &lt;&lt; std::endl;
  }
  <span class="keywordflow">return</span> s;
}
</pre></div>
</div>
</div>
<a class="anchor" id="a811499c813d9c42fbe50674133fb5a20"></a><!-- doxytag: member="dsymatrix::swap" ref="a811499c813d9c42fbe50674133fb5a20" args="(dsymatrix &amp;, dsymatrix &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classdsymatrix.html#a811499c813d9c42fbe50674133fb5a20">swap</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classdsymatrix.html">dsymatrix</a> &amp;&#160;</td>
          <td class="paramname"><em>A</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classdsymatrix.html">dsymatrix</a> &amp;&#160;</td>
          <td class="paramname"><em>B</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [friend]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>swap two matrices </p>

<p>Definition at line <a class="el" href="dsymatrix-misc_8hpp_source.html#l00146">146</a> of file <a class="el" href="dsymatrix-misc_8hpp_source.html">dsymatrix-misc.hpp</a>.</p>
<div class="fragment"><pre class="fragment">{VERBOSE_REPORT;
  <span class="keywordtype">long</span> A_n(A.<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>);
  <span class="keywordtype">double</span>* A_array(A.<a class="code" href="classdsymatrix.html#a7efa7c974733dc3111167a9ebb217e1f" title="1D array to store matrix data">array</a>);
  <span class="comment">//double** A_darray(A.darray);</span>
  <span class="keywordtype">double</span>** A_darray=A.<a class="code" href="classdsymatrix.html#a786e420fb2551cffb147af789197a681" title="array of pointers of column head addresses">darray</a>; <span class="comment">//corruption to support VC++</span>
  A.<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>=B.<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>; A.<a class="code" href="classdsymatrix.html#a7efa7c974733dc3111167a9ebb217e1f" title="1D array to store matrix data">array</a>=B.<a class="code" href="classdsymatrix.html#a7efa7c974733dc3111167a9ebb217e1f" title="1D array to store matrix data">array</a>; A.<a class="code" href="classdsymatrix.html#a786e420fb2551cffb147af789197a681" title="array of pointers of column head addresses">darray</a>=B.<a class="code" href="classdsymatrix.html#a786e420fb2551cffb147af789197a681" title="array of pointers of column head addresses">darray</a>;
  B.<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>=A_n; B.<a class="code" href="classdsymatrix.html#a7efa7c974733dc3111167a9ebb217e1f" title="1D array to store matrix data">array</a>=A_array; B.<a class="code" href="classdsymatrix.html#a786e420fb2551cffb147af789197a681" title="array of pointers of column head addresses">darray</a>=A_darray;
}
</pre></div>
</div>
</div>
<a class="anchor" id="ae4cebf6255f4d5741776b93934a1f540"></a><!-- doxytag: member="dsymatrix::_" ref="ae4cebf6255f4d5741776b93934a1f540" args="(dsymatrix &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class__dsymatrix.html">_dsymatrix</a> <a class="el" href="classdsymatrix.html#ae4cebf6255f4d5741776b93934a1f540">_</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classdsymatrix.html">dsymatrix</a> &amp;&#160;</td>
          <td class="paramname"><em>mat</em></td><td>)</td>
          <td><code> [friend]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>convert user object to smart-temporary object </p>

<p>Definition at line <a class="el" href="dsymatrix-misc_8hpp_source.html#l00158">158</a> of file <a class="el" href="dsymatrix-misc_8hpp_source.html">dsymatrix-misc.hpp</a>.</p>

<p>Referenced by <a class="el" href="dsymatrix-misc_8hpp_source.html#l00124">col()</a>, <a class="el" href="dsymatrix-misc_8hpp_source.html#l00106">row()</a>, <a class="el" href="dsymatrix-cast_8hpp_source.html#l00021">to_dgematrix()</a>, <a class="el" href="dsymatrix-cast_8hpp_source.html#l00035">to_dssmatrix()</a>, and <a class="el" href="dsymatrix-cast_8hpp_source.html#l00003">to_zhematrix()</a>.</p>
<div class="fragment"><pre class="fragment">{VERBOSE_REPORT;
  <a class="code" href="class__dsymatrix.html" title="(DO NOT USE) Smart-temporary Real Double-precision Symmetric Matrix Class">_dsymatrix</a> newmat;
<span class="comment"></span>
<span class="comment">  //////// shallow copy ////////</span>
<span class="comment"></span>  newmat.<a class="code" href="class__dsymatrix.html#a8b56cdf252a15da3e211b558abd46c1b" title="matrix column size">n</a> =mat.<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>;
  newmat.<a class="code" href="class__dsymatrix.html#a656ab414ee51638aedc9bf4960fe428a" title="1D array to store matrix data">array</a> =mat.<a class="code" href="classdsymatrix.html#a7efa7c974733dc3111167a9ebb217e1f" title="1D array to store matrix data">array</a>;
  newmat.<a class="code" href="class__dsymatrix.html#a9db2d341c99952e75adb7e183450c3dc" title="array of pointers of column head addresses">darray</a> =mat.<a class="code" href="classdsymatrix.html#a786e420fb2551cffb147af789197a681" title="array of pointers of column head addresses">darray</a>;
  <span class="comment"></span>
<span class="comment">  //////// nullify ////////</span>
<span class="comment"></span>  mat.<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a> =0;
  mat.<a class="code" href="classdsymatrix.html#a7efa7c974733dc3111167a9ebb217e1f" title="1D array to store matrix data">array</a> =NULL;
  mat.<a class="code" href="classdsymatrix.html#a786e420fb2551cffb147af789197a681" title="array of pointers of column head addresses">darray</a> =NULL;
  
  <span class="keywordflow">return</span> newmat;
}
</pre></div>
</div>
</div>
<a class="anchor" id="a007e0bd0c70badbb428c2e3dd1ed8728"></a><!-- doxytag: member="dsymatrix::t" ref="a007e0bd0c70badbb428c2e3dd1ed8728" args="(const dsymatrix &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class__dsymatrix.html">_dsymatrix</a> <a class="el" href="classdsymatrix.html#a007e0bd0c70badbb428c2e3dd1ed8728">t</a> </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classdsymatrix.html">dsymatrix</a> &amp;&#160;</td>
          <td class="paramname"><em>mat</em></td><td>)</td>
          <td><code> [friend]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>return transposed dgematrix </p>

<p>Definition at line <a class="el" href="dsymatrix-calc_8hpp_source.html#l00003">3</a> of file <a class="el" href="dsymatrix-calc_8hpp_source.html">dsymatrix-calc.hpp</a>.</p>
<div class="fragment"><pre class="fragment">{VERBOSE_REPORT;
<span class="preprocessor">#ifdef  CPPL_DEBUG</span>
<span class="preprocessor"></span>  WARNING_REPORT;
  std::cerr &lt;&lt; <span class="stringliteral">&quot;This function call has no effect since the matrix is symmetric.&quot;</span> &lt;&lt; std::endl;
<span class="preprocessor">#endif//CPPL_DEBUG</span>
<span class="preprocessor"></span>  
  <a class="code" href="classdsymatrix.html" title="Real Double-precision Symmetric Matrix Class [l-type (UPLO=l) Strage].">dsymatrix</a> newmat(mat);
  <span class="keywordflow">return</span> <a class="code" href="classdsymatrix.html#ae4cebf6255f4d5741776b93934a1f540">_</a>(newmat);
}
</pre></div>
</div>
</div>
<a class="anchor" id="ad24c5d65a7dfb9c4c8232e7864a7963d"></a><!-- doxytag: member="dsymatrix::i" ref="ad24c5d65a7dfb9c4c8232e7864a7963d" args="(const dsymatrix &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class__dsymatrix.html">_dsymatrix</a> <a class="el" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a> </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classdsymatrix.html">dsymatrix</a> &amp;&#160;</td>
          <td class="paramname"><em>mat</em></td><td>)</td>
          <td><code> [friend]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>return its inverse matrix </p>

<p>Definition at line <a class="el" href="dsymatrix-calc_8hpp_source.html#l00016">16</a> of file <a class="el" href="dsymatrix-calc_8hpp_source.html">dsymatrix-calc.hpp</a>.</p>

<p>Referenced by <a class="el" href="dsymatrix-misc_8hpp_source.html#l00044">chsign()</a>, <a class="el" href="dsymatrix-misc_8hpp_source.html#l00124">col()</a>, <a class="el" href="dsymatrix-misc_8hpp_source.html#l00003">complete()</a>, <a class="el" href="dsymatrix-misc_8hpp_source.html#l00051">copy()</a>, <a class="el" href="dsymatrix-lapack_8hpp_source.html#l00111">dsyev()</a>, <a class="el" href="dsymatrix-lapack_8hpp_source.html#l00217">dsygv()</a>, <a class="el" href="dsymatrix-constructor_8hpp_source.html#l00014">dsymatrix()</a>, <a class="el" href="dsymatrix-misc_8hpp_source.html#l00035">identity()</a>, <a class="el" href="dsymatrix-io_8hpp_source.html#l00003">operator()()</a>, <a class="el" href="dsymatrix-double_8hpp_source.html#l00003">operator*=()</a>, <a class="el" href="dsymatrix-__dsymatrix_8hpp_source.html#l00015">operator+=()</a>, <a class="el" href="dsymatrix-__dsymatrix_8hpp_source.html#l00038">operator-=()</a>, <a class="el" href="dsymatrix-double_8hpp_source.html#l00016">operator/=()</a>, <a class="el" href="dsymatrix-io_8hpp_source.html#l00116">read()</a>, <a class="el" href="dsymatrix-misc_8hpp_source.html#l00079">resize()</a>, <a class="el" href="dsymatrix-io_8hpp_source.html#l00051">set()</a>, <a class="el" href="dsymatrix-cast_8hpp_source.html#l00021">to_dgematrix()</a>, <a class="el" href="dsymatrix-cast_8hpp_source.html#l00035">to_dssmatrix()</a>, <a class="el" href="dsymatrix-cast_8hpp_source.html#l00003">to_zhematrix()</a>, <a class="el" href="dsymatrix-io_8hpp_source.html#l00096">write()</a>, and <a class="el" href="dsymatrix-misc_8hpp_source.html#l00025">zero()</a>.</p>
<div class="fragment"><pre class="fragment">{VERBOSE_REPORT;
  <a class="code" href="classdsymatrix.html" title="Real Double-precision Symmetric Matrix Class [l-type (UPLO=l) Strage].">dsymatrix</a> mat_cp(mat);
  <a class="code" href="classdsymatrix.html" title="Real Double-precision Symmetric Matrix Class [l-type (UPLO=l) Strage].">dsymatrix</a> mat_inv(mat.<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>);
  mat_inv.identity();
  
  <span class="keywordtype">char</span> UPLO(<span class="charliteral">&#39;l&#39;</span>);
  <span class="keywordtype">long</span> NRHS(mat.<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>), LDA(mat.<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>), *IPIV(<span class="keyword">new</span> <span class="keywordtype">long</span>[mat.<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>]), LDB(mat.<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>), LWORK(-1), INFO(1);
  <span class="keywordtype">double</span> *WORK( <span class="keyword">new</span> <span class="keywordtype">double</span>[1] );
  dsysv_(UPLO, mat.<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>, NRHS, mat_cp.array, LDA, IPIV, mat_inv.array, LDB, WORK, LWORK, INFO);
  LWORK = long(WORK[0]);
  <span class="keyword">delete</span> [] WORK;  WORK = <span class="keyword">new</span> <span class="keywordtype">double</span>[LWORK];
  dsysv_(UPLO, mat.<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>, NRHS, mat_cp.array, LDA, IPIV, mat_inv.array, LDB, WORK, LWORK, INFO);
  <span class="keyword">delete</span> [] WORK; <span class="keyword">delete</span> [] IPIV;
  <span class="keywordflow">if</span>(INFO!=0){
    WARNING_REPORT;
    std::cerr &lt;&lt; <span class="stringliteral">&quot;Serious trouble happend. INFO = &quot;</span> &lt;&lt; INFO &lt;&lt; <span class="stringliteral">&quot;.&quot;</span> &lt;&lt; std::endl;
  }
  
  <span class="keywordflow">return</span> <a class="code" href="classdsymatrix.html#ae4cebf6255f4d5741776b93934a1f540">_</a>(mat_inv);
}
</pre></div>
</div>
</div>
<a class="anchor" id="a9a5e49c5451092e6d1996b9b1b45b874"></a><!-- doxytag: member="dsymatrix::idamax" ref="a9a5e49c5451092e6d1996b9b1b45b874" args="(long &amp;, long &amp;, const dsymatrix &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classdsymatrix.html#a9a5e49c5451092e6d1996b9b1b45b874">idamax</a> </td>
          <td>(</td>
          <td class="paramtype">long &amp;&#160;</td>
          <td class="paramname"><em>i</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">long &amp;&#160;</td>
          <td class="paramname"><em>j</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classdsymatrix.html">dsymatrix</a> &amp;&#160;</td>
          <td class="paramname"><em>mat</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [friend]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>search the index of element having the largest absolute value in 0-based numbering system </p>

<p>Definition at line <a class="el" href="dsymatrix-calc_8hpp_source.html#l00046">46</a> of file <a class="el" href="dsymatrix-calc_8hpp_source.html">dsymatrix-calc.hpp</a>.</p>
<div class="fragment"><pre class="fragment">{VERBOSE_REPORT;
  <a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>=j=0;
  <span class="keywordtype">double</span> val(0.);
  <span class="keywordflow">for</span>(<span class="keywordtype">long</span> J=0; J&lt;mat.<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>; J++){
    <span class="keywordtype">long</span> I( J +idamax_(mat.<a class="code" href="classdsymatrix.html#a955f345240dab42d931f4c8700dc43d5" title="matrix row size">m</a>-J, mat.<a class="code" href="classdsymatrix.html#a786e420fb2551cffb147af789197a681" title="array of pointers of column head addresses">darray</a>[J]+J, 1) -1 );
    <span class="keywordflow">if</span>( val&lt;fabs(mat.<a class="code" href="classdsymatrix.html#a786e420fb2551cffb147af789197a681" title="array of pointers of column head addresses">darray</a>[J][I]) ){
      val =fabs(mat.<a class="code" href="classdsymatrix.html#a786e420fb2551cffb147af789197a681" title="array of pointers of column head addresses">darray</a>[J][I]);
      <a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>=I;
      j=J;
    }
  }
}
</pre></div>
</div>
</div>
<a class="anchor" id="ab7854e81178f44951706a990116d27af"></a><!-- doxytag: member="dsymatrix::damax" ref="ab7854e81178f44951706a990116d27af" args="(const dsymatrix &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">double <a class="el" href="classdsymatrix.html#ab7854e81178f44951706a990116d27af">damax</a> </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classdsymatrix.html">dsymatrix</a> &amp;&#160;</td>
          <td class="paramname"><em>mat</em></td><td>)</td>
          <td><code> [friend]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>return its largest absolute value </p>

<p>Definition at line <a class="el" href="dsymatrix-calc_8hpp_source.html#l00062">62</a> of file <a class="el" href="dsymatrix-calc_8hpp_source.html">dsymatrix-calc.hpp</a>.</p>
<div class="fragment"><pre class="fragment">{VERBOSE_REPORT;
  <span class="keywordtype">long</span> <a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>,j;
  <a class="code" href="classdsymatrix.html#a9a5e49c5451092e6d1996b9b1b45b874">idamax</a>(i, j, mat);
  <span class="keywordflow">return</span> mat(i,j);
}
</pre></div>
</div>
</div>
<a class="anchor" id="a1772dd6d8212c58872fde05f3a6418ac"></a><!-- doxytag: member="dsymatrix::operator+" ref="a1772dd6d8212c58872fde05f3a6418ac" args="(const dsymatrix &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="classdsymatrix.html">dsymatrix</a>&amp; operator+ </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classdsymatrix.html">dsymatrix</a> &amp;&#160;</td>
          <td class="paramname"><em>mat</em></td><td>)</td>
          <td><code> [friend]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>+dsymatrix operator </p>

<p>Definition at line <a class="el" href="dsymatrix-unary_8hpp_source.html#l00003">3</a> of file <a class="el" href="dsymatrix-unary_8hpp_source.html">dsymatrix-unary.hpp</a>.</p>
<div class="fragment"><pre class="fragment">{VERBOSE_REPORT;
  <span class="keywordflow">return</span> mat;
}
</pre></div>
</div>
</div>
<a class="anchor" id="a2b758f0a103ff3ba263f9af739bd29bb"></a><!-- doxytag: member="dsymatrix::operator&#45;" ref="a2b758f0a103ff3ba263f9af739bd29bb" args="(const dsymatrix &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class__dsymatrix.html">_dsymatrix</a> operator- </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classdsymatrix.html">dsymatrix</a> &amp;&#160;</td>
          <td class="paramname"><em>mat</em></td><td>)</td>
          <td><code> [friend]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>-dsymatrix operator </p>

<p>Definition at line <a class="el" href="dsymatrix-unary_8hpp_source.html#l00010">10</a> of file <a class="el" href="dsymatrix-unary_8hpp_source.html">dsymatrix-unary.hpp</a>.</p>
<div class="fragment"><pre class="fragment">{VERBOSE_REPORT;
  <a class="code" href="classdsymatrix.html" title="Real Double-precision Symmetric Matrix Class [l-type (UPLO=l) Strage].">dsymatrix</a> newmat(mat.<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>);
  <span class="keywordflow">for</span>(<span class="keywordtype">long</span> <a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>=0; <a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>&lt;newmat.<a class="code" href="class__dsymatrix.html#a8b56cdf252a15da3e211b558abd46c1b" title="matrix column size">n</a>*newmat.n; <a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>++){ newmat.array[<a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>]=-mat.<a class="code" href="classdsymatrix.html#a7efa7c974733dc3111167a9ebb217e1f" title="1D array to store matrix data">array</a>[<a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>]; }
  
  <span class="keywordflow">return</span> <a class="code" href="classdsymatrix.html#ae4cebf6255f4d5741776b93934a1f540">_</a>(newmat);
}
</pre></div>
</div>
</div>
<a class="anchor" id="abb6a6070168122de4ef1b91a3249f98c"></a><!-- doxytag: member="dsymatrix::operator+" ref="abb6a6070168122de4ef1b91a3249f98c" args="(const dsymatrix &amp;, const dgematrix &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class__dgematrix.html">_dgematrix</a> operator+ </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classdsymatrix.html">dsymatrix</a> &amp;&#160;</td>
          <td class="paramname"><em>matA</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classdgematrix.html">dgematrix</a> &amp;&#160;</td>
          <td class="paramname"><em>matB</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [friend]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>dsymatrix+dgematrix operator </p>

<p>Definition at line <a class="el" href="dsymatrix-dgematrix_8hpp_source.html#l00003">3</a> of file <a class="el" href="dsymatrix-dgematrix_8hpp_source.html">dsymatrix-dgematrix.hpp</a>.</p>
<div class="fragment"><pre class="fragment">{VERBOSE_REPORT;
<span class="preprocessor">#ifdef  CPPL_DEBUG</span>
<span class="preprocessor"></span>  <span class="keywordflow">if</span>(matA.<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>!=matB.<a class="code" href="classdgematrix.html#a60d26e3a499a235310e59a0aebbe0d0a" title="matrix column size">n</a> || matA.<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>!=matB.<a class="code" href="classdgematrix.html#a3852aa1d0b876a74c1070e982cf388a2" title="matrix row size">m</a>){
    ERROR_REPORT;
    std::cerr &lt;&lt; <span class="stringliteral">&quot;These two matrises can not make a summation.&quot;</span> &lt;&lt; std::endl
              &lt;&lt; <span class="stringliteral">&quot;Your input was (&quot;</span> &lt;&lt; matA.<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a> &lt;&lt; <span class="stringliteral">&quot;x&quot;</span> &lt;&lt; matA.<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a> &lt;&lt; <span class="stringliteral">&quot;) + (&quot;</span> &lt;&lt; matB.<a class="code" href="classdgematrix.html#a3852aa1d0b876a74c1070e982cf388a2" title="matrix row size">m</a> &lt;&lt; <span class="stringliteral">&quot;x&quot;</span> &lt;&lt; matB.<a class="code" href="classdgematrix.html#a60d26e3a499a235310e59a0aebbe0d0a" title="matrix column size">n</a> &lt;&lt; <span class="stringliteral">&quot;).&quot;</span> &lt;&lt; std::endl;
    exit(1);
  }
<span class="preprocessor">#endif//CPPL_DEBUG</span>
<span class="preprocessor"></span>
  <a class="code" href="classdgematrix.html" title="Real Double-precision General Dence Matrix Class.">dgematrix</a> newmat(matB);
  <span class="keywordflow">for</span>(<span class="keywordtype">long</span> <a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>=0; <a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>&lt;matA.<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>; <a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>++) {
    <span class="keywordflow">for</span>(<span class="keywordtype">long</span> j=0; j&lt;matA.<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>; j++) {
      newmat(<a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>,j)+=matA(<a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>,j);
    }
  }
  
  <span class="keywordflow">return</span> <a class="code" href="classdsymatrix.html#ae4cebf6255f4d5741776b93934a1f540">_</a>(newmat);
}
</pre></div>
</div>
</div>
<a class="anchor" id="a0e44ec4d28b7a325eb12d134f00620b9"></a><!-- doxytag: member="dsymatrix::operator+" ref="a0e44ec4d28b7a325eb12d134f00620b9" args="(const dsymatrix &amp;, const _dgematrix &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class__dgematrix.html">_dgematrix</a> operator+ </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classdsymatrix.html">dsymatrix</a> &amp;&#160;</td>
          <td class="paramname"><em>matA</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="class__dgematrix.html">_dgematrix</a> &amp;&#160;</td>
          <td class="paramname"><em>matB</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [friend]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>_dgematrix+dsymatrix operator </p>

<p>Definition at line <a class="el" href="dsymatrix-__dgematrix_8hpp_source.html#l00003">3</a> of file <a class="el" href="dsymatrix-__dgematrix_8hpp_source.html">dsymatrix-_dgematrix.hpp</a>.</p>
<div class="fragment"><pre class="fragment">{VERBOSE_REPORT;
<span class="preprocessor">#ifdef  CPPL_DEBUG</span>
<span class="preprocessor"></span>  <span class="keywordflow">if</span>(matA.<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>!=matB.<a class="code" href="class__dgematrix.html#ad46b02985eb9537b1bd65937d5b052de" title="matrix column size">n</a> || matA.<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>!=matB.<a class="code" href="class__dgematrix.html#a4c07ace0e1899332aa2d620af184dadf" title="matrix row size">m</a>){
    ERROR_REPORT;
    std::cerr &lt;&lt; <span class="stringliteral">&quot;These two matrises can not make a summation.&quot;</span> &lt;&lt; std::endl
              &lt;&lt; <span class="stringliteral">&quot;Your input was (&quot;</span> &lt;&lt; matA.<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a> &lt;&lt; <span class="stringliteral">&quot;x&quot;</span> &lt;&lt; matA.<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a> &lt;&lt; <span class="stringliteral">&quot;) + (&quot;</span> &lt;&lt; matB.<a class="code" href="class__dgematrix.html#a4c07ace0e1899332aa2d620af184dadf" title="matrix row size">m</a> &lt;&lt; <span class="stringliteral">&quot;x&quot;</span> &lt;&lt; matB.<a class="code" href="class__dgematrix.html#ad46b02985eb9537b1bd65937d5b052de" title="matrix column size">n</a> &lt;&lt; <span class="stringliteral">&quot;).&quot;</span> &lt;&lt; std::endl;
    exit(1);
  }
<span class="preprocessor">#endif//CPPL_DEBUG</span>
<span class="preprocessor"></span>  
  <span class="keywordflow">for</span>(<span class="keywordtype">long</span> <a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>=0; <a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>&lt;matA.<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>; <a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>++) {
    <span class="keywordflow">for</span>(<span class="keywordtype">long</span> j=0; j&lt;matA.<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>; j++) {
      matB(<a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>,j)+=matA(<a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>,j);
    }
  }
  
  <span class="keywordflow">return</span> matB;
}
</pre></div>
</div>
</div>
<a class="anchor" id="a2d81e94ca324f6f953408a9b9855ef15"></a><!-- doxytag: member="dsymatrix::operator+" ref="a2d81e94ca324f6f953408a9b9855ef15" args="(const dsymatrix &amp;, const dsymatrix &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class__dsymatrix.html">_dsymatrix</a> operator+ </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classdsymatrix.html">dsymatrix</a> &amp;&#160;</td>
          <td class="paramname"><em>matA</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classdsymatrix.html">dsymatrix</a> &amp;&#160;</td>
          <td class="paramname"><em>matB</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [friend]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>dsymatrix+dsymatrix operator </p>

<p>Definition at line <a class="el" href="dsymatrix-dsymatrix_8hpp_source.html#l00061">61</a> of file <a class="el" href="dsymatrix-dsymatrix_8hpp_source.html">dsymatrix-dsymatrix.hpp</a>.</p>
<div class="fragment"><pre class="fragment">{VERBOSE_REPORT;
<span class="preprocessor">#ifdef  CPPL_DEBUG</span>
<span class="preprocessor"></span>  <span class="keywordflow">if</span>(matA.<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>!=matB.<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>){
    ERROR_REPORT;
    std::cerr &lt;&lt; <span class="stringliteral">&quot;These two matrises can not make a summation.&quot;</span> &lt;&lt; std::endl
              &lt;&lt; <span class="stringliteral">&quot;Your input was (&quot;</span> &lt;&lt; matA.<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a> &lt;&lt; <span class="stringliteral">&quot;x&quot;</span> &lt;&lt; matA.<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a> &lt;&lt; <span class="stringliteral">&quot;) + (&quot;</span> &lt;&lt; matB.<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a> &lt;&lt; <span class="stringliteral">&quot;x&quot;</span> &lt;&lt; matB.<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a> &lt;&lt; <span class="stringliteral">&quot;).&quot;</span> &lt;&lt; std::endl;
    exit(1);
  }
<span class="preprocessor">#endif//CPPL_DEBUG</span>
<span class="preprocessor"></span>
  <span class="keywordtype">long</span> <a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a> = matA.<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>;
  <a class="code" href="classdsymatrix.html" title="Real Double-precision Symmetric Matrix Class [l-type (UPLO=l) Strage].">dsymatrix</a> newmat(n);
  <span class="keywordflow">for</span>(<span class="keywordtype">long</span> <a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>=0; <a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>&lt;<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>; <a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>++){
    <span class="keywordflow">for</span>(<span class="keywordtype">long</span> j=0; j&lt;=<a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>; j++){
      newmat.darray[j][<a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>] =matA.<a class="code" href="classdsymatrix.html#a786e420fb2551cffb147af789197a681" title="array of pointers of column head addresses">darray</a>[j][<a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>] +matB.<a class="code" href="classdsymatrix.html#a786e420fb2551cffb147af789197a681" title="array of pointers of column head addresses">darray</a>[j][<a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>];
    }
  }
  
  <span class="keywordflow">return</span> <a class="code" href="classdsymatrix.html#ae4cebf6255f4d5741776b93934a1f540">_</a>(newmat);
}
</pre></div>
</div>
</div>
<a class="anchor" id="a4cb65e26191b448f2306fad4651c24ff"></a><!-- doxytag: member="dsymatrix::operator+" ref="a4cb65e26191b448f2306fad4651c24ff" args="(const dsymatrix &amp;, const _dsymatrix &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class__dsymatrix.html">_dsymatrix</a> operator+ </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classdsymatrix.html">dsymatrix</a> &amp;&#160;</td>
          <td class="paramname"><em>matA</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="class__dsymatrix.html">_dsymatrix</a> &amp;&#160;</td>
          <td class="paramname"><em>matB</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [friend]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>dsymatrix+_dsymatrix operator </p>

<p>Definition at line <a class="el" href="dsymatrix-__dsymatrix_8hpp_source.html#l00065">65</a> of file <a class="el" href="dsymatrix-__dsymatrix_8hpp_source.html">dsymatrix-_dsymatrix.hpp</a>.</p>
<div class="fragment"><pre class="fragment">{VERBOSE_REPORT;
<span class="preprocessor">#ifdef  CPPL_DEBUG</span>
<span class="preprocessor"></span>  <span class="keywordflow">if</span>(matA.<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>!=matB.<a class="code" href="class__dsymatrix.html#a8b56cdf252a15da3e211b558abd46c1b" title="matrix column size">n</a>){
    ERROR_REPORT;
    std::cerr &lt;&lt; <span class="stringliteral">&quot;These two matrises can not make a summation.&quot;</span> &lt;&lt; std::endl
              &lt;&lt; <span class="stringliteral">&quot;Your input was (&quot;</span> &lt;&lt; matA.<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a> &lt;&lt; <span class="stringliteral">&quot;x&quot;</span> &lt;&lt; matA.<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a> &lt;&lt; <span class="stringliteral">&quot;) + (&quot;</span> &lt;&lt; matB.<a class="code" href="class__dsymatrix.html#a8b56cdf252a15da3e211b558abd46c1b" title="matrix column size">n</a> &lt;&lt; <span class="stringliteral">&quot;x&quot;</span> &lt;&lt; matB.<a class="code" href="class__dsymatrix.html#a8b56cdf252a15da3e211b558abd46c1b" title="matrix column size">n</a> &lt;&lt; <span class="stringliteral">&quot;).&quot;</span> &lt;&lt; std::endl;
    exit(1);
  }
<span class="preprocessor">#endif//CPPL_DEBUG</span>
<span class="preprocessor"></span>
  <span class="keywordflow">for</span>(<span class="keywordtype">long</span> <a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>=0; <a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>&lt;matA.<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>; <a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>++){
    <span class="keywordflow">for</span>(<span class="keywordtype">long</span> j=0; j&lt;=<a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>; j++){
      matB.<a class="code" href="class__dsymatrix.html#a9db2d341c99952e75adb7e183450c3dc" title="array of pointers of column head addresses">darray</a>[j][<a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>] +=matA.<a class="code" href="classdsymatrix.html#a786e420fb2551cffb147af789197a681" title="array of pointers of column head addresses">darray</a>[j][<a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>];
    }
  }
  
  <span class="keywordflow">return</span> matB;
}
</pre></div>
</div>
</div>
<a class="anchor" id="aabae4897d3f0a492858427ee0a4886c0"></a><!-- doxytag: member="dsymatrix::operator+" ref="aabae4897d3f0a492858427ee0a4886c0" args="(const dsymatrix &amp;, const dgbmatrix &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class__dgematrix.html">_dgematrix</a> operator+ </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classdsymatrix.html">dsymatrix</a> &amp;&#160;</td>
          <td class="paramname"><em>matA</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classdgbmatrix.html">dgbmatrix</a> &amp;&#160;</td>
          <td class="paramname"><em>matB</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [friend]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>dsymatrix+dgbmatrix operator </p>

<p>Definition at line <a class="el" href="dsymatrix-dgbmatrix_8hpp_source.html#l00003">3</a> of file <a class="el" href="dsymatrix-dgbmatrix_8hpp_source.html">dsymatrix-dgbmatrix.hpp</a>.</p>
<div class="fragment"><pre class="fragment">{VERBOSE_REPORT;
<span class="preprocessor">#ifdef  CPPL_DEBUG</span>
<span class="preprocessor"></span>  <span class="keywordflow">if</span>(matA.<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>!=matB.<a class="code" href="classdgbmatrix.html#a5b6fe4d1cfa71161b09ecf0b59befd0e" title="matrix column size">n</a> || matA.<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>!=matB.<a class="code" href="classdgbmatrix.html#af8a3e6bc4557b151f0049b8224f54580" title="matrix row size">m</a>){
    ERROR_REPORT;
    std::cerr &lt;&lt; <span class="stringliteral">&quot;These two matrises can not make a summation.&quot;</span> &lt;&lt; std::endl
              &lt;&lt; <span class="stringliteral">&quot;Your input was (&quot;</span> &lt;&lt; matA.<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a> &lt;&lt; <span class="stringliteral">&quot;x&quot;</span> &lt;&lt; matA.<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a> &lt;&lt; <span class="stringliteral">&quot;) + (&quot;</span> &lt;&lt; matB.<a class="code" href="classdgbmatrix.html#af8a3e6bc4557b151f0049b8224f54580" title="matrix row size">m</a> &lt;&lt; <span class="stringliteral">&quot;x&quot;</span> &lt;&lt; matB.<a class="code" href="classdgbmatrix.html#a5b6fe4d1cfa71161b09ecf0b59befd0e" title="matrix column size">n</a> &lt;&lt; <span class="stringliteral">&quot;).&quot;</span> &lt;&lt; std::endl;
    exit(1);
  }
<span class="preprocessor">#endif//CPPL_DEBUG</span>
<span class="preprocessor"></span>  
  <a class="code" href="classdgematrix.html" title="Real Double-precision General Dence Matrix Class.">dgematrix</a> newmat(matA.<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>, matA.<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>);
  <span class="keywordflow">for</span>(<span class="keywordtype">long</span> <a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>=0; <a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>&lt;matB.<a class="code" href="classdgbmatrix.html#af8a3e6bc4557b151f0049b8224f54580" title="matrix row size">m</a>; <a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>++){
    <span class="keywordflow">for</span>(<span class="keywordtype">long</span> j=<a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>; j&lt;matA.<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>; j++){
      newmat(<a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>,j) = newmat(j,<a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>) = matA(<a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>,j);
    }
    <span class="keywordflow">for</span>(<span class="keywordtype">long</span> j=std::max(<span class="keywordtype">long</span>(0),<a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>-matB.<a class="code" href="classdgbmatrix.html#aeeb3e79431677905a4ece19c6616edd4" title="lower band width">kl</a>); j&lt;std::min(matB.<a class="code" href="classdgbmatrix.html#a5b6fe4d1cfa71161b09ecf0b59befd0e" title="matrix column size">n</a>,<a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>+matB.<a class="code" href="classdgbmatrix.html#a0b4d519e95ddf780bf1151a42018d646" title="upper band width">ku</a>+1); j++){
      newmat(<a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>,j)+=matB(<a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>,j);
    }
  }
  
  <span class="keywordflow">return</span> <a class="code" href="classdsymatrix.html#ae4cebf6255f4d5741776b93934a1f540">_</a>(newmat);
}
</pre></div>
</div>
</div>
<a class="anchor" id="a93c60baafeec5b50a7ebba59740166f9"></a><!-- doxytag: member="dsymatrix::operator+" ref="a93c60baafeec5b50a7ebba59740166f9" args="(const dsymatrix &amp;, const _dgbmatrix &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class__dgematrix.html">_dgematrix</a> operator+ </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classdsymatrix.html">dsymatrix</a> &amp;&#160;</td>
          <td class="paramname"><em>matA</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="class__dgbmatrix.html">_dgbmatrix</a> &amp;&#160;</td>
          <td class="paramname"><em>matB</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [friend]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>dsymatrix+_dgbmatrix operator </p>

<p>Definition at line <a class="el" href="dsymatrix-__dgbmatrix_8hpp_source.html#l00003">3</a> of file <a class="el" href="dsymatrix-__dgbmatrix_8hpp_source.html">dsymatrix-_dgbmatrix.hpp</a>.</p>
<div class="fragment"><pre class="fragment">{VERBOSE_REPORT;
<span class="preprocessor">#ifdef  CPPL_DEBUG</span>
<span class="preprocessor"></span>  <span class="keywordflow">if</span>(matA.<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>!=matB.<a class="code" href="class__dgbmatrix.html#a95aebc7e2d4ea66b1b7a08e981df6971" title="matrix column size">n</a> || matA.<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>!=matB.<a class="code" href="class__dgbmatrix.html#a587a07ecbbfc6bbdb0e05574ea6b088a" title="matrix row size">m</a>){
    ERROR_REPORT;
    std::cerr &lt;&lt; <span class="stringliteral">&quot;These two matrises can not make a summation.&quot;</span> &lt;&lt; std::endl
              &lt;&lt; <span class="stringliteral">&quot;Your input was (&quot;</span> &lt;&lt; matA.<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a> &lt;&lt; <span class="stringliteral">&quot;x&quot;</span> &lt;&lt; matA.<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a> &lt;&lt; <span class="stringliteral">&quot;) + (&quot;</span> &lt;&lt; matB.<a class="code" href="class__dgbmatrix.html#a587a07ecbbfc6bbdb0e05574ea6b088a" title="matrix row size">m</a> &lt;&lt; <span class="stringliteral">&quot;x&quot;</span> &lt;&lt; matB.<a class="code" href="class__dgbmatrix.html#a95aebc7e2d4ea66b1b7a08e981df6971" title="matrix column size">n</a> &lt;&lt; <span class="stringliteral">&quot;).&quot;</span> &lt;&lt; std::endl;
    exit(1);
  }
<span class="preprocessor">#endif//CPPL_DEBUG</span>
<span class="preprocessor"></span>  
  <a class="code" href="classdgematrix.html" title="Real Double-precision General Dence Matrix Class.">dgematrix</a> newmat(matA.<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>, matA.<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>);
  <span class="keywordflow">for</span>(<span class="keywordtype">long</span> <a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>=0; <a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>&lt;matB.<a class="code" href="class__dgbmatrix.html#a587a07ecbbfc6bbdb0e05574ea6b088a" title="matrix row size">m</a>; <a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>++){
    <span class="keywordflow">for</span>(<span class="keywordtype">long</span> j=<a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>; j&lt;matA.<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>; j++){
      newmat(<a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>,j) = newmat(j,<a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>) = matA(<a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>,j);
    }
    <span class="keywordflow">for</span>(<span class="keywordtype">long</span> j=std::max(<span class="keywordtype">long</span>(0),<a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>-matB.<a class="code" href="class__dgbmatrix.html#aeea4fdf76630ca1b51f93c5bed64662c" title="lower band width">kl</a>); j&lt;std::min(matB.<a class="code" href="class__dgbmatrix.html#a95aebc7e2d4ea66b1b7a08e981df6971" title="matrix column size">n</a>,<a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>+matB.<a class="code" href="class__dgbmatrix.html#a116dadc8ed5246ee0b4cd0a9fffc53ea" title="upper band width">ku</a>+1); j++){
      newmat(<a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>,j)+=matB(<a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>,j);
    }
  }
  
  matB.<a class="code" href="class__dgbmatrix.html#a170fdd995797f5d394863105e658df9e">destroy</a>();
  <span class="keywordflow">return</span> <a class="code" href="classdsymatrix.html#ae4cebf6255f4d5741776b93934a1f540">_</a>(newmat);
}
</pre></div>
</div>
</div>
<a class="anchor" id="a6bc987d18f0d74bdc8a6b0d193517f6c"></a><!-- doxytag: member="dsymatrix::operator+" ref="a6bc987d18f0d74bdc8a6b0d193517f6c" args="(const dsymatrix &amp;, const dgsmatrix &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class__dgematrix.html">_dgematrix</a> operator+ </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classdsymatrix.html">dsymatrix</a> &amp;&#160;</td>
          <td class="paramname"><em>matA</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classdgsmatrix.html">dgsmatrix</a> &amp;&#160;</td>
          <td class="paramname"><em>matB</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [friend]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>dsymatrix+dgsmatrix operator </p>

<p>Definition at line <a class="el" href="dsymatrix-dgsmatrix_8hpp_source.html#l00003">3</a> of file <a class="el" href="dsymatrix-dgsmatrix_8hpp_source.html">dsymatrix-dgsmatrix.hpp</a>.</p>
<div class="fragment"><pre class="fragment">{VERBOSE_REPORT;
<span class="preprocessor">#ifdef  CPPL_DEBUG</span>
<span class="preprocessor"></span>  <span class="keywordflow">if</span>(matA.<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>!=matB.<a class="code" href="classdgsmatrix.html#ae2d6c9f9657d44171a4bfd56276277cb" title="matrix row size">m</a> || matA.<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>!=matB.<a class="code" href="classdgsmatrix.html#acefae40b42444c17eebbc23ccee73ae0" title="matrix column size">n</a>){
    ERROR_REPORT;
    std::cerr &lt;&lt; <span class="stringliteral">&quot;These two matrises can not make a summation.&quot;</span> &lt;&lt; std::endl
              &lt;&lt; <span class="stringliteral">&quot;Your input was (&quot;</span> &lt;&lt; matA.<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a> &lt;&lt; <span class="stringliteral">&quot;x&quot;</span> &lt;&lt; matA.<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a> &lt;&lt; <span class="stringliteral">&quot;) + (&quot;</span> &lt;&lt; matB.<a class="code" href="classdgsmatrix.html#ae2d6c9f9657d44171a4bfd56276277cb" title="matrix row size">m</a> &lt;&lt; <span class="stringliteral">&quot;x&quot;</span> &lt;&lt; matB.<a class="code" href="classdgsmatrix.html#acefae40b42444c17eebbc23ccee73ae0" title="matrix column size">n</a> &lt;&lt; <span class="stringliteral">&quot;).&quot;</span> &lt;&lt; std::endl;
    exit(1);
  }
<span class="preprocessor">#endif//CPPL_DEBUG</span>
<span class="preprocessor"></span>  
  <a class="code" href="classdgematrix.html" title="Real Double-precision General Dence Matrix Class.">dgematrix</a> newmat( matA.<a class="code" href="classdsymatrix.html#a45ff312f6c694841edfd30809e09ba7b">to_dgematrix</a>() );
  <span class="keywordflow">for</span>(std::vector&lt;dcomponent&gt;::const_iterator it=matB.<a class="code" href="classdgsmatrix.html#a9c4f940eeedf7a7869cf03ae4a3558c6" title="matrix data">data</a>.begin(); it!=matB.<a class="code" href="classdgsmatrix.html#a9c4f940eeedf7a7869cf03ae4a3558c6" title="matrix data">data</a>.end(); it++){
    newmat(it-&gt;i,it-&gt;j) += it-&gt;v;
  }
  
  <span class="keywordflow">return</span> <a class="code" href="classdsymatrix.html#ae4cebf6255f4d5741776b93934a1f540">_</a>(newmat);
}
</pre></div>
</div>
</div>
<a class="anchor" id="a7b3e11db94e50e9dd012fc7e79cc445a"></a><!-- doxytag: member="dsymatrix::operator+" ref="a7b3e11db94e50e9dd012fc7e79cc445a" args="(const dsymatrix &amp;, const _dgsmatrix &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class__dgematrix.html">_dgematrix</a> operator+ </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classdsymatrix.html">dsymatrix</a> &amp;&#160;</td>
          <td class="paramname"><em>matA</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="class__dgsmatrix.html">_dgsmatrix</a> &amp;&#160;</td>
          <td class="paramname"><em>matB</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [friend]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>dsymatrix+_dgsmatrix operator </p>

<p>Definition at line <a class="el" href="dsymatrix-__dgsmatrix_8hpp_source.html#l00003">3</a> of file <a class="el" href="dsymatrix-__dgsmatrix_8hpp_source.html">dsymatrix-_dgsmatrix.hpp</a>.</p>
<div class="fragment"><pre class="fragment">{VERBOSE_REPORT;
<span class="preprocessor">#ifdef  CPPL_DEBUG</span>
<span class="preprocessor"></span>  <span class="keywordflow">if</span>(matA.<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>!=matB.<a class="code" href="class__dgsmatrix.html#ac45fcfd8d9cddb1fae5b66cd9b7ac98a" title="matrix row size">m</a> || matA.<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>!=matB.<a class="code" href="class__dgsmatrix.html#a8457e7af3a1e2ff7d8c3238260d59936" title="matrix column size">n</a>){
    ERROR_REPORT;
    std::cerr &lt;&lt; <span class="stringliteral">&quot;These two matrises can not make a summation.&quot;</span> &lt;&lt; std::endl
              &lt;&lt; <span class="stringliteral">&quot;Your input was (&quot;</span> &lt;&lt; matA.<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a> &lt;&lt; <span class="stringliteral">&quot;x&quot;</span> &lt;&lt; matA.<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a> &lt;&lt; <span class="stringliteral">&quot;) + (&quot;</span> &lt;&lt; matB.<a class="code" href="class__dgsmatrix.html#ac45fcfd8d9cddb1fae5b66cd9b7ac98a" title="matrix row size">m</a> &lt;&lt; <span class="stringliteral">&quot;x&quot;</span> &lt;&lt; matB.<a class="code" href="class__dgsmatrix.html#a8457e7af3a1e2ff7d8c3238260d59936" title="matrix column size">n</a> &lt;&lt; <span class="stringliteral">&quot;).&quot;</span> &lt;&lt; std::endl;
    exit(1);
  }
<span class="preprocessor">#endif//CPPL_DEBUG</span>
<span class="preprocessor"></span>  
  <a class="code" href="classdgematrix.html" title="Real Double-precision General Dence Matrix Class.">dgematrix</a> newmat( matA.<a class="code" href="classdsymatrix.html#a45ff312f6c694841edfd30809e09ba7b">to_dgematrix</a>() );
  <span class="keywordflow">for</span>(std::vector&lt;dcomponent&gt;::const_iterator it=matB.<a class="code" href="class__dgsmatrix.html#a65ae5bc0001de27f9fe1fb13870b4a30" title="matrix data">data</a>.begin(); it!=matB.<a class="code" href="class__dgsmatrix.html#a65ae5bc0001de27f9fe1fb13870b4a30" title="matrix data">data</a>.end(); it++){
    newmat(it-&gt;i,it-&gt;j) += it-&gt;v;
  }
  
  matB.<a class="code" href="class__dgsmatrix.html#aa2851712fa4f99d8d608815ef274a362">destroy</a>();
  <span class="keywordflow">return</span> <a class="code" href="classdsymatrix.html#ae4cebf6255f4d5741776b93934a1f540">_</a>(newmat);
}
</pre></div>
</div>
</div>
<a class="anchor" id="a76834575fbe4ed405dce2f04c48466a4"></a><!-- doxytag: member="dsymatrix::operator+" ref="a76834575fbe4ed405dce2f04c48466a4" args="(const dsymatrix &amp;, const dssmatrix &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class__dsymatrix.html">_dsymatrix</a> operator+ </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classdsymatrix.html">dsymatrix</a> &amp;&#160;</td>
          <td class="paramname">, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classdssmatrix.html">dssmatrix</a> &amp;&#160;</td>
          <td class="paramname">&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [friend]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a049cdb5a9fe8179c724ae4be1852cb2e"></a><!-- doxytag: member="dsymatrix::operator+" ref="a049cdb5a9fe8179c724ae4be1852cb2e" args="(const dsymatrix &amp;, const _dssmatrix &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class__dsymatrix.html">_dsymatrix</a> operator+ </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classdsymatrix.html">dsymatrix</a> &amp;&#160;</td>
          <td class="paramname">, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="class__dssmatrix.html">_dssmatrix</a> &amp;&#160;</td>
          <td class="paramname">&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [friend]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a321aef3c40f04f5183e79a1ef387b1dc"></a><!-- doxytag: member="dsymatrix::operator&#45;" ref="a321aef3c40f04f5183e79a1ef387b1dc" args="(const dsymatrix &amp;, const dgematrix &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class__dgematrix.html">_dgematrix</a> operator- </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classdsymatrix.html">dsymatrix</a> &amp;&#160;</td>
          <td class="paramname"><em>matA</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classdgematrix.html">dgematrix</a> &amp;&#160;</td>
          <td class="paramname"><em>matB</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [friend]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>dsymatrix-dgematrix operator </p>

<p>Definition at line <a class="el" href="dsymatrix-dgematrix_8hpp_source.html#l00026">26</a> of file <a class="el" href="dsymatrix-dgematrix_8hpp_source.html">dsymatrix-dgematrix.hpp</a>.</p>
<div class="fragment"><pre class="fragment">{VERBOSE_REPORT;
<span class="preprocessor">#ifdef  CPPL_DEBUG</span>
<span class="preprocessor"></span>  <span class="keywordflow">if</span>(matA.<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>!=matB.<a class="code" href="classdgematrix.html#a60d26e3a499a235310e59a0aebbe0d0a" title="matrix column size">n</a> || matA.<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>!=matB.<a class="code" href="classdgematrix.html#a3852aa1d0b876a74c1070e982cf388a2" title="matrix row size">m</a>){
    ERROR_REPORT;
    std::cerr &lt;&lt; <span class="stringliteral">&quot;These two matrises can not make a summation.&quot;</span> &lt;&lt; std::endl
              &lt;&lt; <span class="stringliteral">&quot;Your input was (&quot;</span> &lt;&lt; matA.<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a> &lt;&lt; <span class="stringliteral">&quot;x&quot;</span> &lt;&lt; matA.<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a> &lt;&lt; <span class="stringliteral">&quot;) + (&quot;</span> &lt;&lt; matB.<a class="code" href="classdgematrix.html#a3852aa1d0b876a74c1070e982cf388a2" title="matrix row size">m</a> &lt;&lt; <span class="stringliteral">&quot;x&quot;</span> &lt;&lt; matB.<a class="code" href="classdgematrix.html#a60d26e3a499a235310e59a0aebbe0d0a" title="matrix column size">n</a> &lt;&lt; <span class="stringliteral">&quot;).&quot;</span> &lt;&lt; std::endl;
    exit(1);
  }
<span class="preprocessor">#endif//CPPL_DEBUG</span>
<span class="preprocessor"></span>  
  <a class="code" href="classdgematrix.html" title="Real Double-precision General Dence Matrix Class.">dgematrix</a> newmat(-matB);
  <span class="keywordflow">for</span>(<span class="keywordtype">long</span> <a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>=0; <a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>&lt;matA.<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>; <a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>++){
    <span class="keywordflow">for</span>(<span class="keywordtype">long</span> j=0; j&lt;matA.<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>; j++){
      newmat(<a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>,j)+=matA(<a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>,j);
    }
  }
  
  <span class="keywordflow">return</span> <a class="code" href="classdsymatrix.html#ae4cebf6255f4d5741776b93934a1f540">_</a>(newmat);
}
</pre></div>
</div>
</div>
<a class="anchor" id="af7c8c26e04c496f8d4e31a56d45148f0"></a><!-- doxytag: member="dsymatrix::operator&#45;" ref="af7c8c26e04c496f8d4e31a56d45148f0" args="(const dsymatrix &amp;, const _dgematrix &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class__dgematrix.html">_dgematrix</a> operator- </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classdsymatrix.html">dsymatrix</a> &amp;&#160;</td>
          <td class="paramname"><em>matA</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="class__dgematrix.html">_dgematrix</a> &amp;&#160;</td>
          <td class="paramname"><em>matB</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [friend]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>_dgematrix-dgematrix operator </p>

<p>Definition at line <a class="el" href="dsymatrix-__dgematrix_8hpp_source.html#l00025">25</a> of file <a class="el" href="dsymatrix-__dgematrix_8hpp_source.html">dsymatrix-_dgematrix.hpp</a>.</p>
<div class="fragment"><pre class="fragment">{VERBOSE_REPORT;
<span class="preprocessor">#ifdef  CPPL_DEBUG</span>
<span class="preprocessor"></span>  <span class="keywordflow">if</span>(matA.<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>!=matB.<a class="code" href="class__dgematrix.html#ad46b02985eb9537b1bd65937d5b052de" title="matrix column size">n</a> || matA.<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>!=matB.<a class="code" href="class__dgematrix.html#a4c07ace0e1899332aa2d620af184dadf" title="matrix row size">m</a>){
    ERROR_REPORT;
    std::cerr &lt;&lt; <span class="stringliteral">&quot;These two matrises can not make a subtraction.&quot;</span> &lt;&lt; std::endl
              &lt;&lt; <span class="stringliteral">&quot;Your input was (&quot;</span> &lt;&lt; matA.<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a> &lt;&lt; <span class="stringliteral">&quot;x&quot;</span> &lt;&lt; matA.<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a> &lt;&lt; <span class="stringliteral">&quot;) - (&quot;</span> &lt;&lt; matB.<a class="code" href="class__dgematrix.html#a4c07ace0e1899332aa2d620af184dadf" title="matrix row size">m</a> &lt;&lt; <span class="stringliteral">&quot;x&quot;</span> &lt;&lt; matB.<a class="code" href="class__dgematrix.html#ad46b02985eb9537b1bd65937d5b052de" title="matrix column size">n</a> &lt;&lt; <span class="stringliteral">&quot;).&quot;</span> &lt;&lt; std::endl;
    exit(1);
  }
<span class="preprocessor">#endif//CPPL_DEBUG</span>
<span class="preprocessor"></span>
  <span class="keywordflow">for</span>(<span class="keywordtype">long</span> <a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>=0; <a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>&lt;matA.<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>; <a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>++){
    <span class="keywordflow">for</span>(<span class="keywordtype">long</span> j=0; j&lt;matA.<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>; j++){
      matB(<a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>,j) =matA(<a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>,j)-matB(<a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>,j);
    }
  }
  
  <span class="keywordflow">return</span> matB;
}
</pre></div>
</div>
</div>
<a class="anchor" id="ae2b69b2b2d7314d68a7903776e8fa642"></a><!-- doxytag: member="dsymatrix::operator&#45;" ref="ae2b69b2b2d7314d68a7903776e8fa642" args="(const dsymatrix &amp;, const dsymatrix &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class__dsymatrix.html">_dsymatrix</a> operator- </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classdsymatrix.html">dsymatrix</a> &amp;&#160;</td>
          <td class="paramname"><em>matA</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classdsymatrix.html">dsymatrix</a> &amp;&#160;</td>
          <td class="paramname"><em>matB</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [friend]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>dsymatrix-dsymatrix operator </p>

<p>Definition at line <a class="el" href="dsymatrix-dsymatrix_8hpp_source.html#l00085">85</a> of file <a class="el" href="dsymatrix-dsymatrix_8hpp_source.html">dsymatrix-dsymatrix.hpp</a>.</p>
<div class="fragment"><pre class="fragment">{VERBOSE_REPORT;
<span class="preprocessor">#ifdef  CPPL_DEBUG</span>
<span class="preprocessor"></span>  <span class="keywordflow">if</span>(matA.<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>!=matB.<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>){
    ERROR_REPORT;
    std::cerr &lt;&lt; <span class="stringliteral">&quot;These two matrises can not make a subtraction.&quot;</span> &lt;&lt; std::endl
              &lt;&lt; <span class="stringliteral">&quot;Your input was (&quot;</span> &lt;&lt; matA.<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a> &lt;&lt; <span class="stringliteral">&quot;x&quot;</span> &lt;&lt; matA.<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a> &lt;&lt; <span class="stringliteral">&quot;) - (&quot;</span> &lt;&lt; matB.<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a> &lt;&lt; <span class="stringliteral">&quot;x&quot;</span> &lt;&lt; matB.<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a> &lt;&lt; <span class="stringliteral">&quot;).&quot;</span> &lt;&lt; std::endl;
    exit(1);
  }
<span class="preprocessor">#endif//CPPL_DEBUG</span>
<span class="preprocessor"></span>
  <span class="keywordtype">long</span> <a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a> = matA.<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>;
  <a class="code" href="classdsymatrix.html" title="Real Double-precision Symmetric Matrix Class [l-type (UPLO=l) Strage].">dsymatrix</a> newmat(n);
  <span class="keywordflow">for</span>(<span class="keywordtype">long</span> <a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>=0; <a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>&lt;<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>; <a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>++){
    <span class="keywordflow">for</span>(<span class="keywordtype">long</span> j=0; j&lt;=<a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>; j++){
      newmat.darray[j][<a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>] =matA.<a class="code" href="classdsymatrix.html#a786e420fb2551cffb147af789197a681" title="array of pointers of column head addresses">darray</a>[j][<a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>] -matB.<a class="code" href="classdsymatrix.html#a786e420fb2551cffb147af789197a681" title="array of pointers of column head addresses">darray</a>[j][<a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>];
    }
  }

  <span class="keywordflow">return</span> <a class="code" href="classdsymatrix.html#ae4cebf6255f4d5741776b93934a1f540">_</a>(newmat);
}
</pre></div>
</div>
</div>
<a class="anchor" id="a6fb37b153aa5c08de19441fda1adf627"></a><!-- doxytag: member="dsymatrix::operator&#45;" ref="a6fb37b153aa5c08de19441fda1adf627" args="(const dsymatrix &amp;, const _dsymatrix &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class__dsymatrix.html">_dsymatrix</a> operator- </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classdsymatrix.html">dsymatrix</a> &amp;&#160;</td>
          <td class="paramname"><em>matA</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="class__dsymatrix.html">_dsymatrix</a> &amp;&#160;</td>
          <td class="paramname"><em>matB</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [friend]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>dsymatrix-_dsymatrix operator </p>

<p>Definition at line <a class="el" href="dsymatrix-__dsymatrix_8hpp_source.html#l00087">87</a> of file <a class="el" href="dsymatrix-__dsymatrix_8hpp_source.html">dsymatrix-_dsymatrix.hpp</a>.</p>
<div class="fragment"><pre class="fragment">{VERBOSE_REPORT;
<span class="preprocessor">#ifdef  CPPL_DEBUG</span>
<span class="preprocessor"></span>  <span class="keywordflow">if</span>(matA.<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>!=matB.<a class="code" href="class__dsymatrix.html#a8b56cdf252a15da3e211b558abd46c1b" title="matrix column size">n</a>){
    ERROR_REPORT;
    std::cerr &lt;&lt; <span class="stringliteral">&quot;These two matrises can not make a subtraction.&quot;</span> &lt;&lt; std::endl
              &lt;&lt; <span class="stringliteral">&quot;Your input was (&quot;</span> &lt;&lt; matA.<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a> &lt;&lt; <span class="stringliteral">&quot;x&quot;</span> &lt;&lt; matA.<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a> &lt;&lt; <span class="stringliteral">&quot;) - (&quot;</span> &lt;&lt; matB.<a class="code" href="class__dsymatrix.html#a8b56cdf252a15da3e211b558abd46c1b" title="matrix column size">n</a> &lt;&lt; <span class="stringliteral">&quot;x&quot;</span> &lt;&lt; matB.<a class="code" href="class__dsymatrix.html#a8b56cdf252a15da3e211b558abd46c1b" title="matrix column size">n</a> &lt;&lt; <span class="stringliteral">&quot;).&quot;</span> &lt;&lt; std::endl;
    exit(1);
  }
<span class="preprocessor">#endif//CPPL_DEBUG</span>
<span class="preprocessor"></span>
  <span class="keywordflow">for</span>(<span class="keywordtype">long</span> <a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>=0; <a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>&lt;matA.<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>; <a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>++){
    <span class="keywordflow">for</span>(<span class="keywordtype">long</span> j=0; j&lt;=<a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>; j++){
      matB.<a class="code" href="class__dsymatrix.html#a9db2d341c99952e75adb7e183450c3dc" title="array of pointers of column head addresses">darray</a>[j][<a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>] =matA.<a class="code" href="classdsymatrix.html#a786e420fb2551cffb147af789197a681" title="array of pointers of column head addresses">darray</a>[j][<a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>] -matB.<a class="code" href="class__dsymatrix.html#a9db2d341c99952e75adb7e183450c3dc" title="array of pointers of column head addresses">darray</a>[j][<a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>];
    }
  }
  
  <span class="keywordflow">return</span> matB;
}
</pre></div>
</div>
</div>
<a class="anchor" id="a6788f3d75c4700a962525476e4897bc8"></a><!-- doxytag: member="dsymatrix::operator&#45;" ref="a6788f3d75c4700a962525476e4897bc8" args="(const dsymatrix &amp;, const dgbmatrix &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class__dgematrix.html">_dgematrix</a> operator- </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classdsymatrix.html">dsymatrix</a> &amp;&#160;</td>
          <td class="paramname"><em>matA</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classdgbmatrix.html">dgbmatrix</a> &amp;&#160;</td>
          <td class="paramname"><em>matB</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [friend]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>dsymatrix-dgbmatrix operator </p>

<p>Definition at line <a class="el" href="dsymatrix-dgbmatrix_8hpp_source.html#l00029">29</a> of file <a class="el" href="dsymatrix-dgbmatrix_8hpp_source.html">dsymatrix-dgbmatrix.hpp</a>.</p>
<div class="fragment"><pre class="fragment">{VERBOSE_REPORT;
<span class="preprocessor">#ifdef  CPPL_DEBUG</span>
<span class="preprocessor"></span>  <span class="keywordflow">if</span>(matA.<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>!=matB.<a class="code" href="classdgbmatrix.html#a5b6fe4d1cfa71161b09ecf0b59befd0e" title="matrix column size">n</a> || matA.<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>!=matB.<a class="code" href="classdgbmatrix.html#af8a3e6bc4557b151f0049b8224f54580" title="matrix row size">m</a>){
    ERROR_REPORT;
    std::cerr &lt;&lt; <span class="stringliteral">&quot;These two matrises can not make a summation.&quot;</span> &lt;&lt; std::endl
              &lt;&lt; <span class="stringliteral">&quot;Your input was (&quot;</span> &lt;&lt; matA.<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a> &lt;&lt; <span class="stringliteral">&quot;x&quot;</span> &lt;&lt; matA.<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a> &lt;&lt; <span class="stringliteral">&quot;) + (&quot;</span> &lt;&lt; matB.<a class="code" href="classdgbmatrix.html#af8a3e6bc4557b151f0049b8224f54580" title="matrix row size">m</a> &lt;&lt; <span class="stringliteral">&quot;x&quot;</span> &lt;&lt; matB.<a class="code" href="classdgbmatrix.html#a5b6fe4d1cfa71161b09ecf0b59befd0e" title="matrix column size">n</a> &lt;&lt; <span class="stringliteral">&quot;).&quot;</span> &lt;&lt; std::endl;
    exit(1);
  }
<span class="preprocessor">#endif//CPPL_DEBUG</span>
<span class="preprocessor"></span>  
  <a class="code" href="classdgematrix.html" title="Real Double-precision General Dence Matrix Class.">dgematrix</a> newmat(matA.<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>, matA.<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>);
  <span class="keywordflow">for</span>(<span class="keywordtype">long</span> <a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>=0; <a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>&lt;matB.<a class="code" href="classdgbmatrix.html#af8a3e6bc4557b151f0049b8224f54580" title="matrix row size">m</a>; <a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>++){
    <span class="keywordflow">for</span>(<span class="keywordtype">long</span> j=<a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>; j&lt;matA.<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>; j++){
      newmat(<a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>,j) = newmat(j,<a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>) = matA(<a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>,j);
    }
    <span class="keywordflow">for</span>(<span class="keywordtype">long</span> j=std::max(<span class="keywordtype">long</span>(0),<a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>-matB.<a class="code" href="classdgbmatrix.html#aeeb3e79431677905a4ece19c6616edd4" title="lower band width">kl</a>); j&lt;std::min(matB.<a class="code" href="classdgbmatrix.html#a5b6fe4d1cfa71161b09ecf0b59befd0e" title="matrix column size">n</a>,<a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>+matB.<a class="code" href="classdgbmatrix.html#a0b4d519e95ddf780bf1151a42018d646" title="upper band width">ku</a>+1); j++){
      newmat(<a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>,j)-=matB(<a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>,j);
    }
  }
  
  <span class="keywordflow">return</span> <a class="code" href="classdsymatrix.html#ae4cebf6255f4d5741776b93934a1f540">_</a>(newmat);
}
</pre></div>
</div>
</div>
<a class="anchor" id="ad14e61167adc3da1da2fa15757d38fff"></a><!-- doxytag: member="dsymatrix::operator&#45;" ref="ad14e61167adc3da1da2fa15757d38fff" args="(const dsymatrix &amp;, const _dgbmatrix &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class__dgematrix.html">_dgematrix</a> operator- </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classdsymatrix.html">dsymatrix</a> &amp;&#160;</td>
          <td class="paramname"><em>matA</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="class__dgbmatrix.html">_dgbmatrix</a> &amp;&#160;</td>
          <td class="paramname"><em>matB</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [friend]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>dsymatrix-_dgbmatrix operator </p>

<p>Definition at line <a class="el" href="dsymatrix-__dgbmatrix_8hpp_source.html#l00030">30</a> of file <a class="el" href="dsymatrix-__dgbmatrix_8hpp_source.html">dsymatrix-_dgbmatrix.hpp</a>.</p>
<div class="fragment"><pre class="fragment">{VERBOSE_REPORT;
<span class="preprocessor">#ifdef  CPPL_DEBUG</span>
<span class="preprocessor"></span>  <span class="keywordflow">if</span>(matA.<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>!=matB.<a class="code" href="class__dgbmatrix.html#a95aebc7e2d4ea66b1b7a08e981df6971" title="matrix column size">n</a> || matA.<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>!=matB.<a class="code" href="class__dgbmatrix.html#a587a07ecbbfc6bbdb0e05574ea6b088a" title="matrix row size">m</a>){
    ERROR_REPORT;
    std::cerr &lt;&lt; <span class="stringliteral">&quot;These two matrises can not make a summation.&quot;</span> &lt;&lt; std::endl
              &lt;&lt; <span class="stringliteral">&quot;Your input was (&quot;</span> &lt;&lt; matA.<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a> &lt;&lt; <span class="stringliteral">&quot;x&quot;</span> &lt;&lt; matA.<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a> &lt;&lt; <span class="stringliteral">&quot;) + (&quot;</span> &lt;&lt; matB.<a class="code" href="class__dgbmatrix.html#a587a07ecbbfc6bbdb0e05574ea6b088a" title="matrix row size">m</a> &lt;&lt; <span class="stringliteral">&quot;x&quot;</span> &lt;&lt; matB.<a class="code" href="class__dgbmatrix.html#a95aebc7e2d4ea66b1b7a08e981df6971" title="matrix column size">n</a> &lt;&lt; <span class="stringliteral">&quot;).&quot;</span> &lt;&lt; std::endl;
    exit(1);
  }
<span class="preprocessor">#endif//CPPL_DEBUG</span>
<span class="preprocessor"></span>  
  <a class="code" href="classdgematrix.html" title="Real Double-precision General Dence Matrix Class.">dgematrix</a> newmat(matA.<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>, matA.<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>);
  <span class="keywordflow">for</span>(<span class="keywordtype">long</span> <a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>=0; <a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>&lt;matB.<a class="code" href="class__dgbmatrix.html#a587a07ecbbfc6bbdb0e05574ea6b088a" title="matrix row size">m</a>; <a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>++){
    <span class="keywordflow">for</span>(<span class="keywordtype">long</span> j=<a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>; j&lt;matA.<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>; j++){
      newmat(<a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>,j) = newmat(j,<a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>) = matA(<a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>,j);
    }
    <span class="keywordflow">for</span>(<span class="keywordtype">long</span> j=std::max(<span class="keywordtype">long</span>(0),<a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>-matB.<a class="code" href="class__dgbmatrix.html#aeea4fdf76630ca1b51f93c5bed64662c" title="lower band width">kl</a>); j&lt;std::min(matB.<a class="code" href="class__dgbmatrix.html#a95aebc7e2d4ea66b1b7a08e981df6971" title="matrix column size">n</a>,<a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>+matB.<a class="code" href="class__dgbmatrix.html#a116dadc8ed5246ee0b4cd0a9fffc53ea" title="upper band width">ku</a>+1); j++){
      newmat(<a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>,j)-=matB(<a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>,j);
    }
  }
  
  matB.<a class="code" href="class__dgbmatrix.html#a170fdd995797f5d394863105e658df9e">destroy</a>();
  <span class="keywordflow">return</span> <a class="code" href="classdsymatrix.html#ae4cebf6255f4d5741776b93934a1f540">_</a>(newmat);
}
</pre></div>
</div>
</div>
<a class="anchor" id="a9611af1ce60745ecb52dd0a3f437297e"></a><!-- doxytag: member="dsymatrix::operator&#45;" ref="a9611af1ce60745ecb52dd0a3f437297e" args="(const dsymatrix &amp;, const dgsmatrix &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class__dgematrix.html">_dgematrix</a> operator- </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classdsymatrix.html">dsymatrix</a> &amp;&#160;</td>
          <td class="paramname"><em>matA</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classdgsmatrix.html">dgsmatrix</a> &amp;&#160;</td>
          <td class="paramname"><em>matB</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [friend]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>dsymatrix-dgsmatrix operator </p>

<p>Definition at line <a class="el" href="dsymatrix-dgsmatrix_8hpp_source.html#l00024">24</a> of file <a class="el" href="dsymatrix-dgsmatrix_8hpp_source.html">dsymatrix-dgsmatrix.hpp</a>.</p>
<div class="fragment"><pre class="fragment">{VERBOSE_REPORT;
<span class="preprocessor">#ifdef  CPPL_DEBUG</span>
<span class="preprocessor"></span>  <span class="keywordflow">if</span>(matA.<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>!=matB.<a class="code" href="classdgsmatrix.html#ae2d6c9f9657d44171a4bfd56276277cb" title="matrix row size">m</a> || matA.<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>!=matB.<a class="code" href="classdgsmatrix.html#acefae40b42444c17eebbc23ccee73ae0" title="matrix column size">n</a>){
    ERROR_REPORT;
    std::cerr &lt;&lt; <span class="stringliteral">&quot;These two matrises can not make a subtraction.&quot;</span> &lt;&lt; std::endl
              &lt;&lt; <span class="stringliteral">&quot;Your input was (&quot;</span> &lt;&lt; matA.<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a> &lt;&lt; <span class="stringliteral">&quot;x&quot;</span> &lt;&lt; matA.<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a> &lt;&lt; <span class="stringliteral">&quot;) - (&quot;</span> &lt;&lt; matB.<a class="code" href="classdgsmatrix.html#ae2d6c9f9657d44171a4bfd56276277cb" title="matrix row size">m</a> &lt;&lt; <span class="stringliteral">&quot;x&quot;</span> &lt;&lt; matB.<a class="code" href="classdgsmatrix.html#acefae40b42444c17eebbc23ccee73ae0" title="matrix column size">n</a> &lt;&lt; <span class="stringliteral">&quot;).&quot;</span> &lt;&lt; std::endl;
    exit(1);
  }
<span class="preprocessor">#endif//CPPL_DEBUG</span>
<span class="preprocessor"></span>
  <a class="code" href="classdgematrix.html" title="Real Double-precision General Dence Matrix Class.">dgematrix</a> newmat( matA.<a class="code" href="classdsymatrix.html#a45ff312f6c694841edfd30809e09ba7b">to_dgematrix</a>() );
  <span class="keywordflow">for</span>(std::vector&lt;dcomponent&gt;::const_iterator it=matB.<a class="code" href="classdgsmatrix.html#a9c4f940eeedf7a7869cf03ae4a3558c6" title="matrix data">data</a>.begin(); it!=matB.<a class="code" href="classdgsmatrix.html#a9c4f940eeedf7a7869cf03ae4a3558c6" title="matrix data">data</a>.end(); it++){
    newmat(it-&gt;i,it-&gt;j) -= it-&gt;v;
  }
  
  <span class="keywordflow">return</span> <a class="code" href="classdsymatrix.html#ae4cebf6255f4d5741776b93934a1f540">_</a>(newmat);
}
</pre></div>
</div>
</div>
<a class="anchor" id="a107d522ddfca822775ecfd8493f5e152"></a><!-- doxytag: member="dsymatrix::operator&#45;" ref="a107d522ddfca822775ecfd8493f5e152" args="(const dsymatrix &amp;, const _dgsmatrix &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class__dgematrix.html">_dgematrix</a> operator- </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classdsymatrix.html">dsymatrix</a> &amp;&#160;</td>
          <td class="paramname"><em>matA</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="class__dgsmatrix.html">_dgsmatrix</a> &amp;&#160;</td>
          <td class="paramname"><em>matB</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [friend]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>dsymatrix-_dgsmatrix operator </p>

<p>Definition at line <a class="el" href="dsymatrix-__dgsmatrix_8hpp_source.html#l00025">25</a> of file <a class="el" href="dsymatrix-__dgsmatrix_8hpp_source.html">dsymatrix-_dgsmatrix.hpp</a>.</p>
<div class="fragment"><pre class="fragment">{VERBOSE_REPORT;
<span class="preprocessor">#ifdef  CPPL_DEBUG</span>
<span class="preprocessor"></span>  <span class="keywordflow">if</span>(matA.<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>!=matB.<a class="code" href="class__dgsmatrix.html#ac45fcfd8d9cddb1fae5b66cd9b7ac98a" title="matrix row size">m</a> || matA.<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>!=matB.<a class="code" href="class__dgsmatrix.html#a8457e7af3a1e2ff7d8c3238260d59936" title="matrix column size">n</a>){
    ERROR_REPORT;
    std::cerr &lt;&lt; <span class="stringliteral">&quot;These two matrises can not make a subtraction.&quot;</span> &lt;&lt; std::endl
              &lt;&lt; <span class="stringliteral">&quot;Your input was (&quot;</span> &lt;&lt; matA.<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a> &lt;&lt; <span class="stringliteral">&quot;x&quot;</span> &lt;&lt; matA.<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a> &lt;&lt; <span class="stringliteral">&quot;) - (&quot;</span> &lt;&lt; matB.<a class="code" href="class__dgsmatrix.html#ac45fcfd8d9cddb1fae5b66cd9b7ac98a" title="matrix row size">m</a> &lt;&lt; <span class="stringliteral">&quot;x&quot;</span> &lt;&lt; matB.<a class="code" href="class__dgsmatrix.html#a8457e7af3a1e2ff7d8c3238260d59936" title="matrix column size">n</a> &lt;&lt; <span class="stringliteral">&quot;).&quot;</span> &lt;&lt; std::endl;
    exit(1);
  }
<span class="preprocessor">#endif//CPPL_DEBUG</span>
<span class="preprocessor"></span>
  <a class="code" href="classdgematrix.html" title="Real Double-precision General Dence Matrix Class.">dgematrix</a> newmat( matA.<a class="code" href="classdsymatrix.html#a45ff312f6c694841edfd30809e09ba7b">to_dgematrix</a>() );
  <span class="keywordflow">for</span>(std::vector&lt;dcomponent&gt;::const_iterator it=matB.<a class="code" href="class__dgsmatrix.html#a65ae5bc0001de27f9fe1fb13870b4a30" title="matrix data">data</a>.begin(); it!=matB.<a class="code" href="class__dgsmatrix.html#a65ae5bc0001de27f9fe1fb13870b4a30" title="matrix data">data</a>.end(); it++){
    newmat(it-&gt;i,it-&gt;j) -= it-&gt;v;
  }
  
  matB.<a class="code" href="class__dgsmatrix.html#aa2851712fa4f99d8d608815ef274a362">destroy</a>();
  <span class="keywordflow">return</span> <a class="code" href="classdsymatrix.html#ae4cebf6255f4d5741776b93934a1f540">_</a>(newmat);
}
</pre></div>
</div>
</div>
<a class="anchor" id="a60e6d3b311db794bca9e8a6d3ff97a7d"></a><!-- doxytag: member="dsymatrix::operator&#45;" ref="a60e6d3b311db794bca9e8a6d3ff97a7d" args="(const dsymatrix &amp;, const dssmatrix &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class__dsymatrix.html">_dsymatrix</a> operator- </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classdsymatrix.html">dsymatrix</a> &amp;&#160;</td>
          <td class="paramname">, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classdssmatrix.html">dssmatrix</a> &amp;&#160;</td>
          <td class="paramname">&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [friend]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a75f0286bcd6a239eaa70597c9d8dabb2"></a><!-- doxytag: member="dsymatrix::operator&#45;" ref="a75f0286bcd6a239eaa70597c9d8dabb2" args="(const dsymatrix &amp;, const _dssmatrix &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class__dsymatrix.html">_dsymatrix</a> operator- </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classdsymatrix.html">dsymatrix</a> &amp;&#160;</td>
          <td class="paramname">, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="class__dssmatrix.html">_dssmatrix</a> &amp;&#160;</td>
          <td class="paramname">&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [friend]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="af303c4219fc51f753652cc6836e40c63"></a><!-- doxytag: member="dsymatrix::operator*" ref="af303c4219fc51f753652cc6836e40c63" args="(const dsymatrix &amp;, const dcovector &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class__dcovector.html">_dcovector</a> operator* </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classdsymatrix.html">dsymatrix</a> &amp;&#160;</td>
          <td class="paramname"><em>mat</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classdcovector.html">dcovector</a> &amp;&#160;</td>
          <td class="paramname"><em>vec</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [friend]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>dsymatrix*dcovector operator </p>

<p>Definition at line <a class="el" href="dsymatrix-dcovector_8hpp_source.html#l00003">3</a> of file <a class="el" href="dsymatrix-dcovector_8hpp_source.html">dsymatrix-dcovector.hpp</a>.</p>
<div class="fragment"><pre class="fragment">{VERBOSE_REPORT;
<span class="preprocessor">#ifdef  CPPL_DEBUG</span>
<span class="preprocessor"></span>  <span class="keywordflow">if</span>(mat.<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>!=vec.<a class="code" href="classdcovector.html#a08e64e5ecb5121100787d0f5d48f0af4" title="vector size">l</a>){
    ERROR_REPORT;
    std::cerr &lt;&lt; <span class="stringliteral">&quot;These matrix and vector can not make a product.&quot;</span> &lt;&lt; std::endl
              &lt;&lt; <span class="stringliteral">&quot;Your input was (&quot;</span> &lt;&lt; mat.<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a> &lt;&lt; <span class="stringliteral">&quot;x&quot;</span> &lt;&lt; mat.<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a> &lt;&lt; <span class="stringliteral">&quot;) * (&quot;</span> &lt;&lt; vec.<a class="code" href="classdcovector.html#a08e64e5ecb5121100787d0f5d48f0af4" title="vector size">l</a> &lt;&lt; <span class="stringliteral">&quot;).&quot;</span> &lt;&lt; std::endl;
    exit(1);
  }
<span class="preprocessor">#endif//CPPL_DEBUG</span>
<span class="preprocessor"></span>  
  <a class="code" href="classdcovector.html" title="Real Double-precision Column Vector Class.">dcovector</a> newvec(mat.<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>);
  dsymv_( <span class="charliteral">&#39;l&#39;</span>, mat.<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>, 1.0, mat.<a class="code" href="classdsymatrix.html#a7efa7c974733dc3111167a9ebb217e1f" title="1D array to store matrix data">array</a>, mat.<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>, vec.<a class="code" href="classdcovector.html#a9b188bf160d8f7e24ea1d41deaceaf6d" title="1D array to store vector data">array</a>, 1, 0.0, newvec.array, 1 );
  
  <span class="keywordflow">return</span> <a class="code" href="classdsymatrix.html#ae4cebf6255f4d5741776b93934a1f540">_</a>(newvec);
}
</pre></div>
</div>
</div>
<a class="anchor" id="a4e84b6330adf0921f7226db3c399ae95"></a><!-- doxytag: member="dsymatrix::operator*" ref="a4e84b6330adf0921f7226db3c399ae95" args="(const dsymatrix &amp;, const _dcovector &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class__dcovector.html">_dcovector</a> operator* </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classdsymatrix.html">dsymatrix</a> &amp;&#160;</td>
          <td class="paramname"><em>mat</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="class__dcovector.html">_dcovector</a> &amp;&#160;</td>
          <td class="paramname"><em>vec</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [friend]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>dsymatrix*_dcovector operator </p>

<p>Definition at line <a class="el" href="dsymatrix-__dcovector_8hpp_source.html#l00003">3</a> of file <a class="el" href="dsymatrix-__dcovector_8hpp_source.html">dsymatrix-_dcovector.hpp</a>.</p>
<div class="fragment"><pre class="fragment">{VERBOSE_REPORT;
<span class="preprocessor">#ifdef  CPPL_DEBUG</span>
<span class="preprocessor"></span>  <span class="keywordflow">if</span>(mat.<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>!=vec.<a class="code" href="class__dcovector.html#a2db3a577da8bc07533cf2da09fddaa58" title="vector size">l</a>){
    ERROR_REPORT;
    std::cerr &lt;&lt; <span class="stringliteral">&quot;These matrix and vector can not make a product.&quot;</span> &lt;&lt; std::endl
              &lt;&lt; <span class="stringliteral">&quot;Your input was (&quot;</span> &lt;&lt; mat.<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a> &lt;&lt; <span class="stringliteral">&quot;x&quot;</span> &lt;&lt; mat.<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a> &lt;&lt; <span class="stringliteral">&quot;) * (&quot;</span> &lt;&lt; vec.<a class="code" href="class__dcovector.html#a2db3a577da8bc07533cf2da09fddaa58" title="vector size">l</a> &lt;&lt; <span class="stringliteral">&quot;).&quot;</span> &lt;&lt; std::endl;
    exit(1);
  }
<span class="preprocessor">#endif//CPPL_DEBUG</span>
<span class="preprocessor"></span>  
  <a class="code" href="classdcovector.html" title="Real Double-precision Column Vector Class.">dcovector</a> newvec(mat.<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>);
  dsymv_( <span class="charliteral">&#39;l&#39;</span>, mat.<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>, 1.0, mat.<a class="code" href="classdsymatrix.html#a7efa7c974733dc3111167a9ebb217e1f" title="1D array to store matrix data">array</a>, mat.<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>,
          vec.<a class="code" href="class__dcovector.html#a27693f26cc6e9e25c349c7fbf7cc2b67" title="1D array to store vector data">array</a>, 1, 0.0, newvec.array, 1 );
  
  vec.<a class="code" href="class__dcovector.html#a3e16f52298eac6c97958a9cbc6388bc4">destroy</a>();
  <span class="keywordflow">return</span> <a class="code" href="classdsymatrix.html#ae4cebf6255f4d5741776b93934a1f540">_</a>(newvec);
}
</pre></div>
</div>
</div>
<a class="anchor" id="a2166272ea05d4b380a52a34738688b8d"></a><!-- doxytag: member="dsymatrix::operator*" ref="a2166272ea05d4b380a52a34738688b8d" args="(const dsymatrix &amp;, const dgematrix &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class__dgematrix.html">_dgematrix</a> operator* </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classdsymatrix.html">dsymatrix</a> &amp;&#160;</td>
          <td class="paramname"><em>matA</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classdgematrix.html">dgematrix</a> &amp;&#160;</td>
          <td class="paramname"><em>matB</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [friend]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>dsymatrix*dgematrix operator </p>

<p>Definition at line <a class="el" href="dsymatrix-dgematrix_8hpp_source.html#l00050">50</a> of file <a class="el" href="dsymatrix-dgematrix_8hpp_source.html">dsymatrix-dgematrix.hpp</a>.</p>
<div class="fragment"><pre class="fragment">{VERBOSE_REPORT;
<span class="preprocessor">#ifdef  CPPL_DEBUG</span>
<span class="preprocessor"></span>  <span class="keywordflow">if</span>(matA.<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>!=matB.<a class="code" href="classdgematrix.html#a3852aa1d0b876a74c1070e982cf388a2" title="matrix row size">m</a>){
    ERROR_REPORT;
    std::cerr &lt;&lt; <span class="stringliteral">&quot;These two matrises can not make a product.&quot;</span> &lt;&lt; std::endl
              &lt;&lt; <span class="stringliteral">&quot;Your input was (&quot;</span> &lt;&lt; matA.<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a> &lt;&lt; <span class="stringliteral">&quot;x&quot;</span> &lt;&lt; matA.<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a> &lt;&lt; <span class="stringliteral">&quot;) * (&quot;</span> &lt;&lt; matB.<a class="code" href="classdgematrix.html#a3852aa1d0b876a74c1070e982cf388a2" title="matrix row size">m</a> &lt;&lt; <span class="stringliteral">&quot;x&quot;</span> &lt;&lt; matB.<a class="code" href="classdgematrix.html#a60d26e3a499a235310e59a0aebbe0d0a" title="matrix column size">n</a> &lt;&lt; <span class="stringliteral">&quot;).&quot;</span> &lt;&lt; std::endl;
    exit(1);
  }
<span class="preprocessor">#endif//CPPL_DEBUG</span>
<span class="preprocessor"></span>
  <a class="code" href="classdgematrix.html" title="Real Double-precision General Dence Matrix Class.">dgematrix</a> newmat( matA.<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>, matB.<a class="code" href="classdgematrix.html#a60d26e3a499a235310e59a0aebbe0d0a" title="matrix column size">n</a> );
  dsymm_( <span class="charliteral">&#39;l&#39;</span>, <span class="charliteral">&#39;l&#39;</span>, matA.<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>, matB.<a class="code" href="classdgematrix.html#a60d26e3a499a235310e59a0aebbe0d0a" title="matrix column size">n</a>, 1.0, matA.<a class="code" href="classdsymatrix.html#a7efa7c974733dc3111167a9ebb217e1f" title="1D array to store matrix data">array</a>, matA.<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>,
          matB.<a class="code" href="classdgematrix.html#a006ce8c2f9add380bcb2816fdb13aa01" title="1D array to store matrix data">array</a>, matB.<a class="code" href="classdgematrix.html#a3852aa1d0b876a74c1070e982cf388a2" title="matrix row size">m</a>, 0.0, newmat.array, newmat.m );
  
  <span class="keywordflow">return</span> <a class="code" href="classdsymatrix.html#ae4cebf6255f4d5741776b93934a1f540">_</a>(newmat);
}
</pre></div>
</div>
</div>
<a class="anchor" id="a5a91ced0f02f3da9b6eaf59412610962"></a><!-- doxytag: member="dsymatrix::operator*" ref="a5a91ced0f02f3da9b6eaf59412610962" args="(const dsymatrix &amp;, const _dgematrix &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class__dgematrix.html">_dgematrix</a> operator* </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classdsymatrix.html">dsymatrix</a> &amp;&#160;</td>
          <td class="paramname"><em>matA</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="class__dgematrix.html">_dgematrix</a> &amp;&#160;</td>
          <td class="paramname"><em>matB</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [friend]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>_dgematrix*dgematrix operator </p>

<p>Definition at line <a class="el" href="dsymatrix-__dgematrix_8hpp_source.html#l00047">47</a> of file <a class="el" href="dsymatrix-__dgematrix_8hpp_source.html">dsymatrix-_dgematrix.hpp</a>.</p>
<div class="fragment"><pre class="fragment">{VERBOSE_REPORT;
<span class="preprocessor">#ifdef  CPPL_DEBUG</span>
<span class="preprocessor"></span>  <span class="keywordflow">if</span>(matA.<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>!=matB.<a class="code" href="class__dgematrix.html#a4c07ace0e1899332aa2d620af184dadf" title="matrix row size">m</a>){
    ERROR_REPORT;
    std::cerr &lt;&lt; <span class="stringliteral">&quot;These two matrises can not make a product.&quot;</span> &lt;&lt; std::endl
              &lt;&lt; <span class="stringliteral">&quot;Your input was (&quot;</span> &lt;&lt; matA.<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a> &lt;&lt; <span class="stringliteral">&quot;x&quot;</span> &lt;&lt; matA.<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a> &lt;&lt; <span class="stringliteral">&quot;) * (&quot;</span> &lt;&lt; matB.<a class="code" href="class__dgematrix.html#a4c07ace0e1899332aa2d620af184dadf" title="matrix row size">m</a> &lt;&lt; <span class="stringliteral">&quot;x&quot;</span> &lt;&lt; matB.<a class="code" href="class__dgematrix.html#ad46b02985eb9537b1bd65937d5b052de" title="matrix column size">n</a> &lt;&lt; <span class="stringliteral">&quot;).&quot;</span> &lt;&lt; std::endl;
    exit(1);
  }
<span class="preprocessor">#endif//CPPL_DEBUG</span>
<span class="preprocessor"></span>  
  <a class="code" href="classdgematrix.html" title="Real Double-precision General Dence Matrix Class.">dgematrix</a> newmat( matA.<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>, matB.<a class="code" href="class__dgematrix.html#ad46b02985eb9537b1bd65937d5b052de" title="matrix column size">n</a> );
  dsymm_( <span class="charliteral">&#39;l&#39;</span>, <span class="charliteral">&#39;l&#39;</span>, matA.<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>, matB.<a class="code" href="class__dgematrix.html#ad46b02985eb9537b1bd65937d5b052de" title="matrix column size">n</a>, 1.0, matA.<a class="code" href="classdsymatrix.html#a7efa7c974733dc3111167a9ebb217e1f" title="1D array to store matrix data">array</a>, matA.<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>, 
          matB.<a class="code" href="class__dgematrix.html#ad01c168fc4997d06e7c996ba36b12ff6" title="1D array to store matrix data">array</a>, matB.<a class="code" href="class__dgematrix.html#a4c07ace0e1899332aa2d620af184dadf" title="matrix row size">m</a>, 0.0, newmat.array, newmat.m );
  
  matB.<a class="code" href="class__dgematrix.html#ac6d270d6c2d1d73afdfb2029eca920d9">destroy</a>();
  <span class="keywordflow">return</span> <a class="code" href="classdsymatrix.html#ae4cebf6255f4d5741776b93934a1f540">_</a>(newmat);
}
</pre></div>
</div>
</div>
<a class="anchor" id="aff4ef5cb19b2bc8e5dc463b48e39947e"></a><!-- doxytag: member="dsymatrix::operator*" ref="aff4ef5cb19b2bc8e5dc463b48e39947e" args="(const dsymatrix &amp;, const dsymatrix &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class__dgematrix.html">_dgematrix</a> operator* </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classdsymatrix.html">dsymatrix</a> &amp;&#160;</td>
          <td class="paramname"><em>matA</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classdsymatrix.html">dsymatrix</a> &amp;&#160;</td>
          <td class="paramname"><em>matB</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [friend]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>dsymatrix*dsymatrix operator </p>

<p>Definition at line <a class="el" href="dsymatrix-dsymatrix_8hpp_source.html#l00109">109</a> of file <a class="el" href="dsymatrix-dsymatrix_8hpp_source.html">dsymatrix-dsymatrix.hpp</a>.</p>
<div class="fragment"><pre class="fragment">{VERBOSE_REPORT;
<span class="preprocessor">#ifdef  CPPL_DEBUG</span>
<span class="preprocessor"></span>  <span class="keywordflow">if</span>(matA.<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>!=matB.<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>){
    ERROR_REPORT;
    std::cerr &lt;&lt; <span class="stringliteral">&quot;These two matrises can not make a product.&quot;</span> &lt;&lt; std::endl
              &lt;&lt; <span class="stringliteral">&quot;Your input was (&quot;</span> &lt;&lt; matA.<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a> &lt;&lt; <span class="stringliteral">&quot;x&quot;</span> &lt;&lt; matA.<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a> &lt;&lt; <span class="stringliteral">&quot;) * (&quot;</span> &lt;&lt; matB.<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a> &lt;&lt; <span class="stringliteral">&quot;x&quot;</span> &lt;&lt; matB.<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a> &lt;&lt; <span class="stringliteral">&quot;).&quot;</span> &lt;&lt; std::endl;
    exit(1);
  }
<span class="preprocessor">#endif//CPPL_DEBUG</span>
<span class="preprocessor"></span>  
  matA.<a class="code" href="classdsymatrix.html#a09530f2e3c2397751b4d66a6f73ce86b">complete</a>();
  matB.<a class="code" href="classdsymatrix.html#a09530f2e3c2397751b4d66a6f73ce86b">complete</a>();
  <a class="code" href="classdgematrix.html" title="Real Double-precision General Dence Matrix Class.">dgematrix</a> newmat(matA.<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>, matA.<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>);
  
  dgemm_( <span class="charliteral">&#39;n&#39;</span>, <span class="charliteral">&#39;n&#39;</span>, matA.<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>, matB.<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>, matA.<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>, 1.0, matA.<a class="code" href="classdsymatrix.html#a7efa7c974733dc3111167a9ebb217e1f" title="1D array to store matrix data">array</a>, matA.<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>,
          matB.<a class="code" href="classdsymatrix.html#a7efa7c974733dc3111167a9ebb217e1f" title="1D array to store matrix data">array</a>, matB.<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>, 0.0, newmat.array, matA.<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a> );
  
  <span class="keywordflow">return</span> <a class="code" href="classdsymatrix.html#ae4cebf6255f4d5741776b93934a1f540">_</a>(newmat);
}
</pre></div>
</div>
</div>
<a class="anchor" id="a469a7293a571619feef4b9b65604bcd8"></a><!-- doxytag: member="dsymatrix::operator*" ref="a469a7293a571619feef4b9b65604bcd8" args="(const dsymatrix &amp;, const _dsymatrix &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class__dgematrix.html">_dgematrix</a> operator* </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classdsymatrix.html">dsymatrix</a> &amp;&#160;</td>
          <td class="paramname"><em>matA</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="class__dsymatrix.html">_dsymatrix</a> &amp;&#160;</td>
          <td class="paramname"><em>matB</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [friend]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>dsymatrix*_dsymatrix operator </p>

<p>Definition at line <a class="el" href="dsymatrix-__dsymatrix_8hpp_source.html#l00109">109</a> of file <a class="el" href="dsymatrix-__dsymatrix_8hpp_source.html">dsymatrix-_dsymatrix.hpp</a>.</p>
<div class="fragment"><pre class="fragment">{VERBOSE_REPORT;
<span class="preprocessor">#ifdef  CPPL_DEBUG</span>
<span class="preprocessor"></span>  <span class="keywordflow">if</span>(matA.<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>!=matB.<a class="code" href="class__dsymatrix.html#a8b56cdf252a15da3e211b558abd46c1b" title="matrix column size">n</a>){
    ERROR_REPORT;
    std::cerr &lt;&lt; <span class="stringliteral">&quot;These two matrises can not make a product.&quot;</span> &lt;&lt; std::endl
              &lt;&lt; <span class="stringliteral">&quot;Your input was (&quot;</span> &lt;&lt; matA.<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a> &lt;&lt; <span class="stringliteral">&quot;x&quot;</span> &lt;&lt; matA.<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a> &lt;&lt; <span class="stringliteral">&quot;) * (&quot;</span> &lt;&lt; matB.<a class="code" href="class__dsymatrix.html#a8b56cdf252a15da3e211b558abd46c1b" title="matrix column size">n</a> &lt;&lt; <span class="stringliteral">&quot;x&quot;</span> &lt;&lt; matB.<a class="code" href="class__dsymatrix.html#a8b56cdf252a15da3e211b558abd46c1b" title="matrix column size">n</a> &lt;&lt; <span class="stringliteral">&quot;).&quot;</span> &lt;&lt; std::endl;
    exit(1);
  }
<span class="preprocessor">#endif//CPPL_DEBUG</span>
<span class="preprocessor"></span>  
  matA.<a class="code" href="classdsymatrix.html#a09530f2e3c2397751b4d66a6f73ce86b">complete</a>();
  matB.<a class="code" href="class__dsymatrix.html#abfd55ec47814e32e991ddd3c8de6b1f8">complete</a>();  
  <a class="code" href="classdgematrix.html" title="Real Double-precision General Dence Matrix Class.">dgematrix</a> newmat( matA.<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>, matA.<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a> );
  
  dgemm_( <span class="charliteral">&#39;n&#39;</span>, <span class="charliteral">&#39;n&#39;</span>, matA.<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>, matB.<a class="code" href="class__dsymatrix.html#a8b56cdf252a15da3e211b558abd46c1b" title="matrix column size">n</a>, matA.<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>, 1.0, matA.<a class="code" href="classdsymatrix.html#a7efa7c974733dc3111167a9ebb217e1f" title="1D array to store matrix data">array</a>, matA.<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>,
          matB.<a class="code" href="class__dsymatrix.html#a656ab414ee51638aedc9bf4960fe428a" title="1D array to store matrix data">array</a>, matB.<a class="code" href="class__dsymatrix.html#a8b56cdf252a15da3e211b558abd46c1b" title="matrix column size">n</a>, 0.0, newmat.array, matA.<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a> );
  
  matB.<a class="code" href="class__dsymatrix.html#a09e5b4ca8579bef58e01e80c22e799b1">destroy</a>();
  <span class="keywordflow">return</span> <a class="code" href="classdsymatrix.html#ae4cebf6255f4d5741776b93934a1f540">_</a>(newmat);
}
</pre></div>
</div>
</div>
<a class="anchor" id="a08083a09e286b70511f1f692ec6c6181"></a><!-- doxytag: member="dsymatrix::operator*" ref="a08083a09e286b70511f1f692ec6c6181" args="(const dsymatrix &amp;, const dgbmatrix &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class__dgematrix.html">_dgematrix</a> operator* </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classdsymatrix.html">dsymatrix</a> &amp;&#160;</td>
          <td class="paramname"><em>matA</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classdgbmatrix.html">dgbmatrix</a> &amp;&#160;</td>
          <td class="paramname"><em>matB</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [friend]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>dsymatrix*dgbmatrix operator </p>

<p>Definition at line <a class="el" href="dsymatrix-dgbmatrix_8hpp_source.html#l00055">55</a> of file <a class="el" href="dsymatrix-dgbmatrix_8hpp_source.html">dsymatrix-dgbmatrix.hpp</a>.</p>
<div class="fragment"><pre class="fragment">{VERBOSE_REPORT;
<span class="preprocessor">#ifdef  CPPL_DEBUG</span>
<span class="preprocessor"></span>  <span class="keywordflow">if</span>(matA.<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>!=matB.<a class="code" href="classdgbmatrix.html#af8a3e6bc4557b151f0049b8224f54580" title="matrix row size">m</a>){
    ERROR_REPORT;
    std::cerr &lt;&lt; <span class="stringliteral">&quot;These two matrises can not make a product.&quot;</span> &lt;&lt; std::endl
              &lt;&lt; <span class="stringliteral">&quot;Your input was (&quot;</span> &lt;&lt; matA.<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a> &lt;&lt; <span class="stringliteral">&quot;x&quot;</span> &lt;&lt; matA.<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a> &lt;&lt; <span class="stringliteral">&quot;) * (&quot;</span> &lt;&lt; matB.<a class="code" href="classdgbmatrix.html#af8a3e6bc4557b151f0049b8224f54580" title="matrix row size">m</a> &lt;&lt; <span class="stringliteral">&quot;x&quot;</span> &lt;&lt; matB.<a class="code" href="classdgbmatrix.html#a5b6fe4d1cfa71161b09ecf0b59befd0e" title="matrix column size">n</a> &lt;&lt; <span class="stringliteral">&quot;).&quot;</span> &lt;&lt; std::endl;
    exit(1);
  }
<span class="preprocessor">#endif//CPPL_DEBUG</span>
<span class="preprocessor"></span>
  <a class="code" href="classdgematrix.html" title="Real Double-precision General Dence Matrix Class.">dgematrix</a> newmat( matA.<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>, matB.<a class="code" href="classdgbmatrix.html#a5b6fe4d1cfa71161b09ecf0b59befd0e" title="matrix column size">n</a> );
  newmat.zero();
  
  <span class="keywordflow">for</span>(<span class="keywordtype">long</span> <a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>=0; <a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>&lt;newmat.<a class="code" href="class__dsymatrix.html#a0ae0bb2812e15cb1a0667fd6f6f6b44f" title="matrix row size">m</a>; <a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>++){
    <span class="keywordflow">for</span>(<span class="keywordtype">long</span> j=0; j&lt;newmat.n; j++){
      <span class="keywordflow">for</span>(<span class="keywordtype">long</span> k=std::max(<span class="keywordtype">long</span>(0),j-matB.<a class="code" href="classdgbmatrix.html#a0b4d519e95ddf780bf1151a42018d646" title="upper band width">ku</a>); k&lt;std::min(matB.<a class="code" href="classdgbmatrix.html#af8a3e6bc4557b151f0049b8224f54580" title="matrix row size">m</a>,j+matB.<a class="code" href="classdgbmatrix.html#aeeb3e79431677905a4ece19c6616edd4" title="lower band width">kl</a>+1); k++){
        newmat(<a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>,j)+=matA(<a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>,k)*matB(k,j);
      }
    }
  }
  
  <span class="keywordflow">return</span> <a class="code" href="classdsymatrix.html#ae4cebf6255f4d5741776b93934a1f540">_</a>(newmat);
}
</pre></div>
</div>
</div>
<a class="anchor" id="acdf423b6ced8d23584e91691d88e7108"></a><!-- doxytag: member="dsymatrix::operator*" ref="acdf423b6ced8d23584e91691d88e7108" args="(const dsymatrix &amp;, const _dgbmatrix &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class__dgematrix.html">_dgematrix</a> operator* </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classdsymatrix.html">dsymatrix</a> &amp;&#160;</td>
          <td class="paramname"><em>matA</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="class__dgbmatrix.html">_dgbmatrix</a> &amp;&#160;</td>
          <td class="paramname"><em>matB</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [friend]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>dsymatrix*_dgbmatrix operator </p>

<p>Definition at line <a class="el" href="dsymatrix-__dgbmatrix_8hpp_source.html#l00057">57</a> of file <a class="el" href="dsymatrix-__dgbmatrix_8hpp_source.html">dsymatrix-_dgbmatrix.hpp</a>.</p>
<div class="fragment"><pre class="fragment">{VERBOSE_REPORT;
<span class="preprocessor">#ifdef  CPPL_DEBUG</span>
<span class="preprocessor"></span>  <span class="keywordflow">if</span>(matA.<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>!=matB.<a class="code" href="class__dgbmatrix.html#a587a07ecbbfc6bbdb0e05574ea6b088a" title="matrix row size">m</a>){
    ERROR_REPORT;
    std::cerr &lt;&lt; <span class="stringliteral">&quot;These two matrises can not make a product.&quot;</span> &lt;&lt; std::endl
              &lt;&lt; <span class="stringliteral">&quot;Your input was (&quot;</span> &lt;&lt; matA.<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a> &lt;&lt; <span class="stringliteral">&quot;x&quot;</span> &lt;&lt; matA.<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a> &lt;&lt; <span class="stringliteral">&quot;) * (&quot;</span> &lt;&lt; matB.<a class="code" href="class__dgbmatrix.html#a587a07ecbbfc6bbdb0e05574ea6b088a" title="matrix row size">m</a> &lt;&lt; <span class="stringliteral">&quot;x&quot;</span> &lt;&lt; matB.<a class="code" href="class__dgbmatrix.html#a95aebc7e2d4ea66b1b7a08e981df6971" title="matrix column size">n</a> &lt;&lt; <span class="stringliteral">&quot;).&quot;</span> &lt;&lt; std::endl;
    exit(1);
  }
<span class="preprocessor">#endif//CPPL_DEBUG</span>
<span class="preprocessor"></span>  
  <a class="code" href="classdgematrix.html" title="Real Double-precision General Dence Matrix Class.">dgematrix</a> newmat( matA.<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>, matB.<a class="code" href="class__dgbmatrix.html#a95aebc7e2d4ea66b1b7a08e981df6971" title="matrix column size">n</a> );
  newmat.zero();
  
  <span class="keywordflow">for</span>(<span class="keywordtype">long</span> <a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>=0; <a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>&lt;newmat.<a class="code" href="class__dsymatrix.html#a0ae0bb2812e15cb1a0667fd6f6f6b44f" title="matrix row size">m</a>; <a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>++){
    <span class="keywordflow">for</span>(<span class="keywordtype">long</span> j=0; j&lt;newmat.n; j++){
      <span class="keywordflow">for</span>(<span class="keywordtype">long</span> k=std::max(<span class="keywordtype">long</span>(0),j-matB.<a class="code" href="class__dgbmatrix.html#a116dadc8ed5246ee0b4cd0a9fffc53ea" title="upper band width">ku</a>); k&lt;std::min(matB.<a class="code" href="class__dgbmatrix.html#a587a07ecbbfc6bbdb0e05574ea6b088a" title="matrix row size">m</a>,j+matB.<a class="code" href="class__dgbmatrix.html#aeea4fdf76630ca1b51f93c5bed64662c" title="lower band width">kl</a>+1); k++){
        newmat(<a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>,j)+=matA(<a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>,k)*matB(k,j);
      }
    }
  }
  
  matB.<a class="code" href="class__dgbmatrix.html#a170fdd995797f5d394863105e658df9e">destroy</a>();
  <span class="keywordflow">return</span> <a class="code" href="classdsymatrix.html#ae4cebf6255f4d5741776b93934a1f540">_</a>(newmat);
}
</pre></div>
</div>
</div>
<a class="anchor" id="a4ffc81f6d381fb00672970b0e940cddf"></a><!-- doxytag: member="dsymatrix::operator*" ref="a4ffc81f6d381fb00672970b0e940cddf" args="(const dsymatrix &amp;, const dgsmatrix &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class__dgematrix.html">_dgematrix</a> operator* </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classdsymatrix.html">dsymatrix</a> &amp;&#160;</td>
          <td class="paramname"><em>matA</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classdgsmatrix.html">dgsmatrix</a> &amp;&#160;</td>
          <td class="paramname"><em>matB</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [friend]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>dsymatrix*dgsmatrix operator </p>

<p>Definition at line <a class="el" href="dsymatrix-dgsmatrix_8hpp_source.html#l00045">45</a> of file <a class="el" href="dsymatrix-dgsmatrix_8hpp_source.html">dsymatrix-dgsmatrix.hpp</a>.</p>
<div class="fragment"><pre class="fragment">{VERBOSE_REPORT;
<span class="preprocessor">#ifdef  CPPL_DEBUG</span>
<span class="preprocessor"></span>  <span class="keywordflow">if</span>(matA.<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>!=matB.<a class="code" href="classdgsmatrix.html#ae2d6c9f9657d44171a4bfd56276277cb" title="matrix row size">m</a>){
    ERROR_REPORT;
    std::cerr &lt;&lt; <span class="stringliteral">&quot;These two matrises can not make a product.&quot;</span> &lt;&lt; std::endl
              &lt;&lt; <span class="stringliteral">&quot;Your input was (&quot;</span> &lt;&lt; matA.<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a> &lt;&lt; <span class="stringliteral">&quot;x&quot;</span> &lt;&lt; matA.<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a> &lt;&lt; <span class="stringliteral">&quot;) * (&quot;</span> &lt;&lt; matB.<a class="code" href="classdgsmatrix.html#ae2d6c9f9657d44171a4bfd56276277cb" title="matrix row size">m</a> &lt;&lt; <span class="stringliteral">&quot;x&quot;</span> &lt;&lt; matB.<a class="code" href="classdgsmatrix.html#acefae40b42444c17eebbc23ccee73ae0" title="matrix column size">n</a> &lt;&lt; <span class="stringliteral">&quot;).&quot;</span> &lt;&lt; std::endl;
    exit(1);
  }
<span class="preprocessor">#endif//CPPL_DEBUG</span>
<span class="preprocessor"></span>  
  <a class="code" href="classdgematrix.html" title="Real Double-precision General Dence Matrix Class.">dgematrix</a> newmat(matA.<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>, matB.<a class="code" href="classdgsmatrix.html#acefae40b42444c17eebbc23ccee73ae0" title="matrix column size">n</a>);
  newmat.zero();
  <span class="keywordflow">for</span>(std::vector&lt;dcomponent&gt;::const_iterator it=matB.<a class="code" href="classdgsmatrix.html#a9c4f940eeedf7a7869cf03ae4a3558c6" title="matrix data">data</a>.begin(); it!=matB.<a class="code" href="classdgsmatrix.html#a9c4f940eeedf7a7869cf03ae4a3558c6" title="matrix data">data</a>.end(); it++){
    <span class="keywordflow">for</span>(<span class="keywordtype">long</span> <a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>=0; <a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>&lt;matA.<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>; <a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>++){
      newmat(<a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>,it-&gt;j) += matB(<a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>,it-&gt;<a class="code" href="class__dsymatrix.html#a0697d2173dfc389bf1312d7bf6a5bd3b">i</a>)*it-&gt;v;
    }
  }
  
  <span class="keywordflow">return</span> <a class="code" href="classdsymatrix.html#ae4cebf6255f4d5741776b93934a1f540">_</a>(newmat);
}
</pre></div>
</div>
</div>
<a class="anchor" id="a7069f9ee1186800fa9a9c630a26ba33a"></a><!-- doxytag: member="dsymatrix::operator*" ref="a7069f9ee1186800fa9a9c630a26ba33a" args="(const dsymatrix &amp;, const _dgsmatrix &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class__dgematrix.html">_dgematrix</a> operator* </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classdsymatrix.html">dsymatrix</a> &amp;&#160;</td>
          <td class="paramname"><em>matA</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="class__dgsmatrix.html">_dgsmatrix</a> &amp;&#160;</td>
          <td class="paramname"><em>matB</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [friend]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>dsymatrix*_dgsmatrix operator </p>

<p>Definition at line <a class="el" href="dsymatrix-__dgsmatrix_8hpp_source.html#l00047">47</a> of file <a class="el" href="dsymatrix-__dgsmatrix_8hpp_source.html">dsymatrix-_dgsmatrix.hpp</a>.</p>
<div class="fragment"><pre class="fragment">{VERBOSE_REPORT;
<span class="preprocessor">#ifdef  CPPL_DEBUG</span>
<span class="preprocessor"></span>  <span class="keywordflow">if</span>(matA.<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>!=matB.<a class="code" href="class__dgsmatrix.html#ac45fcfd8d9cddb1fae5b66cd9b7ac98a" title="matrix row size">m</a>){
    ERROR_REPORT;
    std::cerr &lt;&lt; <span class="stringliteral">&quot;These two matrises can not make a product.&quot;</span> &lt;&lt; std::endl
              &lt;&lt; <span class="stringliteral">&quot;Your input was (&quot;</span> &lt;&lt; matA.<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a> &lt;&lt; <span class="stringliteral">&quot;x&quot;</span> &lt;&lt; matA.<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a> &lt;&lt; <span class="stringliteral">&quot;) * (&quot;</span> &lt;&lt; matB.<a class="code" href="class__dgsmatrix.html#ac45fcfd8d9cddb1fae5b66cd9b7ac98a" title="matrix row size">m</a> &lt;&lt; <span class="stringliteral">&quot;x&quot;</span> &lt;&lt; matB.<a class="code" href="class__dgsmatrix.html#a8457e7af3a1e2ff7d8c3238260d59936" title="matrix column size">n</a> &lt;&lt; <span class="stringliteral">&quot;).&quot;</span> &lt;&lt; std::endl;
    exit(1);
  }
<span class="preprocessor">#endif//CPPL_DEBUG</span>
<span class="preprocessor"></span>  
  <a class="code" href="classdgematrix.html" title="Real Double-precision General Dence Matrix Class.">dgematrix</a> newmat(matA.<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>, matB.<a class="code" href="class__dgsmatrix.html#a8457e7af3a1e2ff7d8c3238260d59936" title="matrix column size">n</a>);
  newmat.zero();
  <span class="keywordflow">for</span>(std::vector&lt;dcomponent&gt;::const_iterator it=matB.<a class="code" href="class__dgsmatrix.html#a65ae5bc0001de27f9fe1fb13870b4a30" title="matrix data">data</a>.begin(); it!=matB.<a class="code" href="class__dgsmatrix.html#a65ae5bc0001de27f9fe1fb13870b4a30" title="matrix data">data</a>.end(); it++){
    <span class="keywordflow">for</span>(<span class="keywordtype">long</span> <a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>=0; <a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>&lt;matA.<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>; <a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>++){
      newmat(<a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>,it-&gt;j) += matB(<a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>,it-&gt;<a class="code" href="class__dsymatrix.html#a0697d2173dfc389bf1312d7bf6a5bd3b">i</a>)*it-&gt;v;
    }
  }
  
  matB.<a class="code" href="class__dgsmatrix.html#aa2851712fa4f99d8d608815ef274a362">destroy</a>();
  <span class="keywordflow">return</span> <a class="code" href="classdsymatrix.html#ae4cebf6255f4d5741776b93934a1f540">_</a>(newmat);
}
</pre></div>
</div>
</div>
<a class="anchor" id="acdec83aebce27854dd70a3dfa48634c2"></a><!-- doxytag: member="dsymatrix::operator*" ref="acdec83aebce27854dd70a3dfa48634c2" args="(const dsymatrix &amp;, const dssmatrix &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class__dsymatrix.html">_dsymatrix</a> operator* </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classdsymatrix.html">dsymatrix</a> &amp;&#160;</td>
          <td class="paramname">, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classdssmatrix.html">dssmatrix</a> &amp;&#160;</td>
          <td class="paramname">&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [friend]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a42fe01a2a6cc31764c01690d97b0e1fb"></a><!-- doxytag: member="dsymatrix::operator*" ref="a42fe01a2a6cc31764c01690d97b0e1fb" args="(const dsymatrix &amp;, const _dssmatrix &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class__dsymatrix.html">_dsymatrix</a> operator* </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classdsymatrix.html">dsymatrix</a> &amp;&#160;</td>
          <td class="paramname">, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="class__dssmatrix.html">_dssmatrix</a> &amp;&#160;</td>
          <td class="paramname">&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [friend]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a0e2b2a65541aedb079fc26b61c9ee1c2"></a><!-- doxytag: member="dsymatrix::operator*" ref="a0e2b2a65541aedb079fc26b61c9ee1c2" args="(const dsymatrix &amp;, const double &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class__dsymatrix.html">_dsymatrix</a> operator* </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classdsymatrix.html">dsymatrix</a> &amp;&#160;</td>
          <td class="paramname"><em>mat</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const double &amp;&#160;</td>
          <td class="paramname"><em>d</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [friend]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>dsymatrix*double operator </p>

<p>Definition at line <a class="el" href="dsymatrix-double_8hpp_source.html#l00032">32</a> of file <a class="el" href="dsymatrix-double_8hpp_source.html">dsymatrix-double.hpp</a>.</p>
<div class="fragment"><pre class="fragment">{VERBOSE_REPORT;
  <a class="code" href="classdsymatrix.html" title="Real Double-precision Symmetric Matrix Class [l-type (UPLO=l) Strage].">dsymatrix</a> newmat(mat.<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>);
  <span class="keywordflow">for</span>(<span class="keywordtype">long</span> <a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>=0; <a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>&lt;mat.<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>; <a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>++){
    <span class="keywordflow">for</span>(<span class="keywordtype">long</span> j=0; j&lt;=<a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>; j++){
      newmat.darray[j][<a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>] =mat.<a class="code" href="classdsymatrix.html#a786e420fb2551cffb147af789197a681" title="array of pointers of column head addresses">darray</a>[j][<a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>]*d;
    }
  }
  
  <span class="keywordflow">return</span> <a class="code" href="classdsymatrix.html#ae4cebf6255f4d5741776b93934a1f540">_</a>(newmat);
}
</pre></div>
</div>
</div>
<a class="anchor" id="a462fc76e54abae1336f5879402bc4976"></a><!-- doxytag: member="dsymatrix::operator/" ref="a462fc76e54abae1336f5879402bc4976" args="(const dsymatrix &amp;, const double &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class__dsymatrix.html">_dsymatrix</a> operator/ </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classdsymatrix.html">dsymatrix</a> &amp;&#160;</td>
          <td class="paramname"><em>mat</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const double &amp;&#160;</td>
          <td class="paramname"><em>d</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [friend]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>dsymatrix/double operator </p>

<p>Definition at line <a class="el" href="dsymatrix-double_8hpp_source.html#l00046">46</a> of file <a class="el" href="dsymatrix-double_8hpp_source.html">dsymatrix-double.hpp</a>.</p>
<div class="fragment"><pre class="fragment">{VERBOSE_REPORT;
  <a class="code" href="classdsymatrix.html" title="Real Double-precision Symmetric Matrix Class [l-type (UPLO=l) Strage].">dsymatrix</a> newmat(mat.<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>);
  <span class="keywordflow">for</span>(<span class="keywordtype">long</span> <a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>=0; <a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>&lt;mat.<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>; <a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>++){
    <span class="keywordflow">for</span>(<span class="keywordtype">long</span> j=0; j&lt;=<a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>; j++){
      newmat.darray[j][<a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>] =mat.<a class="code" href="classdsymatrix.html#a786e420fb2551cffb147af789197a681" title="array of pointers of column head addresses">darray</a>[j][<a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>]/d;
    }
  }
  
  <span class="keywordflow">return</span> <a class="code" href="classdsymatrix.html#ae4cebf6255f4d5741776b93934a1f540">_</a>(newmat);
}
</pre></div>
</div>
</div>
<a class="anchor" id="a903a231832e8f7ca3c293fda341d133c"></a><!-- doxytag: member="dsymatrix::operator*" ref="a903a231832e8f7ca3c293fda341d133c" args="(const double &amp;, const dsymatrix &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class__dsymatrix.html">_dsymatrix</a> operator* </td>
          <td>(</td>
          <td class="paramtype">const double &amp;&#160;</td>
          <td class="paramname"><em>d</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classdsymatrix.html">dsymatrix</a> &amp;&#160;</td>
          <td class="paramname"><em>mat</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [friend]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>double*dsymatrix operator </p>

<p>Definition at line <a class="el" href="double-dsymatrix_8hpp_source.html#l00003">3</a> of file <a class="el" href="double-dsymatrix_8hpp_source.html">double-dsymatrix.hpp</a>.</p>
<div class="fragment"><pre class="fragment">{VERBOSE_REPORT;
  <a class="code" href="classdsymatrix.html" title="Real Double-precision Symmetric Matrix Class [l-type (UPLO=l) Strage].">dsymatrix</a> newmat(mat.<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>);
  <span class="keywordflow">for</span>(<span class="keywordtype">long</span> <a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>=0; <a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>&lt;mat.<a class="code" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9" title="matrix column size">n</a>; <a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>++){
    <span class="keywordflow">for</span>(<span class="keywordtype">long</span> j=0; j&lt;=<a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>; j++){
      newmat.darray[j][<a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>] =d*mat.<a class="code" href="classdsymatrix.html#a786e420fb2551cffb147af789197a681" title="array of pointers of column head addresses">darray</a>[j][<a class="code" href="classdsymatrix.html#ad24c5d65a7dfb9c4c8232e7864a7963d">i</a>];
    }
  }
  <span class="keywordflow">return</span> <a class="code" href="classdsymatrix.html#ae4cebf6255f4d5741776b93934a1f540">_</a>(newmat);
}
</pre></div>
</div>
</div>
<hr/><h2>Member Data Documentation</h2>
<a class="anchor" id="a955f345240dab42d931f4c8700dc43d5"></a><!-- doxytag: member="dsymatrix::m" ref="a955f345240dab42d931f4c8700dc43d5" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">long const&amp; <a class="el" href="classdsymatrix.html#a955f345240dab42d931f4c8700dc43d5">dsymatrix::m</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>matrix row size </p>

<p>Definition at line <a class="el" href="dsymatrix_8hpp_source.html#l00009">9</a> of file <a class="el" href="dsymatrix_8hpp_source.html">dsymatrix.hpp</a>.</p>

<p>Referenced by <a class="el" href="dsymatrix-misc_8hpp_source.html#l00124">col()</a>, <a class="el" href="dsymatrix__small-constructors_8hpp_source.html#l00012">dsymatrix_small&lt; n &gt;::dsymatrix_small()</a>, <a class="el" href="dsymatrix-calc_8hpp_source.html#l00046">idamax()</a>, and <a class="el" href="dsymatrix-misc_8hpp_source.html#l00106">row()</a>.</p>

</div>
</div>
<a class="anchor" id="a4a2ca7ec3f2b7bd62139777fbb6ad1a9"></a><!-- doxytag: member="dsymatrix::n" ref="a4a2ca7ec3f2b7bd62139777fbb6ad1a9" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">long <a class="el" href="classdsymatrix.html#a4a2ca7ec3f2b7bd62139777fbb6ad1a9">dsymatrix::n</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>matrix column size </p>

<p>Definition at line <a class="el" href="dsymatrix_8hpp_source.html#l00010">10</a> of file <a class="el" href="dsymatrix_8hpp_source.html">dsymatrix.hpp</a>.</p>

<p>Referenced by <a class="el" href="dsymatrix-misc_8hpp_source.html#l00158">_()</a>, <a class="el" href="dsymatrix-misc_8hpp_source.html#l00044">chsign()</a>, <a class="el" href="dsymatrix-misc_8hpp_source.html#l00014">clear()</a>, <a class="el" href="dsymatrix-misc_8hpp_source.html#l00124">col()</a>, <a class="el" href="dsymatrix-misc_8hpp_source.html#l00003">complete()</a>, <a class="el" href="dsymatrix-misc_8hpp_source.html#l00051">copy()</a>, <a class="el" href="dsymatrix-lapack_8hpp_source.html#l00082">dsyev()</a>, <a class="el" href="dsymatrix-lapack_8hpp_source.html#l00181">dsygv()</a>, <a class="el" href="dsymatrix-constructor_8hpp_source.html#l00003">dsymatrix()</a>, <a class="el" href="dsymatrix__small-constructors_8hpp_source.html#l00012">dsymatrix_small&lt; n &gt;::dsymatrix_small()</a>, <a class="el" href="dsymatrix-lapack_8hpp_source.html#l00006">dsysv()</a>, <a class="el" href="__dsymatrix-calc_8hpp_source.html#l00015">i()</a>, <a class="el" href="dsymatrix-calc_8hpp_source.html#l00046">idamax()</a>, <a class="el" href="dsymatrix-misc_8hpp_source.html#l00035">identity()</a>, <a class="el" href="dsymatrix-io_8hpp_source.html#l00003">operator()()</a>, <a class="el" href="__dgbmatrix-dsymatrix_8hpp_source.html#l00051">operator*()</a>, <a class="el" href="dsymatrix-double_8hpp_source.html#l00003">operator*=()</a>, <a class="el" href="dgematrix-dsymatrix_8hpp_source.html#l00047">dgematrix::operator*=()</a>, <a class="el" href="__dgbmatrix-dsymatrix_8hpp_source.html#l00003">operator+()</a>, <a class="el" href="dsymatrix-__dsymatrix_8hpp_source.html#l00015">operator+=()</a>, <a class="el" href="dgematrix-dsymatrix_8hpp_source.html#l00003">dgematrix::operator+=()</a>, <a class="el" href="__dgbmatrix-dsymatrix_8hpp_source.html#l00027">operator-()</a>, <a class="el" href="dsymatrix-__dsymatrix_8hpp_source.html#l00038">operator-=()</a>, <a class="el" href="dgematrix-dsymatrix_8hpp_source.html#l00025">dgematrix::operator-=()</a>, <a class="el" href="dsymatrix-double_8hpp_source.html#l00046">operator/()</a>, <a class="el" href="dsymatrix-double_8hpp_source.html#l00016">operator/=()</a>, <a class="el" href="dsymatrix-io_8hpp_source.html#l00077">operator&lt;&lt;()</a>, <a class="el" href="dsymatrix-io_8hpp_source.html#l00116">read()</a>, <a class="el" href="dsymatrix-misc_8hpp_source.html#l00079">resize()</a>, <a class="el" href="dsymatrix-misc_8hpp_source.html#l00106">row()</a>, <a class="el" href="dsymatrix-io_8hpp_source.html#l00051">set()</a>, <a class="el" href="dsymatrix-misc_8hpp_source.html#l00066">shallow_copy()</a>, <a class="el" href="dsymatrix-misc_8hpp_source.html#l00146">swap()</a>, <a class="el" href="dsymatrix-cast_8hpp_source.html#l00021">to_dgematrix()</a>, <a class="el" href="dsymatrix-cast_8hpp_source.html#l00035">to_dssmatrix()</a>, <a class="el" href="dsymatrix-cast_8hpp_source.html#l00003">to_zhematrix()</a>, <a class="el" href="dsymatrix-io_8hpp_source.html#l00096">write()</a>, and <a class="el" href="dsymatrix-misc_8hpp_source.html#l00025">zero()</a>.</p>

</div>
</div>
<a class="anchor" id="a7efa7c974733dc3111167a9ebb217e1f"></a><!-- doxytag: member="dsymatrix::array" ref="a7efa7c974733dc3111167a9ebb217e1f" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">double* <a class="el" href="classdsymatrix.html#a7efa7c974733dc3111167a9ebb217e1f">dsymatrix::array</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>1D array to store matrix data </p>

<p>Definition at line <a class="el" href="dsymatrix_8hpp_source.html#l00011">11</a> of file <a class="el" href="dsymatrix_8hpp_source.html">dsymatrix.hpp</a>.</p>

<p>Referenced by <a class="el" href="dsymatrix-misc_8hpp_source.html#l00158">_()</a>, <a class="el" href="dsymatrix-misc_8hpp_source.html#l00044">chsign()</a>, <a class="el" href="dsymatrix-misc_8hpp_source.html#l00014">clear()</a>, <a class="el" href="dsymatrix-misc_8hpp_source.html#l00051">copy()</a>, <a class="el" href="dsymatrix-lapack_8hpp_source.html#l00082">dsyev()</a>, <a class="el" href="dsymatrix-lapack_8hpp_source.html#l00181">dsygv()</a>, <a class="el" href="dsymatrix-constructor_8hpp_source.html#l00003">dsymatrix()</a>, <a class="el" href="dsymatrix__small-constructors_8hpp_source.html#l00012">dsymatrix_small&lt; n &gt;::dsymatrix_small()</a>, <a class="el" href="dsymatrix-lapack_8hpp_source.html#l00006">dsysv()</a>, <a class="el" href="__dsymatrix-calc_8hpp_source.html#l00015">i()</a>, <a class="el" href="dsymatrix-misc_8hpp_source.html#l00035">identity()</a>, <a class="el" href="__dgematrix-dsymatrix_8hpp_source.html#l00047">operator*()</a>, <a class="el" href="dgematrix-dsymatrix_8hpp_source.html#l00047">dgematrix::operator*=()</a>, <a class="el" href="dsymatrix-unary_8hpp_source.html#l00010">operator-()</a>, <a class="el" href="dsymatrix-dsymatrix_8hpp_source.html#l00003">operator=()</a>, <a class="el" href="dsymatrix-misc_8hpp_source.html#l00079">resize()</a>, <a class="el" href="dsymatrix-misc_8hpp_source.html#l00066">shallow_copy()</a>, <a class="el" href="dsymatrix-misc_8hpp_source.html#l00146">swap()</a>, <a class="el" href="dsymatrix-misc_8hpp_source.html#l00025">zero()</a>, and <a class="el" href="dsymatrix-constructor_8hpp_source.html#l00120">~dsymatrix()</a>.</p>

</div>
</div>
<a class="anchor" id="a786e420fb2551cffb147af789197a681"></a><!-- doxytag: member="dsymatrix::darray" ref="a786e420fb2551cffb147af789197a681" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">double** <a class="el" href="classdsymatrix.html#a786e420fb2551cffb147af789197a681">dsymatrix::darray</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>array of pointers of column head addresses </p>

<p>Definition at line <a class="el" href="dsymatrix_8hpp_source.html#l00012">12</a> of file <a class="el" href="dsymatrix_8hpp_source.html">dsymatrix.hpp</a>.</p>

<p>Referenced by <a class="el" href="dsymatrix-misc_8hpp_source.html#l00158">_()</a>, <a class="el" href="dsymatrix-misc_8hpp_source.html#l00014">clear()</a>, <a class="el" href="dsymatrix-misc_8hpp_source.html#l00003">complete()</a>, <a class="el" href="dsymatrix-misc_8hpp_source.html#l00051">copy()</a>, <a class="el" href="dsymatrix-lapack_8hpp_source.html#l00217">dsygv()</a>, <a class="el" href="dsymatrix-constructor_8hpp_source.html#l00003">dsymatrix()</a>, <a class="el" href="dsymatrix-calc_8hpp_source.html#l00046">idamax()</a>, <a class="el" href="dsymatrix-io_8hpp_source.html#l00003">operator()()</a>, <a class="el" href="double-dsymatrix_8hpp_source.html#l00003">operator*()</a>, <a class="el" href="dsymatrix-double_8hpp_source.html#l00003">operator*=()</a>, <a class="el" href="__dsymatrix-dsymatrix_8hpp_source.html#l00003">operator+()</a>, <a class="el" href="dsymatrix-__dsymatrix_8hpp_source.html#l00015">operator+=()</a>, <a class="el" href="__dsymatrix-dsymatrix_8hpp_source.html#l00025">operator-()</a>, <a class="el" href="dsymatrix-__dsymatrix_8hpp_source.html#l00038">operator-=()</a>, <a class="el" href="dsymatrix-double_8hpp_source.html#l00046">operator/()</a>, <a class="el" href="dsymatrix-double_8hpp_source.html#l00016">operator/=()</a>, <a class="el" href="dsymatrix-misc_8hpp_source.html#l00079">resize()</a>, <a class="el" href="dsymatrix-io_8hpp_source.html#l00051">set()</a>, <a class="el" href="dsymatrix-misc_8hpp_source.html#l00066">shallow_copy()</a>, <a class="el" href="dsymatrix-misc_8hpp_source.html#l00146">swap()</a>, and <a class="el" href="dsymatrix-constructor_8hpp_source.html#l00120">~dsymatrix()</a>.</p>

</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li><a class="el" href="dsymatrix_8hpp_source.html">dsymatrix.hpp</a></li>
<li><a class="el" href="dsymatrix-__dsymatrix_8hpp_source.html">dsymatrix-_dsymatrix.hpp</a></li>
<li><a class="el" href="dsymatrix-cast_8hpp_source.html">dsymatrix-cast.hpp</a></li>
<li><a class="el" href="dsymatrix-constructor_8hpp_source.html">dsymatrix-constructor.hpp</a></li>
<li><a class="el" href="dsymatrix-double_8hpp_source.html">dsymatrix-double.hpp</a></li>
<li><a class="el" href="dsymatrix-dsymatrix_8hpp_source.html">dsymatrix-dsymatrix.hpp</a></li>
<li><a class="el" href="dsymatrix-io_8hpp_source.html">dsymatrix-io.hpp</a></li>
<li><a class="el" href="dsymatrix-lapack_8hpp_source.html">dsymatrix-lapack.hpp</a></li>
<li><a class="el" href="dsymatrix-misc_8hpp_source.html">dsymatrix-misc.hpp</a></li>
</ul>
</div><!-- contents -->
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Friends</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>



<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.6.1
</small></address>

</body>
</html>
