<!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: zhematrix 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">zhematrix Class Reference</div>  </div>
</div><!--header-->
<div class="contents">
<!-- doxytag: class="zhematrix" -->
<p>Complex Double-precision Hermitian Matrix Class [l-type (UPLO=l) Strage].  
 <a href="classzhematrix.html#details">More...</a></p>

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

<p><a href="classzhematrix-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="classzhematrix.html#aaa9bb729acf4fb8d1a880c45f8955799">zhematrix</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classzhematrix.html#a5821819bd2f91ef052dda761a99985c4">zhematrix</a> (const <a class="el" href="classzhematrix.html">zhematrix</a> &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classzhematrix.html#ac2a8e305c71ee33decad0777bceea883">zhematrix</a> (const <a class="el" href="class__zhematrix.html">_zhematrix</a> &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classzhematrix.html#a9624923e9317b7aa79e78c36824be4b1">zhematrix</a> (const long &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classzhematrix.html#a972822fde327256ea76f9ef73dd7001a">zhematrix</a> (const char *)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classzhematrix.html#a54fb568c4a7bb48b68b2db905d1805cb">~zhematrix</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="classzhematrix.html#a4431c33c07ba437ea65491d437413a3c">to_zgematrix</a> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classzhecomplex.html">zhecomplex</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classzhematrix.html#a51719e22bd9df5b6b97e960a35b94b49">operator()</a> (const long &amp;, const long &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">comple&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classzhematrix.html#aa0350c559f9bd75448d9c191dc5d3dc4">operator()</a> (const long &amp;, const long &amp;) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classzhematrix.html">zhematrix</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classzhematrix.html#a0ec6afc67270cd1683a60c9e224149d2">set</a> (const long &amp;, const long &amp;, const comple &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classzhematrix.html#afd7c620f60463a65c737a8c5254ee037">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="classzhematrix.html#aaf1bce6adb283f635e72bedc34480857">read</a> (const char *)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classzhematrix.html#a677b0e1df7c504a915029ae1e652a6a8">complete</a> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classzhematrix.html#af2505f3a355336af0f77bab366cabfcc">clear</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classzhematrix.html">zhematrix</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classzhematrix.html#aa099198928ab1fc0793906e9ef709017">zero</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classzhematrix.html">zhematrix</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classzhematrix.html#a35005ca3ab1ea31fdd6bc948af35e77d">identity</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classzhematrix.html#a5f289ccaf40f79698a583161dc8e5377">chsign</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classzhematrix.html#a57c154acaba93614d881e7ac5cd36f32">copy</a> (const <a class="el" href="classzhematrix.html">zhematrix</a> &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classzhematrix.html#a3d551950f1ed5c71db3ca841545c59f3">shallow_copy</a> (const <a class="el" href="class__zhematrix.html">_zhematrix</a> &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classzhematrix.html#acb4ee5c4a3a0bc9246671543ee3f158c">resize</a> (const long &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class__zrovector.html">_zrovector</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classzhematrix.html#adec301bb04ce6eb938139f65cd1f0393">row</a> (const long &amp;) const </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="classzhematrix.html#a4c572c7adca3c1d4e0e6116576be44cf">col</a> (const long &amp;) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">long&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classzhematrix.html#a96f4a565aa37e04d2ca630663f556d63">zhesv</a> (<a class="el" href="classzgematrix.html">zgematrix</a> &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">long&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classzhematrix.html#a81fb6916c997e91abfd8ff6a7859ff81">zhesv</a> (<a class="el" href="classzcovector.html">zcovector</a> &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">long&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classzhematrix.html#a844ba3d4066a08710d8cf636bd34fc05">zheev</a> (std::vector&lt; double &gt; &amp;, const bool &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">long&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classzhematrix.html#ac55520d4b47616d15387d072963e1f64">zheev</a> (std::vector&lt; double &gt; &amp;, std::vector&lt; <a class="el" href="classzcovector.html">zcovector</a> &gt; &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">long&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classzhematrix.html#aa3482054a1bb8cea64e4c3d53cf03b22">zheev</a> (std::vector&lt; double &gt; &amp;, std::vector&lt; <a class="el" href="classzrovector.html">zrovector</a> &gt; &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classzhematrix.html">zhematrix</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classzhematrix.html#a42890ad07816e37df23338940a8986d6">operator=</a> (const <a class="el" href="classzhematrix.html">zhematrix</a> &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classzhematrix.html">zhematrix</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classzhematrix.html#a5375857bddaa6226a248363036284c48">operator=</a> (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="classzhematrix.html">zhematrix</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classzhematrix.html#adae9308e44a5101be5a93a57a8fd27cf">operator+=</a> (const <a class="el" href="classzhematrix.html">zhematrix</a> &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classzhematrix.html">zhematrix</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classzhematrix.html#a8af2c70768bc4c67bb04062ea9343dfb">operator+=</a> (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="classzhematrix.html">zhematrix</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classzhematrix.html#a8baceddd841a991d46e9032c7a932993">operator-=</a> (const <a class="el" href="classzhematrix.html">zhematrix</a> &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classzhematrix.html">zhematrix</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classzhematrix.html#a5e9150a48639bf813f347c48379e010b">operator-=</a> (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="classzhematrix.html">zhematrix</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classzhematrix.html#a75e45ed45b158d9ae162e45e07e79639">operator*=</a> (const <a class="el" href="classzhematrix.html">zhematrix</a> &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classzhematrix.html">zhematrix</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classzhematrix.html#adb3df5caca1e315bade437e634149410">operator*=</a> (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="classzhematrix.html">zhematrix</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classzhematrix.html#a3e5cb4cae02f3ddec4ecc24c215459d3">operator*=</a> (const double &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classzhematrix.html">zhematrix</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classzhematrix.html#a7d9333f1e5b1c47cc968f32eb49e3adf">operator/=</a> (const double &amp;)</td></tr>
<tr><td colspan="2"><h2><a name="pub-attribs"></a>
Public Attributes</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">long const &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classzhematrix.html#aa1a249b90a12e0572c7070cf1948f93d">m</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">matrix row size  <a href="#aa1a249b90a12e0572c7070cf1948f93d"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">long&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082">n</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">matrix column size  <a href="#a03e22e408f98102f65c1b8b4acc4c082"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">comple *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classzhematrix.html#a9f868de87a273d9f02ff31700fd2e068">array</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">1D array to store matrix data  <a href="#a9f868de87a273d9f02ff31700fd2e068"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">comple **&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classzhematrix.html#a1aae8b9ab0fe803d00df06dbd6d3315f">darray</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">array of pointers of column head addresses  <a href="#a1aae8b9ab0fe803d00df06dbd6d3315f"></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="classzhematrix.html#ae8bdc8af01875b0cca3f03e85b8b1230">operator&lt;&lt;</a> (std::ostream &amp;, const <a class="el" href="classzhematrix.html">zhematrix</a> &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classzhematrix.html#a686713937ad7683a5e327d3d409ae2b9">swap</a> (<a class="el" href="classzhematrix.html">zhematrix</a> &amp;, <a class="el" href="classzhematrix.html">zhematrix</a> &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class__zhematrix.html">_zhematrix</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classzhematrix.html#a528c8dd57c865bc962bec4e1bca233c1">_</a> (<a class="el" href="classzhematrix.html">zhematrix</a> &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class__zhematrix.html">_zhematrix</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classzhematrix.html#ab6a1dca889b74d06c2beea77d21c8e7a">t</a> (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="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a> (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__zhematrix.html">_zhematrix</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classzhematrix.html#ace551e966a20707ae0f611d8466f280f">conj</a> (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__zhematrix.html">_zhematrix</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classzhematrix.html#ac9fe1dbefeae86303a780ff142b1a548">conjt</a> (const <a class="el" href="classzhematrix.html">zhematrix</a> &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classzhematrix.html">zhematrix</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classzhematrix.html#ac77f80c4643d58e31b5b33baed84a37e">operator+</a> (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__zhematrix.html">_zhematrix</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classzhematrix.html#a008f0773637dc9fe8dafc66351e8a278">operator-</a> (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="classzhematrix.html#a4d2df3de7f2d5fb028eed81cc00045bc">operator+</a> (const <a class="el" href="classzhematrix.html">zhematrix</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="classzhematrix.html#ae4aff19f8bf21487644fbfa9e3795817">operator+</a> (const <a class="el" href="classzhematrix.html">zhematrix</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__zhematrix.html">_zhematrix</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classzhematrix.html#aa694d2addac04ef4c4219747fc1d9478">operator+</a> (const <a class="el" href="classzhematrix.html">zhematrix</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__zhematrix.html">_zhematrix</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classzhematrix.html#a00520a7832420373b9f152ea0a922235">operator+</a> (const <a class="el" href="classzhematrix.html">zhematrix</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="classzhematrix.html#a39b69917c8b21cc29e1acfa62164a361">operator+</a> (const <a class="el" href="classzhematrix.html">zhematrix</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="classzhematrix.html#a23a7225508b98dee051fc52233675cee">operator+</a> (const <a class="el" href="classzhematrix.html">zhematrix</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__zgematrix.html">_zgematrix</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classzhematrix.html#a9473cf2ede4e7718f84f61bb7e70333c">operator+</a> (const <a class="el" href="classzhematrix.html">zhematrix</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__zgematrix.html">_zgematrix</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classzhematrix.html#a85fecbc7cc0c918ae2466d06be4f74f9">operator+</a> (const <a class="el" href="classzhematrix.html">zhematrix</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__zgematrix.html">_zgematrix</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classzhematrix.html#a3e5bff1217020199eac7c79843c0ef68">operator+</a> (const <a class="el" href="classzhematrix.html">zhematrix</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__zgematrix.html">_zgematrix</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classzhematrix.html#a976b104b049f4839ad365d1cf0bef504">operator+</a> (const <a class="el" href="classzhematrix.html">zhematrix</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="classzhematrix.html#a0debcc7443111a035eb0e68813beec3d">operator-</a> (const <a class="el" href="classzhematrix.html">zhematrix</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="classzhematrix.html#ad0943f21d6eacaeb50071954137ba4ca">operator-</a> (const <a class="el" href="classzhematrix.html">zhematrix</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__zhematrix.html">_zhematrix</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classzhematrix.html#ae634b154fe1df87541bda2e2a39cdaba">operator-</a> (const <a class="el" href="classzhematrix.html">zhematrix</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__zhematrix.html">_zhematrix</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classzhematrix.html#a1aac5b391e7b53c9b335f950c5e62e18">operator-</a> (const <a class="el" href="classzhematrix.html">zhematrix</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="classzhematrix.html#ab23f44e74bf86e2229621c123c1f25ff">operator-</a> (const <a class="el" href="classzhematrix.html">zhematrix</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="classzhematrix.html#ae37a5896220335e02abb628411f53a72">operator-</a> (const <a class="el" href="classzhematrix.html">zhematrix</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__zgematrix.html">_zgematrix</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classzhematrix.html#a1ebee33b28035dfc3f07cba399666ff2">operator-</a> (const <a class="el" href="classzhematrix.html">zhematrix</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__zgematrix.html">_zgematrix</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classzhematrix.html#a7f409ff09817ea5eeed03ad17948b770">operator-</a> (const <a class="el" href="classzhematrix.html">zhematrix</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__zgematrix.html">_zgematrix</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classzhematrix.html#aca510f11db582c593126d82416bf20e0">operator-</a> (const <a class="el" href="classzhematrix.html">zhematrix</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__zgematrix.html">_zgematrix</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classzhematrix.html#a7d500b1982f09f0e8931f37c153d52a2">operator-</a> (const <a class="el" href="classzhematrix.html">zhematrix</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="classzhematrix.html#a871c5d37ab8296b7c37495e6c9dd952c">operator*</a> (const <a class="el" href="classzhematrix.html">zhematrix</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="classzhematrix.html#a80623c77d28fc36fb8abdbdd5ab5cccc">operator*</a> (const <a class="el" href="classzhematrix.html">zhematrix</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="classzhematrix.html#a53cf97ebd5270407908cadf9c8ff3dcb">operator*</a> (const <a class="el" href="classzhematrix.html">zhematrix</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="classzhematrix.html#a0dd5e3e34fe034b5a2ca7fe17c31983c">operator*</a> (const <a class="el" href="classzhematrix.html">zhematrix</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="classzhematrix.html#acf32abe565eee10dc4e1f68220cfef64">operator*</a> (const <a class="el" href="classzhematrix.html">zhematrix</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="classzhematrix.html#a8043330830b5f1f89ff2f1d6ef5c8913">operator*</a> (const <a class="el" href="classzhematrix.html">zhematrix</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="classzhematrix.html#af47b31d8606513af969d43a227aa22d3">operator*</a> (const <a class="el" href="classzhematrix.html">zhematrix</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="classzhematrix.html#a4179d1e06fa8c31b568d640696b876e9">operator*</a> (const <a class="el" href="classzhematrix.html">zhematrix</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__zgematrix.html">_zgematrix</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classzhematrix.html#a21cb20e7afa27a28ac1b084a60a1a631">operator*</a> (const <a class="el" href="classzhematrix.html">zhematrix</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__zgematrix.html">_zgematrix</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classzhematrix.html#a3d72a3dd26e1a366d0e69d415f851eed">operator*</a> (const <a class="el" href="classzhematrix.html">zhematrix</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__zgematrix.html">_zgematrix</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classzhematrix.html#a2edee34371e0e67b5d7f56d09d8dc793">operator*</a> (const <a class="el" href="classzhematrix.html">zhematrix</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__zgematrix.html">_zgematrix</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classzhematrix.html#ac2539ebb3ccbbfe2521f836fe72a720e">operator*</a> (const <a class="el" href="classzhematrix.html">zhematrix</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__zhematrix.html">_zhematrix</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classzhematrix.html#ad3af843cfd070a64b2056e55911889b3">operator*</a> (const <a class="el" href="classzhematrix.html">zhematrix</a> &amp;, const double &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="classzhematrix.html#a6e4625858070f449fa80c7a8674c1dce">operator*</a> (const <a class="el" href="classzhematrix.html">zhematrix</a> &amp;, const comple &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class__zhematrix.html">_zhematrix</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classzhematrix.html#a97ae432aa14b7e9bd535b95616760d3c">operator/</a> (const <a class="el" href="classzhematrix.html">zhematrix</a> &amp;, const double &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="classzhematrix.html#a5072daa3f8cc3fecff74bf7d20fd8df8">operator/</a> (const <a class="el" href="classzhematrix.html">zhematrix</a> &amp;, const comple &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class__zhematrix.html">_zhematrix</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classzhematrix.html#ada8d78e83fcff1748a852fa2ac4dad8d">operator*</a> (const double &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="classzhematrix.html#ae8a181e046653688491375a28398b167">operator*</a> (const comple &amp;, const <a class="el" href="classzhematrix.html">zhematrix</a> &amp;)</td></tr>
</table>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>Complex Double-precision Hermitian Matrix Class [l-type (UPLO=l) Strage]. </p>
<p>The imaginary part of every diagonal component is not referenced. </p>

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

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

<p>References <a class="el" href="zhematrix_8hpp_source.html#l00012">array</a>, <a class="el" href="zhematrix_8hpp_source.html#l00013">darray</a>, and <a class="el" href="zhematrix_8hpp_source.html#l00011">n</a>.</p>
<div class="fragment"><pre class="fragment">  : <a class="code" href="classzhematrix.html#aa1a249b90a12e0572c7070cf1948f93d" title="matrix row size">m</a>(<a class="code" href="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" title="matrix column size">n</a>)
{VERBOSE_REPORT;<span class="comment"></span>
<span class="comment">  //////// initialize ////////</span>
<span class="comment"></span>  <a class="code" href="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" title="matrix column size">n</a> = 0;
  <a class="code" href="classzhematrix.html#a9f868de87a273d9f02ff31700fd2e068" title="1D array to store matrix data">array</a> =NULL;
  <a class="code" href="classzhematrix.html#a1aae8b9ab0fe803d00df06dbd6d3315f" title="array of pointers of column head addresses">darray</a> =NULL;
}
</pre></div>
</div>
</div>
<a class="anchor" id="a5821819bd2f91ef052dda761a99985c4"></a><!-- doxytag: member="zhematrix::zhematrix" ref="a5821819bd2f91ef052dda761a99985c4" args="(const zhematrix &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classzhematrix.html#aaa9bb729acf4fb8d1a880c45f8955799">zhematrix::zhematrix</a> </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classzhematrix.html">zhematrix</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>zhematrix copy constructor </p>

<p>Definition at line <a class="el" href="zhematrix-constructor_8hpp_source.html#l00018">18</a> of file <a class="el" href="zhematrix-constructor_8hpp_source.html">zhematrix-constructor.hpp</a>.</p>

<p>References <a class="el" href="zhematrix_8hpp_source.html#l00012">array</a>, <a class="el" href="zhematrix_8hpp_source.html#l00013">darray</a>, <a class="el" href="zhematrix-calc_8hpp_source.html#l00015">i</a>, and <a class="el" href="zhematrix_8hpp_source.html#l00011">n</a>.</p>
<div class="fragment"><pre class="fragment">  : <a class="code" href="classzhematrix.html#aa1a249b90a12e0572c7070cf1948f93d" title="matrix row size">m</a>(<a class="code" href="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" title="matrix column size">n</a>)
{VERBOSE_REPORT;<span class="comment"></span>
<span class="comment">  //////// initialize ////////</span>
<span class="comment"></span>  <a class="code" href="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" title="matrix column size">n</a> =mat.<a class="code" href="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" title="matrix column size">n</a>;
  <a class="code" href="classzhematrix.html#a9f868de87a273d9f02ff31700fd2e068" title="1D array to store matrix data">array</a> =<span class="keyword">new</span> comple[<a class="code" href="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" title="matrix column size">n</a>*<a class="code" href="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" title="matrix column size">n</a>];
  <a class="code" href="classzhematrix.html#a1aae8b9ab0fe803d00df06dbd6d3315f" title="array of pointers of column head addresses">darray</a> =<span class="keyword">new</span> comple*[<a class="code" href="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" title="matrix column size">n</a>];
  <span class="keywordflow">for</span>(<span class="keywordtype">int</span> <a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>=0; <a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>&lt;<a class="code" href="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" title="matrix column size">n</a>; <a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>++){ <a class="code" href="classzhematrix.html#a1aae8b9ab0fe803d00df06dbd6d3315f" title="array of pointers of column head addresses">darray</a>[<a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>] =&amp;<a class="code" href="classzhematrix.html#a9f868de87a273d9f02ff31700fd2e068" title="1D array to store matrix data">array</a>[<a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>*<a class="code" href="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" title="matrix column size">n</a>]; }
  <span class="comment"></span>
<span class="comment">  //////// copy ////////</span>
<span class="comment"></span>  zcopy_(n*n, mat.<a class="code" href="classzhematrix.html#a9f868de87a273d9f02ff31700fd2e068" title="1D array to store matrix data">array</a>, 1, <a class="code" href="classzhematrix.html#a9f868de87a273d9f02ff31700fd2e068" title="1D array to store matrix data">array</a>, 1);
}
</pre></div>
</div>
</div>
<a class="anchor" id="ac2a8e305c71ee33decad0777bceea883"></a><!-- doxytag: member="zhematrix::zhematrix" ref="ac2a8e305c71ee33decad0777bceea883" args="(const _zhematrix &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classzhematrix.html#aaa9bb729acf4fb8d1a880c45f8955799">zhematrix::zhematrix</a> </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="class__zhematrix.html">_zhematrix</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>zhematrix constructor to cast <a class="el" href="class__zhematrix.html" title="(DO NOT USE) Smart-temporary Complex Double-precision Hermitian Matrix Class">_zhematrix</a> </p>

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

