Sophie

Sophie

distrib > Mandriva > 2010.0 > i586 > media > contrib-release > by-pkgid > 247b28499c443e092731ffba814075f2 > files > 860

mpqc-html-2.3.1-9mdv2010.0.i586.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>MPQC: sc::SymmSCMatrix Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css">
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.5.9 -->
<div class="navigation" id="top">
  <div class="tabs">
    <ul>
      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
      <li><a href="pages.html"><span>Related&nbsp;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>
    </ul>
  </div>
  <div class="tabs">
    <ul>
      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
    </ul>
  </div>
  <div class="navpath"><b>sc</b>::<a class="el" href="classsc_1_1SymmSCMatrix.html">SymmSCMatrix</a>
  </div>
</div>
<div class="contents">
<h1>sc::SymmSCMatrix Class Reference</h1><!-- doxytag: class="sc::SymmSCMatrix" --><!-- doxytag: inherits="sc::DescribedClass" -->The <a class="el" href="classsc_1_1SymmSCMatrix.html" title="The SymmSCMatrix class is the abstract base class for symmetric double valued matrices...">SymmSCMatrix</a> class is the abstract base class for symmetric double valued matrices.  
<a href="#_details">More...</a>
<p>
<code>#include &lt;<a class="el" href="abstract_8h_source.html">abstract.h</a>&gt;</code>
<p>
<div class="dynheader">
Inheritance diagram for sc::SymmSCMatrix:</div>
<div class="dynsection">

<p><center><img src="classsc_1_1SymmSCMatrix.png" usemap="#sc::SymmSCMatrix_map" border="0" alt=""></center>
<map name="sc::SymmSCMatrix_map">
<area href="classsc_1_1DescribedClass.html" alt="sc::DescribedClass" shape="rect" coords="0,112,120,136">
<area href="classsc_1_1RefCount.html" alt="sc::RefCount" shape="rect" coords="0,56,120,80">
<area href="classsc_1_1Identity.html" alt="sc::Identity" shape="rect" coords="0,0,120,24">
</map>
</div>

