<!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: dgbmatrix 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">dgbmatrix Class Reference</div>  </div>
</div><!--header-->
<div class="contents">
<!-- doxytag: class="dgbmatrix" -->
<p>Real Double-precision General Band Matrix Class.  
 <a href="classdgbmatrix.html#details">More...</a></p>

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

<p><a href="classdgbmatrix-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="classdgbmatrix.html#a5ce4cb0e20061893496f72575e05874e">dgbmatrix</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdgbmatrix.html#af446052486d1ef768a64bc7b3c4d48ea">dgbmatrix</a> (const <a class="el" href="classdgbmatrix.html">dgbmatrix</a> &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdgbmatrix.html#ae7ba0c3f655161f9d554376230912c52">dgbmatrix</a> (const <a class="el" href="class__dgbmatrix.html">_dgbmatrix</a> &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdgbmatrix.html#a503511aa61821949d256faef7917864b">dgbmatrix</a> (const long &amp;, const long &amp;, const long &amp;, const long &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdgbmatrix.html#a50c394486f92e5ff55a92c41598446ea">dgbmatrix</a> (const char *)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdgbmatrix.html#a4acf7be63c15efb4c8b3f286362e2cf2">~dgbmatrix</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class__zgbmatrix.html">_zgbmatrix</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdgbmatrix.html#a1ef1fd28c48d140a1af18f82ede9c07f">to_zgbmatrix</a> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class__dgematrix.html">_dgematrix</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdgbmatrix.html#a6031ff65aa47db0ef3617533616170f0">to_dgematrix</a> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">double &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdgbmatrix.html#a1de0cb1230e2dd683f7e3d38a1560e79">operator()</a> (const long &amp;, const long &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdgbmatrix.html#a6f0c8bd750953c90eb0dfb1c58e50f42">operator()</a> (const long &amp;, const long &amp;) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classdgbmatrix.html">dgbmatrix</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdgbmatrix.html#ac5e779fabf20353d788e366b7888e031">set</a> (const long &amp;, const long &amp;, const double &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdgbmatrix.html#a27e0989ea5d2b9e8b4e3a5a8c0eebc43">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="classdgbmatrix.html#a03d6c643cdd5df88385110f288bafd40">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="classdgbmatrix.html#abab16854897a079bf1b52f24307eb35d">clear</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classdgbmatrix.html">dgbmatrix</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdgbmatrix.html#a588f21fb4a5055f33b7baa6a3bf912b7">zero</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classdgbmatrix.html">dgbmatrix</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdgbmatrix.html#a49736d509c5f59beb23f8aaf7591aebe">identity</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdgbmatrix.html#a8e27854e0a8efdac31eabd910a6b125b">chsign</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdgbmatrix.html#a20a47eb545e57a57bb14babfeb9d448c">copy</a> (const <a class="el" href="classdgbmatrix.html">dgbmatrix</a> &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdgbmatrix.html#a04cc4d842f26e2b122e85877c913c1dc">shallow_copy</a> (const <a class="el" href="class__dgbmatrix.html">_dgbmatrix</a> &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classdgbmatrix.html">dgbmatrix</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdgbmatrix.html#af1e2e686717e3797cb607c86e251535c">resize</a> (const long &amp;, const long &amp;, const long &amp;, const long &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class__drovector.html">_drovector</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdgbmatrix.html#a046f6bb87bda0ccfbb5c5f07cda398bf">row</a> (const long &amp;) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class__dcovector.html">_dcovector</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdgbmatrix.html#a7db80d7a5944dcccd93a5bd687a312c1">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="classdgbmatrix.html#a78bd46e693fcf3a5bb4ea5531cf39ed5">dgbsv</a> (<a class="el" href="classdgematrix.html">dgematrix</a> &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">long&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdgbmatrix.html#a468f40baf842027deb622e23346568bd">dgbsv</a> (<a class="el" href="classdcovector.html">dcovector</a> &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classdgbmatrix.html">dgbmatrix</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdgbmatrix.html#ac1e72f743cdeb2b2d27a63fb54bfd16a">operator=</a> (const <a class="el" href="classdgbmatrix.html">dgbmatrix</a> &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classdgbmatrix.html">dgbmatrix</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdgbmatrix.html#aa237562b6322deac9935fcb8b68dcd86">operator=</a> (const <a class="el" href="class__dgbmatrix.html">_dgbmatrix</a> &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classdgbmatrix.html">dgbmatrix</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdgbmatrix.html#aa6e4759df46077a8512f5aa9a2162c4e">operator+=</a> (const <a class="el" href="classdgbmatrix.html">dgbmatrix</a> &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classdgbmatrix.html">dgbmatrix</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdgbmatrix.html#aa40a8bd63ef51b9c3235468aa6e182f1">operator+=</a> (const <a class="el" href="class__dgbmatrix.html">_dgbmatrix</a> &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classdgbmatrix.html">dgbmatrix</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdgbmatrix.html#a8af0b73dd66973e0d91d042513c34d90">operator-=</a> (const <a class="el" href="classdgbmatrix.html">dgbmatrix</a> &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classdgbmatrix.html">dgbmatrix</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdgbmatrix.html#a7834a2626cadfa6157773ba34ab8e2c5">operator-=</a> (const <a class="el" href="class__dgbmatrix.html">_dgbmatrix</a> &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classdgbmatrix.html">dgbmatrix</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdgbmatrix.html#a03a1aa13a44e3610bfdbf2a2fa7d26d9">operator*=</a> (const <a class="el" href="classdgbmatrix.html">dgbmatrix</a> &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classdgbmatrix.html">dgbmatrix</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdgbmatrix.html#a4ee58ca69a115f4ab62a5c4f0fbc4129">operator*=</a> (const <a class="el" href="class__dgbmatrix.html">_dgbmatrix</a> &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classdgbmatrix.html">dgbmatrix</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdgbmatrix.html#a9b125867ed1e2f8e02de5beddb921a2e">operator*=</a> (const double &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classdgbmatrix.html">dgbmatrix</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdgbmatrix.html#aae66d1db2c796ebd7af701b4d49619b7">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&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdgbmatrix.html#af8a3e6bc4557b151f0049b8224f54580">m</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">matrix row size  <a href="#af8a3e6bc4557b151f0049b8224f54580"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">long&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdgbmatrix.html#a5b6fe4d1cfa71161b09ecf0b59befd0e">n</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">matrix column size  <a href="#a5b6fe4d1cfa71161b09ecf0b59befd0e"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">long&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdgbmatrix.html#aeeb3e79431677905a4ece19c6616edd4">kl</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">lower band width  <a href="#aeeb3e79431677905a4ece19c6616edd4"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">long&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdgbmatrix.html#a0b4d519e95ddf780bf1151a42018d646">ku</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">upper band width  <a href="#a0b4d519e95ddf780bf1151a42018d646"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">double *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdgbmatrix.html#a3a208131351663f0aa4a95c87851d23c">array</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">1D array to store matrix data  <a href="#a3a208131351663f0aa4a95c87851d23c"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">double **&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdgbmatrix.html#afc4317fc1c0015fc1ac6316455457a53">darray</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">array of pointers of column head addresses  <a href="#afc4317fc1c0015fc1ac6316455457a53"></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="classdgbmatrix.html#a67d7e60b441c8a6b527b290ab45d5a8d">operator&lt;&lt;</a> (std::ostream &amp;, const <a class="el" href="classdgbmatrix.html">dgbmatrix</a> &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdgbmatrix.html#a6b97772f3dec963a7745ad448c3919a5">swap</a> (<a class="el" href="classdgbmatrix.html">dgbmatrix</a> &amp;, <a class="el" href="classdgbmatrix.html">dgbmatrix</a> &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class__dgbmatrix.html">_dgbmatrix</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdgbmatrix.html#a7d6b5211b5f8c6593be96fbd9447a0df">_</a> (<a class="el" href="classdgbmatrix.html">dgbmatrix</a> &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class__dgbmatrix.html">_dgbmatrix</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdgbmatrix.html#a1b53ef495ddd14f2d6e7c0a5bbd5ca37">t</a> (const <a class="el" href="classdgbmatrix.html">dgbmatrix</a> &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class__dgematrix.html">_dgematrix</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a> (const <a class="el" href="classdgbmatrix.html">dgbmatrix</a> &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classdgbmatrix.html">dgbmatrix</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdgbmatrix.html#a29dd231a2c408065d14678ce32714b6d">operator+</a> (const <a class="el" href="classdgbmatrix.html">dgbmatrix</a> &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class__dgbmatrix.html">_dgbmatrix</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdgbmatrix.html#ae356ca46e4d737c4f815f94c66af0a6e">operator-</a> (const <a class="el" href="classdgbmatrix.html">dgbmatrix</a> &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class__dgematrix.html">_dgematrix</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdgbmatrix.html#a9e1efe17adfb0a69d924789bc527366b">operator+</a> (const <a class="el" href="classdgbmatrix.html">dgbmatrix</a> &amp;, const <a class="el" href="classdgematrix.html">dgematrix</a> &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class__dgematrix.html">_dgematrix</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdgbmatrix.html#a59dec52fe3de9cb7acd254fbd6a56557">operator+</a> (const <a class="el" href="classdgbmatrix.html">dgbmatrix</a> &amp;, const <a class="el" href="class__dgematrix.html">_dgematrix</a> &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class__dgematrix.html">_dgematrix</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdgbmatrix.html#a6839dca91c3dc9796536fafe0d1568eb">operator+</a> (const <a class="el" href="classdgbmatrix.html">dgbmatrix</a> &amp;, const <a class="el" href="classdsymatrix.html">dsymatrix</a> &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class__dgematrix.html">_dgematrix</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdgbmatrix.html#a5cc08145fa9945c77b189cf1d856d012">operator+</a> (const <a class="el" href="classdgbmatrix.html">dgbmatrix</a> &amp;, const <a class="el" href="class__dsymatrix.html">_dsymatrix</a> &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class__dgbmatrix.html">_dgbmatrix</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdgbmatrix.html#a6187dbf5e95cbef9495ed14736326bdf">operator+</a> (const <a class="el" href="classdgbmatrix.html">dgbmatrix</a> &amp;, const <a class="el" href="classdgbmatrix.html">dgbmatrix</a> &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class__dgbmatrix.html">_dgbmatrix</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdgbmatrix.html#a9b999a192c167bc3a11cd3061fb0f5e7">operator+</a> (const <a class="el" href="classdgbmatrix.html">dgbmatrix</a> &amp;, const <a class="el" href="class__dgbmatrix.html">_dgbmatrix</a> &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class__dgematrix.html">_dgematrix</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdgbmatrix.html#ae5da9bd4de0b5fd00ba7fafc779ec46a">operator+</a> (const <a class="el" href="classdgbmatrix.html">dgbmatrix</a> &amp;, const <a class="el" href="classdgsmatrix.html">dgsmatrix</a> &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class__dgematrix.html">_dgematrix</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdgbmatrix.html#a2ba1707a7a437408909df402840c54b0">operator+</a> (const <a class="el" href="classdgbmatrix.html">dgbmatrix</a> &amp;, const <a class="el" href="class__dgsmatrix.html">_dgsmatrix</a> &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class__dgematrix.html">_dgematrix</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdgbmatrix.html#a4bfe5ab55cc848a71890ad7be3050946">operator+</a> (const <a class="el" href="classdgbmatrix.html">dgbmatrix</a> &amp;, const <a class="el" href="classdssmatrix.html">dssmatrix</a> &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class__dgematrix.html">_dgematrix</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdgbmatrix.html#aed99994b04ccf705b0a1bf71a078621b">operator+</a> (const <a class="el" href="classdgbmatrix.html">dgbmatrix</a> &amp;, const <a class="el" href="class__dssmatrix.html">_dssmatrix</a> &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class__dgematrix.html">_dgematrix</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdgbmatrix.html#a87c484158289df3154e11f85c4a0a9f4">operator-</a> (const <a class="el" href="classdgbmatrix.html">dgbmatrix</a> &amp;, const <a class="el" href="classdgematrix.html">dgematrix</a> &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class__dgematrix.html">_dgematrix</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdgbmatrix.html#a0df5c78848ab17ce3fa22b5a29bef472">operator-</a> (const <a class="el" href="classdgbmatrix.html">dgbmatrix</a> &amp;, const <a class="el" href="class__dgematrix.html">_dgematrix</a> &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class__dgematrix.html">_dgematrix</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdgbmatrix.html#a468acc73f939966e2797463c45832c46">operator-</a> (const <a class="el" href="classdgbmatrix.html">dgbmatrix</a> &amp;, const <a class="el" href="classdsymatrix.html">dsymatrix</a> &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class__dgematrix.html">_dgematrix</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdgbmatrix.html#ad3747613ec41fb253a974aa3bc635903">operator-</a> (const <a class="el" href="classdgbmatrix.html">dgbmatrix</a> &amp;, const <a class="el" href="class__dsymatrix.html">_dsymatrix</a> &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class__dgbmatrix.html">_dgbmatrix</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdgbmatrix.html#a9d0bf014bc2315de7f7467341b449f25">operator-</a> (const <a class="el" href="classdgbmatrix.html">dgbmatrix</a> &amp;, const <a class="el" href="classdgbmatrix.html">dgbmatrix</a> &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class__dgbmatrix.html">_dgbmatrix</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdgbmatrix.html#ab53277b0c4b61e40b5d308c2eb8e3804">operator-</a> (const <a class="el" href="classdgbmatrix.html">dgbmatrix</a> &amp;, const <a class="el" href="class__dgbmatrix.html">_dgbmatrix</a> &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class__dgematrix.html">_dgematrix</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdgbmatrix.html#a2d1eb0bda91baef1f7d26510b59cfebd">operator-</a> (const <a class="el" href="classdgbmatrix.html">dgbmatrix</a> &amp;, const <a class="el" href="classdgsmatrix.html">dgsmatrix</a> &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class__dgematrix.html">_dgematrix</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdgbmatrix.html#ab6b8176fff5b4ca94a238a4055ec521a">operator-</a> (const <a class="el" href="classdgbmatrix.html">dgbmatrix</a> &amp;, const <a class="el" href="class__dgsmatrix.html">_dgsmatrix</a> &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class__dgematrix.html">_dgematrix</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdgbmatrix.html#a4f9812eae30c05a0d8cb062817b9e3bb">operator-</a> (const <a class="el" href="classdgbmatrix.html">dgbmatrix</a> &amp;, const <a class="el" href="classdssmatrix.html">dssmatrix</a> &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class__dgematrix.html">_dgematrix</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdgbmatrix.html#ab8ced86441ea00ce9308e24b1e25a2b4">operator-</a> (const <a class="el" href="classdgbmatrix.html">dgbmatrix</a> &amp;, const <a class="el" href="class__dssmatrix.html">_dssmatrix</a> &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class__dcovector.html">_dcovector</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdgbmatrix.html#a79cc5fb822f809cc415664cf2e528b6e">operator*</a> (const <a class="el" href="classdgbmatrix.html">dgbmatrix</a> &amp;, const <a class="el" href="classdcovector.html">dcovector</a> &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class__dcovector.html">_dcovector</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdgbmatrix.html#a35b90b9386f49305e0fbfc0d6269e214">operator*</a> (const <a class="el" href="classdgbmatrix.html">dgbmatrix</a> &amp;, const <a class="el" href="class__dcovector.html">_dcovector</a> &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class__dgematrix.html">_dgematrix</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdgbmatrix.html#af809c3931743cf63d64e77b4720c2276">operator*</a> (const <a class="el" href="classdgbmatrix.html">dgbmatrix</a> &amp;, const <a class="el" href="classdgematrix.html">dgematrix</a> &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class__dgematrix.html">_dgematrix</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdgbmatrix.html#afc8daaf197e41cb034ab63070228c0bf">operator*</a> (const <a class="el" href="classdgbmatrix.html">dgbmatrix</a> &amp;, const <a class="el" href="class__dgematrix.html">_dgematrix</a> &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class__dgematrix.html">_dgematrix</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdgbmatrix.html#ab1bd8b70ce4d8ec787f3081671153777">operator*</a> (const <a class="el" href="classdgbmatrix.html">dgbmatrix</a> &amp;, const <a class="el" href="classdsymatrix.html">dsymatrix</a> &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class__dgematrix.html">_dgematrix</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdgbmatrix.html#ae64085abb9d51f5f3bda46c1e801b2a1">operator*</a> (const <a class="el" href="classdgbmatrix.html">dgbmatrix</a> &amp;, const <a class="el" href="class__dsymatrix.html">_dsymatrix</a> &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class__dgbmatrix.html">_dgbmatrix</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdgbmatrix.html#a5ef2c44883a2b84a5fad656a8d84abd5">operator*</a> (const <a class="el" href="classdgbmatrix.html">dgbmatrix</a> &amp;, const <a class="el" href="classdgbmatrix.html">dgbmatrix</a> &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class__dgbmatrix.html">_dgbmatrix</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdgbmatrix.html#a702d08746920d8b0230b42d1eb2ed732">operator*</a> (const <a class="el" href="classdgbmatrix.html">dgbmatrix</a> &amp;, const <a class="el" href="class__dgbmatrix.html">_dgbmatrix</a> &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class__dgematrix.html">_dgematrix</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdgbmatrix.html#a3b9fac4870221191cee1b09d24fbc2c7">operator*</a> (const <a class="el" href="classdgbmatrix.html">dgbmatrix</a> &amp;, const <a class="el" href="classdgsmatrix.html">dgsmatrix</a> &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class__dgematrix.html">_dgematrix</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdgbmatrix.html#a1cdc9803d285eee77e37bfeac8e69aaf">operator*</a> (const <a class="el" href="classdgbmatrix.html">dgbmatrix</a> &amp;, const <a class="el" href="class__dgsmatrix.html">_dgsmatrix</a> &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class__dgematrix.html">_dgematrix</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdgbmatrix.html#a7c0730f64deee5a21bf07b571d69bc71">operator*</a> (const <a class="el" href="classdgbmatrix.html">dgbmatrix</a> &amp;, const <a class="el" href="classdssmatrix.html">dssmatrix</a> &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class__dgematrix.html">_dgematrix</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdgbmatrix.html#a52e960e060241b4bba0b369819b6482f">operator*</a> (const <a class="el" href="classdgbmatrix.html">dgbmatrix</a> &amp;, const <a class="el" href="class__dssmatrix.html">_dssmatrix</a> &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class__dgbmatrix.html">_dgbmatrix</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdgbmatrix.html#af721618fdf227687a898bb15dd7e5302">operator*</a> (const <a class="el" href="classdgbmatrix.html">dgbmatrix</a> &amp;, const double &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class__dgbmatrix.html">_dgbmatrix</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdgbmatrix.html#ab8a5f4648eaab902ac03a2df59e61b21">operator/</a> (const <a class="el" href="classdgbmatrix.html">dgbmatrix</a> &amp;, const double &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class__dgbmatrix.html">_dgbmatrix</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdgbmatrix.html#a8213bb60731fec08d21735f06bc9a037">operator*</a> (const double &amp;, const <a class="el" href="classdgbmatrix.html">dgbmatrix</a> &amp;)</td></tr>
</table>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>Real Double-precision General Band Matrix Class. </p>

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

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

<p>References <a class="el" href="dgbmatrix_8hpp_source.html#l00013">array</a>, <a class="el" href="dgbmatrix_8hpp_source.html#l00014">darray</a>, <a class="el" href="dgbmatrix_8hpp_source.html#l00011">kl</a>, <a class="el" href="dgbmatrix_8hpp_source.html#l00012">ku</a>, <a class="el" href="dgbmatrix_8hpp_source.html#l00009">m</a>, and <a class="el" href="dgbmatrix_8hpp_source.html#l00010">n</a>.</p>
<div class="fragment"><pre class="fragment">{VERBOSE_REPORT;<span class="comment"></span>
<span class="comment">  //////// initialize ////////</span>
<span class="comment"></span>  <a class="code" href="classdgbmatrix.html#af8a3e6bc4557b151f0049b8224f54580" title="matrix row size">m</a> =0;
  <a class="code" href="classdgbmatrix.html#a5b6fe4d1cfa71161b09ecf0b59befd0e" title="matrix column size">n</a> =0;
  <a class="code" href="classdgbmatrix.html#aeeb3e79431677905a4ece19c6616edd4" title="lower band width">kl</a>=0;
  <a class="code" href="classdgbmatrix.html#a0b4d519e95ddf780bf1151a42018d646" title="upper band width">ku</a>=0;
  <a class="code" href="classdgbmatrix.html#a3a208131351663f0aa4a95c87851d23c" title="1D array to store matrix data">array</a> =NULL;
  <a class="code" href="classdgbmatrix.html#afc4317fc1c0015fc1ac6316455457a53" title="array of pointers of column head addresses">darray</a> =NULL;
}
</pre></div>
</div>
</div>
<a class="anchor" id="af446052486d1ef768a64bc7b3c4d48ea"></a><!-- doxytag: member="dgbmatrix::dgbmatrix" ref="af446052486d1ef768a64bc7b3c4d48ea" args="(const dgbmatrix &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classdgbmatrix.html#a5ce4cb0e20061893496f72575e05874e">dgbmatrix::dgbmatrix</a> </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classdgbmatrix.html">dgbmatrix</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>dgbmatrix copy constructor </p>

<p>Definition at line <a class="el" href="dgbmatrix-constructor_8hpp_source.html#l00016">16</a> of file <a class="el" href="dgbmatrix-constructor_8hpp_source.html">dgbmatrix-constructor.hpp</a>.</p>

<p>References <a class="el" href="dgbmatrix_8hpp_source.html#l00013">array</a>, <a class="el" href="dgbmatrix_8hpp_source.html#l00014">darray</a>, <a class="el" href="dgbmatrix-calc_8hpp_source.html#l00017">i</a>, <a class="el" href="dgbmatrix_8hpp_source.html#l00011">kl</a>, <a class="el" href="dgbmatrix_8hpp_source.html#l00012">ku</a>, <a class="el" href="dgbmatrix_8hpp_source.html#l00009">m</a>, and <a class="el" href="dgbmatrix_8hpp_source.html#l00010">n</a>.</p>
<div class="fragment"><pre class="fragment">{VERBOSE_REPORT;<span class="comment"></span>
<span class="comment">  //////// initialize ////////</span>
<span class="comment"></span>  <a class="code" href="classdgbmatrix.html#af8a3e6bc4557b151f0049b8224f54580" title="matrix row size">m</a> =mat.<a class="code" href="classdgbmatrix.html#af8a3e6bc4557b151f0049b8224f54580" title="matrix row size">m</a>;
  <a class="code" href="classdgbmatrix.html#a5b6fe4d1cfa71161b09ecf0b59befd0e" title="matrix column size">n</a> =mat.<a class="code" href="classdgbmatrix.html#a5b6fe4d1cfa71161b09ecf0b59befd0e" title="matrix column size">n</a>;
  <a class="code" href="classdgbmatrix.html#aeeb3e79431677905a4ece19c6616edd4" title="lower band width">kl</a>=mat.<a class="code" href="classdgbmatrix.html#aeeb3e79431677905a4ece19c6616edd4" title="lower band width">kl</a>;
  <a class="code" href="classdgbmatrix.html#a0b4d519e95ddf780bf1151a42018d646" title="upper band width">ku</a>=mat.<a class="code" href="classdgbmatrix.html#a0b4d519e95ddf780bf1151a42018d646" title="upper band width">ku</a>;
  <a class="code" href="classdgbmatrix.html#a3a208131351663f0aa4a95c87851d23c" title="1D array to store matrix data">array</a> =<span class="keyword">new</span> <span class="keywordtype">double</span>[(<a class="code" href="classdgbmatrix.html#aeeb3e79431677905a4ece19c6616edd4" title="lower band width">kl</a>+<a class="code" href="classdgbmatrix.html#a0b4d519e95ddf780bf1151a42018d646" title="upper band width">ku</a>+1)*<a class="code" href="classdgbmatrix.html#a5b6fe4d1cfa71161b09ecf0b59befd0e" title="matrix column size">n</a>];
  <a class="code" href="classdgbmatrix.html#afc4317fc1c0015fc1ac6316455457a53" title="array of pointers of column head addresses">darray</a> =<span class="keyword">new</span> <span class="keywordtype">double</span>*[<a class="code" href="classdgbmatrix.html#a5b6fe4d1cfa71161b09ecf0b59befd0e" title="matrix column size">n</a>];
  <span class="keywordflow">for</span>(<span class="keywordtype">int</span> <a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>=0; <a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>&lt;<a class="code" href="classdgbmatrix.html#a5b6fe4d1cfa71161b09ecf0b59befd0e" title="matrix column size">n</a>; <a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>++){ darray[<a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>] =&amp;<a class="code" href="classdgbmatrix.html#a3a208131351663f0aa4a95c87851d23c" title="1D array to store matrix data">array</a>[<a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>*(<a class="code" href="classdgbmatrix.html#aeeb3e79431677905a4ece19c6616edd4" title="lower band width">kl</a>+<a class="code" href="classdgbmatrix.html#a0b4d519e95ddf780bf1151a42018d646" title="upper band width">ku</a>+1)]; }
  <span class="comment"></span>
<span class="comment">  //////// copy ////////</span>
<span class="comment"></span>  dcopy_((<a class="code" href="classdgbmatrix.html#aeeb3e79431677905a4ece19c6616edd4" title="lower band width">kl</a>+<a class="code" href="classdgbmatrix.html#a0b4d519e95ddf780bf1151a42018d646" title="upper band width">ku</a>+1)*n, mat.<a class="code" href="classdgbmatrix.html#a3a208131351663f0aa4a95c87851d23c" title="1D array to store matrix data">array</a>, 1, <a class="code" href="classdgbmatrix.html#a3a208131351663f0aa4a95c87851d23c" title="1D array to store matrix data">array</a>, 1);
}
</pre></div>
</div>
</div>
<a class="anchor" id="ae7ba0c3f655161f9d554376230912c52"></a><!-- doxytag: member="dgbmatrix::dgbmatrix" ref="ae7ba0c3f655161f9d554376230912c52" args="(const _dgbmatrix &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classdgbmatrix.html#a5ce4cb0e20061893496f72575e05874e">dgbmatrix::dgbmatrix</a> </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="class__dgbmatrix.html">_dgbmatrix</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>dgbmatrix constructor to cast <a class="el" href="class__dgbmatrix.html" title="(DO NOT USE) Smart-temporary Real Double-precision General Band Matrix Class">_dgbmatrix</a> </p>

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

