<!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::DIIS 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_1DIIS.html">DIIS</a> </div> </div> <div class="contents"> <h1>sc::DIIS Class Reference</h1><!-- doxytag: class="sc::DIIS" --><!-- doxytag: inherits="sc::SelfConsistentExtrapolation" -->The <a class="el" href="classsc_1_1DIIS.html" title="The DIIS class provides DIIS extrapolation.">DIIS</a> class provides <a class="el" href="classsc_1_1DIIS.html" title="The DIIS class provides DIIS extrapolation.">DIIS</a> extrapolation. <a href="#_details">More...</a> <p> <code>#include <<a class="el" href="diis_8h_source.html">diis.h</a>></code> <p> <div class="dynheader"> Inheritance diagram for sc::DIIS:</div> <div class="dynsection"> <p><center><img src="classsc_1_1DIIS.png" usemap="#sc::DIIS_map" border="0" alt=""></center> <map name="sc::DIIS_map"> <area href="classsc_1_1SelfConsistentExtrapolation.html" alt="sc::SelfConsistentExtrapolation" shape="rect" coords="0,224,184,248"> <area href="classsc_1_1SavableState.html" alt="sc::SavableState" shape="rect" coords="0,168,184,192"> <area href="classsc_1_1DescribedClass.html" alt="sc::DescribedClass" shape="rect" coords="0,112,184,136"> <area href="classsc_1_1RefCount.html" alt="sc::RefCount" shape="rect" coords="0,56,184,80"> <area href="classsc_1_1Identity.html" alt="sc::Identity" shape="rect" coords="0,0,184,24"> </map> </div> <p> <a href="classsc_1_1DIIS-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="5a0c5cceac5df8a590e156a610fb11de"></a><!-- doxytag: member="sc::DIIS::DIIS" ref="5a0c5cceac5df8a590e156a610fb11de" args="(int strt=1, int ndi=5, double dmp=0, int ngr=1, int ngrdiis=1)" --> </td><td class="memItemRight" valign="bottom"><b>DIIS</b> (int strt=1, int ndi=5, double dmp=0, int ngr=1, int ngrdiis=1)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="f2501c5d6d2a32f770fa8b79844db315"></a><!-- doxytag: member="sc::DIIS::DIIS" ref="f2501c5d6d2a32f770fa8b79844db315" args="(StateIn &)" --> </td><td class="memItemRight" valign="bottom"><b>DIIS</b> (<a class="el" href="classsc_1_1StateIn.html">StateIn</a> &)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1DIIS.html#689539dfb95cfebdd9a0d82ad61f3e4c">DIIS</a> (const <a class="el" href="classsc_1_1Ref.html">Ref</a>< <a class="el" href="classsc_1_1KeyVal.html">KeyVal</a> > &)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">The <a class="el" href="classsc_1_1DIIS.html" title="The DIIS class provides DIIS extrapolation.">DIIS</a> <a class="el" href="classsc_1_1KeyVal.html" title="The KeyVal class is designed to simplify the process of allowing a user to specify...">KeyVal</a> constructor recognizes the following keywords:. <a href="#689539dfb95cfebdd9a0d82ad61f3e4c"></a><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_1DIIS.html#0339bd6212541ac5c1160b2cb823b84f">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="#0339bd6212541ac5c1160b2cb823b84f"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a5a0da3249e65a7337833a9c98c67ce1"></a><!-- doxytag: member="sc::DIIS::extrapolate" ref="a5a0da3249e65a7337833a9c98c67ce1" args="(const Ref< SCExtrapData > &data, const Ref< SCExtrapError > &error)" --> int </td><td class="memItemRight" valign="bottom"><b>extrapolate</b> (const <a class="el" href="classsc_1_1Ref.html">Ref</a>< <a class="el" href="classsc_1_1SCExtrapData.html">SCExtrapData</a> > &data, const <a class="el" href="classsc_1_1Ref.html">Ref</a>< <a class="el" href="classsc_1_1SCExtrapError.html">SCExtrapError</a> > &error)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="99f5017581dc4a3fe325fc5dc15ce0b6"></a><!-- doxytag: member="sc::DIIS::start_extrapolation" ref="99f5017581dc4a3fe325fc5dc15ce0b6" args="()" --> void </td><td class="memItemRight" valign="bottom"><b>start_extrapolation</b> ()</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="32c8b20191960c2f58c12d3dcb502d51"></a><!-- doxytag: member="sc::DIIS::reinitialize" ref="32c8b20191960c2f58c12d3dcb502d51" args="()" --> void </td><td class="memItemRight" valign="bottom"><b>reinitialize</b> ()</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a386eb37a4bccf4a858ac2d37c60af94"></a><!-- doxytag: member="sc::DIIS::print" ref="a386eb37a4bccf4a858ac2d37c60af94" args="(std::ostream &=ExEnv::out0()) const " --> void </td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1DIIS.html#a386eb37a4bccf4a858ac2d37c60af94">print</a> (std::ostream &=ExEnv::out0()) const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Override <a class="el" href="classsc_1_1DescribedClass.html#0d2e580b61452fb906f27ed972ea3800" title="Print the object.">DescribedClass::print</a>. <br></td></tr> <tr><td colspan="2"><br><h2>Protected Member Functions</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="135d8d502e23481ea9f5812168477735"></a><!-- doxytag: member="sc::DIIS::init" ref="135d8d502e23481ea9f5812168477735" args="()" --> void </td><td class="memItemRight" valign="bottom"><b>init</b> ()</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="dd1bb725f1e7ad9f73aaa7eea7b7e43e"></a><!-- doxytag: member="sc::DIIS::start" ref="dd1bb725f1e7ad9f73aaa7eea7b7e43e" args="" --> int </td><td class="memItemRight" valign="bottom"><b>start</b></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="2e3cc7b65eb524d39a59579765392f37"></a><!-- doxytag: member="sc::DIIS::ndiis" ref="2e3cc7b65eb524d39a59579765392f37" args="" --> int </td><td class="memItemRight" valign="bottom"><b>ndiis</b></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="4879c6738aa5b7830e06e2ee8cd40585"></a><!-- doxytag: member="sc::DIIS::iter" ref="4879c6738aa5b7830e06e2ee8cd40585" args="" --> int </td><td class="memItemRight" valign="bottom"><b>iter</b></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="2ff4b26616ca0a3f22432bc87490b446"></a><!-- doxytag: member="sc::DIIS::ngroup" ref="2ff4b26616ca0a3f22432bc87490b446" args="" --> int </td><td class="memItemRight" valign="bottom"><b>ngroup</b></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="c739c95fe5c6c0b4717493cc7db7a29d"></a><!-- doxytag: member="sc::DIIS::ngroupdiis" ref="c739c95fe5c6c0b4717493cc7db7a29d" args="" --> int </td><td class="memItemRight" valign="bottom"><b>ngroupdiis</b></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="358ecf0b7c037ad2eb8d193b7e90a414"></a><!-- doxytag: member="sc::DIIS::damping_factor" ref="358ecf0b7c037ad2eb8d193b7e90a414" args="" --> double </td><td class="memItemRight" valign="bottom"><b>damping_factor</b></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="52c75e54ff27fa890cd0d996b1fb4091"></a><!-- doxytag: member="sc::DIIS::btemp" ref="52c75e54ff27fa890cd0d996b1fb4091" args="" --> double * </td><td class="memItemRight" valign="bottom"><b>btemp</b></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="5792575d535feadc05103cf6094a724c"></a><!-- doxytag: member="sc::DIIS::bold" ref="5792575d535feadc05103cf6094a724c" args="" --> double ** </td><td class="memItemRight" valign="bottom"><b>bold</b></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="2ad59ca4f0995d2c9f4ebc53de72130d"></a><!-- doxytag: member="sc::DIIS::bmat" ref="2ad59ca4f0995d2c9f4ebc53de72130d" args="" --> double ** </td><td class="memItemRight" valign="bottom"><b>bmat</b></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="6ad068265227674696acc74dc4bec8c0"></a><!-- doxytag: member="sc::DIIS::dtemp_data" ref="6ad068265227674696acc74dc4bec8c0" args="" --> <a class="el" href="classsc_1_1Ref.html">Ref</a>< <a class="el" href="classsc_1_1SCExtrapData.html">SCExtrapData</a> > </td><td class="memItemRight" valign="bottom"><b>dtemp_data</b></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="85be6816ab4244a54a9f58179d58c94a"></a><!-- doxytag: member="sc::DIIS::dtemp_error" ref="85be6816ab4244a54a9f58179d58c94a" args="" --> <a class="el" href="classsc_1_1Ref.html">Ref</a>< <a class="el" href="classsc_1_1SCExtrapError.html">SCExtrapError</a> > </td><td class="memItemRight" valign="bottom"><b>dtemp_error</b></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="e541fae1c0961e5f4baf948ac49113fd"></a><!-- doxytag: member="sc::DIIS::Ldata" ref="e541fae1c0961e5f4baf948ac49113fd" args="" --> <a class="el" href="classsc_1_1Ref.html">Ref</a>< <a class="el" href="classsc_1_1SCExtrapData.html">SCExtrapData</a> > </td><td class="memItemRight" valign="bottom"><b>Ldata</b></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a07e234d274a98c0b8455ff046e3cfa2"></a><!-- doxytag: member="sc::DIIS::diism_data" ref="a07e234d274a98c0b8455ff046e3cfa2" args="" --> <a class="el" href="classsc_1_1Ref.html">Ref</a>< <a class="el" href="classsc_1_1SCExtrapData.html">SCExtrapData</a> > * </td><td class="memItemRight" valign="bottom"><b>diism_data</b></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="5a69cfbbb8032cf219cdbd2b8ad4b1c6"></a><!-- doxytag: member="sc::DIIS::diism_error" ref="5a69cfbbb8032cf219cdbd2b8ad4b1c6" args="" --> <a class="el" href="classsc_1_1Ref.html">Ref</a>< <a class="el" href="classsc_1_1SCExtrapError.html">SCExtrapError</a> > * </td><td class="memItemRight" valign="bottom"><b>diism_error</b></td></tr> </table> <hr><a name="_details"></a><h2>Detailed Description</h2> The <a class="el" href="classsc_1_1DIIS.html" title="The DIIS class provides DIIS extrapolation.">DIIS</a> class provides <a class="el" href="classsc_1_1DIIS.html" title="The DIIS class provides DIIS extrapolation.">DIIS</a> extrapolation. <p> <hr><h2>Constructor & Destructor Documentation</h2> <a class="anchor" name="689539dfb95cfebdd9a0d82ad61f3e4c"></a><!-- doxytag: member="sc::DIIS::DIIS" ref="689539dfb95cfebdd9a0d82ad61f3e4c" args="(const Ref< KeyVal > &)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">sc::DIIS::DIIS </td> <td>(</td> <td class="paramtype">const <a class="el" href="classsc_1_1Ref.html">Ref</a>< <a class="el" href="classsc_1_1KeyVal.html">KeyVal</a> > & </td> <td class="paramname"> </td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p> The <a class="el" href="classsc_1_1DIIS.html" title="The DIIS class provides DIIS extrapolation.">DIIS</a> <a class="el" href="classsc_1_1KeyVal.html" title="The KeyVal class is designed to simplify the process of allowing a user to specify...">KeyVal</a> constructor recognizes the following keywords:. <p> <dl> <dt><code>n</code></dt> <dd>This integer maximum number of data sets to retain. The default is 5.<p> </dd> <dt><code>start</code></dt> <dd>The <a class="el" href="classsc_1_1DIIS.html" title="The DIIS class provides DIIS extrapolation.">DIIS</a> extrapolation will begin on the iteration given by this integer. The default is 1.<p> </dd> <dt><code>damping_factor</code></dt> <dd>This nonnegative floating point number is used to dampen the <a class="el" href="classsc_1_1DIIS.html" title="The DIIS class provides DIIS extrapolation.">DIIS</a> extrapolation. The default is 0.0.<p> </dd> <dt><code>ngroup</code></dt> <dd>The number of iterations in a <a class="el" href="classsc_1_1DIIS.html" title="The DIIS class provides DIIS extrapolation.">DIIS</a> group. <a class="el" href="classsc_1_1DIIS.html" title="The DIIS class provides DIIS extrapolation.">DIIS</a> extrapolation is only used for the first ngroupdiis of these interations. The default is 1. If ngroup is 1 and ngroupdiis is greater than 0, then <a class="el" href="classsc_1_1DIIS.html" title="The DIIS class provides DIIS extrapolation.">DIIS</a> will be used on all iterations after and including the start iteration.<p> </dd> <dt><code>ngroupdiis</code></dt> <dd>The number of <a class="el" href="classsc_1_1DIIS.html" title="The DIIS class provides DIIS extrapolation.">DIIS</a> extrapolations to do at the beginning of an iteration group. See the documentation for ngroup.<p> </dd> </dl> </div> </div><p> <hr><h2>Member Function Documentation</h2> <a class="anchor" name="0339bd6212541ac5c1160b2cb823b84f"></a><!-- doxytag: member="sc::DIIS::save_data_state" ref="0339bd6212541ac5c1160b2cb823b84f" args="(StateOut &)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void sc::DIIS::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_1SelfConsistentExtrapolation.html#334c6147eedebaecc414c3656d963d18">sc::SelfConsistentExtrapolation</a>.</p> </div> </div><p> <hr>The documentation for this class was generated from the following file:<ul> <li><a class="el" href="diis_8h_source.html">diis.h</a></ul> </div> <hr> <address> <small> Generated at Wed Oct 14 14:12:15 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>