<p>
<a href="classsc_1_1SymmSCMatrix-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="05a748063c6ecf378dee6070dd60cd80"></a><!-- doxytag: member="sc::SymmSCMatrix::SymmSCMatrix" ref="05a748063c6ecf378dee6070dd60cd80" args="(const RefSCDimension &amp;, SCMatrixKit *)" -->
&nbsp;</td><td class="memItemRight" valign="bottom"><b>SymmSCMatrix</b> (const <a class="el" href="classsc_1_1RefSCDimension.html">RefSCDimension</a> &amp;, <a class="el" href="classsc_1_1SCMatrixKit.html">SCMatrixKit</a> *)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="914a808c0cbc88ce434e9253741f6036"></a><!-- doxytag: member="sc::SymmSCMatrix::kit" ref="914a808c0cbc88ce434e9253741f6036" args="() const " -->
<a class="el" href="classsc_1_1Ref.html">Ref</a>&lt; <a class="el" href="classsc_1_1SCMatrixKit.html">SCMatrixKit</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1SymmSCMatrix.html#914a808c0cbc88ce434e9253741f6036">kit</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the <a class="el" href="classsc_1_1SCMatrixKit.html" title="The SCMatrixKit abstract class acts as a factory for producing matrices.">SCMatrixKit</a> object that created this object. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="c7065dc9c65af01b3c57ecbf62ed4d87"></a><!-- doxytag: member="sc::SymmSCMatrix::save" ref="c7065dc9c65af01b3c57ecbf62ed4d87" args="(StateOut &amp;)" -->
virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1SymmSCMatrix.html#c7065dc9c65af01b3c57ecbf62ed4d87">save</a> (<a class="el" href="classsc_1_1StateOut.html">StateOut</a> &amp;)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Save and restore this in an implementation independent way. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="7936e47f71ec0bb43c1c290a7560447b"></a><!-- doxytag: member="sc::SymmSCMatrix::restore" ref="7936e47f71ec0bb43c1c290a7560447b" args="(StateIn &amp;)" -->
virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><b>restore</b> (<a class="el" href="classsc_1_1StateIn.html">StateIn</a> &amp;)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="d82d5d60917d5b38a8cdb819f4793d74"></a><!-- doxytag: member="sc::SymmSCMatrix::maxabs" ref="d82d5d60917d5b38a8cdb819f4793d74" args="() const " -->
virtual double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1SymmSCMatrix.html#d82d5d60917d5b38a8cdb819f4793d74">maxabs</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the maximum absolute value element of this vector. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="39bd5083e8776b886aa5fe9da93a306e"></a><!-- doxytag: member="sc::SymmSCMatrix::randomize" ref="39bd5083e8776b886aa5fe9da93a306e" args="()" -->
virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1SymmSCMatrix.html#39bd5083e8776b886aa5fe9da93a306e">randomize</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Assign each element to a random number between -1 and 1. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="42631ff85c8eb4d3d21092d7cfe829a2"></a><!-- doxytag: member="sc::SymmSCMatrix::assign" ref="42631ff85c8eb4d3d21092d7cfe829a2" args="(double val)" -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1SymmSCMatrix.html#42631ff85c8eb4d3d21092d7cfe829a2">assign</a> (double val)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set all elements to val. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1SymmSCMatrix.html#7b3d91882ea73c410ead6df61b2160ba">assign</a> (const double *m)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Assign element i, j to m[i*(i+1)/2+j].  <a href="#7b3d91882ea73c410ead6df61b2160ba"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="fc629f507afd08ab900f93f2521a531a"></a><!-- doxytag: member="sc::SymmSCMatrix::assign" ref="fc629f507afd08ab900f93f2521a531a" args="(const double **m)" -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1SymmSCMatrix.html#fc629f507afd08ab900f93f2521a531a">assign</a> (const double **m)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Assign element i, j to m[i][j]. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1SymmSCMatrix.html#2f4fa3391fb82048b523b8d842f5e31c">assign</a> (<a class="el" href="classsc_1_1SymmSCMatrix.html">SymmSCMatrix</a> *m)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Make this have the same elements as m.  <a href="#2f4fa3391fb82048b523b8d842f5e31c"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="6e8749c82fbcd7777a6b4efc81980de1"></a><!-- doxytag: member="sc::SymmSCMatrix::assign_val" ref="6e8749c82fbcd7777a6b4efc81980de1" args="(double val)" -->
virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1SymmSCMatrix.html#6e8749c82fbcd7777a6b4efc81980de1">assign_val</a> (double val)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Overridden to implement the assign functions. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="88de603322d7ccfb046e0af8e9a93bb9"></a><!-- doxytag: member="sc::SymmSCMatrix::assign_p" ref="88de603322d7ccfb046e0af8e9a93bb9" args="(const double *m)" -->
virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><b>assign_p</b> (const double *m)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a1a25505f6ca05348fc9907866b33892"></a><!-- doxytag: member="sc::SymmSCMatrix::assign_pp" ref="a1a25505f6ca05348fc9907866b33892" args="(const double **m)" -->
virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><b>assign_pp</b> (const double **m)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="9f2b7a6e9f02a92190fa341dfad81ecd"></a><!-- doxytag: member="sc::SymmSCMatrix::assign_s" ref="9f2b7a6e9f02a92190fa341dfad81ecd" args="(SymmSCMatrix *m)" -->
virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><b>assign_s</b> (<a class="el" href="classsc_1_1SymmSCMatrix.html">SymmSCMatrix</a> *m)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="7d26e0977fed8c3b4d289888091a98c2"></a><!-- doxytag: member="sc::SymmSCMatrix::convert" ref="7d26e0977fed8c3b4d289888091a98c2" args="(double *) const " -->
virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1SymmSCMatrix.html#7d26e0977fed8c3b4d289888091a98c2">convert</a> (double *) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Like the assign members, but these write values to the arguments. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="7ad61993a032acee821a74f172965bd1"></a><!-- doxytag: member="sc::SymmSCMatrix::convert" ref="7ad61993a032acee821a74f172965bd1" args="(double **) const " -->
virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><b>convert</b> (double **) const </td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1SymmSCMatrix.html#466ead224f34c5fa2322a7f86423ed70">convert</a> (<a class="el" href="classsc_1_1SymmSCMatrix.html">SymmSCMatrix</a> *)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convert an SCSymmSCMatrix of a different specialization to this specialization and possibly accumulate the data.  <a href="#466ead224f34c5fa2322a7f86423ed70"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="216ef054fd5c9ee8c36d2427ce46c8f7"></a><!-- doxytag: member="sc::SymmSCMatrix::convert_accumulate" ref="216ef054fd5c9ee8c36d2427ce46c8f7" args="(SymmSCMatrix *)" -->
virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><b>convert_accumulate</b> (<a class="el" href="classsc_1_1SymmSCMatrix.html">SymmSCMatrix</a> *)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="219c7e331912919997dfbf1fb5966665"></a><!-- doxytag: member="sc::SymmSCMatrix::scale" ref="219c7e331912919997dfbf1fb5966665" args="(double)" -->
virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1SymmSCMatrix.html#219c7e331912919997dfbf1fb5966665">scale</a> (double)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Multiply all elements by val. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="5e88ab79d76cb6d7da2c910450b731bf"></a><!-- doxytag: member="sc::SymmSCMatrix::scale_diagonal" ref="5e88ab79d76cb6d7da2c910450b731bf" args="(double)" -->
virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1SymmSCMatrix.html#5e88ab79d76cb6d7da2c910450b731bf">scale_diagonal</a> (double)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Scale the diagonal elements by val. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="fddd1c75e5ec0588ffdea564e179b041"></a><!-- doxytag: member="sc::SymmSCMatrix::shift_diagonal" ref="fddd1c75e5ec0588ffdea564e179b041" args="(double)" -->
virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1SymmSCMatrix.html#fddd1c75e5ec0588ffdea564e179b041">shift_diagonal</a> (double)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Shift the diagonal elements by val. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="0df4ad430e841a6a3613da1d75801bc0"></a><!-- doxytag: member="sc::SymmSCMatrix::unit" ref="0df4ad430e841a6a3613da1d75801bc0" args="()" -->
virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1SymmSCMatrix.html#0df4ad430e841a6a3613da1d75801bc0">unit</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Make this equal to the unit matrix. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="9b06dc14a158a5f3d47206a03f717135"></a><!-- doxytag: member="sc::SymmSCMatrix::n" ref="9b06dc14a158a5f3d47206a03f717135" args="() const " -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1SymmSCMatrix.html#9b06dc14a158a5f3d47206a03f717135">n</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the dimension. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="81c314abf76086bbc087e29c26583914"></a><!-- doxytag: member="sc::SymmSCMatrix::copy" ref="81c314abf76086bbc087e29c26583914" args="()" -->
virtual <a class="el" href="classsc_1_1SymmSCMatrix.html">SymmSCMatrix</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1SymmSCMatrix.html#81c314abf76086bbc087e29c26583914">copy</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return a matrix with the same dimension and same elements. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="75259a69276041daaad0eeda9e4b63f4"></a><!-- doxytag: member="sc::SymmSCMatrix::clone" ref="75259a69276041daaad0eeda9e4b63f4" args="()" -->
virtual <a class="el" href="classsc_1_1SymmSCMatrix.html">SymmSCMatrix</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1SymmSCMatrix.html#75259a69276041daaad0eeda9e4b63f4">clone</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return a matrix with the same dimension but uninitialized memory. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="d3984380a70240e40e3033a21c2d42b7"></a><!-- doxytag: member="sc::SymmSCMatrix::dim" ref="d3984380a70240e40e3033a21c2d42b7" args="() const " -->
<a class="el" href="classsc_1_1RefSCDimension.html">RefSCDimension</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1SymmSCMatrix.html#d3984380a70240e40e3033a21c2d42b7">dim</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the dimension. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ee88dbb636d9133cec4018d66a0e0cac"></a><!-- doxytag: member="sc::SymmSCMatrix::get_element" ref="ee88dbb636d9133cec4018d66a0e0cac" args="(int, int) const =0" -->
virtual double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1SymmSCMatrix.html#ee88dbb636d9133cec4018d66a0e0cac">get_element</a> (int, int) const =0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return or modify an element. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="d8d314e4fc5631ad7a03131af0b7587e"></a><!-- doxytag: member="sc::SymmSCMatrix::set_element" ref="d8d314e4fc5631ad7a03131af0b7587e" args="(int, int, double)=0" -->
virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><b>set_element</b> (int, int, double)=0</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="6b64188906eba4649dc0dec35123d462"></a><!-- doxytag: member="sc::SymmSCMatrix::accumulate_element" ref="6b64188906eba4649dc0dec35123d462" args="(int, int, double)=0" -->
virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><b>accumulate_element</b> (int, int, double)=0</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="classsc_1_1SCMatrix.html">SCMatrix</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1SymmSCMatrix.html#86cb3a71ad33c8905cb07af731e2432e">get_subblock</a> (int br, int er, int bc, int ec)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return a subblock of this.  <a href="#86cb3a71ad33c8905cb07af731e2432e"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="98f666f7d80e953802dd193281ce1b69"></a><!-- doxytag: member="sc::SymmSCMatrix::get_subblock" ref="98f666f7d80e953802dd193281ce1b69" args="(int br, int er)=0" -->
virtual <a class="el" href="classsc_1_1SymmSCMatrix.html">SymmSCMatrix</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><b>get_subblock</b> (int br, int er)=0</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="b8766c04fe01e505b79ba4a7b34c7bc9"></a><!-- doxytag: member="sc::SymmSCMatrix::assign_subblock" ref="b8766c04fe01e505b79ba4a7b34c7bc9" args="(SCMatrix *m, int, int, int, int)=0" -->
virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1SymmSCMatrix.html#b8766c04fe01e505b79ba4a7b34c7bc9">assign_subblock</a> (<a class="el" href="classsc_1_1SCMatrix.html">SCMatrix</a> *m, int, int, int, int)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Assign m to a subblock of this. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="19b538c07baf8ac2624165315fe43225"></a><!-- doxytag: member="sc::SymmSCMatrix::assign_subblock" ref="19b538c07baf8ac2624165315fe43225" args="(SymmSCMatrix *m, int, int)=0" -->
virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><b>assign_subblock</b> (<a class="el" href="classsc_1_1SymmSCMatrix.html">SymmSCMatrix</a> *m, int, int)=0</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="28d7c2b357d77eec9d1f77401a2e3922"></a><!-- doxytag: member="sc::SymmSCMatrix::accumulate_subblock" ref="28d7c2b357d77eec9d1f77401a2e3922" args="(SCMatrix *m, int, int, int, int)=0" -->
virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1SymmSCMatrix.html#28d7c2b357d77eec9d1f77401a2e3922">accumulate_subblock</a> (<a class="el" href="classsc_1_1SCMatrix.html">SCMatrix</a> *m, int, int, int, int)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sum m into a subblock of this. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="9debe0280b427f9335ab46e6b44bd18c"></a><!-- doxytag: member="sc::SymmSCMatrix::accumulate_subblock" ref="9debe0280b427f9335ab46e6b44bd18c" args="(SymmSCMatrix *m, int, int)=0" -->
virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><b>accumulate_subblock</b> (<a class="el" href="classsc_1_1SymmSCMatrix.html">SymmSCMatrix</a> *m, int, int)=0</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="eb5eeadd93ed1abd71a22b9071d3731b"></a><!-- doxytag: member="sc::SymmSCMatrix::get_row" ref="eb5eeadd93ed1abd71a22b9071d3731b" args="(int i)=0" -->
virtual <a class="el" href="classsc_1_1SCVector.html">SCVector</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1SymmSCMatrix.html#eb5eeadd93ed1abd71a22b9071d3731b">get_row</a> (int i)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return a row of this. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="fd98a521fe83b8e403198db44eff97e4"></a><!-- doxytag: member="sc::SymmSCMatrix::assign_row" ref="fd98a521fe83b8e403198db44eff97e4" args="(SCVector *v, int i)=0" -->
virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1SymmSCMatrix.html#fd98a521fe83b8e403198db44eff97e4">assign_row</a> (<a class="el" href="classsc_1_1SCVector.html">SCVector</a> *v, int i)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Assign v to a row of this. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="87c3cfa95a79ba54852e196b1e31b5cc"></a><!-- doxytag: member="sc::SymmSCMatrix::accumulate_row" ref="87c3cfa95a79ba54852e196b1e31b5cc" args="(SCVector *v, int i)=0" -->
virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1SymmSCMatrix.html#87c3cfa95a79ba54852e196b1e31b5cc">accumulate_row</a> (<a class="el" href="classsc_1_1SCVector.html">SCVector</a> *v, int i)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sum v to a row of this. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1SymmSCMatrix.html#afc81e99558c2197b7a13618a0eb6557">diagonalize</a> (<a class="el" href="classsc_1_1DiagSCMatrix.html">DiagSCMatrix</a> *d, <a class="el" href="classsc_1_1SCMatrix.html">SCMatrix</a> *m)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Diagonalize this, placing the eigenvalues in d and the eigenvectors in m.  <a href="#afc81e99558c2197b7a13618a0eb6557"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="635a724abd3d86045b8ba22c94d94994"></a><!-- doxytag: member="sc::SymmSCMatrix::accumulate" ref="635a724abd3d86045b8ba22c94d94994" args="(const SymmSCMatrix *m)=0" -->
virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1SymmSCMatrix.html#635a724abd3d86045b8ba22c94d94994">accumulate</a> (const <a class="el" href="classsc_1_1SymmSCMatrix.html">SymmSCMatrix</a> *m)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sum m into this. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="49c359558fbd06428d4d49848db65b68"></a><!-- doxytag: member="sc::SymmSCMatrix::accumulate_symmetric_sum" ref="49c359558fbd06428d4d49848db65b68" args="(SCMatrix *)=0" -->
virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1SymmSCMatrix.html#49c359558fbd06428d4d49848db65b68">accumulate_symmetric_sum</a> (<a class="el" href="classsc_1_1SCMatrix.html">SCMatrix</a> *)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sum into this the products of various vectors or matrices. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="d4cd1d5c3f3420fbb153eef61256615d"></a><!-- doxytag: member="sc::SymmSCMatrix::accumulate_symmetric_product" ref="d4cd1d5c3f3420fbb153eef61256615d" args="(SCMatrix *)" -->
virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><b>accumulate_symmetric_product</b> (<a class="el" href="classsc_1_1SCMatrix.html">SCMatrix</a> *)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="b4d2083caeec9807d3c31a5ebb518d44"></a><!-- doxytag: member="sc::SymmSCMatrix::accumulate_transform" ref="b4d2083caeec9807d3c31a5ebb518d44" args="(SCMatrix *, SymmSCMatrix *, SCMatrix::Transform=SCMatrix::NormalTransform)" -->
virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><b>accumulate_transform</b> (<a class="el" href="classsc_1_1SCMatrix.html">SCMatrix</a> *, <a class="el" href="classsc_1_1SymmSCMatrix.html">SymmSCMatrix</a> *, SCMatrix::Transform=SCMatrix::NormalTransform)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="c64c60fa824d9a6ff463a53f9e1818cb"></a><!-- doxytag: member="sc::SymmSCMatrix::accumulate_transform" ref="c64c60fa824d9a6ff463a53f9e1818cb" args="(SCMatrix *, DiagSCMatrix *, SCMatrix::Transform=SCMatrix::NormalTransform)" -->
virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><b>accumulate_transform</b> (<a class="el" href="classsc_1_1SCMatrix.html">SCMatrix</a> *, <a class="el" href="classsc_1_1DiagSCMatrix.html">DiagSCMatrix</a> *, SCMatrix::Transform=SCMatrix::NormalTransform)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="537ccd23e350b05e94d6008e60772105"></a><!-- doxytag: member="sc::SymmSCMatrix::accumulate_transform" ref="537ccd23e350b05e94d6008e60772105" args="(SymmSCMatrix *, SymmSCMatrix *)" -->
virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><b>accumulate_transform</b> (<a class="el" href="classsc_1_1SymmSCMatrix.html">SymmSCMatrix</a> *, <a class="el" href="classsc_1_1SymmSCMatrix.html">SymmSCMatrix</a> *)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="c304662e656922dca9de7b28f96c460a"></a><!-- doxytag: member="sc::SymmSCMatrix::accumulate_symmetric_outer_product" ref="c304662e656922dca9de7b28f96c460a" args="(SCVector *)" -->
virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><b>accumulate_symmetric_outer_product</b> (<a class="el" href="classsc_1_1SCVector.html">SCVector</a> *)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1SymmSCMatrix.html#b89e75520eb3eaefa2f1e0d0c1579e22">scalar_product</a> (<a class="el" href="classsc_1_1SCVector.html">SCVector</a> *v)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the scalar obtained by multiplying this on the left and right by v.  <a href="#b89e75520eb3eaefa2f1e0d0c1579e22"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="d860f2c6f31f352aa1c4cf34f9bd2616"></a><!-- doxytag: member="sc::SymmSCMatrix::trace" ref="d860f2c6f31f352aa1c4cf34f9bd2616" args="()=0" -->
virtual double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1SymmSCMatrix.html#d860f2c6f31f352aa1c4cf34f9bd2616">trace</a> ()=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the trace. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ccd7c6bb36700dda79636417b0e23ed5"></a><!-- doxytag: member="sc::SymmSCMatrix::invert_this" ref="ccd7c6bb36700dda79636417b0e23ed5" args="()=0" -->
virtual double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1SymmSCMatrix.html#ccd7c6bb36700dda79636417b0e23ed5">invert_this</a> ()=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Invert this. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="17db6b7c13a8208feb504413ecd97180"></a><!-- doxytag: member="sc::SymmSCMatrix::determ_this" ref="17db6b7c13a8208feb504413ecd97180" args="()=0" -->
virtual double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1SymmSCMatrix.html#17db6b7c13a8208feb504413ecd97180">determ_this</a> ()=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the determinant of this. this is overwritten. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ddea379071b493db3ef07c5c8c89e0dd"></a><!-- doxytag: member="sc::SymmSCMatrix::solve_this" ref="ddea379071b493db3ef07c5c8c89e0dd" args="(SCVector *)=0" -->
virtual double&nbsp;</td><td class="memItemRight" valign="bottom"><b>solve_this</b> (<a class="el" href="classsc_1_1SCVector.html">SCVector</a> *)=0</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="f894a215ddbe59643909a1c218b03868"></a><!-- doxytag: member="sc::SymmSCMatrix::gen_invert_this" ref="f894a215ddbe59643909a1c218b03868" args="()=0" -->
virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><b>gen_invert_this</b> ()=0</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="5dc4371cf8a82efe16b5ce6dce898539"></a><!-- doxytag: member="sc::SymmSCMatrix::element_op" ref="5dc4371cf8a82efe16b5ce6dce898539" args="(const Ref&lt; SCElementOp &gt; &amp;)=0" -->
virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1SymmSCMatrix.html#5dc4371cf8a82efe16b5ce6dce898539">element_op</a> (const <a class="el" href="classsc_1_1Ref.html">Ref</a>&lt; <a class="el" href="classsc_1_1SCElementOp.html">SCElementOp</a> &gt; &amp;)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Perform the element operation op on each element of this. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ac20f7e07e2b4754a1dffcfbfd8bf38c"></a><!-- doxytag: member="sc::SymmSCMatrix::element_op" ref="ac20f7e07e2b4754a1dffcfbfd8bf38c" args="(const Ref&lt; SCElementOp2 &gt; &amp;, SymmSCMatrix *)=0" -->
virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><b>element_op</b> (const <a class="el" href="classsc_1_1Ref.html">Ref</a>&lt; <a class="el" href="classsc_1_1SCElementOp2.html">SCElementOp2</a> &gt; &amp;, <a class="el" href="classsc_1_1SymmSCMatrix.html">SymmSCMatrix</a> *)=0</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="0a199c45d456dfd7f4252aa8ba070ad3"></a><!-- doxytag: member="sc::SymmSCMatrix::element_op" ref="0a199c45d456dfd7f4252aa8ba070ad3" args="(const Ref&lt; SCElementOp3 &gt; &amp;, SymmSCMatrix *, SymmSCMatrix *)=0" -->
virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><b>element_op</b> (const <a class="el" href="classsc_1_1Ref.html">Ref</a>&lt; <a class="el" href="classsc_1_1SCElementOp3.html">SCElementOp3</a> &gt; &amp;, <a class="el" href="classsc_1_1SymmSCMatrix.html">SymmSCMatrix</a> *, <a class="el" href="classsc_1_1SymmSCMatrix.html">SymmSCMatrix</a> *)=0</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="8a335a0b026eda0745434ced02d4b3d9"></a><!-- doxytag: member="sc::SymmSCMatrix::print" ref="8a335a0b026eda0745434ced02d4b3d9" args="(std::ostream &amp;o=ExEnv::out0()) const " -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1SymmSCMatrix.html#8a335a0b026eda0745434ced02d4b3d9">print</a> (std::ostream &amp;o=ExEnv::out0()) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Print out the matrix. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="bd68983a78ca714201280787897b528a"></a><!-- doxytag: member="sc::SymmSCMatrix::print" ref="bd68983a78ca714201280787897b528a" args="(const char *title=0, std::ostream &amp;out=ExEnv::out0(), int=10) const " -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><b>print</b> (const char *title=0, std::ostream &amp;out=ExEnv::out0(), int=10) const </td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="c6a8c0ef389edbe6d090e6cbf0fd9b6b"></a><!-- doxytag: member="sc::SymmSCMatrix::vprint" ref="c6a8c0ef389edbe6d090e6cbf0fd9b6b" args="(const char *title=0, std::ostream &amp;out=ExEnv::out0(), int=10) const " -->
virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><b>vprint</b> (const char *title=0, std::ostream &amp;out=ExEnv::out0(), int=10) const </td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ea20ab5914d54a7a661f3f45656b211a"></a><!-- doxytag: member="sc::SymmSCMatrix::messagegrp" ref="ea20ab5914d54a7a661f3f45656b211a" args="() const " -->
<a class="el" href="classsc_1_1Ref.html">Ref</a>&lt; <a class="el" href="classsc_1_1MessageGrp.html">MessageGrp</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1SymmSCMatrix.html#ea20ab5914d54a7a661f3f45656b211a">messagegrp</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the message group used by the matrix kit. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="classsc_1_1Ref.html">Ref</a>&lt; <a class="el" href="classsc_1_1SCMatrixSubblockIter.html">SCMatrixSubblockIter</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1SymmSCMatrix.html#6102f0d9c784d6857dc0477d2d2f4368">local_blocks</a> (SCMatrixSubblockIter::Access)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns iterators for the local (rapidly accessible) blocks used in this matrix.  <a href="#6102f0d9c784d6857dc0477d2d2f4368"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="5f0b6d0db8b5bca20c54d266ff9f5155"></a><!-- doxytag: member="sc::SymmSCMatrix::all_blocks" ref="5f0b6d0db8b5bca20c54d266ff9f5155" args="(SCMatrixSubblockIter::Access)=0" -->
virtual <a class="el" href="classsc_1_1Ref.html">Ref</a>&lt; <a class="el" href="classsc_1_1SCMatrixSubblockIter.html">SCMatrixSubblockIter</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1SymmSCMatrix.html#5f0b6d0db8b5bca20c54d266ff9f5155">all_blocks</a> (SCMatrixSubblockIter::Access)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns iterators for the all blocks used in this matrix. <br></td></tr>
<tr><td colspan="2"><br><h2>Protected Attributes</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="4d17ddfe6b6ffe3ac0d87e56b3785a37"></a><!-- doxytag: member="sc::SymmSCMatrix::d" ref="4d17ddfe6b6ffe3ac0d87e56b3785a37" args="" -->
<a class="el" href="classsc_1_1RefSCDimension.html">RefSCDimension</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>d</b></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="491a44b7948d70b4c4d7294d18b226ba"></a><!-- doxytag: member="sc::SymmSCMatrix::kit_" ref="491a44b7948d70b4c4d7294d18b226ba" args="" -->
<a class="el" href="classsc_1_1Ref.html">Ref</a>&lt; <a class="el" href="classsc_1_1SCMatrixKit.html">SCMatrixKit</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><b>kit_</b></td></tr>