<p>References <a class="el" href="__zhematrix_8hpp_source.html#l00011">_zhematrix::array</a>, <a class="el" href="zhematrix_8hpp_source.html#l00012">array</a>, <a class="el" href="__zhematrix_8hpp_source.html#l00012">_zhematrix::darray</a>, <a class="el" href="zhematrix_8hpp_source.html#l00013">darray</a>, <a class="el" href="__zhematrix_8hpp_source.html#l00010">_zhematrix::n</a>, <a class="el" href="zhematrix_8hpp_source.html#l00011">n</a>, and <a class="el" href="__zhematrix-misc_8hpp_source.html#l00003">_zhematrix::nullify()</a>.</p>
<div class="fragment"><pre class="fragment">  : <a class="code" href="classzhematrix.html#aa1a249b90a12e0572c7070cf1948f93d" title="matrix row size">m</a>(<a class="code" href="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" title="matrix column size">n</a>)
{VERBOSE_REPORT;
  <a class="code" href="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" title="matrix column size">n</a> =mat.<a class="code" href="class__zhematrix.html#a3cd8e436cf59991845c6b8e66d56c023" title="matrix column size">n</a>;
  <a class="code" href="classzhematrix.html#a9f868de87a273d9f02ff31700fd2e068" title="1D array to store matrix data">array</a> =mat.<a class="code" href="class__zhematrix.html#a7d20e0d43e98b9c706126d92b8683e82" title="1D array to store matrix data">array</a>;
  <a class="code" href="classzhematrix.html#a1aae8b9ab0fe803d00df06dbd6d3315f" title="array of pointers of column head addresses">darray</a> =mat.<a class="code" href="class__zhematrix.html#a3ad63a338d36c3752de106ca134a1a38" title="array of pointers of column head addresses">darray</a>;
  
  mat.<a class="code" href="class__zhematrix.html#a067b4ee2f04c7c63ea5ac392193f46f1">nullify</a>();
}
</pre></div>
</div>
</div>
<a class="anchor" id="a9624923e9317b7aa79e78c36824be4b1"></a><!-- doxytag: member="zhematrix::zhematrix" ref="a9624923e9317b7aa79e78c36824be4b1" args="(const long &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classzhematrix.html#aaa9bb729acf4fb8d1a880c45f8955799">zhematrix::zhematrix</a> </td>
          <td>(</td>
          <td class="paramtype">const long &amp;&#160;</td>
          <td class="paramname"><em>_n</em></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>zhematrix constructor with size specification </p>

<p>Definition at line <a class="el" href="zhematrix-constructor_8hpp_source.html#l00049">49</a> of file <a class="el" href="zhematrix-constructor_8hpp_source.html">zhematrix-constructor.hpp</a>.</p>

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

<p>Definition at line <a class="el" href="zhematrix-constructor_8hpp_source.html#l00070">70</a> of file <a class="el" href="zhematrix-constructor_8hpp_source.html">zhematrix-constructor.hpp</a>.</p>

<p>References <a class="el" href="zhematrix_8hpp_source.html#l00012">array</a>, <a class="el" href="zhematrix_8hpp_source.html#l00013">darray</a>, and <a class="el" href="zhematrix-io_8hpp_source.html#l00118">read()</a>.</p>
<div class="fragment"><pre class="fragment">  : <a class="code" href="classzhematrix.html#aa1a249b90a12e0572c7070cf1948f93d" title="matrix row size">m</a>(<a class="code" href="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" title="matrix column size">n</a>)
{VERBOSE_REPORT;
  <a class="code" href="classzhematrix.html#a9f868de87a273d9f02ff31700fd2e068" title="1D array to store matrix data">array</a> =NULL;
  <a class="code" href="classzhematrix.html#a1aae8b9ab0fe803d00df06dbd6d3315f" title="array of pointers of column head addresses">darray</a> =NULL;
  <span class="comment"></span>
<span class="comment">  //// read ////</span>
<span class="comment"></span>  <a class="code" href="classzhematrix.html#aaf1bce6adb283f635e72bedc34480857">read</a>(filename);
}
</pre></div>
</div>
</div>
<a class="anchor" id="a54fb568c4a7bb48b68b2db905d1805cb"></a><!-- doxytag: member="zhematrix::~zhematrix" ref="a54fb568c4a7bb48b68b2db905d1805cb" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classzhematrix.html#a54fb568c4a7bb48b68b2db905d1805cb">zhematrix::~zhematrix</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>zhematrix destructor </p>

<p>Definition at line <a class="el" href="zhematrix-constructor_8hpp_source.html#l00086">86</a> of file <a class="el" href="zhematrix-constructor_8hpp_source.html">zhematrix-constructor.hpp</a>.</p>

<p>References <a class="el" href="zhematrix_8hpp_source.html#l00012">array</a>, and <a class="el" href="zhematrix_8hpp_source.html#l00013">darray</a>.</p>
<div class="fragment"><pre class="fragment">{VERBOSE_REPORT;<span class="comment"></span>
<span class="comment">  //////// delete array ////////</span>
<span class="comment"></span>  <span class="keyword">delete</span> [] <a class="code" href="classzhematrix.html#a9f868de87a273d9f02ff31700fd2e068" title="1D array to store matrix data">array</a>;
  <span class="keyword">delete</span> [] <a class="code" href="classzhematrix.html#a1aae8b9ab0fe803d00df06dbd6d3315f" title="array of pointers of column head addresses">darray</a>;
}
</pre></div>
</div>
</div>
<hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="a4431c33c07ba437ea65491d437413a3c"></a><!-- doxytag: member="zhematrix::to_zgematrix" ref="a4431c33c07ba437ea65491d437413a3c" 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="classzhematrix.html#a4431c33c07ba437ea65491d437413a3c">zhematrix::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="zhematrix-cast_8hpp_source.html#l00003">3</a> of file <a class="el" href="zhematrix-cast_8hpp_source.html">zhematrix-cast.hpp</a>.</p>

<p>References <a class="el" href="zhematrix-misc_8hpp_source.html#l00173">_</a>, <a class="el" href="zhematrix-calc_8hpp_source.html#l00015">i</a>, and <a class="el" href="zhematrix_8hpp_source.html#l00011">n</a>.</p>

<p>Referenced by <a class="el" href="__zgbmatrix-zhematrix_8hpp_source.html#l00003">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="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" title="matrix column size">n</a>,<a class="code" href="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" title="matrix column size">n</a>);
  <span class="keywordflow">for</span>(<span class="keywordtype">long</span> <a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>=0; <a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>&lt;<a class="code" href="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" title="matrix column size">n</a>; <a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>++){
    <span class="keywordflow">for</span>(<span class="keywordtype">long</span> j=0; j&lt;<a class="code" href="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" title="matrix column size">n</a>; j++){
      newmat(<a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>,j) =(*this)(<a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>,j);
    }
  }
  
  <span class="keywordflow">return</span> <a class="code" href="classzhematrix.html#a528c8dd57c865bc962bec4e1bca233c1">_</a>(newmat);
}
</pre></div>
</div>
</div>
<a class="anchor" id="a51719e22bd9df5b6b97e960a35b94b49"></a><!-- doxytag: member="zhematrix::operator()" ref="a51719e22bd9df5b6b97e960a35b94b49" args="(const long &amp;, const long &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classzhecomplex.html">zhecomplex</a> zhematrix::operator() </td>
          <td>(</td>
          <td class="paramtype">const long &amp;&#160;</td>
          <td class="paramname"><em>i</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const long &amp;&#160;</td>
          <td class="paramname"><em>j</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>operator() for non-const object </p>

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

<p>References <a class="el" href="zhematrix_8hpp_source.html#l00013">darray</a>, and <a class="el" href="zhematrix_8hpp_source.html#l00011">n</a>.</p>

<p>Referenced by <a class="el" href="zhematrix-zhematrix_8hpp_source.html#l00017">operator+=()</a>, <a class="el" href="zhematrix-zhematrix_8hpp_source.html#l00037">operator-=()</a>, and <a class="el" href="zhematrix-io_8hpp_source.html#l00091">write()</a>.</p>
<div class="fragment"><pre class="fragment">{VERBOSE_REPORT;
<span class="preprocessor">#ifdef  CPPL_DEBUG</span>
<span class="preprocessor"></span>  <span class="keywordflow">if</span>( <a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>&lt;0 || j&lt;0 || <a class="code" href="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" title="matrix column size">n</a>&lt;=<a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a> || <a class="code" href="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" 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="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a> &lt;&lt; <span class="stringliteral">&quot;,&quot;</span> &lt;&lt; j &lt;&lt; <span class="stringliteral">&quot;).&quot;</span> &lt;&lt; std::endl;
    exit(1);
  }
<span class="preprocessor">#endif//CPPL_DEBUG</span>
<span class="preprocessor"></span>  
  <span class="keywordflow">if</span>(<a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>&gt;=j){ <span class="keywordflow">return</span> <a class="code" href="classzhecomplex.html" title="(DO NOT USE) Complex-double Class for Hermitian matrices">zhecomplex</a>(<a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>,j, <a class="code" href="classzhematrix.html#a1aae8b9ab0fe803d00df06dbd6d3315f" title="array of pointers of column head addresses">darray</a>[j][<a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>]); }
  <span class="keywordflow">else</span>    { <span class="keywordflow">return</span> <a class="code" href="classzhecomplex.html" title="(DO NOT USE) Complex-double Class for Hermitian matrices">zhecomplex</a>(<a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>,j, <a class="code" href="classzhematrix.html#a1aae8b9ab0fe803d00df06dbd6d3315f" title="array of pointers of column head addresses">darray</a>[<a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>][j]); }
}
</pre></div>
</div>
</div>
<a class="anchor" id="aa0350c559f9bd75448d9c191dc5d3dc4"></a><!-- doxytag: member="zhematrix::operator()" ref="aa0350c559f9bd75448d9c191dc5d3dc4" args="(const long &amp;, const long &amp;) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">comple zhematrix::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="zhematrix-io_8hpp_source.html#l00020">20</a> of file <a class="el" href="zhematrix-io_8hpp_source.html">zhematrix-io.hpp</a>.</p>

<p>References <a class="el" href="zhematrix-calc_8hpp_source.html#l00031">conj</a>, <a class="el" href="zhematrix_8hpp_source.html#l00013">darray</a>, <a class="el" href="zhematrix-calc_8hpp_source.html#l00015">i</a>, and <a class="el" href="zhematrix_8hpp_source.html#l00011">n</a>.</p>
<div class="fragment"><pre class="fragment">{VERBOSE_REPORT;
<span class="preprocessor">#ifdef  CPPL_DEBUG</span>
<span class="preprocessor"></span>  <span class="keywordflow">if</span>( <a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>&lt;0 || j&lt;0 || <a class="code" href="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" title="matrix column size">n</a>&lt;=<a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a> || <a class="code" href="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" 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="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a> &lt;&lt; <span class="stringliteral">&quot;,&quot;</span> &lt;&lt; j &lt;&lt; <span class="stringliteral">&quot;).&quot;</span> &lt;&lt; std::endl;
    exit(1);
  }
<span class="preprocessor">#endif//CPPL_DEBUG</span>
<span class="preprocessor"></span>  
  <span class="keywordflow">if</span>(<a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>&gt;=j){ <span class="keywordflow">return</span> <a class="code" href="classzhematrix.html#a1aae8b9ab0fe803d00df06dbd6d3315f" title="array of pointers of column head addresses">darray</a>[j][<a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>]; }
  <span class="keywordflow">else</span>    { <span class="keywordflow">return</span> <a class="code" href="classzhematrix.html#ace551e966a20707ae0f611d8466f280f">std::conj</a>(<a class="code" href="classzhematrix.html#a1aae8b9ab0fe803d00df06dbd6d3315f" title="array of pointers of column head addresses">darray</a>[<a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>][j]); }
}
</pre></div>
</div>
</div>
<a class="anchor" id="a0ec6afc67270cd1683a60c9e224149d2"></a><!-- doxytag: member="zhematrix::set" ref="a0ec6afc67270cd1683a60c9e224149d2" args="(const long &amp;, const long &amp;, const comple &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classzhematrix.html">zhematrix</a> &amp; <a class="el" href="classzhematrix.html#a0ec6afc67270cd1683a60c9e224149d2">zhematrix::set</a> </td>
          <td>(</td>
          <td class="paramtype">const long &amp;&#160;</td>
          <td class="paramname"><em>i</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const long &amp;&#160;</td>
          <td class="paramname"><em>j</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const comple &amp;&#160;</td>
          <td class="paramname"><em>v</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>set value for const object </p>

<p>Definition at line <a class="el" href="zhematrix-io_8hpp_source.html#l00041">41</a> of file <a class="el" href="zhematrix-io_8hpp_source.html">zhematrix-io.hpp</a>.</p>

<p>References <a class="el" href="zhematrix-calc_8hpp_source.html#l00031">conj</a>, <a class="el" href="zhematrix_8hpp_source.html#l00013">darray</a>, <a class="el" href="zhematrix-calc_8hpp_source.html#l00015">i</a>, and <a class="el" href="zhematrix_8hpp_source.html#l00011">n</a>.</p>
<div class="fragment"><pre class="fragment">{VERBOSE_REPORT;
<span class="preprocessor">#ifdef  CPPL_DEBUG</span>
<span class="preprocessor"></span>  <span class="keywordflow">if</span>( <a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>&lt;0 || j&lt;0 || <a class="code" href="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" title="matrix column size">n</a>&lt;=<a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a> || <a class="code" href="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" 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="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">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">//if(i&gt;=j){ array[i+n*j] = v; }</span>
  <span class="comment">//else{ array[j+n*i] = std::conj(v); }</span>
  <span class="keywordflow">if</span>(<a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>&gt;=j){ <a class="code" href="classzhematrix.html#a1aae8b9ab0fe803d00df06dbd6d3315f" title="array of pointers of column head addresses">darray</a>[j][<a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>] = v; }
  <span class="keywordflow">else</span>{ <a class="code" href="classzhematrix.html#a1aae8b9ab0fe803d00df06dbd6d3315f" title="array of pointers of column head addresses">darray</a>[<a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>][j] = <a class="code" href="classzhematrix.html#ace551e966a20707ae0f611d8466f280f">std::conj</a>(v); }
  
  <span class="keywordflow">return</span> *<span class="keyword">this</span>;
}
</pre></div>
</div>
</div>
<a class="anchor" id="afd7c620f60463a65c737a8c5254ee037"></a><!-- doxytag: member="zhematrix::write" ref="afd7c620f60463a65c737a8c5254ee037" args="(const char *) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classzhematrix.html#afd7c620f60463a65c737a8c5254ee037">zhematrix::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="zhematrix-io_8hpp_source.html#l00091">91</a> of file <a class="el" href="zhematrix-io_8hpp_source.html">zhematrix-io.hpp</a>.</p>

<p>References <a class="el" href="zhematrix-calc_8hpp_source.html#l00015">i</a>, <a class="el" href="dcovector__small-specialized_8hpp_source.html#l00094">imag()</a>, <a class="el" href="zhematrix_8hpp_source.html#l00011">n</a>, and <a class="el" href="zhematrix-io_8hpp_source.html#l00003">operator()()</a>.</p>
<div class="fragment"><pre class="fragment">{VERBOSE_REPORT;
  std::ofstream ofs(filename, std::ios::trunc);
  ofs.setf(std::cout.flags());
  ofs.precision(std::cout.precision());
  ofs.width(std::cout.width());
  ofs.fill(std::cout.fill());
  
  ofs &lt;&lt; <span class="stringliteral">&quot;#zhematrix&quot;</span> &lt;&lt; <span class="stringliteral">&quot; &quot;</span> &lt;&lt; <a class="code" href="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" title="matrix column size">n</a> &lt;&lt; std::endl;
  <span class="keywordflow">for</span>(<span class="keywordtype">long</span> <a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>=0; <a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>&lt;<a class="code" href="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" title="matrix column size">n</a>; <a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>++){
    <span class="keywordflow">for</span>(<span class="keywordtype">long</span> j=0; j&lt;=<a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>; j++ ){
      ofs &lt;&lt; <a class="code" href="classzhematrix.html#a51719e22bd9df5b6b97e960a35b94b49">operator()</a>(<a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>,j) &lt;&lt; <span class="stringliteral">&quot; &quot;</span>;
    }
    ofs &lt;&lt; std::endl;

<span class="preprocessor">#ifdef  CPPL_DEBUG</span>
<span class="preprocessor"></span>    <span class="keywordflow">if</span>(std::fabs(<a class="code" href="dcovector__small-specialized_8hpp.html#a2eb38711e1c30cc070f53589d1905fea">std::imag</a>(<span class="keyword">operator</span>()(<a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>,<a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>))) &gt; DBL_MIN){
      WARNING_REPORT;
      std::cerr &lt;&lt; <span class="stringliteral">&quot;The &quot;</span> &lt;&lt; <a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a> &lt;&lt; <span class="stringliteral">&quot;th diagonal component of the zhematrix is not a real number.&quot;</span> &lt;&lt; std::endl;
    }
<span class="preprocessor">#endif//CPPL_DEBUG</span>
<span class="preprocessor"></span>  }
  
  ofs.close();
}
</pre></div>
</div>
</div>
<a class="anchor" id="aaf1bce6adb283f635e72bedc34480857"></a><!-- doxytag: member="zhematrix::read" ref="aaf1bce6adb283f635e72bedc34480857" args="(const char *)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classzhematrix.html#aaf1bce6adb283f635e72bedc34480857">zhematrix::read</a> </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>filename</em></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="zhematrix-io_8hpp_source.html#l00118">118</a> of file <a class="el" href="zhematrix-io_8hpp_source.html">zhematrix-io.hpp</a>.</p>

<p>References <a class="el" href="zhematrix_8hpp_source.html#l00013">darray</a>, <a class="el" href="zhematrix-calc_8hpp_source.html#l00015">i</a>, <a class="el" href="zhematrix_8hpp_source.html#l00011">n</a>, and <a class="el" href="zhematrix-misc_8hpp_source.html#l00096">resize()</a>.</p>

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

  std::string id;
  s &gt;&gt; id;
  <span class="keywordflow">if</span>( <span class="keywordtype">id</span> != <span class="stringliteral">&quot;zhematrix&quot;</span> &amp;&amp; <span class="keywordtype">id</span> != <span class="stringliteral">&quot;#zhematrix&quot;</span> ){
    ERROR_REPORT;
    std::cerr &lt;&lt; <span class="stringliteral">&quot;The type name of the file \&quot;&quot;</span> &lt;&lt; filename &lt;&lt; <span class="stringliteral">&quot;\&quot; is not zhematrix.&quot;</span> &lt;&lt; std::endl
              &lt;&lt; <span class="stringliteral">&quot;Its type name was &quot;</span> &lt;&lt; <span class="keywordtype">id</span> &lt;&lt; <span class="stringliteral">&quot; .&quot;</span> &lt;&lt; std::endl;
    exit(1);
  }
  
  s &gt;&gt; <a class="code" href="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" title="matrix column size">n</a>;
  <a class="code" href="classzhematrix.html#acb4ee5c4a3a0bc9246671543ee3f158c">resize</a>(n);
  <span class="keywordflow">for</span>(<span class="keywordtype">long</span> <a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>=0; <a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>&lt;<a class="code" href="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" title="matrix column size">n</a>; <a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>++){
    <span class="keywordflow">for</span>(<span class="keywordtype">long</span> j=0; j&lt;=<a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>; j++ ){
      s &gt;&gt; <a class="code" href="classzhematrix.html#a1aae8b9ab0fe803d00df06dbd6d3315f" title="array of pointers of column head addresses">darray</a>[j][<a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>];
      <span class="comment">//s &gt;&gt; operator()(i,j); //NG</span>
    }
  }
  <span class="keywordflow">if</span>(s.eof()){
    ERROR_REPORT;
    std::cerr &lt;&lt; <span class="stringliteral">&quot;There is something is wrong with the file \&quot;&quot;</span> &lt;&lt; filename &lt;&lt; <span class="stringliteral">&quot;\&quot;.&quot;</span> &lt;&lt; std::endl
              &lt;&lt; <span class="stringliteral">&quot;Most likely, there is not enough data components, or a linefeed code or space code is missing at the end of the last line.&quot;</span> &lt;&lt; std::endl;
    exit(1);
  }
  
  s &gt;&gt; id;
  <span class="keywordflow">if</span>(!s.eof()){
    ERROR_REPORT;
    std::cerr &lt;&lt; <span class="stringliteral">&quot;There is something is wrong with the file \&quot;&quot;</span> &lt;&lt; filename &lt;&lt; <span class="stringliteral">&quot;\&quot;.&quot;</span> &lt;&lt; std::endl
              &lt;&lt; <span class="stringliteral">&quot;Most likely, there are extra data components.&quot;</span> &lt;&lt; std::endl;
    exit(1);
  }
  
  s.close();
}
</pre></div>
</div>
</div>
<a class="anchor" id="a677b0e1df7c504a915029ae1e652a6a8"></a><!-- doxytag: member="zhematrix::complete" ref="a677b0e1df7c504a915029ae1e652a6a8" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classzhematrix.html#a677b0e1df7c504a915029ae1e652a6a8">zhematrix::complete</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>complete the upper-right components </p>

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

<p>References <a class="el" href="zhematrix-calc_8hpp_source.html#l00031">conj</a>, <a class="el" href="zhematrix_8hpp_source.html#l00013">darray</a>, <a class="el" href="zhematrix-calc_8hpp_source.html#l00015">i</a>, <a class="el" href="dcovector__small-specialized_8hpp_source.html#l00094">imag()</a>, and <a class="el" href="zhematrix_8hpp_source.html#l00011">n</a>.</p>

<p>Referenced by <a class="el" href="__zhematrix-zhematrix_8hpp_source.html#l00047">operator*()</a>, and <a class="el" href="zhematrix-complex_8hpp_source.html#l00014">operator/()</a>.</p>
<div class="fragment"><pre class="fragment">{VERBOSE_REPORT;
  <span class="keywordflow">for</span>(<span class="keywordtype">long</span> <a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>=0; <a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>&lt;<a class="code" href="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" title="matrix column size">n</a>; <a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>++){
    <span class="keywordflow">for</span>(<span class="keywordtype">long</span> j=0; j&lt;<a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>; j++){
      <a class="code" href="classzhematrix.html#a1aae8b9ab0fe803d00df06dbd6d3315f" title="array of pointers of column head addresses">darray</a>[<a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>][j] =<a class="code" href="classzhematrix.html#ace551e966a20707ae0f611d8466f280f">std::conj</a>(<a class="code" href="classzhematrix.html#a1aae8b9ab0fe803d00df06dbd6d3315f" title="array of pointers of column head addresses">darray</a>[j][i]);
    }    
<span class="preprocessor">#ifdef  CPPL_DEBUG</span>
<span class="preprocessor"></span>    <span class="keywordflow">if</span>(std::fabs(<a class="code" href="dcovector__small-specialized_8hpp.html#a2eb38711e1c30cc070f53589d1905fea">std::imag</a>(<span class="keyword">operator</span>()(i,i))) &gt; DBL_MIN){
      WARNING_REPORT;
      std::cerr &lt;&lt; <span class="stringliteral">&quot;The &quot;</span> &lt;&lt; i &lt;&lt; <span class="stringliteral">&quot;th diagonal component of the zhematrix is not a real number.&quot;</span> &lt;&lt; std::endl;
    }
<span class="preprocessor">#endif//CPPL_DEBUG</span>
<span class="preprocessor"></span>  }
}
</pre></div>
</div>
</div>
<a class="anchor" id="af2505f3a355336af0f77bab366cabfcc"></a><!-- doxytag: member="zhematrix::clear" ref="af2505f3a355336af0f77bab366cabfcc" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classzhematrix.html#af2505f3a355336af0f77bab366cabfcc">zhematrix::clear</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>clear all the matrix data and set the sizes 0 </p>

<p>Definition at line <a class="el" href="zhematrix-misc_8hpp_source.html#l00020">20</a> of file <a class="el" href="zhematrix-misc_8hpp_source.html">zhematrix-misc.hpp</a>.</p>

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

<p>Definition at line <a class="el" href="zhematrix-misc_8hpp_source.html#l00031">31</a> of file <a class="el" href="zhematrix-misc_8hpp_source.html">zhematrix-misc.hpp</a>.</p>

<p>References <a class="el" href="zhematrix_8hpp_source.html#l00013">darray</a>, <a class="el" href="zhematrix-calc_8hpp_source.html#l00015">i</a>, and <a class="el" href="zhematrix_8hpp_source.html#l00011">n</a>.</p>

<p>Referenced by <a class="el" href="__zhsmatrix-cast_8hpp_source.html#l00018">_zhsmatrix::to_zhematrix()</a>, and <a class="el" href="zhsmatrix-cast_8hpp_source.html#l00017">zhsmatrix::to_zhematrix()</a>.</p>
<div class="fragment"><pre class="fragment">{VERBOSE_REPORT;
  <span class="keywordflow">for</span>(<span class="keywordtype">long</span> <a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>=0; <a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>&lt;<a class="code" href="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" title="matrix column size">n</a>; <a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>++){
    <span class="keywordflow">for</span>(<span class="keywordtype">long</span> j=0; j&lt;=<a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>; j++){
      <a class="code" href="classzhematrix.html#a1aae8b9ab0fe803d00df06dbd6d3315f" title="array of pointers of column head addresses">darray</a>[j][<a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>]=comple(0.0,0.0);
    }
  }
  <span class="keywordflow">return</span> *<span class="keyword">this</span>;
}
</pre></div>
</div>
</div>
<a class="anchor" id="a35005ca3ab1ea31fdd6bc948af35e77d"></a><!-- doxytag: member="zhematrix::identity" ref="a35005ca3ab1ea31fdd6bc948af35e77d" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classzhematrix.html">zhematrix</a> &amp; <a class="el" href="classzhematrix.html#a35005ca3ab1ea31fdd6bc948af35e77d">zhematrix::identity</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>change the matrix into an identity matrix </p>

<p>Definition at line <a class="el" href="zhematrix-misc_8hpp_source.html#l00043">43</a> of file <a class="el" href="zhematrix-misc_8hpp_source.html">zhematrix-misc.hpp</a>.</p>

<p>References <a class="el" href="zhematrix_8hpp_source.html#l00013">darray</a>, <a class="el" href="zhematrix-calc_8hpp_source.html#l00015">i</a>, and <a class="el" href="zhematrix_8hpp_source.html#l00011">n</a>.</p>
<div class="fragment"><pre class="fragment">{VERBOSE_REPORT;
  <span class="keywordflow">for</span>(<span class="keywordtype">long</span> <a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>=0; <a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>&lt;<a class="code" href="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" title="matrix column size">n</a>; <a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>++){
    <span class="keywordflow">for</span>(<span class="keywordtype">long</span> j=0; j&lt;<a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>; j++){
      <a class="code" href="classzhematrix.html#a1aae8b9ab0fe803d00df06dbd6d3315f" title="array of pointers of column head addresses">darray</a>[j][<a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>] =comple(0.0,0.0);
    }
    <a class="code" href="classzhematrix.html#a1aae8b9ab0fe803d00df06dbd6d3315f" title="array of pointers of column head addresses">darray</a>[<a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>][<a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>] =comple(1.0,0.0);
  }
  
  <span class="keywordflow">return</span> *<span class="keyword">this</span>;
}
</pre></div>
</div>
</div>
<a class="anchor" id="a5f289ccaf40f79698a583161dc8e5377"></a><!-- doxytag: member="zhematrix::chsign" ref="a5f289ccaf40f79698a583161dc8e5377" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classzhematrix.html#a5f289ccaf40f79698a583161dc8e5377">zhematrix::chsign</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>change sign(+/-) of the matrix </p>

<p>Definition at line <a class="el" href="zhematrix-misc_8hpp_source.html#l00057">57</a> of file <a class="el" href="zhematrix-misc_8hpp_source.html">zhematrix-misc.hpp</a>.</p>

<p>References <a class="el" href="zhematrix_8hpp_source.html#l00013">darray</a>, <a class="el" href="zhematrix-calc_8hpp_source.html#l00015">i</a>, and <a class="el" href="zhematrix_8hpp_source.html#l00011">n</a>.</p>
<div class="fragment"><pre class="fragment">{VERBOSE_REPORT;
  <span class="keywordflow">for</span>(<span class="keywordtype">long</span> <a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>=0; <a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>&lt;<a class="code" href="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" title="matrix column size">n</a>; <a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>++){
    <span class="keywordflow">for</span>(<span class="keywordtype">long</span> j=0; j&lt;=<a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>; j++){
      <a class="code" href="classzhematrix.html#a1aae8b9ab0fe803d00df06dbd6d3315f" title="array of pointers of column head addresses">darray</a>[j][<a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>] =-<a class="code" href="classzhematrix.html#a1aae8b9ab0fe803d00df06dbd6d3315f" title="array of pointers of column head addresses">darray</a>[j][<a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>];
    }
  }
}
</pre></div>
</div>
</div>
<a class="anchor" id="a57c154acaba93614d881e7ac5cd36f32"></a><!-- doxytag: member="zhematrix::copy" ref="a57c154acaba93614d881e7ac5cd36f32" args="(const zhematrix &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classzhematrix.html#a57c154acaba93614d881e7ac5cd36f32">zhematrix::copy</a> </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classzhematrix.html">zhematrix</a> &amp;&#160;</td>
          <td class="paramname"><em>mat</em></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>make a deep copy of the matrix </p>

<p>Definition at line <a class="el" href="zhematrix-misc_8hpp_source.html#l00068">68</a> of file <a class="el" href="zhematrix-misc_8hpp_source.html">zhematrix-misc.hpp</a>.</p>

<p>References <a class="el" href="zhematrix_8hpp_source.html#l00012">array</a>, <a class="el" href="zhematrix_8hpp_source.html#l00013">darray</a>, <a class="el" href="zhematrix-calc_8hpp_source.html#l00015">i</a>, and <a class="el" href="zhematrix_8hpp_source.html#l00011">n</a>.</p>

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

<p>Definition at line <a class="el" href="zhematrix-misc_8hpp_source.html#l00083">83</a> of file <a class="el" href="zhematrix-misc_8hpp_source.html">zhematrix-misc.hpp</a>.</p>

<p>References <a class="el" href="__zhematrix_8hpp_source.html#l00011">_zhematrix::array</a>, <a class="el" href="zhematrix_8hpp_source.html#l00012">array</a>, <a class="el" href="__zhematrix_8hpp_source.html#l00012">_zhematrix::darray</a>, <a class="el" href="zhematrix_8hpp_source.html#l00013">darray</a>, <a class="el" href="__zhematrix_8hpp_source.html#l00010">_zhematrix::n</a>, <a class="el" href="zhematrix_8hpp_source.html#l00011">n</a>, and <a class="el" href="__zhematrix-misc_8hpp_source.html#l00003">_zhematrix::nullify()</a>.</p>

<p>Referenced by <a class="el" href="zhematrix-__zhematrix_8hpp_source.html#l00003">operator=()</a>.</p>
<div class="fragment"><pre class="fragment">{VERBOSE_REPORT;
  <a class="code" href="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" title="matrix column size">n</a> =mat.<a class="code" href="class__zhematrix.html#a3cd8e436cf59991845c6b8e66d56c023" title="matrix column size">n</a>;
  <span class="keyword">delete</span> [] <a class="code" href="classzhematrix.html#a9f868de87a273d9f02ff31700fd2e068" title="1D array to store matrix data">array</a>;
  <a class="code" href="classzhematrix.html#a9f868de87a273d9f02ff31700fd2e068" title="1D array to store matrix data">array</a> =mat.<a class="code" href="class__zhematrix.html#a7d20e0d43e98b9c706126d92b8683e82" title="1D array to store matrix data">array</a>;
  <span class="keyword">delete</span> [] <a class="code" href="classzhematrix.html#a1aae8b9ab0fe803d00df06dbd6d3315f" title="array of pointers of column head addresses">darray</a>;
  <a class="code" href="classzhematrix.html#a1aae8b9ab0fe803d00df06dbd6d3315f" title="array of pointers of column head addresses">darray</a> =mat.<a class="code" href="class__zhematrix.html#a3ad63a338d36c3752de106ca134a1a38" title="array of pointers of column head addresses">darray</a>;
  
  mat.<a class="code" href="class__zhematrix.html#a067b4ee2f04c7c63ea5ac392193f46f1">nullify</a>();
}
</pre></div>
</div>
</div>
<a class="anchor" id="acb4ee5c4a3a0bc9246671543ee3f158c"></a><!-- doxytag: member="zhematrix::resize" ref="acb4ee5c4a3a0bc9246671543ee3f158c" args="(const long &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classzhematrix.html#acb4ee5c4a3a0bc9246671543ee3f158c">zhematrix::resize</a> </td>
          <td>(</td>
          <td class="paramtype">const long &amp;&#160;</td>
          <td class="paramname"><em>_n</em></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>resize the matrix </p>

<p>Definition at line <a class="el" href="zhematrix-misc_8hpp_source.html#l00096">96</a> of file <a class="el" href="zhematrix-misc_8hpp_source.html">zhematrix-misc.hpp</a>.</p>

<p>References <a class="el" href="zhematrix_8hpp_source.html#l00012">array</a>, <a class="el" href="zhematrix_8hpp_source.html#l00013">darray</a>, <a class="el" href="zhematrix-calc_8hpp_source.html#l00015">i</a>, and <a class="el" href="zhematrix_8hpp_source.html#l00011">n</a>.</p>

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

<p>Definition at line <a class="el" href="zhematrix-misc_8hpp_source.html#l00121">121</a> of file <a class="el" href="zhematrix-misc_8hpp_source.html">zhematrix-misc.hpp</a>.</p>

<p>References <a class="el" href="zhematrix-misc_8hpp_source.html#l00173">_</a>, <a class="el" href="zhematrix_8hpp_source.html#l00010">m</a>, and <a class="el" href="zhematrix_8hpp_source.html#l00011">n</a>.</p>
<div class="fragment"><pre class="fragment">{VERBOSE_REPORT;
<span class="preprocessor">#ifdef  CPPL_DEBUG</span>
<span class="preprocessor"></span>  <span class="keywordflow">if</span>( _m&lt;0 || _m&gt;<a class="code" href="classzhematrix.html#aa1a249b90a12e0572c7070cf1948f93d" title="matrix row size">m</a> ){
    ERROR_REPORT;
    std::cerr &lt;&lt; <span class="stringliteral">&quot;Input row number must be between 0 and &quot;</span> &lt;&lt; m &lt;&lt; <span class="stringliteral">&quot;.&quot;</span> &lt;&lt; std::endl
              &lt;&lt; <span class="stringliteral">&quot;Your input was &quot;</span> &lt;&lt; _m &lt;&lt; <span class="stringliteral">&quot;.&quot;</span> &lt;&lt; std::endl;
    exit(1);
  }
<span class="preprocessor">#endif//CPPL_DEBUG</span>
<span class="preprocessor"></span>  
  <a class="code" href="classzrovector.html" title="Complex Double-precision Row Vector Class.">zrovector</a> v(<a class="code" href="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" title="matrix column size">n</a>);
  <span class="keywordflow">for</span>(<span class="keywordtype">long</span> j=0; j&lt;<a class="code" href="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" title="matrix column size">n</a>; j++){ v(j)=(*this)(_m,j); }
  <span class="keywordflow">return</span> <a class="code" href="classzhematrix.html#a528c8dd57c865bc962bec4e1bca233c1">_</a>(v);
}
</pre></div>
</div>
</div>
<a class="anchor" id="a4c572c7adca3c1d4e0e6116576be44cf"></a><!-- doxytag: member="zhematrix::col" ref="a4c572c7adca3c1d4e0e6116576be44cf" args="(const long &amp;) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class__zcovector.html">_zcovector</a> <a class="el" href="classzhematrix.html#a4c572c7adca3c1d4e0e6116576be44cf">zhematrix::col</a> </td>
          <td>(</td>
          <td class="paramtype">const long &amp;&#160;</td>
          <td class="paramname"><em>_n</em></td><td>)</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>get column of the matrix </p>

<p>Definition at line <a class="el" href="zhematrix-misc_8hpp_source.html#l00139">139</a> of file <a class="el" href="zhematrix-misc_8hpp_source.html">zhematrix-misc.hpp</a>.</p>

<p>References <a class="el" href="zhematrix-misc_8hpp_source.html#l00173">_</a>, <a class="el" href="zhematrix-calc_8hpp_source.html#l00015">i</a>, <a class="el" href="zhematrix_8hpp_source.html#l00010">m</a>, and <a class="el" href="zhematrix_8hpp_source.html#l00011">n</a>.</p>
<div class="fragment"><pre class="fragment">{VERBOSE_REPORT;
<span class="preprocessor">#ifdef  CPPL_DEBUG</span>
<span class="preprocessor"></span>  <span class="keywordflow">if</span>( _n&lt;0 || _n&gt;<a class="code" href="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" title="matrix column size">n</a> ){
    ERROR_REPORT;
    std::cerr &lt;&lt; <span class="stringliteral">&quot;Input row number must be between 0 and &quot;</span> &lt;&lt; n &lt;&lt; <span class="stringliteral">&quot;.&quot;</span> &lt;&lt; std::endl
              &lt;&lt; <span class="stringliteral">&quot;Your input was &quot;</span> &lt;&lt; _n &lt;&lt; <span class="stringliteral">&quot;.&quot;</span> &lt;&lt; std::endl;
    exit(1);
  }
<span class="preprocessor">#endif//CPPL_DEBUG</span>
<span class="preprocessor"></span>  
  <a class="code" href="classzcovector.html" title="Complex Double-precision Column Vector Class.">zcovector</a> v(<a class="code" href="classzhematrix.html#aa1a249b90a12e0572c7070cf1948f93d" title="matrix row size">m</a>);
  <span class="keywordflow">for</span>(<span class="keywordtype">long</span> <a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>=0; <a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>&lt;<a class="code" href="classzhematrix.html#aa1a249b90a12e0572c7070cf1948f93d" title="matrix row size">m</a>; <a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>++){ v(<a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>)=(*this)(<a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>,_n); }
  <span class="keywordflow">return</span> <a class="code" href="classzhematrix.html#a528c8dd57c865bc962bec4e1bca233c1">_</a>(v);
}
</pre></div>
</div>
</div>
<a class="anchor" id="a96f4a565aa37e04d2ca630663f556d63"></a><!-- doxytag: member="zhematrix::zhesv" ref="a96f4a565aa37e04d2ca630663f556d63" args="(zgematrix &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">long <a class="el" href="classzhematrix.html#a96f4a565aa37e04d2ca630663f556d63">zhematrix::zhesv</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classzgematrix.html">zgematrix</a> &amp;&#160;</td>
          <td class="paramname"><em>mat</em></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>solve A*X=Y using zhesv<br/>
 The argument is dmatrix Y. Y is overwritten and become the solution X. A is also overwritten. </p>

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

<p>References <a class="el" href="zgematrix_8hpp_source.html#l00011">zgematrix::array</a>, <a class="el" href="zhematrix_8hpp_source.html#l00012">array</a>, <a class="el" href="zgematrix_8hpp_source.html#l00010">zgematrix::n</a>, and <a class="el" href="zhematrix_8hpp_source.html#l00011">n</a>.</p>

<p>Referenced by <a class="el" href="__zhematrix-calc_8hpp_source.html#l00015">i()</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="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" title="matrix column size">n</a>!=mat.<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 matrices cannot be solved.&quot;</span> &lt;&lt; std::endl
              &lt;&lt; <span class="stringliteral">&quot;Your input was (&quot;</span> &lt;&lt; <a class="code" href="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" title="matrix column size">n</a> &lt;&lt; <span class="stringliteral">&quot;x&quot;</span> &lt;&lt; <a class="code" href="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" title="matrix column size">n</a> &lt;&lt; <span class="stringliteral">&quot;) and (&quot;</span> &lt;&lt; mat.<a class="code" href="classzgematrix.html#aa2cfc802c95c61389455c6a8ff266d9a" title="matrix column size">n</a> &lt;&lt; <span class="stringliteral">&quot;x&quot;</span> &lt;&lt; mat.<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>  
  <span class="keywordtype">char</span> UPLO(<span class="charliteral">&#39;l&#39;</span>);
  <span class="keywordtype">long</span> NRHS(mat.<a class="code" href="classzgematrix.html#aa2cfc802c95c61389455c6a8ff266d9a" title="matrix column size">n</a>), LDA(<a class="code" href="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" title="matrix column size">n</a>), *IPIV(<span class="keyword">new</span> <span class="keywordtype">long</span>[<a class="code" href="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" title="matrix column size">n</a>]), LDB(mat.<a class="code" href="classzgematrix.html#aa2cfc802c95c61389455c6a8ff266d9a" title="matrix column size">n</a>), LWORK(-1), INFO(1);
  comple *WORK(<span class="keyword">new</span> comple[1]);
  zhesv_(UPLO, <a class="code" href="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" title="matrix column size">n</a>, NRHS, <a class="code" href="classzhematrix.html#a9f868de87a273d9f02ff31700fd2e068" title="1D array to store matrix data">array</a>, LDA, IPIV, mat.<a class="code" href="classzgematrix.html#aaa50b409ff4060aa10ad3c0f9dcd45ef" title="1D array to store matrix data">array</a>, LDB, WORK, LWORK, INFO);
  
  INFO=1;
  LWORK = long(std::real(WORK[0]));
  <span class="keyword">delete</span> [] WORK;  WORK =<span class="keyword">new</span> comple[LWORK];
  zhesv_(UPLO, <a class="code" href="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" title="matrix column size">n</a>, NRHS, <a class="code" href="classzhematrix.html#a9f868de87a273d9f02ff31700fd2e068" title="1D array to store matrix data">array</a>, LDA, IPIV, mat.<a class="code" href="classzgematrix.html#aaa50b409ff4060aa10ad3c0f9dcd45ef" title="1D array to store matrix data">array</a>, LDB, WORK, LWORK, INFO);
  <span class="keyword">delete</span> [] WORK; <span class="keyword">delete</span> [] IPIV;
  
  <span class="keywordflow">if</span>(INFO!=0){
    WARNING_REPORT;
    std::cerr &lt;&lt; <span class="stringliteral">&quot;Serious trouble happend. INFO = &quot;</span> &lt;&lt; INFO &lt;&lt; <span class="stringliteral">&quot;.&quot;</span> &lt;&lt; std::endl;
  }
  <span class="keywordflow">return</span> INFO;
}
</pre></div>
</div>
</div>
<a class="anchor" id="a81fb6916c997e91abfd8ff6a7859ff81"></a><!-- doxytag: member="zhematrix::zhesv" ref="a81fb6916c997e91abfd8ff6a7859ff81" args="(zcovector &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">long <a class="el" href="classzhematrix.html#a96f4a565aa37e04d2ca630663f556d63">zhematrix::zhesv</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classzcovector.html">zcovector</a> &amp;&#160;</td>
          <td class="paramname"><em>vec</em></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>solve A*x=y using zhesv<br/>
 The argument is zcovector y. y is overwritten and become the solution x. A is also overwritten. </p>

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

<p>References <a class="el" href="zcovector_8hpp_source.html#l00010">zcovector::array</a>, <a class="el" href="zhematrix_8hpp_source.html#l00012">array</a>, <a class="el" href="zcovector_8hpp_source.html#l00009">zcovector::l</a>, and <a class="el" href="zhematrix_8hpp_source.html#l00011">n</a>.</p>
<div class="fragment"><pre class="fragment">{VERBOSE_REPORT;
<span class="preprocessor">#ifdef  CPPL_DEBUG</span>
<span class="preprocessor"></span>  <span class="keywordflow">if</span>(<a class="code" href="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" 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 cannot be solved.&quot;</span> &lt;&lt; std::endl
              &lt;&lt; <span class="stringliteral">&quot;Your input was (&quot;</span> &lt;&lt; <a class="code" href="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" title="matrix column size">n</a> &lt;&lt; <span class="stringliteral">&quot;x&quot;</span> &lt;&lt; <a class="code" href="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" title="matrix column size">n</a> &lt;&lt; <span class="stringliteral">&quot;) and (&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>  
  <span class="keywordtype">char</span> UPLO(<span class="charliteral">&#39;l&#39;</span>);
  <span class="keywordtype">long</span> NRHS(1), LDA(<a class="code" href="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" title="matrix column size">n</a>), *IPIV(<span class="keyword">new</span> <span class="keywordtype">long</span>[<a class="code" href="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" title="matrix column size">n</a>]), LDB(vec.<a class="code" href="classzcovector.html#a25de1e5eff40a9fdae41255b5b4ab6d1" title="vector size">l</a>), LWORK(-1), INFO(1);
  comple *WORK( <span class="keyword">new</span> comple[1] );
  zhesv_(UPLO, <a class="code" href="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" title="matrix column size">n</a>, NRHS, <a class="code" href="classzhematrix.html#a9f868de87a273d9f02ff31700fd2e068" title="1D array to store matrix data">array</a>, LDA, IPIV, vec.<a class="code" href="classzcovector.html#a7c812242cb084ba940fb61755a3c8cf7" title="1D array to store vector data">array</a>, LDB, WORK, LWORK, INFO);
  
  INFO=1;
  LWORK = long(std::real(WORK[0]));
  <span class="keyword">delete</span> [] WORK;  WORK = <span class="keyword">new</span> comple[LWORK];
  zhesv_(UPLO, <a class="code" href="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" title="matrix column size">n</a>, NRHS, <a class="code" href="classzhematrix.html#a9f868de87a273d9f02ff31700fd2e068" title="1D array to store matrix data">array</a>, LDA, IPIV, vec.<a class="code" href="classzcovector.html#a7c812242cb084ba940fb61755a3c8cf7" title="1D array to store vector data">array</a>, LDB, WORK, LWORK, INFO);
  <span class="keyword">delete</span> [] WORK;  <span class="keyword">delete</span> [] IPIV;
  
  <span class="keywordflow">if</span>(INFO!=0){
    WARNING_REPORT;
    std::cerr &lt;&lt; <span class="stringliteral">&quot;Serious trouble happend. INFO = &quot;</span> &lt;&lt; INFO &lt;&lt; <span class="stringliteral">&quot;.&quot;</span> &lt;&lt; std::endl;
  }
  <span class="keywordflow">return</span> INFO;
}
</pre></div>
</div>
</div>
<a class="anchor" id="a844ba3d4066a08710d8cf636bd34fc05"></a><!-- doxytag: member="zhematrix::zheev" ref="a844ba3d4066a08710d8cf636bd34fc05" args="(std::vector&lt; double &gt; &amp;, const bool &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">long <a class="el" href="classzhematrix.html#a844ba3d4066a08710d8cf636bd34fc05">zhematrix::zheev</a> </td>
          <td>(</td>
          <td class="paramtype">std::vector&lt; double &gt; &amp;&#160;</td>
          <td class="paramname"><em>w</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const bool &amp;&#160;</td>
          <td class="paramname"><em>jobz</em> = <code>0</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>calculate eigenvalues and eigenvectors.<br/>
 All of the arguments need not to be initialized. w is overwitten and become eigenvalues. This matrix is also overwritten. if jobz=1, this matrix becomes eigenvectors. </p>

<p>Definition at line <a class="el" href="zhematrix-lapack_8hpp_source.html#l00080">80</a> of file <a class="el" href="zhematrix-lapack_8hpp_source.html">zhematrix-lapack.hpp</a>.</p>

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

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

<p>References <a class="el" href="zhematrix_8hpp_source.html#l00012">array</a>, <a class="el" href="zhematrix-calc_8hpp_source.html#l00015">i</a>, and <a class="el" href="zhematrix_8hpp_source.html#l00011">n</a>.</p>
<div class="fragment"><pre class="fragment">{VERBOSE_REPORT;
  w.resize(<a class="code" href="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" title="matrix column size">n</a>);  v.resize(<a class="code" href="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" title="matrix column size">n</a>);
  <span class="keywordflow">for</span>(<span class="keywordtype">long</span> <a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>=0; <a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>&lt;<a class="code" href="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" title="matrix column size">n</a>; <a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>++){ v[<a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>].resize(n); }
  <span class="keywordtype">char</span> JOBZ(<span class="charliteral">&#39;V&#39;</span>), UPLO(<span class="charliteral">&#39;l&#39;</span>);
  <span class="keywordtype">long</span> LDA(n), INFO(1), LWORK(-1);
  <span class="keywordtype">double</span> *RWORK(<span class="keyword">new</span> <span class="keywordtype">double</span>[std::max(<span class="keywordtype">long</span>(1), 3*n-2)]);
  comple *WORK(<span class="keyword">new</span> comple[1]);
  zheev_(JOBZ, UPLO, n, <a class="code" href="classzhematrix.html#a9f868de87a273d9f02ff31700fd2e068" title="1D array to store matrix data">array</a>, LDA, &amp;w[0], WORK, LWORK, RWORK, INFO);
  
  INFO=1;
  LWORK = long(std::real(WORK[0]));
  <span class="keyword">delete</span> [] WORK;  WORK = <span class="keyword">new</span> comple[LWORK];
  zheev_(JOBZ, UPLO, n, <a class="code" href="classzhematrix.html#a9f868de87a273d9f02ff31700fd2e068" title="1D array to store matrix data">array</a>, LDA, &amp;w[0], WORK, LWORK, RWORK, INFO);
  <span class="keyword">delete</span> [] RWORK;  <span class="keyword">delete</span> [] WORK;
  <span class="comment"></span>
<span class="comment">  //// forming ////</span>
<span class="comment"></span>  <span class="keywordflow">for</span>(<span class="keywordtype">long</span> <a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>=0; <a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>&lt;<a class="code" href="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" title="matrix column size">n</a>; <a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>++){ <span class="keywordflow">for</span>(<span class="keywordtype">long</span> j=0; j&lt;<a class="code" href="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" title="matrix column size">n</a>; j++){
    v[j](<a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>) = <a class="code" href="classzhematrix.html#a9f868de87a273d9f02ff31700fd2e068" title="1D array to store matrix data">array</a>[<a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>+n*j];
  }}
  
  <span class="keywordflow">if</span>(INFO!=0){
    WARNING_REPORT;
    std::cerr &lt;&lt; <span class="stringliteral">&quot;Serious trouble happend. INFO = &quot;</span> &lt;&lt; INFO &lt;&lt; <span class="stringliteral">&quot;.&quot;</span> &lt;&lt; std::endl;
  }
  <span class="keywordflow">return</span> INFO;
}
</pre></div>
</div>
</div>
<a class="anchor" id="aa3482054a1bb8cea64e4c3d53cf03b22"></a><!-- doxytag: member="zhematrix::zheev" ref="aa3482054a1bb8cea64e4c3d53cf03b22" args="(std::vector&lt; double &gt; &amp;, std::vector&lt; zrovector &gt; &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">long <a class="el" href="classzhematrix.html#a844ba3d4066a08710d8cf636bd34fc05">zhematrix::zheev</a> </td>
          <td>(</td>
          <td class="paramtype">std::vector&lt; double &gt; &amp;&#160;</td>
          <td class="paramname"><em>w</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">std::vector&lt; <a class="el" href="classzrovector.html">zrovector</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>v</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>calculate eigenvalues and eigenvectors.<br/>
 All of the arguments need not to be initialized. w and v are overwitten and become eigenvalues and eigenvectors, respectively. This matrix is also overwritten. </p>

<p>Definition at line <a class="el" href="zhematrix-lapack_8hpp_source.html#l00147">147</a> of file <a class="el" href="zhematrix-lapack_8hpp_source.html">zhematrix-lapack.hpp</a>.</p>

<p>References <a class="el" href="zhematrix_8hpp_source.html#l00012">array</a>, <a class="el" href="zhematrix-calc_8hpp_source.html#l00015">i</a>, and <a class="el" href="zhematrix_8hpp_source.html#l00011">n</a>.</p>
<div class="fragment"><pre class="fragment">{VERBOSE_REPORT;
  w.resize(<a class="code" href="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" title="matrix column size">n</a>);  v.resize(<a class="code" href="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" title="matrix column size">n</a>);
  <span class="keywordflow">for</span>(<span class="keywordtype">long</span> <a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>=0; <a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>&lt;<a class="code" href="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" title="matrix column size">n</a>; <a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>++){ v[<a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>].resize(n); }
  <span class="keywordtype">char</span> JOBZ(<span class="charliteral">&#39;V&#39;</span>), UPLO(<span class="charliteral">&#39;l&#39;</span>);
  <span class="keywordtype">long</span> LDA(n), INFO(1), LWORK(-1);
  <span class="keywordtype">double</span> *RWORK(<span class="keyword">new</span> <span class="keywordtype">double</span>[std::max(<span class="keywordtype">long</span>(1), 3*n-2)]);
  comple *WORK(<span class="keyword">new</span> comple[1]);
  zheev_(JOBZ, UPLO, n, <a class="code" href="classzhematrix.html#a9f868de87a273d9f02ff31700fd2e068" title="1D array to store matrix data">array</a>, LDA, &amp;w[0], WORK, LWORK, RWORK, INFO);
  
  INFO=1;
  LWORK = long(std::real(WORK[0]));
  <span class="keyword">delete</span> [] WORK;  WORK = <span class="keyword">new</span> comple[LWORK];
  zheev_(JOBZ, UPLO, n, <a class="code" href="classzhematrix.html#a9f868de87a273d9f02ff31700fd2e068" title="1D array to store matrix data">array</a>, LDA, &amp;w[0], WORK, LWORK, RWORK, INFO);
  <span class="keyword">delete</span> [] RWORK;  <span class="keyword">delete</span> [] WORK;
  <span class="comment"></span>
<span class="comment">  //// forming ////</span>
<span class="comment"></span>  <span class="keywordflow">for</span>(<span class="keywordtype">long</span> <a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>=0; <a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>&lt;<a class="code" href="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" title="matrix column size">n</a>; <a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>++){ <span class="keywordflow">for</span>(<span class="keywordtype">long</span> j=0; j&lt;<a class="code" href="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" title="matrix column size">n</a>; j++){
    v[j](<a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>) = <a class="code" href="classzhematrix.html#a9f868de87a273d9f02ff31700fd2e068" title="1D array to store matrix data">array</a>[<a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>+n*j];
  }}
  
  <span class="keywordflow">if</span>(INFO!=0){
    WARNING_REPORT;
    std::cerr &lt;&lt; <span class="stringliteral">&quot;Serious trouble happend. INFO = &quot;</span> &lt;&lt; INFO &lt;&lt; <span class="stringliteral">&quot;.&quot;</span> &lt;&lt; std::endl;
  }
  <span class="keywordflow">return</span> INFO;
}
</pre></div>
</div>
</div>
<a class="anchor" id="a42890ad07816e37df23338940a8986d6"></a><!-- doxytag: member="zhematrix::operator=" ref="a42890ad07816e37df23338940a8986d6" args="(const zhematrix &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classzhematrix.html">zhematrix</a> &amp; zhematrix::operator= </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classzhematrix.html">zhematrix</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>zhematrix=zhematrix operator </p>

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

<p>References <a class="el" href="zhematrix_8hpp_source.html#l00012">array</a>, and <a class="el" href="zhematrix-misc_8hpp_source.html#l00068">copy()</a>.</p>
<div class="fragment"><pre class="fragment">{VERBOSE_REPORT;
  <span class="keywordflow">if</span>(<a class="code" href="classzhematrix.html#a9f868de87a273d9f02ff31700fd2e068" title="1D array to store matrix data">array</a>!=mat.<a class="code" href="classzhematrix.html#a9f868de87a273d9f02ff31700fd2e068" title="1D array to store matrix data">array</a>){ <span class="comment">// if it is NOT self substitution</span>
    <a class="code" href="classzhematrix.html#a57c154acaba93614d881e7ac5cd36f32">copy</a>(mat);
  }
  <span class="keywordflow">return</span> *<span class="keyword">this</span>;
}
</pre></div>
</div>
</div>
<a class="anchor" id="a5375857bddaa6226a248363036284c48"></a><!-- doxytag: member="zhematrix::operator=" ref="a5375857bddaa6226a248363036284c48" args="(const _zhematrix &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classzhematrix.html">zhematrix</a> &amp; zhematrix::operator= </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="class__zhematrix.html">_zhematrix</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>zhematrix=<a class="el" href="class__zhematrix.html" title="(DO NOT USE) Smart-temporary Complex Double-precision Hermitian Matrix Class">_zhematrix</a> operator </p>

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

<p>References <a class="el" href="zhematrix-misc_8hpp_source.html#l00083">shallow_copy()</a>.</p>
<div class="fragment"><pre class="fragment">{VERBOSE_REPORT;
  <a class="code" href="classzhematrix.html#a3d551950f1ed5c71db3ca841545c59f3">shallow_copy</a>(mat);
  <span class="keywordflow">return</span> *<span class="keyword">this</span>;
}
</pre></div>
</div>
</div>
<a class="anchor" id="adae9308e44a5101be5a93a57a8fd27cf"></a><!-- doxytag: member="zhematrix::operator+=" ref="adae9308e44a5101be5a93a57a8fd27cf" args="(const zhematrix &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classzhematrix.html">zhematrix</a> &amp; zhematrix::operator+= </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classzhematrix.html">zhematrix</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>zhematrix+=zhematrix operator </p>

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

<p>References <a class="el" href="zhematrix-calc_8hpp_source.html#l00015">i</a>, <a class="el" href="zhematrix_8hpp_source.html#l00011">n</a>, and <a class="el" href="zhematrix-io_8hpp_source.html#l00003">operator()()</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="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" title="matrix column size">n</a>!=mat.<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; <a class="code" href="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" title="matrix column size">n</a> &lt;&lt; <span class="stringliteral">&quot;x&quot;</span> &lt;&lt; <a class="code" href="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" title="matrix column size">n</a> &lt;&lt; <span class="stringliteral">&quot;) += (&quot;</span> &lt;&lt; mat.<a class="code" href="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" title="matrix column size">n</a> &lt;&lt; <span class="stringliteral">&quot;x&quot;</span> &lt;&lt; mat.<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="keywordflow">for</span>(<span class="keywordtype">long</span> <a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>=0; <a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>&lt;<a class="code" href="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" title="matrix column size">n</a>; <a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>++){ <span class="keywordflow">for</span>(<span class="keywordtype">long</span> j=0; j&lt;=<a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>; j++){
    <a class="code" href="classzhematrix.html#a51719e22bd9df5b6b97e960a35b94b49">operator()</a>(<a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>,j) +=mat(<a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>,j);
  }}
  
  <span class="keywordflow">return</span> *<span class="keyword">this</span>;
}
</pre></div>
</div>
</div>
<a class="anchor" id="a8af2c70768bc4c67bb04062ea9343dfb"></a><!-- doxytag: member="zhematrix::operator+=" ref="a8af2c70768bc4c67bb04062ea9343dfb" args="(const _zhematrix &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classzhematrix.html">zhematrix</a> &amp; zhematrix::operator+= </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="class__zhematrix.html">_zhematrix</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>zhematrix+=<a class="el" href="class__zhematrix.html" title="(DO NOT USE) Smart-temporary Complex Double-precision Hermitian Matrix Class">_zhematrix</a> operator </p>

<p>Definition at line <a class="el" href="zhematrix-__zhematrix_8hpp_source.html#l00015">15</a> of file <a class="el" href="zhematrix-__zhematrix_8hpp_source.html">zhematrix-_zhematrix.hpp</a>.</p>

<p>References <a class="el" href="__zhematrix_8hpp_source.html#l00011">_zhematrix::array</a>, <a class="el" href="zhematrix_8hpp_source.html#l00012">array</a>, <a class="el" href="__zhematrix-misc_8hpp_source.html#l00012">_zhematrix::destroy()</a>, <a class="el" href="zhematrix-calc_8hpp_source.html#l00015">i</a>, <a class="el" href="__zhematrix_8hpp_source.html#l00010">_zhematrix::n</a>, and <a class="el" href="zhematrix_8hpp_source.html#l00011">n</a>.</p>
<div class="fragment"><pre class="fragment">{VERBOSE_REPORT;
<span class="preprocessor">#ifdef  CPPL_DEBUG</span>
<span class="preprocessor"></span>  <span class="keywordflow">if</span>(<a class="code" href="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" title="matrix column size">n</a>!=mat.<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; <a class="code" href="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" title="matrix column size">n</a> &lt;&lt; <span class="stringliteral">&quot;x&quot;</span> &lt;&lt; <a class="code" href="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" title="matrix column size">n</a> &lt;&lt; <span class="stringliteral">&quot;) += (&quot;</span> &lt;&lt; mat.<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; mat.<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="keywordflow">for</span>(<span class="keywordtype">long</span> <a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>=0; <a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>&lt;<a class="code" href="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" title="matrix column size">n</a>; <a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>++){ <span class="keywordflow">for</span>(<span class="keywordtype">long</span> j=0; j&lt;=<a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>; j++){
    <a class="code" href="classzhematrix.html#a9f868de87a273d9f02ff31700fd2e068" title="1D array to store matrix data">array</a>[<a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>+n*j]+=mat.<a class="code" href="class__zhematrix.html#a7d20e0d43e98b9c706126d92b8683e82" title="1D array to store matrix data">array</a>[<a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>+n*j];
  }}
  
  mat.<a class="code" href="class__zhematrix.html#a2acc6b7bde22ce109468a72d8d40abcc">destroy</a>();
  <span class="keywordflow">return</span> *<span class="keyword">this</span>;
}
</pre></div>
</div>
</div>
<a class="anchor" id="a8baceddd841a991d46e9032c7a932993"></a><!-- doxytag: member="zhematrix::operator&#45;=" ref="a8baceddd841a991d46e9032c7a932993" args="(const zhematrix &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classzhematrix.html">zhematrix</a> &amp; zhematrix::operator-= </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classzhematrix.html">zhematrix</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>zhematrix operator-= </p>

<p>Definition at line <a class="el" href="zhematrix-zhematrix_8hpp_source.html#l00037">37</a> of file <a class="el" href="zhematrix-zhematrix_8hpp_source.html">zhematrix-zhematrix.hpp</a>.</p>

<p>References <a class="el" href="zhematrix-calc_8hpp_source.html#l00015">i</a>, <a class="el" href="zhematrix_8hpp_source.html#l00011">n</a>, and <a class="el" href="zhematrix-io_8hpp_source.html#l00003">operator()()</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="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" title="matrix column size">n</a>!=mat.<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 sutraction.&quot;</span> &lt;&lt; std::endl
              &lt;&lt; <span class="stringliteral">&quot;Your input was (&quot;</span> &lt;&lt; <a class="code" href="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" title="matrix column size">n</a> &lt;&lt; <span class="stringliteral">&quot;x&quot;</span> &lt;&lt; <a class="code" href="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" title="matrix column size">n</a> &lt;&lt; <span class="stringliteral">&quot;) -= (&quot;</span> &lt;&lt; mat.<a class="code" href="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" title="matrix column size">n</a> &lt;&lt; <span class="stringliteral">&quot;x&quot;</span> &lt;&lt; mat.<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="keywordflow">for</span>(<span class="keywordtype">long</span> <a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>=0; <a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>&lt;<a class="code" href="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" title="matrix column size">n</a>; <a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>++){ <span class="keywordflow">for</span>(<span class="keywordtype">long</span> j=0; j&lt;=<a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>; j++){
    <a class="code" href="classzhematrix.html#a51719e22bd9df5b6b97e960a35b94b49">operator()</a>(<a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>,j) -=mat(<a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>,j);
  }}
  
  <span class="keywordflow">return</span> *<span class="keyword">this</span>;
}
</pre></div>
</div>
</div>
<a class="anchor" id="a5e9150a48639bf813f347c48379e010b"></a><!-- doxytag: member="zhematrix::operator&#45;=" ref="a5e9150a48639bf813f347c48379e010b" args="(const _zhematrix &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classzhematrix.html">zhematrix</a> &amp; zhematrix::operator-= </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="class__zhematrix.html">_zhematrix</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>zhematrix-=<a class="el" href="class__zhematrix.html" title="(DO NOT USE) Smart-temporary Complex Double-precision Hermitian Matrix Class">_zhematrix</a> operator </p>

<p>Definition at line <a class="el" href="zhematrix-__zhematrix_8hpp_source.html#l00036">36</a> of file <a class="el" href="zhematrix-__zhematrix_8hpp_source.html">zhematrix-_zhematrix.hpp</a>.</p>

<p>References <a class="el" href="__zhematrix_8hpp_source.html#l00011">_zhematrix::array</a>, <a class="el" href="zhematrix_8hpp_source.html#l00012">array</a>, <a class="el" href="__zhematrix-misc_8hpp_source.html#l00012">_zhematrix::destroy()</a>, <a class="el" href="zhematrix-calc_8hpp_source.html#l00015">i</a>, <a class="el" href="__zhematrix_8hpp_source.html#l00010">_zhematrix::n</a>, and <a class="el" href="zhematrix_8hpp_source.html#l00011">n</a>.</p>
<div class="fragment"><pre class="fragment">{VERBOSE_REPORT;
<span class="preprocessor">#ifdef  CPPL_DEBUG</span>
<span class="preprocessor"></span>  <span class="keywordflow">if</span>(<a class="code" href="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" title="matrix column size">n</a>!=mat.<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 sutraction.&quot;</span> &lt;&lt; std::endl
              &lt;&lt; <span class="stringliteral">&quot;Your input was (&quot;</span> &lt;&lt; <a class="code" href="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" title="matrix column size">n</a> &lt;&lt; <span class="stringliteral">&quot;x&quot;</span> &lt;&lt; <a class="code" href="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" title="matrix column size">n</a> &lt;&lt; <span class="stringliteral">&quot;) -= (&quot;</span> &lt;&lt; mat.<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; mat.<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="keywordflow">for</span>(<span class="keywordtype">long</span> <a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>=0; <a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>&lt;<a class="code" href="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" title="matrix column size">n</a>; <a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>++){ <span class="keywordflow">for</span>(<span class="keywordtype">long</span> j=0; j&lt;=<a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>; j++){
    <a class="code" href="classzhematrix.html#a9f868de87a273d9f02ff31700fd2e068" title="1D array to store matrix data">array</a>[<a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>+n*j]-=mat.<a class="code" href="class__zhematrix.html#a7d20e0d43e98b9c706126d92b8683e82" title="1D array to store matrix data">array</a>[<a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>+n*j];
  }}
  
  mat.<a class="code" href="class__zhematrix.html#a2acc6b7bde22ce109468a72d8d40abcc">destroy</a>();
  <span class="keywordflow">return</span> *<span class="keyword">this</span>;
}
</pre></div>
</div>
</div>
<a class="anchor" id="a75e45ed45b158d9ae162e45e07e79639"></a><!-- doxytag: member="zhematrix::operator*=" ref="a75e45ed45b158d9ae162e45e07e79639" args="(const zhematrix &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classzhematrix.html">zhematrix</a>&amp; zhematrix::operator*= </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classzhematrix.html">zhematrix</a> &amp;&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

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

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

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

<p>References <a class="el" href="zhematrix_8hpp_source.html#l00012">array</a>, and <a class="el" href="zhematrix_8hpp_source.html#l00011">n</a>.</p>
<div class="fragment"><pre class="fragment">{VERBOSE_REPORT;
  zdscal_(<a class="code" href="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" title="matrix column size">n</a>*<a class="code" href="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" title="matrix column size">n</a>, d, <a class="code" href="classzhematrix.html#a9f868de87a273d9f02ff31700fd2e068" title="1D array to store matrix data">array</a>, 1);
  <span class="keywordflow">return</span> *<span class="keyword">this</span>;
}
</pre></div>
</div>
</div>
<a class="anchor" id="a7d9333f1e5b1c47cc968f32eb49e3adf"></a><!-- doxytag: member="zhematrix::operator/=" ref="a7d9333f1e5b1c47cc968f32eb49e3adf" args="(const double &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classzhematrix.html">zhematrix</a> &amp; zhematrix::operator/= </td>
          <td>(</td>
          <td class="paramtype">const double &amp;&#160;</td>
          <td class="paramname"><em>d</em></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>zhematrix/=double operator </p>

<p>Definition at line <a class="el" href="zhematrix-double_8hpp_source.html#l00011">11</a> of file <a class="el" href="zhematrix-double_8hpp_source.html">zhematrix-double.hpp</a>.</p>

<p>References <a class="el" href="zhematrix_8hpp_source.html#l00012">array</a>, and <a class="el" href="zhematrix_8hpp_source.html#l00011">n</a>.</p>
<div class="fragment"><pre class="fragment">{VERBOSE_REPORT;
  zdscal_(<a class="code" href="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" title="matrix column size">n</a>*<a class="code" href="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" title="matrix column size">n</a>, 1./d, <a class="code" href="classzhematrix.html#a9f868de87a273d9f02ff31700fd2e068" title="1D array to store matrix data">array</a>, 1);
  <span class="keywordflow">return</span> *<span class="keyword">this</span>;
}
</pre></div>
</div>
</div>
<hr/><h2>Friends And Related Function Documentation</h2>
<a class="anchor" id="ae8bdc8af01875b0cca3f03e85b8b1230"></a><!-- doxytag: member="zhematrix::operator&lt;&lt;" ref="ae8bdc8af01875b0cca3f03e85b8b1230" args="(std::ostream &amp;, const zhematrix &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="classzhematrix.html">zhematrix</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="zhematrix-io_8hpp_source.html#l00065">65</a> of file <a class="el" href="zhematrix-io_8hpp_source.html">zhematrix-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="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>=0; <a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>&lt;mat.<a class="code" href="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" title="matrix column size">n</a>; <a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>++){
    <span class="keywordflow">for</span>(<span class="keywordtype">long</span> j=0; j&lt;mat.<a class="code" href="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" title="matrix column size">n</a>; j++){ 
      <span class="keywordflow">if</span>(<a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>&gt;j){ s &lt;&lt; <span class="stringliteral">&quot; &quot;</span> &lt;&lt; mat(<a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>,j) &lt;&lt; <span class="stringliteral">&quot; &quot;</span>; }
      <span class="keywordflow">else</span> <span class="keywordflow">if</span>(<a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>==j){ s &lt;&lt; <span class="stringliteral">&quot; &quot;</span> &lt;&lt; std::real(mat(<a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>,<a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>)) &lt;&lt; <span class="stringliteral">&quot; &quot;</span>; }
      <span class="keywordflow">else</span>{ s &lt;&lt; <span class="stringliteral">&quot;{&quot;</span> &lt;&lt; <a class="code" href="classzhematrix.html#ace551e966a20707ae0f611d8466f280f">std::conj</a>(mat(j,<a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>)) &lt;&lt; <span class="stringliteral">&quot;} &quot;</span>; }
    }
    s &lt;&lt; std::endl;
    
<span class="preprocessor">#ifdef  CPPL_DEBUG</span>
<span class="preprocessor"></span>    <span class="keywordflow">if</span>(std::fabs(<a class="code" href="dcovector__small-specialized_8hpp.html#a2eb38711e1c30cc070f53589d1905fea">std::imag</a>(mat(<a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>,<a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>))) &gt; DBL_MIN){
      WARNING_REPORT;
      std::cerr &lt;&lt; <span class="stringliteral">&quot;The &quot;</span> &lt;&lt; <a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a> &lt;&lt; <span class="stringliteral">&quot;th diagonal component of the zhematrix is not a real number.&quot;</span> &lt;&lt; std::endl;
    }
<span class="preprocessor">#endif//CPPL_DEBUG</span>
<span class="preprocessor"></span>  }
  
  <span class="keywordflow">return</span> s;
}
</pre></div>
</div>
</div>
<a class="anchor" id="a686713937ad7683a5e327d3d409ae2b9"></a><!-- doxytag: member="zhematrix::swap" ref="a686713937ad7683a5e327d3d409ae2b9" args="(zhematrix &amp;, zhematrix &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classzhematrix.html#a686713937ad7683a5e327d3d409ae2b9">swap</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classzhematrix.html">zhematrix</a> &amp;&#160;</td>
          <td class="paramname"><em>A</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classzhematrix.html">zhematrix</a> &amp;&#160;</td>
          <td class="paramname"><em>B</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [friend]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>swap two matrices </p>

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

<p>Definition at line <a class="el" href="zhematrix-misc_8hpp_source.html#l00173">173</a> of file <a class="el" href="zhematrix-misc_8hpp_source.html">zhematrix-misc.hpp</a>.</p>

<p>Referenced by <a class="el" href="zhematrix-misc_8hpp_source.html#l00139">col()</a>, <a class="el" href="zhematrix-misc_8hpp_source.html#l00121">row()</a>, and <a class="el" href="zhematrix-cast_8hpp_source.html#l00003">to_zgematrix()</a>.</p>
<div class="fragment"><pre class="fragment">{VERBOSE_REPORT;
  <a class="code" href="class__zhematrix.html" title="(DO NOT USE) Smart-temporary Complex Double-precision Hermitian Matrix Class">_zhematrix</a> newmat;
  <span class="comment"></span>
<span class="comment">  //////// shallow copy ////////</span>
<span class="comment"></span>  newmat.<a class="code" href="class__zhematrix.html#a3cd8e436cf59991845c6b8e66d56c023" title="matrix column size">n</a> =mat.<a class="code" href="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" title="matrix column size">n</a>;
  newmat.<a class="code" href="class__zhematrix.html#a7d20e0d43e98b9c706126d92b8683e82" title="1D array to store matrix data">array</a> =mat.<a class="code" href="classzhematrix.html#a9f868de87a273d9f02ff31700fd2e068" title="1D array to store matrix data">array</a>;
  newmat.<a class="code" href="class__zhematrix.html#a3ad63a338d36c3752de106ca134a1a38" title="array of pointers of column head addresses">darray</a> =mat.<a class="code" href="classzhematrix.html#a1aae8b9ab0fe803d00df06dbd6d3315f" title="array of pointers of column head addresses">darray</a>;
  <span class="comment"></span>
<span class="comment">  //////// nullify ////////</span>
<span class="comment"></span>  mat.<a class="code" href="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" title="matrix column size">n</a> =0;
  mat.<a class="code" href="classzhematrix.html#a9f868de87a273d9f02ff31700fd2e068" title="1D array to store matrix data">array</a> =NULL;
  mat.<a class="code" href="classzhematrix.html#a1aae8b9ab0fe803d00df06dbd6d3315f" title="array of pointers of column head addresses">darray</a> =NULL;
  
  <span class="keywordflow">return</span> newmat;
}
</pre></div>
</div>
</div>
<a class="anchor" id="ab6a1dca889b74d06c2beea77d21c8e7a"></a><!-- doxytag: member="zhematrix::t" ref="ab6a1dca889b74d06c2beea77d21c8e7a" args="(const zhematrix &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class__zhematrix.html">_zhematrix</a> <a class="el" href="classzhematrix.html#ab6a1dca889b74d06c2beea77d21c8e7a">t</a> </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classzhematrix.html">zhematrix</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 zgematrix </p>

<p>Definition at line <a class="el" href="zhematrix-calc_8hpp_source.html#l00003">3</a> of file <a class="el" href="zhematrix-calc_8hpp_source.html">zhematrix-calc.hpp</a>.</p>
<div class="fragment"><pre class="fragment">{VERBOSE_REPORT;
  <a class="code" href="classzhematrix.html" title="Complex Double-precision Hermitian Matrix Class [l-type (UPLO=l) Strage].">zhematrix</a> newmat(mat.<a class="code" href="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" title="matrix column size">n</a>);
  <span class="keywordflow">for</span>(<span class="keywordtype">long</span> <a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>=0; <a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>&lt;newmat.<a class="code" href="class__zgematrix.html#ad69dfb0c64f2f0ea5f9928ce33a2b1e0" title="matrix column size">n</a>; <a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>++){ <span class="keywordflow">for</span>(<span class="keywordtype">long</span> j=0; j&lt;=<a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>; j++){
    newmat(<a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>,j) =mat(j,<a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>);
  }}
  
  <span class="keywordflow">return</span> <a class="code" href="classzhematrix.html#a528c8dd57c865bc962bec4e1bca233c1">_</a>(newmat);
}
</pre></div>
</div>
</div>
<a class="anchor" id="a3ccb001debd3ab5da87b87cc4ac86e1f"></a><!-- doxytag: member="zhematrix::i" ref="a3ccb001debd3ab5da87b87cc4ac86e1f" args="(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> <a class="el" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a> </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classzhematrix.html">zhematrix</a> &amp;&#160;</td>
          <td class="paramname"><em>mat</em></td><td>)</td>
          <td><code> [friend]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>return its inverse matrix </p>

<p>Definition at line <a class="el" href="zhematrix-calc_8hpp_source.html#l00015">15</a> of file <a class="el" href="zhematrix-calc_8hpp_source.html">zhematrix-calc.hpp</a>.</p>

<p>Referenced by <a class="el" href="zhematrix-misc_8hpp_source.html#l00057">chsign()</a>, <a class="el" href="zhematrix-misc_8hpp_source.html#l00139">col()</a>, <a class="el" href="zhematrix-misc_8hpp_source.html#l00003">complete()</a>, <a class="el" href="zhematrix-misc_8hpp_source.html#l00068">copy()</a>, <a class="el" href="zhematrix-misc_8hpp_source.html#l00043">identity()</a>, <a class="el" href="zhematrix-io_8hpp_source.html#l00020">operator()()</a>, <a class="el" href="zhematrix-__zhematrix_8hpp_source.html#l00015">operator+=()</a>, <a class="el" href="zhematrix-__zhematrix_8hpp_source.html#l00036">operator-=()</a>, <a class="el" href="zhematrix-io_8hpp_source.html#l00118">read()</a>, <a class="el" href="zhematrix-misc_8hpp_source.html#l00096">resize()</a>, <a class="el" href="zhematrix-io_8hpp_source.html#l00041">set()</a>, <a class="el" href="zhematrix-cast_8hpp_source.html#l00003">to_zgematrix()</a>, <a class="el" href="zhematrix-io_8hpp_source.html#l00091">write()</a>, <a class="el" href="zhematrix-misc_8hpp_source.html#l00031">zero()</a>, <a class="el" href="zhematrix-lapack_8hpp_source.html#l00111">zheev()</a>, and <a class="el" href="zhematrix-constructor_8hpp_source.html#l00018">zhematrix()</a>.</p>
<div class="fragment"><pre class="fragment">{VERBOSE_REPORT;
  <a class="code" href="classzhematrix.html" title="Complex Double-precision Hermitian Matrix Class [l-type (UPLO=l) Strage].">zhematrix</a> mat_cp(mat);
  <a class="code" href="classzgematrix.html" title="Complex Double-precision General Dence Matrix Class.">zgematrix</a> mat_inv(mat.<a class="code" href="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" title="matrix column size">n</a>,mat.<a class="code" href="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" title="matrix column size">n</a>);
  mat_inv.identity();
  mat_cp.zhesv(mat_inv);
  
  <span class="keywordflow">return</span> <a class="code" href="classzhematrix.html#a528c8dd57c865bc962bec4e1bca233c1">_</a>(mat_inv);
}
</pre></div>
</div>
</div>
<a class="anchor" id="ace551e966a20707ae0f611d8466f280f"></a><!-- doxytag: member="zhematrix::conj" ref="ace551e966a20707ae0f611d8466f280f" args="(const zhematrix &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class__zhematrix.html">_zhematrix</a> <a class="el" href="classzhematrix.html#ace551e966a20707ae0f611d8466f280f">conj</a> </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classzhematrix.html">zhematrix</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 conjugate matrix </p>

<p>Definition at line <a class="el" href="zhematrix-calc_8hpp_source.html#l00031">31</a> of file <a class="el" href="zhematrix-calc_8hpp_source.html">zhematrix-calc.hpp</a>.</p>

<p>Referenced by <a class="el" href="zhematrix-misc_8hpp_source.html#l00003">complete()</a>, <a class="el" href="zhematrix-io_8hpp_source.html#l00020">operator()()</a>, and <a class="el" href="zhematrix-io_8hpp_source.html#l00041">set()</a>.</p>
<div class="fragment"><pre class="fragment">{VERBOSE_REPORT;
  <a class="code" href="classzhematrix.html" title="Complex Double-precision Hermitian Matrix Class [l-type (UPLO=l) Strage].">zhematrix</a> newmat(mat.<a class="code" href="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" title="matrix column size">n</a>);
  
  <span class="keywordflow">for</span>(<span class="keywordtype">long</span> <a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>=0; <a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>&lt;mat.<a class="code" href="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" title="matrix column size">n</a>; <a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>++){
    <span class="keywordflow">for</span>(<span class="keywordtype">long</span> j=0; j&lt;=<a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>; j++){
      newmat(<a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>,j) =<a class="code" href="classzhematrix.html#ace551e966a20707ae0f611d8466f280f">std::conj</a>(mat(<a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>,j));
    }
  }
  
  <span class="keywordflow">return</span> <a class="code" href="classzhematrix.html#a528c8dd57c865bc962bec4e1bca233c1">_</a>(newmat);
}
</pre></div>
</div>
</div>
<a class="anchor" id="ac9fe1dbefeae86303a780ff142b1a548"></a><!-- doxytag: member="zhematrix::conjt" ref="ac9fe1dbefeae86303a780ff142b1a548" args="(const zhematrix &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class__zhematrix.html">_zhematrix</a> <a class="el" href="classzhematrix.html#ac9fe1dbefeae86303a780ff142b1a548">conjt</a> </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classzhematrix.html">zhematrix</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 conjugate transposed matrix </p>

<p>Definition at line <a class="el" href="zhematrix-calc_8hpp_source.html#l00046">46</a> of file <a class="el" href="zhematrix-calc_8hpp_source.html">zhematrix-calc.hpp</a>.</p>
<div class="fragment"><pre class="fragment">{VERBOSE_REPORT;
<span class="preprocessor">#ifdef  CPPL_DEBUG</span>
<span class="preprocessor"></span>  WARNING_REPORT;
  std::cerr &lt;&lt; <span class="stringliteral">&quot;This function call has no effect since the matrix is Hermitian.&quot;</span> &lt;&lt; std::endl;
<span class="preprocessor">#endif//CPPL_DEBUG</span>
<span class="preprocessor"></span>  
  <a class="code" href="classzhematrix.html" title="Complex Double-precision Hermitian Matrix Class [l-type (UPLO=l) Strage].">zhematrix</a> newmat(mat);
  <span class="keywordflow">return</span> <a class="code" href="classzhematrix.html#a528c8dd57c865bc962bec4e1bca233c1">_</a>(newmat);
}
</pre></div>
</div>
</div>
<a class="anchor" id="ac77f80c4643d58e31b5b33baed84a37e"></a><!-- doxytag: member="zhematrix::operator+" ref="ac77f80c4643d58e31b5b33baed84a37e" args="(const zhematrix &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="classzhematrix.html">zhematrix</a>&amp; operator+ </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classzhematrix.html">zhematrix</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>+zhematrix operator </p>

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

<p>Definition at line <a class="el" href="zhematrix-unary_8hpp_source.html#l00010">10</a> of file <a class="el" href="zhematrix-unary_8hpp_source.html">zhematrix-unary.hpp</a>.</p>
<div class="fragment"><pre class="fragment">{VERBOSE_REPORT;
  <a class="code" href="classzhematrix.html" title="Complex Double-precision Hermitian Matrix Class [l-type (UPLO=l) Strage].">zhematrix</a> newmat(mat.<a class="code" href="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" title="matrix column size">n</a>);
  <span class="keywordflow">for</span>(<span class="keywordtype">long</span> <a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>=0; <a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>&lt;mat.<a class="code" href="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" title="matrix column size">n</a>; <a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>++){ <span class="keywordflow">for</span>(<span class="keywordtype">long</span> j=0; j&lt;=<a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>; j++){
    newmat(<a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>,j) =-mat(<a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>,j);
  }}
  
  <span class="keywordflow">return</span> <a class="code" href="classzhematrix.html#a528c8dd57c865bc962bec4e1bca233c1">_</a>(newmat);
}
</pre></div>
</div>
</div>
<a class="anchor" id="a4d2df3de7f2d5fb028eed81cc00045bc"></a><!-- doxytag: member="zhematrix::operator+" ref="a4d2df3de7f2d5fb028eed81cc00045bc" args="(const zhematrix &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="classzhematrix.html">zhematrix</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>zhematrix+zgematrix operator </p>

<p>Definition at line <a class="el" href="zhematrix-zgematrix_8hpp_source.html#l00003">3</a> of file <a class="el" href="zhematrix-zgematrix_8hpp_source.html">zhematrix-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="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" title="matrix column size">n</a>!=matB.<a class="code" href="classzgematrix.html#aa2cfc802c95c61389455c6a8ff266d9a" title="matrix column size">n</a> || matA.<a class="code" href="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" 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 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="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" title="matrix column size">n</a> &lt;&lt; <span class="stringliteral">&quot;x&quot;</span> &lt;&lt; matA.<a class="code" href="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" 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>(<span class="keywordtype">long</span> <a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>=0; <a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>&lt;matA.<a class="code" href="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" title="matrix column size">n</a>; <a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>++){ <span class="keywordflow">for</span>(<span class="keywordtype">long</span> j=0; j&lt;matA.<a class="code" href="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" title="matrix column size">n</a>; j++){
    newmat(<a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>,j)+=matA(<a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>,j);
  }}
  
  <span class="keywordflow">return</span> <a class="code" href="classzhematrix.html#a528c8dd57c865bc962bec4e1bca233c1">_</a>(newmat);
}
</pre></div>
</div>
</div>
<a class="anchor" id="ae4aff19f8bf21487644fbfa9e3795817"></a><!-- doxytag: member="zhematrix::operator+" ref="ae4aff19f8bf21487644fbfa9e3795817" args="(const zhematrix &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="classzhematrix.html">zhematrix</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>_zgematrix+zhematrix operator </p>

<p>Definition at line <a class="el" href="zhematrix-__zgematrix_8hpp_source.html#l00003">3</a> of file <a class="el" href="zhematrix-__zgematrix_8hpp_source.html">zhematrix-_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="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" title="matrix column size">n</a>!=matB.<a class="code" href="class__zgematrix.html#ad69dfb0c64f2f0ea5f9928ce33a2b1e0" title="matrix column size">n</a> || matA.<a class="code" href="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" 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 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="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" title="matrix column size">n</a> &lt;&lt; <span class="stringliteral">&quot;x&quot;</span> &lt;&lt; matA.<a class="code" href="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" 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>(<span class="keywordtype">long</span> <a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>=0; <a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>&lt;matA.<a class="code" href="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" title="matrix column size">n</a>; <a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>++){ <span class="keywordflow">for</span>(<span class="keywordtype">long</span> j=0; j&lt;matA.<a class="code" href="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" title="matrix column size">n</a>; j++){
    matB(<a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>,j)+=matA(<a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>,j);
  }}
  
  <span class="keywordflow">return</span> matB;
}
</pre></div>
</div>
</div>
<a class="anchor" id="aa694d2addac04ef4c4219747fc1d9478"></a><!-- doxytag: member="zhematrix::operator+" ref="aa694d2addac04ef4c4219747fc1d9478" args="(const zhematrix &amp;, const zhematrix &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class__zhematrix.html">_zhematrix</a> operator+ </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classzhematrix.html">zhematrix</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>zhematrix+zhematrix operator </p>

<p>Definition at line <a class="el" href="zhematrix-zhematrix_8hpp_source.html#l00057">57</a> of file <a class="el" href="zhematrix-zhematrix_8hpp_source.html">zhematrix-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="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" 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="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" title="matrix column size">n</a> &lt;&lt; <span class="stringliteral">&quot;x&quot;</span> &lt;&lt; matA.<a class="code" href="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" 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="keywordtype">long</span> <a class="code" href="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" title="matrix column size">n</a> = matA.<a class="code" href="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" title="matrix column size">n</a>;
  <a class="code" href="classzhematrix.html" title="Complex Double-precision Hermitian Matrix Class [l-type (UPLO=l) Strage].">zhematrix</a> newmat(n);
  <span class="keywordflow">for</span>(<span class="keywordtype">long</span> <a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>=0; <a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>&lt;<a class="code" href="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" title="matrix column size">n</a>; <a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>++){ <span class="keywordflow">for</span>(<span class="keywordtype">long</span> j=0; j&lt;=<a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>; j++){
    newmat.array[<a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>+n*j] = matA.<a class="code" href="classzhematrix.html#a9f868de87a273d9f02ff31700fd2e068" title="1D array to store matrix data">array</a>[<a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>+n*j] + matB.<a class="code" href="classzhematrix.html#a9f868de87a273d9f02ff31700fd2e068" title="1D array to store matrix data">array</a>[<a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>+n*j];
  }}
  
  <span class="keywordflow">return</span> <a class="code" href="classzhematrix.html#a528c8dd57c865bc962bec4e1bca233c1">_</a>(newmat);
}
</pre></div>
</div>
</div>
<a class="anchor" id="a00520a7832420373b9f152ea0a922235"></a><!-- doxytag: member="zhematrix::operator+" ref="a00520a7832420373b9f152ea0a922235" args="(const zhematrix &amp;, const _zhematrix &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class__zhematrix.html">_zhematrix</a> operator+ </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classzhematrix.html">zhematrix</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>zhematrix+_zhematrix operator </p>

<p>Definition at line <a class="el" href="zhematrix-__zhematrix_8hpp_source.html#l00061">61</a> of file <a class="el" href="zhematrix-__zhematrix_8hpp_source.html">zhematrix-_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="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" 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="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" title="matrix column size">n</a> &lt;&lt; <span class="stringliteral">&quot;x&quot;</span> &lt;&lt; matA.<a class="code" href="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" 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="keywordflow">for</span>(<span class="keywordtype">long</span> <a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>=0; <a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>&lt;matA.<a class="code" href="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" title="matrix column size">n</a>; <a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>++){ <span class="keywordflow">for</span>(<span class="keywordtype">long</span> j=0; j&lt;=<a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>; j++){
    matB.<a class="code" href="class__zhematrix.html#a7d20e0d43e98b9c706126d92b8683e82" title="1D array to store matrix data">array</a>[<a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>+matA.<a class="code" href="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" title="matrix column size">n</a>*j]+=matA.<a class="code" href="classzhematrix.html#a9f868de87a273d9f02ff31700fd2e068" title="1D array to store matrix data">array</a>[<a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>+matA.<a class="code" href="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" title="matrix column size">n</a>*j];
  }}
  
  <span class="keywordflow">return</span> matB;
}
</pre></div>
</div>
</div>
<a class="anchor" id="a39b69917c8b21cc29e1acfa62164a361"></a><!-- doxytag: member="zhematrix::operator+" ref="a39b69917c8b21cc29e1acfa62164a361" args="(const zhematrix &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="classzhematrix.html">zhematrix</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>zhematrix+zgbmatrix operator </p>

<p>Definition at line <a class="el" href="zhematrix-zgbmatrix_8hpp_source.html#l00003">3</a> of file <a class="el" href="zhematrix-zgbmatrix_8hpp_source.html">zhematrix-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="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" 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="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" 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 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="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" title="matrix column size">n</a> &lt;&lt; <span class="stringliteral">&quot;x&quot;</span> &lt;&lt; matA.<a class="code" href="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" 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="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" title="matrix column size">n</a>, matA.<a class="code" href="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" title="matrix column size">n</a>);
  <span class="keywordflow">for</span>(<span class="keywordtype">long</span> <a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>=0; <a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>&lt;matB.<a class="code" href="classzgbmatrix.html#a760031d62091c1ce2808a1b07c7f81bf" title="matrix row size">m</a>; <a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>++){
    <span class="keywordflow">for</span>(<span class="keywordtype">long</span> j=0; j&lt;matA.<a class="code" href="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" title="matrix column size">n</a>; j++){
      newmat(<a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>,j) =matA(<a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>,j);
    }
    <span class="keywordflow">for</span>(<span class="keywordtype">long</span> j=std::max(<span class="keywordtype">long</span>(0),<a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">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="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>+matB.<a class="code" href="classzgbmatrix.html#a2a36d59681d1b2f13120a4b4be9203e8" title="upper band width">ku</a>+1); j++){
      newmat(<a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>,j)+=matB(<a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>,j);
    }
  }
  
  <span class="keywordflow">return</span> <a class="code" href="classzhematrix.html#a528c8dd57c865bc962bec4e1bca233c1">_</a>(newmat);
}
</pre></div>
</div>
</div>
<a class="anchor" id="a23a7225508b98dee051fc52233675cee"></a><!-- doxytag: member="zhematrix::operator+" ref="a23a7225508b98dee051fc52233675cee" args="(const zhematrix &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="classzhematrix.html">zhematrix</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>zhematrix+_zgbmatrix operator </p>

<p>Definition at line <a class="el" href="zhematrix-__zgbmatrix_8hpp_source.html#l00003">3</a> of file <a class="el" href="zhematrix-__zgbmatrix_8hpp_source.html">zhematrix-_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="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" 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="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" 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 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="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" title="matrix column size">n</a> &lt;&lt; <span class="stringliteral">&quot;x&quot;</span> &lt;&lt; matA.<a class="code" href="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" 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="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" title="matrix column size">n</a>, matA.<a class="code" href="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" title="matrix column size">n</a>);
  <span class="keywordflow">for</span>(<span class="keywordtype">long</span> <a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>=0; <a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>&lt;matB.<a class="code" href="class__zgbmatrix.html#a2c7cdee481455ef265dc77dea7cd03cf" title="matrix row size">m</a>; <a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>++){
    <span class="keywordflow">for</span>(<span class="keywordtype">long</span> j=<a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>; j&lt;matA.<a class="code" href="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" title="matrix column size">n</a>; j++){
      newmat(<a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>,j) =matA(<a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>,j);
    }
    <span class="keywordflow">for</span>(<span class="keywordtype">long</span> j=std::max(<span class="keywordtype">long</span>(0),<a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">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="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>+matB.<a class="code" href="class__zgbmatrix.html#a0b32db6f9ae374d5d390e24686433a77" title="upper band width">ku</a>+1); j++){
      newmat(<a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>,j)+=matB(<a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>,j);
    }
  }
  
  matB.<a class="code" href="class__zgbmatrix.html#a30eb8221fd3a4046e3c3eb6ba9902bc8">destroy</a>();
  <span class="keywordflow">return</span> <a class="code" href="classzhematrix.html#a528c8dd57c865bc962bec4e1bca233c1">_</a>(newmat);
}
</pre></div>
</div>
</div>
<a class="anchor" id="a9473cf2ede4e7718f84f61bb7e70333c"></a><!-- doxytag: member="zhematrix::operator+" ref="a9473cf2ede4e7718f84f61bb7e70333c" args="(const zhematrix &amp;, const zgsmatrix &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="classzhematrix.html">zhematrix</a> &amp;&#160;</td>
          <td class="paramname">, </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">&#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="a85fecbc7cc0c918ae2466d06be4f74f9"></a><!-- doxytag: member="zhematrix::operator+" ref="a85fecbc7cc0c918ae2466d06be4f74f9" args="(const zhematrix &amp;, const _zgsmatrix &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="classzhematrix.html">zhematrix</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__zgsmatrix.html">_zgsmatrix</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="a3e5bff1217020199eac7c79843c0ef68"></a><!-- doxytag: member="zhematrix::operator+" ref="a3e5bff1217020199eac7c79843c0ef68" args="(const zhematrix &amp;, const zhsmatrix &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="classzhematrix.html">zhematrix</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="a976b104b049f4839ad365d1cf0bef504"></a><!-- doxytag: member="zhematrix::operator+" ref="a976b104b049f4839ad365d1cf0bef504" args="(const zhematrix &amp;, const _zhsmatrix &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="classzhematrix.html">zhematrix</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="a0debcc7443111a035eb0e68813beec3d"></a><!-- doxytag: member="zhematrix::operator&#45;" ref="a0debcc7443111a035eb0e68813beec3d" args="(const zhematrix &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="classzhematrix.html">zhematrix</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>zhematrix-zgematrix operator </p>

<p>Definition at line <a class="el" href="zhematrix-zgematrix_8hpp_source.html#l00024">24</a> of file <a class="el" href="zhematrix-zgematrix_8hpp_source.html">zhematrix-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="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" title="matrix column size">n</a>!=matB.<a class="code" href="classzgematrix.html#aa2cfc802c95c61389455c6a8ff266d9a" title="matrix column size">n</a> || matA.<a class="code" href="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" 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 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="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" title="matrix column size">n</a> &lt;&lt; <span class="stringliteral">&quot;x&quot;</span> &lt;&lt; matA.<a class="code" href="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" 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>(<span class="keywordtype">long</span> <a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>=0; <a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>&lt;matA.<a class="code" href="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" title="matrix column size">n</a>; <a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>++){ <span class="keywordflow">for</span>(<span class="keywordtype">long</span> j=0; j&lt;matA.<a class="code" href="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" title="matrix column size">n</a>; j++){
    newmat(<a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>,j)+=matA(<a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>,j);
  }}
  
  <span class="keywordflow">return</span> <a class="code" href="classzhematrix.html#a528c8dd57c865bc962bec4e1bca233c1">_</a>(newmat);
}
</pre></div>
</div>
</div>
<a class="anchor" id="ad0943f21d6eacaeb50071954137ba4ca"></a><!-- doxytag: member="zhematrix::operator&#45;" ref="ad0943f21d6eacaeb50071954137ba4ca" args="(const zhematrix &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="classzhematrix.html">zhematrix</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>_zgematrix-zgematrix operator </p>

<p>Definition at line <a class="el" href="zhematrix-__zgematrix_8hpp_source.html#l00023">23</a> of file <a class="el" href="zhematrix-__zgematrix_8hpp_source.html">zhematrix-_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="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" title="matrix column size">n</a>!=matB.<a class="code" href="class__zgematrix.html#ad69dfb0c64f2f0ea5f9928ce33a2b1e0" title="matrix column size">n</a> || matA.<a class="code" href="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" 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 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="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" title="matrix column size">n</a> &lt;&lt; <span class="stringliteral">&quot;x&quot;</span> &lt;&lt; matA.<a class="code" href="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" 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>(<span class="keywordtype">long</span> <a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>=0; <a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>&lt;matA.<a class="code" href="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" title="matrix column size">n</a>; <a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>++){ <span class="keywordflow">for</span>(<span class="keywordtype">long</span> j=0; j&lt;matA.<a class="code" href="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" title="matrix column size">n</a>; j++){
    matB(<a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>,j) =matA(<a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>,j)-matB(<a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>,j);
  }}
  
  <span class="keywordflow">return</span> matB;
}
</pre></div>
</div>
</div>
<a class="anchor" id="ae634b154fe1df87541bda2e2a39cdaba"></a><!-- doxytag: member="zhematrix::operator&#45;" ref="ae634b154fe1df87541bda2e2a39cdaba" args="(const zhematrix &amp;, const zhematrix &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class__zhematrix.html">_zhematrix</a> operator- </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classzhematrix.html">zhematrix</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>zhematrix-zhematrix operator </p>

<p>Definition at line <a class="el" href="zhematrix-zhematrix_8hpp_source.html#l00079">79</a> of file <a class="el" href="zhematrix-zhematrix_8hpp_source.html">zhematrix-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="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" 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="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" title="matrix column size">n</a> &lt;&lt; <span class="stringliteral">&quot;x&quot;</span> &lt;&lt; matA.<a class="code" href="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" 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="keywordtype">long</span> <a class="code" href="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" title="matrix column size">n</a> = matA.<a class="code" href="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" title="matrix column size">n</a>;
  <a class="code" href="classzhematrix.html" title="Complex Double-precision Hermitian Matrix Class [l-type (UPLO=l) Strage].">zhematrix</a> newmat(n);
  <span class="keywordflow">for</span>(<span class="keywordtype">long</span> <a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>=0; <a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>&lt;<a class="code" href="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" title="matrix column size">n</a>; <a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>++){ <span class="keywordflow">for</span>(<span class="keywordtype">long</span> j=0; j&lt;=<a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>; j++){
    newmat.array[<a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>+n*j] =matA.<a class="code" href="classzhematrix.html#a9f868de87a273d9f02ff31700fd2e068" title="1D array to store matrix data">array</a>[<a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>+n*j]-matB.<a class="code" href="classzhematrix.html#a9f868de87a273d9f02ff31700fd2e068" title="1D array to store matrix data">array</a>[<a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>+n*j];
  }}
  
  <span class="keywordflow">return</span> <a class="code" href="classzhematrix.html#a528c8dd57c865bc962bec4e1bca233c1">_</a>(newmat);
}
</pre></div>
</div>
</div>
<a class="anchor" id="a1aac5b391e7b53c9b335f950c5e62e18"></a><!-- doxytag: member="zhematrix::operator&#45;" ref="a1aac5b391e7b53c9b335f950c5e62e18" args="(const zhematrix &amp;, const _zhematrix &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class__zhematrix.html">_zhematrix</a> operator- </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classzhematrix.html">zhematrix</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>zhematrix-_zhematrix operator </p>

<p>Definition at line <a class="el" href="zhematrix-__zhematrix_8hpp_source.html#l00081">81</a> of file <a class="el" href="zhematrix-__zhematrix_8hpp_source.html">zhematrix-_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="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" 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="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" title="matrix column size">n</a> &lt;&lt; <span class="stringliteral">&quot;x&quot;</span> &lt;&lt; matA.<a class="code" href="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" 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="keywordflow">for</span>(<span class="keywordtype">long</span> <a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>=0; <a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>&lt;matA.<a class="code" href="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" title="matrix column size">n</a>; <a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>++){ <span class="keywordflow">for</span>(<span class="keywordtype">long</span> j=0; j&lt;=<a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>; j++){
    matB.<a class="code" href="class__zhematrix.html#a7d20e0d43e98b9c706126d92b8683e82" title="1D array to store matrix data">array</a>[<a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>] =matA.<a class="code" href="classzhematrix.html#a9f868de87a273d9f02ff31700fd2e068" title="1D array to store matrix data">array</a>[<a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>]-matB.<a class="code" href="class__zhematrix.html#a7d20e0d43e98b9c706126d92b8683e82" title="1D array to store matrix data">array</a>[<a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>];
  }}
  
  <span class="keywordflow">return</span> matB;
}
</pre></div>
</div>
</div>
<a class="anchor" id="ab23f44e74bf86e2229621c123c1f25ff"></a><!-- doxytag: member="zhematrix::operator&#45;" ref="ab23f44e74bf86e2229621c123c1f25ff" args="(const zhematrix &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="classzhematrix.html">zhematrix</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>zhematrix-zgbmatrix operator </p>

<p>Definition at line <a class="el" href="zhematrix-zgbmatrix_8hpp_source.html#l00029">29</a> of file <a class="el" href="zhematrix-zgbmatrix_8hpp_source.html">zhematrix-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="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" 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="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" 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 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="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" title="matrix column size">n</a> &lt;&lt; <span class="stringliteral">&quot;x&quot;</span> &lt;&lt; matA.<a class="code" href="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" 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="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" title="matrix column size">n</a>, matA.<a class="code" href="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" title="matrix column size">n</a>);
  <span class="keywordflow">for</span>(<span class="keywordtype">long</span> <a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>=0; <a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>&lt;matB.<a class="code" href="classzgbmatrix.html#a760031d62091c1ce2808a1b07c7f81bf" title="matrix row size">m</a>; <a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>++){
    <span class="keywordflow">for</span>(<span class="keywordtype">long</span> j=0; j&lt;matA.<a class="code" href="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" title="matrix column size">n</a>; j++){
      newmat(<a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>,j) =matA(<a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>,j);
    }
    <span class="keywordflow">for</span>(<span class="keywordtype">long</span> j=std::max(<span class="keywordtype">long</span>(0),<a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">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="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>+matB.<a class="code" href="classzgbmatrix.html#a2a36d59681d1b2f13120a4b4be9203e8" title="upper band width">ku</a>+1); j++){
      newmat(<a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>,j)-=matB(<a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>,j);
    }
  }
  
  <span class="keywordflow">return</span> <a class="code" href="classzhematrix.html#a528c8dd57c865bc962bec4e1bca233c1">_</a>(newmat);
}
</pre></div>
</div>
</div>
<a class="anchor" id="ae37a5896220335e02abb628411f53a72"></a><!-- doxytag: member="zhematrix::operator&#45;" ref="ae37a5896220335e02abb628411f53a72" args="(const zhematrix &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="classzhematrix.html">zhematrix</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>zhematrix-_zgbmatrix operator </p>

