<!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: _zgsmatrix 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">_zgsmatrix Class Reference</div>  </div>
</div><!--header-->
<div class="contents">
<!-- doxytag: class="_zgsmatrix" -->
<p>(DO NOT USE) Smart-temporary Real Double-precision General Sparse Matrix Class  
 <a href="class__zgsmatrix.html#details">More...</a></p>

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

<p><a href="class__zgsmatrix-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="class__zgsmatrix.html#a8171655b7ea15653aa604bf5ee45d2f8">_zgsmatrix</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class__zgsmatrix.html#a7e1fa3856377af32281bc068fccfcce2">_zgsmatrix</a> (const <a class="el" href="class__zgsmatrix.html">_zgsmatrix</a> &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class__zgsmatrix.html#ad2f7a1682baffc29684ffe8ca3171e04">~_zgsmatrix</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class__zgematrix.html">_zgematrix</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class__zgsmatrix.html#a2ad2b53d5418f312d50c746e37b71653">to_zgematrix</a> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">comple&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class__zgsmatrix.html#ae61b5d0071237d8050cb6e468939902d">operator()</a> (const long &amp;, const long &amp;) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class__zgsmatrix.html#a6cb4a9f92b441c42253341540c4a5393">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="class__zgsmatrix.html#a319c20ac96b91a6be070eec7850ac146">nullify</a> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class__zgsmatrix.html#a967720c5efdb91e779a955fee836d01f">destroy</a> () const </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&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class__zgsmatrix.html#a1be0849915f6b79eb1444150e8bebf31">m</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">matrix row size  <a href="#a1be0849915f6b79eb1444150e8bebf31"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">long&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class__zgsmatrix.html#ae2f1f4a6454a285b6b50feae90da335c">n</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">matrix column size  <a href="#ae2f1f4a6454a285b6b50feae90da335c"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">std::vector&lt; <a class="el" href="classzcomponent.html">zcomponent</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class__zgsmatrix.html#a967bd821b1efa288e865366c7c09c42c">data</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">matrix data  <a href="#a967bd821b1efa288e865366c7c09c42c"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">std::vector&lt; std::vector<br class="typebreak"/>
&lt; uint32_t &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class__zgsmatrix.html#a5b554e651d84b2edcfa203d5c1140221">rows</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">array of vector to store the entry information of component for each row  <a href="#a5b554e651d84b2edcfa203d5c1140221"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">std::vector&lt; std::vector<br class="typebreak"/>
&lt; uint32_t &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class__zgsmatrix.html#a9179bd81a14abc4cf55ee4b48847b0eb">cols</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">array of vector to store the entry information of component for each column  <a href="#a9179bd81a14abc4cf55ee4b48847b0eb"></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="class__zgsmatrix.html#a0595e68db0b9b3a580794219921dc2b3">operator&lt;&lt;</a> (std::ostream &amp;, const <a class="el" href="class__zgsmatrix.html">_zgsmatrix</a> &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class__zgsmatrix.html">_zgsmatrix</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class__zgsmatrix.html#acb7ed5855221c154735ff9e4631a5b9d">t</a> (const <a class="el" href="classzgsmatrix.html">zgsmatrix</a> &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class__zgsmatrix.html#a3acfa3df78ac748b19a29316d5207fdb">idamax</a> (long &amp;, long &amp;, const <a class="el" href="classzgsmatrix.html">zgsmatrix</a> &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">comple&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class__zgsmatrix.html#aaa4ded817d7508aa55280f9177d895c2">damax</a> (const <a class="el" href="classzgsmatrix.html">zgsmatrix</a> &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const <a class="el" href="class__zgsmatrix.html">_zgsmatrix</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class__zgsmatrix.html#a4caead34434d31aba6d3fb155026704c">operator+</a> (const <a class="el" href="class__zgsmatrix.html">_zgsmatrix</a> &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class__zgsmatrix.html">_zgsmatrix</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class__zgsmatrix.html#a5a0e7c97a09c85efdcb76d806c8a4834">operator-</a> (const <a class="el" href="class__zgsmatrix.html">_zgsmatrix</a> &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class__zgematrix.html">_zgematrix</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class__zgsmatrix.html#aba70cdab04eeb2db56c005cd0535c74b">operator+</a> (const <a class="el" href="class__zgsmatrix.html">_zgsmatrix</a> &amp;, const <a class="el" href="classzgematrix.html">zgematrix</a> &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class__zgematrix.html">_zgematrix</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class__zgsmatrix.html#a549154c22fb7e1408c8c3156e4fd8c34">operator+</a> (const <a class="el" href="class__zgsmatrix.html">_zgsmatrix</a> &amp;, const <a class="el" href="class__zgematrix.html">_zgematrix</a> &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class__zgematrix.html">_zgematrix</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class__zgsmatrix.html#aabb64dd4bd5e26878dd33b8dc6a529c0">operator+</a> (const <a class="el" href="class__zgsmatrix.html">_zgsmatrix</a> &amp;, const <a class="el" href="classzhematrix.html">zhematrix</a> &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class__zgematrix.html">_zgematrix</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class__zgsmatrix.html#adcfeaae50c765ccc406ca2a13a30555e">operator+</a> (const <a class="el" href="class__zgsmatrix.html">_zgsmatrix</a> &amp;, const <a class="el" href="class__zhematrix.html">_zhematrix</a> &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class__zgematrix.html">_zgematrix</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class__zgsmatrix.html#a30ffef60a1f88f76b870707d2b4e6724">operator+</a> (const <a class="el" href="class__zgsmatrix.html">_zgsmatrix</a> &amp;, const <a class="el" href="classzgbmatrix.html">zgbmatrix</a> &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class__zgematrix.html">_zgematrix</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class__zgsmatrix.html#afb4b4af1ae7fa25e976fdd2765e41245">operator+</a> (const <a class="el" href="class__zgsmatrix.html">_zgsmatrix</a> &amp;, const <a class="el" href="class__zgbmatrix.html">_zgbmatrix</a> &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class__zgsmatrix.html">_zgsmatrix</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class__zgsmatrix.html#a264c5beb44c47e09a9314e9587ed158d">operator+</a> (const <a class="el" href="class__zgsmatrix.html">_zgsmatrix</a> &amp;, const <a class="el" href="classzgsmatrix.html">zgsmatrix</a> &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class__zgsmatrix.html">_zgsmatrix</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class__zgsmatrix.html#a934293dfafcd2b796aa306934764c0fd">operator+</a> (const <a class="el" href="class__zgsmatrix.html">_zgsmatrix</a> &amp;, const <a class="el" href="class__zgsmatrix.html">_zgsmatrix</a> &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class__zgsmatrix.html">_zgsmatrix</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class__zgsmatrix.html#afd99efc6e3ec571ff3e31fe726e221f1">operator+</a> (const <a class="el" href="class__zgsmatrix.html">_zgsmatrix</a> &amp;, const <a class="el" href="classzhsmatrix.html">zhsmatrix</a> &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class__zgsmatrix.html">_zgsmatrix</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class__zgsmatrix.html#a7c0f1c86b57444c79e6ff96591cfa9a6">operator+</a> (const <a class="el" href="class__zgsmatrix.html">_zgsmatrix</a> &amp;, const <a class="el" href="class__zhsmatrix.html">_zhsmatrix</a> &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class__zgematrix.html">_zgematrix</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class__zgsmatrix.html#ac39c63148a04ce7b87fdf28698c5bcca">operator-</a> (const <a class="el" href="class__zgsmatrix.html">_zgsmatrix</a> &amp;, const <a class="el" href="classzgematrix.html">zgematrix</a> &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class__zgematrix.html">_zgematrix</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class__zgsmatrix.html#afe5652d1dc8d64dbf46e88e90fb0ca53">operator-</a> (const <a class="el" href="class__zgsmatrix.html">_zgsmatrix</a> &amp;, const <a class="el" href="class__zgematrix.html">_zgematrix</a> &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class__zgematrix.html">_zgematrix</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class__zgsmatrix.html#a155efe14136344a3237164ee31701492">operator-</a> (const <a class="el" href="class__zgsmatrix.html">_zgsmatrix</a> &amp;, const <a class="el" href="classzhematrix.html">zhematrix</a> &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class__zgematrix.html">_zgematrix</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class__zgsmatrix.html#a1769f74509a8a55f12f2a8d9ebeee3cd">operator-</a> (const <a class="el" href="class__zgsmatrix.html">_zgsmatrix</a> &amp;, const <a class="el" href="class__zhematrix.html">_zhematrix</a> &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class__zgematrix.html">_zgematrix</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class__zgsmatrix.html#ab4f80c770680836658bc463cb727e38a">operator-</a> (const <a class="el" href="class__zgsmatrix.html">_zgsmatrix</a> &amp;, const <a class="el" href="classzgbmatrix.html">zgbmatrix</a> &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class__zgematrix.html">_zgematrix</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class__zgsmatrix.html#a7d8581b0a8b99afcf51edb909b171f7b">operator-</a> (const <a class="el" href="class__zgsmatrix.html">_zgsmatrix</a> &amp;, const <a class="el" href="class__zgbmatrix.html">_zgbmatrix</a> &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class__zgsmatrix.html">_zgsmatrix</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class__zgsmatrix.html#af3d2ede3e2e2c974b463473c59e5a6ad">operator-</a> (const <a class="el" href="class__zgsmatrix.html">_zgsmatrix</a> &amp;, const <a class="el" href="classzgsmatrix.html">zgsmatrix</a> &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class__zgsmatrix.html">_zgsmatrix</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class__zgsmatrix.html#a261f53a9f6848878be553579cf7baab6">operator-</a> (const <a class="el" href="class__zgsmatrix.html">_zgsmatrix</a> &amp;, const <a class="el" href="class__zgsmatrix.html">_zgsmatrix</a> &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class__zgsmatrix.html">_zgsmatrix</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class__zgsmatrix.html#a9f72331abd3c85fe527d743bb6944a20">operator-</a> (const <a class="el" href="class__zgsmatrix.html">_zgsmatrix</a> &amp;, const <a class="el" href="classzhsmatrix.html">zhsmatrix</a> &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class__zgsmatrix.html">_zgsmatrix</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class__zgsmatrix.html#ab1a4f275c81d7f48298890b9dc035822">operator-</a> (const <a class="el" href="class__zgsmatrix.html">_zgsmatrix</a> &amp;, const <a class="el" href="class__zhsmatrix.html">_zhsmatrix</a> &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class__zcovector.html">_zcovector</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class__zgsmatrix.html#a07828d9709ab1dde2b462c5ec0cf20cf">operator*</a> (const <a class="el" href="class__zgsmatrix.html">_zgsmatrix</a> &amp;, const <a class="el" href="classzcovector.html">zcovector</a> &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class__zcovector.html">_zcovector</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class__zgsmatrix.html#a17cb0edb47bd2cc73ebd10acaceeae70">operator*</a> (const <a class="el" href="class__zgsmatrix.html">_zgsmatrix</a> &amp;, const <a class="el" href="class__zcovector.html">_zcovector</a> &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class__zgematrix.html">_zgematrix</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class__zgsmatrix.html#a8bcf50209cb4a1a6dbf576891222b0a5">operator*</a> (const <a class="el" href="class__zgsmatrix.html">_zgsmatrix</a> &amp;, const <a class="el" href="classzgematrix.html">zgematrix</a> &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class__zgematrix.html">_zgematrix</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class__zgsmatrix.html#a6f273492fe0a39e58d7f916e3d75eb19">operator*</a> (const <a class="el" href="class__zgsmatrix.html">_zgsmatrix</a> &amp;, const <a class="el" href="class__zgematrix.html">_zgematrix</a> &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class__zgematrix.html">_zgematrix</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class__zgsmatrix.html#a2cb98035f9e9f172144717ff313551ab">operator*</a> (const <a class="el" href="class__zgsmatrix.html">_zgsmatrix</a> &amp;, const <a class="el" href="classzhematrix.html">zhematrix</a> &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class__zgematrix.html">_zgematrix</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class__zgsmatrix.html#ab4538a70da8e5948ca52b394fd5f2971">operator*</a> (const <a class="el" href="class__zgsmatrix.html">_zgsmatrix</a> &amp;, const <a class="el" href="class__zhematrix.html">_zhematrix</a> &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class__zgematrix.html">_zgematrix</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class__zgsmatrix.html#abab5028d13af3d310f197bf2a31d4e62">operator*</a> (const <a class="el" href="class__zgsmatrix.html">_zgsmatrix</a> &amp;, const <a class="el" href="classzgbmatrix.html">zgbmatrix</a> &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class__zgematrix.html">_zgematrix</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class__zgsmatrix.html#a2380200288502a4b104f20bd85f99cce">operator*</a> (const <a class="el" href="class__zgsmatrix.html">_zgsmatrix</a> &amp;, const <a class="el" href="class__zgbmatrix.html">_zgbmatrix</a> &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class__zgsmatrix.html">_zgsmatrix</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class__zgsmatrix.html#a4becb89288c78dac6995e30e32552b98">operator*</a> (const <a class="el" href="class__zgsmatrix.html">_zgsmatrix</a> &amp;, const <a class="el" href="classzgsmatrix.html">zgsmatrix</a> &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class__zgsmatrix.html">_zgsmatrix</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class__zgsmatrix.html#a2e2102e189e20212e1ed64825afd13ba">operator*</a> (const <a class="el" href="class__zgsmatrix.html">_zgsmatrix</a> &amp;, const <a class="el" href="class__zgsmatrix.html">_zgsmatrix</a> &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class__zgsmatrix.html">_zgsmatrix</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class__zgsmatrix.html#ab0547cec76a8d2510216202e6259b20d">operator*</a> (const <a class="el" href="class__zgsmatrix.html">_zgsmatrix</a> &amp;, const <a class="el" href="classzhsmatrix.html">zhsmatrix</a> &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class__zgsmatrix.html">_zgsmatrix</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class__zgsmatrix.html#a5ce7105041b1cc2d539cfb547e87bc55">operator*</a> (const <a class="el" href="class__zgsmatrix.html">_zgsmatrix</a> &amp;, const <a class="el" href="class__zhsmatrix.html">_zhsmatrix</a> &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class__zgsmatrix.html">_zgsmatrix</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class__zgsmatrix.html#ab4a691fabe94f679d5d684877aa3229c">operator*</a> (const <a class="el" href="class__zgsmatrix.html">_zgsmatrix</a> &amp;, const double &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class__zgsmatrix.html">_zgsmatrix</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class__zgsmatrix.html#a6f9fbbb1571cd81be13e85e658020ec2">operator*</a> (const <a class="el" href="class__zgsmatrix.html">_zgsmatrix</a> &amp;, const comple &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class__zgsmatrix.html">_zgsmatrix</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class__zgsmatrix.html#a1d2978c53505e0a0a4bd2b065d50c146">operator/</a> (const <a class="el" href="class__zgsmatrix.html">_zgsmatrix</a> &amp;, const double &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class__zgsmatrix.html">_zgsmatrix</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class__zgsmatrix.html#ab4b075850da5c1c3cdb32f694f392547">operator/</a> (const <a class="el" href="class__zgsmatrix.html">_zgsmatrix</a> &amp;, const comple &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class__zgsmatrix.html">_zgsmatrix</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class__zgsmatrix.html#af42025efba6fdc3f6f3305a084abe383">operator*</a> (const double &amp;, const <a class="el" href="class__zgsmatrix.html">_zgsmatrix</a> &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class__zgsmatrix.html">_zgsmatrix</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class__zgsmatrix.html#ad1a8f760920353ad3224d243afd8393f">operator*</a> (const comple &amp;, const <a class="el" href="class__zgsmatrix.html">_zgsmatrix</a> &amp;)</td></tr>
</table>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>(DO NOT USE) Smart-temporary Real Double-precision General Sparse Matrix Class </p>

<p>Definition at line <a class="el" href="__zgsmatrix_8hpp_source.html#l00003">3</a> of file <a class="el" href="__zgsmatrix_8hpp_source.html">_zgsmatrix.hpp</a>.</p>
</div><hr/><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="a8171655b7ea15653aa604bf5ee45d2f8"></a><!-- doxytag: member="_zgsmatrix::_zgsmatrix" ref="a8171655b7ea15653aa604bf5ee45d2f8" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class__zgsmatrix.html#a8171655b7ea15653aa604bf5ee45d2f8">_zgsmatrix::_zgsmatrix</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p><a class="el" href="class__zgsmatrix.html" title="(DO NOT USE) Smart-temporary Real Double-precision General Sparse Matrix Class">_zgsmatrix</a> constructor without arguments </p>

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

<p>References <a class="el" href="__zgsmatrix_8hpp_source.html#l00013">cols</a>, <a class="el" href="__zgsmatrix_8hpp_source.html#l00011">data</a>, <a class="el" href="__zgsmatrix_8hpp_source.html#l00009">m</a>, <a class="el" href="__zgsmatrix_8hpp_source.html#l00010">n</a>, and <a class="el" href="__zgsmatrix_8hpp_source.html#l00012">rows</a>.</p>
<div class="fragment"><pre class="fragment">{VERBOSE_REPORT;<span class="comment"></span>
<span class="comment">  //////// initialize ////////</span>
<span class="comment"></span>  <a class="code" href="class__zgsmatrix.html#a1be0849915f6b79eb1444150e8bebf31" title="matrix row size">m</a> =0;
  <a class="code" href="class__zgsmatrix.html#ae2f1f4a6454a285b6b50feae90da335c" title="matrix column size">n</a> =0;
  <a class="code" href="class__zgsmatrix.html#a967bd821b1efa288e865366c7c09c42c" title="matrix data">data</a>.clear();
  <a class="code" href="class__zgsmatrix.html#a5b554e651d84b2edcfa203d5c1140221" title="array of vector to store the entry information of component for each row">rows</a>.clear();
  <a class="code" href="class__zgsmatrix.html#a9179bd81a14abc4cf55ee4b48847b0eb" title="array of vector to store the entry information of component for each column">cols</a>.clear();
}
</pre></div>
</div>
</div>
<a class="anchor" id="a7e1fa3856377af32281bc068fccfcce2"></a><!-- doxytag: member="_zgsmatrix::_zgsmatrix" ref="a7e1fa3856377af32281bc068fccfcce2" args="(const _zgsmatrix &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class__zgsmatrix.html#a8171655b7ea15653aa604bf5ee45d2f8">_zgsmatrix::_zgsmatrix</a> </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="class__zgsmatrix.html">_zgsmatrix</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><a class="el" href="class__zgsmatrix.html" title="(DO NOT USE) Smart-temporary Real Double-precision General Sparse Matrix Class">_zgsmatrix</a> copy constructor </p>

<p>Definition at line <a class="el" href="__zgsmatrix-constructor_8hpp_source.html#l00015">15</a> of file <a class="el" href="__zgsmatrix-constructor_8hpp_source.html">_zgsmatrix-constructor.hpp</a>.</p>

