Sophie

Sophie

distrib > Mandriva > 9.1 > ppc > media > contrib > by-pkgid > 263386785cefb9ae5d63b926d214d809 > files > 623

mpqc-2.1.2-4mdk.ppc.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><meta name="robots" content="noindex">
<meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>sc::SCMatrix class Reference</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body bgcolor="#ffffff">
<!-- Generated by Doxygen 1.2.5 on Mon Oct 14 14:17:42 2002 -->
<center>
<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
<hr><h1>sc::SCMatrix  Class Reference</h1>The <a class="el" href="class_sc__SCMatrix.html">SCMatrix</a> class is the abstract base class for general double valued n by m matrices. 
<a href="#_details">More...</a>
<p>
<code>#include &lt;<a class="el" href="abstract_h-source.html">abstract.h</a>&gt;</code>
<p>
Inheritance diagram for sc::SCMatrix<p><center><img src="class_sc__SCMatrix_inherit_graph.gif" border="0" usemap="#sc::SCMatrix_inherit_map" alt="Inheritance graph"></center>
<map name="sc::SCMatrix_inherit_map">
<area href="class_sc__DescribedClass.html" shape="rect" coords="229,147,343,166">
<area href="class_sc__RefCount.html" shape="rect" coords="245,81,327,99">
<area href="class_sc__Identity.html" shape="rect" coords="250,14,322,33">
</map>
<center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center>Collaboration diagram for sc::SCMatrix:<p><center><img src="class_sc__SCMatrix_coll_graph.gif" border="0" usemap="#sc::SCMatrix_coll_map" alt="Collaboration graph"></center>
<map name="sc::SCMatrix_coll_map">
<area href="class_sc__DescribedClass.html" shape="rect" coords="14,168,129,187">
<area href="class_sc__RefCount.html" shape="rect" coords="30,83,113,101">
<area href="class_sc__Identity.html" shape="rect" coords="35,13,107,32">
<area href="class_sc__Ref.html" shape="rect" coords="113,125,254,144">
<area href="class_sc__RefBase.html" shape="rect" coords="171,13,249,32">
<area href="class_sc__Ref.html" shape="rect" coords="223,83,370,101">
<area href="class_sc__RefSCDimension.html" shape="rect" coords="235,168,361,187">
</map>
<center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center><a href="class_sc__SCMatrix-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
<tr><td colspan=2><br><h2>Public Types</h2></td></tr>
<tr><td nowrap align=right valign=top>enum &nbsp;</td><td valign=bottom><b>Transform</b> { <b>NormalTransform</b> =  0, 
<b>TransposeTransform</b> =  1 
 }</td></tr>