<p>References <a class="el" href="dgbmatrix_8hpp_source.html#l00013">array</a>, <a class="el" href="__dgbmatrix_8hpp_source.html#l00013">_dgbmatrix::array</a>, <a class="el" href="dgbmatrix_8hpp_source.html#l00014">darray</a>, <a class="el" href="__dgbmatrix_8hpp_source.html#l00014">_dgbmatrix::darray</a>, <a class="el" href="dgbmatrix_8hpp_source.html#l00011">kl</a>, <a class="el" href="__dgbmatrix_8hpp_source.html#l00011">_dgbmatrix::kl</a>, <a class="el" href="__dgbmatrix_8hpp_source.html#l00012">_dgbmatrix::ku</a>, <a class="el" href="dgbmatrix_8hpp_source.html#l00012">ku</a>, <a class="el" href="dgbmatrix_8hpp_source.html#l00009">m</a>, <a class="el" href="__dgbmatrix_8hpp_source.html#l00009">_dgbmatrix::m</a>, <a class="el" href="__dgbmatrix_8hpp_source.html#l00010">_dgbmatrix::n</a>, <a class="el" href="dgbmatrix_8hpp_source.html#l00010">n</a>, and <a class="el" href="__dgbmatrix-misc_8hpp_source.html#l00003">_dgbmatrix::nullify()</a>.</p>
<div class="fragment"><pre class="fragment">{VERBOSE_REPORT;
  <a class="code" href="classdgbmatrix.html#af8a3e6bc4557b151f0049b8224f54580" title="matrix row size">m</a> =mat.<a class="code" href="class__dgbmatrix.html#a587a07ecbbfc6bbdb0e05574ea6b088a" title="matrix row size">m</a>;
  <a class="code" href="classdgbmatrix.html#a5b6fe4d1cfa71161b09ecf0b59befd0e" title="matrix column size">n</a> =mat.<a class="code" href="class__dgbmatrix.html#a95aebc7e2d4ea66b1b7a08e981df6971" title="matrix column size">n</a>;
  <a class="code" href="classdgbmatrix.html#aeeb3e79431677905a4ece19c6616edd4" title="lower band width">kl</a> =mat.<a class="code" href="class__dgbmatrix.html#aeea4fdf76630ca1b51f93c5bed64662c" title="lower band width">kl</a>;
  <a class="code" href="classdgbmatrix.html#a0b4d519e95ddf780bf1151a42018d646" title="upper band width">ku</a> =mat.<a class="code" href="class__dgbmatrix.html#a116dadc8ed5246ee0b4cd0a9fffc53ea" title="upper band width">ku</a>;
  <a class="code" href="classdgbmatrix.html#a3a208131351663f0aa4a95c87851d23c" title="1D array to store matrix data">array</a> =mat.<a class="code" href="class__dgbmatrix.html#a3d7680e0014aa00249f76a86e13de9eb" title="1D array to store matrix data">array</a>;
  <a class="code" href="classdgbmatrix.html#afc4317fc1c0015fc1ac6316455457a53" title="array of pointers of column head addresses">darray</a> =mat.<a class="code" href="class__dgbmatrix.html#ae9c142fd6903cf00df8e1d5363e9848d" title="array of pointers of column head addresses">darray</a>;
  
  mat.<a class="code" href="class__dgbmatrix.html#a736c8efcb6a6f9fd458090aa468ee2ce">nullify</a>();
}
</pre></div>
</div>
</div>
<a class="anchor" id="a503511aa61821949d256faef7917864b"></a><!-- doxytag: member="dgbmatrix::dgbmatrix" ref="a503511aa61821949d256faef7917864b" args="(const long &amp;, const long &amp;, const long &amp;, const long &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classdgbmatrix.html#a5ce4cb0e20061893496f72575e05874e">dgbmatrix::dgbmatrix</a> </td>
          <td>(</td>
          <td class="paramtype">const long &amp;&#160;</td>
          <td class="paramname"><em>_m</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const long &amp;&#160;</td>
          <td class="paramname"><em>_n</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const long &amp;&#160;</td>
          <td class="paramname"><em>_kl</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const long &amp;&#160;</td>
          <td class="paramname"><em>_ku</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>dgbmatrix constructor with size specification </p>

<p>Definition at line <a class="el" href="dgbmatrix-constructor_8hpp_source.html#l00047">47</a> of file <a class="el" href="dgbmatrix-constructor_8hpp_source.html">dgbmatrix-constructor.hpp</a>.</p>

<p>References <a class="el" href="dgbmatrix_8hpp_source.html#l00013">array</a>, <a class="el" href="dgbmatrix_8hpp_source.html#l00014">darray</a>, <a class="el" href="dgbmatrix-calc_8hpp_source.html#l00017">i</a>, <a class="el" href="dgbmatrix_8hpp_source.html#l00011">kl</a>, <a class="el" href="dgbmatrix_8hpp_source.html#l00012">ku</a>, <a class="el" href="dgbmatrix_8hpp_source.html#l00009">m</a>, and <a class="el" href="dgbmatrix_8hpp_source.html#l00010">n</a>.</p>
<div class="fragment"><pre class="fragment">{VERBOSE_REPORT;
<span class="preprocessor">#ifdef  CPPL_DEBUG</span>
<span class="preprocessor"></span>  <span class="keywordflow">if</span>( _m&lt;0 || _n&lt;0 || _kl&lt;0 || _ku&lt;0 || _m&lt;_kl || _n&lt;_ku ){
    ERROR_REPORT;
    std::cerr &lt;&lt; <span class="stringliteral">&quot;It is impossible to make a matrix you ordered. &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; _n &lt;&lt; <span class="stringliteral">&quot;,&quot;</span>&lt;&lt; _ku &lt;&lt; <span class="stringliteral">&quot;,&quot;</span> &lt;&lt; _kl &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="classdgbmatrix.html#af8a3e6bc4557b151f0049b8224f54580" title="matrix row size">m</a> =_m;
  <a class="code" href="classdgbmatrix.html#a5b6fe4d1cfa71161b09ecf0b59befd0e" title="matrix column size">n</a> =_n;
  <a class="code" href="classdgbmatrix.html#aeeb3e79431677905a4ece19c6616edd4" title="lower band width">kl</a> =_kl;
  <a class="code" href="classdgbmatrix.html#a0b4d519e95ddf780bf1151a42018d646" title="upper band width">ku</a> =_ku;
  <a class="code" href="classdgbmatrix.html#a3a208131351663f0aa4a95c87851d23c" title="1D array to store matrix data">array</a> =<span class="keyword">new</span> <span class="keywordtype">double</span>[(<a class="code" href="classdgbmatrix.html#aeeb3e79431677905a4ece19c6616edd4" title="lower band width">kl</a>+<a class="code" href="classdgbmatrix.html#a0b4d519e95ddf780bf1151a42018d646" title="upper band width">ku</a>+1)*<a class="code" href="classdgbmatrix.html#a5b6fe4d1cfa71161b09ecf0b59befd0e" title="matrix column size">n</a>];
  <a class="code" href="classdgbmatrix.html#afc4317fc1c0015fc1ac6316455457a53" title="array of pointers of column head addresses">darray</a> =<span class="keyword">new</span> <span class="keywordtype">double</span>*[<a class="code" href="classdgbmatrix.html#a5b6fe4d1cfa71161b09ecf0b59befd0e" title="matrix column size">n</a>];
  <span class="keywordflow">for</span>(<span class="keywordtype">int</span> <a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>=0; <a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>&lt;<a class="code" href="classdgbmatrix.html#a5b6fe4d1cfa71161b09ecf0b59befd0e" title="matrix column size">n</a>; <a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>++){ darray[<a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>] =&amp;<a class="code" href="classdgbmatrix.html#a3a208131351663f0aa4a95c87851d23c" title="1D array to store matrix data">array</a>[<a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>*(<a class="code" href="classdgbmatrix.html#aeeb3e79431677905a4ece19c6616edd4" title="lower band width">kl</a>+<a class="code" href="classdgbmatrix.html#a0b4d519e95ddf780bf1151a42018d646" title="upper band width">ku</a>+1)]; }
}
</pre></div>
</div>
</div>
<a class="anchor" id="a50c394486f92e5ff55a92c41598446ea"></a><!-- doxytag: member="dgbmatrix::dgbmatrix" ref="a50c394486f92e5ff55a92c41598446ea" args="(const char *)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classdgbmatrix.html#a5ce4cb0e20061893496f72575e05874e">dgbmatrix::dgbmatrix</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>dgbmatrix constructor with filename </p>

<p>Definition at line <a class="el" href="dgbmatrix-constructor_8hpp_source.html#l00071">71</a> of file <a class="el" href="dgbmatrix-constructor_8hpp_source.html">dgbmatrix-constructor.hpp</a>.</p>

<p>References <a class="el" href="dgbmatrix_8hpp_source.html#l00013">array</a>, <a class="el" href="dgbmatrix_8hpp_source.html#l00014">darray</a>, and <a class="el" href="dgbmatrix-io_8hpp_source.html#l00100">read()</a>.</p>
<div class="fragment"><pre class="fragment">{VERBOSE_REPORT;
  <a class="code" href="classdgbmatrix.html#a3a208131351663f0aa4a95c87851d23c" title="1D array to store matrix data">array</a> =NULL;
  <a class="code" href="classdgbmatrix.html#afc4317fc1c0015fc1ac6316455457a53" 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="classdgbmatrix.html#a03d6c643cdd5df88385110f288bafd40">read</a>(filename);
}
</pre></div>
</div>
</div>
<a class="anchor" id="a4acf7be63c15efb4c8b3f286362e2cf2"></a><!-- doxytag: member="dgbmatrix::~dgbmatrix" ref="a4acf7be63c15efb4c8b3f286362e2cf2" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classdgbmatrix.html#a4acf7be63c15efb4c8b3f286362e2cf2">dgbmatrix::~dgbmatrix</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>dgbmatrix destructor </p>

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

<p>References <a class="el" href="dgbmatrix_8hpp_source.html#l00013">array</a>, and <a class="el" href="dgbmatrix_8hpp_source.html#l00014">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="classdgbmatrix.html#a3a208131351663f0aa4a95c87851d23c" title="1D array to store matrix data">array</a>;
  <span class="keyword">delete</span> [] <a class="code" href="classdgbmatrix.html#afc4317fc1c0015fc1ac6316455457a53" title="array of pointers of column head addresses">darray</a>;
}
</pre></div>
</div>
</div>
<hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="a1ef1fd28c48d140a1af18f82ede9c07f"></a><!-- doxytag: member="dgbmatrix::to_zgbmatrix" ref="a1ef1fd28c48d140a1af18f82ede9c07f" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class__zgbmatrix.html">_zgbmatrix</a> <a class="el" href="classdgbmatrix.html#a1ef1fd28c48d140a1af18f82ede9c07f">dgbmatrix::to_zgbmatrix</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>cast to <a class="el" href="class__zgbmatrix.html" title="(DO NOT USE) Smart-temporary Complex Double-precision General Band Matrix Class">_zgbmatrix</a> </p>

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

<p>References <a class="el" href="dgbmatrix-misc_8hpp_source.html#l00166">_</a>, <a class="el" href="zgbmatrix_8hpp_source.html#l00013">zgbmatrix::array</a>, <a class="el" href="dgbmatrix_8hpp_source.html#l00013">array</a>, <a class="el" href="dgbmatrix-calc_8hpp_source.html#l00017">i</a>, <a class="el" href="dgbmatrix_8hpp_source.html#l00011">kl</a>, <a class="el" href="dgbmatrix_8hpp_source.html#l00012">ku</a>, <a class="el" href="dgbmatrix_8hpp_source.html#l00009">m</a>, and <a class="el" href="dgbmatrix_8hpp_source.html#l00010">n</a>.</p>
<div class="fragment"><pre class="fragment">{VERBOSE_REPORT;
  <a class="code" href="classzgbmatrix.html" title="Complex Double-precision General Band Matrix Class.">zgbmatrix</a> newmat(<a class="code" href="classdgbmatrix.html#af8a3e6bc4557b151f0049b8224f54580" title="matrix row size">m</a>,<a class="code" href="classdgbmatrix.html#a5b6fe4d1cfa71161b09ecf0b59befd0e" title="matrix column size">n</a>,<a class="code" href="classdgbmatrix.html#aeeb3e79431677905a4ece19c6616edd4" title="lower band width">kl</a>,<a class="code" href="classdgbmatrix.html#a0b4d519e95ddf780bf1151a42018d646" title="upper band width">ku</a>);
  <span class="keywordflow">for</span>(<span class="keywordtype">long</span> <a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>=0; <a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>&lt;(<a class="code" href="classdgbmatrix.html#aeeb3e79431677905a4ece19c6616edd4" title="lower band width">kl</a>+<a class="code" href="classdgbmatrix.html#a0b4d519e95ddf780bf1151a42018d646" title="upper band width">ku</a>+1)*<a class="code" href="classdgbmatrix.html#a5b6fe4d1cfa71161b09ecf0b59befd0e" title="matrix column size">n</a>; <a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>++){
    newmat.array[<a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>] =comple(<a class="code" href="classdgbmatrix.html#a3a208131351663f0aa4a95c87851d23c" title="1D array to store matrix data">array</a>[<a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>],0.0);
  }
  
  <span class="keywordflow">return</span> <a class="code" href="classdgbmatrix.html#a7d6b5211b5f8c6593be96fbd9447a0df">_</a>(newmat);
}
</pre></div>
</div>
</div>
<a class="anchor" id="a6031ff65aa47db0ef3617533616170f0"></a><!-- doxytag: member="dgbmatrix::to_dgematrix" ref="a6031ff65aa47db0ef3617533616170f0" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class__dgematrix.html">_dgematrix</a> <a class="el" href="classdgbmatrix.html#a6031ff65aa47db0ef3617533616170f0">dgbmatrix::to_dgematrix</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>convert to <a class="el" href="class__dgematrix.html" title="(DO NOT USE) Smart-temporary Real Double-precision General Dence Matrix Class">_dgematrix</a> </p>

<p>Definition at line <a class="el" href="dgbmatrix-cast_8hpp_source.html#l00019">19</a> of file <a class="el" href="dgbmatrix-cast_8hpp_source.html">dgbmatrix-cast.hpp</a>.</p>

<p>References <a class="el" href="dgbmatrix-misc_8hpp_source.html#l00166">_</a>, <a class="el" href="dgbmatrix-calc_8hpp_source.html#l00017">i</a>, <a class="el" href="dgbmatrix_8hpp_source.html#l00011">kl</a>, <a class="el" href="dgbmatrix_8hpp_source.html#l00012">ku</a>, <a class="el" href="dgbmatrix_8hpp_source.html#l00009">m</a>, <a class="el" href="dgbmatrix_8hpp_source.html#l00010">n</a>, and <a class="el" href="dgbmatrix-misc_8hpp_source.html#l00018">zero()</a>.</p>
<div class="fragment"><pre class="fragment">{VERBOSE_REPORT;
  <a class="code" href="classdgematrix.html" title="Real Double-precision General Dence Matrix Class.">dgematrix</a> newmat( <a class="code" href="classdgematrix.html" title="Real Double-precision General Dence Matrix Class.">dgematrix</a>(<a class="code" href="classdgbmatrix.html#af8a3e6bc4557b151f0049b8224f54580" title="matrix row size">m</a>,<a class="code" href="classdgbmatrix.html#a5b6fe4d1cfa71161b09ecf0b59befd0e" title="matrix column size">n</a>).<a class="code" href="classdgbmatrix.html#a588f21fb4a5055f33b7baa6a3bf912b7">zero</a>() );
  <span class="keywordflow">for</span>(<span class="keywordtype">long</span> <a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>=0; <a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>&lt;<a class="code" href="classdgbmatrix.html#af8a3e6bc4557b151f0049b8224f54580" title="matrix row size">m</a>; <a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>++){
    <span class="keywordflow">for</span>(<span class="keywordtype">long</span> j=std::max(<span class="keywordtype">long</span>(0),<a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>-<a class="code" href="classdgbmatrix.html#aeeb3e79431677905a4ece19c6616edd4" title="lower band width">kl</a>); j&lt;std::min(<a class="code" href="classdgbmatrix.html#a5b6fe4d1cfa71161b09ecf0b59befd0e" title="matrix column size">n</a>,<a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>+<a class="code" href="classdgbmatrix.html#a0b4d519e95ddf780bf1151a42018d646" title="upper band width">ku</a>+1); j++){
      newmat(<a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>,j) =(*this)(<a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>,j);
    }
  }
  
  <span class="keywordflow">return</span> <a class="code" href="classdgbmatrix.html#a7d6b5211b5f8c6593be96fbd9447a0df">_</a>(newmat);
}
</pre></div>
</div>
</div>
<a class="anchor" id="a1de0cb1230e2dd683f7e3d38a1560e79"></a><!-- doxytag: member="dgbmatrix::operator()" ref="a1de0cb1230e2dd683f7e3d38a1560e79" args="(const long &amp;, const long &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">double &amp; dgbmatrix::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="dgbmatrix-io_8hpp_source.html#l00003">3</a> of file <a class="el" href="dgbmatrix-io_8hpp_source.html">dgbmatrix-io.hpp</a>.</p>

<p>References <a class="el" href="dgbmatrix_8hpp_source.html#l00014">darray</a>, <a class="el" href="dgbmatrix-calc_8hpp_source.html#l00017">i</a>, <a class="el" href="dgbmatrix_8hpp_source.html#l00011">kl</a>, <a class="el" href="dgbmatrix_8hpp_source.html#l00012">ku</a>, and <a class="el" href="dgbmatrix_8hpp_source.html#l00009">m</a>.</p>

<p>Referenced by <a class="el" href="dgbmatrix-lapack_8hpp_source.html#l00005">dgbsv()</a>, <a class="el" href="dgbmatrix-misc_8hpp_source.html#l00026">identity()</a>, <a class="el" href="dgbmatrix-__dgbmatrix_8hpp_source.html#l00099">operator*=()</a>, <a class="el" href="dgbmatrix-__dgbmatrix_8hpp_source.html#l00016">operator+=()</a>, <a class="el" href="dgbmatrix-__dgbmatrix_8hpp_source.html#l00058">operator-=()</a>, <a class="el" href="dgbmatrix-io_8hpp_source.html#l00100">read()</a>, and <a class="el" href="dgbmatrix-io_8hpp_source.html#l00080">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="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>&lt;0 || j&lt;0 || <a class="code" href="classdgbmatrix.html#af8a3e6bc4557b151f0049b8224f54580" title="matrix row size">m</a>&lt;=<a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a> || n&lt;=j || i-j&gt;<a class="code" href="classdgbmatrix.html#aeeb3e79431677905a4ece19c6616edd4" title="lower band width">kl</a> || j-<a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>&gt;<a class="code" href="classdgbmatrix.html#a0b4d519e95ddf780bf1151a42018d646" title="upper band width">ku</a> ){
    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="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">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">//return array[ku+i+(kl+ku)*j];</span>
  <span class="keywordflow">return</span> <a class="code" href="classdgbmatrix.html#afc4317fc1c0015fc1ac6316455457a53" title="array of pointers of column head addresses">darray</a>[j][<a class="code" href="classdgbmatrix.html#a0b4d519e95ddf780bf1151a42018d646" title="upper band width">ku</a>-j+<a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>];
}
</pre></div>
</div>
</div>
<a class="anchor" id="a6f0c8bd750953c90eb0dfb1c58e50f42"></a><!-- doxytag: member="dgbmatrix::operator()" ref="a6f0c8bd750953c90eb0dfb1c58e50f42" args="(const long &amp;, const long &amp;) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">double dgbmatrix::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="dgbmatrix-io_8hpp_source.html#l00020">20</a> of file <a class="el" href="dgbmatrix-io_8hpp_source.html">dgbmatrix-io.hpp</a>.</p>

<p>References <a class="el" href="dgbmatrix_8hpp_source.html#l00014">darray</a>, <a class="el" href="dgbmatrix-calc_8hpp_source.html#l00017">i</a>, <a class="el" href="dgbmatrix_8hpp_source.html#l00011">kl</a>, <a class="el" href="dgbmatrix_8hpp_source.html#l00012">ku</a>, and <a class="el" href="dgbmatrix_8hpp_source.html#l00009">m</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="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>&lt;0 || j&lt;0 || <a class="code" href="classdgbmatrix.html#af8a3e6bc4557b151f0049b8224f54580" title="matrix row size">m</a>&lt;=<a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a> || n&lt;=j || i-j&gt;<a class="code" href="classdgbmatrix.html#aeeb3e79431677905a4ece19c6616edd4" title="lower band width">kl</a> || j-<a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>&gt;<a class="code" href="classdgbmatrix.html#a0b4d519e95ddf780bf1151a42018d646" title="upper band width">ku</a> ){
    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="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">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">//return array[ku+i+(kl+ku)*j];</span>
  <span class="keywordflow">return</span> <a class="code" href="classdgbmatrix.html#afc4317fc1c0015fc1ac6316455457a53" title="array of pointers of column head addresses">darray</a>[j][<a class="code" href="classdgbmatrix.html#a0b4d519e95ddf780bf1151a42018d646" title="upper band width">ku</a>-j+<a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>];
}
</pre></div>
</div>
</div>
<a class="anchor" id="ac5e779fabf20353d788e366b7888e031"></a><!-- doxytag: member="dgbmatrix::set" ref="ac5e779fabf20353d788e366b7888e031" args="(const long &amp;, const long &amp;, const double &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classdgbmatrix.html">dgbmatrix</a> &amp; <a class="el" href="classdgbmatrix.html#ac5e779fabf20353d788e366b7888e031">dgbmatrix::set</a> </td>
          <td>(</td>
          <td class="paramtype">const long &amp;&#160;</td>
          <td class="paramname"><em>i</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const long &amp;&#160;</td>
          <td class="paramname"><em>j</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const double &amp;&#160;</td>
          <td class="paramname"><em>v</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>set value for const object </p>

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

<p>References <a class="el" href="dgbmatrix_8hpp_source.html#l00014">darray</a>, <a class="el" href="dgbmatrix-calc_8hpp_source.html#l00017">i</a>, <a class="el" href="dgbmatrix_8hpp_source.html#l00011">kl</a>, <a class="el" href="dgbmatrix_8hpp_source.html#l00012">ku</a>, and <a class="el" href="dgbmatrix_8hpp_source.html#l00009">m</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="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>&lt;0 || j&lt;0 || <a class="code" href="classdgbmatrix.html#af8a3e6bc4557b151f0049b8224f54580" title="matrix row size">m</a>&lt;=<a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a> || n&lt;=j || i-j&gt;<a class="code" href="classdgbmatrix.html#aeeb3e79431677905a4ece19c6616edd4" title="lower band width">kl</a> || j-<a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>&gt;<a class="code" href="classdgbmatrix.html#a0b4d519e95ddf780bf1151a42018d646" title="upper band width">ku</a> ){
    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="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">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">//array[ku+i+(kl+ku)*j] =v;</span>
  <a class="code" href="classdgbmatrix.html#afc4317fc1c0015fc1ac6316455457a53" title="array of pointers of column head addresses">darray</a>[j][<a class="code" href="classdgbmatrix.html#a0b4d519e95ddf780bf1151a42018d646" title="upper band width">ku</a>-j+<a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>] =v;
  <span class="keywordflow">return</span> *<span class="keyword">this</span>;
}
</pre></div>
</div>
</div>
<a class="anchor" id="a27e0989ea5d2b9e8b4e3a5a8c0eebc43"></a><!-- doxytag: member="dgbmatrix::write" ref="a27e0989ea5d2b9e8b4e3a5a8c0eebc43" args="(const char *) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classdgbmatrix.html#a27e0989ea5d2b9e8b4e3a5a8c0eebc43">dgbmatrix::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="dgbmatrix-io_8hpp_source.html#l00080">80</a> of file <a class="el" href="dgbmatrix-io_8hpp_source.html">dgbmatrix-io.hpp</a>.</p>

<p>References <a class="el" href="dgbmatrix-calc_8hpp_source.html#l00017">i</a>, <a class="el" href="dgbmatrix_8hpp_source.html#l00011">kl</a>, <a class="el" href="dgbmatrix_8hpp_source.html#l00012">ku</a>, <a class="el" href="dgbmatrix_8hpp_source.html#l00009">m</a>, <a class="el" href="dgbmatrix_8hpp_source.html#l00010">n</a>, and <a class="el" href="dgbmatrix-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;#dgbmatrix&quot;</span> &lt;&lt; <span class="stringliteral">&quot; &quot;</span> &lt;&lt; <a class="code" href="classdgbmatrix.html#af8a3e6bc4557b151f0049b8224f54580" title="matrix row size">m</a> &lt;&lt; <span class="stringliteral">&quot; &quot;</span> &lt;&lt; <a class="code" href="classdgbmatrix.html#a5b6fe4d1cfa71161b09ecf0b59befd0e" title="matrix column size">n</a> &lt;&lt; <span class="stringliteral">&quot; &quot;</span> &lt;&lt; <a class="code" href="classdgbmatrix.html#aeeb3e79431677905a4ece19c6616edd4" title="lower band width">kl</a> &lt;&lt; <span class="stringliteral">&quot; &quot;</span> &lt;&lt; <a class="code" href="classdgbmatrix.html#a0b4d519e95ddf780bf1151a42018d646" title="upper band width">ku</a> &lt;&lt; std::endl;
  <span class="keywordflow">for</span>(<span class="keywordtype">long</span> <a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>=0; <a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>&lt;<a class="code" href="classdgbmatrix.html#af8a3e6bc4557b151f0049b8224f54580" title="matrix row size">m</a>; <a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>++){
    <span class="keywordflow">for</span>(<span class="keywordtype">long</span> j=std::max(<span class="keywordtype">long</span>(0),<a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>-<a class="code" href="classdgbmatrix.html#aeeb3e79431677905a4ece19c6616edd4" title="lower band width">kl</a>); j&lt;std::min(<a class="code" href="classdgbmatrix.html#a5b6fe4d1cfa71161b09ecf0b59befd0e" title="matrix column size">n</a>,<a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>+<a class="code" href="classdgbmatrix.html#a0b4d519e95ddf780bf1151a42018d646" title="upper band width">ku</a>+1); j++){
      ofs &lt;&lt; <a class="code" href="classdgbmatrix.html#a1de0cb1230e2dd683f7e3d38a1560e79">operator()</a>(<a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>,j) &lt;&lt; <span class="stringliteral">&quot; &quot;</span>;
    }
    ofs &lt;&lt; std::endl;
  }
  
  ofs.close();
}
</pre></div>
</div>
</div>
<a class="anchor" id="a03d6c643cdd5df88385110f288bafd40"></a><!-- doxytag: member="dgbmatrix::read" ref="a03d6c643cdd5df88385110f288bafd40" args="(const char *)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classdgbmatrix.html#a03d6c643cdd5df88385110f288bafd40">dgbmatrix::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="dgbmatrix-io_8hpp_source.html#l00100">100</a> of file <a class="el" href="dgbmatrix-io_8hpp_source.html">dgbmatrix-io.hpp</a>.</p>

<p>References <a class="el" href="dgbmatrix-calc_8hpp_source.html#l00017">i</a>, <a class="el" href="dgbmatrix_8hpp_source.html#l00011">kl</a>, <a class="el" href="dgbmatrix_8hpp_source.html#l00012">ku</a>, <a class="el" href="dgbmatrix_8hpp_source.html#l00009">m</a>, <a class="el" href="dgbmatrix_8hpp_source.html#l00010">n</a>, <a class="el" href="dgbmatrix-io_8hpp_source.html#l00003">operator()()</a>, and <a class="el" href="dgbmatrix-misc_8hpp_source.html#l00084">resize()</a>.</p>