<p>Definition at line <a class="el" href="zhematrix-__zgbmatrix_8hpp_source.html#l00030">30</a> of file <a class="el" href="zhematrix-__zgbmatrix_8hpp_source.html">zhematrix-_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="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" 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="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" 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 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="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" title="matrix column size">n</a> &lt;&lt; <span class="stringliteral">&quot;x&quot;</span> &lt;&lt; matA.<a class="code" href="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" 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="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" title="matrix column size">n</a>, matA.<a class="code" href="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" title="matrix column size">n</a>);
  <span class="keywordflow">for</span>(<span class="keywordtype">long</span> <a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>=0; <a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>&lt;matB.<a class="code" href="class__zgbmatrix.html#a2c7cdee481455ef265dc77dea7cd03cf" title="matrix row size">m</a>; <a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>++){
    <span class="keywordflow">for</span>(<span class="keywordtype">long</span> j=<a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>; j&lt;matA.<a class="code" href="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" title="matrix column size">n</a>; j++){
      newmat(<a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>,j) =matA(<a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>,j);
    }
    <span class="keywordflow">for</span>(<span class="keywordtype">long</span> j=std::max(<span class="keywordtype">long</span>(0),<a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">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="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>+matB.<a class="code" href="class__zgbmatrix.html#a0b32db6f9ae374d5d390e24686433a77" title="upper band width">ku</a>+1); j++){
      newmat(<a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>,j)-=matB(<a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>,j);
    }
  }
  
  matB.<a class="code" href="class__zgbmatrix.html#a30eb8221fd3a4046e3c3eb6ba9902bc8">destroy</a>();
  <span class="keywordflow">return</span> <a class="code" href="classzhematrix.html#a528c8dd57c865bc962bec4e1bca233c1">_</a>(newmat);
}
</pre></div>
</div>
</div>
<a class="anchor" id="a1ebee33b28035dfc3f07cba399666ff2"></a><!-- doxytag: member="zhematrix::operator&#45;" ref="a1ebee33b28035dfc3f07cba399666ff2" args="(const zhematrix &amp;, const zgsmatrix &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="classzhematrix.html">zhematrix</a> &amp;&#160;</td>
          <td class="paramname">, </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">&#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="a7f409ff09817ea5eeed03ad17948b770"></a><!-- doxytag: member="zhematrix::operator&#45;" ref="a7f409ff09817ea5eeed03ad17948b770" args="(const zhematrix &amp;, const _zgsmatrix &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="classzhematrix.html">zhematrix</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__zgsmatrix.html">_zgsmatrix</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="aca510f11db582c593126d82416bf20e0"></a><!-- doxytag: member="zhematrix::operator&#45;" ref="aca510f11db582c593126d82416bf20e0" args="(const zhematrix &amp;, const zhsmatrix &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="classzhematrix.html">zhematrix</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="a7d500b1982f09f0e8931f37c153d52a2"></a><!-- doxytag: member="zhematrix::operator&#45;" ref="a7d500b1982f09f0e8931f37c153d52a2" args="(const zhematrix &amp;, const _zhsmatrix &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="classzhematrix.html">zhematrix</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="a871c5d37ab8296b7c37495e6c9dd952c"></a><!-- doxytag: member="zhematrix::operator*" ref="a871c5d37ab8296b7c37495e6c9dd952c" args="(const zhematrix &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="classzhematrix.html">zhematrix</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>zhematrix*zcovector operator </p>