<p>References <a class="el" href="__zgsmatrix_8hpp_source.html#l00013">cols</a>, <a class="el" href="__zgsmatrix_8hpp_source.html#l00011">data</a>, <a class="el" href="__zgsmatrix_8hpp_source.html#l00009">m</a>, <a class="el" href="__zgsmatrix_8hpp_source.html#l00010">n</a>, <a class="el" href="__zgsmatrix-misc_8hpp_source.html#l00003">nullify()</a>, and <a class="el" href="__zgsmatrix_8hpp_source.html#l00012">rows</a>.</p>
<div class="fragment"><pre class="fragment">{VERBOSE_REPORT;<span class="comment"></span>
<span class="comment">  //////// initialize ////////</span>
<span class="comment"></span>  <a class="code" href="class__zgsmatrix.html#a1be0849915f6b79eb1444150e8bebf31" title="matrix row size">m</a> =mat.<a class="code" href="class__zgsmatrix.html#a1be0849915f6b79eb1444150e8bebf31" title="matrix row size">m</a>;
  <a class="code" href="class__zgsmatrix.html#ae2f1f4a6454a285b6b50feae90da335c" title="matrix column size">n</a> =mat.<a class="code" href="class__zgsmatrix.html#ae2f1f4a6454a285b6b50feae90da335c" title="matrix column size">n</a>;
  <a class="code" href="class__zgsmatrix.html#a967bd821b1efa288e865366c7c09c42c" title="matrix data">data</a>.swap(mat.<a class="code" href="class__zgsmatrix.html#a967bd821b1efa288e865366c7c09c42c" title="matrix data">data</a>);
  <a class="code" href="class__zgsmatrix.html#a5b554e651d84b2edcfa203d5c1140221" title="array of vector to store the entry information of component for each row">rows</a>.swap(mat.<a class="code" href="class__zgsmatrix.html#a5b554e651d84b2edcfa203d5c1140221" title="array of vector to store the entry information of component for each row">rows</a>);
  <a class="code" href="class__zgsmatrix.html#a9179bd81a14abc4cf55ee4b48847b0eb" title="array of vector to store the entry information of component for each column">cols</a>.swap(mat.<a class="code" href="class__zgsmatrix.html#a9179bd81a14abc4cf55ee4b48847b0eb" title="array of vector to store the entry information of component for each column">cols</a>);
  
  mat.<a class="code" href="class__zgsmatrix.html#a319c20ac96b91a6be070eec7850ac146">nullify</a>();
}
</pre></div>
</div>
</div>
<a class="anchor" id="ad2f7a1682baffc29684ffe8ca3171e04"></a><!-- doxytag: member="_zgsmatrix::~_zgsmatrix" ref="ad2f7a1682baffc29684ffe8ca3171e04" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class__zgsmatrix.html#ad2f7a1682baffc29684ffe8ca3171e04">_zgsmatrix::~_zgsmatrix</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p><a class="el" href="class__zgsmatrix.html" title="(DO NOT USE) Smart-temporary Real Double-precision General Sparse Matrix Class">_zgsmatrix</a> destructor </p>

<p>Definition at line <a class="el" href="__zgsmatrix-constructor_8hpp_source.html#l00033">33</a> of file <a class="el" href="__zgsmatrix-constructor_8hpp_source.html">_zgsmatrix-constructor.hpp</a>.</p>

<p>References <a class="el" href="__zgsmatrix_8hpp_source.html#l00013">cols</a>, <a class="el" href="__zgsmatrix_8hpp_source.html#l00011">data</a>, and <a class="el" href="__zgsmatrix_8hpp_source.html#l00012">rows</a>.</p>
<div class="fragment"><pre class="fragment">{VERBOSE_REPORT;
  <a class="code" href="class__zgsmatrix.html#a967bd821b1efa288e865366c7c09c42c" title="matrix data">data</a>.clear();
  <a class="code" href="class__zgsmatrix.html#a5b554e651d84b2edcfa203d5c1140221" title="array of vector to store the entry information of component for each row">rows</a>.clear();
  <a class="code" href="class__zgsmatrix.html#a9179bd81a14abc4cf55ee4b48847b0eb" title="array of vector to store the entry information of component for each column">cols</a>.clear();
}
</pre></div>
</div>
</div>
<hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="a2ad2b53d5418f312d50c746e37b71653"></a><!-- doxytag: member="_zgsmatrix::to_zgematrix" ref="a2ad2b53d5418f312d50c746e37b71653" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class__zgematrix.html">_zgematrix</a> <a class="el" href="class__zgsmatrix.html#a2ad2b53d5418f312d50c746e37b71653">_zgsmatrix::to_zgematrix</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__zgematrix.html" title="(DO NOT USE) Smart-temporary Complex Double-precision General Dence Matrix Class">_zgematrix</a> </p>

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

<p>References <a class="el" href="dcovector-misc_8hpp_source.html#l00134">_()</a>, <a class="el" href="__zgsmatrix_8hpp_source.html#l00011">data</a>, <a class="el" href="__zgsmatrix-misc_8hpp_source.html#l00014">destroy()</a>, <a class="el" href="__zgsmatrix_8hpp_source.html#l00009">m</a>, <a class="el" href="__zgsmatrix_8hpp_source.html#l00010">n</a>, and <a class="el" href="zgematrix-misc_8hpp_source.html#l00015">zgematrix::zero()</a>.</p>

<p>Referenced by <a class="el" href="__zgsmatrix-__zgbmatrix_8hpp_source.html#l00003">operator+()</a>, and <a class="el" href="__zgsmatrix-__zgbmatrix_8hpp_source.html#l00029">operator-()</a>.</p>
<div class="fragment"><pre class="fragment">{VERBOSE_REPORT;
  <a class="code" href="classzgematrix.html" title="Complex Double-precision General Dence Matrix Class.">zgematrix</a> newmat(<a class="code" href="class__zgsmatrix.html#a1be0849915f6b79eb1444150e8bebf31" title="matrix row size">m</a>,<a class="code" href="class__zgsmatrix.html#ae2f1f4a6454a285b6b50feae90da335c" title="matrix column size">n</a>);
  newmat.zero();
  
  <span class="keywordflow">for</span>(std::vector&lt;zcomponent&gt;::const_iterator it=<a class="code" href="class__zgsmatrix.html#a967bd821b1efa288e865366c7c09c42c" title="matrix data">data</a>.begin(); it!=<a class="code" href="class__zgsmatrix.html#a967bd821b1efa288e865366c7c09c42c" title="matrix data">data</a>.end(); it++){
    newmat(it-&gt;i,it-&gt;j) = it-&gt;v;
  }
  
  <a class="code" href="class__zgsmatrix.html#a967720c5efdb91e779a955fee836d01f">destroy</a>();
  <span class="keywordflow">return</span> <a class="code" href="dcovector-misc_8hpp.html#a297beda6502b0d92c99576d2fb9548cb">_</a>(newmat);
}
</pre></div>
</div>
</div>
<a class="anchor" id="ae61b5d0071237d8050cb6e468939902d"></a><!-- doxytag: member="_zgsmatrix::operator()" ref="ae61b5d0071237d8050cb6e468939902d" args="(const long &amp;, const long &amp;) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">comple _zgsmatrix::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="__zgsmatrix-io_8hpp_source.html#l00003">3</a> of file <a class="el" href="__zgsmatrix-io_8hpp_source.html">_zgsmatrix-io.hpp</a>.</p>

<p>References <a class="el" href="__zgsmatrix_8hpp_source.html#l00011">data</a>, <a class="el" href="__dgbmatrix-calc_8hpp_source.html#l00019">i()</a>, <a class="el" href="__zgsmatrix_8hpp_source.html#l00009">m</a>, <a class="el" href="__zgsmatrix_8hpp_source.html#l00010">n</a>, and <a class="el" href="__zgsmatrix_8hpp_source.html#l00012">rows</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="__dgbmatrix-calc_8hpp.html#af7c79b3740ba9c1d547f55ac94bc1258">i</a>&lt;0 || j&lt;0 || <a class="code" href="class__zgsmatrix.html#a1be0849915f6b79eb1444150e8bebf31" title="matrix row size">m</a>&lt;=<a class="code" href="__dgbmatrix-calc_8hpp.html#af7c79b3740ba9c1d547f55ac94bc1258">i</a> || <a class="code" href="class__zgsmatrix.html#ae2f1f4a6454a285b6b50feae90da335c" 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="__dgbmatrix-calc_8hpp.html#af7c79b3740ba9c1d547f55ac94bc1258">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="comment"></span>
<span class="comment">  //////// search (i,j) component ////////</span>
<span class="comment"></span>  <span class="keywordflow">for</span>(std::vector&lt;uint32_t&gt;::iterator p=<a class="code" href="class__zgsmatrix.html#a5b554e651d84b2edcfa203d5c1140221" title="array of vector to store the entry information of component for each row">rows</a>[<a class="code" href="__dgbmatrix-calc_8hpp.html#af7c79b3740ba9c1d547f55ac94bc1258">i</a>].begin(); p!=<a class="code" href="class__zgsmatrix.html#a5b554e651d84b2edcfa203d5c1140221" title="array of vector to store the entry information of component for each row">rows</a>[<a class="code" href="__dgbmatrix-calc_8hpp.html#af7c79b3740ba9c1d547f55ac94bc1258">i</a>].end(); p++){
    <span class="keywordflow">if</span>( <span class="keywordtype">long</span>(<a class="code" href="class__zgsmatrix.html#a967bd821b1efa288e865366c7c09c42c" title="matrix data">data</a>[*p].j)==j ){ <span class="keywordflow">return</span> <a class="code" href="class__zgsmatrix.html#a967bd821b1efa288e865366c7c09c42c" title="matrix data">data</a>[*p].v; }
  }
  <span class="comment"></span>
<span class="comment">  //////// (i,j) component was not found ////////</span>
<span class="comment"></span>  <span class="keywordflow">return</span> comple(0.0,0.0);
}
</pre></div>
</div>
</div>
<a class="anchor" id="a6cb4a9f92b441c42253341540c4a5393"></a><!-- doxytag: member="_zgsmatrix::write" ref="a6cb4a9f92b441c42253341540c4a5393" args="(const char *) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="class__zgsmatrix.html#a6cb4a9f92b441c42253341540c4a5393">_zgsmatrix::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="__zgsmatrix-io_8hpp_source.html#l00051">51</a> of file <a class="el" href="__zgsmatrix-io_8hpp_source.html">_zgsmatrix-io.hpp</a>.</p>

<p>References <a class="el" href="__zgsmatrix_8hpp_source.html#l00011">data</a>, <a class="el" href="__zgsmatrix-misc_8hpp_source.html#l00014">destroy()</a>, <a class="el" href="__zgsmatrix_8hpp_source.html#l00009">m</a>, and <a class="el" href="__zgsmatrix_8hpp_source.html#l00010">n</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;#zgsmatrix&quot;</span> &lt;&lt; <span class="stringliteral">&quot; &quot;</span> &lt;&lt; <a class="code" href="class__zgsmatrix.html#a1be0849915f6b79eb1444150e8bebf31" title="matrix row size">m</a> &lt;&lt; <span class="stringliteral">&quot; &quot;</span> &lt;&lt; <a class="code" href="class__zgsmatrix.html#ae2f1f4a6454a285b6b50feae90da335c" title="matrix column size">n</a> &lt;&lt; std::endl;
  <span class="keywordflow">for</span>(std::vector&lt;zcomponent&gt;::const_iterator it=<a class="code" href="class__zgsmatrix.html#a967bd821b1efa288e865366c7c09c42c" title="matrix data">data</a>.begin(); it!=<a class="code" href="class__zgsmatrix.html#a967bd821b1efa288e865366c7c09c42c" title="matrix data">data</a>.end(); it++){
    ofs &lt;&lt; it-&gt;i &lt;&lt; <span class="stringliteral">&quot; &quot;</span> &lt;&lt; it-&gt;j &lt;&lt; <span class="stringliteral">&quot; &quot;</span> &lt;&lt; it-&gt;v &lt;&lt; std::endl;
  }
  
  ofs.close();
  <a class="code" href="class__zgsmatrix.html#a967720c5efdb91e779a955fee836d01f">destroy</a>();
}
</pre></div>
</div>
</div>
<a class="anchor" id="a319c20ac96b91a6be070eec7850ac146"></a><!-- doxytag: member="_zgsmatrix::nullify" ref="a319c20ac96b91a6be070eec7850ac146" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="class__zgsmatrix.html#a319c20ac96b91a6be070eec7850ac146">_zgsmatrix::nullify</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>nullify all the matrix data </p>

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

<p>References <a class="el" href="__zgsmatrix_8hpp_source.html#l00013">cols</a>, <a class="el" href="__zgsmatrix_8hpp_source.html#l00011">data</a>, <a class="el" href="__zgsmatrix_8hpp_source.html#l00009">m</a>, <a class="el" href="__zgsmatrix_8hpp_source.html#l00010">n</a>, and <a class="el" href="__zgsmatrix_8hpp_source.html#l00012">rows</a>.</p>

<p>Referenced by <a class="el" href="__zgsmatrix-constructor_8hpp_source.html#l00015">_zgsmatrix()</a>, <a class="el" href="zgsmatrix-misc_8hpp_source.html#l00045">zgsmatrix::shallow_copy()</a>, and <a class="el" href="zgsmatrix-constructor_8hpp_source.html#l00031">zgsmatrix::zgsmatrix()</a>.</p>
<div class="fragment"><pre class="fragment">{VERBOSE_REPORT;
  <a class="code" href="class__zgsmatrix.html#a1be0849915f6b79eb1444150e8bebf31" title="matrix row size">m</a>=0;
  <a class="code" href="class__zgsmatrix.html#ae2f1f4a6454a285b6b50feae90da335c" title="matrix column size">n</a>=0;
  <a class="code" href="class__zgsmatrix.html#a967bd821b1efa288e865366c7c09c42c" title="matrix data">data</a>.clear();
  <a class="code" href="class__zgsmatrix.html#a5b554e651d84b2edcfa203d5c1140221" title="array of vector to store the entry information of component for each row">rows</a>.clear();
  <a class="code" href="class__zgsmatrix.html#a9179bd81a14abc4cf55ee4b48847b0eb" title="array of vector to store the entry information of component for each column">cols</a>.clear();
}
</pre></div>
</div>
</div>
<a class="anchor" id="a967720c5efdb91e779a955fee836d01f"></a><!-- doxytag: member="_zgsmatrix::destroy" ref="a967720c5efdb91e779a955fee836d01f" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="class__zgsmatrix.html#a967720c5efdb91e779a955fee836d01f">_zgsmatrix::destroy</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>destroy all the matrix data </p>

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

<p>References <a class="el" href="__zgsmatrix_8hpp_source.html#l00013">cols</a>, <a class="el" href="__zgsmatrix_8hpp_source.html#l00011">data</a>, and <a class="el" href="__zgsmatrix_8hpp_source.html#l00012">rows</a>.</p>

<p>Referenced by <a class="el" href="__zgsmatrix-calc_8hpp_source.html#l00037">damax()</a>, <a class="el" href="__zgsmatrix-calc_8hpp_source.html#l00019">idamax()</a>, <a class="el" href="__zgematrix-__zgsmatrix_8hpp_source.html#l00047">operator*()</a>, <a class="el" href="zgsmatrix-__zgsmatrix_8hpp_source.html#l00055">zgsmatrix::operator*=()</a>, <a class="el" href="__zgematrix-__zgsmatrix_8hpp_source.html#l00003">operator+()</a>, <a class="el" href="zgsmatrix-__zgsmatrix_8hpp_source.html#l00015">zgsmatrix::operator+=()</a>, <a class="el" href="__zgematrix-__zgsmatrix_8hpp_source.html#l00025">operator-()</a>, <a class="el" href="zgsmatrix-__zgsmatrix_8hpp_source.html#l00035">zgsmatrix::operator-=()</a>, <a class="el" href="__zgsmatrix-io_8hpp_source.html#l00028">operator&lt;&lt;()</a>, <a class="el" href="__zgsmatrix-cast_8hpp_source.html#l00003">to_zgematrix()</a>, and <a class="el" href="__zgsmatrix-io_8hpp_source.html#l00051">write()</a>.</p>
<div class="fragment"><pre class="fragment">{VERBOSE_REPORT;
  <a class="code" href="class__zgsmatrix.html#a967bd821b1efa288e865366c7c09c42c" title="matrix data">data</a>.clear();
  <a class="code" href="class__zgsmatrix.html#a5b554e651d84b2edcfa203d5c1140221" title="array of vector to store the entry information of component for each row">rows</a>.clear();
  <a class="code" href="class__zgsmatrix.html#a9179bd81a14abc4cf55ee4b48847b0eb" title="array of vector to store the entry information of component for each column">cols</a>.clear();
}
</pre></div>
</div>
</div>
<hr/><h2>Friends And Related Function Documentation</h2>
<a class="anchor" id="a0595e68db0b9b3a580794219921dc2b3"></a><!-- doxytag: member="_zgsmatrix::operator&lt;&lt;" ref="a0595e68db0b9b3a580794219921dc2b3" args="(std::ostream &amp;, const _zgsmatrix &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="class__zgsmatrix.html">_zgsmatrix</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="__zgsmatrix-io_8hpp_source.html#l00028">28</a> of file <a class="el" href="__zgsmatrix-io_8hpp_source.html">_zgsmatrix-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="__dgbmatrix-calc_8hpp.html#af7c79b3740ba9c1d547f55ac94bc1258">i</a>=0; <a class="code" href="__dgbmatrix-calc_8hpp.html#af7c79b3740ba9c1d547f55ac94bc1258">i</a>&lt;mat.<a class="code" href="class__zgsmatrix.html#a1be0849915f6b79eb1444150e8bebf31" title="matrix row size">m</a>; <a class="code" href="__dgbmatrix-calc_8hpp.html#af7c79b3740ba9c1d547f55ac94bc1258">i</a>++){
    <span class="keywordflow">for</span>(<span class="keywordtype">long</span> j=0; j&lt;mat.<a class="code" href="class__zgsmatrix.html#ae2f1f4a6454a285b6b50feae90da335c" title="matrix column size">n</a>; j++){
      std::vector&lt;uint32_t&gt;::iterator q;
      <span class="keywordflow">for</span>(q=mat.<a class="code" href="class__zgsmatrix.html#a5b554e651d84b2edcfa203d5c1140221" title="array of vector to store the entry information of component for each row">rows</a>[<a class="code" href="__dgbmatrix-calc_8hpp.html#af7c79b3740ba9c1d547f55ac94bc1258">i</a>].begin(); q!=mat.<a class="code" href="class__zgsmatrix.html#a5b554e651d84b2edcfa203d5c1140221" title="array of vector to store the entry information of component for each row">rows</a>[<a class="code" href="__dgbmatrix-calc_8hpp.html#af7c79b3740ba9c1d547f55ac94bc1258">i</a>].end(); q++){
        <span class="keywordflow">if</span>( <span class="keywordtype">long</span>(mat.<a class="code" href="class__zgsmatrix.html#a967bd821b1efa288e865366c7c09c42c" title="matrix data">data</a>[*q].j)==j ){ <span class="keywordflow">break</span>; }
      }
      <span class="keywordflow">if</span>(q!=mat.<a class="code" href="class__zgsmatrix.html#a5b554e651d84b2edcfa203d5c1140221" title="array of vector to store the entry information of component for each row">rows</a>[<a class="code" href="__dgbmatrix-calc_8hpp.html#af7c79b3740ba9c1d547f55ac94bc1258">i</a>].end()){ s &lt;&lt; <span class="stringliteral">&quot; &quot;</span> &lt;&lt; mat.<a class="code" href="class__zgsmatrix.html#a967bd821b1efa288e865366c7c09c42c" title="matrix data">data</a>[*q].v; }
      <span class="keywordflow">else</span>{ s &lt;&lt; <span class="stringliteral">&quot; x&quot;</span>; }
    }
    s &lt;&lt; std::endl;
  }
  
  mat.<a class="code" href="class__zgsmatrix.html#a967720c5efdb91e779a955fee836d01f">destroy</a>();
  <span class="keywordflow">return</span> s;
}
</pre></div>
</div>
</div>
<a class="anchor" id="acb7ed5855221c154735ff9e4631a5b9d"></a><!-- doxytag: member="_zgsmatrix::t" ref="acb7ed5855221c154735ff9e4631a5b9d" args="(const zgsmatrix &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class__zgsmatrix.html">_zgsmatrix</a> <a class="el" href="class__zgsmatrix.html#acb7ed5855221c154735ff9e4631a5b9d">t</a> </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classzgsmatrix.html">zgsmatrix</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 zgsmatrix </p>