<p>Referenced by <a class="el" href="dgbmatrix-constructor_8hpp_source.html#l00071">dgbmatrix()</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;dgbmatrix&quot;</span> &amp;&amp; <span class="keywordtype">id</span> != <span class="stringliteral">&quot;#dgbmatrix&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 dgbmatrix.&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="classdgbmatrix.html#af8a3e6bc4557b151f0049b8224f54580" title="matrix row size">m</a> &gt;&gt; <a class="code" href="classdgbmatrix.html#a5b6fe4d1cfa71161b09ecf0b59befd0e" title="matrix column size">n</a> &gt;&gt; <a class="code" href="classdgbmatrix.html#aeeb3e79431677905a4ece19c6616edd4" title="lower band width">kl</a> &gt;&gt; <a class="code" href="classdgbmatrix.html#a0b4d519e95ddf780bf1151a42018d646" title="upper band width">ku</a>;
  <a class="code" href="classdgbmatrix.html#af1e2e686717e3797cb607c86e251535c">resize</a>(<a class="code" href="classdgbmatrix.html#af8a3e6bc4557b151f0049b8224f54580" title="matrix row size">m</a>, <a class="code" href="classdgbmatrix.html#a5b6fe4d1cfa71161b09ecf0b59befd0e" title="matrix column size">n</a>, <a class="code" href="classdgbmatrix.html#aeeb3e79431677905a4ece19c6616edd4" title="lower band width">kl</a>, ku);
  <span class="keywordflow">for</span>(<span class="keywordtype">long</span> <a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>=0; <a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>&lt;<a class="code" href="classdgbmatrix.html#af8a3e6bc4557b151f0049b8224f54580" title="matrix row size">m</a>; <a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>++){
    <span class="keywordflow">for</span>(<span class="keywordtype">long</span> j=std::max(<span class="keywordtype">long</span>(0),<a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>-<a class="code" href="classdgbmatrix.html#aeeb3e79431677905a4ece19c6616edd4" title="lower band width">kl</a>); j&lt;std::min(<a class="code" href="classdgbmatrix.html#a5b6fe4d1cfa71161b09ecf0b59befd0e" title="matrix column size">n</a>,<a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>+ku+1); j++){
      s &gt;&gt; <a class="code" href="classdgbmatrix.html#a1de0cb1230e2dd683f7e3d38a1560e79">operator()</a>(<a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>,j);
    }
  }
  <span class="keywordflow">if</span>(s.eof()){
    ERROR_REPORT;
    std::cerr &lt;&lt; <span class="stringliteral">&quot;There is something is wrong with the file \&quot;&quot;</span> &lt;&lt; filename &lt;&lt; <span class="stringliteral">&quot;\&quot;.&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="abab16854897a079bf1b52f24307eb35d"></a><!-- doxytag: member="dgbmatrix::clear" ref="abab16854897a079bf1b52f24307eb35d" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classdgbmatrix.html#abab16854897a079bf1b52f24307eb35d">dgbmatrix::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="dgbmatrix-misc_8hpp_source.html#l00003">3</a> of file <a class="el" href="dgbmatrix-misc_8hpp_source.html">dgbmatrix-misc.hpp</a>.</p>

<p>References <a class="el" href="dgbmatrix_8hpp_source.html#l00013">array</a>, <a class="el" href="dgbmatrix_8hpp_source.html#l00014">darray</a>, <a class="el" href="dgbmatrix_8hpp_source.html#l00011">kl</a>, <a class="el" href="dgbmatrix_8hpp_source.html#l00012">ku</a>, <a class="el" href="dgbmatrix_8hpp_source.html#l00009">m</a>, and <a class="el" href="dgbmatrix_8hpp_source.html#l00010">n</a>.</p>
<div class="fragment"><pre class="fragment">{VERBOSE_REPORT;
  <a class="code" href="classdgbmatrix.html#af8a3e6bc4557b151f0049b8224f54580" title="matrix row size">m</a> =0;
  <a class="code" href="classdgbmatrix.html#a5b6fe4d1cfa71161b09ecf0b59befd0e" title="matrix column size">n</a> =0;
  <a class="code" href="classdgbmatrix.html#aeeb3e79431677905a4ece19c6616edd4" title="lower band width">kl</a> =0;
  <a class="code" href="classdgbmatrix.html#a0b4d519e95ddf780bf1151a42018d646" title="upper band width">ku</a> =0;
  <span class="keyword">delete</span> [] <a class="code" href="classdgbmatrix.html#a3a208131351663f0aa4a95c87851d23c" title="1D array to store matrix data">array</a>;
  <a class="code" href="classdgbmatrix.html#a3a208131351663f0aa4a95c87851d23c" title="1D array to store matrix data">array</a>=NULL;
  <span class="keyword">delete</span> [] <a class="code" href="classdgbmatrix.html#afc4317fc1c0015fc1ac6316455457a53" title="array of pointers of column head addresses">darray</a>;
  <a class="code" href="classdgbmatrix.html#afc4317fc1c0015fc1ac6316455457a53" title="array of pointers of column head addresses">darray</a>=NULL;
}
</pre></div>
</div>
</div>
<a class="anchor" id="a588f21fb4a5055f33b7baa6a3bf912b7"></a><!-- doxytag: member="dgbmatrix::zero" ref="a588f21fb4a5055f33b7baa6a3bf912b7" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classdgbmatrix.html">dgbmatrix</a> &amp; <a class="el" href="classdgbmatrix.html#a588f21fb4a5055f33b7baa6a3bf912b7">dgbmatrix::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="dgbmatrix-misc_8hpp_source.html#l00018">18</a> of file <a class="el" href="dgbmatrix-misc_8hpp_source.html">dgbmatrix-misc.hpp</a>.</p>

<p>References <a class="el" href="dgbmatrix_8hpp_source.html#l00013">array</a>, <a class="el" href="dgbmatrix-calc_8hpp_source.html#l00017">i</a>, <a class="el" href="dgbmatrix_8hpp_source.html#l00011">kl</a>, <a class="el" href="dgbmatrix_8hpp_source.html#l00012">ku</a>, and <a class="el" href="dgbmatrix_8hpp_source.html#l00010">n</a>.</p>

<p>Referenced by <a class="el" href="dgbmatrix-misc_8hpp_source.html#l00133">col()</a>, <a class="el" href="__dgbmatrix-__dgbmatrix_8hpp_source.html#l00100">operator*()</a>, <a class="el" href="dgbmatrix-__dgbmatrix_8hpp_source.html#l00099">operator*=()</a>, <a class="el" href="__dgbmatrix-__dgbmatrix_8hpp_source.html#l00003">operator+()</a>, <a class="el" href="dgbmatrix-__dgbmatrix_8hpp_source.html#l00016">operator+=()</a>, <a class="el" href="__dgbmatrix-__dgbmatrix_8hpp_source.html#l00057">operator-()</a>, <a class="el" href="dgbmatrix-__dgbmatrix_8hpp_source.html#l00058">operator-=()</a>, <a class="el" href="dgbmatrix-misc_8hpp_source.html#l00115">row()</a>, and <a class="el" href="dgbmatrix-cast_8hpp_source.html#l00019">to_dgematrix()</a>.</p>
<div class="fragment"><pre class="fragment">{VERBOSE_REPORT;
  <span class="keywordflow">for</span>(<span class="keywordtype">long</span> <a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>=0; <a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>&lt;(<a class="code" href="classdgbmatrix.html#aeeb3e79431677905a4ece19c6616edd4" title="lower band width">kl</a>+<a class="code" href="classdgbmatrix.html#a0b4d519e95ddf780bf1151a42018d646" title="upper band width">ku</a>+1)*<a class="code" href="classdgbmatrix.html#a5b6fe4d1cfa71161b09ecf0b59befd0e" title="matrix column size">n</a>; <a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>++){ <a class="code" href="classdgbmatrix.html#a3a208131351663f0aa4a95c87851d23c" title="1D array to store matrix data">array</a>[<a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>] =0.0; }
  <span class="keywordflow">return</span> *<span class="keyword">this</span>;
}
</pre></div>
</div>
</div>
<a class="anchor" id="a49736d509c5f59beb23f8aaf7591aebe"></a><!-- doxytag: member="dgbmatrix::identity" ref="a49736d509c5f59beb23f8aaf7591aebe" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classdgbmatrix.html">dgbmatrix</a> &amp; <a class="el" href="classdgbmatrix.html#a49736d509c5f59beb23f8aaf7591aebe">dgbmatrix::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="dgbmatrix-misc_8hpp_source.html#l00026">26</a> of file <a class="el" href="dgbmatrix-misc_8hpp_source.html">dgbmatrix-misc.hpp</a>.</p>

<p>References <a class="el" href="dgbmatrix_8hpp_source.html#l00013">array</a>, <a class="el" href="dgbmatrix-calc_8hpp_source.html#l00017">i</a>, <a class="el" href="dgbmatrix_8hpp_source.html#l00011">kl</a>, <a class="el" href="dgbmatrix_8hpp_source.html#l00012">ku</a>, <a class="el" href="dgbmatrix_8hpp_source.html#l00009">m</a>, <a class="el" href="dgbmatrix_8hpp_source.html#l00010">n</a>, and <a class="el" href="dgbmatrix-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="classdgbmatrix.html#af8a3e6bc4557b151f0049b8224f54580" title="matrix row size">m</a>!=<a class="code" href="classdgbmatrix.html#a5b6fe4d1cfa71161b09ecf0b59befd0e" title="matrix column size">n</a>){
    ERROR_REPORT;
    std::cerr &lt;&lt; <span class="stringliteral">&quot;Only square matrix can be a identity matrix.&quot;</span> &lt;&lt; std::endl
              &lt;&lt; <span class="stringliteral">&quot;The matrix size was &quot;</span> &lt;&lt; <a class="code" href="classdgbmatrix.html#af8a3e6bc4557b151f0049b8224f54580" title="matrix row size">m</a> &lt;&lt; <span class="stringliteral">&quot;x&quot;</span> &lt;&lt; <a class="code" href="classdgbmatrix.html#a5b6fe4d1cfa71161b09ecf0b59befd0e" title="matrix column size">n</a> &lt;&lt; <span class="stringliteral">&quot;.&quot;</span> &lt;&lt; std::endl;
    exit(1);
  }
<span class="preprocessor">#endif//CPPL_DEBUG</span>
<span class="preprocessor"></span>  
  <span class="keywordflow">for</span>(<span class="keywordtype">long</span> <a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>=0; <a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>&lt;(<a class="code" href="classdgbmatrix.html#aeeb3e79431677905a4ece19c6616edd4" title="lower band width">kl</a>+<a class="code" href="classdgbmatrix.html#a0b4d519e95ddf780bf1151a42018d646" title="upper band width">ku</a>+1)*<a class="code" href="classdgbmatrix.html#a5b6fe4d1cfa71161b09ecf0b59befd0e" title="matrix column size">n</a>; <a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>++){ <a class="code" href="classdgbmatrix.html#a3a208131351663f0aa4a95c87851d23c" title="1D array to store matrix data">array</a>[<a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>] =0.0; }
  <span class="keywordflow">for</span>(<span class="keywordtype">long</span> <a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>=0; <a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>&lt;<a class="code" href="classdgbmatrix.html#af8a3e6bc4557b151f0049b8224f54580" title="matrix row size">m</a>; <a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>++){ <a class="code" href="classdgbmatrix.html#a1de0cb1230e2dd683f7e3d38a1560e79">operator()</a>(<a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>,<a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>) =1.0; }
  <span class="keywordflow">return</span> *<span class="keyword">this</span>;
}
</pre></div>
</div>
</div>
<a class="anchor" id="a8e27854e0a8efdac31eabd910a6b125b"></a><!-- doxytag: member="dgbmatrix::chsign" ref="a8e27854e0a8efdac31eabd910a6b125b" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classdgbmatrix.html#a8e27854e0a8efdac31eabd910a6b125b">dgbmatrix::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="dgbmatrix-misc_8hpp_source.html#l00044">44</a> of file <a class="el" href="dgbmatrix-misc_8hpp_source.html">dgbmatrix-misc.hpp</a>.</p>

<p>References <a class="el" href="dgbmatrix_8hpp_source.html#l00013">array</a>, <a class="el" href="dgbmatrix-calc_8hpp_source.html#l00017">i</a>, <a class="el" href="dgbmatrix_8hpp_source.html#l00011">kl</a>, <a class="el" href="dgbmatrix_8hpp_source.html#l00012">ku</a>, and <a class="el" href="dgbmatrix_8hpp_source.html#l00010">n</a>.</p>
<div class="fragment"><pre class="fragment">{VERBOSE_REPORT;
  <span class="keywordflow">for</span>(<span class="keywordtype">long</span> <a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>=0; <a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>&lt;(<a class="code" href="classdgbmatrix.html#aeeb3e79431677905a4ece19c6616edd4" title="lower band width">kl</a>+<a class="code" href="classdgbmatrix.html#a0b4d519e95ddf780bf1151a42018d646" title="upper band width">ku</a>+1)*<a class="code" href="classdgbmatrix.html#a5b6fe4d1cfa71161b09ecf0b59befd0e" title="matrix column size">n</a>; <a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>++){ <a class="code" href="classdgbmatrix.html#a3a208131351663f0aa4a95c87851d23c" title="1D array to store matrix data">array</a>[<a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>] =-<a class="code" href="classdgbmatrix.html#a3a208131351663f0aa4a95c87851d23c" title="1D array to store matrix data">array</a>[<a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>]; }
}
</pre></div>
</div>
</div>
<a class="anchor" id="a20a47eb545e57a57bb14babfeb9d448c"></a><!-- doxytag: member="dgbmatrix::copy" ref="a20a47eb545e57a57bb14babfeb9d448c" args="(const dgbmatrix &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classdgbmatrix.html#a20a47eb545e57a57bb14babfeb9d448c">dgbmatrix::copy</a> </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classdgbmatrix.html">dgbmatrix</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="dgbmatrix-misc_8hpp_source.html#l00050">50</a> of file <a class="el" href="dgbmatrix-misc_8hpp_source.html">dgbmatrix-misc.hpp</a>.</p>

<p>References <a class="el" href="dgbmatrix_8hpp_source.html#l00013">array</a>, <a class="el" href="dgbmatrix_8hpp_source.html#l00014">darray</a>, <a class="el" href="dgbmatrix-calc_8hpp_source.html#l00017">i</a>, <a class="el" href="dgbmatrix_8hpp_source.html#l00011">kl</a>, <a class="el" href="dgbmatrix_8hpp_source.html#l00012">ku</a>, <a class="el" href="dgbmatrix_8hpp_source.html#l00009">m</a>, and <a class="el" href="dgbmatrix_8hpp_source.html#l00010">n</a>.</p>

<p>Referenced by <a class="el" href="dgbmatrix-dgbmatrix_8hpp_source.html#l00004">operator=()</a>.</p>
<div class="fragment"><pre class="fragment">{VERBOSE_REPORT;
  <a class="code" href="classdgbmatrix.html#af8a3e6bc4557b151f0049b8224f54580" title="matrix row size">m</a> =mat.<a class="code" href="classdgbmatrix.html#af8a3e6bc4557b151f0049b8224f54580" title="matrix row size">m</a>;
  <a class="code" href="classdgbmatrix.html#a5b6fe4d1cfa71161b09ecf0b59befd0e" title="matrix column size">n</a> =mat.<a class="code" href="classdgbmatrix.html#a5b6fe4d1cfa71161b09ecf0b59befd0e" title="matrix column size">n</a>;
  <a class="code" href="classdgbmatrix.html#aeeb3e79431677905a4ece19c6616edd4" title="lower band width">kl</a> =mat.<a class="code" href="classdgbmatrix.html#aeeb3e79431677905a4ece19c6616edd4" title="lower band width">kl</a>;
  <a class="code" href="classdgbmatrix.html#a0b4d519e95ddf780bf1151a42018d646" title="upper band width">ku</a> =mat.<a class="code" href="classdgbmatrix.html#a0b4d519e95ddf780bf1151a42018d646" title="upper band width">ku</a>;
  <span class="keyword">delete</span> [] <a class="code" href="classdgbmatrix.html#a3a208131351663f0aa4a95c87851d23c" title="1D array to store matrix data">array</a>;
  <a class="code" href="classdgbmatrix.html#a3a208131351663f0aa4a95c87851d23c" title="1D array to store matrix data">array</a> =<span class="keyword">new</span> <span class="keywordtype">double</span>[(mat.<a class="code" href="classdgbmatrix.html#aeeb3e79431677905a4ece19c6616edd4" title="lower band width">kl</a>+mat.<a class="code" href="classdgbmatrix.html#a0b4d519e95ddf780bf1151a42018d646" title="upper band width">ku</a>+1)*mat.<a class="code" href="classdgbmatrix.html#a5b6fe4d1cfa71161b09ecf0b59befd0e" title="matrix column size">n</a>];
  <span class="keyword">delete</span> [] <a class="code" href="classdgbmatrix.html#afc4317fc1c0015fc1ac6316455457a53" title="array of pointers of column head addresses">darray</a>;
  <a class="code" href="classdgbmatrix.html#afc4317fc1c0015fc1ac6316455457a53" title="array of pointers of column head addresses">darray</a> =<span class="keyword">new</span> <span class="keywordtype">double</span>*[<a class="code" href="classdgbmatrix.html#a5b6fe4d1cfa71161b09ecf0b59befd0e" title="matrix column size">n</a>];
  <span class="keywordflow">for</span>(<span class="keywordtype">int</span> <a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>=0; <a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>&lt;<a class="code" href="classdgbmatrix.html#a5b6fe4d1cfa71161b09ecf0b59befd0e" title="matrix column size">n</a>; <a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>++){ <a class="code" href="classdgbmatrix.html#afc4317fc1c0015fc1ac6316455457a53" title="array of pointers of column head addresses">darray</a>[<a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>] =&amp;<a class="code" href="classdgbmatrix.html#a3a208131351663f0aa4a95c87851d23c" title="1D array to store matrix data">array</a>[<a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>*(<a class="code" href="classdgbmatrix.html#aeeb3e79431677905a4ece19c6616edd4" title="lower band width">kl</a>+<a class="code" href="classdgbmatrix.html#a0b4d519e95ddf780bf1151a42018d646" title="upper band width">ku</a>+1)]; }
  
  dcopy_((mat.<a class="code" href="classdgbmatrix.html#aeeb3e79431677905a4ece19c6616edd4" title="lower band width">kl</a>+mat.<a class="code" href="classdgbmatrix.html#a0b4d519e95ddf780bf1151a42018d646" title="upper band width">ku</a>+1)*mat.<a class="code" href="classdgbmatrix.html#a5b6fe4d1cfa71161b09ecf0b59befd0e" title="matrix column size">n</a>, mat.<a class="code" href="classdgbmatrix.html#a3a208131351663f0aa4a95c87851d23c" title="1D array to store matrix data">array</a>, 1, <a class="code" href="classdgbmatrix.html#a3a208131351663f0aa4a95c87851d23c" title="1D array to store matrix data">array</a>, 1);
}
</pre></div>
</div>
</div>
<a class="anchor" id="a04cc4d842f26e2b122e85877c913c1dc"></a><!-- doxytag: member="dgbmatrix::shallow_copy" ref="a04cc4d842f26e2b122e85877c913c1dc" args="(const _dgbmatrix &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classdgbmatrix.html#a04cc4d842f26e2b122e85877c913c1dc">dgbmatrix::shallow_copy</a> </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="class__dgbmatrix.html">_dgbmatrix</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="dgbmatrix-misc_8hpp_source.html#l00068">68</a> of file <a class="el" href="dgbmatrix-misc_8hpp_source.html">dgbmatrix-misc.hpp</a>.</p>

<p>References <a class="el" href="dgbmatrix_8hpp_source.html#l00013">array</a>, <a class="el" href="__dgbmatrix_8hpp_source.html#l00013">_dgbmatrix::array</a>, <a class="el" href="dgbmatrix_8hpp_source.html#l00014">darray</a>, <a class="el" href="__dgbmatrix_8hpp_source.html#l00014">_dgbmatrix::darray</a>, <a class="el" href="dgbmatrix_8hpp_source.html#l00011">kl</a>, <a class="el" href="__dgbmatrix_8hpp_source.html#l00011">_dgbmatrix::kl</a>, <a class="el" href="__dgbmatrix_8hpp_source.html#l00012">_dgbmatrix::ku</a>, <a class="el" href="dgbmatrix_8hpp_source.html#l00012">ku</a>, <a class="el" href="dgbmatrix_8hpp_source.html#l00009">m</a>, <a class="el" href="__dgbmatrix_8hpp_source.html#l00009">_dgbmatrix::m</a>, <a class="el" href="__dgbmatrix_8hpp_source.html#l00010">_dgbmatrix::n</a>, <a class="el" href="dgbmatrix_8hpp_source.html#l00010">n</a>, and <a class="el" href="__dgbmatrix-misc_8hpp_source.html#l00003">_dgbmatrix::nullify()</a>.</p>

<p>Referenced by <a class="el" href="dgbmatrix-__dgbmatrix_8hpp_source.html#l00003">operator=()</a>.</p>
<div class="fragment"><pre class="fragment">{VERBOSE_REPORT;
  <a class="code" href="classdgbmatrix.html#af8a3e6bc4557b151f0049b8224f54580" title="matrix row size">m</a> =mat.<a class="code" href="class__dgbmatrix.html#a587a07ecbbfc6bbdb0e05574ea6b088a" title="matrix row size">m</a>;
  <a class="code" href="classdgbmatrix.html#a5b6fe4d1cfa71161b09ecf0b59befd0e" title="matrix column size">n</a> =mat.<a class="code" href="class__dgbmatrix.html#a95aebc7e2d4ea66b1b7a08e981df6971" title="matrix column size">n</a>;
  <a class="code" href="classdgbmatrix.html#aeeb3e79431677905a4ece19c6616edd4" title="lower band width">kl</a> =mat.<a class="code" href="class__dgbmatrix.html#aeea4fdf76630ca1b51f93c5bed64662c" title="lower band width">kl</a>;
  <a class="code" href="classdgbmatrix.html#a0b4d519e95ddf780bf1151a42018d646" title="upper band width">ku</a> =mat.<a class="code" href="class__dgbmatrix.html#a116dadc8ed5246ee0b4cd0a9fffc53ea" title="upper band width">ku</a>;
  <span class="keyword">delete</span> [] <a class="code" href="classdgbmatrix.html#a3a208131351663f0aa4a95c87851d23c" title="1D array to store matrix data">array</a>;
  <a class="code" href="classdgbmatrix.html#a3a208131351663f0aa4a95c87851d23c" title="1D array to store matrix data">array</a> =mat.<a class="code" href="class__dgbmatrix.html#a3d7680e0014aa00249f76a86e13de9eb" title="1D array to store matrix data">array</a>;
  <span class="keyword">delete</span> [] <a class="code" href="classdgbmatrix.html#afc4317fc1c0015fc1ac6316455457a53" title="array of pointers of column head addresses">darray</a>;
  <a class="code" href="classdgbmatrix.html#afc4317fc1c0015fc1ac6316455457a53" title="array of pointers of column head addresses">darray</a> =mat.<a class="code" href="class__dgbmatrix.html#ae9c142fd6903cf00df8e1d5363e9848d" title="array of pointers of column head addresses">darray</a>;
  
  mat.<a class="code" href="class__dgbmatrix.html#a736c8efcb6a6f9fd458090aa468ee2ce">nullify</a>();
}
</pre></div>
</div>
</div>
<a class="anchor" id="af1e2e686717e3797cb607c86e251535c"></a><!-- doxytag: member="dgbmatrix::resize" ref="af1e2e686717e3797cb607c86e251535c" args="(const long &amp;, const long &amp;, const long &amp;, const long &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classdgbmatrix.html">dgbmatrix</a> &amp; <a class="el" href="classdgbmatrix.html#af1e2e686717e3797cb607c86e251535c">dgbmatrix::resize</a> </td>
          <td>(</td>
          <td class="paramtype">const long &amp;&#160;</td>
          <td class="paramname"><em>_m</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const long &amp;&#160;</td>
          <td class="paramname"><em>_n</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const long &amp;&#160;</td>
          <td class="paramname"><em>_kl</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const long &amp;&#160;</td>
          <td class="paramname"><em>_ku</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</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="dgbmatrix-misc_8hpp_source.html#l00084">84</a> of file <a class="el" href="dgbmatrix-misc_8hpp_source.html">dgbmatrix-misc.hpp</a>.</p>

<p>References <a class="el" href="dgbmatrix_8hpp_source.html#l00013">array</a>, <a class="el" href="dgbmatrix_8hpp_source.html#l00014">darray</a>, <a class="el" href="dgbmatrix-calc_8hpp_source.html#l00017">i</a>, <a class="el" href="dgbmatrix_8hpp_source.html#l00011">kl</a>, <a class="el" href="dgbmatrix_8hpp_source.html#l00012">ku</a>, <a class="el" href="dgbmatrix_8hpp_source.html#l00009">m</a>, and <a class="el" href="dgbmatrix_8hpp_source.html#l00010">n</a>.</p>

<p>Referenced by <a class="el" href="dgematrix-lapack_8hpp_source.html#l00715">dgematrix::dgesvd()</a>, and <a class="el" href="dgbmatrix-io_8hpp_source.html#l00100">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>( _m&lt;0 || _n&lt;0 || _kl&lt;0 || _ku&lt;0 || _m&lt;_kl || _n&lt;_ku ){
    ERROR_REPORT;
    std::cerr &lt;&lt; <span class="stringliteral">&quot;It is impossible to make a matrix you ordered. &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; _n &lt;&lt; <span class="stringliteral">&quot;,&quot;</span>&lt;&lt; _ku &lt;&lt; <span class="stringliteral">&quot;,&quot;</span> &lt;&lt; _kl &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="classdgbmatrix.html#af8a3e6bc4557b151f0049b8224f54580" title="matrix row size">m</a> =_m;
  <a class="code" href="classdgbmatrix.html#a5b6fe4d1cfa71161b09ecf0b59befd0e" title="matrix column size">n</a> =_n;
  <a class="code" href="classdgbmatrix.html#aeeb3e79431677905a4ece19c6616edd4" title="lower band width">kl</a> =_kl;
  <a class="code" href="classdgbmatrix.html#a0b4d519e95ddf780bf1151a42018d646" title="upper band width">ku</a> =_ku;
  <span class="keyword">delete</span> [] <a class="code" href="classdgbmatrix.html#a3a208131351663f0aa4a95c87851d23c" title="1D array to store matrix data">array</a>;
  <a class="code" href="classdgbmatrix.html#a3a208131351663f0aa4a95c87851d23c" title="1D array to store matrix data">array</a> =<span class="keyword">new</span> <span class="keywordtype">double</span>[(<a class="code" href="classdgbmatrix.html#aeeb3e79431677905a4ece19c6616edd4" title="lower band width">kl</a>+<a class="code" href="classdgbmatrix.html#a0b4d519e95ddf780bf1151a42018d646" title="upper band width">ku</a>+1)*<a class="code" href="classdgbmatrix.html#a5b6fe4d1cfa71161b09ecf0b59befd0e" title="matrix column size">n</a>];
  <span class="keyword">delete</span> [] <a class="code" href="classdgbmatrix.html#afc4317fc1c0015fc1ac6316455457a53" title="array of pointers of column head addresses">darray</a>;
  darray =<span class="keyword">new</span> <span class="keywordtype">double</span>*[<a class="code" href="classdgbmatrix.html#a5b6fe4d1cfa71161b09ecf0b59befd0e" title="matrix column size">n</a>];
  <span class="keywordflow">for</span>(<span class="keywordtype">int</span> <a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>=0; <a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>&lt;<a class="code" href="classdgbmatrix.html#a5b6fe4d1cfa71161b09ecf0b59befd0e" title="matrix column size">n</a>; <a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>++){ darray[<a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>] =&amp;<a class="code" href="classdgbmatrix.html#a3a208131351663f0aa4a95c87851d23c" title="1D array to store matrix data">array</a>[<a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>*(<a class="code" href="classdgbmatrix.html#aeeb3e79431677905a4ece19c6616edd4" title="lower band width">kl</a>+<a class="code" href="classdgbmatrix.html#a0b4d519e95ddf780bf1151a42018d646" title="upper band width">ku</a>+1)]; }
  
  <span class="keywordflow">return</span> *<span class="keyword">this</span>;
}
</pre></div>
</div>
</div>
<a class="anchor" id="a046f6bb87bda0ccfbb5c5f07cda398bf"></a><!-- doxytag: member="dgbmatrix::row" ref="a046f6bb87bda0ccfbb5c5f07cda398bf" args="(const long &amp;) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class__drovector.html">_drovector</a> <a class="el" href="classdgbmatrix.html#a046f6bb87bda0ccfbb5c5f07cda398bf">dgbmatrix::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="dgbmatrix-misc_8hpp_source.html#l00115">115</a> of file <a class="el" href="dgbmatrix-misc_8hpp_source.html">dgbmatrix-misc.hpp</a>.</p>

<p>References <a class="el" href="dgbmatrix-misc_8hpp_source.html#l00166">_</a>, <a class="el" href="dgbmatrix_8hpp_source.html#l00011">kl</a>, <a class="el" href="dgbmatrix_8hpp_source.html#l00012">ku</a>, <a class="el" href="dgbmatrix_8hpp_source.html#l00009">m</a>, <a class="el" href="dgbmatrix_8hpp_source.html#l00010">n</a>, and <a class="el" href="dgbmatrix-misc_8hpp_source.html#l00018">zero()</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="classdgbmatrix.html#af8a3e6bc4557b151f0049b8224f54580" title="matrix row size">m</a> ){
    ERROR_REPORT;
    std::cerr &lt;&lt; <span class="stringliteral">&quot;Input row number must be between 0 and &quot;</span> &lt;&lt; m &lt;&lt; <span class="stringliteral">&quot;.&quot;</span> &lt;&lt; std::endl
              &lt;&lt; <span class="stringliteral">&quot;Your input was &quot;</span> &lt;&lt; _m &lt;&lt; <span class="stringliteral">&quot;.&quot;</span> &lt;&lt; std::endl;
    exit(1);
  }