<p>Definition at line <a class="el" href="zhematrix-zcovector_8hpp_source.html#l00003">3</a> of file <a class="el" href="zhematrix-zcovector_8hpp_source.html">zhematrix-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="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" 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="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" title="matrix column size">n</a> &lt;&lt; <span class="stringliteral">&quot;x&quot;</span> &lt;&lt; mat.<a class="code" href="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" 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="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" title="matrix column size">n</a>);
  zhemv_( <span class="charliteral">&#39;l&#39;</span>, mat.<a class="code" href="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" title="matrix column size">n</a>, comple(1.0,0.0), mat.<a class="code" href="classzhematrix.html#a9f868de87a273d9f02ff31700fd2e068" title="1D array to store matrix data">array</a>, mat.<a class="code" href="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" title="matrix column size">n</a>,
          vec.<a class="code" href="classzcovector.html#a7c812242cb084ba940fb61755a3c8cf7" title="1D array to store vector data">array</a>, 1, comple(0.0,0.0), newvec.array, 1 );
  
  <span class="keywordflow">return</span> <a class="code" href="classzhematrix.html#a528c8dd57c865bc962bec4e1bca233c1">_</a>(newvec);
}
</pre></div>
</div>
</div>
<a class="anchor" id="a80623c77d28fc36fb8abdbdd5ab5cccc"></a><!-- doxytag: member="zhematrix::operator*" ref="a80623c77d28fc36fb8abdbdd5ab5cccc" args="(const zhematrix &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="classzhematrix.html">zhematrix</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>zhematrix*_zcovector operator </p>