<p>Definition at line <a class="el" href="zgsmatrix-calc_8hpp_source.html#l00003">3</a> of file <a class="el" href="zgsmatrix-calc_8hpp_source.html">zgsmatrix-calc.hpp</a>.</p>
<div class="fragment"><pre class="fragment">{VERBOSE_REPORT;
  <a class="code" href="classzgsmatrix.html" title="Complex Double-precision General Sparse Matrix Class.">zgsmatrix</a> newmat(mat);
  <a class="code" href="dcovector-misc_8hpp.html#a4f6cde9aa05d9af1ec9bf725dd664869">std::swap</a>(newmat.rows,newmat.cols);
  
  <span class="keywordflow">for</span>(std::vector&lt;zcomponent&gt;::iterator it=newmat.data.begin(); it!=newmat.data.end(); it++){
    <a class="code" href="dcovector-misc_8hpp.html#a4f6cde9aa05d9af1ec9bf725dd664869">std::swap</a>(it-&gt;i,it-&gt;j);
  }
  
  <span class="keywordflow">return</span> <a class="code" href="dcovector-misc_8hpp.html#a297beda6502b0d92c99576d2fb9548cb">_</a>(newmat);
}
</pre></div>
</div>
</div>
<a class="anchor" id="a3acfa3df78ac748b19a29316d5207fdb"></a><!-- doxytag: member="_zgsmatrix::idamax" ref="a3acfa3df78ac748b19a29316d5207fdb" args="(long &amp;, long &amp;, const zgsmatrix &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="class__zgsmatrix.html#a3acfa3df78ac748b19a29316d5207fdb">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="classzgsmatrix.html">zgsmatrix</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="zgsmatrix-calc_8hpp_source.html#l00053">53</a> of file <a class="el" href="zgsmatrix-calc_8hpp_source.html">zgsmatrix-calc.hpp</a>.</p>
<div class="fragment"><pre class="fragment">{VERBOSE_REPORT;
  std::vector&lt;zcomponent&gt;::const_iterator itx(mat.<a class="code" href="classzgsmatrix.html#ac538118e334585236087f35829234452" title="matrix data">data</a>.begin());
  <span class="keywordtype">double</span> vmax =0.;
  <span class="keywordflow">for</span>(std::vector&lt;zcomponent&gt;::const_iterator it=mat.<a class="code" href="classzgsmatrix.html#ac538118e334585236087f35829234452" title="matrix data">data</a>.begin(); it!=mat.<a class="code" href="classzgsmatrix.html#ac538118e334585236087f35829234452" title="matrix data">data</a>.end(); it++){
    <span class="keywordflow">if</span>( vmax &lt; norm(it-&gt;v) ){
      vmax =norm(it-&gt;v);
      itx =it;
    }
  }
  <a class="code" href="__dgbmatrix-calc_8hpp.html#af7c79b3740ba9c1d547f55ac94bc1258">i</a>=itx-&gt;<a class="code" href="class__dgematrix.html#ab4e0cbe78518b4af9da89406bb2b9d19">i</a>;
  j=itx-&gt;j;
}
</pre></div>
</div>
</div>
<a class="anchor" id="aaa4ded817d7508aa55280f9177d895c2"></a><!-- doxytag: member="_zgsmatrix::damax" ref="aaa4ded817d7508aa55280f9177d895c2" args="(const zgsmatrix &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">comple <a class="el" href="class__zgsmatrix.html#aaa4ded817d7508aa55280f9177d895c2">damax</a> </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classzgsmatrix.html">zgsmatrix</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="zgsmatrix-calc_8hpp_source.html#l00069">69</a> of file <a class="el" href="zgsmatrix-calc_8hpp_source.html">zgsmatrix-calc.hpp</a>.</p>
<div class="fragment"><pre class="fragment">{VERBOSE_REPORT;
  std::vector&lt;zcomponent&gt;::const_iterator itx(mat.<a class="code" href="classzgsmatrix.html#ac538118e334585236087f35829234452" title="matrix data">data</a>.begin());
  <span class="keywordtype">double</span> vmax =0.;
  <span class="keywordflow">for</span>(std::vector&lt;zcomponent&gt;::const_iterator it=mat.<a class="code" href="classzgsmatrix.html#ac538118e334585236087f35829234452" title="matrix data">data</a>.begin(); it!=mat.<a class="code" href="classzgsmatrix.html#ac538118e334585236087f35829234452" title="matrix data">data</a>.end(); it++){
    <span class="keywordflow">if</span>( vmax &lt; norm(it-&gt;v) ){
      vmax =norm(it-&gt;v);
      itx =it;
    }
  }
  <span class="keywordflow">return</span> itx-&gt;v;
}
</pre></div>
</div>
</div>
<a class="anchor" id="a4caead34434d31aba6d3fb155026704c"></a><!-- doxytag: member="_zgsmatrix::operator+" ref="a4caead34434d31aba6d3fb155026704c" args="(const _zgsmatrix &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="class__zgsmatrix.html">_zgsmatrix</a>&amp; operator+ </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="class__zgsmatrix.html">_zgsmatrix</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>+_zgsmatrix operator </p>

<p>Definition at line <a class="el" href="__zgsmatrix-unary_8hpp_source.html#l00003">3</a> of file <a class="el" href="__zgsmatrix-unary_8hpp_source.html">_zgsmatrix-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="a5a0e7c97a09c85efdcb76d806c8a4834"></a><!-- doxytag: member="_zgsmatrix::operator&#45;" ref="a5a0e7c97a09c85efdcb76d806c8a4834" args="(const _zgsmatrix &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class__zgsmatrix.html">_zgsmatrix</a> operator- </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="class__zgsmatrix.html">_zgsmatrix</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>-_zgsmatrix operator </p>

<p>Definition at line <a class="el" href="__zgsmatrix-unary_8hpp_source.html#l00010">10</a> of file <a class="el" href="__zgsmatrix-unary_8hpp_source.html">_zgsmatrix-unary.hpp</a>.</p>
<div class="fragment"><pre class="fragment">{VERBOSE_REPORT;
  <span class="keywordflow">for</span>(std::vector&lt;zcomponent&gt;::iterator it=mat.<a class="code" href="class__zgsmatrix.html#a967bd821b1efa288e865366c7c09c42c" title="matrix data">data</a>.begin(); it!=mat.<a class="code" href="class__zgsmatrix.html#a967bd821b1efa288e865366c7c09c42c" title="matrix data">data</a>.end(); it++){
    it-&gt;v = -it-&gt;v;
  }
  
  <span class="keywordflow">return</span> mat;
}
</pre></div>
</div>
</div>
<a class="anchor" id="aba70cdab04eeb2db56c005cd0535c74b"></a><!-- doxytag: member="_zgsmatrix::operator+" ref="aba70cdab04eeb2db56c005cd0535c74b" args="(const _zgsmatrix &amp;, const zgematrix &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class__zgematrix.html">_zgematrix</a> operator+ </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="class__zgsmatrix.html">_zgsmatrix</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="classzgematrix.html">zgematrix</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>_zgsmatrix+zgematrix operator </p>

<p>Definition at line <a class="el" href="__zgsmatrix-zgematrix_8hpp_source.html#l00003">3</a> of file <a class="el" href="__zgsmatrix-zgematrix_8hpp_source.html">_zgsmatrix-zgematrix.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="class__zgsmatrix.html#a1be0849915f6b79eb1444150e8bebf31" title="matrix row size">m</a>!=matB.<a class="code" href="classzgematrix.html#a433dab4cf9fba73d9bc96ec6d626654e" title="matrix row size">m</a> || matA.<a class="code" href="class__zgsmatrix.html#ae2f1f4a6454a285b6b50feae90da335c" title="matrix column size">n</a>!=matB.<a class="code" href="classzgematrix.html#aa2cfc802c95c61389455c6a8ff266d9a" 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="class__zgsmatrix.html#a1be0849915f6b79eb1444150e8bebf31" title="matrix row size">m</a> &lt;&lt; <span class="stringliteral">&quot;x&quot;</span> &lt;&lt; matA.<a class="code" href="class__zgsmatrix.html#ae2f1f4a6454a285b6b50feae90da335c" title="matrix column size">n</a> &lt;&lt; <span class="stringliteral">&quot;) + (&quot;</span> &lt;&lt; matB.<a class="code" href="classzgematrix.html#a433dab4cf9fba73d9bc96ec6d626654e" title="matrix row size">m</a> &lt;&lt; <span class="stringliteral">&quot;x&quot;</span> &lt;&lt; matB.<a class="code" href="classzgematrix.html#aa2cfc802c95c61389455c6a8ff266d9a" 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="classzgematrix.html" title="Complex Double-precision General Dence Matrix Class.">zgematrix</a> newmat(matB);
  <span class="keywordflow">for</span>(std::vector&lt;zcomponent&gt;::const_iterator it=matA.<a class="code" href="class__zgsmatrix.html#a967bd821b1efa288e865366c7c09c42c" title="matrix data">data</a>.begin(); it!=matA.<a class="code" href="class__zgsmatrix.html#a967bd821b1efa288e865366c7c09c42c" title="matrix data">data</a>.end(); it++){
    newmat(it-&gt;i,it-&gt;j) += it-&gt;v;
  }
  
  matA.<a class="code" href="class__zgsmatrix.html#a967720c5efdb91e779a955fee836d01f">destroy</a>();
  <span class="keywordflow">return</span> <a class="code" href="dcovector-misc_8hpp.html#a297beda6502b0d92c99576d2fb9548cb">_</a>(newmat);
}
</pre></div>
</div>
</div>
<a class="anchor" id="a549154c22fb7e1408c8c3156e4fd8c34"></a><!-- doxytag: member="_zgsmatrix::operator+" ref="a549154c22fb7e1408c8c3156e4fd8c34" args="(const _zgsmatrix &amp;, const _zgematrix &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class__zgematrix.html">_zgematrix</a> operator+ </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="class__zgsmatrix.html">_zgsmatrix</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__zgematrix.html">_zgematrix</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>_zgsmatrix+_zgematrix operator </p>

<p>Definition at line <a class="el" href="__zgsmatrix-__zgematrix_8hpp_source.html#l00003">3</a> of file <a class="el" href="__zgsmatrix-__zgematrix_8hpp_source.html">_zgsmatrix-_zgematrix.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="class__zgsmatrix.html#a1be0849915f6b79eb1444150e8bebf31" title="matrix row size">m</a>!=matB.<a class="code" href="class__zgematrix.html#a078ae1faad7aa3659a8f7d15cdfa27ec" title="matrix row size">m</a> || matA.<a class="code" href="class__zgsmatrix.html#ae2f1f4a6454a285b6b50feae90da335c" title="matrix column size">n</a>!=matB.<a class="code" href="class__zgematrix.html#ad69dfb0c64f2f0ea5f9928ce33a2b1e0" 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="class__zgsmatrix.html#a1be0849915f6b79eb1444150e8bebf31" title="matrix row size">m</a> &lt;&lt; <span class="stringliteral">&quot;x&quot;</span> &lt;&lt; matA.<a class="code" href="class__zgsmatrix.html#ae2f1f4a6454a285b6b50feae90da335c" title="matrix column size">n</a> &lt;&lt; <span class="stringliteral">&quot;) + (&quot;</span> &lt;&lt; matB.<a class="code" href="class__zgematrix.html#a078ae1faad7aa3659a8f7d15cdfa27ec" title="matrix row size">m</a> &lt;&lt; <span class="stringliteral">&quot;x&quot;</span> &lt;&lt; matB.<a class="code" href="class__zgematrix.html#ad69dfb0c64f2f0ea5f9928ce33a2b1e0" 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>(std::vector&lt;zcomponent&gt;::const_iterator it=matA.<a class="code" href="class__zgsmatrix.html#a967bd821b1efa288e865366c7c09c42c" title="matrix data">data</a>.begin(); it!=matA.<a class="code" href="class__zgsmatrix.html#a967bd821b1efa288e865366c7c09c42c" title="matrix data">data</a>.end(); it++){
    matB(it-&gt;i,it-&gt;j) += it-&gt;v;
  }
  
  matA.<a class="code" href="class__zgsmatrix.html#a967720c5efdb91e779a955fee836d01f">destroy</a>();
  <span class="keywordflow">return</span> matB;
}
</pre></div>
</div>
</div>
<a class="anchor" id="aabb64dd4bd5e26878dd33b8dc6a529c0"></a><!-- doxytag: member="_zgsmatrix::operator+" ref="aabb64dd4bd5e26878dd33b8dc6a529c0" args="(const _zgsmatrix &amp;, const zhematrix &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class__zgematrix.html">_zgematrix</a> operator+ </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="class__zgsmatrix.html">_zgsmatrix</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="classzhematrix.html">zhematrix</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>_zgsmatrix+zhematrix operator </p>

<p>Definition at line <a class="el" href="__zgsmatrix-zhematrix_8hpp_source.html#l00003">3</a> of file <a class="el" href="__zgsmatrix-zhematrix_8hpp_source.html">_zgsmatrix-zhematrix.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="class__zgsmatrix.html#a1be0849915f6b79eb1444150e8bebf31" title="matrix row size">m</a>!=matB.<a class="code" href="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" title="matrix column size">n</a> || matA.<a class="code" href="class__zgsmatrix.html#ae2f1f4a6454a285b6b50feae90da335c" title="matrix column size">n</a>!=matB.<a class="code" href="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" 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="class__zgsmatrix.html#a1be0849915f6b79eb1444150e8bebf31" title="matrix row size">m</a> &lt;&lt; <span class="stringliteral">&quot;x&quot;</span> &lt;&lt; matA.<a class="code" href="class__zgsmatrix.html#ae2f1f4a6454a285b6b50feae90da335c" title="matrix column size">n</a> &lt;&lt; <span class="stringliteral">&quot;) + (&quot;</span> &lt;&lt; matB.<a class="code" href="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" title="matrix column size">n</a> &lt;&lt; <span class="stringliteral">&quot;x&quot;</span> &lt;&lt; matB.<a class="code" href="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" 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="classzgematrix.html" title="Complex Double-precision General Dence Matrix Class.">zgematrix</a> newmat( matB.<a class="code" href="classzhematrix.html#a4431c33c07ba437ea65491d437413a3c">to_zgematrix</a>() );
  
  <span class="keywordflow">for</span>(std::vector&lt;zcomponent&gt;::const_iterator it=matA.<a class="code" href="class__zgsmatrix.html#a967bd821b1efa288e865366c7c09c42c" title="matrix data">data</a>.begin(); it!=matA.<a class="code" href="class__zgsmatrix.html#a967bd821b1efa288e865366c7c09c42c" title="matrix data">data</a>.end(); it++){
    newmat(it-&gt;i,it-&gt;j) += it-&gt;v;
  }
  
  matA.<a class="code" href="class__zgsmatrix.html#a967720c5efdb91e779a955fee836d01f">destroy</a>();
  <span class="keywordflow">return</span> <a class="code" href="dcovector-misc_8hpp.html#a297beda6502b0d92c99576d2fb9548cb">_</a>(newmat);
}
</pre></div>
</div>
</div>
<a class="anchor" id="adcfeaae50c765ccc406ca2a13a30555e"></a><!-- doxytag: member="_zgsmatrix::operator+" ref="adcfeaae50c765ccc406ca2a13a30555e" args="(const _zgsmatrix &amp;, const _zhematrix &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class__zgematrix.html">_zgematrix</a> operator+ </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="class__zgsmatrix.html">_zgsmatrix</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__zhematrix.html">_zhematrix</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>_zgsmatrix+_zhematrix operator </p>

<p>Definition at line <a class="el" href="__zgsmatrix-__zhematrix_8hpp_source.html#l00003">3</a> of file <a class="el" href="__zgsmatrix-__zhematrix_8hpp_source.html">_zgsmatrix-_zhematrix.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="class__zgsmatrix.html#a1be0849915f6b79eb1444150e8bebf31" title="matrix row size">m</a>!=matB.<a class="code" href="class__zhematrix.html#a3cd8e436cf59991845c6b8e66d56c023" title="matrix column size">n</a> || matA.<a class="code" href="class__zgsmatrix.html#ae2f1f4a6454a285b6b50feae90da335c" title="matrix column size">n</a>!=matB.<a class="code" href="class__zhematrix.html#a3cd8e436cf59991845c6b8e66d56c023" 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="class__zgsmatrix.html#a1be0849915f6b79eb1444150e8bebf31" title="matrix row size">m</a> &lt;&lt; <span class="stringliteral">&quot;x&quot;</span> &lt;&lt; matA.<a class="code" href="class__zgsmatrix.html#ae2f1f4a6454a285b6b50feae90da335c" title="matrix column size">n</a> &lt;&lt; <span class="stringliteral">&quot;) + (&quot;</span> &lt;&lt; matB.<a class="code" href="class__zhematrix.html#a3cd8e436cf59991845c6b8e66d56c023" title="matrix column size">n</a> &lt;&lt; <span class="stringliteral">&quot;x&quot;</span> &lt;&lt; matB.<a class="code" href="class__zhematrix.html#a3cd8e436cf59991845c6b8e66d56c023" 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="classzgematrix.html" title="Complex Double-precision General Dence Matrix Class.">zgematrix</a> newmat( matB.<a class="code" href="class__zhematrix.html#abcc15982d68ccf755653d2bfcf5dc2be">to_zgematrix</a>() );
  
  <span class="keywordflow">for</span>(std::vector&lt;zcomponent&gt;::const_iterator it=matA.<a class="code" href="class__zgsmatrix.html#a967bd821b1efa288e865366c7c09c42c" title="matrix data">data</a>.begin(); it!=matA.<a class="code" href="class__zgsmatrix.html#a967bd821b1efa288e865366c7c09c42c" title="matrix data">data</a>.end(); it++){
    newmat(it-&gt;i,it-&gt;j) += it-&gt;v;
  }
  
  matA.<a class="code" href="class__zgsmatrix.html#a967720c5efdb91e779a955fee836d01f">destroy</a>();
  matB.<a class="code" href="class__zhematrix.html#a2acc6b7bde22ce109468a72d8d40abcc">destroy</a>();
  <span class="keywordflow">return</span> <a class="code" href="dcovector-misc_8hpp.html#a297beda6502b0d92c99576d2fb9548cb">_</a>(newmat);
}
</pre></div>
</div>
</div>
<a class="anchor" id="a30ffef60a1f88f76b870707d2b4e6724"></a><!-- doxytag: member="_zgsmatrix::operator+" ref="a30ffef60a1f88f76b870707d2b4e6724" args="(const _zgsmatrix &amp;, const zgbmatrix &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class__zgematrix.html">_zgematrix</a> operator+ </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="class__zgsmatrix.html">_zgsmatrix</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="classzgbmatrix.html">zgbmatrix</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>_zgsmatrix+zgbmatrix operator </p>