<span class="preprocessor">#endif//CPPL_DEBUG</span>
<span class="preprocessor"></span>  
  <a class="code" href="classdrovector.html" title="Real Double-precision Row Vector Class.">drovector</a> v( <a class="code" href="classdrovector.html" title="Real Double-precision Row Vector Class.">drovector</a>(<a class="code" href="classdgbmatrix.html#a5b6fe4d1cfa71161b09ecf0b59befd0e" title="matrix column size">n</a>).<a class="code" href="classdgbmatrix.html#a588f21fb4a5055f33b7baa6a3bf912b7">zero</a>() );
  <span class="keywordflow">for</span>(<span class="keywordtype">long</span> j=std::max(<span class="keywordtype">long</span>(0),_m-<a class="code" href="classdgbmatrix.html#aeeb3e79431677905a4ece19c6616edd4" title="lower band width">kl</a>); j&lt;std::min(<a class="code" href="classdgbmatrix.html#a5b6fe4d1cfa71161b09ecf0b59befd0e" title="matrix column size">n</a>,_m+<a class="code" href="classdgbmatrix.html#a0b4d519e95ddf780bf1151a42018d646" title="upper band width">ku</a>+1); j++){ v(j)=(*this)(_m,j); }
  <span class="keywordflow">return</span> <a class="code" href="classdgbmatrix.html#a7d6b5211b5f8c6593be96fbd9447a0df">_</a>(v);
}
</pre></div>
</div>
</div>
<a class="anchor" id="a7db80d7a5944dcccd93a5bd687a312c1"></a><!-- doxytag: member="dgbmatrix::col" ref="a7db80d7a5944dcccd93a5bd687a312c1" args="(const long &amp;) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class__dcovector.html">_dcovector</a> <a class="el" href="classdgbmatrix.html#a7db80d7a5944dcccd93a5bd687a312c1">dgbmatrix::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="dgbmatrix-misc_8hpp_source.html#l00133">133</a> of file <a class="el" href="dgbmatrix-misc_8hpp_source.html">dgbmatrix-misc.hpp</a>.</p>

<p>References <a class="el" href="dgbmatrix-misc_8hpp_source.html#l00166">_</a>, <a class="el" href="dgbmatrix-calc_8hpp_source.html#l00017">i</a>, <a class="el" href="dgbmatrix_8hpp_source.html#l00011">kl</a>, <a class="el" href="dgbmatrix_8hpp_source.html#l00012">ku</a>, <a class="el" href="dgbmatrix_8hpp_source.html#l00009">m</a>, <a class="el" href="dgbmatrix_8hpp_source.html#l00010">n</a>, and <a class="el" href="dgbmatrix-misc_8hpp_source.html#l00018">zero()</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="classdgbmatrix.html#a5b6fe4d1cfa71161b09ecf0b59befd0e" title="matrix column size">n</a> ){
    ERROR_REPORT;
    std::cerr &lt;&lt; <span class="stringliteral">&quot;Input row number must be between 0 and &quot;</span> &lt;&lt; n &lt;&lt; <span class="stringliteral">&quot;.&quot;</span> &lt;&lt; std::endl
              &lt;&lt; <span class="stringliteral">&quot;Your input was &quot;</span> &lt;&lt; _n &lt;&lt; <span class="stringliteral">&quot;.&quot;</span> &lt;&lt; std::endl;
    exit(1);
  }
<span class="preprocessor">#endif//CPPL_DEBUG</span>
<span class="preprocessor"></span>  
  <a class="code" href="classdcovector.html" title="Real Double-precision Column Vector Class.">dcovector</a> v( <a class="code" href="classdcovector.html" title="Real Double-precision Column Vector Class.">dcovector</a>(<a class="code" href="classdgbmatrix.html#af8a3e6bc4557b151f0049b8224f54580" title="matrix row size">m</a>).<a class="code" href="classdgbmatrix.html#a588f21fb4a5055f33b7baa6a3bf912b7">zero</a>() );
  <span class="keywordflow">for</span>(<span class="keywordtype">long</span> <a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>=std::max(<span class="keywordtype">long</span>(0),_n-<a class="code" href="classdgbmatrix.html#a0b4d519e95ddf780bf1151a42018d646" title="upper band width">ku</a>); <a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>&lt;std::min(<a class="code" href="classdgbmatrix.html#af8a3e6bc4557b151f0049b8224f54580" title="matrix row size">m</a>,_n+<a class="code" href="classdgbmatrix.html#aeeb3e79431677905a4ece19c6616edd4" title="lower band width">kl</a>+1); <a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>++){ v(<a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>)=(*this)(<a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>,_n); }
  <span class="keywordflow">return</span> <a class="code" href="classdgbmatrix.html#a7d6b5211b5f8c6593be96fbd9447a0df">_</a>(v);
}
</pre></div>
</div>
</div>
<a class="anchor" id="a78bd46e693fcf3a5bb4ea5531cf39ed5"></a><!-- doxytag: member="dgbmatrix::dgbsv" ref="a78bd46e693fcf3a5bb4ea5531cf39ed5" args="(dgematrix &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">long <a class="el" href="classdgbmatrix.html#a78bd46e693fcf3a5bb4ea5531cf39ed5">dgbmatrix::dgbsv</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classdgematrix.html">dgematrix</a> &amp;&#160;</td>
          <td class="paramname"><em>mat</em></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>solve A*X=Y using dgbsv<br/>
 The argument is dgematrix Y. Y is overwritten and become the solution X. A is also overwritten. </p>

<p>Definition at line <a class="el" href="dgbmatrix-lapack_8hpp_source.html#l00005">5</a> of file <a class="el" href="dgbmatrix-lapack_8hpp_source.html">dgbmatrix-lapack.hpp</a>.</p>

<p>References <a class="el" href="dgematrix_8hpp_source.html#l00011">dgematrix::array</a>, <a class="el" href="dgbmatrix_8hpp_source.html#l00013">array</a>, <a class="el" href="dgbmatrix-calc_8hpp_source.html#l00017">i</a>, <a class="el" href="dgbmatrix_8hpp_source.html#l00011">kl</a>, <a class="el" href="dgbmatrix_8hpp_source.html#l00012">ku</a>, <a class="el" href="dgbmatrix_8hpp_source.html#l00009">m</a>, <a class="el" href="dgematrix_8hpp_source.html#l00009">dgematrix::m</a>, <a class="el" href="dgbmatrix_8hpp_source.html#l00010">n</a>, <a class="el" href="dgematrix_8hpp_source.html#l00010">dgematrix::n</a>, <a class="el" href="dgbmatrix-io_8hpp_source.html#l00003">operator()()</a>, and <a class="el" href="dgbmatrix-misc_8hpp_source.html#l00155">swap</a>.</p>

<p>Referenced by <a class="el" href="__dgbmatrix-calc_8hpp_source.html#l00019">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="classdgbmatrix.html#af8a3e6bc4557b151f0049b8224f54580" title="matrix row size">m</a>!=<a class="code" href="classdgbmatrix.html#a5b6fe4d1cfa71161b09ecf0b59befd0e" title="matrix column size">n</a> || <a class="code" href="classdgbmatrix.html#a5b6fe4d1cfa71161b09ecf0b59befd0e" title="matrix column size">n</a>!=mat.<a class="code" href="classdgematrix.html#a3852aa1d0b876a74c1070e982cf388a2" title="matrix row size">m</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="classdgbmatrix.html#af8a3e6bc4557b151f0049b8224f54580" title="matrix row size">m</a> &lt;&lt; <span class="stringliteral">&quot;x&quot;</span> &lt;&lt; <a class="code" href="classdgbmatrix.html#a5b6fe4d1cfa71161b09ecf0b59befd0e" title="matrix column size">n</a> &lt;&lt; <span class="stringliteral">&quot;) and (&quot;</span> &lt;&lt; mat.<a class="code" href="classdgematrix.html#a3852aa1d0b876a74c1070e982cf388a2" title="matrix row size">m</a> &lt;&lt; <span class="stringliteral">&quot;x&quot;</span> &lt;&lt; mat.<a class="code" href="classdgematrix.html#a60d26e3a499a235310e59a0aebbe0d0a" title="matrix column size">n</a> &lt;&lt; <span class="stringliteral">&quot;).&quot;</span> &lt;&lt; std::endl;
    exit(1);
  }
<span class="preprocessor">#endif//CPPL_DEBUG </span>
<span class="preprocessor"></span>  
  <a class="code" href="classdgbmatrix.html" title="Real Double-precision General Band Matrix Class.">dgbmatrix</a> newmat(<a class="code" href="classdgbmatrix.html#af8a3e6bc4557b151f0049b8224f54580" title="matrix row size">m</a>,<a class="code" href="classdgbmatrix.html#a5b6fe4d1cfa71161b09ecf0b59befd0e" title="matrix column size">n</a>,<a class="code" href="classdgbmatrix.html#aeeb3e79431677905a4ece19c6616edd4" title="lower band width">kl</a>,<a class="code" href="classdgbmatrix.html#a0b4d519e95ddf780bf1151a42018d646" title="upper band width">ku</a>+<a class="code" href="classdgbmatrix.html#aeeb3e79431677905a4ece19c6616edd4" title="lower band width">kl</a>);
  <span class="keywordflow">for</span>(<span class="keywordtype">long</span> <a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>=0; <a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>&lt;<a class="code" href="classdgbmatrix.html#af8a3e6bc4557b151f0049b8224f54580" title="matrix row size">m</a>; <a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>++){ <span class="keywordflow">for</span>(<span class="keywordtype">long</span> j=std::max(<span class="keywordtype">long</span>(0),<a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>-<a class="code" href="classdgbmatrix.html#aeeb3e79431677905a4ece19c6616edd4" title="lower band width">kl</a>); j&lt;std::min(<a class="code" href="classdgbmatrix.html#a5b6fe4d1cfa71161b09ecf0b59befd0e" title="matrix column size">n</a>,<a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>+<a class="code" href="classdgbmatrix.html#a0b4d519e95ddf780bf1151a42018d646" title="upper band width">ku</a>+1); j++){
    newmat(<a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>,j) =<a class="code" href="classdgbmatrix.html#a1de0cb1230e2dd683f7e3d38a1560e79">operator()</a>(<a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>,j);
  }}
  
  <span class="keywordtype">long</span> NRHS(mat.<a class="code" href="classdgematrix.html#a60d26e3a499a235310e59a0aebbe0d0a" title="matrix column size">n</a>), LDAB(2*<a class="code" href="classdgbmatrix.html#aeeb3e79431677905a4ece19c6616edd4" title="lower band width">kl</a>+<a class="code" href="classdgbmatrix.html#a0b4d519e95ddf780bf1151a42018d646" title="upper band width">ku</a>+1),
    *IPIV(<span class="keyword">new</span> <span class="keywordtype">long</span>[<a class="code" href="classdgbmatrix.html#a5b6fe4d1cfa71161b09ecf0b59befd0e" title="matrix column size">n</a>]), LDB(mat.<a class="code" href="classdgematrix.html#a3852aa1d0b876a74c1070e982cf388a2" title="matrix row size">m</a>), INFO(1);
  dgbsv_(<a class="code" href="classdgbmatrix.html#a5b6fe4d1cfa71161b09ecf0b59befd0e" title="matrix column size">n</a>, <a class="code" href="classdgbmatrix.html#aeeb3e79431677905a4ece19c6616edd4" title="lower band width">kl</a>, <a class="code" href="classdgbmatrix.html#a0b4d519e95ddf780bf1151a42018d646" title="upper band width">ku</a>, NRHS, newmat.array, LDAB, IPIV, mat.<a class="code" href="classdgematrix.html#a006ce8c2f9add380bcb2816fdb13aa01" title="1D array to store matrix data">array</a>, LDB, INFO);
  <span class="keyword">delete</span> [] IPIV;
  
  <a class="code" href="classdgbmatrix.html#a6b97772f3dec963a7745ad448c3919a5">swap</a>(*<span class="keyword">this</span>,newmat);
  
  <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="a468f40baf842027deb622e23346568bd"></a><!-- doxytag: member="dgbmatrix::dgbsv" ref="a468f40baf842027deb622e23346568bd" args="(dcovector &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">long <a class="el" href="classdgbmatrix.html#a78bd46e693fcf3a5bb4ea5531cf39ed5">dgbmatrix::dgbsv</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classdcovector.html">dcovector</a> &amp;&#160;</td>
          <td class="paramname"><em>vec</em></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>solve A*x=y using dgbsv<br/>
 The argument is dcovector y. y is overwritten and become the solution x. A is also overwritten. </p>

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

<p>References <a class="el" href="dcovector_8hpp_source.html#l00011">dcovector::array</a>, <a class="el" href="dgbmatrix_8hpp_source.html#l00013">array</a>, <a class="el" href="dgbmatrix-calc_8hpp_source.html#l00017">i</a>, <a class="el" href="dgbmatrix_8hpp_source.html#l00011">kl</a>, <a class="el" href="dgbmatrix_8hpp_source.html#l00012">ku</a>, <a class="el" href="dcovector_8hpp_source.html#l00009">dcovector::l</a>, <a class="el" href="dgbmatrix_8hpp_source.html#l00009">m</a>, <a class="el" href="dgbmatrix_8hpp_source.html#l00010">n</a>, <a class="el" href="dgbmatrix-io_8hpp_source.html#l00003">operator()()</a>, and <a class="el" href="dgbmatrix-misc_8hpp_source.html#l00155">swap</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="classdgbmatrix.html#af8a3e6bc4557b151f0049b8224f54580" title="matrix row size">m</a>!=<a class="code" href="classdgbmatrix.html#a5b6fe4d1cfa71161b09ecf0b59befd0e" title="matrix column size">n</a> || <a class="code" href="classdgbmatrix.html#a5b6fe4d1cfa71161b09ecf0b59befd0e" title="matrix column size">n</a>!=vec.<a class="code" href="classdcovector.html#a08e64e5ecb5121100787d0f5d48f0af4" title="vector size">l</a>){
    ERROR_REPORT;
    std::cerr &lt;&lt; <span class="stringliteral">&quot;These matrix and vector cannot be solved.&quot;</span> &lt;&lt; std::endl
              &lt;&lt; <span class="stringliteral">&quot;Your input was (&quot;</span> &lt;&lt; <a class="code" href="classdgbmatrix.html#af8a3e6bc4557b151f0049b8224f54580" title="matrix row size">m</a> &lt;&lt; <span class="stringliteral">&quot;x&quot;</span> &lt;&lt; <a class="code" href="classdgbmatrix.html#a5b6fe4d1cfa71161b09ecf0b59befd0e" title="matrix column size">n</a> &lt;&lt; <span class="stringliteral">&quot;) and (&quot;</span> &lt;&lt; vec.<a class="code" href="classdcovector.html#a08e64e5ecb5121100787d0f5d48f0af4" title="vector size">l</a> &lt;&lt; <span class="stringliteral">&quot;).&quot;</span> &lt;&lt; std::endl;
    exit(1);
  }
<span class="preprocessor">#endif//CPPL_DEBUG </span>
<span class="preprocessor"></span>  
  <a class="code" href="classdgbmatrix.html" title="Real Double-precision General Band Matrix Class.">dgbmatrix</a> newmat(<a class="code" href="classdgbmatrix.html#af8a3e6bc4557b151f0049b8224f54580" title="matrix row size">m</a>,<a class="code" href="classdgbmatrix.html#a5b6fe4d1cfa71161b09ecf0b59befd0e" title="matrix column size">n</a>,<a class="code" href="classdgbmatrix.html#aeeb3e79431677905a4ece19c6616edd4" title="lower band width">kl</a>,<a class="code" href="classdgbmatrix.html#a0b4d519e95ddf780bf1151a42018d646" title="upper band width">ku</a>+<a class="code" href="classdgbmatrix.html#aeeb3e79431677905a4ece19c6616edd4" title="lower band width">kl</a>);
  <span class="keywordflow">for</span>(<span class="keywordtype">long</span> <a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>=0; <a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>&lt;<a class="code" href="classdgbmatrix.html#af8a3e6bc4557b151f0049b8224f54580" title="matrix row size">m</a>; <a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>++){ <span class="keywordflow">for</span>(<span class="keywordtype">long</span> j=std::max(<span class="keywordtype">long</span>(0),<a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>-<a class="code" href="classdgbmatrix.html#aeeb3e79431677905a4ece19c6616edd4" title="lower band width">kl</a>); j&lt;std::min(<a class="code" href="classdgbmatrix.html#a5b6fe4d1cfa71161b09ecf0b59befd0e" title="matrix column size">n</a>,<a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>+<a class="code" href="classdgbmatrix.html#a0b4d519e95ddf780bf1151a42018d646" title="upper band width">ku</a>+1); j++){
    newmat(<a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>,j) =<a class="code" href="classdgbmatrix.html#a1de0cb1230e2dd683f7e3d38a1560e79">operator()</a>(<a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>,j);
  }}
  
  <span class="keywordtype">long</span> NRHS(1), LDAB(2*<a class="code" href="classdgbmatrix.html#aeeb3e79431677905a4ece19c6616edd4" title="lower band width">kl</a>+<a class="code" href="classdgbmatrix.html#a0b4d519e95ddf780bf1151a42018d646" title="upper band width">ku</a>+1),
    *IPIV(<span class="keyword">new</span> <span class="keywordtype">long</span>[<a class="code" href="classdgbmatrix.html#a5b6fe4d1cfa71161b09ecf0b59befd0e" title="matrix column size">n</a>]), LDB(vec.<a class="code" href="classdcovector.html#a08e64e5ecb5121100787d0f5d48f0af4" title="vector size">l</a>), INFO(1);
  dgbsv_(<a class="code" href="classdgbmatrix.html#a5b6fe4d1cfa71161b09ecf0b59befd0e" title="matrix column size">n</a>, <a class="code" href="classdgbmatrix.html#aeeb3e79431677905a4ece19c6616edd4" title="lower band width">kl</a>, <a class="code" href="classdgbmatrix.html#a0b4d519e95ddf780bf1151a42018d646" title="upper band width">ku</a>, NRHS, newmat.array, LDAB, IPIV, vec.<a class="code" href="classdcovector.html#a9b188bf160d8f7e24ea1d41deaceaf6d" title="1D array to store vector data">array</a>, LDB, INFO);
  <span class="keyword">delete</span> [] IPIV;

  <a class="code" href="classdgbmatrix.html#a6b97772f3dec963a7745ad448c3919a5">swap</a>(*<span class="keyword">this</span>,newmat);
  
  <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="ac1e72f743cdeb2b2d27a63fb54bfd16a"></a><!-- doxytag: member="dgbmatrix::operator=" ref="ac1e72f743cdeb2b2d27a63fb54bfd16a" args="(const dgbmatrix &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classdgbmatrix.html">dgbmatrix</a> &amp; dgbmatrix::operator= </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classdgbmatrix.html">dgbmatrix</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>dgbmatrix=dgbmatrix operator<br/>
 The left side matrix is overwritten thoroughly including band width. </p>

<p>Definition at line <a class="el" href="dgbmatrix-dgbmatrix_8hpp_source.html#l00004">4</a> of file <a class="el" href="dgbmatrix-dgbmatrix_8hpp_source.html">dgbmatrix-dgbmatrix.hpp</a>.</p>

<p>References <a class="el" href="dgbmatrix_8hpp_source.html#l00013">array</a>, and <a class="el" href="dgbmatrix-misc_8hpp_source.html#l00050">copy()</a>.</p>
<div class="fragment"><pre class="fragment">{VERBOSE_REPORT;
  <span class="keywordflow">if</span>(<a class="code" href="classdgbmatrix.html#a3a208131351663f0aa4a95c87851d23c" title="1D array to store matrix data">array</a>!=mat.<a class="code" href="classdgbmatrix.html#a3a208131351663f0aa4a95c87851d23c" title="1D array to store matrix data">array</a>){ <span class="comment">// if it is NOT self substitution</span>
    <a class="code" href="classdgbmatrix.html#a20a47eb545e57a57bb14babfeb9d448c">copy</a>(mat);
  }
  <span class="keywordflow">return</span> *<span class="keyword">this</span>;
}
</pre></div>
</div>
</div>
<a class="anchor" id="aa237562b6322deac9935fcb8b68dcd86"></a><!-- doxytag: member="dgbmatrix::operator=" ref="aa237562b6322deac9935fcb8b68dcd86" args="(const _dgbmatrix &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classdgbmatrix.html">dgbmatrix</a> &amp; dgbmatrix::operator= </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="class__dgbmatrix.html">_dgbmatrix</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>dgbmatrix=<a class="el" href="class__dgbmatrix.html" title="(DO NOT USE) Smart-temporary Real Double-precision General Band Matrix Class">_dgbmatrix</a> operator </p>

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

<p>References <a class="el" href="dgbmatrix-misc_8hpp_source.html#l00068">shallow_copy()</a>.</p>
<div class="fragment"><pre class="fragment">{VERBOSE_REPORT;
  <a class="code" href="classdgbmatrix.html#a04cc4d842f26e2b122e85877c913c1dc">shallow_copy</a>(mat);
  <span class="keywordflow">return</span> *<span class="keyword">this</span>;
}
</pre></div>
</div>
</div>
<a class="anchor" id="aa6e4759df46077a8512f5aa9a2162c4e"></a><!-- doxytag: member="dgbmatrix::operator+=" ref="aa6e4759df46077a8512f5aa9a2162c4e" args="(const dgbmatrix &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classdgbmatrix.html">dgbmatrix</a> &amp; dgbmatrix::operator+= </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classdgbmatrix.html">dgbmatrix</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>dgbmatrix+=dgbmatrix operator<br/>
 If the band width of the left side matrix is narrower than the right side matrix, the band width of the left side matrix become thicker as same as the right side matrix. </p>

<p>Definition at line <a class="el" href="dgbmatrix-dgbmatrix_8hpp_source.html#l00019">19</a> of file <a class="el" href="dgbmatrix-dgbmatrix_8hpp_source.html">dgbmatrix-dgbmatrix.hpp</a>.</p>

<p>References <a class="el" href="dgbmatrix-calc_8hpp_source.html#l00017">i</a>, <a class="el" href="dgbmatrix_8hpp_source.html#l00011">kl</a>, <a class="el" href="dgbmatrix_8hpp_source.html#l00012">ku</a>, <a class="el" href="dgbmatrix_8hpp_source.html#l00009">m</a>, <a class="el" href="dgbmatrix_8hpp_source.html#l00010">n</a>, <a class="el" href="dgbmatrix-io_8hpp_source.html#l00003">operator()()</a>, <a class="el" href="dgbmatrix-misc_8hpp_source.html#l00155">swap</a>, and <a class="el" href="dgbmatrix-misc_8hpp_source.html#l00018">zero()</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="classdgbmatrix.html#a5b6fe4d1cfa71161b09ecf0b59befd0e" title="matrix column size">n</a>!=mat.<a class="code" href="classdgbmatrix.html#a5b6fe4d1cfa71161b09ecf0b59befd0e" title="matrix column size">n</a> || <a class="code" href="classdgbmatrix.html#af8a3e6bc4557b151f0049b8224f54580" title="matrix row size">m</a>!=mat.<a class="code" href="classdgbmatrix.html#af8a3e6bc4557b151f0049b8224f54580" title="matrix row size">m</a>){
    ERROR_REPORT;
    std::cerr &lt;&lt; <span class="stringliteral">&quot;These two matrises can not make a summation.&quot;</span> &lt;&lt; std::endl
              &lt;&lt; <span class="stringliteral">&quot;Your input was&quot;</span> &lt;&lt; <span class="stringliteral">&quot;(&quot;</span> &lt;&lt; <a class="code" href="classdgbmatrix.html#af8a3e6bc4557b151f0049b8224f54580" title="matrix row size">m</a> &lt;&lt;<span class="stringliteral">&quot;x&quot;</span>&lt;&lt; <a class="code" href="classdgbmatrix.html#a5b6fe4d1cfa71161b09ecf0b59befd0e" title="matrix column size">n</a> &lt;&lt;<span class="stringliteral">&quot;,&quot;</span>&lt;&lt; <a class="code" href="classdgbmatrix.html#aeeb3e79431677905a4ece19c6616edd4" title="lower band width">kl</a> &lt;&lt;<span class="stringliteral">&quot;:&quot;</span>&lt;&lt; <a class="code" href="classdgbmatrix.html#a0b4d519e95ddf780bf1151a42018d646" title="upper band width">ku</a> &lt;&lt; <span class="stringliteral">&quot;) &quot;</span>&lt;&lt; <span class="stringliteral">&quot;+=&quot;</span> &lt;&lt; <span class="stringliteral">&quot;(&quot;</span>&lt;&lt; mat.<a class="code" href="classdgbmatrix.html#af8a3e6bc4557b151f0049b8224f54580" title="matrix row size">m</a> &lt;&lt;<span class="stringliteral">&quot;x&quot;</span>&lt;&lt; mat.<a class="code" href="classdgbmatrix.html#a5b6fe4d1cfa71161b09ecf0b59befd0e" title="matrix column size">n</a> &lt;&lt;<span class="stringliteral">&quot;,&quot;</span>&lt;&lt; mat.<a class="code" href="classdgbmatrix.html#aeeb3e79431677905a4ece19c6616edd4" title="lower band width">kl</a> &lt;&lt;<span class="stringliteral">&quot;:&quot;</span>&lt;&lt; mat.<a class="code" href="classdgbmatrix.html#a0b4d519e95ddf780bf1151a42018d646" title="upper band width">ku</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">if</span>(<a class="code" href="classdgbmatrix.html#aeeb3e79431677905a4ece19c6616edd4" title="lower band width">kl</a>&gt;=mat.<a class="code" href="classdgbmatrix.html#aeeb3e79431677905a4ece19c6616edd4" title="lower band width">kl</a> &amp;&amp; <a class="code" href="classdgbmatrix.html#a0b4d519e95ddf780bf1151a42018d646" title="upper band width">ku</a>&gt;=mat.<a class="code" href="classdgbmatrix.html#a0b4d519e95ddf780bf1151a42018d646" title="upper band width">ku</a>){
    <span class="keywordflow">for</span>(<span class="keywordtype">long</span> <a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>=0; <a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>&lt;<a class="code" href="classdgbmatrix.html#af8a3e6bc4557b151f0049b8224f54580" title="matrix row size">m</a>; <a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>++){
      <span class="keywordflow">for</span>(<span class="keywordtype">long</span> j=std::max(<span class="keywordtype">long</span>(0),<a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>-mat.<a class="code" href="classdgbmatrix.html#aeeb3e79431677905a4ece19c6616edd4" title="lower band width">kl</a>); j&lt;std::min(<a class="code" href="classdgbmatrix.html#a5b6fe4d1cfa71161b09ecf0b59befd0e" title="matrix column size">n</a>,<a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>+mat.<a class="code" href="classdgbmatrix.html#a0b4d519e95ddf780bf1151a42018d646" title="upper band width">ku</a>+1); j++){
        <a class="code" href="classdgbmatrix.html#a1de0cb1230e2dd683f7e3d38a1560e79">operator()</a>(<a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>,j)+=mat(<a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>,j);
      }
    }
    
    <span class="keywordflow">return</span> *<span class="keyword">this</span>;
  }
  
  <span class="keywordflow">else</span>{
    <a class="code" href="classdgbmatrix.html" title="Real Double-precision General Band Matrix Class.">dgbmatrix</a> newmat(m,<a class="code" href="classdgbmatrix.html#a5b6fe4d1cfa71161b09ecf0b59befd0e" title="matrix column size">n</a>,std::max(<a class="code" href="classdgbmatrix.html#aeeb3e79431677905a4ece19c6616edd4" title="lower band width">kl</a>,mat.<a class="code" href="classdgbmatrix.html#aeeb3e79431677905a4ece19c6616edd4" title="lower band width">kl</a>),std::max(<a class="code" href="classdgbmatrix.html#a0b4d519e95ddf780bf1151a42018d646" title="upper band width">ku</a>,mat.<a class="code" href="classdgbmatrix.html#a0b4d519e95ddf780bf1151a42018d646" title="upper band width">ku</a>));
    newmat.zero();
    <span class="keywordflow">for</span>(<span class="keywordtype">long</span> <a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>=0; <a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>&lt;<a class="code" href="classdgbmatrix.html#af8a3e6bc4557b151f0049b8224f54580" title="matrix row size">m</a>; <a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>++){
      <span class="keywordflow">for</span>(<span class="keywordtype">long</span> j=std::max(<span class="keywordtype">long</span>(0),<a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>-<a class="code" href="classdgbmatrix.html#aeeb3e79431677905a4ece19c6616edd4" title="lower band width">kl</a>); j&lt;std::min(<a class="code" href="classdgbmatrix.html#a5b6fe4d1cfa71161b09ecf0b59befd0e" title="matrix column size">n</a>,<a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>+<a class="code" href="classdgbmatrix.html#a0b4d519e95ddf780bf1151a42018d646" title="upper band width">ku</a>+1); j++){
        newmat(<a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>,j)+=<a class="code" href="classdgbmatrix.html#a1de0cb1230e2dd683f7e3d38a1560e79">operator()</a>(<a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">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="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>-mat.<a class="code" href="classdgbmatrix.html#aeeb3e79431677905a4ece19c6616edd4" title="lower band width">kl</a>); j&lt;std::min(mat.<a class="code" href="classdgbmatrix.html#a5b6fe4d1cfa71161b09ecf0b59befd0e" title="matrix column size">n</a>,<a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>+mat.<a class="code" href="classdgbmatrix.html#a0b4d519e95ddf780bf1151a42018d646" title="upper band width">ku</a>+1); j++){
        newmat(<a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>,j)+=mat(<a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>,j);
      }
    }
    
    <a class="code" href="classdgbmatrix.html#a6b97772f3dec963a7745ad448c3919a5">swap</a>(*<span class="keyword">this</span>,newmat);
    <span class="keywordflow">return</span> *<span class="keyword">this</span>;
  }
}
</pre></div>
</div>
</div>
<a class="anchor" id="aa40a8bd63ef51b9c3235468aa6e182f1"></a><!-- doxytag: member="dgbmatrix::operator+=" ref="aa40a8bd63ef51b9c3235468aa6e182f1" args="(const _dgbmatrix &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classdgbmatrix.html">dgbmatrix</a> &amp; dgbmatrix::operator+= </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="class__dgbmatrix.html">_dgbmatrix</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>dgbmatrix+=<a class="el" href="class__dgbmatrix.html" title="(DO NOT USE) Smart-temporary Real Double-precision General Band Matrix Class">_dgbmatrix</a> operator<br/>
 If the band width of the left side matrix is narrower than the right side matrix, the band width of the left side matrix become thicker as same as the right side matrix. </p>