<tr><td colspan=2><br><h2>Public Methods</h2></td></tr>
<tr><td nowrap align=right valign=top><a name="a0" doxytag="sc::SCMatrix::SCMatrix"></a>
&nbsp;</td><td valign=bottom><b>SCMatrix</b> (const <a class="el" href="class_sc__RefSCDimension.html">RefSCDimension</a> &amp;, const <a class="el" href="class_sc__RefSCDimension.html">RefSCDimension</a> &amp;, <a class="el" href="class_sc__SCMatrixKit.html">SCMatrixKit</a> *)</td></tr>
<tr><td nowrap align=right valign=top><a name="a1" doxytag="sc::SCMatrix::~SCMatrix"></a>
virtual&nbsp;</td><td valign=bottom><b>~SCMatrix</b> ()</td></tr>
<tr><td nowrap align=right valign=top><a name="a2" doxytag="sc::SCMatrix::save"></a>
virtual void&nbsp;</td><td valign=bottom><a class="el" href="class_sc__SCMatrix.html#a2">save</a> (<a class="el" href="class_sc__StateOut.html">StateOut</a> &amp;)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Save and restore this in an implementation independent way.</em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top><a name="a3" doxytag="sc::SCMatrix::restore"></a>
virtual void&nbsp;</td><td valign=bottom><b>restore</b> (<a class="el" href="class_sc__StateIn.html">StateIn</a> &amp;)</td></tr>
<tr><td nowrap align=right valign=top><a name="a4" doxytag="sc::SCMatrix::kit"></a>
<a class="el" href="class_sc__Ref.html">Ref</a>&lt;<a class="el" href="class_sc__SCMatrixKit.html">SCMatrixKit</a>&gt;&nbsp;</td><td valign=bottom><a class="el" href="class_sc__SCMatrix.html#a4">kit</a> () const</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Return the <a class="el" href="class_sc__SCMatrixKit.html">SCMatrixKit</a> used to create this object.</em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top><a name="a5" doxytag="sc::SCMatrix::nrow"></a>
int&nbsp;</td><td valign=bottom><a class="el" href="class_sc__SCMatrix.html#a5">nrow</a> () const</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Return the number of rows.</em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top><a name="a6" doxytag="sc::SCMatrix::ncol"></a>
int&nbsp;</td><td valign=bottom><a class="el" href="class_sc__SCMatrix.html#a6">ncol</a> () const</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Return the number of columns.</em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top><a name="a7" doxytag="sc::SCMatrix::maxabs"></a>
virtual double&nbsp;</td><td valign=bottom><a class="el" href="class_sc__SCMatrix.html#a7">maxabs</a> () const</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Return the maximum absolute value element.</em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top><a name="a8" doxytag="sc::SCMatrix::randomize"></a>
virtual void&nbsp;</td><td valign=bottom><a class="el" href="class_sc__SCMatrix.html#a8">randomize</a> ()</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Assign each element to a random number between -1 and 1.</em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top><a name="a9" doxytag="sc::SCMatrix::assign"></a>
void&nbsp;</td><td valign=bottom><a class="el" href="class_sc__SCMatrix.html#a9">assign</a> (double val)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Set all elements to val.</em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top><a name="a10" doxytag="sc::SCMatrix::assign"></a>
void&nbsp;</td><td valign=bottom><a class="el" href="class_sc__SCMatrix.html#a10">assign</a> (const double *m)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Assign element i, j to m[ir*<a class="el" href="class_sc__SCMatrix.html#a5">nrow</a>()+j].</em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top><a name="a11" doxytag="sc::SCMatrix::assign"></a>
void&nbsp;</td><td valign=bottom><a class="el" href="class_sc__SCMatrix.html#a11">assign</a> (const double **m)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Assign element i, j to m[i][j].</em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top><a name="a12" doxytag="sc::SCMatrix::assign"></a>
void&nbsp;</td><td valign=bottom><a class="el" href="class_sc__SCMatrix.html#a12">assign</a> (SCMatrix *m)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Make this have the same elements as m. The dimensions must match.</em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top><a name="a13" doxytag="sc::SCMatrix::assign_val"></a>
virtual void&nbsp;</td><td valign=bottom><a class="el" href="class_sc__SCMatrix.html#a13">assign_val</a> (double val)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Overridden to implement to assign members.</em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top><a name="a14" doxytag="sc::SCMatrix::assign_p"></a>
virtual void&nbsp;</td><td valign=bottom><b>assign_p</b> (const double *m)</td></tr>
<tr><td nowrap align=right valign=top><a name="a15" doxytag="sc::SCMatrix::assign_pp"></a>
virtual void&nbsp;</td><td valign=bottom><b>assign_pp</b> (const double **m)</td></tr>
<tr><td nowrap align=right valign=top><a name="a16" doxytag="sc::SCMatrix::assign_r"></a>
virtual void&nbsp;</td><td valign=bottom><b>assign_r</b> (SCMatrix *m)</td></tr>
<tr><td nowrap align=right valign=top><a name="a17" doxytag="sc::SCMatrix::convert"></a>
virtual void&nbsp;</td><td valign=bottom><a class="el" href="class_sc__SCMatrix.html#a17">convert</a> (double *) const</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Like the assign members, but these write values to the arguments.</em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top><a name="a18" doxytag="sc::SCMatrix::convert"></a>
virtual void&nbsp;</td><td valign=bottom><b>convert</b> (double **) const</td></tr>
<tr><td nowrap align=right valign=top><a name="a19" doxytag="sc::SCMatrix::convert"></a>
virtual void&nbsp;</td><td valign=bottom><a class="el" href="class_sc__SCMatrix.html#a19">convert</a> (SCMatrix *)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Convert an <a class="el" href="class_sc__SCMatrix.html">SCMatrix</a> of a different specialization to this specialization and possibly accumulate the data.</em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top><a name="a20" doxytag="sc::SCMatrix::convert_accumulate"></a>
virtual void&nbsp;</td><td valign=bottom><b>convert_accumulate</b> (SCMatrix *)</td></tr>
<tr><td nowrap align=right valign=top><a name="a21" doxytag="sc::SCMatrix::scale"></a>
virtual void&nbsp;</td><td valign=bottom><a class="el" href="class_sc__SCMatrix.html#a21">scale</a> (double val)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Multiply all elements by val.</em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top><a name="a22" doxytag="sc::SCMatrix::scale_diagonal"></a>
virtual void&nbsp;</td><td valign=bottom><a class="el" href="class_sc__SCMatrix.html#a22">scale_diagonal</a> (double val)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Scale the diagonal elements by val.</em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top><a name="a23" doxytag="sc::SCMatrix::shift_diagonal"></a>
virtual void&nbsp;</td><td valign=bottom><a class="el" href="class_sc__SCMatrix.html#a23">shift_diagonal</a> (double val)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Shift the diagonal elements by val.</em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top><a name="a24" doxytag="sc::SCMatrix::unit"></a>
virtual void&nbsp;</td><td valign=bottom><a class="el" href="class_sc__SCMatrix.html#a24">unit</a> ()</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Make this equal to the unit matrix.</em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top><a name="a25" doxytag="sc::SCMatrix::copy"></a>
virtual SCMatrix*&nbsp;</td><td valign=bottom><a class="el" href="class_sc__SCMatrix.html#a25">copy</a> ()</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Return a matrix with the same dimension and same elements.</em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top><a name="a26" doxytag="sc::SCMatrix::clone"></a>
virtual SCMatrix*&nbsp;</td><td valign=bottom><a class="el" href="class_sc__SCMatrix.html#a26">clone</a> ()</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Return a matrix with the same dimension but uninitialized memory.</em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top><a name="a27" doxytag="sc::SCMatrix::rowdim"></a>
<a class="el" href="class_sc__RefSCDimension.html">RefSCDimension</a>&nbsp;</td><td valign=bottom><a class="el" href="class_sc__SCMatrix.html#a27">rowdim</a> () const</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Return the row or column dimension.</em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top><a name="a28" doxytag="sc::SCMatrix::coldim"></a>
<a class="el" href="class_sc__RefSCDimension.html">RefSCDimension</a>&nbsp;</td><td valign=bottom><b>coldim</b> () const</td></tr>
<tr><td nowrap align=right valign=top><a name="a29" doxytag="sc::SCMatrix::get_element"></a>
virtual double&nbsp;</td><td valign=bottom><a class="el" href="class_sc__SCMatrix.html#a29">get_element</a> (int, int) const=0</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Return or modify an element.</em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top><a name="a30" doxytag="sc::SCMatrix::set_element"></a>
virtual void&nbsp;</td><td valign=bottom><b>set_element</b> (int, int, double)=0</td></tr>
<tr><td nowrap align=right valign=top><a name="a31" doxytag="sc::SCMatrix::accumulate_element"></a>
virtual void&nbsp;</td><td valign=bottom><b>accumulate_element</b> (int, int, double)=0</td></tr>
<tr><td nowrap align=right valign=top>virtual SCMatrix*&nbsp;</td><td valign=bottom><a class="el" href="class_sc__SCMatrix.html#a32">get_subblock</a> (int br, int er, int bc, int ec)=0</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Return a subblock of this.</em> <a href="#a32">More...</a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top><a name="a33" doxytag="sc::SCMatrix::assign_subblock"></a>
virtual void&nbsp;</td><td valign=bottom><a class="el" href="class_sc__SCMatrix.html#a33">assign_subblock</a> (SCMatrix *m, int, int, int, int, int=0, int=0)=0</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Assign m to a subblock of this.</em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top><a name="a34" doxytag="sc::SCMatrix::accumulate_subblock"></a>
virtual void&nbsp;</td><td valign=bottom><a class="el" href="class_sc__SCMatrix.html#a34">accumulate_subblock</a> (SCMatrix *m, int, int, int, int, int=0, int=0)=0</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Sum m into a subblock of this.</em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top><a name="a35" doxytag="sc::SCMatrix::get_row"></a>
virtual <a class="el" href="class_sc__SCVector.html">SCVector</a>*&nbsp;</td><td valign=bottom><a class="el" href="class_sc__SCMatrix.html#a35">get_row</a> (int i)=0</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Return a row or column of this.</em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top><a name="a36" doxytag="sc::SCMatrix::get_column"></a>
virtual <a class="el" href="class_sc__SCVector.html">SCVector</a>*&nbsp;</td><td valign=bottom><b>get_column</b> (int i)=0</td></tr>
<tr><td nowrap align=right valign=top><a name="a37" doxytag="sc::SCMatrix::assign_row"></a>
virtual void&nbsp;</td><td valign=bottom><a class="el" href="class_sc__SCMatrix.html#a37">assign_row</a> (<a class="el" href="class_sc__SCVector.html">SCVector</a> *v, int i)=0</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Assign v to a row or column of this.</em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top><a name="a38" doxytag="sc::SCMatrix::assign_column"></a>
virtual void&nbsp;</td><td valign=bottom><b>assign_column</b> (<a class="el" href="class_sc__SCVector.html">SCVector</a> *v, int i)=0</td></tr>
<tr><td nowrap align=right valign=top><a name="a39" doxytag="sc::SCMatrix::accumulate_row"></a>
virtual void&nbsp;</td><td valign=bottom><a class="el" href="class_sc__SCMatrix.html#a39">accumulate_row</a> (<a class="el" href="class_sc__SCVector.html">SCVector</a> *v, int i)=0</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Sum v to a row or column of this.</em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top><a name="a40" doxytag="sc::SCMatrix::accumulate_column"></a>
virtual void&nbsp;</td><td valign=bottom><b>accumulate_column</b> (<a class="el" href="class_sc__SCVector.html">SCVector</a> *v, int i)=0</td></tr>
<tr><td nowrap align=right valign=top><a name="a41" doxytag="sc::SCMatrix::accumulate"></a>
virtual void&nbsp;</td><td valign=bottom><a class="el" href="class_sc__SCMatrix.html#a41">accumulate</a> (const SCMatrix *m)=0</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Sum m into this.</em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top><a name="a42" doxytag="sc::SCMatrix::accumulate"></a>
virtual void&nbsp;</td><td valign=bottom><b>accumulate</b> (const <a class="el" href="class_sc__SymmSCMatrix.html">SymmSCMatrix</a> *m)=0</td></tr>
<tr><td nowrap align=right valign=top><a name="a43" doxytag="sc::SCMatrix::accumulate"></a>
virtual void&nbsp;</td><td valign=bottom><b>accumulate</b> (const <a class="el" href="class_sc__DiagSCMatrix.html">DiagSCMatrix</a> *m)=0</td></tr>
<tr><td nowrap align=right valign=top><a name="a44" doxytag="sc::SCMatrix::accumulate"></a>
virtual void&nbsp;</td><td valign=bottom><b>accumulate</b> (const <a class="el" href="class_sc__SCVector.html">SCVector</a> *)=0</td></tr>
<tr><td nowrap align=right valign=top><a name="a45" doxytag="sc::SCMatrix::accumulate_outer_product"></a>
virtual void&nbsp;</td><td valign=bottom><a class="el" href="class_sc__SCMatrix.html#a45">accumulate_outer_product</a> (<a class="el" href="class_sc__SCVector.html">SCVector</a> *,<a class="el" href="class_sc__SCVector.html">SCVector</a> *)=0</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Sum into this the products of various vectors or matrices.</em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top><a name="a46" doxytag="sc::SCMatrix::accumulate_product"></a>
void&nbsp;</td><td valign=bottom><b>accumulate_product</b> (SCMatrix *m1, SCMatrix *m2)</td></tr>
<tr><td nowrap align=right valign=top><a name="a47" doxytag="sc::SCMatrix::accumulate_product"></a>
void&nbsp;</td><td valign=bottom><b>accumulate_product</b> (SCMatrix *m1, <a class="el" href="class_sc__SymmSCMatrix.html">SymmSCMatrix</a> *m2)</td></tr>
<tr><td nowrap align=right valign=top><a name="a48" doxytag="sc::SCMatrix::accumulate_product"></a>
void&nbsp;</td><td valign=bottom><b>accumulate_product</b> (SCMatrix *m1, <a class="el" href="class_sc__DiagSCMatrix.html">DiagSCMatrix</a> *m2)</td></tr>
<tr><td nowrap align=right valign=top><a name="a49" doxytag="sc::SCMatrix::accumulate_product"></a>
void&nbsp;</td><td valign=bottom><b>accumulate_product</b> (<a class="el" href="class_sc__SymmSCMatrix.html">SymmSCMatrix</a> *m1, SCMatrix *m2)</td></tr>
<tr><td nowrap align=right valign=top><a name="a50" doxytag="sc::SCMatrix::accumulate_product"></a>
void&nbsp;</td><td valign=bottom><b>accumulate_product</b> (<a class="el" href="class_sc__DiagSCMatrix.html">DiagSCMatrix</a> *m1, SCMatrix *m2)</td></tr>
<tr><td nowrap align=right valign=top><a name="a51" doxytag="sc::SCMatrix::accumulate_product"></a>
void&nbsp;</td><td valign=bottom><b>accumulate_product</b> (<a class="el" href="class_sc__SymmSCMatrix.html">SymmSCMatrix</a> *m1, <a class="el" href="class_sc__SymmSCMatrix.html">SymmSCMatrix</a> *m2)</td></tr>
<tr><td nowrap align=right valign=top><a name="a52" doxytag="sc::SCMatrix::accumulate_product_rr"></a>
virtual void&nbsp;</td><td valign=bottom><b>accumulate_product_rr</b> (SCMatrix *,SCMatrix *)=0</td></tr>
<tr><td nowrap align=right valign=top><a name="a53" doxytag="sc::SCMatrix::accumulate_product_rs"></a>
virtual void&nbsp;</td><td valign=bottom><b>accumulate_product_rs</b> (SCMatrix *,<a class="el" href="class_sc__SymmSCMatrix.html">SymmSCMatrix</a> *)</td></tr>
<tr><td nowrap align=right valign=top><a name="a54" doxytag="sc::SCMatrix::accumulate_product_rd"></a>
virtual void&nbsp;</td><td valign=bottom><b>accumulate_product_rd</b> (SCMatrix *,<a class="el" href="class_sc__DiagSCMatrix.html">DiagSCMatrix</a> *)</td></tr>
<tr><td nowrap align=right valign=top><a name="a55" doxytag="sc::SCMatrix::accumulate_product_sr"></a>
virtual void&nbsp;</td><td valign=bottom><b>accumulate_product_sr</b> (<a class="el" href="class_sc__SymmSCMatrix.html">SymmSCMatrix</a> *,SCMatrix *)</td></tr>
<tr><td nowrap align=right valign=top><a name="a56" doxytag="sc::SCMatrix::accumulate_product_dr"></a>
virtual void&nbsp;</td><td valign=bottom><b>accumulate_product_dr</b> (<a class="el" href="class_sc__DiagSCMatrix.html">DiagSCMatrix</a> *,SCMatrix *)</td></tr>
<tr><td nowrap align=right valign=top><a name="a57" doxytag="sc::SCMatrix::accumulate_product_ss"></a>
virtual void&nbsp;</td><td valign=bottom><b>accumulate_product_ss</b> (<a class="el" href="class_sc__SymmSCMatrix.html">SymmSCMatrix</a> *,<a class="el" href="class_sc__SymmSCMatrix.html">SymmSCMatrix</a> *)</td></tr>
<tr><td nowrap align=right valign=top><a name="a58" doxytag="sc::SCMatrix::transpose_this"></a>
virtual void&nbsp;</td><td valign=bottom><a class="el" href="class_sc__SCMatrix.html#a58">transpose_this</a> ()=0</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Transpose this.</em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top><a name="a59" doxytag="sc::SCMatrix::trace"></a>
virtual double&nbsp;</td><td valign=bottom><a class="el" href="class_sc__SCMatrix.html#a59">trace</a> ()=0</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Return the trace.</em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top><a name="a60" doxytag="sc::SCMatrix::invert_this"></a>
virtual double&nbsp;</td><td valign=bottom><a class="el" href="class_sc__SCMatrix.html#a60">invert_this</a> ()=0</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Invert this.</em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top><a name="a61" doxytag="sc::SCMatrix::determ_this"></a>
virtual double&nbsp;</td><td valign=bottom><a class="el" href="class_sc__SCMatrix.html#a61">determ_this</a> ()=0</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Return the determinant of this. this is overwritten.</em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top><a name="a62" doxytag="sc::SCMatrix::svd_this"></a>
virtual void&nbsp;</td><td valign=bottom><a class="el" href="class_sc__SCMatrix.html#a62">svd_this</a> (SCMatrix *U, <a class="el" href="class_sc__DiagSCMatrix.html">DiagSCMatrix</a> *sigma, SCMatrix *V)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em><a class="el" href="class_sc__Compute.html">Compute</a> the singular value decomposition for this, possibly destroying this.</em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top><a name="a63" doxytag="sc::SCMatrix::solve_this"></a>
virtual double&nbsp;</td><td valign=bottom><b>solve_this</b> (<a class="el" href="class_sc__SCVector.html">SCVector</a> *)=0</td></tr>
<tr><td nowrap align=right valign=top><a name="a64" doxytag="sc::SCMatrix::gen_invert_this"></a>
virtual void&nbsp;</td><td valign=bottom><b>gen_invert_this</b> ()</td></tr>
<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="class_sc__SCMatrix.html#a65">schmidt_orthog</a> (<a class="el" href="class_sc__SymmSCMatrix.html">SymmSCMatrix</a> *, int n)=0</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Schmidt orthogonalize this.</em> <a href="#a65">More...</a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>virtual int&nbsp;</td><td valign=bottom><a class="el" href="class_sc__SCMatrix.html#a66">schmidt_orthog_tol</a> (<a class="el" href="class_sc__SymmSCMatrix.html">SymmSCMatrix</a> *, double tol, double *res=0)=0</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Schmidt orthogonalize this.</em> <a href="#a66">More...</a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top><a name="a67" doxytag="sc::SCMatrix::element_op"></a>
virtual void&nbsp;</td><td valign=bottom><a class="el" href="class_sc__SCMatrix.html#a67">element_op</a> (const <a class="el" href="class_sc__Ref.html">Ref</a>&lt; <a class="el" href="class_sc__SCElementOp.html">SCElementOp</a> &gt; &amp;)=0</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Perform the element operation op on each element of this.</em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top><a name="a68" doxytag="sc::SCMatrix::element_op"></a>
virtual void&nbsp;</td><td valign=bottom><b>element_op</b> (const <a class="el" href="class_sc__Ref.html">Ref</a>&lt; <a class="el" href="class_sc__SCElementOp2.html">SCElementOp2</a> &gt; &amp;, SCMatrix *)=0</td></tr>
<tr><td nowrap align=right valign=top><a name="a69" doxytag="sc::SCMatrix::element_op"></a>
virtual void&nbsp;</td><td valign=bottom><b>element_op</b> (const <a class="el" href="class_sc__Ref.html">Ref</a>&lt; <a class="el" href="class_sc__SCElementOp3.html">SCElementOp3</a> &gt; &amp;, SCMatrix *,SCMatrix *)=0</td></tr>
<tr><td nowrap align=right valign=top><a name="a70" doxytag="sc::SCMatrix::print"></a>
void&nbsp;</td><td valign=bottom><a class="el" href="class_sc__SCMatrix.html#a70">print</a> (std::ostream &amp;o=ExEnv::out0()) const</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Print out the matrix.</em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top><a name="a71" doxytag="sc::SCMatrix::print"></a>
void&nbsp;</td><td valign=bottom><b>print</b> (const char *title=0, std::ostream &amp;out=ExEnv::out0(), int=10) const</td></tr>
<tr><td nowrap align=right valign=top><a name="a72" doxytag="sc::SCMatrix::vprint"></a>
virtual void&nbsp;</td><td valign=bottom><b>vprint</b> (const char *title=0, std::ostream &amp;out=ExEnv::out0(),int=10) const=0</td></tr>
<tr><td nowrap align=right valign=top><a name="a73" doxytag="sc::SCMatrix::messagegrp"></a>
<a class="el" href="class_sc__Ref.html">Ref</a>&lt;<a class="el" href="class_sc__MessageGrp.html">MessageGrp</a>&gt;&nbsp;</td><td valign=bottom><a class="el" href="class_sc__SCMatrix.html#a73">messagegrp</a> () const</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Returns the message group used by the matrix kit.</em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top><a name="a74" doxytag="sc::SCMatrix::local_blocks"></a>
virtual <a class="el" href="class_sc__Ref.html">Ref</a>&lt;<a class="el" href="class_sc__SCMatrixSubblockIter.html">SCMatrixSubblockIter</a>&gt;&nbsp;</td><td valign=bottom><a class="el" href="class_sc__SCMatrix.html#a74">local_blocks</a> (SCMatrixSubblockIter::Access)=0</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Returns iterators for the local (rapidly accessible) blocks used in this matrix.</em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top><a name="a75" doxytag="sc::SCMatrix::all_blocks"></a>
virtual <a class="el" href="class_sc__Ref.html">Ref</a>&lt;<a class="el" href="class_sc__SCMatrixSubblockIter.html">SCMatrixSubblockIter</a>&gt;&nbsp;</td><td valign=bottom><a class="el" href="class_sc__SCMatrix.html#a75">all_blocks</a> (SCMatrixSubblockIter::Access)=0</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Returns iterators for the all blocks used in this matrix.</em></font><br><br></td></tr>
<tr><td colspan=2><br><h2>Protected Attributes</h2></td></tr>
<tr><td nowrap align=right valign=top><a name="n0" doxytag="sc::SCMatrix::d1"></a>
<a class="el" href="class_sc__RefSCDimension.html">RefSCDimension</a>&nbsp;</td><td valign=bottom><b>d1</b></td></tr>
<tr><td nowrap align=right valign=top><a name="n1" doxytag="sc::SCMatrix::d2"></a>
<a class="el" href="class_sc__RefSCDimension.html">RefSCDimension</a>&nbsp;</td><td valign=bottom><b>d2</b></td></tr>
<tr><td nowrap align=right valign=top><a name="n2" doxytag="sc::SCMatrix::kit_"></a>
<a class="el" href="class_sc__Ref.html">Ref</a>&lt;<a class="el" href="class_sc__SCMatrixKit.html">SCMatrixKit</a>&gt;&nbsp;</td><td valign=bottom><b>kit_</b></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
The <a class="el" href="class_sc__SCMatrix.html">SCMatrix</a> class is the abstract base class for general double valued n by m matrices.
<p>
For symmetric matrices use <a class="el" href="class_sc__SymmSCMatrix.html">SymmSCMatrix</a> and for diagonal matrices use <a class="el" href="class_sc__DiagSCMatrix.html">DiagSCMatrix</a>. 
<p>
<hr><h2>Member Function Documentation</h2>
<a name="a32" doxytag="sc::SCMatrix::get_subblock"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
SCMatrix * sc::SCMatrix::get_subblock (
          </b></td>
          <td valign="bottom"><b>
int <em>br</em>, 
          </b></td>
        </tr>
        <tr>
          <td></td>
          <td><b>
int <em>er</em>, 
          </b></td>
        </tr>
        <tr>
          <td></td>
          <td><b>
int <em>bc</em>, 
          </b></td>
        </tr>
        <tr>
          <td></td>
          <td><b>
int <em>ec</em>&nbsp;)<code> [pure virtual]</code>
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<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.     </td>
  </tr>