<p>Definition at line <a class="el" href="__zgsmatrix-zgbmatrix_8hpp_source.html#l00003">3</a> of file <a class="el" href="__zgsmatrix-zgbmatrix_8hpp_source.html">_zgsmatrix-zgbmatrix.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="class__zgsmatrix.html#ae2f1f4a6454a285b6b50feae90da335c" title="matrix column size">n</a>!=matB.<a class="code" href="classzgbmatrix.html#ae648f83ec8f7cbc28335265c10e6fe45" title="matrix column size">n</a> || matA.<a class="code" href="class__zgsmatrix.html#a1be0849915f6b79eb1444150e8bebf31" title="matrix row size">m</a>!=matB.<a class="code" href="classzgbmatrix.html#a760031d62091c1ce2808a1b07c7f81bf" 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="class__zgsmatrix.html#a1be0849915f6b79eb1444150e8bebf31" title="matrix row size">m</a> &lt;&lt; <span class="stringliteral">&quot;x&quot;</span> &lt;&lt; matA.<a class="code" href="class__zgsmatrix.html#ae2f1f4a6454a285b6b50feae90da335c" title="matrix column size">n</a> &lt;&lt; <span class="stringliteral">&quot;) + (&quot;</span> &lt;&lt; matB.<a class="code" href="classzgbmatrix.html#a760031d62091c1ce2808a1b07c7f81bf" title="matrix row size">m</a> &lt;&lt; <span class="stringliteral">&quot;x&quot;</span> &lt;&lt; matB.<a class="code" href="classzgbmatrix.html#ae648f83ec8f7cbc28335265c10e6fe45" 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="classzgematrix.html" title="Complex Double-precision General Dence Matrix Class.">zgematrix</a> newmat( matA.<a class="code" href="class__zgsmatrix.html#a2ad2b53d5418f312d50c746e37b71653">to_zgematrix</a>() );
  
  <span class="keywordflow">for</span>(<span class="keywordtype">long</span> <a class="code" href="__dgbmatrix-calc_8hpp.html#af7c79b3740ba9c1d547f55ac94bc1258">i</a>=0; <a class="code" href="__dgbmatrix-calc_8hpp.html#af7c79b3740ba9c1d547f55ac94bc1258">i</a>&lt;matB.<a class="code" href="classzgbmatrix.html#a760031d62091c1ce2808a1b07c7f81bf" title="matrix row size">m</a>; <a class="code" href="__dgbmatrix-calc_8hpp.html#af7c79b3740ba9c1d547f55ac94bc1258">i</a>++){
    <span class="keywordflow">for</span>(<span class="keywordtype">long</span> j=std::max(0l,<a class="code" href="__dgbmatrix-calc_8hpp.html#af7c79b3740ba9c1d547f55ac94bc1258">i</a>-matB.<a class="code" href="classzgbmatrix.html#af8f8a5015069bdb6c268652ee25838c0" title="lower band width">kl</a>); j&lt;std::min(matB.<a class="code" href="classzgbmatrix.html#ae648f83ec8f7cbc28335265c10e6fe45" title="matrix column size">n</a>,<a class="code" href="__dgbmatrix-calc_8hpp.html#af7c79b3740ba9c1d547f55ac94bc1258">i</a>+matB.<a class="code" href="classzgbmatrix.html#a2a36d59681d1b2f13120a4b4be9203e8" title="upper band width">ku</a>+1); j++){
      newmat(<a class="code" href="__dgbmatrix-calc_8hpp.html#af7c79b3740ba9c1d547f55ac94bc1258">i</a>,j) +=matB(<a class="code" href="__dgbmatrix-calc_8hpp.html#af7c79b3740ba9c1d547f55ac94bc1258">i</a>,j);
    }
  }
  
  matA.<a class="code" href="class__zgsmatrix.html#a967720c5efdb91e779a955fee836d01f">destroy</a>();
  <span class="keywordflow">return</span> <a class="code" href="dcovector-misc_8hpp.html#a297beda6502b0d92c99576d2fb9548cb">_</a>(newmat);
}
</pre></div>
</div>
</div>
<a class="anchor" id="afb4b4af1ae7fa25e976fdd2765e41245"></a><!-- doxytag: member="_zgsmatrix::operator+" ref="afb4b4af1ae7fa25e976fdd2765e41245" args="(const _zgsmatrix &amp;, const _zgbmatrix &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class__zgematrix.html">_zgematrix</a> operator+ </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="class__zgsmatrix.html">_zgsmatrix</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__zgbmatrix.html">_zgbmatrix</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>_zgsmatrix+_zgbmatrix operator </p>

<p>Definition at line <a class="el" href="__zgsmatrix-__zgbmatrix_8hpp_source.html#l00003">3</a> of file <a class="el" href="__zgsmatrix-__zgbmatrix_8hpp_source.html">_zgsmatrix-_zgbmatrix.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="class__zgsmatrix.html#ae2f1f4a6454a285b6b50feae90da335c" title="matrix column size">n</a>!=matB.<a class="code" href="class__zgbmatrix.html#a743983e0c14c2d3917b51c510ee957f6" title="matrix column size">n</a> || matA.<a class="code" href="class__zgsmatrix.html#a1be0849915f6b79eb1444150e8bebf31" title="matrix row size">m</a>!=matB.<a class="code" href="class__zgbmatrix.html#a2c7cdee481455ef265dc77dea7cd03cf" 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="class__zgsmatrix.html#a1be0849915f6b79eb1444150e8bebf31" title="matrix row size">m</a> &lt;&lt; <span class="stringliteral">&quot;x&quot;</span> &lt;&lt; matA.<a class="code" href="class__zgsmatrix.html#ae2f1f4a6454a285b6b50feae90da335c" title="matrix column size">n</a> &lt;&lt; <span class="stringliteral">&quot;) + (&quot;</span> &lt;&lt; matB.<a class="code" href="class__zgbmatrix.html#a2c7cdee481455ef265dc77dea7cd03cf" title="matrix row size">m</a> &lt;&lt; <span class="stringliteral">&quot;x&quot;</span> &lt;&lt; matB.<a class="code" href="class__zgbmatrix.html#a743983e0c14c2d3917b51c510ee957f6" 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="classzgematrix.html" title="Complex Double-precision General Dence Matrix Class.">zgematrix</a> newmat( matA.<a class="code" href="class__zgsmatrix.html#a2ad2b53d5418f312d50c746e37b71653">to_zgematrix</a>() );
  
  <span class="keywordflow">for</span>(<span class="keywordtype">long</span> <a class="code" href="__dgbmatrix-calc_8hpp.html#af7c79b3740ba9c1d547f55ac94bc1258">i</a>=0; <a class="code" href="__dgbmatrix-calc_8hpp.html#af7c79b3740ba9c1d547f55ac94bc1258">i</a>&lt;matB.<a class="code" href="class__zgbmatrix.html#a2c7cdee481455ef265dc77dea7cd03cf" title="matrix row size">m</a>; <a class="code" href="__dgbmatrix-calc_8hpp.html#af7c79b3740ba9c1d547f55ac94bc1258">i</a>++){
    <span class="keywordflow">for</span>(<span class="keywordtype">long</span> j=std::max(0l,<a class="code" href="__dgbmatrix-calc_8hpp.html#af7c79b3740ba9c1d547f55ac94bc1258">i</a>-matB.<a class="code" href="class__zgbmatrix.html#a0a88723ded8d7728a8b90ddfd28e5d0c" title="lower band width">kl</a>); j&lt;std::min(matB.<a class="code" href="class__zgbmatrix.html#a743983e0c14c2d3917b51c510ee957f6" title="matrix column size">n</a>,<a class="code" href="__dgbmatrix-calc_8hpp.html#af7c79b3740ba9c1d547f55ac94bc1258">i</a>+matB.<a class="code" href="class__zgbmatrix.html#a0b32db6f9ae374d5d390e24686433a77" title="upper band width">ku</a>+1); j++){
      newmat(<a class="code" href="__dgbmatrix-calc_8hpp.html#af7c79b3740ba9c1d547f55ac94bc1258">i</a>,j) +=matB(<a class="code" href="__dgbmatrix-calc_8hpp.html#af7c79b3740ba9c1d547f55ac94bc1258">i</a>,j);
    }
  }
  
  matA.<a class="code" href="class__zgsmatrix.html#a967720c5efdb91e779a955fee836d01f">destroy</a>();
  matB.<a class="code" href="class__zgbmatrix.html#a30eb8221fd3a4046e3c3eb6ba9902bc8">destroy</a>();
  <span class="keywordflow">return</span> <a class="code" href="dcovector-misc_8hpp.html#a297beda6502b0d92c99576d2fb9548cb">_</a>(newmat);
}
</pre></div>
</div>
</div>
<a class="anchor" id="a264c5beb44c47e09a9314e9587ed158d"></a><!-- doxytag: member="_zgsmatrix::operator+" ref="a264c5beb44c47e09a9314e9587ed158d" args="(const _zgsmatrix &amp;, const zgsmatrix &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class__zgsmatrix.html">_zgsmatrix</a> operator+ </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="class__zgsmatrix.html">_zgsmatrix</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="classzgsmatrix.html">zgsmatrix</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>_zgsmatrix+zgsmatrix operator </p>

<p>Definition at line <a class="el" href="__zgsmatrix-zgsmatrix_8hpp_source.html#l00003">3</a> of file <a class="el" href="__zgsmatrix-zgsmatrix_8hpp_source.html">_zgsmatrix-zgsmatrix.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="class__zgsmatrix.html#ae2f1f4a6454a285b6b50feae90da335c" title="matrix column size">n</a>!=matB.<a class="code" href="classzgsmatrix.html#a00a2cb15c41645107d565ba6efae0228" title="matrix column size">n</a> || matA.<a class="code" href="class__zgsmatrix.html#a1be0849915f6b79eb1444150e8bebf31" title="matrix row size">m</a>!=matB.<a class="code" href="classzgsmatrix.html#a98ae26acaf05df9ca358514b776faafe" 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="class__zgsmatrix.html#a1be0849915f6b79eb1444150e8bebf31" title="matrix row size">m</a> &lt;&lt; <span class="stringliteral">&quot;x&quot;</span> &lt;&lt; matA.<a class="code" href="class__zgsmatrix.html#ae2f1f4a6454a285b6b50feae90da335c" title="matrix column size">n</a> &lt;&lt; <span class="stringliteral">&quot;) + (&quot;</span> &lt;&lt; matB.<a class="code" href="classzgsmatrix.html#a98ae26acaf05df9ca358514b776faafe" title="matrix row size">m</a> &lt;&lt; <span class="stringliteral">&quot;x&quot;</span> &lt;&lt; matB.<a class="code" href="classzgsmatrix.html#a00a2cb15c41645107d565ba6efae0228" 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="classzgsmatrix.html" title="Complex Double-precision General Sparse Matrix Class.">zgsmatrix</a> newmat(matA);
  
  <span class="keywordflow">for</span>(std::vector&lt;zcomponent&gt;::const_iterator it=matB.<a class="code" href="classzgsmatrix.html#ac538118e334585236087f35829234452" title="matrix data">data</a>.begin(); it!=matB.<a class="code" href="classzgsmatrix.html#ac538118e334585236087f35829234452" 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="dcovector-misc_8hpp.html#a297beda6502b0d92c99576d2fb9548cb">_</a>(newmat);
}
</pre></div>
</div>
</div>
<a class="anchor" id="a934293dfafcd2b796aa306934764c0fd"></a><!-- doxytag: member="_zgsmatrix::operator+" ref="a934293dfafcd2b796aa306934764c0fd" args="(const _zgsmatrix &amp;, const _zgsmatrix &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class__zgsmatrix.html">_zgsmatrix</a> operator+ </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="class__zgsmatrix.html">_zgsmatrix</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__zgsmatrix.html">_zgsmatrix</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>_zgsmatrix+_zgsmatrix operator </p>

<p>Definition at line <a class="el" href="__zgsmatrix-__zgsmatrix_8hpp_source.html#l00003">3</a> of file <a class="el" href="__zgsmatrix-__zgsmatrix_8hpp_source.html">_zgsmatrix-_zgsmatrix.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="class__zgsmatrix.html#ae2f1f4a6454a285b6b50feae90da335c" title="matrix column size">n</a>!=matB.<a class="code" href="class__zgsmatrix.html#ae2f1f4a6454a285b6b50feae90da335c" title="matrix column size">n</a> || matA.<a class="code" href="class__zgsmatrix.html#a1be0849915f6b79eb1444150e8bebf31" title="matrix row size">m</a>!=matB.<a class="code" href="class__zgsmatrix.html#a1be0849915f6b79eb1444150e8bebf31" 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="class__zgsmatrix.html#a1be0849915f6b79eb1444150e8bebf31" title="matrix row size">m</a> &lt;&lt; <span class="stringliteral">&quot;x&quot;</span> &lt;&lt; matA.<a class="code" href="class__zgsmatrix.html#ae2f1f4a6454a285b6b50feae90da335c" title="matrix column size">n</a> &lt;&lt; <span class="stringliteral">&quot;) + (&quot;</span> &lt;&lt; matB.<a class="code" href="class__zgsmatrix.html#a1be0849915f6b79eb1444150e8bebf31" title="matrix row size">m</a> &lt;&lt; <span class="stringliteral">&quot;x&quot;</span> &lt;&lt; matB.<a class="code" href="class__zgsmatrix.html#ae2f1f4a6454a285b6b50feae90da335c" 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="classzgsmatrix.html" title="Complex Double-precision General Sparse Matrix Class.">zgsmatrix</a> newmat(matA);
  
  <span class="keywordflow">for</span>(std::vector&lt;zcomponent&gt;::const_iterator it=matB.<a class="code" href="class__zgsmatrix.html#a967bd821b1efa288e865366c7c09c42c" title="matrix data">data</a>.begin(); it!=matB.<a class="code" href="class__zgsmatrix.html#a967bd821b1efa288e865366c7c09c42c" title="matrix data">data</a>.end(); it++){
    newmat(it-&gt;i,it-&gt;j) += it-&gt;v;
  }
  
  matB.<a class="code" href="class__zgsmatrix.html#a967720c5efdb91e779a955fee836d01f">destroy</a>();
  <span class="keywordflow">return</span> <a class="code" href="dcovector-misc_8hpp.html#a297beda6502b0d92c99576d2fb9548cb">_</a>(newmat);
}
</pre></div>
</div>
</div>
<a class="anchor" id="afd99efc6e3ec571ff3e31fe726e221f1"></a><!-- doxytag: member="_zgsmatrix::operator+" ref="afd99efc6e3ec571ff3e31fe726e221f1" args="(const _zgsmatrix &amp;, const zhsmatrix &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class__zgsmatrix.html">_zgsmatrix</a> operator+ </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="class__zgsmatrix.html">_zgsmatrix</a> &amp;&#160;</td>
          <td class="paramname">, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classzhsmatrix.html">zhsmatrix</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="a7c0f1c86b57444c79e6ff96591cfa9a6"></a><!-- doxytag: member="_zgsmatrix::operator+" ref="a7c0f1c86b57444c79e6ff96591cfa9a6" args="(const _zgsmatrix &amp;, const _zhsmatrix &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class__zgsmatrix.html">_zgsmatrix</a> operator+ </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="class__zgsmatrix.html">_zgsmatrix</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__zhsmatrix.html">_zhsmatrix</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="ac39c63148a04ce7b87fdf28698c5bcca"></a><!-- doxytag: member="_zgsmatrix::operator&#45;" ref="ac39c63148a04ce7b87fdf28698c5bcca" args="(const _zgsmatrix &amp;, const zgematrix &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class__zgematrix.html">_zgematrix</a> operator- </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="class__zgsmatrix.html">_zgsmatrix</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="classzgematrix.html">zgematrix</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>_zgsmatrix-zgematrix operator </p>

<p>Definition at line <a class="el" href="__zgsmatrix-zgematrix_8hpp_source.html#l00025">25</a> of file <a class="el" href="__zgsmatrix-zgematrix_8hpp_source.html">_zgsmatrix-zgematrix.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="class__zgsmatrix.html#a1be0849915f6b79eb1444150e8bebf31" title="matrix row size">m</a>!=matB.<a class="code" href="classzgematrix.html#a433dab4cf9fba73d9bc96ec6d626654e" title="matrix row size">m</a> || matA.<a class="code" href="class__zgsmatrix.html#ae2f1f4a6454a285b6b50feae90da335c" title="matrix column size">n</a>!=matB.<a class="code" href="classzgematrix.html#aa2cfc802c95c61389455c6a8ff266d9a" 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="class__zgsmatrix.html#a1be0849915f6b79eb1444150e8bebf31" title="matrix row size">m</a> &lt;&lt; <span class="stringliteral">&quot;x&quot;</span> &lt;&lt; matA.<a class="code" href="class__zgsmatrix.html#ae2f1f4a6454a285b6b50feae90da335c" title="matrix column size">n</a> &lt;&lt; <span class="stringliteral">&quot;) - (&quot;</span> &lt;&lt; matB.<a class="code" href="classzgematrix.html#aa2cfc802c95c61389455c6a8ff266d9a" title="matrix column size">n</a> &lt;&lt; <span class="stringliteral">&quot;x&quot;</span> &lt;&lt; matB.<a class="code" href="classzgematrix.html#aa2cfc802c95c61389455c6a8ff266d9a" 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="classzgematrix.html" title="Complex Double-precision General Dence Matrix Class.">zgematrix</a> newmat(-matB);
  <span class="keywordflow">for</span>(std::vector&lt;zcomponent&gt;::const_iterator it=matA.<a class="code" href="class__zgsmatrix.html#a967bd821b1efa288e865366c7c09c42c" title="matrix data">data</a>.begin(); it!=matA.<a class="code" href="class__zgsmatrix.html#a967bd821b1efa288e865366c7c09c42c" title="matrix data">data</a>.end(); it++){
    newmat(it-&gt;i,it-&gt;j) += it-&gt;v;
  }
  
  matA.<a class="code" href="class__zgsmatrix.html#a967720c5efdb91e779a955fee836d01f">destroy</a>();
  <span class="keywordflow">return</span> <a class="code" href="dcovector-misc_8hpp.html#a297beda6502b0d92c99576d2fb9548cb">_</a>(newmat);
}
</pre></div>
</div>
</div>
<a class="anchor" id="afe5652d1dc8d64dbf46e88e90fb0ca53"></a><!-- doxytag: member="_zgsmatrix::operator&#45;" ref="afe5652d1dc8d64dbf46e88e90fb0ca53" args="(const _zgsmatrix &amp;, const _zgematrix &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class__zgematrix.html">_zgematrix</a> operator- </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="class__zgsmatrix.html">_zgsmatrix</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__zgematrix.html">_zgematrix</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>_zgsmatrix-_zgematrix operator </p>