<p>Definition at line <a class="el" href="dgbmatrix-__dgbmatrix_8hpp_source.html#l00016">16</a> of file <a class="el" href="dgbmatrix-__dgbmatrix_8hpp_source.html">dgbmatrix-_dgbmatrix.hpp</a>.</p>

<p>References <a class="el" href="__dgbmatrix-misc_8hpp_source.html#l00015">_dgbmatrix::destroy()</a>, <a class="el" href="dgbmatrix-calc_8hpp_source.html#l00017">i</a>, <a class="el" href="dgbmatrix_8hpp_source.html#l00011">kl</a>, <a class="el" href="__dgbmatrix_8hpp_source.html#l00011">_dgbmatrix::kl</a>, <a class="el" href="__dgbmatrix_8hpp_source.html#l00012">_dgbmatrix::ku</a>, <a class="el" href="dgbmatrix_8hpp_source.html#l00012">ku</a>, <a class="el" href="dgbmatrix_8hpp_source.html#l00009">m</a>, <a class="el" href="__dgbmatrix_8hpp_source.html#l00009">_dgbmatrix::m</a>, <a class="el" href="__dgbmatrix_8hpp_source.html#l00010">_dgbmatrix::n</a>, <a class="el" href="dgbmatrix_8hpp_source.html#l00010">n</a>, <a class="el" href="dgbmatrix-io_8hpp_source.html#l00003">operator()()</a>, <a class="el" href="dgbmatrix-misc_8hpp_source.html#l00155">swap</a>, and <a class="el" href="dgbmatrix-misc_8hpp_source.html#l00018">zero()</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="classdgbmatrix.html#a5b6fe4d1cfa71161b09ecf0b59befd0e" title="matrix column size">n</a>!=mat.<a class="code" href="class__dgbmatrix.html#a95aebc7e2d4ea66b1b7a08e981df6971" title="matrix column size">n</a> || <a class="code" href="classdgbmatrix.html#af8a3e6bc4557b151f0049b8224f54580" title="matrix row size">m</a>!=mat.<a class="code" href="class__dgbmatrix.html#a587a07ecbbfc6bbdb0e05574ea6b088a" title="matrix row size">m</a>){
    ERROR_REPORT;
    std::cerr &lt;&lt; <span class="stringliteral">&quot;These two matrises can not make a summation.&quot;</span> &lt;&lt; std::endl
              &lt;&lt; <span class="stringliteral">&quot;Your input was&quot;</span> &lt;&lt; <span class="stringliteral">&quot;(&quot;</span> &lt;&lt; <a class="code" href="classdgbmatrix.html#af8a3e6bc4557b151f0049b8224f54580" title="matrix row size">m</a> &lt;&lt;<span class="stringliteral">&quot;x&quot;</span>&lt;&lt; <a class="code" href="classdgbmatrix.html#a5b6fe4d1cfa71161b09ecf0b59befd0e" title="matrix column size">n</a> &lt;&lt;<span class="stringliteral">&quot;,&quot;</span>&lt;&lt; <a class="code" href="classdgbmatrix.html#aeeb3e79431677905a4ece19c6616edd4" title="lower band width">kl</a> &lt;&lt;<span class="stringliteral">&quot;:&quot;</span>&lt;&lt; <a class="code" href="classdgbmatrix.html#a0b4d519e95ddf780bf1151a42018d646" title="upper band width">ku</a> &lt;&lt; <span class="stringliteral">&quot;) &quot;</span>&lt;&lt; <span class="stringliteral">&quot;+=&quot;</span> &lt;&lt; <span class="stringliteral">&quot;(&quot;</span>&lt;&lt; mat.<a class="code" href="class__dgbmatrix.html#a587a07ecbbfc6bbdb0e05574ea6b088a" title="matrix row size">m</a> &lt;&lt;<span class="stringliteral">&quot;x&quot;</span>&lt;&lt; mat.<a class="code" href="class__dgbmatrix.html#a95aebc7e2d4ea66b1b7a08e981df6971" title="matrix column size">n</a> &lt;&lt;<span class="stringliteral">&quot;,&quot;</span>&lt;&lt; mat.<a class="code" href="class__dgbmatrix.html#aeea4fdf76630ca1b51f93c5bed64662c" title="lower band width">kl</a> &lt;&lt;<span class="stringliteral">&quot;:&quot;</span>&lt;&lt; mat.<a class="code" href="class__dgbmatrix.html#a116dadc8ed5246ee0b4cd0a9fffc53ea" title="upper band width">ku</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">if</span>(<a class="code" href="classdgbmatrix.html#aeeb3e79431677905a4ece19c6616edd4" title="lower band width">kl</a>&gt;=mat.<a class="code" href="class__dgbmatrix.html#aeea4fdf76630ca1b51f93c5bed64662c" title="lower band width">kl</a> &amp;&amp; <a class="code" href="classdgbmatrix.html#a0b4d519e95ddf780bf1151a42018d646" title="upper band width">ku</a>&gt;=mat.<a class="code" href="class__dgbmatrix.html#a116dadc8ed5246ee0b4cd0a9fffc53ea" title="upper band width">ku</a>){
    <span class="keywordflow">for</span>(<span class="keywordtype">long</span> <a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>=0; <a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>&lt;<a class="code" href="classdgbmatrix.html#af8a3e6bc4557b151f0049b8224f54580" title="matrix row size">m</a>; <a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>++){
      <span class="keywordflow">for</span>(<span class="keywordtype">long</span> j=std::max(<span class="keywordtype">long</span>(0),<a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>-mat.<a class="code" href="class__dgbmatrix.html#aeea4fdf76630ca1b51f93c5bed64662c" title="lower band width">kl</a>); j&lt;std::min(<a class="code" href="classdgbmatrix.html#a5b6fe4d1cfa71161b09ecf0b59befd0e" title="matrix column size">n</a>,<a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>+mat.<a class="code" href="class__dgbmatrix.html#a116dadc8ed5246ee0b4cd0a9fffc53ea" title="upper band width">ku</a>+1); j++){
        <a class="code" href="classdgbmatrix.html#a1de0cb1230e2dd683f7e3d38a1560e79">operator()</a>(<a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>,j)+=mat(<a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>,j);
      }
    }
    
    mat.<a class="code" href="class__dgbmatrix.html#a170fdd995797f5d394863105e658df9e">destroy</a>();
    <span class="keywordflow">return</span> *<span class="keyword">this</span>;
  }
  <span class="keywordflow">else</span>{
    <a class="code" href="classdgbmatrix.html" title="Real Double-precision General Band Matrix Class.">dgbmatrix</a> newmat(m,<a class="code" href="classdgbmatrix.html#a5b6fe4d1cfa71161b09ecf0b59befd0e" title="matrix column size">n</a>,std::max(<a class="code" href="classdgbmatrix.html#aeeb3e79431677905a4ece19c6616edd4" title="lower band width">kl</a>,mat.<a class="code" href="class__dgbmatrix.html#aeea4fdf76630ca1b51f93c5bed64662c" title="lower band width">kl</a>),std::max(<a class="code" href="classdgbmatrix.html#a0b4d519e95ddf780bf1151a42018d646" title="upper band width">ku</a>,mat.<a class="code" href="class__dgbmatrix.html#a116dadc8ed5246ee0b4cd0a9fffc53ea" title="upper band width">ku</a>));
    newmat.zero();
    <span class="keywordflow">for</span>(<span class="keywordtype">long</span> <a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>=0; <a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>&lt;<a class="code" href="classdgbmatrix.html#af8a3e6bc4557b151f0049b8224f54580" title="matrix row size">m</a>; <a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>++){
      <span class="keywordflow">for</span>(<span class="keywordtype">long</span> j=std::max(<span class="keywordtype">long</span>(0),<a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>-<a class="code" href="classdgbmatrix.html#aeeb3e79431677905a4ece19c6616edd4" title="lower band width">kl</a>); j&lt;std::min(<a class="code" href="classdgbmatrix.html#a5b6fe4d1cfa71161b09ecf0b59befd0e" title="matrix column size">n</a>,<a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>+<a class="code" href="classdgbmatrix.html#a0b4d519e95ddf780bf1151a42018d646" title="upper band width">ku</a>+1); j++){
        newmat(<a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>,j)+=<a class="code" href="classdgbmatrix.html#a1de0cb1230e2dd683f7e3d38a1560e79">operator()</a>(<a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">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="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>-mat.<a class="code" href="class__dgbmatrix.html#aeea4fdf76630ca1b51f93c5bed64662c" title="lower band width">kl</a>); j&lt;std::min(mat.<a class="code" href="class__dgbmatrix.html#a95aebc7e2d4ea66b1b7a08e981df6971" title="matrix column size">n</a>,<a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>+mat.<a class="code" href="class__dgbmatrix.html#a116dadc8ed5246ee0b4cd0a9fffc53ea" title="upper band width">ku</a>+1); j++){
        newmat(<a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>,j)+=mat(<a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>,j);
      }
    }
    
    <a class="code" href="classdgbmatrix.html#a6b97772f3dec963a7745ad448c3919a5">swap</a>(*<span class="keyword">this</span>,newmat);
    mat.<a class="code" href="class__dgbmatrix.html#a170fdd995797f5d394863105e658df9e">destroy</a>();
    <span class="keywordflow">return</span> *<span class="keyword">this</span>;
  }
}
</pre></div>
</div>
</div>
<a class="anchor" id="a8af0b73dd66973e0d91d042513c34d90"></a><!-- doxytag: member="dgbmatrix::operator&#45;=" ref="a8af0b73dd66973e0d91d042513c34d90" args="(const dgbmatrix &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classdgbmatrix.html">dgbmatrix</a> &amp; dgbmatrix::operator-= </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classdgbmatrix.html">dgbmatrix</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>dgbmatrix-=dgbmatrix operator<br/>
 If the band width of the left side matrix is narrower than the right side matrix, the band width of the left side matrix become thicker as same as the right side matrix. </p>

<p>Definition at line <a class="el" href="dgbmatrix-dgbmatrix_8hpp_source.html#l00060">60</a> of file <a class="el" href="dgbmatrix-dgbmatrix_8hpp_source.html">dgbmatrix-dgbmatrix.hpp</a>.</p>

<p>References <a class="el" href="dgbmatrix-calc_8hpp_source.html#l00017">i</a>, <a class="el" href="dgbmatrix_8hpp_source.html#l00011">kl</a>, <a class="el" href="dgbmatrix_8hpp_source.html#l00012">ku</a>, <a class="el" href="dgbmatrix_8hpp_source.html#l00009">m</a>, <a class="el" href="dgbmatrix_8hpp_source.html#l00010">n</a>, <a class="el" href="dgbmatrix-io_8hpp_source.html#l00003">operator()()</a>, <a class="el" href="dgbmatrix-misc_8hpp_source.html#l00155">swap</a>, and <a class="el" href="dgbmatrix-misc_8hpp_source.html#l00018">zero()</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="classdgbmatrix.html#a5b6fe4d1cfa71161b09ecf0b59befd0e" title="matrix column size">n</a>!=mat.<a class="code" href="classdgbmatrix.html#a5b6fe4d1cfa71161b09ecf0b59befd0e" title="matrix column size">n</a> || <a class="code" href="classdgbmatrix.html#af8a3e6bc4557b151f0049b8224f54580" title="matrix row size">m</a>!=mat.<a class="code" href="classdgbmatrix.html#af8a3e6bc4557b151f0049b8224f54580" title="matrix row size">m</a>){
    ERROR_REPORT;
    std::cerr &lt;&lt; <span class="stringliteral">&quot;These two matrises can not make a subtraction.&quot;</span> &lt;&lt; std::endl
              &lt;&lt; <span class="stringliteral">&quot;Your input was&quot;</span> &lt;&lt; <span class="stringliteral">&quot;(&quot;</span> &lt;&lt; <a class="code" href="classdgbmatrix.html#af8a3e6bc4557b151f0049b8224f54580" title="matrix row size">m</a> &lt;&lt;<span class="stringliteral">&quot;x&quot;</span>&lt;&lt; <a class="code" href="classdgbmatrix.html#a5b6fe4d1cfa71161b09ecf0b59befd0e" title="matrix column size">n</a> &lt;&lt;<span class="stringliteral">&quot;,&quot;</span>&lt;&lt; <a class="code" href="classdgbmatrix.html#aeeb3e79431677905a4ece19c6616edd4" title="lower band width">kl</a> &lt;&lt;<span class="stringliteral">&quot;:&quot;</span>&lt;&lt; <a class="code" href="classdgbmatrix.html#a0b4d519e95ddf780bf1151a42018d646" title="upper band width">ku</a> &lt;&lt; <span class="stringliteral">&quot;) &quot;</span>&lt;&lt; <span class="stringliteral">&quot;-=&quot;</span> &lt;&lt; <span class="stringliteral">&quot;(&quot;</span>&lt;&lt; mat.<a class="code" href="classdgbmatrix.html#af8a3e6bc4557b151f0049b8224f54580" title="matrix row size">m</a> &lt;&lt;<span class="stringliteral">&quot;x&quot;</span>&lt;&lt; mat.<a class="code" href="classdgbmatrix.html#a5b6fe4d1cfa71161b09ecf0b59befd0e" title="matrix column size">n</a> &lt;&lt;<span class="stringliteral">&quot;,&quot;</span>&lt;&lt; mat.<a class="code" href="classdgbmatrix.html#aeeb3e79431677905a4ece19c6616edd4" title="lower band width">kl</a> &lt;&lt;<span class="stringliteral">&quot;:&quot;</span>&lt;&lt; mat.<a class="code" href="classdgbmatrix.html#a0b4d519e95ddf780bf1151a42018d646" title="upper band width">ku</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">if</span>(<a class="code" href="classdgbmatrix.html#aeeb3e79431677905a4ece19c6616edd4" title="lower band width">kl</a>&gt;=mat.<a class="code" href="classdgbmatrix.html#aeeb3e79431677905a4ece19c6616edd4" title="lower band width">kl</a> &amp;&amp; <a class="code" href="classdgbmatrix.html#a0b4d519e95ddf780bf1151a42018d646" title="upper band width">ku</a>&gt;=mat.<a class="code" href="classdgbmatrix.html#a0b4d519e95ddf780bf1151a42018d646" title="upper band width">ku</a>){
    <span class="keywordflow">for</span>(<span class="keywordtype">long</span> <a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>=0; <a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>&lt;<a class="code" href="classdgbmatrix.html#af8a3e6bc4557b151f0049b8224f54580" title="matrix row size">m</a>; <a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>++){
      <span class="keywordflow">for</span>(<span class="keywordtype">long</span> j=std::max(<span class="keywordtype">long</span>(0),<a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>-mat.<a class="code" href="classdgbmatrix.html#aeeb3e79431677905a4ece19c6616edd4" title="lower band width">kl</a>); j&lt;std::min(<a class="code" href="classdgbmatrix.html#a5b6fe4d1cfa71161b09ecf0b59befd0e" title="matrix column size">n</a>,<a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>+mat.<a class="code" href="classdgbmatrix.html#a0b4d519e95ddf780bf1151a42018d646" title="upper band width">ku</a>+1); j++){
        <a class="code" href="classdgbmatrix.html#a1de0cb1230e2dd683f7e3d38a1560e79">operator()</a>(<a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>,j)-=mat(<a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>,j);
      }
    }
    
    <span class="keywordflow">return</span> *<span class="keyword">this</span>;
  }
  
  <span class="keywordflow">else</span>{
    <a class="code" href="classdgbmatrix.html" title="Real Double-precision General Band Matrix Class.">dgbmatrix</a> newmat(m,<a class="code" href="classdgbmatrix.html#a5b6fe4d1cfa71161b09ecf0b59befd0e" title="matrix column size">n</a>,std::max(<a class="code" href="classdgbmatrix.html#aeeb3e79431677905a4ece19c6616edd4" title="lower band width">kl</a>,mat.<a class="code" href="classdgbmatrix.html#aeeb3e79431677905a4ece19c6616edd4" title="lower band width">kl</a>),std::max(<a class="code" href="classdgbmatrix.html#a0b4d519e95ddf780bf1151a42018d646" title="upper band width">ku</a>,mat.<a class="code" href="classdgbmatrix.html#a0b4d519e95ddf780bf1151a42018d646" title="upper band width">ku</a>));
    newmat.zero();
    <span class="keywordflow">for</span>(<span class="keywordtype">long</span> <a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>=0; <a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>&lt;<a class="code" href="classdgbmatrix.html#af8a3e6bc4557b151f0049b8224f54580" title="matrix row size">m</a>; <a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>++){
      <span class="keywordflow">for</span>(<span class="keywordtype">long</span> j=std::max(<span class="keywordtype">long</span>(0),<a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>-<a class="code" href="classdgbmatrix.html#aeeb3e79431677905a4ece19c6616edd4" title="lower band width">kl</a>); j&lt;std::min(<a class="code" href="classdgbmatrix.html#a5b6fe4d1cfa71161b09ecf0b59befd0e" title="matrix column size">n</a>,<a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>+<a class="code" href="classdgbmatrix.html#a0b4d519e95ddf780bf1151a42018d646" title="upper band width">ku</a>+1); j++){
        newmat(<a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>,j)+=<a class="code" href="classdgbmatrix.html#a1de0cb1230e2dd683f7e3d38a1560e79">operator()</a>(<a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">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="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>-mat.<a class="code" href="classdgbmatrix.html#aeeb3e79431677905a4ece19c6616edd4" title="lower band width">kl</a>); j&lt;std::min(mat.<a class="code" href="classdgbmatrix.html#a5b6fe4d1cfa71161b09ecf0b59befd0e" title="matrix column size">n</a>,<a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>+mat.<a class="code" href="classdgbmatrix.html#a0b4d519e95ddf780bf1151a42018d646" title="upper band width">ku</a>+1); j++){
        newmat(<a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>,j)-=mat(<a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>,j);
      }
    }
    
    <a class="code" href="classdgbmatrix.html#a6b97772f3dec963a7745ad448c3919a5">swap</a>(*<span class="keyword">this</span>,newmat);
    <span class="keywordflow">return</span> *<span class="keyword">this</span>;
  }
}
</pre></div>
</div>
</div>
<a class="anchor" id="a7834a2626cadfa6157773ba34ab8e2c5"></a><!-- doxytag: member="dgbmatrix::operator&#45;=" ref="a7834a2626cadfa6157773ba34ab8e2c5" args="(const _dgbmatrix &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classdgbmatrix.html">dgbmatrix</a> &amp; dgbmatrix::operator-= </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="class__dgbmatrix.html">_dgbmatrix</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>dgbmatrix-=<a class="el" href="class__dgbmatrix.html" title="(DO NOT USE) Smart-temporary Real Double-precision General Band Matrix Class">_dgbmatrix</a> operator<br/>
 If the band width of the left side matrix is narrower than the right side matrix, the band width of the left side matrix become thicker as same as the right side matrix. </p>

<p>Definition at line <a class="el" href="dgbmatrix-__dgbmatrix_8hpp_source.html#l00058">58</a> of file <a class="el" href="dgbmatrix-__dgbmatrix_8hpp_source.html">dgbmatrix-_dgbmatrix.hpp</a>.</p>

<p>References <a class="el" href="__dgbmatrix-misc_8hpp_source.html#l00015">_dgbmatrix::destroy()</a>, <a class="el" href="dgbmatrix-calc_8hpp_source.html#l00017">i</a>, <a class="el" href="dgbmatrix_8hpp_source.html#l00011">kl</a>, <a class="el" href="__dgbmatrix_8hpp_source.html#l00011">_dgbmatrix::kl</a>, <a class="el" href="__dgbmatrix_8hpp_source.html#l00012">_dgbmatrix::ku</a>, <a class="el" href="dgbmatrix_8hpp_source.html#l00012">ku</a>, <a class="el" href="dgbmatrix_8hpp_source.html#l00009">m</a>, <a class="el" href="__dgbmatrix_8hpp_source.html#l00009">_dgbmatrix::m</a>, <a class="el" href="__dgbmatrix_8hpp_source.html#l00010">_dgbmatrix::n</a>, <a class="el" href="dgbmatrix_8hpp_source.html#l00010">n</a>, <a class="el" href="dgbmatrix-io_8hpp_source.html#l00003">operator()()</a>, <a class="el" href="dgbmatrix-misc_8hpp_source.html#l00155">swap</a>, and <a class="el" href="dgbmatrix-misc_8hpp_source.html#l00018">zero()</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="classdgbmatrix.html#a5b6fe4d1cfa71161b09ecf0b59befd0e" title="matrix column size">n</a>!=mat.<a class="code" href="class__dgbmatrix.html#a95aebc7e2d4ea66b1b7a08e981df6971" title="matrix column size">n</a> || <a class="code" href="classdgbmatrix.html#af8a3e6bc4557b151f0049b8224f54580" title="matrix row size">m</a>!=mat.<a class="code" href="class__dgbmatrix.html#a587a07ecbbfc6bbdb0e05574ea6b088a" title="matrix row size">m</a>){
    ERROR_REPORT;
    std::cerr &lt;&lt; <span class="stringliteral">&quot;These two matrises can not make a subtraction.&quot;</span> &lt;&lt; std::endl
              &lt;&lt; <span class="stringliteral">&quot;Your input was&quot;</span> &lt;&lt; <span class="stringliteral">&quot;(&quot;</span> &lt;&lt; <a class="code" href="classdgbmatrix.html#af8a3e6bc4557b151f0049b8224f54580" title="matrix row size">m</a> &lt;&lt;<span class="stringliteral">&quot;x&quot;</span>&lt;&lt; <a class="code" href="classdgbmatrix.html#a5b6fe4d1cfa71161b09ecf0b59befd0e" title="matrix column size">n</a> &lt;&lt;<span class="stringliteral">&quot;,&quot;</span>&lt;&lt; <a class="code" href="classdgbmatrix.html#aeeb3e79431677905a4ece19c6616edd4" title="lower band width">kl</a> &lt;&lt;<span class="stringliteral">&quot;:&quot;</span>&lt;&lt; <a class="code" href="classdgbmatrix.html#a0b4d519e95ddf780bf1151a42018d646" title="upper band width">ku</a> &lt;&lt; <span class="stringliteral">&quot;) &quot;</span>&lt;&lt; <span class="stringliteral">&quot;-=&quot;</span> &lt;&lt; <span class="stringliteral">&quot;(&quot;</span>&lt;&lt; mat.<a class="code" href="class__dgbmatrix.html#a587a07ecbbfc6bbdb0e05574ea6b088a" title="matrix row size">m</a> &lt;&lt;<span class="stringliteral">&quot;x&quot;</span>&lt;&lt; mat.<a class="code" href="class__dgbmatrix.html#a95aebc7e2d4ea66b1b7a08e981df6971" title="matrix column size">n</a> &lt;&lt;<span class="stringliteral">&quot;,&quot;</span>&lt;&lt; mat.<a class="code" href="class__dgbmatrix.html#aeea4fdf76630ca1b51f93c5bed64662c" title="lower band width">kl</a> &lt;&lt;<span class="stringliteral">&quot;:&quot;</span>&lt;&lt; mat.<a class="code" href="class__dgbmatrix.html#a116dadc8ed5246ee0b4cd0a9fffc53ea" title="upper band width">ku</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">if</span>(<a class="code" href="classdgbmatrix.html#aeeb3e79431677905a4ece19c6616edd4" title="lower band width">kl</a>&gt;=mat.<a class="code" href="class__dgbmatrix.html#aeea4fdf76630ca1b51f93c5bed64662c" title="lower band width">kl</a> &amp;&amp; <a class="code" href="classdgbmatrix.html#a0b4d519e95ddf780bf1151a42018d646" title="upper band width">ku</a>&gt;=mat.<a class="code" href="class__dgbmatrix.html#a116dadc8ed5246ee0b4cd0a9fffc53ea" title="upper band width">ku</a>){
    <span class="keywordflow">for</span>(<span class="keywordtype">long</span> <a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>=0; <a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>&lt;<a class="code" href="classdgbmatrix.html#af8a3e6bc4557b151f0049b8224f54580" title="matrix row size">m</a>; <a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>++){
      <span class="keywordflow">for</span>(<span class="keywordtype">long</span> j=std::max(<span class="keywordtype">long</span>(0),<a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>-mat.<a class="code" href="class__dgbmatrix.html#aeea4fdf76630ca1b51f93c5bed64662c" title="lower band width">kl</a>); j&lt;std::min(<a class="code" href="classdgbmatrix.html#a5b6fe4d1cfa71161b09ecf0b59befd0e" title="matrix column size">n</a>,<a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>+mat.<a class="code" href="class__dgbmatrix.html#a116dadc8ed5246ee0b4cd0a9fffc53ea" title="upper band width">ku</a>+1); j++){
        <a class="code" href="classdgbmatrix.html#a1de0cb1230e2dd683f7e3d38a1560e79">operator()</a>(<a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>,j)-=mat(<a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>,j);
      }
    }
    
    mat.<a class="code" href="class__dgbmatrix.html#a170fdd995797f5d394863105e658df9e">destroy</a>();
    <span class="keywordflow">return</span> *<span class="keyword">this</span>;
  }
  <span class="keywordflow">else</span>{
    <a class="code" href="classdgbmatrix.html" title="Real Double-precision General Band Matrix Class.">dgbmatrix</a> newmat(m,<a class="code" href="classdgbmatrix.html#a5b6fe4d1cfa71161b09ecf0b59befd0e" title="matrix column size">n</a>,std::max(<a class="code" href="classdgbmatrix.html#aeeb3e79431677905a4ece19c6616edd4" title="lower band width">kl</a>,mat.<a class="code" href="class__dgbmatrix.html#aeea4fdf76630ca1b51f93c5bed64662c" title="lower band width">kl</a>),std::max(<a class="code" href="classdgbmatrix.html#a0b4d519e95ddf780bf1151a42018d646" title="upper band width">ku</a>,mat.<a class="code" href="class__dgbmatrix.html#a116dadc8ed5246ee0b4cd0a9fffc53ea" title="upper band width">ku</a>));
    newmat.zero();
    <span class="keywordflow">for</span>(<span class="keywordtype">long</span> <a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>=0; <a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>&lt;<a class="code" href="classdgbmatrix.html#af8a3e6bc4557b151f0049b8224f54580" title="matrix row size">m</a>; <a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>++){
      <span class="keywordflow">for</span>(<span class="keywordtype">long</span> j=std::max(<span class="keywordtype">long</span>(0),<a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>-<a class="code" href="classdgbmatrix.html#aeeb3e79431677905a4ece19c6616edd4" title="lower band width">kl</a>); j&lt;std::min(<a class="code" href="classdgbmatrix.html#a5b6fe4d1cfa71161b09ecf0b59befd0e" title="matrix column size">n</a>,<a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>+<a class="code" href="classdgbmatrix.html#a0b4d519e95ddf780bf1151a42018d646" title="upper band width">ku</a>+1); j++){
        newmat(<a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>,j)+=<a class="code" href="classdgbmatrix.html#a1de0cb1230e2dd683f7e3d38a1560e79">operator()</a>(<a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">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="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>-mat.<a class="code" href="class__dgbmatrix.html#aeea4fdf76630ca1b51f93c5bed64662c" title="lower band width">kl</a>); j&lt;std::min(mat.<a class="code" href="class__dgbmatrix.html#a95aebc7e2d4ea66b1b7a08e981df6971" title="matrix column size">n</a>,<a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>+mat.<a class="code" href="class__dgbmatrix.html#a116dadc8ed5246ee0b4cd0a9fffc53ea" title="upper band width">ku</a>+1); j++){
        newmat(<a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>,j)-=mat(<a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>,j);
      }
    }
    
    <a class="code" href="classdgbmatrix.html#a6b97772f3dec963a7745ad448c3919a5">swap</a>(*<span class="keyword">this</span>,newmat);
    mat.<a class="code" href="class__dgbmatrix.html#a170fdd995797f5d394863105e658df9e">destroy</a>();
    <span class="keywordflow">return</span> *<span class="keyword">this</span>;
  }
}
</pre></div>
</div>
</div>
<a class="anchor" id="a03a1aa13a44e3610bfdbf2a2fa7d26d9"></a><!-- doxytag: member="dgbmatrix::operator*=" ref="a03a1aa13a44e3610bfdbf2a2fa7d26d9" args="(const dgbmatrix &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classdgbmatrix.html">dgbmatrix</a> &amp; dgbmatrix::operator*= </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classdgbmatrix.html">dgbmatrix</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>dgbmatrix*=dgbmatrix operator </p>

