<!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::HessianUpdate 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_1HessianUpdate.html">HessianUpdate</a> </div> </div> <div class="contents"> <h1>sc::HessianUpdate Class Reference</h1><!-- doxytag: class="sc::HessianUpdate" --><!-- doxytag: inherits="sc::SavableState" -->The <a class="el" href="classsc_1_1HessianUpdate.html" title="The HessianUpdate abstract class is used to specify a hessian update scheme.">HessianUpdate</a> abstract class is used to specify a hessian update scheme. <a href="#_details">More...</a> <p> <code>#include <<a class="el" href="update_8h_source.html">update.h</a>></code> <p> <div class="dynheader"> Inheritance diagram for sc::HessianUpdate:</div> <div class="dynsection"> <p><center><img src="classsc_1_1HessianUpdate.png" usemap="#sc::HessianUpdate_map" border="0" alt=""></center> <map name="sc::HessianUpdate_map"> <area href="classsc_1_1SavableState.html" alt="sc::SavableState" shape="rect" coords="65,168,185,192"> <area href="classsc_1_1DescribedClass.html" alt="sc::DescribedClass" shape="rect" coords="65,112,185,136"> <area href="classsc_1_1RefCount.html" alt="sc::RefCount" shape="rect" coords="65,56,185,80"> <area href="classsc_1_1Identity.html" alt="sc::Identity" shape="rect" coords="65,0,185,24"> <area href="classsc_1_1DFPUpdate.html" alt="sc::DFPUpdate" shape="rect" coords="0,280,120,304"> <area href="classsc_1_1PowellUpdate.html" alt="sc::PowellUpdate" shape="rect" coords="130,280,250,304"> <area href="classsc_1_1BFGSUpdate.html" alt="sc::BFGSUpdate" shape="rect" coords="0,336,120,360"> </map> </div> <p> <a href="classsc_1_1HessianUpdate-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="36f04bb718c2d301c4f924b7fa123652"></a><!-- doxytag: member="sc::HessianUpdate::HessianUpdate" ref="36f04bb718c2d301c4f924b7fa123652" args="(StateIn &)" --> </td><td class="memItemRight" valign="bottom"><b>HessianUpdate</b> (<a class="el" href="classsc_1_1StateIn.html">StateIn</a> &)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="8471420b935842ece33091fae848e6ed"></a><!-- doxytag: member="sc::HessianUpdate::HessianUpdate" ref="8471420b935842ece33091fae848e6ed" args="(const Ref< KeyVal > &)" --> </td><td class="memItemRight" valign="bottom"><b>HessianUpdate</b> (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="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1HessianUpdate.html#22bc302e93e771fd76ea2b717b6efb96">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="#22bc302e93e771fd76ea2b717b6efb96"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="e9df85daabafe001e6bb9a66010f98e5"></a><!-- doxytag: member="sc::HessianUpdate::update" ref="e9df85daabafe001e6bb9a66010f98e5" args="(const RefSymmSCMatrix &hessian, const Ref< Function > &, const RefSCVector &xnew, const RefSCVector &gnew)=0" --> virtual void </td><td class="memItemRight" valign="bottom"><b>update</b> (const <a class="el" href="classsc_1_1RefSymmSCMatrix.html">RefSymmSCMatrix</a> &hessian, const <a class="el" href="classsc_1_1Ref.html">Ref</a>< <a class="el" href="classsc_1_1Function.html">Function</a> > &, const <a class="el" href="classsc_1_1RefSCVector.html">RefSCVector</a> &xnew, const <a class="el" href="classsc_1_1RefSCVector.html">RefSCVector</a> &gnew)=0</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="6d4f7afab4c88b5716beaa4a3b15572e"></a><!-- doxytag: member="sc::HessianUpdate::set_inverse" ref="6d4f7afab4c88b5716beaa4a3b15572e" args="()" --> virtual void </td><td class="memItemRight" valign="bottom"><b>set_inverse</b> ()</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="d8330a1384a34e4764286b96c260a4c5"></a><!-- doxytag: member="sc::HessianUpdate::apply_transform" ref="d8330a1384a34e4764286b96c260a4c5" args="(const Ref< NonlinearTransform > &)" --> virtual void </td><td class="memItemRight" valign="bottom"><b>apply_transform</b> (const <a class="el" href="classsc_1_1Ref.html">Ref</a>< <a class="el" href="classsc_1_1NonlinearTransform.html">NonlinearTransform</a> > &)</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="abddeed5093d3af24442bd06589f639d"></a><!-- doxytag: member="sc::HessianUpdate::inverse_hessian_" ref="abddeed5093d3af24442bd06589f639d" args="" --> int </td><td class="memItemRight" valign="bottom"><b>inverse_hessian_</b></td></tr> </table> <hr><a name="_details"></a><h2>Detailed Description</h2> The <a class="el" href="classsc_1_1HessianUpdate.html" title="The HessianUpdate abstract class is used to specify a hessian update scheme.">HessianUpdate</a> abstract class is used to specify a hessian update scheme. <p> It is used, for example, by <a class="el" href="classsc_1_1QNewtonOpt.html" title="The QNewtonOpt implements a quasi-Newton optimization scheme.">QNewtonOpt</a> objects. Based on the value of inverse_hessian_ x and g may be reversed (see Schlegel, Ab initio Methods in Quantum Chemistry I, 1987, p 10). <hr><h2>Member Function Documentation</h2> <a class="anchor" name="22bc302e93e771fd76ea2b717b6efb96"></a><!-- doxytag: member="sc::HessianUpdate::save_data_state" ref="22bc302e93e771fd76ea2b717b6efb96" args="(StateOut &)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void sc::HessianUpdate::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> <p>Reimplemented in <a class="el" href="classsc_1_1DFPUpdate.html#d5555925cc80534d35757a9cd15f8f2d">sc::DFPUpdate</a>, <a class="el" href="classsc_1_1BFGSUpdate.html#077b8ef5605aa2036597f73fd37f09d1">sc::BFGSUpdate</a>, and <a class="el" href="classsc_1_1PowellUpdate.html#b8e7719fe21db022503bb03fdb96a00c">sc::PowellUpdate</a>.</p> </div> </div><p> <hr>The documentation for this class was generated from the following file:<ul> <li><a class="el" href="update_8h_source.html">update.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>