<p>Definition at line <a class="el" href="zhematrix-__zcovector_8hpp_source.html#l00003">3</a> of file <a class="el" href="zhematrix-__zcovector_8hpp_source.html">zhematrix-_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="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" 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="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" title="matrix column size">n</a> &lt;&lt; <span class="stringliteral">&quot;x&quot;</span> &lt;&lt; mat.<a class="code" href="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" 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="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" title="matrix column size">n</a>);
  zhemv_( <span class="charliteral">&#39;l&#39;</span>, mat.<a class="code" href="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" title="matrix column size">n</a>, comple(1.0,0.0), mat.<a class="code" href="classzhematrix.html#a9f868de87a273d9f02ff31700fd2e068" title="1D array to store matrix data">array</a>, mat.<a class="code" href="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" title="matrix column size">n</a>,
          vec.<a class="code" href="class__zcovector.html#aaa49b9ce62a619d7efca0a392e60d716" title="1D array to store vector data">array</a>, 1, comple(0.0,0.0), newvec.array, 1 );
  
  vec.<a class="code" href="class__zcovector.html#a7b0dbef72aa40ca8ccd7aa11ea6bc88a">destroy</a>();
  <span class="keywordflow">return</span> <a class="code" href="classzhematrix.html#a528c8dd57c865bc962bec4e1bca233c1">_</a>(newvec);
}
</pre></div>
</div>
</div>
<a class="anchor" id="a53cf97ebd5270407908cadf9c8ff3dcb"></a><!-- doxytag: member="zhematrix::operator*" ref="a53cf97ebd5270407908cadf9c8ff3dcb" args="(const zhematrix &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="classzhematrix.html">zhematrix</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>zhematrix*zgematrix operator </p>