<p>Definition at line <a class="el" href="dgbmatrix-dgbmatrix_8hpp_source.html#l00100">100</a> of file <a class="el" href="dgbmatrix-dgbmatrix_8hpp_source.html">dgbmatrix-dgbmatrix.hpp</a>.</p>

<p>References <a class="el" href="dgbmatrix-calc_8hpp_source.html#l00017">i</a>, <a class="el" href="dgbmatrix_8hpp_source.html#l00011">kl</a>, <a class="el" href="dgbmatrix_8hpp_source.html#l00012">ku</a>, <a class="el" href="dgbmatrix_8hpp_source.html#l00009">m</a>, <a class="el" href="dgbmatrix_8hpp_source.html#l00010">n</a>, <a class="el" href="dgbmatrix-io_8hpp_source.html#l00003">operator()()</a>, <a class="el" href="dgbmatrix-misc_8hpp_source.html#l00155">swap</a>, and <a class="el" href="dgbmatrix-misc_8hpp_source.html#l00018">zero()</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="classdgbmatrix.html#a5b6fe4d1cfa71161b09ecf0b59befd0e" title="matrix column size">n</a>!=mat.<a class="code" href="classdgbmatrix.html#af8a3e6bc4557b151f0049b8224f54580" title="matrix row size">m</a>){
    ERROR_REPORT;
    std::cerr &lt;&lt; <span class="stringliteral">&quot;These two matrises can not make a product.&quot;</span> &lt;&lt; std::endl
              &lt;&lt; <span class="stringliteral">&quot;Your input was (&quot;</span> &lt;&lt; <a class="code" href="classdgbmatrix.html#af8a3e6bc4557b151f0049b8224f54580" title="matrix row size">m</a> &lt;&lt; <span class="stringliteral">&quot;x&quot;</span> &lt;&lt; <a class="code" href="classdgbmatrix.html#a5b6fe4d1cfa71161b09ecf0b59befd0e" title="matrix column size">n</a> &lt;&lt; <span class="stringliteral">&quot;) * (&quot;</span> &lt;&lt; mat.<a class="code" href="classdgbmatrix.html#af8a3e6bc4557b151f0049b8224f54580" title="matrix row size">m</a> &lt;&lt; <span class="stringliteral">&quot;x&quot;</span> &lt;&lt; mat.<a class="code" href="classdgbmatrix.html#a5b6fe4d1cfa71161b09ecf0b59befd0e" title="matrix column size">n</a> &lt;&lt; <span class="stringliteral">&quot;).&quot;</span> &lt;&lt; std::endl;
    exit(1);
  }
<span class="preprocessor">#endif//CPPL_DEBUG</span>
<span class="preprocessor"></span>  
  <a class="code" href="classdgbmatrix.html" title="Real Double-precision General Band Matrix Class.">dgbmatrix</a> newmat( <a class="code" href="classdgbmatrix.html#af8a3e6bc4557b151f0049b8224f54580" title="matrix row size">m</a>, mat.<a class="code" href="classdgbmatrix.html#a5b6fe4d1cfa71161b09ecf0b59befd0e" title="matrix column size">n</a>, std::min(<a class="code" href="classdgbmatrix.html#aeeb3e79431677905a4ece19c6616edd4" title="lower band width">kl</a>+mat.<a class="code" href="classdgbmatrix.html#aeeb3e79431677905a4ece19c6616edd4" title="lower band width">kl</a>, <a class="code" href="classdgbmatrix.html#af8a3e6bc4557b151f0049b8224f54580" title="matrix row size">m</a>-1), std::min(<a class="code" href="classdgbmatrix.html#a0b4d519e95ddf780bf1151a42018d646" title="upper band width">ku</a>+mat.<a class="code" href="classdgbmatrix.html#a0b4d519e95ddf780bf1151a42018d646" title="upper band width">ku</a>, mat.<a class="code" href="classdgbmatrix.html#a5b6fe4d1cfa71161b09ecf0b59befd0e" title="matrix column size">n</a>-1) );
  newmat.zero();
  
  <span class="keywordflow">for</span>(<span class="keywordtype">long</span> <a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>=0; <a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>&lt;newmat.<a class="code" href="class__dgematrix.html#a4c07ace0e1899332aa2d620af184dadf" title="matrix row size">m</a>; <a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>++){
    <span class="keywordflow">for</span>(<span class="keywordtype">long</span> j=std::max(<span class="keywordtype">long</span>(0),<a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>-newmat.kl); j&lt;std::min(newmat.n,<a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>+newmat.ku+1); j++){
      <span class="keywordflow">for</span>(<span class="keywordtype">long</span> k=std::max( std::max(<span class="keywordtype">long</span>(0),<a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>-<a class="code" href="classdgbmatrix.html#aeeb3e79431677905a4ece19c6616edd4" title="lower band width">kl</a>), std::max(<span class="keywordtype">long</span>(0),j-mat.<a class="code" href="classdgbmatrix.html#a0b4d519e95ddf780bf1151a42018d646" title="upper band width">ku</a>) );
          k&lt; std::min( std::min(<a class="code" href="classdgbmatrix.html#a5b6fe4d1cfa71161b09ecf0b59befd0e" title="matrix column size">n</a>,<a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>+<a class="code" href="classdgbmatrix.html#a0b4d519e95ddf780bf1151a42018d646" title="upper band width">ku</a>+1), std::min(mat.<a class="code" href="classdgbmatrix.html#af8a3e6bc4557b151f0049b8224f54580" title="matrix row size">m</a>,j+mat.<a class="code" href="classdgbmatrix.html#aeeb3e79431677905a4ece19c6616edd4" title="lower band width">kl</a>+1) ); k++){
        newmat(<a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>,j)+= <a class="code" href="classdgbmatrix.html#a1de0cb1230e2dd683f7e3d38a1560e79">operator()</a>(<a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>,k)*mat(k,j);
      }
    }
  }
  
  <a class="code" href="classdgbmatrix.html#a6b97772f3dec963a7745ad448c3919a5">swap</a>(*<span class="keyword">this</span>,newmat);
  <span class="keywordflow">return</span> *<span class="keyword">this</span>;
}
</pre></div>
</div>
</div>
<a class="anchor" id="a4ee58ca69a115f4ab62a5c4f0fbc4129"></a><!-- doxytag: member="dgbmatrix::operator*=" ref="a4ee58ca69a115f4ab62a5c4f0fbc4129" args="(const _dgbmatrix &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classdgbmatrix.html">dgbmatrix</a> &amp; dgbmatrix::operator*= </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="class__dgbmatrix.html">_dgbmatrix</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>dgbmatrix*=<a class="el" href="class__dgbmatrix.html" title="(DO NOT USE) Smart-temporary Real Double-precision General Band Matrix Class">_dgbmatrix</a> operator </p>

<p>Definition at line <a class="el" href="dgbmatrix-__dgbmatrix_8hpp_source.html#l00099">99</a> of file <a class="el" href="dgbmatrix-__dgbmatrix_8hpp_source.html">dgbmatrix-_dgbmatrix.hpp</a>.</p>

<p>References <a class="el" href="__dgbmatrix-misc_8hpp_source.html#l00015">_dgbmatrix::destroy()</a>, <a class="el" href="dgbmatrix-calc_8hpp_source.html#l00017">i</a>, <a class="el" href="dgbmatrix_8hpp_source.html#l00011">kl</a>, <a class="el" href="__dgbmatrix_8hpp_source.html#l00011">_dgbmatrix::kl</a>, <a class="el" href="__dgbmatrix_8hpp_source.html#l00012">_dgbmatrix::ku</a>, <a class="el" href="dgbmatrix_8hpp_source.html#l00012">ku</a>, <a class="el" href="__dgbmatrix_8hpp_source.html#l00009">_dgbmatrix::m</a>, <a class="el" href="dgbmatrix_8hpp_source.html#l00009">m</a>, <a class="el" href="__dgbmatrix_8hpp_source.html#l00010">_dgbmatrix::n</a>, <a class="el" href="dgbmatrix_8hpp_source.html#l00010">n</a>, <a class="el" href="dgbmatrix-io_8hpp_source.html#l00003">operator()()</a>, <a class="el" href="dgbmatrix-misc_8hpp_source.html#l00155">swap</a>, and <a class="el" href="dgbmatrix-misc_8hpp_source.html#l00018">zero()</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="classdgbmatrix.html#a5b6fe4d1cfa71161b09ecf0b59befd0e" title="matrix column size">n</a>!=mat.<a class="code" href="class__dgbmatrix.html#a587a07ecbbfc6bbdb0e05574ea6b088a" title="matrix row size">m</a>){
    ERROR_REPORT;
    std::cerr &lt;&lt; <span class="stringliteral">&quot;These two matrises can not make a product.&quot;</span> &lt;&lt; std::endl
              &lt;&lt; <span class="stringliteral">&quot;Your input was (&quot;</span> &lt;&lt; <a class="code" href="classdgbmatrix.html#af8a3e6bc4557b151f0049b8224f54580" title="matrix row size">m</a> &lt;&lt; <span class="stringliteral">&quot;x&quot;</span> &lt;&lt; <a class="code" href="classdgbmatrix.html#a5b6fe4d1cfa71161b09ecf0b59befd0e" title="matrix column size">n</a> &lt;&lt; <span class="stringliteral">&quot;) * (&quot;</span> &lt;&lt; mat.<a class="code" href="class__dgbmatrix.html#a587a07ecbbfc6bbdb0e05574ea6b088a" title="matrix row size">m</a> &lt;&lt; <span class="stringliteral">&quot;x&quot;</span> &lt;&lt; mat.<a class="code" href="class__dgbmatrix.html#a95aebc7e2d4ea66b1b7a08e981df6971" title="matrix column size">n</a> &lt;&lt; <span class="stringliteral">&quot;).&quot;</span> &lt;&lt; std::endl;
    exit(1);
  }
<span class="preprocessor">#endif//CPPL_DEBUG</span>
<span class="preprocessor"></span>  
  <a class="code" href="classdgbmatrix.html" title="Real Double-precision General Band Matrix Class.">dgbmatrix</a> newmat( <a class="code" href="classdgbmatrix.html#af8a3e6bc4557b151f0049b8224f54580" title="matrix row size">m</a>, mat.<a class="code" href="class__dgbmatrix.html#a95aebc7e2d4ea66b1b7a08e981df6971" title="matrix column size">n</a>, std::min(<a class="code" href="classdgbmatrix.html#aeeb3e79431677905a4ece19c6616edd4" title="lower band width">kl</a>+mat.<a class="code" href="class__dgbmatrix.html#aeea4fdf76630ca1b51f93c5bed64662c" title="lower band width">kl</a>, <a class="code" href="classdgbmatrix.html#af8a3e6bc4557b151f0049b8224f54580" title="matrix row size">m</a>-1), std::min(<a class="code" href="classdgbmatrix.html#a0b4d519e95ddf780bf1151a42018d646" title="upper band width">ku</a>+mat.<a class="code" href="class__dgbmatrix.html#a116dadc8ed5246ee0b4cd0a9fffc53ea" title="upper band width">ku</a>, mat.<a class="code" href="class__dgbmatrix.html#a95aebc7e2d4ea66b1b7a08e981df6971" title="matrix column size">n</a>-1) );
  newmat.zero();
  
  <span class="keywordflow">for</span>(<span class="keywordtype">long</span> <a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>=0; <a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>&lt;newmat.<a class="code" href="class__dgematrix.html#a4c07ace0e1899332aa2d620af184dadf" title="matrix row size">m</a>; <a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>++){
    <span class="keywordflow">for</span>(<span class="keywordtype">long</span> j=std::max(<span class="keywordtype">long</span>(0),<a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>-newmat.kl); j&lt;std::min(newmat.n,<a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>+newmat.ku+1); j++){
      <span class="keywordflow">for</span>(<span class="keywordtype">long</span> k=std::max( std::max(<span class="keywordtype">long</span>(0),<a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>-<a class="code" href="classdgbmatrix.html#aeeb3e79431677905a4ece19c6616edd4" title="lower band width">kl</a>), std::max(<span class="keywordtype">long</span>(0),j-mat.<a class="code" href="class__dgbmatrix.html#a116dadc8ed5246ee0b4cd0a9fffc53ea" title="upper band width">ku</a>) );
          k&lt; std::min( std::min(<a class="code" href="classdgbmatrix.html#a5b6fe4d1cfa71161b09ecf0b59befd0e" title="matrix column size">n</a>,<a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>+<a class="code" href="classdgbmatrix.html#a0b4d519e95ddf780bf1151a42018d646" title="upper band width">ku</a>+1), std::min(mat.<a class="code" href="class__dgbmatrix.html#a587a07ecbbfc6bbdb0e05574ea6b088a" title="matrix row size">m</a>,j+mat.<a class="code" href="class__dgbmatrix.html#aeea4fdf76630ca1b51f93c5bed64662c" title="lower band width">kl</a>+1) ); k++){
        newmat(<a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>,j)+= <a class="code" href="classdgbmatrix.html#a1de0cb1230e2dd683f7e3d38a1560e79">operator()</a>(<a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>,k)*mat(k,j);
      }
    }
  }
  
  <a class="code" href="classdgbmatrix.html#a6b97772f3dec963a7745ad448c3919a5">swap</a>(*<span class="keyword">this</span>,newmat);
  mat.<a class="code" href="class__dgbmatrix.html#a170fdd995797f5d394863105e658df9e">destroy</a>();
  <span class="keywordflow">return</span> *<span class="keyword">this</span>;
}
</pre></div>
</div>
</div>
<a class="anchor" id="a9b125867ed1e2f8e02de5beddb921a2e"></a><!-- doxytag: member="dgbmatrix::operator*=" ref="a9b125867ed1e2f8e02de5beddb921a2e" args="(const double &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classdgbmatrix.html">dgbmatrix</a> &amp; dgbmatrix::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>dgbmatrix*=double operator </p>

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