<p>Definition at line <a class="el" href="__zgsmatrix-__zgematrix_8hpp_source.html#l00024">24</a> of file <a class="el" href="__zgsmatrix-__zgematrix_8hpp_source.html">_zgsmatrix-_zgematrix.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="class__zgsmatrix.html#a1be0849915f6b79eb1444150e8bebf31" title="matrix row size">m</a>!=matB.<a class="code" href="class__zgematrix.html#a078ae1faad7aa3659a8f7d15cdfa27ec" title="matrix row size">m</a> || matA.<a class="code" href="class__zgsmatrix.html#ae2f1f4a6454a285b6b50feae90da335c" title="matrix column size">n</a>!=matB.<a class="code" href="class__zgematrix.html#ad69dfb0c64f2f0ea5f9928ce33a2b1e0" 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="class__zgsmatrix.html#a1be0849915f6b79eb1444150e8bebf31" title="matrix row size">m</a> &lt;&lt; <span class="stringliteral">&quot;x&quot;</span> &lt;&lt; matA.<a class="code" href="class__zgsmatrix.html#ae2f1f4a6454a285b6b50feae90da335c" title="matrix column size">n</a> &lt;&lt; <span class="stringliteral">&quot;) - (&quot;</span> &lt;&lt; matB.<a class="code" href="class__zgematrix.html#ad69dfb0c64f2f0ea5f9928ce33a2b1e0" title="matrix column size">n</a> &lt;&lt; <span class="stringliteral">&quot;x&quot;</span> &lt;&lt; matB.<a class="code" href="class__zgematrix.html#ad69dfb0c64f2f0ea5f9928ce33a2b1e0" 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="comment"></span>
<span class="comment">  //// change sign ////</span>
<span class="comment"></span>  <span class="keywordflow">for</span>(<span class="keywordtype">int</span> <a class="code" href="__dgbmatrix-calc_8hpp.html#af7c79b3740ba9c1d547f55ac94bc1258">i</a>=0; <a class="code" href="__dgbmatrix-calc_8hpp.html#af7c79b3740ba9c1d547f55ac94bc1258">i</a>&lt;matB.<a class="code" href="class__zgematrix.html#a078ae1faad7aa3659a8f7d15cdfa27ec" title="matrix row size">m</a>*matB.<a class="code" href="class__zgematrix.html#ad69dfb0c64f2f0ea5f9928ce33a2b1e0" title="matrix column size">n</a>; <a class="code" href="__dgbmatrix-calc_8hpp.html#af7c79b3740ba9c1d547f55ac94bc1258">i</a>++){
    matB.<a class="code" href="class__zgematrix.html#a5582bee2b868f89c22a455800cb96985" title="1D array to store matrix data">array</a>[<a class="code" href="__dgbmatrix-calc_8hpp.html#af7c79b3740ba9c1d547f55ac94bc1258">i</a>] = -matB.<a class="code" href="class__zgematrix.html#a5582bee2b868f89c22a455800cb96985" title="1D array to store matrix data">array</a>[<a class="code" href="__dgbmatrix-calc_8hpp.html#af7c79b3740ba9c1d547f55ac94bc1258">i</a>];
  }
  <span class="comment"></span>
<span class="comment">  //// add ////</span>
<span class="comment"></span>  <span class="keywordflow">for</span>(std::vector&lt;zcomponent&gt;::const_iterator it=matA.<a class="code" href="class__zgsmatrix.html#a967bd821b1efa288e865366c7c09c42c" title="matrix data">data</a>.begin(); it!=matA.<a class="code" href="class__zgsmatrix.html#a967bd821b1efa288e865366c7c09c42c" title="matrix data">data</a>.end(); it++){
    matB(it-&gt;i,it-&gt;j) += it-&gt;v;
  }
  
  matA.<a class="code" href="class__zgsmatrix.html#a967720c5efdb91e779a955fee836d01f">destroy</a>();
  <span class="keywordflow">return</span> matB;
}
</pre></div>
</div>
</div>
<a class="anchor" id="a155efe14136344a3237164ee31701492"></a><!-- doxytag: member="_zgsmatrix::operator&#45;" ref="a155efe14136344a3237164ee31701492" args="(const _zgsmatrix &amp;, const zhematrix &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class__zgematrix.html">_zgematrix</a> operator- </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="class__zgsmatrix.html">_zgsmatrix</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="classzhematrix.html">zhematrix</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>_zgsmatrix-zhematrix operator </p>

<p>Definition at line <a class="el" href="__zgsmatrix-zhematrix_8hpp_source.html#l00026">26</a> of file <a class="el" href="__zgsmatrix-zhematrix_8hpp_source.html">_zgsmatrix-zhematrix.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="class__zgsmatrix.html#a1be0849915f6b79eb1444150e8bebf31" title="matrix row size">m</a>!=matB.<a class="code" href="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" title="matrix column size">n</a> || matA.<a class="code" href="class__zgsmatrix.html#ae2f1f4a6454a285b6b50feae90da335c" title="matrix column size">n</a>!=matB.<a class="code" href="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" 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="class__zgsmatrix.html#a1be0849915f6b79eb1444150e8bebf31" title="matrix row size">m</a> &lt;&lt; <span class="stringliteral">&quot;x&quot;</span> &lt;&lt; matA.<a class="code" href="class__zgsmatrix.html#ae2f1f4a6454a285b6b50feae90da335c" title="matrix column size">n</a> &lt;&lt; <span class="stringliteral">&quot;) - (&quot;</span> &lt;&lt; matB.<a class="code" href="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" title="matrix column size">n</a> &lt;&lt; <span class="stringliteral">&quot;x&quot;</span> &lt;&lt; matB.<a class="code" href="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" 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="comment"></span>
<span class="comment">  //// shallow copy to zgematrix ////</span>
<span class="comment"></span>  <a class="code" href="classzgematrix.html" title="Complex Double-precision General Dence Matrix Class.">zgematrix</a> newmat( (-matB).<a class="code" href="class__zgsmatrix.html#a2ad2b53d5418f312d50c746e37b71653">to_zgematrix</a>() );<span class="comment"></span>
<span class="comment">  //// add ////</span>
<span class="comment"></span>  <span class="keywordflow">for</span>(std::vector&lt;zcomponent&gt;::const_iterator it=matA.<a class="code" href="class__zgsmatrix.html#a967bd821b1efa288e865366c7c09c42c" title="matrix data">data</a>.begin(); it!=matA.<a class="code" href="class__zgsmatrix.html#a967bd821b1efa288e865366c7c09c42c" title="matrix data">data</a>.end(); it++){
    newmat(it-&gt;i,it-&gt;j) += it-&gt;v;
  }<span class="comment"></span>
<span class="comment">  //// return ////</span>
<span class="comment"></span>  matA.<a class="code" href="class__zgsmatrix.html#a967720c5efdb91e779a955fee836d01f">destroy</a>();
  <span class="keywordflow">return</span> <a class="code" href="dcovector-misc_8hpp.html#a297beda6502b0d92c99576d2fb9548cb">_</a>(newmat);
}
</pre></div>
</div>
</div>
<a class="anchor" id="a1769f74509a8a55f12f2a8d9ebeee3cd"></a><!-- doxytag: member="_zgsmatrix::operator&#45;" ref="a1769f74509a8a55f12f2a8d9ebeee3cd" args="(const _zgsmatrix &amp;, const _zhematrix &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class__zgematrix.html">_zgematrix</a> operator- </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="class__zgsmatrix.html">_zgsmatrix</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__zhematrix.html">_zhematrix</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>_zgsmatrix-_zhematrix operator </p>

<p>Definition at line <a class="el" href="__zgsmatrix-__zhematrix_8hpp_source.html#l00027">27</a> of file <a class="el" href="__zgsmatrix-__zhematrix_8hpp_source.html">_zgsmatrix-_zhematrix.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="class__zgsmatrix.html#a1be0849915f6b79eb1444150e8bebf31" title="matrix row size">m</a>!=matB.<a class="code" href="class__zhematrix.html#a3cd8e436cf59991845c6b8e66d56c023" title="matrix column size">n</a> || matA.<a class="code" href="class__zgsmatrix.html#ae2f1f4a6454a285b6b50feae90da335c" title="matrix column size">n</a>!=matB.<a class="code" href="class__zhematrix.html#a3cd8e436cf59991845c6b8e66d56c023" 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="class__zgsmatrix.html#a1be0849915f6b79eb1444150e8bebf31" title="matrix row size">m</a> &lt;&lt; <span class="stringliteral">&quot;x&quot;</span> &lt;&lt; matA.<a class="code" href="class__zgsmatrix.html#ae2f1f4a6454a285b6b50feae90da335c" title="matrix column size">n</a> &lt;&lt; <span class="stringliteral">&quot;) - (&quot;</span> &lt;&lt; matB.<a class="code" href="class__zhematrix.html#a3cd8e436cf59991845c6b8e66d56c023" title="matrix column size">n</a> &lt;&lt; <span class="stringliteral">&quot;x&quot;</span> &lt;&lt; matB.<a class="code" href="class__zhematrix.html#a3cd8e436cf59991845c6b8e66d56c023" 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="comment"></span>
<span class="comment">  //// shallow copy to zgematrix  ////</span>
<span class="comment"></span>  <a class="code" href="classzgematrix.html" title="Complex Double-precision General Dence Matrix Class.">zgematrix</a> newmat( (-matB).<a class="code" href="class__zgsmatrix.html#a2ad2b53d5418f312d50c746e37b71653">to_zgematrix</a>() );<span class="comment"></span>
<span class="comment">  //// add ////</span>
<span class="comment"></span>  <span class="keywordflow">for</span>(std::vector&lt;zcomponent&gt;::const_iterator it=matA.<a class="code" href="class__zgsmatrix.html#a967bd821b1efa288e865366c7c09c42c" title="matrix data">data</a>.begin(); it!=matA.<a class="code" href="class__zgsmatrix.html#a967bd821b1efa288e865366c7c09c42c" title="matrix data">data</a>.end(); it++){
    newmat(it-&gt;i,it-&gt;j) += it-&gt;v;
  }<span class="comment"></span>
<span class="comment">  ////////</span>
<span class="comment"></span>  matA.<a class="code" href="class__zgsmatrix.html#a967720c5efdb91e779a955fee836d01f">destroy</a>();
  matB.<a class="code" href="class__zhematrix.html#a2acc6b7bde22ce109468a72d8d40abcc">destroy</a>();
  <span class="keywordflow">return</span> <a class="code" href="dcovector-misc_8hpp.html#a297beda6502b0d92c99576d2fb9548cb">_</a>(newmat);
}
</pre></div>
</div>
</div>
<a class="anchor" id="ab4f80c770680836658bc463cb727e38a"></a><!-- doxytag: member="_zgsmatrix::operator&#45;" ref="ab4f80c770680836658bc463cb727e38a" args="(const _zgsmatrix &amp;, const zgbmatrix &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class__zgematrix.html">_zgematrix</a> operator- </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="class__zgsmatrix.html">_zgsmatrix</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="classzgbmatrix.html">zgbmatrix</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>_zgsmatrix-zgbmatrix operator </p>

<p>Definition at line <a class="el" href="__zgsmatrix-zgbmatrix_8hpp_source.html#l00028">28</a> of file <a class="el" href="__zgsmatrix-zgbmatrix_8hpp_source.html">_zgsmatrix-zgbmatrix.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="class__zgsmatrix.html#ae2f1f4a6454a285b6b50feae90da335c" title="matrix column size">n</a>!=matB.<a class="code" href="classzgbmatrix.html#ae648f83ec8f7cbc28335265c10e6fe45" title="matrix column size">n</a> || matA.<a class="code" href="class__zgsmatrix.html#a1be0849915f6b79eb1444150e8bebf31" title="matrix row size">m</a>!=matB.<a class="code" href="classzgbmatrix.html#a760031d62091c1ce2808a1b07c7f81bf" 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="class__zgsmatrix.html#a1be0849915f6b79eb1444150e8bebf31" title="matrix row size">m</a> &lt;&lt; <span class="stringliteral">&quot;x&quot;</span> &lt;&lt; matA.<a class="code" href="class__zgsmatrix.html#ae2f1f4a6454a285b6b50feae90da335c" title="matrix column size">n</a> &lt;&lt; <span class="stringliteral">&quot;) + (&quot;</span> &lt;&lt; matB.<a class="code" href="classzgbmatrix.html#a760031d62091c1ce2808a1b07c7f81bf" title="matrix row size">m</a> &lt;&lt; <span class="stringliteral">&quot;x&quot;</span> &lt;&lt; matB.<a class="code" href="classzgbmatrix.html#ae648f83ec8f7cbc28335265c10e6fe45" 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="classzgematrix.html" title="Complex Double-precision General Dence Matrix Class.">zgematrix</a> newmat( matA.<a class="code" href="class__zgsmatrix.html#a2ad2b53d5418f312d50c746e37b71653">to_zgematrix</a>() );
  
  <span class="keywordflow">for</span>(<span class="keywordtype">long</span> <a class="code" href="__dgbmatrix-calc_8hpp.html#af7c79b3740ba9c1d547f55ac94bc1258">i</a>=0; <a class="code" href="__dgbmatrix-calc_8hpp.html#af7c79b3740ba9c1d547f55ac94bc1258">i</a>&lt;matB.<a class="code" href="classzgbmatrix.html#a760031d62091c1ce2808a1b07c7f81bf" title="matrix row size">m</a>; <a class="code" href="__dgbmatrix-calc_8hpp.html#af7c79b3740ba9c1d547f55ac94bc1258">i</a>++){
    <span class="keywordflow">for</span>(<span class="keywordtype">long</span> j=std::max(0l,<a class="code" href="__dgbmatrix-calc_8hpp.html#af7c79b3740ba9c1d547f55ac94bc1258">i</a>-matB.<a class="code" href="classzgbmatrix.html#af8f8a5015069bdb6c268652ee25838c0" title="lower band width">kl</a>); j&lt;std::min(matB.<a class="code" href="classzgbmatrix.html#ae648f83ec8f7cbc28335265c10e6fe45" title="matrix column size">n</a>,<a class="code" href="__dgbmatrix-calc_8hpp.html#af7c79b3740ba9c1d547f55ac94bc1258">i</a>+matB.<a class="code" href="classzgbmatrix.html#a2a36d59681d1b2f13120a4b4be9203e8" title="upper band width">ku</a>+1); j++){
      newmat(<a class="code" href="__dgbmatrix-calc_8hpp.html#af7c79b3740ba9c1d547f55ac94bc1258">i</a>,j) -=matB(<a class="code" href="__dgbmatrix-calc_8hpp.html#af7c79b3740ba9c1d547f55ac94bc1258">i</a>,j);
    }
  }
  
  matA.<a class="code" href="class__zgsmatrix.html#a967720c5efdb91e779a955fee836d01f">destroy</a>();
  <span class="keywordflow">return</span> <a class="code" href="dcovector-misc_8hpp.html#a297beda6502b0d92c99576d2fb9548cb">_</a>(newmat);
}
</pre></div>
</div>
</div>
<a class="anchor" id="a7d8581b0a8b99afcf51edb909b171f7b"></a><!-- doxytag: member="_zgsmatrix::operator&#45;" ref="a7d8581b0a8b99afcf51edb909b171f7b" args="(const _zgsmatrix &amp;, const _zgbmatrix &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class__zgematrix.html">_zgematrix</a> operator- </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="class__zgsmatrix.html">_zgsmatrix</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__zgbmatrix.html">_zgbmatrix</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>_zgsmatrix-_zgbmatrix operator </p>

<p>Definition at line <a class="el" href="__zgsmatrix-__zgbmatrix_8hpp_source.html#l00029">29</a> of file <a class="el" href="__zgsmatrix-__zgbmatrix_8hpp_source.html">_zgsmatrix-_zgbmatrix.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="class__zgsmatrix.html#ae2f1f4a6454a285b6b50feae90da335c" title="matrix column size">n</a>!=matB.<a class="code" href="class__zgbmatrix.html#a743983e0c14c2d3917b51c510ee957f6" title="matrix column size">n</a> || matA.<a class="code" href="class__zgsmatrix.html#a1be0849915f6b79eb1444150e8bebf31" title="matrix row size">m</a>!=matB.<a class="code" href="class__zgbmatrix.html#a2c7cdee481455ef265dc77dea7cd03cf" 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="class__zgsmatrix.html#a1be0849915f6b79eb1444150e8bebf31" title="matrix row size">m</a> &lt;&lt; <span class="stringliteral">&quot;x&quot;</span> &lt;&lt; matA.<a class="code" href="class__zgsmatrix.html#ae2f1f4a6454a285b6b50feae90da335c" title="matrix column size">n</a> &lt;&lt; <span class="stringliteral">&quot;) + (&quot;</span> &lt;&lt; matB.<a class="code" href="class__zgbmatrix.html#a2c7cdee481455ef265dc77dea7cd03cf" title="matrix row size">m</a> &lt;&lt; <span class="stringliteral">&quot;x&quot;</span> &lt;&lt; matB.<a class="code" href="class__zgbmatrix.html#a743983e0c14c2d3917b51c510ee957f6" 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="classzgematrix.html" title="Complex Double-precision General Dence Matrix Class.">zgematrix</a> newmat( matA.<a class="code" href="class__zgsmatrix.html#a2ad2b53d5418f312d50c746e37b71653">to_zgematrix</a>() );
  
  <span class="keywordflow">for</span>(<span class="keywordtype">long</span> <a class="code" href="__dgbmatrix-calc_8hpp.html#af7c79b3740ba9c1d547f55ac94bc1258">i</a>=0; <a class="code" href="__dgbmatrix-calc_8hpp.html#af7c79b3740ba9c1d547f55ac94bc1258">i</a>&lt;matB.<a class="code" href="class__zgbmatrix.html#a2c7cdee481455ef265dc77dea7cd03cf" title="matrix row size">m</a>; <a class="code" href="__dgbmatrix-calc_8hpp.html#af7c79b3740ba9c1d547f55ac94bc1258">i</a>++){
    <span class="keywordflow">for</span>(<span class="keywordtype">long</span> j=std::max(0l,<a class="code" href="__dgbmatrix-calc_8hpp.html#af7c79b3740ba9c1d547f55ac94bc1258">i</a>-matB.<a class="code" href="class__zgbmatrix.html#a0a88723ded8d7728a8b90ddfd28e5d0c" title="lower band width">kl</a>); j&lt;std::min(matB.<a class="code" href="class__zgbmatrix.html#a743983e0c14c2d3917b51c510ee957f6" title="matrix column size">n</a>,<a class="code" href="__dgbmatrix-calc_8hpp.html#af7c79b3740ba9c1d547f55ac94bc1258">i</a>+matB.<a class="code" href="class__zgbmatrix.html#a0b32db6f9ae374d5d390e24686433a77" title="upper band width">ku</a>+1); j++){
      newmat(<a class="code" href="__dgbmatrix-calc_8hpp.html#af7c79b3740ba9c1d547f55ac94bc1258">i</a>,j) -=matB(<a class="code" href="__dgbmatrix-calc_8hpp.html#af7c79b3740ba9c1d547f55ac94bc1258">i</a>,j);
    }
  }
  
  matA.<a class="code" href="class__zgsmatrix.html#a967720c5efdb91e779a955fee836d01f">destroy</a>();
  matB.<a class="code" href="class__zgbmatrix.html#a30eb8221fd3a4046e3c3eb6ba9902bc8">destroy</a>();
  <span class="keywordflow">return</span> <a class="code" href="dcovector-misc_8hpp.html#a297beda6502b0d92c99576d2fb9548cb">_</a>(newmat);
}
</pre></div>
</div>
</div>
<a class="anchor" id="af3d2ede3e2e2c974b463473c59e5a6ad"></a><!-- doxytag: member="_zgsmatrix::operator&#45;" ref="af3d2ede3e2e2c974b463473c59e5a6ad" args="(const _zgsmatrix &amp;, const zgsmatrix &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class__zgsmatrix.html">_zgsmatrix</a> operator- </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="class__zgsmatrix.html">_zgsmatrix</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="classzgsmatrix.html">zgsmatrix</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>_zgsmatrix-zgsmatrix operator </p>