<p>Definition at line <a class="el" href="zhematrix-zgematrix_8hpp_source.html#l00046">46</a> of file <a class="el" href="zhematrix-zgematrix_8hpp_source.html">zhematrix-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="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" 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="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" title="matrix column size">n</a> &lt;&lt; <span class="stringliteral">&quot;x&quot;</span> &lt;&lt; matA.<a class="code" href="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" 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( matA.<a class="code" href="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" title="matrix column size">n</a>, matB.<a class="code" href="classzgematrix.html#aa2cfc802c95c61389455c6a8ff266d9a" title="matrix column size">n</a> );
  zhemm_( <span class="charliteral">&#39;l&#39;</span>, <span class="charliteral">&#39;l&#39;</span>, matA.<a class="code" href="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" title="matrix column size">n</a>, matB.<a class="code" href="classzgematrix.html#aa2cfc802c95c61389455c6a8ff266d9a" title="matrix column size">n</a>, comple(1.0,0.0), 
          matA.<a class="code" href="classzhematrix.html#a9f868de87a273d9f02ff31700fd2e068" title="1D array to store matrix data">array</a>, matA.<a class="code" href="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" title="matrix column size">n</a>, matB.<a class="code" href="classzgematrix.html#aaa50b409ff4060aa10ad3c0f9dcd45ef" title="1D array to store matrix data">array</a>, matB.<a class="code" href="classzgematrix.html#a433dab4cf9fba73d9bc96ec6d626654e" title="matrix row size">m</a>, 
          comple(0.0,0.0), newmat.array, newmat.m );
  
  <span class="keywordflow">return</span> <a class="code" href="classzhematrix.html#a528c8dd57c865bc962bec4e1bca233c1">_</a>(newmat);
}
</pre></div>
</div>
</div>
<a class="anchor" id="a0dd5e3e34fe034b5a2ca7fe17c31983c"></a><!-- doxytag: member="zhematrix::operator*" ref="a0dd5e3e34fe034b5a2ca7fe17c31983c" args="(const zhematrix &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="classzhematrix.html">zhematrix</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>_zgematrix*zgematrix operator </p>