<p>References <a class="el" href="dgbmatrix_8hpp_source.html#l00013">array</a>, <a class="el" href="dgbmatrix_8hpp_source.html#l00011">kl</a>, <a class="el" href="dgbmatrix_8hpp_source.html#l00012">ku</a>, and <a class="el" href="dgbmatrix_8hpp_source.html#l00010">n</a>.</p>
<div class="fragment"><pre class="fragment">{VERBOSE_REPORT;
  dscal_((<a class="code" href="classdgbmatrix.html#aeeb3e79431677905a4ece19c6616edd4" title="lower band width">kl</a>+<a class="code" href="classdgbmatrix.html#a0b4d519e95ddf780bf1151a42018d646" title="upper band width">ku</a>+1)*<a class="code" href="classdgbmatrix.html#a5b6fe4d1cfa71161b09ecf0b59befd0e" title="matrix column size">n</a>, d, <a class="code" href="classdgbmatrix.html#a3a208131351663f0aa4a95c87851d23c" 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="aae66d1db2c796ebd7af701b4d49619b7"></a><!-- doxytag: member="dgbmatrix::operator/=" ref="aae66d1db2c796ebd7af701b4d49619b7" args="(const double &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classdgbmatrix.html">dgbmatrix</a> &amp; dgbmatrix::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>dgbmatrix/=double operator </p>

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

<p>References <a class="el" href="dgbmatrix_8hpp_source.html#l00013">array</a>, <a class="el" href="dgbmatrix_8hpp_source.html#l00011">kl</a>, <a class="el" href="dgbmatrix_8hpp_source.html#l00012">ku</a>, and <a class="el" href="dgbmatrix_8hpp_source.html#l00010">n</a>.</p>
<div class="fragment"><pre class="fragment">{VERBOSE_REPORT;
  dscal_((<a class="code" href="classdgbmatrix.html#aeeb3e79431677905a4ece19c6616edd4" title="lower band width">kl</a>+<a class="code" href="classdgbmatrix.html#a0b4d519e95ddf780bf1151a42018d646" title="upper band width">ku</a>+1)*<a class="code" href="classdgbmatrix.html#a5b6fe4d1cfa71161b09ecf0b59befd0e" title="matrix column size">n</a>, 1./d, <a class="code" href="classdgbmatrix.html#a3a208131351663f0aa4a95c87851d23c" 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="a67d7e60b441c8a6b527b290ab45d5a8d"></a><!-- doxytag: member="dgbmatrix::operator&lt;&lt;" ref="a67d7e60b441c8a6b527b290ab45d5a8d" args="(std::ostream &amp;, const dgbmatrix &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="classdgbmatrix.html">dgbmatrix</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="dgbmatrix-io_8hpp_source.html#l00062">62</a> of file <a class="el" href="dgbmatrix-io_8hpp_source.html">dgbmatrix-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="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>=0; <a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>&lt;mat.<a class="code" href="classdgbmatrix.html#af8a3e6bc4557b151f0049b8224f54580" title="matrix row size">m</a>; <a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>++){
    <span class="keywordflow">for</span>(<span class="keywordtype">long</span> j=0; j&lt;mat.<a class="code" href="classdgbmatrix.html#a5b6fe4d1cfa71161b09ecf0b59befd0e" title="matrix column size">n</a>; j++){
      <span class="keywordflow">if</span>( <a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>-j&gt;mat.<a class="code" href="classdgbmatrix.html#aeeb3e79431677905a4ece19c6616edd4" title="lower band width">kl</a> || j-<a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>&gt;mat.<a class="code" href="classdgbmatrix.html#a0b4d519e95ddf780bf1151a42018d646" title="upper band width">ku</a> ){ s &lt;&lt; <span class="stringliteral">&quot; x&quot;</span>; }
      <span class="keywordflow">else</span>{ s &lt;&lt; <span class="stringliteral">&quot; &quot;</span> &lt;&lt; mat(<a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>,j); }
    }
    s &lt;&lt; std::endl;
  }
  
  <span class="keywordflow">return</span> s;
}
</pre></div>
</div>
</div>
<a class="anchor" id="a6b97772f3dec963a7745ad448c3919a5"></a><!-- doxytag: member="dgbmatrix::swap" ref="a6b97772f3dec963a7745ad448c3919a5" args="(dgbmatrix &amp;, dgbmatrix &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classdgbmatrix.html#a6b97772f3dec963a7745ad448c3919a5">swap</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classdgbmatrix.html">dgbmatrix</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="classdgbmatrix.html">dgbmatrix</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="dgbmatrix-misc_8hpp_source.html#l00155">155</a> of file <a class="el" href="dgbmatrix-misc_8hpp_source.html">dgbmatrix-misc.hpp</a>.</p>

<p>Referenced by <a class="el" href="dgbmatrix-lapack_8hpp_source.html#l00005">dgbsv()</a>, <a class="el" href="dgbmatrix-__dgbmatrix_8hpp_source.html#l00099">operator*=()</a>, <a class="el" href="dgbmatrix-__dgbmatrix_8hpp_source.html#l00016">operator+=()</a>, and <a class="el" href="dgbmatrix-__dgbmatrix_8hpp_source.html#l00058">operator-=()</a>.</p>
<div class="fragment"><pre class="fragment">{VERBOSE_REPORT;
  <span class="keywordtype">long</span> A_m =A.<a class="code" href="classdgbmatrix.html#af8a3e6bc4557b151f0049b8224f54580" title="matrix row size">m</a>, A_n =A.<a class="code" href="classdgbmatrix.html#a5b6fe4d1cfa71161b09ecf0b59befd0e" title="matrix column size">n</a>, A_kl =A.<a class="code" href="classdgbmatrix.html#aeeb3e79431677905a4ece19c6616edd4" title="lower band width">kl</a>, A_ku =A.<a class="code" href="classdgbmatrix.html#a0b4d519e95ddf780bf1151a42018d646" title="upper band width">ku</a>;
  <span class="keywordtype">double</span>* A_array =A.<a class="code" href="classdgbmatrix.html#a3a208131351663f0aa4a95c87851d23c" title="1D array to store matrix data">array</a>;
  <span class="keywordtype">double</span>** A_darray=A.<a class="code" href="classdgbmatrix.html#afc4317fc1c0015fc1ac6316455457a53" title="array of pointers of column head addresses">darray</a>;
  A.<a class="code" href="classdgbmatrix.html#af8a3e6bc4557b151f0049b8224f54580" title="matrix row size">m</a>=B.<a class="code" href="classdgbmatrix.html#af8a3e6bc4557b151f0049b8224f54580" title="matrix row size">m</a>; A.<a class="code" href="classdgbmatrix.html#a5b6fe4d1cfa71161b09ecf0b59befd0e" title="matrix column size">n</a>=B.<a class="code" href="classdgbmatrix.html#a5b6fe4d1cfa71161b09ecf0b59befd0e" title="matrix column size">n</a>; A.<a class="code" href="classdgbmatrix.html#aeeb3e79431677905a4ece19c6616edd4" title="lower band width">kl</a>=B.<a class="code" href="classdgbmatrix.html#aeeb3e79431677905a4ece19c6616edd4" title="lower band width">kl</a>; A.<a class="code" href="classdgbmatrix.html#a0b4d519e95ddf780bf1151a42018d646" title="upper band width">ku</a>=B.<a class="code" href="classdgbmatrix.html#a0b4d519e95ddf780bf1151a42018d646" title="upper band width">ku</a>; A.<a class="code" href="classdgbmatrix.html#a3a208131351663f0aa4a95c87851d23c" title="1D array to store matrix data">array</a>=B.<a class="code" href="classdgbmatrix.html#a3a208131351663f0aa4a95c87851d23c" title="1D array to store matrix data">array</a>; A.<a class="code" href="classdgbmatrix.html#afc4317fc1c0015fc1ac6316455457a53" title="array of pointers of column head addresses">darray</a>=B.<a class="code" href="classdgbmatrix.html#afc4317fc1c0015fc1ac6316455457a53" title="array of pointers of column head addresses">darray</a>;
  B.<a class="code" href="classdgbmatrix.html#af8a3e6bc4557b151f0049b8224f54580" title="matrix row size">m</a>=A_m; B.<a class="code" href="classdgbmatrix.html#a5b6fe4d1cfa71161b09ecf0b59befd0e" title="matrix column size">n</a>=A_n; B.<a class="code" href="classdgbmatrix.html#aeeb3e79431677905a4ece19c6616edd4" title="lower band width">kl</a>=A_kl; B.<a class="code" href="classdgbmatrix.html#a0b4d519e95ddf780bf1151a42018d646" title="upper band width">ku</a>=A_ku; B.<a class="code" href="classdgbmatrix.html#a3a208131351663f0aa4a95c87851d23c" title="1D array to store matrix data">array</a>=A_array; B.<a class="code" href="classdgbmatrix.html#afc4317fc1c0015fc1ac6316455457a53" title="array of pointers of column head addresses">darray</a>=A_darray;
}
</pre></div>
</div>
</div>
<a class="anchor" id="a7d6b5211b5f8c6593be96fbd9447a0df"></a><!-- doxytag: member="dgbmatrix::_" ref="a7d6b5211b5f8c6593be96fbd9447a0df" args="(dgbmatrix &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class__dgbmatrix.html">_dgbmatrix</a> <a class="el" href="classdgbmatrix.html#a7d6b5211b5f8c6593be96fbd9447a0df">_</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classdgbmatrix.html">dgbmatrix</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="dgbmatrix-misc_8hpp_source.html#l00166">166</a> of file <a class="el" href="dgbmatrix-misc_8hpp_source.html">dgbmatrix-misc.hpp</a>.</p>

<p>Referenced by <a class="el" href="dgbmatrix-misc_8hpp_source.html#l00133">col()</a>, <a class="el" href="dgbmatrix-misc_8hpp_source.html#l00115">row()</a>, <a class="el" href="dgbmatrix-cast_8hpp_source.html#l00019">to_dgematrix()</a>, and <a class="el" href="dgbmatrix-cast_8hpp_source.html#l00003">to_zgbmatrix()</a>.</p>
<div class="fragment"><pre class="fragment">{VERBOSE_REPORT;
  <a class="code" href="class__dgbmatrix.html" title="(DO NOT USE) Smart-temporary Real Double-precision General Band Matrix Class">_dgbmatrix</a> newmat;
  <span class="comment"></span>
<span class="comment">  //////// shallow copy ////////</span>
<span class="comment"></span>  newmat.<a class="code" href="class__dgbmatrix.html#a587a07ecbbfc6bbdb0e05574ea6b088a" title="matrix row size">m</a> =mat.<a class="code" href="classdgbmatrix.html#af8a3e6bc4557b151f0049b8224f54580" title="matrix row size">m</a>;
  newmat.<a class="code" href="class__dgbmatrix.html#a95aebc7e2d4ea66b1b7a08e981df6971" title="matrix column size">n</a> =mat.<a class="code" href="classdgbmatrix.html#a5b6fe4d1cfa71161b09ecf0b59befd0e" title="matrix column size">n</a>;
  newmat.<a class="code" href="class__dgbmatrix.html#aeea4fdf76630ca1b51f93c5bed64662c" title="lower band width">kl</a> =mat.<a class="code" href="classdgbmatrix.html#aeeb3e79431677905a4ece19c6616edd4" title="lower band width">kl</a>;
  newmat.<a class="code" href="class__dgbmatrix.html#a116dadc8ed5246ee0b4cd0a9fffc53ea" title="upper band width">ku</a> =mat.<a class="code" href="classdgbmatrix.html#a0b4d519e95ddf780bf1151a42018d646" title="upper band width">ku</a>;
  newmat.<a class="code" href="class__dgbmatrix.html#a3d7680e0014aa00249f76a86e13de9eb" title="1D array to store matrix data">array</a> =mat.<a class="code" href="classdgbmatrix.html#a3a208131351663f0aa4a95c87851d23c" title="1D array to store matrix data">array</a>;
  newmat.<a class="code" href="class__dgbmatrix.html#ae9c142fd6903cf00df8e1d5363e9848d" title="array of pointers of column head addresses">darray</a> =mat.<a class="code" href="classdgbmatrix.html#afc4317fc1c0015fc1ac6316455457a53" 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="classdgbmatrix.html#af8a3e6bc4557b151f0049b8224f54580" title="matrix row size">m</a> =0;
  mat.<a class="code" href="classdgbmatrix.html#a5b6fe4d1cfa71161b09ecf0b59befd0e" title="matrix column size">n</a> =0;
  mat.<a class="code" href="classdgbmatrix.html#aeeb3e79431677905a4ece19c6616edd4" title="lower band width">kl</a> =0;
  mat.<a class="code" href="classdgbmatrix.html#a0b4d519e95ddf780bf1151a42018d646" title="upper band width">ku</a> =0;
  mat.<a class="code" href="classdgbmatrix.html#a3a208131351663f0aa4a95c87851d23c" title="1D array to store matrix data">array</a> =NULL;
  mat.<a class="code" href="classdgbmatrix.html#afc4317fc1c0015fc1ac6316455457a53" 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="a1b53ef495ddd14f2d6e7c0a5bbd5ca37"></a><!-- doxytag: member="dgbmatrix::t" ref="a1b53ef495ddd14f2d6e7c0a5bbd5ca37" args="(const dgbmatrix &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class__dgbmatrix.html">_dgbmatrix</a> <a class="el" href="classdgbmatrix.html#a1b53ef495ddd14f2d6e7c0a5bbd5ca37">t</a> </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classdgbmatrix.html">dgbmatrix</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 dgbmatrix </p>

<p>Definition at line <a class="el" href="dgbmatrix-calc_8hpp_source.html#l00003">3</a> of file <a class="el" href="dgbmatrix-calc_8hpp_source.html">dgbmatrix-calc.hpp</a>.</p>
<div class="fragment"><pre class="fragment">{VERBOSE_REPORT;
  <a class="code" href="classdgbmatrix.html" title="Real Double-precision General Band Matrix Class.">dgbmatrix</a> newmat(mat.<a class="code" href="classdgbmatrix.html#a5b6fe4d1cfa71161b09ecf0b59befd0e" title="matrix column size">n</a>, mat.<a class="code" href="classdgbmatrix.html#af8a3e6bc4557b151f0049b8224f54580" title="matrix row size">m</a>, mat.<a class="code" href="classdgbmatrix.html#a0b4d519e95ddf780bf1151a42018d646" title="upper band width">ku</a>, mat.<a class="code" href="classdgbmatrix.html#aeeb3e79431677905a4ece19c6616edd4" title="lower band width">kl</a>);
  <span class="keywordflow">for</span>(<span class="keywordtype">long</span> <a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>=0; <a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>&lt;newmat.<a class="code" href="class__dgematrix.html#a4c07ace0e1899332aa2d620af184dadf" title="matrix row size">m</a>; <a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>++){
    <span class="keywordflow">for</span>(<span class="keywordtype">long</span> j=std::max(<span class="keywordtype">long</span>(0),<a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>-newmat.kl); j&lt;std::min(newmat.n,<a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>+newmat.ku+1); j++){
      newmat(<a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>,j) =mat(j,<a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>);
    }
  }
  
  <span class="keywordflow">return</span> <a class="code" href="classdgbmatrix.html#a7d6b5211b5f8c6593be96fbd9447a0df">_</a>(newmat);
}
</pre></div>
</div>
</div>
<a class="anchor" id="a567371974ca5b8a153befe8dccd4e374"></a><!-- doxytag: member="dgbmatrix::i" ref="a567371974ca5b8a153befe8dccd4e374" args="(const dgbmatrix &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class__dgematrix.html">_dgematrix</a> <a class="el" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a> </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classdgbmatrix.html">dgbmatrix</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="dgbmatrix-calc_8hpp_source.html#l00017">17</a> of file <a class="el" href="dgbmatrix-calc_8hpp_source.html">dgbmatrix-calc.hpp</a>.</p>

<p>Referenced by <a class="el" href="dgbmatrix-misc_8hpp_source.html#l00044">chsign()</a>, <a class="el" href="dgbmatrix-misc_8hpp_source.html#l00133">col()</a>, <a class="el" href="dgbmatrix-misc_8hpp_source.html#l00050">copy()</a>, <a class="el" href="dgbmatrix-constructor_8hpp_source.html#l00016">dgbmatrix()</a>, <a class="el" href="dgbmatrix-lapack_8hpp_source.html#l00005">dgbsv()</a>, <a class="el" href="dgbmatrix-misc_8hpp_source.html#l00026">identity()</a>, <a class="el" href="dgbmatrix-io_8hpp_source.html#l00003">operator()()</a>, <a class="el" href="dgbmatrix-__dgbmatrix_8hpp_source.html#l00099">operator*=()</a>, <a class="el" href="dgbmatrix-__dgbmatrix_8hpp_source.html#l00016">operator+=()</a>, <a class="el" href="dgbmatrix-__dgbmatrix_8hpp_source.html#l00058">operator-=()</a>, <a class="el" href="dgbmatrix-io_8hpp_source.html#l00100">read()</a>, <a class="el" href="dgbmatrix-misc_8hpp_source.html#l00084">resize()</a>, <a class="el" href="dgbmatrix-io_8hpp_source.html#l00041">set()</a>, <a class="el" href="dgbmatrix-cast_8hpp_source.html#l00019">to_dgematrix()</a>, <a class="el" href="dgbmatrix-cast_8hpp_source.html#l00003">to_zgbmatrix()</a>, <a class="el" href="dgbmatrix-io_8hpp_source.html#l00080">write()</a>, and <a class="el" href="dgbmatrix-misc_8hpp_source.html#l00018">zero()</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="classdgbmatrix.html#af8a3e6bc4557b151f0049b8224f54580" title="matrix row size">m</a>!=mat.<a class="code" href="classdgbmatrix.html#a5b6fe4d1cfa71161b09ecf0b59befd0e" title="matrix column size">n</a>){
    ERROR_REPORT;
    std::cerr &lt;&lt; <span class="stringliteral">&quot;This matrix is not square and has no inverse matrix.&quot;</span> &lt;&lt; std::endl
              &lt;&lt; <span class="stringliteral">&quot;Your input was (&quot;</span> &lt;&lt; mat.<a class="code" href="classdgbmatrix.html#af8a3e6bc4557b151f0049b8224f54580" title="matrix row size">m</a> &lt;&lt; <span class="stringliteral">&quot;x&quot;</span> &lt;&lt; mat.<a class="code" href="classdgbmatrix.html#a5b6fe4d1cfa71161b09ecf0b59befd0e" title="matrix column size">n</a> &lt;&lt; <span class="stringliteral">&quot;).&quot;</span> &lt;&lt; std::endl;
    exit(1);
  }
<span class="preprocessor">#endif//CPPL_DEBUG</span>
<span class="preprocessor"></span>  
  <a class="code" href="classdgbmatrix.html" title="Real Double-precision General Band Matrix Class.">dgbmatrix</a> mat_cp(mat);
  <a class="code" href="classdgematrix.html" title="Real Double-precision General Dence Matrix Class.">dgematrix</a> mat_inv(mat.<a class="code" href="classdgbmatrix.html#af8a3e6bc4557b151f0049b8224f54580" title="matrix row size">m</a>,mat.<a class="code" href="classdgbmatrix.html#a5b6fe4d1cfa71161b09ecf0b59befd0e" title="matrix column size">n</a>);
  mat_inv.identity();
  mat_cp.dgbsv(mat_inv);
  
  <span class="keywordflow">return</span> <a class="code" href="classdgbmatrix.html#a7d6b5211b5f8c6593be96fbd9447a0df">_</a>(mat_inv);
}
</pre></div>
</div>
</div>
<a class="anchor" id="a29dd231a2c408065d14678ce32714b6d"></a><!-- doxytag: member="dgbmatrix::operator+" ref="a29dd231a2c408065d14678ce32714b6d" args="(const dgbmatrix &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="classdgbmatrix.html">dgbmatrix</a>&amp; operator+ </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classdgbmatrix.html">dgbmatrix</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>+dgbmatrix operator </p>

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

<p>Definition at line <a class="el" href="dgbmatrix-unary_8hpp_source.html#l00010">10</a> of file <a class="el" href="dgbmatrix-unary_8hpp_source.html">dgbmatrix-unary.hpp</a>.</p>
<div class="fragment"><pre class="fragment">{VERBOSE_REPORT;
  <a class="code" href="classdgbmatrix.html" title="Real Double-precision General Band Matrix Class.">dgbmatrix</a> newmat(mat.<a class="code" href="classdgbmatrix.html#af8a3e6bc4557b151f0049b8224f54580" title="matrix row size">m</a>,mat.<a class="code" href="classdgbmatrix.html#a5b6fe4d1cfa71161b09ecf0b59befd0e" title="matrix column size">n</a>,mat.<a class="code" href="classdgbmatrix.html#aeeb3e79431677905a4ece19c6616edd4" title="lower band width">kl</a>,mat.<a class="code" href="classdgbmatrix.html#a0b4d519e95ddf780bf1151a42018d646" title="upper band width">ku</a>);
  <span class="keywordflow">for</span>(<span class="keywordtype">long</span> <a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>=0; <a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>&lt;(newmat.kl+newmat.ku+1)*newmat.<a class="code" href="class__dgematrix.html#ad46b02985eb9537b1bd65937d5b052de" title="matrix column size">n</a>; <a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>++){
    newmat.array[<a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>]=-mat.<a class="code" href="classdgbmatrix.html#a3a208131351663f0aa4a95c87851d23c" title="1D array to store matrix data">array</a>[<a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>];
  }
  
  <span class="keywordflow">return</span> <a class="code" href="classdgbmatrix.html#a7d6b5211b5f8c6593be96fbd9447a0df">_</a>(newmat);
}
</pre></div>
</div>
</div>
<a class="anchor" id="a9e1efe17adfb0a69d924789bc527366b"></a><!-- doxytag: member="dgbmatrix::operator+" ref="a9e1efe17adfb0a69d924789bc527366b" args="(const dgbmatrix &amp;, const dgematrix &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class__dgematrix.html">_dgematrix</a> operator+ </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classdgbmatrix.html">dgbmatrix</a> &amp;&#160;</td>
          <td class="paramname"><em>matA</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classdgematrix.html">dgematrix</a> &amp;&#160;</td>
          <td class="paramname"><em>matB</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [friend]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>dgbmatrix+dgematrix operator </p>

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

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

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

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

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

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

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

<p>Definition at line <a class="el" href="dgbmatrix-__dgsmatrix_8hpp_source.html#l00003">3</a> of file <a class="el" href="dgbmatrix-__dgsmatrix_8hpp_source.html">dgbmatrix-_dgsmatrix.hpp</a>.</p>
<div class="fragment"><pre class="fragment">{VERBOSE_REPORT;
<span class="preprocessor">#ifdef  CPPL_DEBUG</span>
<span class="preprocessor"></span>  <span class="keywordflow">if</span>(matA.<a class="code" href="classdgbmatrix.html#a5b6fe4d1cfa71161b09ecf0b59befd0e" title="matrix column size">n</a>!=matB.<a class="code" href="class__dgsmatrix.html#a8457e7af3a1e2ff7d8c3238260d59936" title="matrix column size">n</a> || matA.<a class="code" href="classdgbmatrix.html#af8a3e6bc4557b151f0049b8224f54580" title="matrix row size">m</a>!=matB.<a class="code" href="class__dgsmatrix.html#ac45fcfd8d9cddb1fae5b66cd9b7ac98a" title="matrix row size">m</a>){
    ERROR_REPORT;
    std::cerr &lt;&lt; <span class="stringliteral">&quot;These two matrises can not make a 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="classdgbmatrix.html#af8a3e6bc4557b151f0049b8224f54580" title="matrix row size">m</a> &lt;&lt; <span class="stringliteral">&quot;x&quot;</span> &lt;&lt; matA.<a class="code" href="classdgbmatrix.html#a5b6fe4d1cfa71161b09ecf0b59befd0e" title="matrix column size">n</a> &lt;&lt; <span class="stringliteral">&quot;) + (&quot;</span> &lt;&lt; matB.<a class="code" href="class__dgsmatrix.html#ac45fcfd8d9cddb1fae5b66cd9b7ac98a" title="matrix row size">m</a> &lt;&lt; <span class="stringliteral">&quot;x&quot;</span> &lt;&lt; matB.<a class="code" href="class__dgsmatrix.html#a8457e7af3a1e2ff7d8c3238260d59936" title="matrix column size">n</a> &lt;&lt; <span class="stringliteral">&quot;).&quot;</span> &lt;&lt; std::endl;
    exit(1);
  }
<span class="preprocessor">#endif//CPPL_DEBUG</span>
<span class="preprocessor"></span>  
  <a class="code" href="classdgematrix.html" title="Real Double-precision General Dence Matrix Class.">dgematrix</a> newmat( matB.<a class="code" href="class__dgsmatrix.html#a5cc312d49cf097ebee56c1550988f463">to_dgematrix</a>() );
  <span class="keywordflow">for</span>(<span class="keywordtype">long</span> <a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>=0; <a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>&lt;matA.<a class="code" href="classdgbmatrix.html#af8a3e6bc4557b151f0049b8224f54580" title="matrix row size">m</a>; <a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>++){
    <span class="keywordflow">for</span>(<span class="keywordtype">long</span> j=std::max(<span class="keywordtype">long</span>(0),<a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>-matA.<a class="code" href="classdgbmatrix.html#aeeb3e79431677905a4ece19c6616edd4" title="lower band width">kl</a>); j&lt;std::min(matA.<a class="code" href="classdgbmatrix.html#a5b6fe4d1cfa71161b09ecf0b59befd0e" title="matrix column size">n</a>,<a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>+matA.<a class="code" href="classdgbmatrix.html#a0b4d519e95ddf780bf1151a42018d646" title="upper band width">ku</a>+1); j++){
      newmat(<a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>,j)+=matA(<a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>,j);
    }
  }
  
  matB.<a class="code" href="class__dgsmatrix.html#aa2851712fa4f99d8d608815ef274a362">destroy</a>();
  <span class="keywordflow">return</span> <a class="code" href="classdgbmatrix.html#a7d6b5211b5f8c6593be96fbd9447a0df">_</a>(newmat);
}
</pre></div>
</div>
</div>
<a class="anchor" id="a4bfe5ab55cc848a71890ad7be3050946"></a><!-- doxytag: member="dgbmatrix::operator+" ref="a4bfe5ab55cc848a71890ad7be3050946" args="(const dgbmatrix &amp;, const dssmatrix &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class__dgematrix.html">_dgematrix</a> operator+ </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classdgbmatrix.html">dgbmatrix</a> &amp;&#160;</td>
          <td class="paramname">, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classdssmatrix.html">dssmatrix</a> &amp;&#160;</td>
          <td class="paramname">&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [friend]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

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

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

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

<p>Definition at line <a class="el" href="dgbmatrix-__dgematrix_8hpp_source.html#l00025">25</a> of file <a class="el" href="dgbmatrix-__dgematrix_8hpp_source.html">dgbmatrix-_dgematrix.hpp</a>.</p>
<div class="fragment"><pre class="fragment">{VERBOSE_REPORT;
<span class="preprocessor">#ifdef  CPPL_DEBUG</span>
<span class="preprocessor"></span>  <span class="keywordflow">if</span>(matA.<a class="code" href="classdgbmatrix.html#a5b6fe4d1cfa71161b09ecf0b59befd0e" title="matrix column size">n</a>!=matB.<a class="code" href="class__dgematrix.html#ad46b02985eb9537b1bd65937d5b052de" title="matrix column size">n</a> || matA.<a class="code" href="classdgbmatrix.html#af8a3e6bc4557b151f0049b8224f54580" title="matrix row size">m</a>!=matB.<a class="code" href="class__dgematrix.html#a4c07ace0e1899332aa2d620af184dadf" title="matrix row size">m</a>){
    ERROR_REPORT;
    std::cerr &lt;&lt; <span class="stringliteral">&quot;These two matrises can not make a summation.&quot;</span> &lt;&lt; std::endl
              &lt;&lt; <span class="stringliteral">&quot;Your input was (&quot;</span> &lt;&lt; matA.<a class="code" href="classdgbmatrix.html#af8a3e6bc4557b151f0049b8224f54580" title="matrix row size">m</a> &lt;&lt; <span class="stringliteral">&quot;x&quot;</span> &lt;&lt; matA.<a class="code" href="classdgbmatrix.html#a5b6fe4d1cfa71161b09ecf0b59befd0e" title="matrix column size">n</a> &lt;&lt; <span class="stringliteral">&quot;) + (&quot;</span> &lt;&lt; matB.<a class="code" href="class__dgematrix.html#a4c07ace0e1899332aa2d620af184dadf" title="matrix row size">m</a> &lt;&lt; <span class="stringliteral">&quot;x&quot;</span> &lt;&lt; matB.<a class="code" href="class__dgematrix.html#ad46b02985eb9537b1bd65937d5b052de" title="matrix column size">n</a> &lt;&lt; <span class="stringliteral">&quot;).&quot;</span> &lt;&lt; std::endl;
    exit(1);
  }
<span class="preprocessor">#endif//CPPL_DEBUG</span>
<span class="preprocessor"></span>  <span class="comment"></span>
<span class="comment">  //// change sign ////</span>
<span class="comment"></span>  <span class="keywordflow">for</span>(<span class="keywordtype">long</span> <a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>=0; <a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>&lt;matB.<a class="code" href="class__dgematrix.html#a4c07ace0e1899332aa2d620af184dadf" title="matrix row size">m</a>*matB.<a class="code" href="class__dgematrix.html#ad46b02985eb9537b1bd65937d5b052de" title="matrix column size">n</a>; <a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>++){
    matB.<a class="code" href="class__dgematrix.html#ad01c168fc4997d06e7c996ba36b12ff6" title="1D array to store matrix data">array</a>[<a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>]=-matB.<a class="code" href="class__dgematrix.html#ad01c168fc4997d06e7c996ba36b12ff6" title="1D array to store matrix data">array</a>[<a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>];
  }
  <span class="comment"></span>
<span class="comment">  //// add ////</span>
<span class="comment"></span>  <span class="keywordflow">for</span>(<span class="keywordtype">long</span> <a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>=0; <a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>&lt;matA.<a class="code" href="classdgbmatrix.html#af8a3e6bc4557b151f0049b8224f54580" title="matrix row size">m</a>; <a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>++){
    <span class="keywordflow">for</span>(<span class="keywordtype">long</span> j=std::max(<span class="keywordtype">long</span>(0),<a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>-matA.<a class="code" href="classdgbmatrix.html#aeeb3e79431677905a4ece19c6616edd4" title="lower band width">kl</a>); j&lt;std::min(matA.<a class="code" href="classdgbmatrix.html#a5b6fe4d1cfa71161b09ecf0b59befd0e" title="matrix column size">n</a>,<a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>+matA.<a class="code" href="classdgbmatrix.html#a0b4d519e95ddf780bf1151a42018d646" title="upper band width">ku</a>+1); j++){
      matB(<a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>,j) +=matA(<a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>,j);
    }
  }
  
  <span class="keywordflow">return</span> matB;
}
</pre></div>
</div>
</div>
<a class="anchor" id="a468acc73f939966e2797463c45832c46"></a><!-- doxytag: member="dgbmatrix::operator&#45;" ref="a468acc73f939966e2797463c45832c46" args="(const dgbmatrix &amp;, const dsymatrix &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class__dgematrix.html">_dgematrix</a> operator- </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classdgbmatrix.html">dgbmatrix</a> &amp;&#160;</td>
          <td class="paramname"><em>matA</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classdsymatrix.html">dsymatrix</a> &amp;&#160;</td>
          <td class="paramname"><em>matB</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [friend]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>dgbmatrix-dsymatrix operator </p>

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

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

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

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

<p>Definition at line <a class="el" href="dgbmatrix-dgsmatrix_8hpp_source.html#l00027">27</a> of file <a class="el" href="dgbmatrix-dgsmatrix_8hpp_source.html">dgbmatrix-dgsmatrix.hpp</a>.</p>
<div class="fragment"><pre class="fragment">{VERBOSE_REPORT;
<span class="preprocessor">#ifdef  CPPL_DEBUG</span>
<span class="preprocessor"></span>  <span class="keywordflow">if</span>(matA.<a class="code" href="classdgbmatrix.html#a5b6fe4d1cfa71161b09ecf0b59befd0e" title="matrix column size">n</a>!=matB.<a class="code" href="classdgsmatrix.html#acefae40b42444c17eebbc23ccee73ae0" title="matrix column size">n</a> || matA.<a class="code" href="classdgbmatrix.html#af8a3e6bc4557b151f0049b8224f54580" title="matrix row size">m</a>!=matB.<a class="code" href="classdgsmatrix.html#ae2d6c9f9657d44171a4bfd56276277cb" title="matrix row size">m</a>){
    ERROR_REPORT;
    std::cerr &lt;&lt; <span class="stringliteral">&quot;These two matrises can not make a 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="classdgbmatrix.html#af8a3e6bc4557b151f0049b8224f54580" title="matrix row size">m</a> &lt;&lt; <span class="stringliteral">&quot;x&quot;</span> &lt;&lt; matA.<a class="code" href="classdgbmatrix.html#a5b6fe4d1cfa71161b09ecf0b59befd0e" title="matrix column size">n</a> &lt;&lt; <span class="stringliteral">&quot;) + (&quot;</span> &lt;&lt; matB.<a class="code" href="classdgsmatrix.html#ae2d6c9f9657d44171a4bfd56276277cb" title="matrix row size">m</a> &lt;&lt; <span class="stringliteral">&quot;x&quot;</span> &lt;&lt; matB.<a class="code" href="classdgsmatrix.html#acefae40b42444c17eebbc23ccee73ae0" title="matrix column size">n</a> &lt;&lt; <span class="stringliteral">&quot;).&quot;</span> &lt;&lt; std::endl;
    exit(1);
  }
<span class="preprocessor">#endif//CPPL_DEBUG</span>
<span class="preprocessor"></span>  
  <a class="code" href="classdgematrix.html" title="Real Double-precision General Dence Matrix Class.">dgematrix</a> newmat( -matB.<a class="code" href="classdgsmatrix.html#ad4251f53be60d1fea88f3cfaf6f3e409">to_dgematrix</a>() );
  
  <span class="keywordflow">for</span>(<span class="keywordtype">long</span> <a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>=0; <a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>&lt;matA.<a class="code" href="classdgbmatrix.html#af8a3e6bc4557b151f0049b8224f54580" title="matrix row size">m</a>; <a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>++){
    <span class="keywordflow">for</span>(<span class="keywordtype">long</span> j=std::max(<span class="keywordtype">long</span>(0),<a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>-matA.<a class="code" href="classdgbmatrix.html#aeeb3e79431677905a4ece19c6616edd4" title="lower band width">kl</a>); j&lt;std::min(matA.<a class="code" href="classdgbmatrix.html#a5b6fe4d1cfa71161b09ecf0b59befd0e" title="matrix column size">n</a>,<a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>+matA.<a class="code" href="classdgbmatrix.html#a0b4d519e95ddf780bf1151a42018d646" title="upper band width">ku</a>+1); j++){
      newmat(<a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>,j)-=matA(<a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>,j);
    }
  }
  
  <span class="keywordflow">return</span> <a class="code" href="classdgbmatrix.html#a7d6b5211b5f8c6593be96fbd9447a0df">_</a>(newmat);
}
</pre></div>
</div>
</div>
<a class="anchor" id="ab6b8176fff5b4ca94a238a4055ec521a"></a><!-- doxytag: member="dgbmatrix::operator&#45;" ref="ab6b8176fff5b4ca94a238a4055ec521a" args="(const dgbmatrix &amp;, const _dgsmatrix &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class__dgematrix.html">_dgematrix</a> operator- </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classdgbmatrix.html">dgbmatrix</a> &amp;&#160;</td>
          <td class="paramname"><em>matA</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="class__dgsmatrix.html">_dgsmatrix</a> &amp;&#160;</td>
          <td class="paramname"><em>matB</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [friend]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>dgbmatrix-_dgsmatrix operator </p>

<p>Definition at line <a class="el" href="dgbmatrix-__dgsmatrix_8hpp_source.html#l00027">27</a> of file <a class="el" href="dgbmatrix-__dgsmatrix_8hpp_source.html">dgbmatrix-_dgsmatrix.hpp</a>.</p>
<div class="fragment"><pre class="fragment">{VERBOSE_REPORT;
<span class="preprocessor">#ifdef  CPPL_DEBUG</span>
<span class="preprocessor"></span>  <span class="keywordflow">if</span>(matA.<a class="code" href="classdgbmatrix.html#a5b6fe4d1cfa71161b09ecf0b59befd0e" title="matrix column size">n</a>!=matB.<a class="code" href="class__dgsmatrix.html#a8457e7af3a1e2ff7d8c3238260d59936" title="matrix column size">n</a> || matA.<a class="code" href="classdgbmatrix.html#af8a3e6bc4557b151f0049b8224f54580" title="matrix row size">m</a>!=matB.<a class="code" href="class__dgsmatrix.html#ac45fcfd8d9cddb1fae5b66cd9b7ac98a" title="matrix row size">m</a>){
    ERROR_REPORT;
    std::cerr &lt;&lt; <span class="stringliteral">&quot;These two matrises can not make a 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="classdgbmatrix.html#af8a3e6bc4557b151f0049b8224f54580" title="matrix row size">m</a> &lt;&lt; <span class="stringliteral">&quot;x&quot;</span> &lt;&lt; matA.<a class="code" href="classdgbmatrix.html#a5b6fe4d1cfa71161b09ecf0b59befd0e" title="matrix column size">n</a> &lt;&lt; <span class="stringliteral">&quot;) + (&quot;</span> &lt;&lt; matB.<a class="code" href="class__dgsmatrix.html#ac45fcfd8d9cddb1fae5b66cd9b7ac98a" title="matrix row size">m</a> &lt;&lt; <span class="stringliteral">&quot;x&quot;</span> &lt;&lt; matB.<a class="code" href="class__dgsmatrix.html#a8457e7af3a1e2ff7d8c3238260d59936" title="matrix column size">n</a> &lt;&lt; <span class="stringliteral">&quot;).&quot;</span> &lt;&lt; std::endl;
    exit(1);
  }