<p>Definition at line <a class="el" href="__zgsmatrix-zgsmatrix_8hpp_source.html#l00025">25</a> of file <a class="el" href="__zgsmatrix-zgsmatrix_8hpp_source.html">_zgsmatrix-zgsmatrix.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="class__zgsmatrix.html#ae2f1f4a6454a285b6b50feae90da335c" title="matrix column size">n</a>!=matB.<a class="code" href="classzgsmatrix.html#a00a2cb15c41645107d565ba6efae0228" title="matrix column size">n</a> || matA.<a class="code" href="class__zgsmatrix.html#a1be0849915f6b79eb1444150e8bebf31" title="matrix row size">m</a>!=matB.<a class="code" href="classzgsmatrix.html#a98ae26acaf05df9ca358514b776faafe" 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="class__zgsmatrix.html#a1be0849915f6b79eb1444150e8bebf31" title="matrix row size">m</a> &lt;&lt; <span class="stringliteral">&quot;x&quot;</span> &lt;&lt; matA.<a class="code" href="class__zgsmatrix.html#ae2f1f4a6454a285b6b50feae90da335c" title="matrix column size">n</a> &lt;&lt; <span class="stringliteral">&quot;) - (&quot;</span> &lt;&lt; matB.<a class="code" href="classzgsmatrix.html#a98ae26acaf05df9ca358514b776faafe" title="matrix row size">m</a> &lt;&lt; <span class="stringliteral">&quot;x&quot;</span> &lt;&lt; matB.<a class="code" href="classzgsmatrix.html#a00a2cb15c41645107d565ba6efae0228" 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="classzgsmatrix.html" title="Complex Double-precision General Sparse Matrix Class.">zgsmatrix</a> newmat(matA);
  
  <span class="keywordflow">for</span>(std::vector&lt;zcomponent&gt;::const_iterator it=matB.<a class="code" href="classzgsmatrix.html#ac538118e334585236087f35829234452" title="matrix data">data</a>.begin(); it!=matB.<a class="code" href="classzgsmatrix.html#ac538118e334585236087f35829234452" 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="dcovector-misc_8hpp.html#a297beda6502b0d92c99576d2fb9548cb">_</a>(newmat);
}
</pre></div>
</div>
</div>
<a class="anchor" id="a261f53a9f6848878be553579cf7baab6"></a><!-- doxytag: member="_zgsmatrix::operator&#45;" ref="a261f53a9f6848878be553579cf7baab6" args="(const _zgsmatrix &amp;, const _zgsmatrix &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class__zgsmatrix.html">_zgsmatrix</a> operator- </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="class__zgsmatrix.html">_zgsmatrix</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__zgsmatrix.html">_zgsmatrix</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>_zgsmatrix-_zgsmatrix operator </p>

<p>Definition at line <a class="el" href="__zgsmatrix-__zgsmatrix_8hpp_source.html#l00026">26</a> of file <a class="el" href="__zgsmatrix-__zgsmatrix_8hpp_source.html">_zgsmatrix-_zgsmatrix.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="class__zgsmatrix.html#ae2f1f4a6454a285b6b50feae90da335c" title="matrix column size">n</a>!=matB.<a class="code" href="class__zgsmatrix.html#ae2f1f4a6454a285b6b50feae90da335c" title="matrix column size">n</a> || matA.<a class="code" href="class__zgsmatrix.html#a1be0849915f6b79eb1444150e8bebf31" title="matrix row size">m</a>!=matB.<a class="code" href="class__zgsmatrix.html#a1be0849915f6b79eb1444150e8bebf31" 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="class__zgsmatrix.html#a1be0849915f6b79eb1444150e8bebf31" title="matrix row size">m</a> &lt;&lt; <span class="stringliteral">&quot;x&quot;</span> &lt;&lt; matA.<a class="code" href="class__zgsmatrix.html#ae2f1f4a6454a285b6b50feae90da335c" title="matrix column size">n</a> &lt;&lt; <span class="stringliteral">&quot;) - (&quot;</span> &lt;&lt; matB.<a class="code" href="class__zgsmatrix.html#a1be0849915f6b79eb1444150e8bebf31" title="matrix row size">m</a> &lt;&lt; <span class="stringliteral">&quot;x&quot;</span> &lt;&lt; matB.<a class="code" href="class__zgsmatrix.html#ae2f1f4a6454a285b6b50feae90da335c" 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="classzgsmatrix.html" title="Complex Double-precision General Sparse Matrix Class.">zgsmatrix</a> newmat(matA);
  
  <span class="keywordflow">for</span>(std::vector&lt;zcomponent&gt;::const_iterator it=matB.<a class="code" href="class__zgsmatrix.html#a967bd821b1efa288e865366c7c09c42c" title="matrix data">data</a>.begin(); it!=matB.<a class="code" href="class__zgsmatrix.html#a967bd821b1efa288e865366c7c09c42c" title="matrix data">data</a>.end(); it++){
    newmat(it-&gt;i,it-&gt;j) -= it-&gt;v;
  }
  
  matB.<a class="code" href="class__zgsmatrix.html#a967720c5efdb91e779a955fee836d01f">destroy</a>();
  <span class="keywordflow">return</span> <a class="code" href="dcovector-misc_8hpp.html#a297beda6502b0d92c99576d2fb9548cb">_</a>(newmat);
}
</pre></div>
</div>
</div>
<a class="anchor" id="a9f72331abd3c85fe527d743bb6944a20"></a><!-- doxytag: member="_zgsmatrix::operator&#45;" ref="a9f72331abd3c85fe527d743bb6944a20" args="(const _zgsmatrix &amp;, const zhsmatrix &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class__zgsmatrix.html">_zgsmatrix</a> operator- </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="class__zgsmatrix.html">_zgsmatrix</a> &amp;&#160;</td>
          <td class="paramname">, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classzhsmatrix.html">zhsmatrix</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="ab1a4f275c81d7f48298890b9dc035822"></a><!-- doxytag: member="_zgsmatrix::operator&#45;" ref="ab1a4f275c81d7f48298890b9dc035822" args="(const _zgsmatrix &amp;, const _zhsmatrix &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class__zgsmatrix.html">_zgsmatrix</a> operator- </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="class__zgsmatrix.html">_zgsmatrix</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__zhsmatrix.html">_zhsmatrix</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="a07828d9709ab1dde2b462c5ec0cf20cf"></a><!-- doxytag: member="_zgsmatrix::operator*" ref="a07828d9709ab1dde2b462c5ec0cf20cf" args="(const _zgsmatrix &amp;, const zcovector &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class__zcovector.html">_zcovector</a> operator* </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="class__zgsmatrix.html">_zgsmatrix</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="classzcovector.html">zcovector</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>_zgsmatrix*zcovector operator </p>

<p>Definition at line <a class="el" href="__zgsmatrix-zcovector_8hpp_source.html#l00003">3</a> of file <a class="el" href="__zgsmatrix-zcovector_8hpp_source.html">_zgsmatrix-zcovector.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="class__zgsmatrix.html#ae2f1f4a6454a285b6b50feae90da335c" title="matrix column size">n</a>!=vec.<a class="code" href="classzcovector.html#a25de1e5eff40a9fdae41255b5b4ab6d1" 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="class__zgsmatrix.html#a1be0849915f6b79eb1444150e8bebf31" title="matrix row size">m</a> &lt;&lt; <span class="stringliteral">&quot;x&quot;</span> &lt;&lt; mat.<a class="code" href="class__zgsmatrix.html#ae2f1f4a6454a285b6b50feae90da335c" title="matrix column size">n</a> &lt;&lt; <span class="stringliteral">&quot;) * (&quot;</span> &lt;&lt; vec.<a class="code" href="classzcovector.html#a25de1e5eff40a9fdae41255b5b4ab6d1" 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="classzcovector.html" title="Complex Double-precision Column Vector Class.">zcovector</a> newvec(mat.<a class="code" href="class__zgsmatrix.html#a1be0849915f6b79eb1444150e8bebf31" title="matrix row size">m</a>);
  newvec.zero();
  
  <span class="keywordflow">for</span>(std::vector&lt;zcomponent&gt;::const_iterator it=mat.<a class="code" href="class__zgsmatrix.html#a967bd821b1efa288e865366c7c09c42c" title="matrix data">data</a>.begin(); it!=mat.<a class="code" href="class__zgsmatrix.html#a967bd821b1efa288e865366c7c09c42c" title="matrix data">data</a>.end(); it++){
    newvec(it-&gt;i) += it-&gt;v*vec(it-&gt;j);
  }
  
  mat.<a class="code" href="class__zgsmatrix.html#a967720c5efdb91e779a955fee836d01f">destroy</a>();
  <span class="keywordflow">return</span> <a class="code" href="dcovector-misc_8hpp.html#a297beda6502b0d92c99576d2fb9548cb">_</a>(newvec);
}
</pre></div>
</div>
</div>
<a class="anchor" id="a17cb0edb47bd2cc73ebd10acaceeae70"></a><!-- doxytag: member="_zgsmatrix::operator*" ref="a17cb0edb47bd2cc73ebd10acaceeae70" args="(const _zgsmatrix &amp;, const _zcovector &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class__zcovector.html">_zcovector</a> operator* </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="class__zgsmatrix.html">_zgsmatrix</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__zcovector.html">_zcovector</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>_zgsmatrix*_zcovector operator </p>

<p>Definition at line <a class="el" href="__zgsmatrix-__zcovector_8hpp_source.html#l00003">3</a> of file <a class="el" href="__zgsmatrix-__zcovector_8hpp_source.html">_zgsmatrix-_zcovector.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="class__zgsmatrix.html#ae2f1f4a6454a285b6b50feae90da335c" title="matrix column size">n</a>!=vec.<a class="code" href="class__zcovector.html#a981a16cfee6dde1206255363db5c22f1" 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="class__zgsmatrix.html#a1be0849915f6b79eb1444150e8bebf31" title="matrix row size">m</a> &lt;&lt; <span class="stringliteral">&quot;x&quot;</span> &lt;&lt; mat.<a class="code" href="class__zgsmatrix.html#ae2f1f4a6454a285b6b50feae90da335c" title="matrix column size">n</a> &lt;&lt; <span class="stringliteral">&quot;) * (&quot;</span> &lt;&lt; vec.<a class="code" href="class__zcovector.html#a981a16cfee6dde1206255363db5c22f1" 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="classzcovector.html" title="Complex Double-precision Column Vector Class.">zcovector</a> newvec(mat.<a class="code" href="class__zgsmatrix.html#a1be0849915f6b79eb1444150e8bebf31" title="matrix row size">m</a>);
  newvec.zero();
  
  <span class="keywordflow">for</span>(std::vector&lt;zcomponent&gt;::const_iterator it=mat.<a class="code" href="class__zgsmatrix.html#a967bd821b1efa288e865366c7c09c42c" title="matrix data">data</a>.begin(); it!=mat.<a class="code" href="class__zgsmatrix.html#a967bd821b1efa288e865366c7c09c42c" title="matrix data">data</a>.end(); it++){
    newvec(it-&gt;i) += it-&gt;v*vec(it-&gt;j);
  }
  
  mat.<a class="code" href="class__zgsmatrix.html#a967720c5efdb91e779a955fee836d01f">destroy</a>();
  vec.<a class="code" href="class__zcovector.html#a7b0dbef72aa40ca8ccd7aa11ea6bc88a">destroy</a>();
  <span class="keywordflow">return</span> <a class="code" href="dcovector-misc_8hpp.html#a297beda6502b0d92c99576d2fb9548cb">_</a>(newvec);
}
</pre></div>
</div>
</div>
<a class="anchor" id="a8bcf50209cb4a1a6dbf576891222b0a5"></a><!-- doxytag: member="_zgsmatrix::operator*" ref="a8bcf50209cb4a1a6dbf576891222b0a5" args="(const _zgsmatrix &amp;, const zgematrix &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class__zgematrix.html">_zgematrix</a> operator* </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="class__zgsmatrix.html">_zgsmatrix</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="classzgematrix.html">zgematrix</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>_zgsmatrix*zgematrix operator </p>

<p>Definition at line <a class="el" href="__zgsmatrix-zgematrix_8hpp_source.html#l00047">47</a> of file <a class="el" href="__zgsmatrix-zgematrix_8hpp_source.html">_zgsmatrix-zgematrix.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="class__zgsmatrix.html#ae2f1f4a6454a285b6b50feae90da335c" title="matrix column size">n</a>!=matB.<a class="code" href="classzgematrix.html#a433dab4cf9fba73d9bc96ec6d626654e" 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="class__zgsmatrix.html#a1be0849915f6b79eb1444150e8bebf31" title="matrix row size">m</a> &lt;&lt; <span class="stringliteral">&quot;x&quot;</span> &lt;&lt; matA.<a class="code" href="class__zgsmatrix.html#ae2f1f4a6454a285b6b50feae90da335c" title="matrix column size">n</a> &lt;&lt; <span class="stringliteral">&quot;) * (&quot;</span> &lt;&lt; matB.<a class="code" href="classzgematrix.html#aa2cfc802c95c61389455c6a8ff266d9a" title="matrix column size">n</a> &lt;&lt; <span class="stringliteral">&quot;x&quot;</span> &lt;&lt; matB.<a class="code" href="classzgematrix.html#aa2cfc802c95c61389455c6a8ff266d9a" 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="classzgematrix.html" title="Complex Double-precision General Dence Matrix Class.">zgematrix</a> newmat(matA.<a class="code" href="class__zgsmatrix.html#a1be0849915f6b79eb1444150e8bebf31" title="matrix row size">m</a>, matB.<a class="code" href="classzgematrix.html#aa2cfc802c95c61389455c6a8ff266d9a" title="matrix column size">n</a>);
  newmat.zero();
  
  <span class="keywordflow">for</span>(std::vector&lt;zcomponent&gt;::const_iterator it=matA.<a class="code" href="class__zgsmatrix.html#a967bd821b1efa288e865366c7c09c42c" title="matrix data">data</a>.begin(); it!=matA.<a class="code" href="class__zgsmatrix.html#a967bd821b1efa288e865366c7c09c42c" title="matrix data">data</a>.end(); it++){
    <span class="keywordflow">for</span>(<span class="keywordtype">long</span> j=0; j&lt;matB.<a class="code" href="classzgematrix.html#aa2cfc802c95c61389455c6a8ff266d9a" title="matrix column size">n</a>; j++){
      newmat(it-&gt;i,j) += it-&gt;v*matB(it-&gt;j,j);
    }
  }
  
  matA.<a class="code" href="class__zgsmatrix.html#a967720c5efdb91e779a955fee836d01f">destroy</a>();
  <span class="keywordflow">return</span> <a class="code" href="dcovector-misc_8hpp.html#a297beda6502b0d92c99576d2fb9548cb">_</a>(newmat);
}
</pre></div>
</div>
</div>
<a class="anchor" id="a6f273492fe0a39e58d7f916e3d75eb19"></a><!-- doxytag: member="_zgsmatrix::operator*" ref="a6f273492fe0a39e58d7f916e3d75eb19" args="(const _zgsmatrix &amp;, const _zgematrix &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class__zgematrix.html">_zgematrix</a> operator* </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="class__zgsmatrix.html">_zgsmatrix</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__zgematrix.html">_zgematrix</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>_zgsmatrix*_zgematrix operator </p>

<p>Definition at line <a class="el" href="__zgsmatrix-__zgematrix_8hpp_source.html#l00051">51</a> of file <a class="el" href="__zgsmatrix-__zgematrix_8hpp_source.html">_zgsmatrix-_zgematrix.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="class__zgsmatrix.html#ae2f1f4a6454a285b6b50feae90da335c" title="matrix column size">n</a>!=matB.<a class="code" href="class__zgematrix.html#a078ae1faad7aa3659a8f7d15cdfa27ec" 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="class__zgsmatrix.html#a1be0849915f6b79eb1444150e8bebf31" title="matrix row size">m</a> &lt;&lt; <span class="stringliteral">&quot;x&quot;</span> &lt;&lt; matA.<a class="code" href="class__zgsmatrix.html#ae2f1f4a6454a285b6b50feae90da335c" title="matrix column size">n</a> &lt;&lt; <span class="stringliteral">&quot;) * (&quot;</span> &lt;&lt; matB.<a class="code" href="class__zgematrix.html#ad69dfb0c64f2f0ea5f9928ce33a2b1e0" title="matrix column size">n</a> &lt;&lt; <span class="stringliteral">&quot;x&quot;</span> &lt;&lt; matB.<a class="code" href="class__zgematrix.html#ad69dfb0c64f2f0ea5f9928ce33a2b1e0" 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="classzgematrix.html" title="Complex Double-precision General Dence Matrix Class.">zgematrix</a> newmat(matA.<a class="code" href="class__zgsmatrix.html#a1be0849915f6b79eb1444150e8bebf31" title="matrix row size">m</a>, matB.<a class="code" href="class__zgematrix.html#ad69dfb0c64f2f0ea5f9928ce33a2b1e0" title="matrix column size">n</a>);
  newmat.zero();
  
  <span class="keywordflow">for</span>(std::vector&lt;zcomponent&gt;::const_iterator it=matA.<a class="code" href="class__zgsmatrix.html#a967bd821b1efa288e865366c7c09c42c" title="matrix data">data</a>.begin(); it!=matA.<a class="code" href="class__zgsmatrix.html#a967bd821b1efa288e865366c7c09c42c" title="matrix data">data</a>.end(); it++){
    <span class="keywordflow">for</span>(<span class="keywordtype">long</span> j=0; j&lt;matB.<a class="code" href="class__zgematrix.html#ad69dfb0c64f2f0ea5f9928ce33a2b1e0" title="matrix column size">n</a>; j++){
      newmat(it-&gt;i,j) += it-&gt;v *matB(it-&gt;j,j);
    }
  }
  
  matA.<a class="code" href="class__zgsmatrix.html#a967720c5efdb91e779a955fee836d01f">destroy</a>();
  matB.<a class="code" href="class__zgematrix.html#a447e4807955f2b359831116d90aad098">destroy</a>();
  <span class="keywordflow">return</span> <a class="code" href="dcovector-misc_8hpp.html#a297beda6502b0d92c99576d2fb9548cb">_</a>(newmat);
}
</pre></div>
</div>
</div>
<a class="anchor" id="a2cb98035f9e9f172144717ff313551ab"></a><!-- doxytag: member="_zgsmatrix::operator*" ref="a2cb98035f9e9f172144717ff313551ab" args="(const _zgsmatrix &amp;, const zhematrix &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class__zgematrix.html">_zgematrix</a> operator* </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="class__zgsmatrix.html">_zgsmatrix</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="classzhematrix.html">zhematrix</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>_zgsmatrix*zhematrix operator </p>

<p>Definition at line <a class="el" href="__zgsmatrix-zhematrix_8hpp_source.html#l00050">50</a> of file <a class="el" href="__zgsmatrix-zhematrix_8hpp_source.html">_zgsmatrix-zhematrix.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="class__zgsmatrix.html#ae2f1f4a6454a285b6b50feae90da335c" title="matrix column size">n</a>!=matB.<a class="code" href="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" 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="class__zgsmatrix.html#a1be0849915f6b79eb1444150e8bebf31" title="matrix row size">m</a> &lt;&lt; <span class="stringliteral">&quot;x&quot;</span> &lt;&lt; matA.<a class="code" href="class__zgsmatrix.html#ae2f1f4a6454a285b6b50feae90da335c" title="matrix column size">n</a> &lt;&lt; <span class="stringliteral">&quot;) * (&quot;</span> &lt;&lt; matB.<a class="code" href="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" title="matrix column size">n</a> &lt;&lt; <span class="stringliteral">&quot;x&quot;</span> &lt;&lt; matB.<a class="code" href="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" 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="classzgematrix.html" title="Complex Double-precision General Dence Matrix Class.">zgematrix</a> newmat(matA.<a class="code" href="class__zgsmatrix.html#a1be0849915f6b79eb1444150e8bebf31" title="matrix row size">m</a>, matB.<a class="code" href="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" title="matrix column size">n</a>);
  newmat.zero();
  
  <span class="keywordflow">for</span>(std::vector&lt;zcomponent&gt;::const_iterator it=matA.<a class="code" href="class__zgsmatrix.html#a967bd821b1efa288e865366c7c09c42c" title="matrix data">data</a>.begin(); it!=matA.<a class="code" href="class__zgsmatrix.html#a967bd821b1efa288e865366c7c09c42c" title="matrix data">data</a>.end(); it++){
    <span class="keywordflow">for</span>(<span class="keywordtype">long</span> <a class="code" href="__dgbmatrix-calc_8hpp.html#af7c79b3740ba9c1d547f55ac94bc1258">i</a>=0; <a class="code" href="__dgbmatrix-calc_8hpp.html#af7c79b3740ba9c1d547f55ac94bc1258">i</a>&lt;matB.<a class="code" href="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" title="matrix column size">n</a>; <a class="code" href="__dgbmatrix-calc_8hpp.html#af7c79b3740ba9c1d547f55ac94bc1258">i</a>++){
      newmat(it-&gt;i,<a class="code" href="__dgbmatrix-calc_8hpp.html#af7c79b3740ba9c1d547f55ac94bc1258">i</a>) += it-&gt;v*matB(it-&gt;j,<a class="code" href="__dgbmatrix-calc_8hpp.html#af7c79b3740ba9c1d547f55ac94bc1258">i</a>);
    }
  }
  
  matA.<a class="code" href="class__zgsmatrix.html#a967720c5efdb91e779a955fee836d01f">destroy</a>();
  <span class="keywordflow">return</span> <a class="code" href="dcovector-misc_8hpp.html#a297beda6502b0d92c99576d2fb9548cb">_</a>(newmat);
}
</pre></div>
</div>
</div>
<a class="anchor" id="ab4538a70da8e5948ca52b394fd5f2971"></a><!-- doxytag: member="_zgsmatrix::operator*" ref="ab4538a70da8e5948ca52b394fd5f2971" args="(const _zgsmatrix &amp;, const _zhematrix &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class__zgematrix.html">_zgematrix</a> operator* </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="class__zgsmatrix.html">_zgsmatrix</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__zhematrix.html">_zhematrix</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>_zgsmatrix*_zhematrix operator </p>