</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
The <a class="el" href="classsc_1_1SymmSCMatrix.html" title="The SymmSCMatrix class is the abstract base class for symmetric double valued matrices...">SymmSCMatrix</a> class is the abstract base class for symmetric double valued matrices. 
<p>
<hr><h2>Member Function Documentation</h2>
<a class="anchor" name="2f4fa3391fb82048b523b8d842f5e31c"></a><!-- doxytag: member="sc::SymmSCMatrix::assign" ref="2f4fa3391fb82048b523b8d842f5e31c" args="(SymmSCMatrix *m)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void sc::SymmSCMatrix::assign           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classsc_1_1SymmSCMatrix.html">SymmSCMatrix</a> *&nbsp;</td>
          <td class="paramname"> <em>m</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Make this have the same elements as m. 
<p>
The dimensions must match. 
</div>
</div><p>
<a class="anchor" name="7b3d91882ea73c410ead6df61b2160ba"></a><!-- doxytag: member="sc::SymmSCMatrix::assign" ref="7b3d91882ea73c410ead6df61b2160ba" args="(const double *m)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void sc::SymmSCMatrix::assign           </td>
          <td>(</td>
          <td class="paramtype">const double *&nbsp;</td>
          <td class="paramname"> <em>m</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Assign element i, j to m[i*(i+1)/2+j]. 
<p>

</div>
</div><p>
<a class="anchor" name="466ead224f34c5fa2322a7f86423ed70"></a><!-- doxytag: member="sc::SymmSCMatrix::convert" ref="466ead224f34c5fa2322a7f86423ed70" args="(SymmSCMatrix *)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void sc::SymmSCMatrix::convert           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classsc_1_1SymmSCMatrix.html">SymmSCMatrix</a> *&nbsp;</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Convert an SCSymmSCMatrix of a different specialization to this specialization and possibly accumulate the data. 
<p>

</div>
</div><p>
<a class="anchor" name="afc81e99558c2197b7a13618a0eb6557"></a><!-- doxytag: member="sc::SymmSCMatrix::diagonalize" ref="afc81e99558c2197b7a13618a0eb6557" args="(DiagSCMatrix *d, SCMatrix *m)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void sc::SymmSCMatrix::diagonalize           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classsc_1_1DiagSCMatrix.html">DiagSCMatrix</a> *&nbsp;</td>
          <td class="paramname"> <em>d</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classsc_1_1SCMatrix.html">SCMatrix</a> *&nbsp;</td>
          <td class="paramname"> <em>m</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Diagonalize this, placing the eigenvalues in d and the eigenvectors in m. 
<p>

</div>
</div><p>
<a class="anchor" name="86cb3a71ad33c8905cb07af731e2432e"></a><!-- doxytag: member="sc::SymmSCMatrix::get_subblock" ref="86cb3a71ad33c8905cb07af731e2432e" args="(int br, int er, int bc, int ec)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classsc_1_1SCMatrix.html">SCMatrix</a>* sc::SymmSCMatrix::get_subblock           </td>
          <td>(</td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>br</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>er</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>bc</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>ec</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Return a subblock of this. 
<p>
The subblock is defined as the rows starting at br and ending at er, and the columns beginning at bc and ending at ec. 
</div>
</div><p>
<a class="anchor" name="6102f0d9c784d6857dc0477d2d2f4368"></a><!-- doxytag: member="sc::SymmSCMatrix::local_blocks" ref="6102f0d9c784d6857dc0477d2d2f4368" args="(SCMatrixSubblockIter::Access)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classsc_1_1Ref.html">Ref</a>&lt;<a class="el" href="classsc_1_1SCMatrixSubblockIter.html">SCMatrixSubblockIter</a>&gt; sc::SymmSCMatrix::local_blocks           </td>
          <td>(</td>
          <td class="paramtype">SCMatrixSubblockIter::Access&nbsp;</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Returns iterators for the local (rapidly accessible) blocks used in this matrix. 
<p>

</div>
</div><p>
<a class="anchor" name="b89e75520eb3eaefa2f1e0d0c1579e22"></a><!-- doxytag: member="sc::SymmSCMatrix::scalar_product" ref="b89e75520eb3eaefa2f1e0d0c1579e22" args="(SCVector *v)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual double sc::SymmSCMatrix::scalar_product           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classsc_1_1SCVector.html">SCVector</a> *&nbsp;</td>
          <td class="paramname"> <em>v</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Return the scalar obtained by multiplying this on the left and right by v. 
<p>

</div>
</div><p>
<hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="abstract_8h_source.html">abstract.h</a></ul>
</div>
<hr>
<address>
<small>

Generated at Wed Oct 14 14:12:16 2009 for <a
href="http://www.mpqc.org">MPQC</a>
2.3.1 using the documentation package <a
href="http://www.doxygen.org">Doxygen</a>
1.5.9.

</small>
</address>
</body>
</html>