<!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::OverlapOrthog 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_1OverlapOrthog.html">OverlapOrthog</a> </div> </div> <div class="contents"> <h1>sc::OverlapOrthog Class Reference</h1><!-- doxytag: class="sc::OverlapOrthog" --><!-- doxytag: inherits="sc::SavableState" -->This class computes the orthogonalizing transform for a basis set. <a href="#_details">More...</a> <p> <code>#include <<a class="el" href="orthog_8h_source.html">orthog.h</a>></code> <p> <div class="dynheader"> Inheritance diagram for sc::OverlapOrthog:</div> <div class="dynsection"> <p><center><img src="classsc_1_1OverlapOrthog.png" usemap="#sc::OverlapOrthog_map" border="0" alt=""></center> <map name="sc::OverlapOrthog_map"> <area href="classsc_1_1SavableState.html" alt="sc::SavableState" shape="rect" coords="0,168,120,192"> <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_1OverlapOrthog-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 Types</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">enum </td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1OverlapOrthog.html#202296c10927945e6c0f461e1b4baf5e">OrthogMethod</a> { <b>Symmetric</b> = 1, <b>Canonical</b> = 2, <b>GramSchmidt</b> = 3 }</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">An enum for the types of orthogonalization. <br></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="a0d030431be26e826d0280ae57c8d969"></a><!-- doxytag: member="sc::OverlapOrthog::OverlapOrthog" ref="a0d030431be26e826d0280ae57c8d969" args="(OrthogMethod method, const RefSymmSCMatrix &overlap, const Ref< SCMatrixKit > &result_kit, double lindep_tolerance, int debug=0)" --> </td><td class="memItemRight" valign="bottom"><b>OverlapOrthog</b> (<a class="el" href="classsc_1_1OverlapOrthog.html#202296c10927945e6c0f461e1b4baf5e">OrthogMethod</a> method, const <a class="el" href="classsc_1_1RefSymmSCMatrix.html">RefSymmSCMatrix</a> &overlap, const <a class="el" href="classsc_1_1Ref.html">Ref</a>< <a class="el" href="classsc_1_1SCMatrixKit.html">SCMatrixKit</a> > &result_kit, double lindep_tolerance, int debug=0)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="9e657d86afa460016072524662816b55"></a><!-- doxytag: member="sc::OverlapOrthog::OverlapOrthog" ref="9e657d86afa460016072524662816b55" args="(StateIn &)" --> </td><td class="memItemRight" valign="bottom"><b>OverlapOrthog</b> (<a class="el" href="classsc_1_1StateIn.html">StateIn</a> &)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1OverlapOrthog.html#d3fd33fc8098f6edf41f1e15a2d78d55">save_data_state</a> (<a class="el" href="classsc_1_1StateOut.html">StateOut</a> &)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Save the base classes (with save_data_state) and the members in the same order that the <a class="el" href="classsc_1_1StateIn.html" title="Restores objects that derive from SavableState.">StateIn</a> CTOR initializes them. <a href="#d3fd33fc8098f6edf41f1e15a2d78d55"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="cc0587360725540fc1e5395474805aee"></a><!-- doxytag: member="sc::OverlapOrthog::reinit" ref="cc0587360725540fc1e5395474805aee" args="(OrthogMethod method, const RefSymmSCMatrix &overlap, const Ref< SCMatrixKit > &result_kit, double lindep_tolerance, int debug=0)" --> void </td><td class="memItemRight" valign="bottom"><b>reinit</b> (<a class="el" href="classsc_1_1OverlapOrthog.html#202296c10927945e6c0f461e1b4baf5e">OrthogMethod</a> method, const <a class="el" href="classsc_1_1RefSymmSCMatrix.html">RefSymmSCMatrix</a> &overlap, const <a class="el" href="classsc_1_1Ref.html">Ref</a>< <a class="el" href="classsc_1_1SCMatrixKit.html">SCMatrixKit</a> > &result_kit, double lindep_tolerance, int debug=0)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="86d5ef76bb380a8037bd7ef986bf5b4c"></a><!-- doxytag: member="sc::OverlapOrthog::min_orthog_res" ref="86d5ef76bb380a8037bd7ef986bf5b4c" args="() const " --> double </td><td class="memItemRight" valign="bottom"><b>min_orthog_res</b> () const </td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="b3c5b64d6369d440063ebcd866113bfa"></a><!-- doxytag: member="sc::OverlapOrthog::max_orthog_res" ref="b3c5b64d6369d440063ebcd866113bfa" args="() const " --> double </td><td class="memItemRight" valign="bottom"><b>max_orthog_res</b> () const </td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="6d4ea4308d49b8f9703b591916e6b0c2"></a><!-- doxytag: member="sc::OverlapOrthog::copy" ref="6d4ea4308d49b8f9703b591916e6b0c2" args="() const " --> <a class="el" href="classsc_1_1Ref.html">Ref</a>< <a class="el" href="classsc_1_1OverlapOrthog.html">OverlapOrthog</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="27d4045466efb3d4f1a1846410d01c69"></a><!-- doxytag: member="sc::OverlapOrthog::orthog_method" ref="27d4045466efb3d4f1a1846410d01c69" args="() const " --> <a class="el" href="classsc_1_1OverlapOrthog.html#202296c10927945e6c0f461e1b4baf5e">OrthogMethod</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1OverlapOrthog.html#27d4045466efb3d4f1a1846410d01c69">orthog_method</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Returns the orthogonalization method. <br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="e84a08782a748157edd58c9e244b3462"></a><!-- doxytag: member="sc::OverlapOrthog::lindep_tol" ref="e84a08782a748157edd58c9e244b3462" args="() const " --> double </td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1OverlapOrthog.html#e84a08782a748157edd58c9e244b3462">lindep_tol</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Returns the tolerance for linear dependencies. <br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classsc_1_1RefSCMatrix.html">RefSCMatrix</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1OverlapOrthog.html#0574cd4ebac317cb6db25bfa082b606d">basis_to_orthog_basis</a> ()</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Returns a matrix which does the requested transform from a basis to an orthogonal basis. <a href="#0574cd4ebac317cb6db25bfa082b606d"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="3b444098e91a9448e85b0207db30879d"></a><!-- doxytag: member="sc::OverlapOrthog::basis_to_orthog_basis_inverse" ref="3b444098e91a9448e85b0207db30879d" args="()" --> <a class="el" href="classsc_1_1RefSCMatrix.html">RefSCMatrix</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1OverlapOrthog.html#3b444098e91a9448e85b0207db30879d">basis_to_orthog_basis_inverse</a> ()</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Returns the inverse of the transformation returned by basis_to_orthog_basis. <br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a1ce140ce5cd48bf6f175d153f4664b1"></a><!-- doxytag: member="sc::OverlapOrthog::dim" ref="a1ce140ce5cd48bf6f175d153f4664b1" args="()" --> <a class="el" href="classsc_1_1RefSCDimension.html">RefSCDimension</a> </td><td class="memItemRight" valign="bottom"><b>dim</b> ()</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="3e437daca99e1762b7ac646292103789"></a><!-- doxytag: member="sc::OverlapOrthog::orthog_dim" ref="3e437daca99e1762b7ac646292103789" args="()" --> <a class="el" href="classsc_1_1RefSCDimension.html">RefSCDimension</a> </td><td class="memItemRight" valign="bottom"><b>orthog_dim</b> ()</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="67f4f2ea5665d5239a0328fd739340fc"></a><!-- doxytag: member="sc::OverlapOrthog::nlindep" ref="67f4f2ea5665d5239a0328fd739340fc" args="()" --> int </td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1OverlapOrthog.html#67f4f2ea5665d5239a0328fd739340fc">nlindep</a> ()</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Returns the number of linearly dependent functions eliminated from the orthogonal basis. <br></td></tr> </table> <hr><a name="_details"></a><h2>Detailed Description</h2> This class computes the orthogonalizing transform for a basis set. <hr><h2>Member Function Documentation</h2> <a class="anchor" name="0574cd4ebac317cb6db25bfa082b606d"></a><!-- doxytag: member="sc::OverlapOrthog::basis_to_orthog_basis" ref="0574cd4ebac317cb6db25bfa082b606d" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classsc_1_1RefSCMatrix.html">RefSCMatrix</a> sc::OverlapOrthog::basis_to_orthog_basis </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p> Returns a matrix which does the requested transform from a basis to an orthogonal basis. <p> This could be either the symmetric or canonical orthogonalization matrix. The row dimension is the basis dimension and the column dimension is orthogonal basis dimension. An operator <img class="formulaInl" alt="$O$" src="form_48.png"> in the orthogonal basis is given by <img class="formulaInl" alt="$X O X^T$" src="form_49.png"> where <img class="formulaInl" alt="$X$" src="form_50.png"> is the return value of this function. </div> </div><p> <a class="anchor" name="d3fd33fc8098f6edf41f1e15a2d78d55"></a><!-- doxytag: member="sc::OverlapOrthog::save_data_state" ref="d3fd33fc8098f6edf41f1e15a2d78d55" args="(StateOut &)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void sc::OverlapOrthog::save_data_state </td> <td>(</td> <td class="paramtype"><a class="el" href="classsc_1_1StateOut.html">StateOut</a> & </td> <td class="paramname"> </td> <td> ) </td> <td><code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Save the base classes (with save_data_state) and the members in the same order that the <a class="el" href="classsc_1_1StateIn.html" title="Restores objects that derive from SavableState.">StateIn</a> CTOR initializes them. <p> This must be implemented by the derived class if the class has data. <p>Reimplemented from <a class="el" href="classsc_1_1SavableState.html#f9e0c212322d3c0f43e2dcb33e111acf">sc::SavableState</a>.</p> </div> </div><p> <hr>The documentation for this class was generated from the following file:<ul> <li><a class="el" href="orthog_8h_source.html">orthog.h</a></ul> </div> <hr> <address> <small> Generated at Wed Oct 14 14:12:13 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>