<p>Definition at line <a class="el" href="zhematrix-__zgematrix_8hpp_source.html#l00043">43</a> of file <a class="el" href="zhematrix-__zgematrix_8hpp_source.html">zhematrix-_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="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" 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="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" title="matrix column size">n</a> &lt;&lt; <span class="stringliteral">&quot;x&quot;</span> &lt;&lt; matA.<a class="code" href="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" 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>  
  <a class="code" href="classzgematrix.html" title="Complex Double-precision General Dence Matrix Class.">zgematrix</a> newmat( matA.<a class="code" href="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" title="matrix column size">n</a>, matB.<a class="code" href="class__zgematrix.html#ad69dfb0c64f2f0ea5f9928ce33a2b1e0" title="matrix column size">n</a> );
  zhemm_( <span class="charliteral">&#39;l&#39;</span>, <span class="charliteral">&#39;l&#39;</span>, matA.<a class="code" href="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" title="matrix column size">n</a>, matB.<a class="code" href="class__zgematrix.html#ad69dfb0c64f2f0ea5f9928ce33a2b1e0" title="matrix column size">n</a>, comple(1.0,0.0),
          matA.<a class="code" href="classzhematrix.html#a9f868de87a273d9f02ff31700fd2e068" title="1D array to store matrix data">array</a>, matA.<a class="code" href="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" title="matrix column size">n</a>, matB.<a class="code" href="class__zgematrix.html#a5582bee2b868f89c22a455800cb96985" title="1D array to store matrix data">array</a>, matB.<a class="code" href="class__zgematrix.html#a078ae1faad7aa3659a8f7d15cdfa27ec" title="matrix row size">m</a>,
          comple(0.0,0.0), newmat.array, newmat.m );
  
  matB.<a class="code" href="class__zgematrix.html#a447e4807955f2b359831116d90aad098">destroy</a>();
  <span class="keywordflow">return</span> <a class="code" href="classzhematrix.html#a528c8dd57c865bc962bec4e1bca233c1">_</a>(newmat);
}
</pre></div>
</div>
</div>
<a class="anchor" id="acf32abe565eee10dc4e1f68220cfef64"></a><!-- doxytag: member="zhematrix::operator*" ref="acf32abe565eee10dc4e1f68220cfef64" args="(const zhematrix &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="classzhematrix.html">zhematrix</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>zhematrix*zhematrix operator </p>

<p>Definition at line <a class="el" href="zhematrix-zhematrix_8hpp_source.html#l00101">101</a> of file <a class="el" href="zhematrix-zhematrix_8hpp_source.html">zhematrix-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="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" 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="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" title="matrix column size">n</a> &lt;&lt; <span class="stringliteral">&quot;x&quot;</span> &lt;&lt; matA.<a class="code" href="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" 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>  
  matB.<a class="code" href="classzhematrix.html#a677b0e1df7c504a915029ae1e652a6a8">complete</a>();
  <a class="code" href="classzgematrix.html" title="Complex Double-precision General Dence Matrix Class.">zgematrix</a> newmat( matA.<a class="code" href="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" title="matrix column size">n</a>, matB.<a class="code" href="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" title="matrix column size">n</a> );
  
  zhemm_( <span class="charliteral">&#39;l&#39;</span>, <span class="charliteral">&#39;l&#39;</span>, matA.<a class="code" href="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" title="matrix column size">n</a>, matB.<a class="code" href="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" title="matrix column size">n</a>, comple(1.0,0.0), 
          matA.<a class="code" href="classzhematrix.html#a9f868de87a273d9f02ff31700fd2e068" title="1D array to store matrix data">array</a>, matA.<a class="code" href="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" title="matrix column size">n</a>, matB.<a class="code" href="classzhematrix.html#a9f868de87a273d9f02ff31700fd2e068" title="1D array to store matrix data">array</a>, matB.<a class="code" href="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" title="matrix column size">n</a>, 
          comple(0.0,0.0), newmat.array, newmat.m );
  
  <span class="keywordflow">return</span> <a class="code" href="classzhematrix.html#a528c8dd57c865bc962bec4e1bca233c1">_</a>(newmat);
}
</pre></div>
</div>
</div>
<a class="anchor" id="a8043330830b5f1f89ff2f1d6ef5c8913"></a><!-- doxytag: member="zhematrix::operator*" ref="a8043330830b5f1f89ff2f1d6ef5c8913" args="(const zhematrix &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="classzhematrix.html">zhematrix</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>zhematrix*_zhematrix operator </p>

<p>Definition at line <a class="el" href="zhematrix-__zhematrix_8hpp_source.html#l00101">101</a> of file <a class="el" href="zhematrix-__zhematrix_8hpp_source.html">zhematrix-_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="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" 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="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" title="matrix column size">n</a> &lt;&lt; <span class="stringliteral">&quot;x&quot;</span> &lt;&lt; matA.<a class="code" href="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" 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>  
  matB.<a class="code" href="class__zhematrix.html#a96586c5e5e3e758ec06ca869a9531a2a">complete</a>();
  <a class="code" href="classzgematrix.html" title="Complex Double-precision General Dence Matrix Class.">zgematrix</a> newmat( matA.<a class="code" href="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" title="matrix column size">n</a>, matB.<a class="code" href="class__zhematrix.html#a3cd8e436cf59991845c6b8e66d56c023" title="matrix column size">n</a> );
  
  zhemm_( <span class="charliteral">&#39;l&#39;</span>, <span class="charliteral">&#39;l&#39;</span>, matA.<a class="code" href="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" title="matrix column size">n</a>, matB.<a class="code" href="class__zhematrix.html#a3cd8e436cf59991845c6b8e66d56c023" title="matrix column size">n</a>, comple(1.0,0.0), 
          matA.<a class="code" href="classzhematrix.html#a9f868de87a273d9f02ff31700fd2e068" title="1D array to store matrix data">array</a>, matA.<a class="code" href="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" title="matrix column size">n</a>, matB.<a class="code" href="class__zhematrix.html#a7d20e0d43e98b9c706126d92b8683e82" title="1D array to store matrix data">array</a>, matB.<a class="code" href="class__zhematrix.html#a3cd8e436cf59991845c6b8e66d56c023" title="matrix column size">n</a>, 
          comple(0.0,0.0), newmat.array, newmat.m );
  
  matB.<a class="code" href="class__zhematrix.html#a2acc6b7bde22ce109468a72d8d40abcc">destroy</a>();
  <span class="keywordflow">return</span> <a class="code" href="classzhematrix.html#a528c8dd57c865bc962bec4e1bca233c1">_</a>(newmat);
}
</pre></div>
</div>
</div>
<a class="anchor" id="af47b31d8606513af969d43a227aa22d3"></a><!-- doxytag: member="zhematrix::operator*" ref="af47b31d8606513af969d43a227aa22d3" args="(const zhematrix &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="classzhematrix.html">zhematrix</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>zhematrix*zgbmatrix operator </p>

<p>Definition at line <a class="el" href="zhematrix-zgbmatrix_8hpp_source.html#l00055">55</a> of file <a class="el" href="zhematrix-zgbmatrix_8hpp_source.html">zhematrix-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="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" 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="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" title="matrix column size">n</a> &lt;&lt; <span class="stringliteral">&quot;x&quot;</span> &lt;&lt; matA.<a class="code" href="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" 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="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" title="matrix column size">n</a>, matB.<a class="code" href="classzgbmatrix.html#ae648f83ec8f7cbc28335265c10e6fe45" title="matrix column size">n</a> );
  newmat.zero();
  
  <span class="keywordflow">for</span>(<span class="keywordtype">long</span> <a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>=0; <a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>&lt;newmat.<a class="code" href="class__zgematrix.html#a078ae1faad7aa3659a8f7d15cdfa27ec" title="matrix row size">m</a>; <a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>++){
    <span class="keywordflow">for</span>(<span class="keywordtype">long</span> j=0; j&lt;newmat.n; j++){
      <span class="keywordflow">for</span>(<span class="keywordtype">long</span> k=std::max(<span class="keywordtype">long</span>(0),j-matB.<a class="code" href="classzgbmatrix.html#a2a36d59681d1b2f13120a4b4be9203e8" title="upper band width">ku</a>); k&lt;std::min(matB.<a class="code" href="classzgbmatrix.html#a760031d62091c1ce2808a1b07c7f81bf" title="matrix row size">m</a>,j+matB.<a class="code" href="classzgbmatrix.html#af8f8a5015069bdb6c268652ee25838c0" title="lower band width">kl</a>+1); k++){
        newmat(<a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>,j)+=matA(<a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>,k)*matB(k,j);
      }
    }
  }
  
  <span class="keywordflow">return</span> <a class="code" href="classzhematrix.html#a528c8dd57c865bc962bec4e1bca233c1">_</a>(newmat);
}
</pre></div>
</div>
</div>
<a class="anchor" id="a4179d1e06fa8c31b568d640696b876e9"></a><!-- doxytag: member="zhematrix::operator*" ref="a4179d1e06fa8c31b568d640696b876e9" args="(const zhematrix &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="classzhematrix.html">zhematrix</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>zhematrix*_zgbmatrix operator </p>