<p>Definition at line <a class="el" href="__zgsmatrix-__zhematrix_8hpp_source.html#l00052">52</a> of file <a class="el" href="__zgsmatrix-__zhematrix_8hpp_source.html">_zgsmatrix-_zhematrix.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="class__zgsmatrix.html#ae2f1f4a6454a285b6b50feae90da335c" title="matrix column size">n</a>!=matB.<a class="code" href="class__zhematrix.html#a3cd8e436cf59991845c6b8e66d56c023" 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="class__zgsmatrix.html#a1be0849915f6b79eb1444150e8bebf31" title="matrix row size">m</a> &lt;&lt; <span class="stringliteral">&quot;x&quot;</span> &lt;&lt; matA.<a class="code" href="class__zgsmatrix.html#ae2f1f4a6454a285b6b50feae90da335c" title="matrix column size">n</a> &lt;&lt; <span class="stringliteral">&quot;) * (&quot;</span> &lt;&lt; matB.<a class="code" href="class__zhematrix.html#a3cd8e436cf59991845c6b8e66d56c023" title="matrix column size">n</a> &lt;&lt; <span class="stringliteral">&quot;x&quot;</span> &lt;&lt; matB.<a class="code" href="class__zhematrix.html#a3cd8e436cf59991845c6b8e66d56c023" 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="classzgematrix.html" title="Complex Double-precision General Dence Matrix Class.">zgematrix</a> newmat(matA.<a class="code" href="class__zgsmatrix.html#a1be0849915f6b79eb1444150e8bebf31" title="matrix row size">m</a>, matB.<a class="code" href="class__zhematrix.html#a3cd8e436cf59991845c6b8e66d56c023" title="matrix column size">n</a>);
  newmat.zero();
  
  <span class="keywordflow">for</span>(std::vector&lt;zcomponent&gt;::const_iterator it=matA.<a class="code" href="class__zgsmatrix.html#a967bd821b1efa288e865366c7c09c42c" title="matrix data">data</a>.begin(); it!=matA.<a class="code" href="class__zgsmatrix.html#a967bd821b1efa288e865366c7c09c42c" title="matrix data">data</a>.end(); it++){
    <span class="keywordflow">for</span>(<span class="keywordtype">long</span> <a class="code" href="__dgbmatrix-calc_8hpp.html#af7c79b3740ba9c1d547f55ac94bc1258">i</a>=0; <a class="code" href="__dgbmatrix-calc_8hpp.html#af7c79b3740ba9c1d547f55ac94bc1258">i</a>&lt;matB.<a class="code" href="class__zhematrix.html#a3cd8e436cf59991845c6b8e66d56c023" title="matrix column size">n</a>; <a class="code" href="__dgbmatrix-calc_8hpp.html#af7c79b3740ba9c1d547f55ac94bc1258">i</a>++){
      newmat(it-&gt;i,<a class="code" href="__dgbmatrix-calc_8hpp.html#af7c79b3740ba9c1d547f55ac94bc1258">i</a>) += it-&gt;v*matB(it-&gt;j,<a class="code" href="__dgbmatrix-calc_8hpp.html#af7c79b3740ba9c1d547f55ac94bc1258">i</a>);
    }
  }
  
  matA.<a class="code" href="class__zgsmatrix.html#a967720c5efdb91e779a955fee836d01f">destroy</a>();
  matB.<a class="code" href="class__zhematrix.html#a2acc6b7bde22ce109468a72d8d40abcc">destroy</a>();
  <span class="keywordflow">return</span> <a class="code" href="dcovector-misc_8hpp.html#a297beda6502b0d92c99576d2fb9548cb">_</a>(newmat);
}
</pre></div>
</div>
</div>
<a class="anchor" id="abab5028d13af3d310f197bf2a31d4e62"></a><!-- doxytag: member="_zgsmatrix::operator*" ref="abab5028d13af3d310f197bf2a31d4e62" args="(const _zgsmatrix &amp;, const zgbmatrix &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class__zgematrix.html">_zgematrix</a> operator* </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="class__zgsmatrix.html">_zgsmatrix</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="classzgbmatrix.html">zgbmatrix</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>_zgsmatrix*zgbmatrix operator </p>

<p>Definition at line <a class="el" href="__zgsmatrix-zgbmatrix_8hpp_source.html#l00053">53</a> of file <a class="el" href="__zgsmatrix-zgbmatrix_8hpp_source.html">_zgsmatrix-zgbmatrix.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="class__zgsmatrix.html#ae2f1f4a6454a285b6b50feae90da335c" title="matrix column size">n</a>!=matB.<a class="code" href="classzgbmatrix.html#a760031d62091c1ce2808a1b07c7f81bf" 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="class__zgsmatrix.html#a1be0849915f6b79eb1444150e8bebf31" title="matrix row size">m</a> &lt;&lt; <span class="stringliteral">&quot;x&quot;</span> &lt;&lt; matA.<a class="code" href="class__zgsmatrix.html#ae2f1f4a6454a285b6b50feae90da335c" title="matrix column size">n</a> &lt;&lt; <span class="stringliteral">&quot;) * (&quot;</span> &lt;&lt; matB.<a class="code" href="classzgbmatrix.html#a760031d62091c1ce2808a1b07c7f81bf" title="matrix row size">m</a> &lt;&lt; <span class="stringliteral">&quot;x&quot;</span> &lt;&lt; matB.<a class="code" href="classzgbmatrix.html#ae648f83ec8f7cbc28335265c10e6fe45" 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="classzgematrix.html" title="Complex Double-precision General Dence Matrix Class.">zgematrix</a> newmat( matA.<a class="code" href="class__zgsmatrix.html#a1be0849915f6b79eb1444150e8bebf31" title="matrix row size">m</a>, matB.<a class="code" href="classzgbmatrix.html#ae648f83ec8f7cbc28335265c10e6fe45" title="matrix column size">n</a> );
  newmat.zero();
  
  <span class="keywordflow">for</span>(std::vector&lt;zcomponent&gt;::const_iterator it=matA.<a class="code" href="class__zgsmatrix.html#a967bd821b1efa288e865366c7c09c42c" title="matrix data">data</a>.begin(); it!=matA.<a class="code" href="class__zgsmatrix.html#a967bd821b1efa288e865366c7c09c42c" title="matrix data">data</a>.end(); it++){
    <span class="keywordflow">for</span>(<span class="keywordtype">long</span> j=std::max(0l,<span class="keywordtype">long</span>(it-&gt;j)-matB.<a class="code" href="classzgbmatrix.html#af8f8a5015069bdb6c268652ee25838c0" title="lower band width">kl</a>); j&lt;std::min(matB.<a class="code" href="classzgbmatrix.html#ae648f83ec8f7cbc28335265c10e6fe45" title="matrix column size">n</a>,<span class="keywordtype">long</span>(it-&gt;j)+matB.<a class="code" href="classzgbmatrix.html#a2a36d59681d1b2f13120a4b4be9203e8" title="upper band width">ku</a>+1); j++){
      newmat(it-&gt;i,j) += it-&gt;v*matB(it-&gt;j,j);
    }
  }
  
  matA.<a class="code" href="class__zgsmatrix.html#a967720c5efdb91e779a955fee836d01f">destroy</a>();
  <span class="keywordflow">return</span> <a class="code" href="dcovector-misc_8hpp.html#a297beda6502b0d92c99576d2fb9548cb">_</a>(newmat);
}
</pre></div>
</div>
</div>
<a class="anchor" id="a2380200288502a4b104f20bd85f99cce"></a><!-- doxytag: member="_zgsmatrix::operator*" ref="a2380200288502a4b104f20bd85f99cce" args="(const _zgsmatrix &amp;, const _zgbmatrix &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class__zgematrix.html">_zgematrix</a> operator* </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="class__zgsmatrix.html">_zgsmatrix</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__zgbmatrix.html">_zgbmatrix</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>_zgsmatrix*_zgbmatrix operator </p>

<p>Definition at line <a class="el" href="__zgsmatrix-__zgbmatrix_8hpp_source.html#l00055">55</a> of file <a class="el" href="__zgsmatrix-__zgbmatrix_8hpp_source.html">_zgsmatrix-_zgbmatrix.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="class__zgsmatrix.html#ae2f1f4a6454a285b6b50feae90da335c" title="matrix column size">n</a>!=matB.<a class="code" href="class__zgbmatrix.html#a2c7cdee481455ef265dc77dea7cd03cf" 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="class__zgsmatrix.html#a1be0849915f6b79eb1444150e8bebf31" title="matrix row size">m</a> &lt;&lt; <span class="stringliteral">&quot;x&quot;</span> &lt;&lt; matA.<a class="code" href="class__zgsmatrix.html#ae2f1f4a6454a285b6b50feae90da335c" title="matrix column size">n</a> &lt;&lt; <span class="stringliteral">&quot;) * (&quot;</span> &lt;&lt; matB.<a class="code" href="class__zgbmatrix.html#a2c7cdee481455ef265dc77dea7cd03cf" title="matrix row size">m</a> &lt;&lt; <span class="stringliteral">&quot;x&quot;</span> &lt;&lt; matB.<a class="code" href="class__zgbmatrix.html#a743983e0c14c2d3917b51c510ee957f6" 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="classzgematrix.html" title="Complex Double-precision General Dence Matrix Class.">zgematrix</a> newmat( matA.<a class="code" href="class__zgsmatrix.html#a1be0849915f6b79eb1444150e8bebf31" title="matrix row size">m</a>, matB.<a class="code" href="class__zgbmatrix.html#a743983e0c14c2d3917b51c510ee957f6" title="matrix column size">n</a> );
  newmat.zero();
  
  <span class="keywordflow">for</span>(std::vector&lt;zcomponent&gt;::const_iterator it=matA.<a class="code" href="class__zgsmatrix.html#a967bd821b1efa288e865366c7c09c42c" title="matrix data">data</a>.begin(); it!=matA.<a class="code" href="class__zgsmatrix.html#a967bd821b1efa288e865366c7c09c42c" title="matrix data">data</a>.end(); it++){
    <span class="keywordflow">for</span>(<span class="keywordtype">long</span> j=std::max(0l,<span class="keywordtype">long</span>(it-&gt;j)-matB.<a class="code" href="class__zgbmatrix.html#a0a88723ded8d7728a8b90ddfd28e5d0c" title="lower band width">kl</a>); j&lt;std::min(matB.<a class="code" href="class__zgbmatrix.html#a743983e0c14c2d3917b51c510ee957f6" title="matrix column size">n</a>,<span class="keywordtype">long</span>(it-&gt;j)+matB.<a class="code" href="class__zgbmatrix.html#a0b32db6f9ae374d5d390e24686433a77" title="upper band width">ku</a>+1); j++){
      newmat(it-&gt;i,j) += it-&gt;v*matB(it-&gt;j,j);
    }
  }
  
  matA.<a class="code" href="class__zgsmatrix.html#a967720c5efdb91e779a955fee836d01f">destroy</a>();
  matB.<a class="code" href="class__zgbmatrix.html#a30eb8221fd3a4046e3c3eb6ba9902bc8">destroy</a>();
  <span class="keywordflow">return</span> <a class="code" href="dcovector-misc_8hpp.html#a297beda6502b0d92c99576d2fb9548cb">_</a>(newmat);
}
</pre></div>
</div>
</div>
<a class="anchor" id="a4becb89288c78dac6995e30e32552b98"></a><!-- doxytag: member="_zgsmatrix::operator*" ref="a4becb89288c78dac6995e30e32552b98" args="(const _zgsmatrix &amp;, const zgsmatrix &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class__zgsmatrix.html">_zgsmatrix</a> operator* </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="class__zgsmatrix.html">_zgsmatrix</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="classzgsmatrix.html">zgsmatrix</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>_zgsmatrix*zgsmatrix operator </p>

<p>Definition at line <a class="el" href="__zgsmatrix-zgsmatrix_8hpp_source.html#l00047">47</a> of file <a class="el" href="__zgsmatrix-zgsmatrix_8hpp_source.html">_zgsmatrix-zgsmatrix.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="class__zgsmatrix.html#ae2f1f4a6454a285b6b50feae90da335c" title="matrix column size">n</a>!=matB.<a class="code" href="classzgsmatrix.html#a98ae26acaf05df9ca358514b776faafe" 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="class__zgsmatrix.html#a1be0849915f6b79eb1444150e8bebf31" title="matrix row size">m</a> &lt;&lt; <span class="stringliteral">&quot;x&quot;</span> &lt;&lt; matA.<a class="code" href="class__zgsmatrix.html#ae2f1f4a6454a285b6b50feae90da335c" title="matrix column size">n</a> &lt;&lt; <span class="stringliteral">&quot;) * (&quot;</span> &lt;&lt; matB.<a class="code" href="classzgsmatrix.html#a98ae26acaf05df9ca358514b776faafe" title="matrix row size">m</a> &lt;&lt; <span class="stringliteral">&quot;x&quot;</span> &lt;&lt; matB.<a class="code" href="classzgsmatrix.html#a00a2cb15c41645107d565ba6efae0228" 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="classzgsmatrix.html" title="Complex Double-precision General Sparse Matrix Class.">zgsmatrix</a> newmat(matA.<a class="code" href="class__zgsmatrix.html#a1be0849915f6b79eb1444150e8bebf31" title="matrix row size">m</a>, matB.<a class="code" href="classzgsmatrix.html#a00a2cb15c41645107d565ba6efae0228" title="matrix column size">n</a>);
  
  <span class="keywordflow">for</span>(std::vector&lt;zcomponent&gt;::const_iterator it=matA.<a class="code" href="class__zgsmatrix.html#a967bd821b1efa288e865366c7c09c42c" title="matrix data">data</a>.begin(); it!=matA.<a class="code" href="class__zgsmatrix.html#a967bd821b1efa288e865366c7c09c42c" title="matrix data">data</a>.end(); it++){
    <span class="keywordtype">long</span> k(it-&gt;j);
    std::vector&lt;uint32_t&gt;::const_iterator p;
    <span class="keywordflow">for</span>(p=matB.<a class="code" href="classzgsmatrix.html#a2e04d29f8158ca2d45347866584e994d" title="array of vector to store the entry information of component for each row">rows</a>[k].begin(); p!=matB.<a class="code" href="classzgsmatrix.html#a2e04d29f8158ca2d45347866584e994d" title="array of vector to store the entry information of component for each row">rows</a>[k].end(); p++){
      newmat(it-&gt;i,matB.<a class="code" href="classzgsmatrix.html#ac538118e334585236087f35829234452" title="matrix data">data</a>[*p].j) +=it-&gt;v*matB.<a class="code" href="classzgsmatrix.html#ac538118e334585236087f35829234452" title="matrix data">data</a>[*p].v;
    }
  }
  
  matA.<a class="code" href="class__zgsmatrix.html#a967720c5efdb91e779a955fee836d01f">destroy</a>();
  <span class="keywordflow">return</span> <a class="code" href="dcovector-misc_8hpp.html#a297beda6502b0d92c99576d2fb9548cb">_</a>(newmat);
}
</pre></div>
</div>
</div>
<a class="anchor" id="a2e2102e189e20212e1ed64825afd13ba"></a><!-- doxytag: member="_zgsmatrix::operator*" ref="a2e2102e189e20212e1ed64825afd13ba" args="(const _zgsmatrix &amp;, const _zgsmatrix &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class__zgsmatrix.html">_zgsmatrix</a> operator* </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="class__zgsmatrix.html">_zgsmatrix</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__zgsmatrix.html">_zgsmatrix</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>_zgsmatrix*_zgsmatrix operator </p>