<span class="preprocessor">#endif//CPPL_DEBUG</span>
<span class="preprocessor"></span>  
  <a class="code" href="classdgematrix.html" title="Real Double-precision General Dence Matrix Class.">dgematrix</a> newmat( (-matB).<a class="code" href="classdgbmatrix.html#a6031ff65aa47db0ef3617533616170f0">to_dgematrix</a>() );
  <span class="keywordflow">for</span>(<span class="keywordtype">long</span> <a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>=0; <a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>&lt;matA.<a class="code" href="classdgbmatrix.html#af8a3e6bc4557b151f0049b8224f54580" title="matrix row size">m</a>; <a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>++){
    <span class="keywordflow">for</span>(<span class="keywordtype">long</span> j=std::max(<span class="keywordtype">long</span>(0),<a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>-matA.<a class="code" href="classdgbmatrix.html#aeeb3e79431677905a4ece19c6616edd4" title="lower band width">kl</a>); j&lt;std::min(matA.<a class="code" href="classdgbmatrix.html#a5b6fe4d1cfa71161b09ecf0b59befd0e" title="matrix column size">n</a>,<a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>+matA.<a class="code" href="classdgbmatrix.html#a0b4d519e95ddf780bf1151a42018d646" title="upper band width">ku</a>+1); j++){
      newmat(<a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>,j)-=matA(<a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>,j);
    }
  }
  
  matB.<a class="code" href="class__dgsmatrix.html#aa2851712fa4f99d8d608815ef274a362">destroy</a>();
  <span class="keywordflow">return</span> <a class="code" href="classdgbmatrix.html#a7d6b5211b5f8c6593be96fbd9447a0df">_</a>(newmat);
}
</pre></div>
</div>
</div>
<a class="anchor" id="a4f9812eae30c05a0d8cb062817b9e3bb"></a><!-- doxytag: member="dgbmatrix::operator&#45;" ref="a4f9812eae30c05a0d8cb062817b9e3bb" args="(const dgbmatrix &amp;, const dssmatrix &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class__dgematrix.html">_dgematrix</a> operator- </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classdgbmatrix.html">dgbmatrix</a> &amp;&#160;</td>
          <td class="paramname">, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classdssmatrix.html">dssmatrix</a> &amp;&#160;</td>
          <td class="paramname">&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [friend]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

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

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

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

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

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

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

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

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

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

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

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

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

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

</div>
</div>
<a class="anchor" id="af721618fdf227687a898bb15dd7e5302"></a><!-- doxytag: member="dgbmatrix::operator*" ref="af721618fdf227687a898bb15dd7e5302" args="(const dgbmatrix &amp;, const double &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class__dgbmatrix.html">_dgbmatrix</a> operator* </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classdgbmatrix.html">dgbmatrix</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>dgbmatrix*double operator </p>

<p>Definition at line <a class="el" href="dgbmatrix-double_8hpp_source.html#l00023">23</a> of file <a class="el" href="dgbmatrix-double_8hpp_source.html">dgbmatrix-double.hpp</a>.</p>
<div class="fragment"><pre class="fragment">{VERBOSE_REPORT;
  <a class="code" href="classdgbmatrix.html" title="Real Double-precision General Band Matrix Class.">dgbmatrix</a> newmat(mat.<a class="code" href="classdgbmatrix.html#af8a3e6bc4557b151f0049b8224f54580" title="matrix row size">m</a>, mat.<a class="code" href="classdgbmatrix.html#a5b6fe4d1cfa71161b09ecf0b59befd0e" title="matrix column size">n</a>, mat.<a class="code" href="classdgbmatrix.html#aeeb3e79431677905a4ece19c6616edd4" title="lower band width">kl</a>, mat.<a class="code" href="classdgbmatrix.html#a0b4d519e95ddf780bf1151a42018d646" title="upper band width">ku</a>);
  <span class="keywordflow">for</span>(<span class="keywordtype">long</span> <a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>=0; <a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>&lt;(newmat.kl+newmat.ku+1)*newmat.<a class="code" href="class__dgematrix.html#ad46b02985eb9537b1bd65937d5b052de" title="matrix column size">n</a>; <a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>++){
    newmat.array[<a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>] =mat.<a class="code" href="classdgbmatrix.html#a3a208131351663f0aa4a95c87851d23c" title="1D array to store matrix data">array</a>[<a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>]*d;
  }
  
  <span class="keywordflow">return</span> <a class="code" href="classdgbmatrix.html#a7d6b5211b5f8c6593be96fbd9447a0df">_</a>(newmat);
}
</pre></div>
</div>
</div>
<a class="anchor" id="ab8a5f4648eaab902ac03a2df59e61b21"></a><!-- doxytag: member="dgbmatrix::operator/" ref="ab8a5f4648eaab902ac03a2df59e61b21" args="(const dgbmatrix &amp;, const double &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class__dgbmatrix.html">_dgbmatrix</a> operator/ </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classdgbmatrix.html">dgbmatrix</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>dgbmatrix/double operator </p>

<p>Definition at line <a class="el" href="dgbmatrix-double_8hpp_source.html#l00035">35</a> of file <a class="el" href="dgbmatrix-double_8hpp_source.html">dgbmatrix-double.hpp</a>.</p>
<div class="fragment"><pre class="fragment">{VERBOSE_REPORT;
  <a class="code" href="classdgbmatrix.html" title="Real Double-precision General Band Matrix Class.">dgbmatrix</a> newmat(mat.<a class="code" href="classdgbmatrix.html#af8a3e6bc4557b151f0049b8224f54580" title="matrix row size">m</a>, mat.<a class="code" href="classdgbmatrix.html#a5b6fe4d1cfa71161b09ecf0b59befd0e" title="matrix column size">n</a>, mat.<a class="code" href="classdgbmatrix.html#aeeb3e79431677905a4ece19c6616edd4" title="lower band width">kl</a>, mat.<a class="code" href="classdgbmatrix.html#a0b4d519e95ddf780bf1151a42018d646" title="upper band width">ku</a>);
  <span class="keywordflow">for</span>(<span class="keywordtype">long</span> <a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>=0; <a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>&lt;(newmat.kl+newmat.ku+1)*newmat.<a class="code" href="class__dgematrix.html#ad46b02985eb9537b1bd65937d5b052de" title="matrix column size">n</a>; <a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>++){
    newmat.array[<a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>] =mat.<a class="code" href="classdgbmatrix.html#a3a208131351663f0aa4a95c87851d23c" title="1D array to store matrix data">array</a>[<a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>]/d;
  }
  
  <span class="keywordflow">return</span> <a class="code" href="classdgbmatrix.html#a7d6b5211b5f8c6593be96fbd9447a0df">_</a>(newmat);
}
</pre></div>
</div>
</div>
<a class="anchor" id="a8213bb60731fec08d21735f06bc9a037"></a><!-- doxytag: member="dgbmatrix::operator*" ref="a8213bb60731fec08d21735f06bc9a037" args="(const double &amp;, const dgbmatrix &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class__dgbmatrix.html">_dgbmatrix</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="classdgbmatrix.html">dgbmatrix</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*dgbmatrix operator </p>

<p>Definition at line <a class="el" href="double-dgbmatrix_8hpp_source.html#l00003">3</a> of file <a class="el" href="double-dgbmatrix_8hpp_source.html">double-dgbmatrix.hpp</a>.</p>
<div class="fragment"><pre class="fragment">{VERBOSE_REPORT;
  <a class="code" href="classdgbmatrix.html" title="Real Double-precision General Band Matrix Class.">dgbmatrix</a> newmat(mat.<a class="code" href="classdgbmatrix.html#af8a3e6bc4557b151f0049b8224f54580" title="matrix row size">m</a>, mat.<a class="code" href="classdgbmatrix.html#a5b6fe4d1cfa71161b09ecf0b59befd0e" title="matrix column size">n</a>, mat.<a class="code" href="classdgbmatrix.html#aeeb3e79431677905a4ece19c6616edd4" title="lower band width">kl</a>, mat.<a class="code" href="classdgbmatrix.html#a0b4d519e95ddf780bf1151a42018d646" title="upper band width">ku</a>);
  <span class="keywordflow">for</span>(<span class="keywordtype">long</span> <a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>=0; <a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>&lt;(newmat.kl+newmat.ku+1)*newmat.<a class="code" href="class__dgematrix.html#ad46b02985eb9537b1bd65937d5b052de" title="matrix column size">n</a>; <a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>++){
    newmat.array[<a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>] =d*mat.<a class="code" href="classdgbmatrix.html#a3a208131351663f0aa4a95c87851d23c" title="1D array to store matrix data">array</a>[<a class="code" href="classdgbmatrix.html#a567371974ca5b8a153befe8dccd4e374">i</a>];
  }
  <span class="keywordflow">return</span> <a class="code" href="classdgbmatrix.html#a7d6b5211b5f8c6593be96fbd9447a0df">_</a>(newmat);
}
</pre></div>
</div>
</div>
<hr/><h2>Member Data Documentation</h2>
<a class="anchor" id="af8a3e6bc4557b151f0049b8224f54580"></a><!-- doxytag: member="dgbmatrix::m" ref="af8a3e6bc4557b151f0049b8224f54580" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">long <a class="el" href="classdgbmatrix.html#af8a3e6bc4557b151f0049b8224f54580">dgbmatrix::m</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>matrix row size </p>

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

<p>Referenced by <a class="el" href="dgbmatrix-misc_8hpp_source.html#l00166">_()</a>, <a class="el" href="dgbmatrix-misc_8hpp_source.html#l00003">clear()</a>, <a class="el" href="dgbmatrix-misc_8hpp_source.html#l00133">col()</a>, <a class="el" href="dgbmatrix-misc_8hpp_source.html#l00050">copy()</a>, <a class="el" href="dgbmatrix-constructor_8hpp_source.html#l00003">dgbmatrix()</a>, <a class="el" href="dgbmatrix-lapack_8hpp_source.html#l00005">dgbsv()</a>, <a class="el" href="__dgbmatrix-calc_8hpp_source.html#l00019">i()</a>, <a class="el" href="dgbmatrix-misc_8hpp_source.html#l00026">identity()</a>, <a class="el" href="dgbmatrix-io_8hpp_source.html#l00003">operator()()</a>, <a class="el" href="__dgbmatrix-__dgbmatrix_8hpp_source.html#l00100">operator*()</a>, <a class="el" href="dgbmatrix-__dgbmatrix_8hpp_source.html#l00099">operator*=()</a>, <a class="el" href="dgematrix-dgbmatrix_8hpp_source.html#l00047">dgematrix::operator*=()</a>, <a class="el" href="__dgbmatrix-dgbmatrix_8hpp_source.html#l00003">operator+()</a>, <a class="el" href="dgbmatrix-__dgbmatrix_8hpp_source.html#l00016">operator+=()</a>, <a class="el" href="dgematrix-dgbmatrix_8hpp_source.html#l00003">dgematrix::operator+=()</a>, <a class="el" href="__dgbmatrix-dgbmatrix_8hpp_source.html#l00044">operator-()</a>, <a class="el" href="dgbmatrix-__dgbmatrix_8hpp_source.html#l00058">operator-=()</a>, <a class="el" href="dgematrix-dgbmatrix_8hpp_source.html#l00025">dgematrix::operator-=()</a>, <a class="el" href="dgbmatrix-double_8hpp_source.html#l00035">operator/()</a>, <a class="el" href="dgbmatrix-io_8hpp_source.html#l00062">operator&lt;&lt;()</a>, <a class="el" href="dgbmatrix-io_8hpp_source.html#l00100">read()</a>, <a class="el" href="dgbmatrix-misc_8hpp_source.html#l00084">resize()</a>, <a class="el" href="dgbmatrix-misc_8hpp_source.html#l00115">row()</a>, <a class="el" href="dgbmatrix-io_8hpp_source.html#l00041">set()</a>, <a class="el" href="dgbmatrix-misc_8hpp_source.html#l00068">shallow_copy()</a>, <a class="el" href="dgbmatrix-misc_8hpp_source.html#l00155">swap()</a>, <a class="el" href="__dgbmatrix-calc_8hpp_source.html#l00003">t()</a>, <a class="el" href="dgbmatrix-cast_8hpp_source.html#l00019">to_dgematrix()</a>, <a class="el" href="dgbmatrix-cast_8hpp_source.html#l00003">to_zgbmatrix()</a>, and <a class="el" href="dgbmatrix-io_8hpp_source.html#l00080">write()</a>.</p>

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

<p>matrix column size </p>

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

<p>Referenced by <a class="el" href="dgbmatrix-misc_8hpp_source.html#l00166">_()</a>, <a class="el" href="dgbmatrix-misc_8hpp_source.html#l00044">chsign()</a>, <a class="el" href="dgbmatrix-misc_8hpp_source.html#l00003">clear()</a>, <a class="el" href="dgbmatrix-misc_8hpp_source.html#l00133">col()</a>, <a class="el" href="dgbmatrix-misc_8hpp_source.html#l00050">copy()</a>, <a class="el" href="dgbmatrix-constructor_8hpp_source.html#l00003">dgbmatrix()</a>, <a class="el" href="dgbmatrix-lapack_8hpp_source.html#l00005">dgbsv()</a>, <a class="el" href="__dgbmatrix-calc_8hpp_source.html#l00019">i()</a>, <a class="el" href="dgbmatrix-misc_8hpp_source.html#l00026">identity()</a>, <a class="el" href="__dgbmatrix-__dgbmatrix_8hpp_source.html#l00100">operator*()</a>, <a class="el" href="dgbmatrix-__dgbmatrix_8hpp_source.html#l00099">operator*=()</a>, <a class="el" href="dgematrix-dgbmatrix_8hpp_source.html#l00047">dgematrix::operator*=()</a>, <a class="el" href="__dgbmatrix-dgbmatrix_8hpp_source.html#l00003">operator+()</a>, <a class="el" href="dgbmatrix-__dgbmatrix_8hpp_source.html#l00016">operator+=()</a>, <a class="el" href="dgematrix-dgbmatrix_8hpp_source.html#l00003">dgematrix::operator+=()</a>, <a class="el" href="__dgbmatrix-dgbmatrix_8hpp_source.html#l00044">operator-()</a>, <a class="el" href="dgbmatrix-__dgbmatrix_8hpp_source.html#l00058">operator-=()</a>, <a class="el" href="dgematrix-dgbmatrix_8hpp_source.html#l00025">dgematrix::operator-=()</a>, <a class="el" href="dgbmatrix-double_8hpp_source.html#l00035">operator/()</a>, <a class="el" href="dgbmatrix-double_8hpp_source.html#l00011">operator/=()</a>, <a class="el" href="dgbmatrix-io_8hpp_source.html#l00062">operator&lt;&lt;()</a>, <a class="el" href="dgbmatrix-io_8hpp_source.html#l00100">read()</a>, <a class="el" href="dgbmatrix-misc_8hpp_source.html#l00084">resize()</a>, <a class="el" href="dgbmatrix-misc_8hpp_source.html#l00115">row()</a>, <a class="el" href="dgbmatrix-misc_8hpp_source.html#l00068">shallow_copy()</a>, <a class="el" href="dgbmatrix-misc_8hpp_source.html#l00155">swap()</a>, <a class="el" href="__dgbmatrix-calc_8hpp_source.html#l00003">t()</a>, <a class="el" href="dgbmatrix-cast_8hpp_source.html#l00019">to_dgematrix()</a>, <a class="el" href="dgbmatrix-cast_8hpp_source.html#l00003">to_zgbmatrix()</a>, <a class="el" href="dgbmatrix-io_8hpp_source.html#l00080">write()</a>, and <a class="el" href="dgbmatrix-misc_8hpp_source.html#l00018">zero()</a>.</p>

</div>
</div>
<a class="anchor" id="aeeb3e79431677905a4ece19c6616edd4"></a><!-- doxytag: member="dgbmatrix::kl" ref="aeeb3e79431677905a4ece19c6616edd4" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">long <a class="el" href="classdgbmatrix.html#aeeb3e79431677905a4ece19c6616edd4">dgbmatrix::kl</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>lower band width </p>

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

<p>Referenced by <a class="el" href="dgbmatrix-misc_8hpp_source.html#l00166">_()</a>, <a class="el" href="dgbmatrix-misc_8hpp_source.html#l00044">chsign()</a>, <a class="el" href="dgbmatrix-misc_8hpp_source.html#l00003">clear()</a>, <a class="el" href="dgbmatrix-misc_8hpp_source.html#l00133">col()</a>, <a class="el" href="dgbmatrix-misc_8hpp_source.html#l00050">copy()</a>, <a class="el" href="dgbmatrix-constructor_8hpp_source.html#l00003">dgbmatrix()</a>, <a class="el" href="dgbmatrix-lapack_8hpp_source.html#l00005">dgbsv()</a>, <a class="el" href="dgbmatrix-misc_8hpp_source.html#l00026">identity()</a>, <a class="el" href="dgbmatrix-io_8hpp_source.html#l00003">operator()()</a>, <a class="el" href="__dgbmatrix-__dgbmatrix_8hpp_source.html#l00100">operator*()</a>, <a class="el" href="dgbmatrix-__dgbmatrix_8hpp_source.html#l00099">operator*=()</a>, <a class="el" href="dgematrix-dgbmatrix_8hpp_source.html#l00047">dgematrix::operator*=()</a>, <a class="el" href="__dgbmatrix-dgbmatrix_8hpp_source.html#l00003">operator+()</a>, <a class="el" href="dgbmatrix-__dgbmatrix_8hpp_source.html#l00016">operator+=()</a>, <a class="el" href="dgematrix-dgbmatrix_8hpp_source.html#l00003">dgematrix::operator+=()</a>, <a class="el" href="__dgbmatrix-dgbmatrix_8hpp_source.html#l00044">operator-()</a>, <a class="el" href="dgbmatrix-__dgbmatrix_8hpp_source.html#l00058">operator-=()</a>, <a class="el" href="dgematrix-dgbmatrix_8hpp_source.html#l00025">dgematrix::operator-=()</a>, <a class="el" href="dgbmatrix-double_8hpp_source.html#l00035">operator/()</a>, <a class="el" href="dgbmatrix-double_8hpp_source.html#l00011">operator/=()</a>, <a class="el" href="dgbmatrix-io_8hpp_source.html#l00062">operator&lt;&lt;()</a>, <a class="el" href="dgbmatrix-io_8hpp_source.html#l00100">read()</a>, <a class="el" href="dgbmatrix-misc_8hpp_source.html#l00084">resize()</a>, <a class="el" href="dgbmatrix-misc_8hpp_source.html#l00115">row()</a>, <a class="el" href="dgbmatrix-io_8hpp_source.html#l00041">set()</a>, <a class="el" href="dgbmatrix-misc_8hpp_source.html#l00068">shallow_copy()</a>, <a class="el" href="dgbmatrix-misc_8hpp_source.html#l00155">swap()</a>, <a class="el" href="__dgbmatrix-calc_8hpp_source.html#l00003">t()</a>, <a class="el" href="dgbmatrix-cast_8hpp_source.html#l00019">to_dgematrix()</a>, <a class="el" href="dgbmatrix-cast_8hpp_source.html#l00003">to_zgbmatrix()</a>, <a class="el" href="dgbmatrix-io_8hpp_source.html#l00080">write()</a>, and <a class="el" href="dgbmatrix-misc_8hpp_source.html#l00018">zero()</a>.</p>

</div>
</div>
<a class="anchor" id="a0b4d519e95ddf780bf1151a42018d646"></a><!-- doxytag: member="dgbmatrix::ku" ref="a0b4d519e95ddf780bf1151a42018d646" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">long <a class="el" href="classdgbmatrix.html#a0b4d519e95ddf780bf1151a42018d646">dgbmatrix::ku</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>upper band width </p>

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

<p>Referenced by <a class="el" href="dgbmatrix-misc_8hpp_source.html#l00166">_()</a>, <a class="el" href="dgbmatrix-misc_8hpp_source.html#l00044">chsign()</a>, <a class="el" href="dgbmatrix-misc_8hpp_source.html#l00003">clear()</a>, <a class="el" href="dgbmatrix-misc_8hpp_source.html#l00133">col()</a>, <a class="el" href="dgbmatrix-misc_8hpp_source.html#l00050">copy()</a>, <a class="el" href="dgbmatrix-constructor_8hpp_source.html#l00003">dgbmatrix()</a>, <a class="el" href="dgbmatrix-lapack_8hpp_source.html#l00005">dgbsv()</a>, <a class="el" href="dgbmatrix-misc_8hpp_source.html#l00026">identity()</a>, <a class="el" href="dgbmatrix-io_8hpp_source.html#l00003">operator()()</a>, <a class="el" href="__dgbmatrix-__dgbmatrix_8hpp_source.html#l00100">operator*()</a>, <a class="el" href="dgbmatrix-__dgbmatrix_8hpp_source.html#l00099">operator*=()</a>, <a class="el" href="dgematrix-dgbmatrix_8hpp_source.html#l00047">dgematrix::operator*=()</a>, <a class="el" href="__dgbmatrix-dgbmatrix_8hpp_source.html#l00003">operator+()</a>, <a class="el" href="dgbmatrix-__dgbmatrix_8hpp_source.html#l00016">operator+=()</a>, <a class="el" href="dgematrix-dgbmatrix_8hpp_source.html#l00003">dgematrix::operator+=()</a>, <a class="el" href="__dgbmatrix-dgbmatrix_8hpp_source.html#l00044">operator-()</a>, <a class="el" href="dgbmatrix-__dgbmatrix_8hpp_source.html#l00058">operator-=()</a>, <a class="el" href="dgematrix-dgbmatrix_8hpp_source.html#l00025">dgematrix::operator-=()</a>, <a class="el" href="dgbmatrix-double_8hpp_source.html#l00035">operator/()</a>, <a class="el" href="dgbmatrix-double_8hpp_source.html#l00011">operator/=()</a>, <a class="el" href="dgbmatrix-io_8hpp_source.html#l00062">operator&lt;&lt;()</a>, <a class="el" href="dgbmatrix-io_8hpp_source.html#l00100">read()</a>, <a class="el" href="dgbmatrix-misc_8hpp_source.html#l00084">resize()</a>, <a class="el" href="dgbmatrix-misc_8hpp_source.html#l00115">row()</a>, <a class="el" href="dgbmatrix-io_8hpp_source.html#l00041">set()</a>, <a class="el" href="dgbmatrix-misc_8hpp_source.html#l00068">shallow_copy()</a>, <a class="el" href="dgbmatrix-misc_8hpp_source.html#l00155">swap()</a>, <a class="el" href="__dgbmatrix-calc_8hpp_source.html#l00003">t()</a>, <a class="el" href="dgbmatrix-cast_8hpp_source.html#l00019">to_dgematrix()</a>, <a class="el" href="dgbmatrix-cast_8hpp_source.html#l00003">to_zgbmatrix()</a>, <a class="el" href="dgbmatrix-io_8hpp_source.html#l00080">write()</a>, and <a class="el" href="dgbmatrix-misc_8hpp_source.html#l00018">zero()</a>.</p>

</div>
</div>
<a class="anchor" id="a3a208131351663f0aa4a95c87851d23c"></a><!-- doxytag: member="dgbmatrix::array" ref="a3a208131351663f0aa4a95c87851d23c" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">double* <a class="el" href="classdgbmatrix.html#a3a208131351663f0aa4a95c87851d23c">dgbmatrix::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="dgbmatrix_8hpp_source.html#l00013">13</a> of file <a class="el" href="dgbmatrix_8hpp_source.html">dgbmatrix.hpp</a>.</p>

<p>Referenced by <a class="el" href="dgbmatrix-misc_8hpp_source.html#l00166">_()</a>, <a class="el" href="dgbmatrix-misc_8hpp_source.html#l00044">chsign()</a>, <a class="el" href="dgbmatrix-misc_8hpp_source.html#l00003">clear()</a>, <a class="el" href="dgbmatrix-misc_8hpp_source.html#l00050">copy()</a>, <a class="el" href="dgbmatrix-constructor_8hpp_source.html#l00003">dgbmatrix()</a>, <a class="el" href="dgbmatrix-lapack_8hpp_source.html#l00005">dgbsv()</a>, <a class="el" href="dgematrix-lapack_8hpp_source.html#l00715">dgematrix::dgesvd()</a>, <a class="el" href="dgbmatrix-misc_8hpp_source.html#l00026">identity()</a>, <a class="el" href="__drovector-dgbmatrix_8hpp_source.html#l00003">operator*()</a>, <a class="el" href="dgbmatrix-double_8hpp_source.html#l00003">operator*=()</a>, <a class="el" href="dgbmatrix-unary_8hpp_source.html#l00010">operator-()</a>, <a class="el" href="dgbmatrix-double_8hpp_source.html#l00035">operator/()</a>, <a class="el" href="dgbmatrix-double_8hpp_source.html#l00011">operator/=()</a>, <a class="el" href="dgbmatrix-dgbmatrix_8hpp_source.html#l00004">operator=()</a>, <a class="el" href="dgbmatrix-misc_8hpp_source.html#l00084">resize()</a>, <a class="el" href="dgbmatrix-misc_8hpp_source.html#l00068">shallow_copy()</a>, <a class="el" href="dgbmatrix-misc_8hpp_source.html#l00155">swap()</a>, <a class="el" href="dgbmatrix-cast_8hpp_source.html#l00003">to_zgbmatrix()</a>, <a class="el" href="dgbmatrix-misc_8hpp_source.html#l00018">zero()</a>, and <a class="el" href="dgbmatrix-constructor_8hpp_source.html#l00086">~dgbmatrix()</a>.</p>

</div>
</div>
<a class="anchor" id="afc4317fc1c0015fc1ac6316455457a53"></a><!-- doxytag: member="dgbmatrix::darray" ref="afc4317fc1c0015fc1ac6316455457a53" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">double** <a class="el" href="classdgbmatrix.html#afc4317fc1c0015fc1ac6316455457a53">dgbmatrix::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="dgbmatrix_8hpp_source.html#l00014">14</a> of file <a class="el" href="dgbmatrix_8hpp_source.html">dgbmatrix.hpp</a>.</p>

<p>Referenced by <a class="el" href="dgbmatrix-misc_8hpp_source.html#l00166">_()</a>, <a class="el" href="dgbmatrix-misc_8hpp_source.html#l00003">clear()</a>, <a class="el" href="dgbmatrix-misc_8hpp_source.html#l00050">copy()</a>, <a class="el" href="dgbmatrix-constructor_8hpp_source.html#l00003">dgbmatrix()</a>, <a class="el" href="dgbmatrix-io_8hpp_source.html#l00003">operator()()</a>, <a class="el" href="dgbmatrix-misc_8hpp_source.html#l00084">resize()</a>, <a class="el" href="dgbmatrix-io_8hpp_source.html#l00041">set()</a>, <a class="el" href="dgbmatrix-misc_8hpp_source.html#l00068">shallow_copy()</a>, <a class="el" href="dgbmatrix-misc_8hpp_source.html#l00155">swap()</a>, and <a class="el" href="dgbmatrix-constructor_8hpp_source.html#l00086">~dgbmatrix()</a>.</p>

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

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



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

</body>
</html>