</table>
<a name="a65" doxytag="sc::SCMatrix::schmidt_orthog"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
void sc::SCMatrix::schmidt_orthog (
          </b></td>
          <td valign="bottom"><b>
<a class="el" href="class_sc__SymmSCMatrix.html">SymmSCMatrix</a> *, 
          </b></td>
        </tr>
        <tr>
          <td></td>
          <td><b>
int <em>n</em>&nbsp;)<code> [pure virtual]</code>
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Schmidt orthogonalize this.
<p>
S is the overlap matrix. n is the number of columns to orthogonalize.     </td>
  </tr>
</table>
<a name="a66" doxytag="sc::SCMatrix::schmidt_orthog_tol"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
int sc::SCMatrix::schmidt_orthog_tol (
          </b></td>
          <td valign="bottom"><b>
<a class="el" href="class_sc__SymmSCMatrix.html">SymmSCMatrix</a> *, 
          </b></td>
        </tr>
        <tr>
          <td></td>
          <td><b>
double <em>tol</em>, 
          </b></td>
        </tr>
        <tr>
          <td></td>
          <td><b>
double * <em>res</em> = 0&nbsp;)<code> [pure virtual]</code>
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Schmidt orthogonalize this.
<p>
S is the overlap matrix. tol is the tolerance. The number of linearly independent vectors is returned.     </td>
  </tr>
</table>
<hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="abstract_h-source.html">abstract.h</a></ul>
<hr>
<address>
<small>

Generated at Mon Oct 14 14:17:42 2002 for <a
href="http://aros.ca.sandia.gov/~cljanss/mpqc">MPQC</a>
2.1.2 using the documentation package <a
href="http://www.stack.nl/~dimitri/doxygen/index.html">Doxygen</a>
1.2.5.

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