<!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::RefSymmSCMatrix 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 Page</span></a></li> <li><a href="pages.html"><span>Related 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 List</span></a></li> <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li> <li><a href="functions.html"><span>Class Members</span></a></li> </ul> </div> <div class="navpath"><b>sc</b>::<a class="el" href="classsc_1_1RefSymmSCMatrix.html">RefSymmSCMatrix</a> </div> </div> <div class="contents"> <h1>sc::RefSymmSCMatrix Class Reference</h1><!-- doxytag: class="sc::RefSymmSCMatrix" --><!-- doxytag: inherits="Ref< SymmSCMatrix >" -->The <a class="el" href="classsc_1_1RefSymmSCMatrix.html" title="The RefSymmSCMatrix class is a smart pointer to an SCSymmSCMatrix specialization...">RefSymmSCMatrix</a> class is a smart pointer to an SCSymmSCMatrix specialization. <a href="#_details">More...</a> <p> <code>#include <<a class="el" href="matrix_8h_source.html">matrix.h</a>></code> <p> <div class="dynheader"> Inheritance diagram for sc::RefSymmSCMatrix:</div> <div class="dynsection"> <p><center><img src="classsc_1_1RefSymmSCMatrix.png" usemap="#sc::RefSymmSCMatrix_map" border="0" alt=""></center> <map name="sc::RefSymmSCMatrix_map"> <area href="classsc_1_1Ref.html" alt="sc::Ref< SymmSCMatrix >" shape="rect" coords="0,56,159,80"> <area href="classsc_1_1RefBase.html" alt="sc::RefBase" shape="rect" coords="0,0,159,24"> </map> </div> <p> <a href="classsc_1_1RefSymmSCMatrix-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"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1RefSymmSCMatrix.html#531c9a2851097e7b94a9153996653495">RefSymmSCMatrix</a> ()</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Initializes the matrix pointer to 0. <a href="#531c9a2851097e7b94a9153996653495"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="5e02504474928dedab0359c21f3b8f87"></a><!-- doxytag: member="sc::RefSymmSCMatrix::RefSymmSCMatrix" ref="5e02504474928dedab0359c21f3b8f87" args="(const RefSymmSCMatrix &m)" --> </td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1RefSymmSCMatrix.html#5e02504474928dedab0359c21f3b8f87">RefSymmSCMatrix</a> (const <a class="el" href="classsc_1_1RefSymmSCMatrix.html">RefSymmSCMatrix</a> &m)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Make this and m refer to the same <a class="el" href="classsc_1_1SCMatrix.html" title="The SCMatrix class is the abstract base class for general double valued n by m matrices...">SCMatrix</a>. <br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="2b6a24e28a4f7347a43e57ad9efb8a05"></a><!-- doxytag: member="sc::RefSymmSCMatrix::RefSymmSCMatrix" ref="2b6a24e28a4f7347a43e57ad9efb8a05" args="(SymmSCMatrix *m)" --> </td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1RefSymmSCMatrix.html#2b6a24e28a4f7347a43e57ad9efb8a05">RefSymmSCMatrix</a> (<a class="el" href="classsc_1_1SymmSCMatrix.html">SymmSCMatrix</a> *m)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Make this refer to m. <br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="29d3d871f16eb47c2e67b17fa45b72d8"></a><!-- doxytag: member="sc::RefSymmSCMatrix::operator=" ref="29d3d871f16eb47c2e67b17fa45b72d8" args="(SymmSCMatrix *m)" --> <a class="el" href="classsc_1_1RefSymmSCMatrix.html">RefSymmSCMatrix</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1RefSymmSCMatrix.html#29d3d871f16eb47c2e67b17fa45b72d8">operator=</a> (<a class="el" href="classsc_1_1SymmSCMatrix.html">SymmSCMatrix</a> *m)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Make this refer to m. <br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="c23bab8ee601b51021d889bdadb71339"></a><!-- doxytag: member="sc::RefSymmSCMatrix::operator=" ref="c23bab8ee601b51021d889bdadb71339" args="(const RefSymmSCMatrix &m)" --> <a class="el" href="classsc_1_1RefSymmSCMatrix.html">RefSymmSCMatrix</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1RefSymmSCMatrix.html#c23bab8ee601b51021d889bdadb71339">operator=</a> (const <a class="el" href="classsc_1_1RefSymmSCMatrix.html">RefSymmSCMatrix</a> &m)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Make this and m refer to the same matrix. <br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1RefSymmSCMatrix.html#3bd576bdd231f25a08856cf33b7952f5">RefSymmSCMatrix</a> (const <a class="el" href="classsc_1_1RefSCDimension.html">RefSCDimension</a> &d, const <a class="el" href="classsc_1_1Ref.html">Ref</a>< <a class="el" href="classsc_1_1SCMatrixKit.html">SCMatrixKit</a> > &)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Create a vector with dimension d by d. <a href="#3bd576bdd231f25a08856cf33b7952f5"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a9bc9b74d7ccab8bd02b4678dcb9e298"></a><!-- doxytag: member="sc::RefSymmSCMatrix::operator*" ref="a9bc9b74d7ccab8bd02b4678dcb9e298" args="(const RefSCMatrix &) const " --> <a class="el" href="classsc_1_1RefSCMatrix.html">RefSCMatrix</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1RefSymmSCMatrix.html#a9bc9b74d7ccab8bd02b4678dcb9e298">operator*</a> (const <a class="el" href="classsc_1_1RefSCMatrix.html">RefSCMatrix</a> &) const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Multiply this by a matrix and return a matrix. <br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ed5c93b09e40d81565e09c42f9f4d9f5"></a><!-- doxytag: member="sc::RefSymmSCMatrix::operator*" ref="ed5c93b09e40d81565e09c42f9f4d9f5" args="(const RefSymmSCMatrix &) const " --> <a class="el" href="classsc_1_1RefSCMatrix.html">RefSCMatrix</a> </td><td class="memItemRight" valign="bottom"><b>operator*</b> (const <a class="el" href="classsc_1_1RefSymmSCMatrix.html">RefSymmSCMatrix</a> &) const </td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="aa12be72be98ec06f964073e41d62721"></a><!-- doxytag: member="sc::RefSymmSCMatrix::operator*" ref="aa12be72be98ec06f964073e41d62721" args="(const RefSCVector &a) const " --> <a class="el" href="classsc_1_1RefSCVector.html">RefSCVector</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1RefSymmSCMatrix.html#aa12be72be98ec06f964073e41d62721">operator*</a> (const <a class="el" href="classsc_1_1RefSCVector.html">RefSCVector</a> &a) const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Multiply this by a vector and return a vector. <br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="c2c49b8bec1ae87ca7501c8f7411dc1d"></a><!-- doxytag: member="sc::RefSymmSCMatrix::operator*" ref="c2c49b8bec1ae87ca7501c8f7411dc1d" args="(double) const " --> <a class="el" href="classsc_1_1RefSymmSCMatrix.html">RefSymmSCMatrix</a> </td><td class="memItemRight" valign="bottom"><b>operator*</b> (double) const </td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="42b443227c90872e8ec1521ec58e4d14"></a><!-- doxytag: member="sc::RefSymmSCMatrix::operator+" ref="42b443227c90872e8ec1521ec58e4d14" args="(const RefSymmSCMatrix &) const " --> <a class="el" href="classsc_1_1RefSymmSCMatrix.html">RefSymmSCMatrix</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1RefSymmSCMatrix.html#42b443227c90872e8ec1521ec58e4d14">operator+</a> (const <a class="el" href="classsc_1_1RefSymmSCMatrix.html">RefSymmSCMatrix</a> &) const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Matrix addition and subtraction. <br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="c445a454fb419d46d8b455b4e11eb741"></a><!-- doxytag: member="sc::RefSymmSCMatrix::operator-" ref="c445a454fb419d46d8b455b4e11eb741" args="(const RefSymmSCMatrix &) const " --> <a class="el" href="classsc_1_1RefSymmSCMatrix.html">RefSymmSCMatrix</a> </td><td class="memItemRight" valign="bottom"><b>operator-</b> (const <a class="el" href="classsc_1_1RefSymmSCMatrix.html">RefSymmSCMatrix</a> &) const </td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="167b2fc80b9e3495bbe6b2e506541c6d"></a><!-- doxytag: member="sc::RefSymmSCMatrix::i" ref="167b2fc80b9e3495bbe6b2e506541c6d" args="() const " --> <a class="el" href="classsc_1_1RefSymmSCMatrix.html">RefSymmSCMatrix</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1RefSymmSCMatrix.html#167b2fc80b9e3495bbe6b2e506541c6d">i</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Return the inverse of this. <br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="616356025d431b6431176d322bc39d8e"></a><!-- doxytag: member="sc::RefSymmSCMatrix::gi" ref="616356025d431b6431176d322bc39d8e" args="() const " --> <a class="el" href="classsc_1_1RefSymmSCMatrix.html">RefSymmSCMatrix</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1RefSymmSCMatrix.html#616356025d431b6431176d322bc39d8e">gi</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Return the generalized inverse of this. <br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classsc_1_1RefSymmSCMatrix.html">RefSymmSCMatrix</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1RefSymmSCMatrix.html#1f35d86617faefc68f88aa6039c5e21a">clone</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">These call the <a class="el" href="classsc_1_1SCMatrix.html" title="The SCMatrix class is the abstract base class for general double valued n by m matrices...">SCMatrix</a> members of the same name after checking for references to 0. <a href="#1f35d86617faefc68f88aa6039c5e21a"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ea8acd35bee97247fb64b38cf25bb906"></a><!-- doxytag: member="sc::RefSymmSCMatrix::copy" ref="ea8acd35bee97247fb64b38cf25bb906" args="() const " --> <a class="el" href="classsc_1_1RefSymmSCMatrix.html">RefSymmSCMatrix</a> </td><td class="memItemRight" valign="bottom"><b>copy</b> () const </td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="eeb1be77c8fa2d559bd63be5bcb08072"></a><!-- doxytag: member="sc::RefSymmSCMatrix::set_element" ref="eeb1be77c8fa2d559bd63be5bcb08072" args="(int, int, double) const " --> void </td><td class="memItemRight" valign="bottom"><b>set_element</b> (int, int, double) const </td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="affe46030cc1c6e4d7087b84410d1a24"></a><!-- doxytag: member="sc::RefSymmSCMatrix::accumulate_element" ref="affe46030cc1c6e4d7087b84410d1a24" args="(int, int, double) const " --> void </td><td class="memItemRight" valign="bottom"><b>accumulate_element</b> (int, int, double) const </td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="9061809f040170edb0c80c9630f28826"></a><!-- doxytag: member="sc::RefSymmSCMatrix::get_element" ref="9061809f040170edb0c80c9630f28826" args="(int, int) const " --> double </td><td class="memItemRight" valign="bottom"><b>get_element</b> (int, int) const </td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="6ab7306b87347cc7376957b838dcadde"></a><!-- doxytag: member="sc::RefSymmSCMatrix::get_subblock" ref="6ab7306b87347cc7376957b838dcadde" args="(int br, int er, int bc, int ec)" --> <a class="el" href="classsc_1_1RefSCMatrix.html">RefSCMatrix</a> </td><td class="memItemRight" valign="bottom"><b>get_subblock</b> (int br, int er, int bc, int ec)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="9285ab5bc668c7ca24a0dc43c68386ae"></a><!-- doxytag: member="sc::RefSymmSCMatrix::get_subblock" ref="9285ab5bc668c7ca24a0dc43c68386ae" args="(int br, int er)" --> <a class="el" href="classsc_1_1RefSymmSCMatrix.html">RefSymmSCMatrix</a> </td><td class="memItemRight" valign="bottom"><b>get_subblock</b> (int br, int er)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="e2e90d7a628db61cc997465db3176a54"></a><!-- doxytag: member="sc::RefSymmSCMatrix::assign_subblock" ref="e2e90d7a628db61cc997465db3176a54" args="(const RefSCMatrix &, int br, int er, int bc, int ec)" --> void </td><td class="memItemRight" valign="bottom"><b>assign_subblock</b> (const <a class="el" href="classsc_1_1RefSCMatrix.html">RefSCMatrix</a> &, int br, int er, int bc, int ec)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="d86e35cb0640705fd6aef18dec7ea93d"></a><!-- doxytag: member="sc::RefSymmSCMatrix::assign_subblock" ref="d86e35cb0640705fd6aef18dec7ea93d" args="(const RefSymmSCMatrix &, int br, int er)" --> void </td><td class="memItemRight" valign="bottom"><b>assign_subblock</b> (const <a class="el" href="classsc_1_1RefSymmSCMatrix.html">RefSymmSCMatrix</a> &, int br, int er)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="5e0bee0984df64530246f82a56d6b234"></a><!-- doxytag: member="sc::RefSymmSCMatrix::accumulate_subblock" ref="5e0bee0984df64530246f82a56d6b234" args="(const RefSCMatrix &, int, int, int, int)" --> void </td><td class="memItemRight" valign="bottom"><b>accumulate_subblock</b> (const <a class="el" href="classsc_1_1RefSCMatrix.html">RefSCMatrix</a> &, int, int, int, int)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="74666ecd3503ee929c01e7431a384499"></a><!-- doxytag: member="sc::RefSymmSCMatrix::accumulate_subblock" ref="74666ecd3503ee929c01e7431a384499" args="(const RefSymmSCMatrix &, int, int)" --> void </td><td class="memItemRight" valign="bottom"><b>accumulate_subblock</b> (const <a class="el" href="classsc_1_1RefSymmSCMatrix.html">RefSymmSCMatrix</a> &, int, int)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="7d0931f8ff11a13d6264dc841eaede20"></a><!-- doxytag: member="sc::RefSymmSCMatrix::get_row" ref="7d0931f8ff11a13d6264dc841eaede20" args="(int)" --> <a class="el" href="classsc_1_1RefSCVector.html">RefSCVector</a> </td><td class="memItemRight" valign="bottom"><b>get_row</b> (int)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="0e8a59fbe0a39f7067ec7bc544905188"></a><!-- doxytag: member="sc::RefSymmSCMatrix::assign_row" ref="0e8a59fbe0a39f7067ec7bc544905188" args="(const RefSCVector &, int)" --> void </td><td class="memItemRight" valign="bottom"><b>assign_row</b> (const <a class="el" href="classsc_1_1RefSCVector.html">RefSCVector</a> &, int)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="9012571cafe7af61e99e6bee37b63d8d"></a><!-- doxytag: member="sc::RefSymmSCMatrix::accumulate_row" ref="9012571cafe7af61e99e6bee37b63d8d" args="(const RefSCVector &, int)" --> void </td><td class="memItemRight" valign="bottom"><b>accumulate_row</b> (const <a class="el" href="classsc_1_1RefSCVector.html">RefSCVector</a> &, int)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="b19659ed123596f83c3ff205fcbd9cd6"></a><!-- doxytag: member="sc::RefSymmSCMatrix::accumulate_symmetric_outer_product" ref="b19659ed123596f83c3ff205fcbd9cd6" args="(const RefSCVector &) const " --> void </td><td class="memItemRight" valign="bottom"><b>accumulate_symmetric_outer_product</b> (const <a class="el" href="classsc_1_1RefSCVector.html">RefSCVector</a> &) const </td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="2def768e69f67475a1f1ad0ae8f7f9d5"></a><!-- doxytag: member="sc::RefSymmSCMatrix::scalar_product" ref="2def768e69f67475a1f1ad0ae8f7f9d5" args="(const RefSCVector &) const " --> double </td><td class="memItemRight" valign="bottom"><b>scalar_product</b> (const <a class="el" href="classsc_1_1RefSCVector.html">RefSCVector</a> &) const </td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="6d6bced4ff8c82891884e4a878f746f5"></a><!-- doxytag: member="sc::RefSymmSCMatrix::accumulate_symmetric_product" ref="6d6bced4ff8c82891884e4a878f746f5" args="(const RefSCMatrix &) const " --> void </td><td class="memItemRight" valign="bottom"><b>accumulate_symmetric_product</b> (const <a class="el" href="classsc_1_1RefSCMatrix.html">RefSCMatrix</a> &) const </td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="6830a04ddbcd74e43ff74efceea62155"></a><!-- doxytag: member="sc::RefSymmSCMatrix::accumulate_symmetric_sum" ref="6830a04ddbcd74e43ff74efceea62155" args="(const RefSCMatrix &) const " --> void </td><td class="memItemRight" valign="bottom"><b>accumulate_symmetric_sum</b> (const <a class="el" href="classsc_1_1RefSCMatrix.html">RefSCMatrix</a> &) const </td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="2bc02407c3011455c5ae75c72a01850d"></a><!-- doxytag: member="sc::RefSymmSCMatrix::accumulate_transform" ref="2bc02407c3011455c5ae75c72a01850d" args="(const RefSCMatrix &a, const RefSymmSCMatrix &b, SCMatrix::Transform=SCMatrix::NormalTransform) const " --> void </td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1RefSymmSCMatrix.html#2bc02407c3011455c5ae75c72a01850d">accumulate_transform</a> (const <a class="el" href="classsc_1_1RefSCMatrix.html">RefSCMatrix</a> &a, const <a class="el" href="classsc_1_1RefSymmSCMatrix.html">RefSymmSCMatrix</a> &b, SCMatrix::Transform=SCMatrix::NormalTransform) const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Add a * b * a.t() to this. <br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="4457d3d0b42c305972d1a2d64d72f96a"></a><!-- doxytag: member="sc::RefSymmSCMatrix::accumulate_transform" ref="4457d3d0b42c305972d1a2d64d72f96a" args="(const RefSCMatrix &a, const RefDiagSCMatrix &b, SCMatrix::Transform=SCMatrix::NormalTransform) const " --> void </td><td class="memItemRight" valign="bottom"><b>accumulate_transform</b> (const <a class="el" href="classsc_1_1RefSCMatrix.html">RefSCMatrix</a> &a, const <a class="el" href="classsc_1_1RefDiagSCMatrix.html">RefDiagSCMatrix</a> &b, SCMatrix::Transform=SCMatrix::NormalTransform) const </td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="84d14efd9d676048efca5d33f0437741"></a><!-- doxytag: member="sc::RefSymmSCMatrix::accumulate_transform" ref="84d14efd9d676048efca5d33f0437741" args="(const RefSymmSCMatrix &a, const RefSymmSCMatrix &b) const " --> void </td><td class="memItemRight" valign="bottom"><b>accumulate_transform</b> (const <a class="el" href="classsc_1_1RefSymmSCMatrix.html">RefSymmSCMatrix</a> &a, const <a class="el" href="classsc_1_1RefSymmSCMatrix.html">RefSymmSCMatrix</a> &b) const </td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="07321bcd0a07fb4c876b81902e0f3037"></a><!-- doxytag: member="sc::RefSymmSCMatrix::randomize" ref="07321bcd0a07fb4c876b81902e0f3037" args="() const " --> void </td><td class="memItemRight" valign="bottom"><b>randomize</b> () const </td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="d50b6fc19fdd5ccc3c6085155185e151"></a><!-- doxytag: member="sc::RefSymmSCMatrix::assign" ref="d50b6fc19fdd5ccc3c6085155185e151" args="(const RefSymmSCMatrix &) const " --> void </td><td class="memItemRight" valign="bottom"><b>assign</b> (const <a class="el" href="classsc_1_1RefSymmSCMatrix.html">RefSymmSCMatrix</a> &) const </td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="594f5ab334c015e76f2fc158d528d507"></a><!-- doxytag: member="sc::RefSymmSCMatrix::scale" ref="594f5ab334c015e76f2fc158d528d507" args="(double) const " --> void </td><td class="memItemRight" valign="bottom"><b>scale</b> (double) const </td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="0d39b10b390d9ae20ed6e38b4d501458"></a><!-- doxytag: member="sc::RefSymmSCMatrix::assign" ref="0d39b10b390d9ae20ed6e38b4d501458" args="(double) const " --> void </td><td class="memItemRight" valign="bottom"><b>assign</b> (double) const </td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="7861f35ebf5bbdbe283b624f0af68f4f"></a><!-- doxytag: member="sc::RefSymmSCMatrix::assign" ref="7861f35ebf5bbdbe283b624f0af68f4f" args="(const double *) const " --> void </td><td class="memItemRight" valign="bottom"><b>assign</b> (const double *) const </td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="808318dcb2af6057a1dd5c86ad84e8bd"></a><!-- doxytag: member="sc::RefSymmSCMatrix::assign" ref="808318dcb2af6057a1dd5c86ad84e8bd" args="(const double **) const " --> void </td><td class="memItemRight" valign="bottom"><b>assign</b> (const double **) const </td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="af1837f2d0ff4e5e6b516bac7d925156"></a><!-- doxytag: member="sc::RefSymmSCMatrix::convert" ref="af1837f2d0ff4e5e6b516bac7d925156" args="(double *) const " --> void </td><td class="memItemRight" valign="bottom"><b>convert</b> (double *) const </td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="1701c7be3475a55cfdc4d67036e9a21f"></a><!-- doxytag: member="sc::RefSymmSCMatrix::convert" ref="1701c7be3475a55cfdc4d67036e9a21f" args="(double **) const " --> void </td><td class="memItemRight" valign="bottom"><b>convert</b> (double **) const </td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="9c0ff68c2c62efaf8a6dda6c7db335f3"></a><!-- doxytag: member="sc::RefSymmSCMatrix::accumulate" ref="9c0ff68c2c62efaf8a6dda6c7db335f3" args="(const RefSymmSCMatrix &) const " --> void </td><td class="memItemRight" valign="bottom"><b>accumulate</b> (const <a class="el" href="classsc_1_1RefSymmSCMatrix.html">RefSymmSCMatrix</a> &) const </td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="3d8d9232726123ccd7f4578fb06d55b1"></a><!-- doxytag: member="sc::RefSymmSCMatrix::element_op" ref="3d8d9232726123ccd7f4578fb06d55b1" args="(const Ref< SCElementOp > &) const " --> void </td><td class="memItemRight" valign="bottom"><b>element_op</b> (const <a class="el" href="classsc_1_1Ref.html">Ref</a>< <a class="el" href="classsc_1_1SCElementOp.html">SCElementOp</a> > &) const </td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="e6f570aaf3a8bc967cdd7e8178f8332e"></a><!-- doxytag: member="sc::RefSymmSCMatrix::element_op" ref="e6f570aaf3a8bc967cdd7e8178f8332e" args="(const Ref< SCElementOp2 > &, const RefSymmSCMatrix &) const " --> void </td><td class="memItemRight" valign="bottom"><b>element_op</b> (const <a class="el" href="classsc_1_1Ref.html">Ref</a>< <a class="el" href="classsc_1_1SCElementOp2.html">SCElementOp2</a> > &, const <a class="el" href="classsc_1_1RefSymmSCMatrix.html">RefSymmSCMatrix</a> &) const </td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="83b803d16118a0918b44d284257e3f69"></a><!-- doxytag: member="sc::RefSymmSCMatrix::element_op" ref="83b803d16118a0918b44d284257e3f69" args="(const Ref< SCElementOp3 > &, const RefSymmSCMatrix &, const RefSymmSCMatrix &) const " --> void </td><td class="memItemRight" valign="bottom"><b>element_op</b> (const <a class="el" href="classsc_1_1Ref.html">Ref</a>< <a class="el" href="classsc_1_1SCElementOp3.html">SCElementOp3</a> > &, const <a class="el" href="classsc_1_1RefSymmSCMatrix.html">RefSymmSCMatrix</a> &, const <a class="el" href="classsc_1_1RefSymmSCMatrix.html">RefSymmSCMatrix</a> &) const </td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="c4990fdf37c43ea91f7d650f9fc29e29"></a><!-- doxytag: member="sc::RefSymmSCMatrix::trace" ref="c4990fdf37c43ea91f7d650f9fc29e29" args="() const " --> double </td><td class="memItemRight" valign="bottom"><b>trace</b> () const </td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="7c92f0d9fe4abf5910790c24424f58c0"></a><!-- doxytag: member="sc::RefSymmSCMatrix::n" ref="7c92f0d9fe4abf5910790c24424f58c0" args="() const " --> int </td><td class="memItemRight" valign="bottom"><b>n</b> () const </td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="867a4bd07d48f616ac1fbb471435a0ef"></a><!-- doxytag: member="sc::RefSymmSCMatrix::dim" ref="867a4bd07d48f616ac1fbb471435a0ef" args="() const " --> <a class="el" href="classsc_1_1RefSCDimension.html">RefSCDimension</a> </td><td class="memItemRight" valign="bottom"><b>dim</b> () const </td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="b7002f862788b9e9c057550805394157"></a><!-- doxytag: member="sc::RefSymmSCMatrix::kit" ref="b7002f862788b9e9c057550805394157" args="() const " --> <a class="el" href="classsc_1_1Ref.html">Ref</a>< <a class="el" href="classsc_1_1SCMatrixKit.html">SCMatrixKit</a> > </td><td class="memItemRight" valign="bottom"><b>kit</b> () const </td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a890102153529193c0edebbd7cb2ccf1"></a><!-- doxytag: member="sc::RefSymmSCMatrix::print" ref="a890102153529193c0edebbd7cb2ccf1" args="(std::ostream &) const " --> void </td><td class="memItemRight" valign="bottom"><b>print</b> (std::ostream &) const </td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="1efcc8bf24f1a08945b7a1b0c599aa3d"></a><!-- doxytag: member="sc::RefSymmSCMatrix::print" ref="1efcc8bf24f1a08945b7a1b0c599aa3d" args="(const char *title=0, std::ostream &out=ExEnv::out0(), int=10) const " --> void </td><td class="memItemRight" valign="bottom"><b>print</b> (const char *title=0, std::ostream &out=ExEnv::out0(), int=10) const </td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="54b0eafbd87afed34839677f2e7ea2fc"></a><!-- doxytag: member="sc::RefSymmSCMatrix::save" ref="54b0eafbd87afed34839677f2e7ea2fc" args="(StateOut &)" --> void </td><td class="memItemRight" valign="bottom"><b>save</b> (<a class="el" href="classsc_1_1StateOut.html">StateOut</a> &)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="d7abbd0f4d02058196ec88bac80298f5"></a><!-- doxytag: member="sc::RefSymmSCMatrix::restore" ref="d7abbd0f4d02058196ec88bac80298f5" args="(StateIn &)" --> void </td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1RefSymmSCMatrix.html#d7abbd0f4d02058196ec88bac80298f5">restore</a> (<a class="el" href="classsc_1_1StateIn.html">StateIn</a> &)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Restores the matrix from <a class="el" href="classsc_1_1StateIn.html" title="Restores objects that derive from SavableState.">StateIn</a> object. The matrix must have been initialized already. <br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">double </td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1RefSymmSCMatrix.html#9429052e0f3349e46c0b52dd9d47980a">solve_lin</a> (const <a class="el" href="classsc_1_1RefSCVector.html">RefSCVector</a> &) const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Solves this x = v. <a href="#9429052e0f3349e46c0b52dd9d47980a"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ea34f503c309a7cd2231a8f253c51da3"></a><!-- doxytag: member="sc::RefSymmSCMatrix::determ" ref="ea34f503c309a7cd2231a8f253c51da3" args="() const " --> double </td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1RefSymmSCMatrix.html#ea34f503c309a7cd2231a8f253c51da3">determ</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Returns the determinant of the referenced matrix. <br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="121492749b970590a934d6841824ed2b"></a><!-- doxytag: member="sc::RefSymmSCMatrix::eigvals" ref="121492749b970590a934d6841824ed2b" args="() const " --> <a class="el" href="classsc_1_1RefDiagSCMatrix.html">RefDiagSCMatrix</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1RefSymmSCMatrix.html#121492749b970590a934d6841824ed2b">eigvals</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Returns the eigenvalues of the reference matrix. <br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="1f6565ad90f35cebae2d51c0d78ef716"></a><!-- doxytag: member="sc::RefSymmSCMatrix::eigvecs" ref="1f6565ad90f35cebae2d51c0d78ef716" args="() const " --> <a class="el" href="classsc_1_1RefSCMatrix.html">RefSCMatrix</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1RefSymmSCMatrix.html#1f6565ad90f35cebae2d51c0d78ef716">eigvecs</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Returns the eigenvectors of the reference matrix. <br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1RefSymmSCMatrix.html#d036dfb412ce350e8d141b05749fd64f">diagonalize</a> (const <a class="el" href="classsc_1_1RefDiagSCMatrix.html">RefDiagSCMatrix</a> &eigvals, const <a class="el" href="classsc_1_1RefSCMatrix.html">RefSCMatrix</a> &eigvecs) const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Sets eigvals to the eigenvalues and eigvecs to the eigenvalues and eigenvectors of the referenced matrix. <a href="#d036dfb412ce350e8d141b05749fd64f"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a83c5999b0f4e4696c0e24056b10b734"></a><!-- doxytag: member="sc::RefSymmSCMatrix::operator()" ref="a83c5999b0f4e4696c0e24056b10b734" args="(int i, int j) const " --> SymmSCMatrixdouble </td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1RefSymmSCMatrix.html#a83c5999b0f4e4696c0e24056b10b734">operator()</a> (int i, int j) const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Assign and examine matrix elements. <br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1RefSymmSCMatrix.html#e70d585d3ffc6ed829a5a902e343de8a">nblock</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">If this matrix is blocked return the number of blocks. <a href="#e70d585d3ffc6ed829a5a902e343de8a"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classsc_1_1RefSymmSCMatrix.html">RefSymmSCMatrix</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1RefSymmSCMatrix.html#4df5711968481645b3346c9695b7d865">block</a> (int i) const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">If this matrix is blocked return block i. <a href="#4df5711968481645b3346c9695b7d865"></a><br></td></tr> </table> <hr><a name="_details"></a><h2>Detailed Description</h2> The <a class="el" href="classsc_1_1RefSymmSCMatrix.html" title="The RefSymmSCMatrix class is a smart pointer to an SCSymmSCMatrix specialization...">RefSymmSCMatrix</a> class is a smart pointer to an SCSymmSCMatrix specialization. <p> <hr><h2>Constructor & Destructor Documentation</h2> <a class="anchor" name="531c9a2851097e7b94a9153996653495"></a><!-- doxytag: member="sc::RefSymmSCMatrix::RefSymmSCMatrix" ref="531c9a2851097e7b94a9153996653495" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">sc::RefSymmSCMatrix::RefSymmSCMatrix </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p> Initializes the matrix pointer to 0. <p> The reference must be initialized before it is used. </div> </div><p> <a class="anchor" name="3bd576bdd231f25a08856cf33b7952f5"></a><!-- doxytag: member="sc::RefSymmSCMatrix::RefSymmSCMatrix" ref="3bd576bdd231f25a08856cf33b7952f5" args="(const RefSCDimension &d, const Ref< SCMatrixKit > &)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">sc::RefSymmSCMatrix::RefSymmSCMatrix </td> <td>(</td> <td class="paramtype">const <a class="el" href="classsc_1_1RefSCDimension.html">RefSCDimension</a> & </td> <td class="paramname"> <em>d</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="classsc_1_1Ref.html">Ref</a>< <a class="el" href="classsc_1_1SCMatrixKit.html">SCMatrixKit</a> > & </td> <td class="paramname"></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p> Create a vector with dimension d by d. <p> The data values are undefined. </div> </div><p> <hr><h2>Member Function Documentation</h2> <a class="anchor" name="4df5711968481645b3346c9695b7d865"></a><!-- doxytag: member="sc::RefSymmSCMatrix::block" ref="4df5711968481645b3346c9695b7d865" args="(int i) const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classsc_1_1RefSymmSCMatrix.html">RefSymmSCMatrix</a> sc::RefSymmSCMatrix::block </td> <td>(</td> <td class="paramtype">int </td> <td class="paramname"> <em>i</em> </td> <td> ) </td> <td> const</td> </tr> </table> </div> <div class="memdoc"> <p> If this matrix is blocked return block i. <p> Otherwise return this as block 0. </div> </div><p> <a class="anchor" name="1f35d86617faefc68f88aa6039c5e21a"></a><!-- doxytag: member="sc::RefSymmSCMatrix::clone" ref="1f35d86617faefc68f88aa6039c5e21a" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classsc_1_1RefSymmSCMatrix.html">RefSymmSCMatrix</a> sc::RefSymmSCMatrix::clone </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td> const</td> </tr> </table> </div> <div class="memdoc"> <p> These call the <a class="el" href="classsc_1_1SCMatrix.html" title="The SCMatrix class is the abstract base class for general double valued n by m matrices...">SCMatrix</a> members of the same name after checking for references to 0. <p> </div> </div><p> <a class="anchor" name="d036dfb412ce350e8d141b05749fd64f"></a><!-- doxytag: member="sc::RefSymmSCMatrix::diagonalize" ref="d036dfb412ce350e8d141b05749fd64f" args="(const RefDiagSCMatrix &eigvals, const RefSCMatrix &eigvecs) const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void sc::RefSymmSCMatrix::diagonalize </td> <td>(</td> <td class="paramtype">const <a class="el" href="classsc_1_1RefDiagSCMatrix.html">RefDiagSCMatrix</a> & </td> <td class="paramname"> <em>eigvals</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="classsc_1_1RefSCMatrix.html">RefSCMatrix</a> & </td> <td class="paramname"> <em>eigvecs</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td> const</td> </tr> </table> </div> <div class="memdoc"> <p> Sets eigvals to the eigenvalues and eigvecs to the eigenvalues and eigenvectors of the referenced matrix. <p> The result satisfies eigvecs * eigvals * eigvecs.t() = (*this). </div> </div><p> <a class="anchor" name="e70d585d3ffc6ed829a5a902e343de8a"></a><!-- doxytag: member="sc::RefSymmSCMatrix::nblock" ref="e70d585d3ffc6ed829a5a902e343de8a" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int sc::RefSymmSCMatrix::nblock </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td> const</td> </tr> </table> </div> <div class="memdoc"> <p> If this matrix is blocked return the number of blocks. <p> Otherwise return 1. </div> </div><p> <a class="anchor" name="9429052e0f3349e46c0b52dd9d47980a"></a><!-- doxytag: member="sc::RefSymmSCMatrix::solve_lin" ref="9429052e0f3349e46c0b52dd9d47980a" args="(const RefSCVector &) const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">double sc::RefSymmSCMatrix::solve_lin </td> <td>(</td> <td class="paramtype">const <a class="el" href="classsc_1_1RefSCVector.html">RefSCVector</a> & </td> <td class="paramname"> </td> <td> ) </td> <td> const</td> </tr> </table> </div> <div class="memdoc"> <p> Solves this x = v. <p> Overwrites v with x. </div> </div><p> <hr>The documentation for this class was generated from the following file:<ul> <li><a class="el" href="matrix_8h_source.html">matrix.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>