<p>Definition at line <a class="el" href="__zgsmatrix-__zgsmatrix_8hpp_source.html#l00049">49</a> of file <a class="el" href="__zgsmatrix-__zgsmatrix_8hpp_source.html">_zgsmatrix-_zgsmatrix.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="class__zgsmatrix.html#ae2f1f4a6454a285b6b50feae90da335c" title="matrix column size">n</a>!=matB.<a class="code" href="class__zgsmatrix.html#a1be0849915f6b79eb1444150e8bebf31" 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="class__zgsmatrix.html#a1be0849915f6b79eb1444150e8bebf31" title="matrix row size">m</a> &lt;&lt; <span class="stringliteral">&quot;x&quot;</span> &lt;&lt; matA.<a class="code" href="class__zgsmatrix.html#ae2f1f4a6454a285b6b50feae90da335c" title="matrix column size">n</a> &lt;&lt; <span class="stringliteral">&quot;) * (&quot;</span> &lt;&lt; matB.<a class="code" href="class__zgsmatrix.html#a1be0849915f6b79eb1444150e8bebf31" title="matrix row size">m</a> &lt;&lt; <span class="stringliteral">&quot;x&quot;</span> &lt;&lt; matB.<a class="code" href="class__zgsmatrix.html#ae2f1f4a6454a285b6b50feae90da335c" 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="classzgsmatrix.html" title="Complex Double-precision General Sparse Matrix Class.">zgsmatrix</a> newmat(matA.<a class="code" href="class__zgsmatrix.html#a1be0849915f6b79eb1444150e8bebf31" title="matrix row size">m</a>, matB.<a class="code" href="class__zgsmatrix.html#ae2f1f4a6454a285b6b50feae90da335c" title="matrix column size">n</a>);
  
  <span class="keywordflow">for</span>(std::vector&lt;zcomponent&gt;::const_iterator it=matA.<a class="code" href="class__zgsmatrix.html#a967bd821b1efa288e865366c7c09c42c" title="matrix data">data</a>.begin(); it!=matA.<a class="code" href="class__zgsmatrix.html#a967bd821b1efa288e865366c7c09c42c" title="matrix data">data</a>.end(); it++){
    <span class="keywordtype">long</span> k(it-&gt;j);
    std::vector&lt;uint32_t&gt;::iterator p;
    <span class="keywordflow">for</span>(p=matB.<a class="code" href="class__zgsmatrix.html#a5b554e651d84b2edcfa203d5c1140221" title="array of vector to store the entry information of component for each row">rows</a>[k].begin(); p!=matB.<a class="code" href="class__zgsmatrix.html#a5b554e651d84b2edcfa203d5c1140221" title="array of vector to store the entry information of component for each row">rows</a>[k].end(); p++){
      newmat(it-&gt;i,matB.<a class="code" href="class__zgsmatrix.html#a967bd821b1efa288e865366c7c09c42c" title="matrix data">data</a>[*p].j) += it-&gt;v*matB.<a class="code" href="class__zgsmatrix.html#a967bd821b1efa288e865366c7c09c42c" title="matrix data">data</a>[*p].v;
    }
  }
  
  matA.<a class="code" href="class__zgsmatrix.html#a967720c5efdb91e779a955fee836d01f">destroy</a>();
  matB.<a class="code" href="class__zgsmatrix.html#a967720c5efdb91e779a955fee836d01f">destroy</a>();
  <span class="keywordflow">return</span> <a class="code" href="dcovector-misc_8hpp.html#a297beda6502b0d92c99576d2fb9548cb">_</a>(newmat);
}
</pre></div>
</div>
</div>
<a class="anchor" id="ab0547cec76a8d2510216202e6259b20d"></a><!-- doxytag: member="_zgsmatrix::operator*" ref="ab0547cec76a8d2510216202e6259b20d" args="(const _zgsmatrix &amp;, const zhsmatrix &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class__zgsmatrix.html">_zgsmatrix</a> operator* </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="class__zgsmatrix.html">_zgsmatrix</a> &amp;&#160;</td>
          <td class="paramname">, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classzhsmatrix.html">zhsmatrix</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="a5ce7105041b1cc2d539cfb547e87bc55"></a><!-- doxytag: member="_zgsmatrix::operator*" ref="a5ce7105041b1cc2d539cfb547e87bc55" args="(const _zgsmatrix &amp;, const _zhsmatrix &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class__zgsmatrix.html">_zgsmatrix</a> operator* </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="class__zgsmatrix.html">_zgsmatrix</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__zhsmatrix.html">_zhsmatrix</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="ab4a691fabe94f679d5d684877aa3229c"></a><!-- doxytag: member="_zgsmatrix::operator*" ref="ab4a691fabe94f679d5d684877aa3229c" args="(const _zgsmatrix &amp;, const double &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class__zgsmatrix.html">_zgsmatrix</a> operator* </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="class__zgsmatrix.html">_zgsmatrix</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>_zgsmatrix*double operator </p>

<p>Definition at line <a class="el" href="__zgsmatrix-double_8hpp_source.html#l00003">3</a> of file <a class="el" href="__zgsmatrix-double_8hpp_source.html">_zgsmatrix-double.hpp</a>.</p>
<div class="fragment"><pre class="fragment">{VERBOSE_REPORT;
  <span class="keywordflow">for</span>(std::vector&lt;zcomponent&gt;::iterator it=mat.<a class="code" href="class__zgsmatrix.html#a967bd821b1efa288e865366c7c09c42c" title="matrix data">data</a>.begin(); it!=mat.<a class="code" href="class__zgsmatrix.html#a967bd821b1efa288e865366c7c09c42c" title="matrix data">data</a>.end(); it++){
    it-&gt;v *=d;
  }
  <span class="keywordflow">return</span> mat;
}
</pre></div>
</div>
</div>
<a class="anchor" id="a6f9fbbb1571cd81be13e85e658020ec2"></a><!-- doxytag: member="_zgsmatrix::operator*" ref="a6f9fbbb1571cd81be13e85e658020ec2" args="(const _zgsmatrix &amp;, const comple &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class__zgsmatrix.html">_zgsmatrix</a> operator* </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="class__zgsmatrix.html">_zgsmatrix</a> &amp;&#160;</td>
          <td class="paramname"><em>mat</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const comple &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>_zgsmatrix*comple operator </p>

<p>Definition at line <a class="el" href="__zgsmatrix-complex_8hpp_source.html#l00003">3</a> of file <a class="el" href="__zgsmatrix-complex_8hpp_source.html">_zgsmatrix-complex.hpp</a>.</p>
<div class="fragment"><pre class="fragment">{VERBOSE_REPORT;
  <span class="keywordflow">for</span>(std::vector&lt;zcomponent&gt;::iterator it=mat.<a class="code" href="class__zgsmatrix.html#a967bd821b1efa288e865366c7c09c42c" title="matrix data">data</a>.begin(); it!=mat.<a class="code" href="class__zgsmatrix.html#a967bd821b1efa288e865366c7c09c42c" title="matrix data">data</a>.end(); it++){
    it-&gt;v *=d;
  }
  <span class="keywordflow">return</span> mat;
}
</pre></div>
</div>
</div>
<a class="anchor" id="a1d2978c53505e0a0a4bd2b065d50c146"></a><!-- doxytag: member="_zgsmatrix::operator/" ref="a1d2978c53505e0a0a4bd2b065d50c146" args="(const _zgsmatrix &amp;, const double &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class__zgsmatrix.html">_zgsmatrix</a> operator/ </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="class__zgsmatrix.html">_zgsmatrix</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>_zgsmatrix/double operator </p>

<p>Definition at line <a class="el" href="__zgsmatrix-double_8hpp_source.html#l00013">13</a> of file <a class="el" href="__zgsmatrix-double_8hpp_source.html">_zgsmatrix-double.hpp</a>.</p>
<div class="fragment"><pre class="fragment">{VERBOSE_REPORT;
  <span class="keywordflow">for</span>(std::vector&lt;zcomponent&gt;::iterator it=mat.<a class="code" href="class__zgsmatrix.html#a967bd821b1efa288e865366c7c09c42c" title="matrix data">data</a>.begin(); it!=mat.<a class="code" href="class__zgsmatrix.html#a967bd821b1efa288e865366c7c09c42c" title="matrix data">data</a>.end(); it++){
    it-&gt;v /=d;
  }
  <span class="keywordflow">return</span> mat;
}
</pre></div>
</div>
</div>
<a class="anchor" id="ab4b075850da5c1c3cdb32f694f392547"></a><!-- doxytag: member="_zgsmatrix::operator/" ref="ab4b075850da5c1c3cdb32f694f392547" args="(const _zgsmatrix &amp;, const comple &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class__zgsmatrix.html">_zgsmatrix</a> operator/ </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="class__zgsmatrix.html">_zgsmatrix</a> &amp;&#160;</td>
          <td class="paramname"><em>mat</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const comple &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>_zgsmatrix/comple operator </p>

<p>Definition at line <a class="el" href="__zgsmatrix-complex_8hpp_source.html#l00013">13</a> of file <a class="el" href="__zgsmatrix-complex_8hpp_source.html">_zgsmatrix-complex.hpp</a>.</p>
<div class="fragment"><pre class="fragment">{VERBOSE_REPORT;
  <span class="keywordflow">for</span>(std::vector&lt;zcomponent&gt;::iterator it=mat.<a class="code" href="class__zgsmatrix.html#a967bd821b1efa288e865366c7c09c42c" title="matrix data">data</a>.begin(); it!=mat.<a class="code" href="class__zgsmatrix.html#a967bd821b1efa288e865366c7c09c42c" title="matrix data">data</a>.end(); it++){
    it-&gt;v /=d;
  }
  <span class="keywordflow">return</span> mat;
}
</pre></div>
</div>
</div>
<a class="anchor" id="af42025efba6fdc3f6f3305a084abe383"></a><!-- doxytag: member="_zgsmatrix::operator*" ref="af42025efba6fdc3f6f3305a084abe383" args="(const double &amp;, const _zgsmatrix &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class__zgsmatrix.html">_zgsmatrix</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="class__zgsmatrix.html">_zgsmatrix</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*_zgsmatrix operator </p>

<p>Definition at line <a class="el" href="double-__zgsmatrix_8hpp_source.html#l00003">3</a> of file <a class="el" href="double-__zgsmatrix_8hpp_source.html">double-_zgsmatrix.hpp</a>.</p>
<div class="fragment"><pre class="fragment">{VERBOSE_REPORT;
  <span class="keywordflow">for</span>(std::vector&lt;zcomponent&gt;::iterator it=mat.<a class="code" href="class__zgsmatrix.html#a967bd821b1efa288e865366c7c09c42c" title="matrix data">data</a>.begin(); it!=mat.<a class="code" href="class__zgsmatrix.html#a967bd821b1efa288e865366c7c09c42c" title="matrix data">data</a>.end(); it++){
    it-&gt;v *= d;
  }
  
  <span class="keywordflow">return</span> mat;
}
</pre></div>
</div>
</div>
<a class="anchor" id="ad1a8f760920353ad3224d243afd8393f"></a><!-- doxytag: member="_zgsmatrix::operator*" ref="ad1a8f760920353ad3224d243afd8393f" args="(const comple &amp;, const _zgsmatrix &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class__zgsmatrix.html">_zgsmatrix</a> operator* </td>
          <td>(</td>
          <td class="paramtype">const comple &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="class__zgsmatrix.html">_zgsmatrix</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>complex*_zgsmatrix operator </p>

<p>Definition at line <a class="el" href="complex-__zgsmatrix_8hpp_source.html#l00003">3</a> of file <a class="el" href="complex-__zgsmatrix_8hpp_source.html">complex-_zgsmatrix.hpp</a>.</p>
<div class="fragment"><pre class="fragment">{VERBOSE_REPORT;
  <span class="keywordflow">for</span>(std::vector&lt;zcomponent&gt;::iterator it=mat.<a class="code" href="class__zgsmatrix.html#a967bd821b1efa288e865366c7c09c42c" title="matrix data">data</a>.begin(); it!=mat.<a class="code" href="class__zgsmatrix.html#a967bd821b1efa288e865366c7c09c42c" title="matrix data">data</a>.end(); it++){
    it-&gt;v *= d;
  }
  <span class="keywordflow">return</span> mat;
}
</pre></div>
</div>
</div>
<hr/><h2>Member Data Documentation</h2>
<a class="anchor" id="a1be0849915f6b79eb1444150e8bebf31"></a><!-- doxytag: member="_zgsmatrix::m" ref="a1be0849915f6b79eb1444150e8bebf31" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">long <a class="el" href="class__zgsmatrix.html#a1be0849915f6b79eb1444150e8bebf31">_zgsmatrix::m</a><code> [mutable]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>matrix row size </p>

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

<p>Referenced by <a class="el" href="zgsmatrix-misc_8hpp_source.html#l00279">_()</a>, <a class="el" href="__zgsmatrix-constructor_8hpp_source.html#l00003">_zgsmatrix()</a>, <a class="el" href="__zgsmatrix-misc_8hpp_source.html#l00003">nullify()</a>, <a class="el" href="__zgsmatrix-io_8hpp_source.html#l00003">operator()()</a>, <a class="el" href="__zgematrix-__zgsmatrix_8hpp_source.html#l00047">operator*()</a>, <a class="el" href="zgsmatrix-__zgsmatrix_8hpp_source.html#l00055">zgsmatrix::operator*=()</a>, <a class="el" href="__zgematrix-__zgsmatrix_8hpp_source.html#l00003">operator+()</a>, <a class="el" href="zgsmatrix-__zgsmatrix_8hpp_source.html#l00015">zgsmatrix::operator+=()</a>, <a class="el" href="__zgematrix-__zgsmatrix_8hpp_source.html#l00025">operator-()</a>, <a class="el" href="zgsmatrix-__zgsmatrix_8hpp_source.html#l00035">zgsmatrix::operator-=()</a>, <a class="el" href="__zgsmatrix-io_8hpp_source.html#l00028">operator&lt;&lt;()</a>, <a class="el" href="zgsmatrix-misc_8hpp_source.html#l00045">zgsmatrix::shallow_copy()</a>, <a class="el" href="__zgsmatrix-cast_8hpp_source.html#l00003">to_zgematrix()</a>, <a class="el" href="__zgsmatrix-io_8hpp_source.html#l00051">write()</a>, and <a class="el" href="zgsmatrix-constructor_8hpp_source.html#l00031">zgsmatrix::zgsmatrix()</a>.</p>

</div>
</div>
<a class="anchor" id="ae2f1f4a6454a285b6b50feae90da335c"></a><!-- doxytag: member="_zgsmatrix::n" ref="ae2f1f4a6454a285b6b50feae90da335c" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">long <a class="el" href="class__zgsmatrix.html#ae2f1f4a6454a285b6b50feae90da335c">_zgsmatrix::n</a><code> [mutable]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>matrix column size </p>

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

<p>Referenced by <a class="el" href="zgsmatrix-misc_8hpp_source.html#l00279">_()</a>, <a class="el" href="__zgsmatrix-constructor_8hpp_source.html#l00003">_zgsmatrix()</a>, <a class="el" href="__zgsmatrix-misc_8hpp_source.html#l00003">nullify()</a>, <a class="el" href="__zgsmatrix-io_8hpp_source.html#l00003">operator()()</a>, <a class="el" href="__zgematrix-__zgsmatrix_8hpp_source.html#l00047">operator*()</a>, <a class="el" href="zgsmatrix-__zgsmatrix_8hpp_source.html#l00055">zgsmatrix::operator*=()</a>, <a class="el" href="__zgematrix-__zgsmatrix_8hpp_source.html#l00003">operator+()</a>, <a class="el" href="zgsmatrix-__zgsmatrix_8hpp_source.html#l00015">zgsmatrix::operator+=()</a>, <a class="el" href="__zgematrix-__zgsmatrix_8hpp_source.html#l00025">operator-()</a>, <a class="el" href="zgsmatrix-__zgsmatrix_8hpp_source.html#l00035">zgsmatrix::operator-=()</a>, <a class="el" href="__zgsmatrix-io_8hpp_source.html#l00028">operator&lt;&lt;()</a>, <a class="el" href="zgsmatrix-misc_8hpp_source.html#l00045">zgsmatrix::shallow_copy()</a>, <a class="el" href="__zgsmatrix-cast_8hpp_source.html#l00003">to_zgematrix()</a>, <a class="el" href="__zgsmatrix-io_8hpp_source.html#l00051">write()</a>, and <a class="el" href="zgsmatrix-constructor_8hpp_source.html#l00031">zgsmatrix::zgsmatrix()</a>.</p>

</div>
</div>
<a class="anchor" id="a967bd821b1efa288e865366c7c09c42c"></a><!-- doxytag: member="_zgsmatrix::data" ref="a967bd821b1efa288e865366c7c09c42c" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">std::vector&lt;<a class="el" href="classzcomponent.html">zcomponent</a>&gt; <a class="el" href="class__zgsmatrix.html#a967bd821b1efa288e865366c7c09c42c">_zgsmatrix::data</a><code> [mutable]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>matrix data </p>

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

<p>Referenced by <a class="el" href="zgsmatrix-misc_8hpp_source.html#l00279">_()</a>, <a class="el" href="__zgsmatrix-constructor_8hpp_source.html#l00003">_zgsmatrix()</a>, <a class="el" href="__zgsmatrix-calc_8hpp_source.html#l00037">damax()</a>, <a class="el" href="__zgsmatrix-misc_8hpp_source.html#l00014">destroy()</a>, <a class="el" href="__zgsmatrix-calc_8hpp_source.html#l00019">idamax()</a>, <a class="el" href="__zgsmatrix-misc_8hpp_source.html#l00003">nullify()</a>, <a class="el" href="__zgsmatrix-io_8hpp_source.html#l00003">operator()()</a>, <a class="el" href="__zgematrix-__zgsmatrix_8hpp_source.html#l00047">operator*()</a>, <a class="el" href="zgsmatrix-__zgsmatrix_8hpp_source.html#l00055">zgsmatrix::operator*=()</a>, <a class="el" href="__zgematrix-__zgsmatrix_8hpp_source.html#l00003">operator+()</a>, <a class="el" href="zgsmatrix-__zgsmatrix_8hpp_source.html#l00015">zgsmatrix::operator+=()</a>, <a class="el" href="__zgematrix-__zgsmatrix_8hpp_source.html#l00025">operator-()</a>, <a class="el" href="zgsmatrix-__zgsmatrix_8hpp_source.html#l00035">zgsmatrix::operator-=()</a>, <a class="el" href="__zgsmatrix-complex_8hpp_source.html#l00013">operator/()</a>, <a class="el" href="__zgsmatrix-io_8hpp_source.html#l00028">operator&lt;&lt;()</a>, <a class="el" href="zgsmatrix-misc_8hpp_source.html#l00045">zgsmatrix::shallow_copy()</a>, <a class="el" href="__zgsmatrix-calc_8hpp_source.html#l00003">t()</a>, <a class="el" href="__zgsmatrix-cast_8hpp_source.html#l00003">to_zgematrix()</a>, <a class="el" href="__zgsmatrix-io_8hpp_source.html#l00051">write()</a>, <a class="el" href="zgsmatrix-constructor_8hpp_source.html#l00031">zgsmatrix::zgsmatrix()</a>, and <a class="el" href="__zgsmatrix-constructor_8hpp_source.html#l00033">~_zgsmatrix()</a>.</p>

</div>
</div>
<a class="anchor" id="a5b554e651d84b2edcfa203d5c1140221"></a><!-- doxytag: member="_zgsmatrix::rows" ref="a5b554e651d84b2edcfa203d5c1140221" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">std::vector&lt; std::vector&lt;uint32_t&gt; &gt; <a class="el" href="class__zgsmatrix.html#a5b554e651d84b2edcfa203d5c1140221">_zgsmatrix::rows</a><code> [mutable]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>array of vector to store the entry information of component for each row </p>

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

<p>Referenced by <a class="el" href="zgsmatrix-misc_8hpp_source.html#l00279">_()</a>, <a class="el" href="__zgsmatrix-constructor_8hpp_source.html#l00003">_zgsmatrix()</a>, <a class="el" href="__zgsmatrix-misc_8hpp_source.html#l00014">destroy()</a>, <a class="el" href="__zgsmatrix-misc_8hpp_source.html#l00003">nullify()</a>, <a class="el" href="__zgsmatrix-io_8hpp_source.html#l00003">operator()()</a>, <a class="el" href="__zgsmatrix-__zgsmatrix_8hpp_source.html#l00049">operator*()</a>, <a class="el" href="zgsmatrix-__zgsmatrix_8hpp_source.html#l00055">zgsmatrix::operator*=()</a>, <a class="el" href="__zgsmatrix-io_8hpp_source.html#l00028">operator&lt;&lt;()</a>, <a class="el" href="zgsmatrix-misc_8hpp_source.html#l00045">zgsmatrix::shallow_copy()</a>, <a class="el" href="__zgsmatrix-calc_8hpp_source.html#l00003">t()</a>, <a class="el" href="zgsmatrix-constructor_8hpp_source.html#l00031">zgsmatrix::zgsmatrix()</a>, and <a class="el" href="__zgsmatrix-constructor_8hpp_source.html#l00033">~_zgsmatrix()</a>.</p>

</div>
</div>
<a class="anchor" id="a9179bd81a14abc4cf55ee4b48847b0eb"></a><!-- doxytag: member="_zgsmatrix::cols" ref="a9179bd81a14abc4cf55ee4b48847b0eb" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">std::vector&lt; std::vector&lt;uint32_t&gt; &gt; <a class="el" href="class__zgsmatrix.html#a9179bd81a14abc4cf55ee4b48847b0eb">_zgsmatrix::cols</a><code> [mutable]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>array of vector to store the entry information of component for each column </p>

<p>Definition at line <a class="el" href="__zgsmatrix_8hpp_source.html#l00013">13</a> of file <a class="el" href="__zgsmatrix_8hpp_source.html">_zgsmatrix.hpp</a>.</p>

<p>Referenced by <a class="el" href="zgsmatrix-misc_8hpp_source.html#l00279">_()</a>, <a class="el" href="__zgsmatrix-constructor_8hpp_source.html#l00003">_zgsmatrix()</a>, <a class="el" href="__zgsmatrix-misc_8hpp_source.html#l00014">destroy()</a>, <a class="el" href="__zgsmatrix-misc_8hpp_source.html#l00003">nullify()</a>, <a class="el" href="zgsmatrix-misc_8hpp_source.html#l00045">zgsmatrix::shallow_copy()</a>, <a class="el" href="__zgsmatrix-calc_8hpp_source.html#l00003">t()</a>, <a class="el" href="zgsmatrix-constructor_8hpp_source.html#l00031">zgsmatrix::zgsmatrix()</a>, and <a class="el" href="__zgsmatrix-constructor_8hpp_source.html#l00033">~_zgsmatrix()</a>.</p>

</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li><a class="el" href="__zgsmatrix_8hpp_source.html">_zgsmatrix.hpp</a></li>
<li><a class="el" href="__zgsmatrix-cast_8hpp_source.html">_zgsmatrix-cast.hpp</a></li>
<li><a class="el" href="__zgsmatrix-constructor_8hpp_source.html">_zgsmatrix-constructor.hpp</a></li>
<li><a class="el" href="__zgsmatrix-io_8hpp_source.html">_zgsmatrix-io.hpp</a></li>
<li><a class="el" href="__zgsmatrix-misc_8hpp_source.html">_zgsmatrix-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>