<p>Definition at line <a class="el" href="zhematrix-__zgbmatrix_8hpp_source.html#l00057">57</a> of file <a class="el" href="zhematrix-__zgbmatrix_8hpp_source.html">zhematrix-_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="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" 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="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" title="matrix column size">n</a> &lt;&lt; <span class="stringliteral">&quot;x&quot;</span> &lt;&lt; matA.<a class="code" href="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" 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="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" title="matrix column size">n</a>, matB.<a class="code" href="class__zgbmatrix.html#a743983e0c14c2d3917b51c510ee957f6" title="matrix column size">n</a> );
  newmat.zero();
  
  <span class="keywordflow">for</span>(<span class="keywordtype">long</span> <a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>=0; <a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>&lt;newmat.<a class="code" href="class__zgematrix.html#a078ae1faad7aa3659a8f7d15cdfa27ec" title="matrix row size">m</a>; <a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>++){
    <span class="keywordflow">for</span>(<span class="keywordtype">long</span> j=0; j&lt;newmat.n; j++){
      <span class="keywordflow">for</span>(<span class="keywordtype">long</span> k=std::max(<span class="keywordtype">long</span>(0),j-matB.<a class="code" href="class__zgbmatrix.html#a0b32db6f9ae374d5d390e24686433a77" title="upper band width">ku</a>); k&lt;std::min(matB.<a class="code" href="class__zgbmatrix.html#a2c7cdee481455ef265dc77dea7cd03cf" title="matrix row size">m</a>,j+matB.<a class="code" href="class__zgbmatrix.html#a0a88723ded8d7728a8b90ddfd28e5d0c" title="lower band width">kl</a>+1); k++){
        newmat(<a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>,j)+=matA(<a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>,k)*matB(k,j);
      }
    }
  }
  
  matB.<a class="code" href="class__zgbmatrix.html#a30eb8221fd3a4046e3c3eb6ba9902bc8">destroy</a>();
  <span class="keywordflow">return</span> <a class="code" href="classzhematrix.html#a528c8dd57c865bc962bec4e1bca233c1">_</a>(newmat);
}
</pre></div>
</div>
</div>
<a class="anchor" id="a21cb20e7afa27a28ac1b084a60a1a631"></a><!-- doxytag: member="zhematrix::operator*" ref="a21cb20e7afa27a28ac1b084a60a1a631" args="(const zhematrix &amp;, const zgsmatrix &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="classzhematrix.html">zhematrix</a> &amp;&#160;</td>
          <td class="paramname">, </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">&#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="a3d72a3dd26e1a366d0e69d415f851eed"></a><!-- doxytag: member="zhematrix::operator*" ref="a3d72a3dd26e1a366d0e69d415f851eed" args="(const zhematrix &amp;, const _zgsmatrix &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="classzhematrix.html">zhematrix</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__zgsmatrix.html">_zgsmatrix</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="a2edee34371e0e67b5d7f56d09d8dc793"></a><!-- doxytag: member="zhematrix::operator*" ref="a2edee34371e0e67b5d7f56d09d8dc793" args="(const zhematrix &amp;, const zhsmatrix &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="classzhematrix.html">zhematrix</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="ac2539ebb3ccbbfe2521f836fe72a720e"></a><!-- doxytag: member="zhematrix::operator*" ref="ac2539ebb3ccbbfe2521f836fe72a720e" args="(const zhematrix &amp;, const _zhsmatrix &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="classzhematrix.html">zhematrix</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="ad3af843cfd070a64b2056e55911889b3"></a><!-- doxytag: member="zhematrix::operator*" ref="ad3af843cfd070a64b2056e55911889b3" args="(const zhematrix &amp;, const double &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class__zhematrix.html">_zhematrix</a> operator* </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classzhematrix.html">zhematrix</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>zhematrix*double operator </p>

<p>Definition at line <a class="el" href="zhematrix-double_8hpp_source.html#l00023">23</a> of file <a class="el" href="zhematrix-double_8hpp_source.html">zhematrix-double.hpp</a>.</p>
<div class="fragment"><pre class="fragment">{VERBOSE_REPORT;
  <a class="code" href="classzhematrix.html" title="Complex Double-precision Hermitian Matrix Class [l-type (UPLO=l) Strage].">zhematrix</a> newmat(mat.<a class="code" href="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" title="matrix column size">n</a>);
  <span class="keywordflow">for</span>(<span class="keywordtype">long</span> <a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>=0; <a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>&lt;mat.<a class="code" href="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" title="matrix column size">n</a>*mat.<a class="code" href="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" title="matrix column size">n</a>; <a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>++){ newmat.array[<a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>] =mat.<a class="code" href="classzhematrix.html#a9f868de87a273d9f02ff31700fd2e068" title="1D array to store matrix data">array</a>[<a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>]*d; }
  
  <span class="keywordflow">return</span> <a class="code" href="classzhematrix.html#a528c8dd57c865bc962bec4e1bca233c1">_</a>(newmat);
}
</pre></div>
</div>
</div>
<a class="anchor" id="a6e4625858070f449fa80c7a8674c1dce"></a><!-- doxytag: member="zhematrix::operator*" ref="a6e4625858070f449fa80c7a8674c1dce" args="(const zhematrix &amp;, const comple &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="classzhematrix.html">zhematrix</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>zhematrix*comple operator </p>

<p>Definition at line <a class="el" href="zhematrix-complex_8hpp_source.html#l00003">3</a> of file <a class="el" href="zhematrix-complex_8hpp_source.html">zhematrix-complex.hpp</a>.</p>
<div class="fragment"><pre class="fragment">{VERBOSE_REPORT;
  mat.<a class="code" href="classzhematrix.html#a677b0e1df7c504a915029ae1e652a6a8">complete</a>();
  <a class="code" href="classzgematrix.html" title="Complex Double-precision General Dence Matrix Class.">zgematrix</a> newmat(mat.<a class="code" href="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" title="matrix column size">n</a>, mat.<a class="code" href="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" title="matrix column size">n</a>);
  <span class="keywordflow">for</span>(<span class="keywordtype">long</span> <a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>=0; <a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>&lt;mat.<a class="code" href="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" title="matrix column size">n</a>*mat.<a class="code" href="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" title="matrix column size">n</a>; <a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>++){ newmat.array[<a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>] =mat.<a class="code" href="classzhematrix.html#a9f868de87a273d9f02ff31700fd2e068" title="1D array to store matrix data">array</a>[<a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>]*d; }
  
  <span class="keywordflow">return</span> <a class="code" href="classzhematrix.html#a528c8dd57c865bc962bec4e1bca233c1">_</a>(newmat);
}
</pre></div>
</div>
</div>
<a class="anchor" id="a97ae432aa14b7e9bd535b95616760d3c"></a><!-- doxytag: member="zhematrix::operator/" ref="a97ae432aa14b7e9bd535b95616760d3c" args="(const zhematrix &amp;, const double &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class__zhematrix.html">_zhematrix</a> operator/ </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classzhematrix.html">zhematrix</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>zhematrix/double operator </p>

<p>Definition at line <a class="el" href="zhematrix-double_8hpp_source.html#l00033">33</a> of file <a class="el" href="zhematrix-double_8hpp_source.html">zhematrix-double.hpp</a>.</p>
<div class="fragment"><pre class="fragment">{VERBOSE_REPORT;
  <a class="code" href="classzhematrix.html" title="Complex Double-precision Hermitian Matrix Class [l-type (UPLO=l) Strage].">zhematrix</a> newmat(mat.<a class="code" href="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" title="matrix column size">n</a>);
  <span class="keywordflow">for</span>(<span class="keywordtype">long</span> <a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>=0; <a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>&lt;mat.<a class="code" href="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" title="matrix column size">n</a>*mat.<a class="code" href="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" title="matrix column size">n</a>; <a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>++){ newmat.array[<a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>] =mat.<a class="code" href="classzhematrix.html#a9f868de87a273d9f02ff31700fd2e068" title="1D array to store matrix data">array</a>[<a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>]/d; }
  
  <span class="keywordflow">return</span> <a class="code" href="classzhematrix.html#a528c8dd57c865bc962bec4e1bca233c1">_</a>(newmat);
}
</pre></div>
</div>
</div>
<a class="anchor" id="a5072daa3f8cc3fecff74bf7d20fd8df8"></a><!-- doxytag: member="zhematrix::operator/" ref="a5072daa3f8cc3fecff74bf7d20fd8df8" args="(const zhematrix &amp;, const comple &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="classzhematrix.html">zhematrix</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>zhematrix/comple operator </p>

<p>Definition at line <a class="el" href="zhematrix-complex_8hpp_source.html#l00014">14</a> of file <a class="el" href="zhematrix-complex_8hpp_source.html">zhematrix-complex.hpp</a>.</p>
<div class="fragment"><pre class="fragment">{VERBOSE_REPORT;
  mat.<a class="code" href="classzhematrix.html#a677b0e1df7c504a915029ae1e652a6a8">complete</a>();
  <a class="code" href="classzgematrix.html" title="Complex Double-precision General Dence Matrix Class.">zgematrix</a> newmat(mat.<a class="code" href="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" title="matrix column size">n</a>, mat.<a class="code" href="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" title="matrix column size">n</a>);
  <span class="keywordflow">for</span>(<span class="keywordtype">long</span> <a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>=0; <a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>&lt;mat.<a class="code" href="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" title="matrix column size">n</a>*mat.<a class="code" href="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" title="matrix column size">n</a>; <a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>++){ newmat.array[<a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>] =mat.<a class="code" href="classzhematrix.html#a9f868de87a273d9f02ff31700fd2e068" title="1D array to store matrix data">array</a>[<a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>]/d; }
  
  <span class="keywordflow">return</span> <a class="code" href="classzhematrix.html#a528c8dd57c865bc962bec4e1bca233c1">_</a>(newmat);
}
</pre></div>
</div>
</div>
<a class="anchor" id="ada8d78e83fcff1748a852fa2ac4dad8d"></a><!-- doxytag: member="zhematrix::operator*" ref="ada8d78e83fcff1748a852fa2ac4dad8d" args="(const double &amp;, const zhematrix &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class__zhematrix.html">_zhematrix</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="classzhematrix.html">zhematrix</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*zhematrix operator </p>

<p>Definition at line <a class="el" href="double-zhematrix_8hpp_source.html#l00003">3</a> of file <a class="el" href="double-zhematrix_8hpp_source.html">double-zhematrix.hpp</a>.</p>
<div class="fragment"><pre class="fragment">{VERBOSE_REPORT;
  <a class="code" href="classzhematrix.html" title="Complex Double-precision Hermitian Matrix Class [l-type (UPLO=l) Strage].">zhematrix</a> newmat(mat.<a class="code" href="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" title="matrix column size">n</a>);
  <span class="keywordflow">for</span>(<span class="keywordtype">long</span> <a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>=0; <a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>&lt;mat.<a class="code" href="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" title="matrix column size">n</a>*mat.<a class="code" href="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" title="matrix column size">n</a>; <a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>++){ newmat.array[<a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>] =d*mat.<a class="code" href="classzhematrix.html#a9f868de87a273d9f02ff31700fd2e068" title="1D array to store matrix data">array</a>[<a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>]; }  
  <span class="keywordflow">return</span> <a class="code" href="classzhematrix.html#a528c8dd57c865bc962bec4e1bca233c1">_</a>(newmat);
}
</pre></div>
</div>
</div>
<a class="anchor" id="ae8a181e046653688491375a28398b167"></a><!-- doxytag: member="zhematrix::operator*" ref="ae8a181e046653688491375a28398b167" args="(const comple &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 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="classzhematrix.html">zhematrix</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>comple*zhematrix operator </p>

<p>Definition at line <a class="el" href="complex-zhematrix_8hpp_source.html#l00003">3</a> of file <a class="el" href="complex-zhematrix_8hpp_source.html">complex-zhematrix.hpp</a>.</p>
<div class="fragment"><pre class="fragment">{VERBOSE_REPORT;
  mat.<a class="code" href="classzhematrix.html#a677b0e1df7c504a915029ae1e652a6a8">complete</a>();
  <a class="code" href="classzgematrix.html" title="Complex Double-precision General Dence Matrix Class.">zgematrix</a> newmat(mat.<a class="code" href="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" title="matrix column size">n</a>, mat.<a class="code" href="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" title="matrix column size">n</a>);
  <span class="keywordflow">for</span>(<span class="keywordtype">long</span> <a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>=0; <a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>&lt;mat.<a class="code" href="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" title="matrix column size">n</a>*mat.<a class="code" href="classzhematrix.html#a03e22e408f98102f65c1b8b4acc4c082" title="matrix column size">n</a>; <a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>++){ newmat.array[<a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>] =d*mat.<a class="code" href="classzhematrix.html#a9f868de87a273d9f02ff31700fd2e068" title="1D array to store matrix data">array</a>[<a class="code" href="classzhematrix.html#a3ccb001debd3ab5da87b87cc4ac86e1f">i</a>]; }
  
  <span class="keywordflow">return</span> <a class="code" href="classzhematrix.html#a528c8dd57c865bc962bec4e1bca233c1">_</a>(newmat);
}
</pre></div>
</div>
</div>
<hr/><h2>Member Data Documentation</h2>
<a class="anchor" id="aa1a249b90a12e0572c7070cf1948f93d"></a><!-- doxytag: member="zhematrix::m" ref="aa1a249b90a12e0572c7070cf1948f93d" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">long const&amp; <a class="el" href="classzhematrix.html#aa1a249b90a12e0572c7070cf1948f93d">zhematrix::m</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>matrix row size </p>

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

<p>Referenced by <a class="el" href="zhematrix-misc_8hpp_source.html#l00139">col()</a>, <a class="el" href="__zgbmatrix-zssmatrix_8hpp_source.html#l00053">operator*()</a>, <a class="el" href="__zgbmatrix-zssmatrix_8hpp_source.html#l00003">operator+()</a>, <a class="el" href="__zgbmatrix-zssmatrix_8hpp_source.html#l00028">operator-()</a>, <a class="el" href="zhematrix-misc_8hpp_source.html#l00121">row()</a>, and <a class="el" href="zhematrix__small-constructors_8hpp_source.html#l00012">zhematrix_small&lt; n &gt;::zhematrix_small()</a>.</p>

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

<p>matrix column size </p>

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

<p>Referenced by <a class="el" href="zhematrix-misc_8hpp_source.html#l00173">_()</a>, <a class="el" href="zhematrix-misc_8hpp_source.html#l00057">chsign()</a>, <a class="el" href="zhematrix-misc_8hpp_source.html#l00020">clear()</a>, <a class="el" href="zhematrix-misc_8hpp_source.html#l00139">col()</a>, <a class="el" href="zhematrix-misc_8hpp_source.html#l00003">complete()</a>, <a class="el" href="zhematrix-calc_8hpp_source.html#l00031">conj()</a>, <a class="el" href="zhematrix-misc_8hpp_source.html#l00068">copy()</a>, <a class="el" href="__zhematrix-calc_8hpp_source.html#l00015">i()</a>, <a class="el" href="zhematrix-misc_8hpp_source.html#l00043">identity()</a>, <a class="el" href="zhematrix-io_8hpp_source.html#l00003">operator()()</a>, <a class="el" href="__zgbmatrix-zhematrix_8hpp_source.html#l00051">operator*()</a>, <a class="el" href="zhematrix-double_8hpp_source.html#l00003">operator*=()</a>, <a class="el" href="zgematrix-zhematrix_8hpp_source.html#l00043">zgematrix::operator*=()</a>, <a class="el" href="__zgbmatrix-zhematrix_8hpp_source.html#l00003">operator+()</a>, <a class="el" href="zhematrix-__zhematrix_8hpp_source.html#l00015">operator+=()</a>, <a class="el" href="zgematrix-zhematrix_8hpp_source.html#l00003">zgematrix::operator+=()</a>, <a class="el" href="__zgbmatrix-zhematrix_8hpp_source.html#l00027">operator-()</a>, <a class="el" href="zhematrix-__zhematrix_8hpp_source.html#l00036">operator-=()</a>, <a class="el" href="zgematrix-zhematrix_8hpp_source.html#l00023">zgematrix::operator-=()</a>, <a class="el" href="zhematrix-complex_8hpp_source.html#l00014">operator/()</a>, <a class="el" href="zhematrix-double_8hpp_source.html#l00011">operator/=()</a>, <a class="el" href="zhematrix-io_8hpp_source.html#l00065">operator&lt;&lt;()</a>, <a class="el" href="zhematrix-io_8hpp_source.html#l00118">read()</a>, <a class="el" href="zhematrix-misc_8hpp_source.html#l00096">resize()</a>, <a class="el" href="zhematrix-misc_8hpp_source.html#l00121">row()</a>, <a class="el" href="zhematrix-io_8hpp_source.html#l00041">set()</a>, <a class="el" href="zhematrix-misc_8hpp_source.html#l00083">shallow_copy()</a>, <a class="el" href="zhematrix-misc_8hpp_source.html#l00161">swap()</a>, <a class="el" href="zhematrix-calc_8hpp_source.html#l00003">t()</a>, <a class="el" href="zhematrix-cast_8hpp_source.html#l00003">to_zgematrix()</a>, <a class="el" href="zhematrix-io_8hpp_source.html#l00091">write()</a>, <a class="el" href="zhematrix-misc_8hpp_source.html#l00031">zero()</a>, <a class="el" href="zhematrix-lapack_8hpp_source.html#l00080">zheev()</a>, <a class="el" href="zhematrix-constructor_8hpp_source.html#l00003">zhematrix()</a>, <a class="el" href="zhematrix__small-constructors_8hpp_source.html#l00012">zhematrix_small&lt; n &gt;::zhematrix_small()</a>, and <a class="el" href="zhematrix-lapack_8hpp_source.html#l00006">zhesv()</a>.</p>

</div>
</div>
<a class="anchor" id="a9f868de87a273d9f02ff31700fd2e068"></a><!-- doxytag: member="zhematrix::array" ref="a9f868de87a273d9f02ff31700fd2e068" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">comple* <a class="el" href="classzhematrix.html#a9f868de87a273d9f02ff31700fd2e068">zhematrix::array</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

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

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

<p>Referenced by <a class="el" href="zhematrix-misc_8hpp_source.html#l00173">_()</a>, <a class="el" href="zhematrix-misc_8hpp_source.html#l00020">clear()</a>, <a class="el" href="zhematrix-misc_8hpp_source.html#l00068">copy()</a>, <a class="el" href="__zgbmatrix-zssmatrix_8hpp_source.html#l00053">operator*()</a>, <a class="el" href="zhematrix-double_8hpp_source.html#l00003">operator*=()</a>, <a class="el" href="zgematrix-zhematrix_8hpp_source.html#l00043">zgematrix::operator*=()</a>, <a class="el" href="__zgematrix-zssmatrix_8hpp_source.html#l00003">operator+()</a>, <a class="el" href="zhematrix-__zhematrix_8hpp_source.html#l00015">operator+=()</a>, <a class="el" href="__zgematrix-zssmatrix_8hpp_source.html#l00023">operator-()</a>, <a class="el" href="zhematrix-__zhematrix_8hpp_source.html#l00036">operator-=()</a>, <a class="el" href="zhematrix-complex_8hpp_source.html#l00014">operator/()</a>, <a class="el" href="zhematrix-double_8hpp_source.html#l00011">operator/=()</a>, <a class="el" href="zhematrix-zhematrix_8hpp_source.html#l00003">operator=()</a>, <a class="el" href="zhematrix-misc_8hpp_source.html#l00096">resize()</a>, <a class="el" href="zhematrix-misc_8hpp_source.html#l00083">shallow_copy()</a>, <a class="el" href="zhematrix-misc_8hpp_source.html#l00161">swap()</a>, <a class="el" href="zhematrix-lapack_8hpp_source.html#l00080">zheev()</a>, <a class="el" href="zhematrix-constructor_8hpp_source.html#l00003">zhematrix()</a>, <a class="el" href="zhematrix__small-constructors_8hpp_source.html#l00012">zhematrix_small&lt; n &gt;::zhematrix_small()</a>, <a class="el" href="zhematrix-lapack_8hpp_source.html#l00006">zhesv()</a>, and <a class="el" href="zhematrix-constructor_8hpp_source.html#l00086">~zhematrix()</a>.</p>

</div>
</div>
<a class="anchor" id="a1aae8b9ab0fe803d00df06dbd6d3315f"></a><!-- doxytag: member="zhematrix::darray" ref="a1aae8b9ab0fe803d00df06dbd6d3315f" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">comple** <a class="el" href="classzhematrix.html#a1aae8b9ab0fe803d00df06dbd6d3315f">zhematrix::darray</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

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

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

<p>Referenced by <a class="el" href="zhematrix-misc_8hpp_source.html#l00173">_()</a>, <a class="el" href="zhematrix-misc_8hpp_source.html#l00057">chsign()</a>, <a class="el" href="zhematrix-misc_8hpp_source.html#l00020">clear()</a>, <a class="el" href="zhematrix-misc_8hpp_source.html#l00003">complete()</a>, <a class="el" href="zhematrix-misc_8hpp_source.html#l00068">copy()</a>, <a class="el" href="zhematrix-misc_8hpp_source.html#l00043">identity()</a>, <a class="el" href="zhematrix-io_8hpp_source.html#l00003">operator()()</a>, <a class="el" href="zhematrix-io_8hpp_source.html#l00118">read()</a>, <a class="el" href="zhematrix-misc_8hpp_source.html#l00096">resize()</a>, <a class="el" href="zhematrix-io_8hpp_source.html#l00041">set()</a>, <a class="el" href="zhematrix-misc_8hpp_source.html#l00083">shallow_copy()</a>, <a class="el" href="zhematrix-misc_8hpp_source.html#l00161">swap()</a>, <a class="el" href="zhematrix-misc_8hpp_source.html#l00031">zero()</a>, <a class="el" href="zhematrix-constructor_8hpp_source.html#l00003">zhematrix()</a>, and <a class="el" href="zhematrix-constructor_8hpp_source.html#l00086">~zhematrix()</a>.</p>

</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li><a class="el" href="zhematrix_8hpp_source.html">zhematrix.hpp</a></li>
<li><a class="el" href="zhematrix-__zhematrix_8hpp_source.html">zhematrix-_zhematrix.hpp</a></li>
<li><a class="el" href="zhematrix-cast_8hpp_source.html">zhematrix-cast.hpp</a></li>
<li><a class="el" href="zhematrix-constructor_8hpp_source.html">zhematrix-constructor.hpp</a></li>
<li><a class="el" href="zhematrix-double_8hpp_source.html">zhematrix-double.hpp</a></li>
<li><a class="el" href="zhematrix-io_8hpp_source.html">zhematrix-io.hpp</a></li>
<li><a class="el" href="zhematrix-lapack_8hpp_source.html">zhematrix-lapack.hpp</a></li>
<li><a class="el" href="zhematrix-misc_8hpp_source.html">zhematrix-misc.hpp</a></li>
<li><a class="el" href="zhematrix-zhematrix_8hpp_source.html">zhematrix-zhematrix.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>
