Sophie

Sophie

distrib > Mandriva > 2010.0 > i586 > media > contrib-release > by-pkgid > 247b28499c443e092731ffba814075f2 > files > 501

mpqc-html-2.3.1-9mdv2010.0.i586.rpm

<!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::Optimize 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&nbsp;Page</span></a></li>
      <li><a href="pages.html"><span>Related&nbsp;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&nbsp;List</span></a></li>
      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
    </ul>
  </div>
  <div class="navpath"><b>sc</b>::<a class="el" href="classsc_1_1Optimize.html">Optimize</a>
  </div>
</div>
<div class="contents">
<h1>sc::Optimize Class Reference</h1><!-- doxytag: class="sc::Optimize" --><!-- doxytag: inherits="sc::SavableState" -->The <a class="el" href="classsc_1_1Optimize.html" title="The Optimize class is an abstract base class for classes that find the extreme points...">Optimize</a> class is an abstract base class for classes that find the extreme points of Function's.  
<a href="#_details">More...</a>
<p>
<code>#include &lt;<a class="el" href="opt_8h_source.html">opt.h</a>&gt;</code>
<p>
<div class="dynheader">
Inheritance diagram for sc::Optimize:</div>
<div class="dynsection">

<p><center><img src="classsc_1_1Optimize.png" usemap="#sc::Optimize_map" border="0" alt=""></center>
<map name="sc::Optimize_map">
<area href="classsc_1_1SavableState.html" alt="sc::SavableState" shape="rect" coords="130,168,250,192">
<area href="classsc_1_1DescribedClass.html" alt="sc::DescribedClass" shape="rect" coords="130,112,250,136">
<area href="classsc_1_1RefCount.html" alt="sc::RefCount" shape="rect" coords="130,56,250,80">
<area href="classsc_1_1Identity.html" alt="sc::Identity" shape="rect" coords="130,0,250,24">
<area href="classsc_1_1EFCOpt.html" alt="sc::EFCOpt" shape="rect" coords="0,280,120,304">
<area href="classsc_1_1LineOpt.html" alt="sc::LineOpt" shape="rect" coords="130,280,250,304">
<area href="classsc_1_1QNewtonOpt.html" alt="sc::QNewtonOpt" shape="rect" coords="260,280,380,304">
<area href="classsc_1_1MCSearch.html" alt="sc::MCSearch" shape="rect" coords="130,336,250,360">
</map>
</div>

<p>
<a href="classsc_1_1Optimize-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="614123b4e129f1ba2f68a70d4c3c9648"></a><!-- doxytag: member="sc::Optimize::Optimize" ref="614123b4e129f1ba2f68a70d4c3c9648" args="(StateIn &amp;)" -->
&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1Optimize.html#614123b4e129f1ba2f68a70d4c3c9648">Optimize</a> (<a class="el" href="classsc_1_1StateIn.html">StateIn</a> &amp;)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Restore the state of a <a class="el" href="classsc_1_1Function.html" title="The Function class is an abstract base class that, given a set of coordinates, will...">Function</a> object. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1Optimize.html#e5d7798b65c16d2278e92631d31f2791">Optimize</a> (const <a class="el" href="classsc_1_1Ref.html">Ref</a>&lt; <a class="el" href="classsc_1_1KeyVal.html">KeyVal</a> &gt; &amp;)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The <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 reads the following information:.  <a href="#e5d7798b65c16d2278e92631d31f2791"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1Optimize.html#c2cca944acd79f33e6666232a2b518e2">save_data_state</a> (<a class="el" href="classsc_1_1StateOut.html">StateOut</a> &amp;)</td></tr>

<tr><td class="mdescLeft">&nbsp;</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="#c2cca944acd79f33e6666232a2b518e2"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1Optimize.html#7ba11f8ad7fcf3800cfac5886a55cb85">optimize</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Do the optimization.  <a href="#7ba11f8ad7fcf3800cfac5886a55cb85"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="0ea285ad0b66ceb621f02920c6778fb3"></a><!-- doxytag: member="sc::Optimize::set_checkpoint" ref="0ea285ad0b66ceb621f02920c6778fb3" args="()" -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1Optimize.html#0ea285ad0b66ceb621f02920c6778fb3">set_checkpoint</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set up for checkpointing. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="aa168a5a5cbb64917a141b6099b48df2"></a><!-- doxytag: member="sc::Optimize::set_checkpoint_file" ref="aa168a5a5cbb64917a141b6099b48df2" args="(const char *)" -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><b>set_checkpoint_file</b> (const char *)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="73dd2242b739c39edebcda8d7a5c81d3"></a><!-- doxytag: member="sc::Optimize::set_function" ref="73dd2242b739c39edebcda8d7a5c81d3" args="(const Ref&lt; Function &gt; &amp;)" -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1Optimize.html#73dd2242b739c39edebcda8d7a5c81d3">set_function</a> (const <a class="el" href="classsc_1_1Ref.html">Ref</a>&lt; <a class="el" href="classsc_1_1Function.html">Function</a> &gt; &amp;)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the function to be optimized. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="00ff273331579d12fccffda6d49b9961"></a><!-- doxytag: member="sc::Optimize::set_max_iterations" ref="00ff273331579d12fccffda6d49b9961" args="(int)" -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1Optimize.html#00ff273331579d12fccffda6d49b9961">set_max_iterations</a> (int)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the iteration limit. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a2a4632a3a0374c6d9b12cf6002ff923"></a><!-- doxytag: member="sc::Optimize::init" ref="a2a4632a3a0374c6d9b12cf6002ff923" args="()" -->
virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1Optimize.html#a2a4632a3a0374c6d9b12cf6002ff923">init</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Initialize the optimizer. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1Optimize.html#babb509c2f871391cec0a6cd4c487f27">update</a> ()=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Take a step.  <a href="#babb509c2f871391cec0a6cd4c487f27"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="f5e913cc75cea24dd637888f293742b3"></a><!-- doxytag: member="sc::Optimize::apply_transform" ref="f5e913cc75cea24dd637888f293742b3" args="(const Ref&lt; NonlinearTransform &gt; &amp;)" -->
virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><b>apply_transform</b> (const <a class="el" href="classsc_1_1Ref.html">Ref</a>&lt; <a class="el" href="classsc_1_1NonlinearTransform.html">NonlinearTransform</a> &gt; &amp;)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a122b2089613c0b1950f867f9897a3fe"></a><!-- doxytag: member="sc::Optimize::function" ref="a122b2089613c0b1950f867f9897a3fe" args="() const " -->
<a class="el" href="classsc_1_1Ref.html">Ref</a>&lt; <a class="el" href="classsc_1_1Function.html">Function</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1Optimize.html#a122b2089613c0b1950f867f9897a3fe">function</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns information about the <a class="el" href="classsc_1_1Function.html" title="The Function class is an abstract base class that, given a set of coordinates, will...">Function</a> being optimized. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="25a47e0a634a09d8c6f78b44ccdd7904"></a><!-- doxytag: member="sc::Optimize::matrixkit" ref="25a47e0a634a09d8c6f78b44ccdd7904" args="() const " -->
<a class="el" href="classsc_1_1Ref.html">Ref</a>&lt; <a class="el" href="classsc_1_1SCMatrixKit.html">SCMatrixKit</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><b>matrixkit</b> () const </td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="7965dec4d752fbf44039b8e4f0ca52d3"></a><!-- doxytag: member="sc::Optimize::dimension" ref="7965dec4d752fbf44039b8e4f0ca52d3" args="() const " -->
<a class="el" href="classsc_1_1RefSCDimension.html">RefSCDimension</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>dimension</b> () const </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="ff7345a736d4a9367e4151c2122f71ff"></a><!-- doxytag: member="sc::Optimize::max_iterations_" ref="ff7345a736d4a9367e4151c2122f71ff" args="" -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><b>max_iterations_</b></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="fe3069577fcd257655a03b42f8ae3466"></a><!-- doxytag: member="sc::Optimize::n_iterations_" ref="fe3069577fcd257655a03b42f8ae3466" args="" -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><b>n_iterations_</b></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="907ca23e98b5af45bb0179b200bd9ad8"></a><!-- doxytag: member="sc::Optimize::ckpt_" ref="907ca23e98b5af45bb0179b200bd9ad8" args="" -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><b>ckpt_</b></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="bee4f4e1d55635ba32261478213d9162"></a><!-- doxytag: member="sc::Optimize::print_timings_" ref="bee4f4e1d55635ba32261478213d9162" args="" -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><b>print_timings_</b></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="15f05c1587613086ea57a335ad77fea2"></a><!-- doxytag: member="sc::Optimize::max_stepsize_" ref="15f05c1587613086ea57a335ad77fea2" args="" -->
double&nbsp;</td><td class="memItemRight" valign="bottom"><b>max_stepsize_</b></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="cbda76fd55a07edf955969404e34b882"></a><!-- doxytag: member="sc::Optimize::ckpt_file" ref="cbda76fd55a07edf955969404e34b882" args="" -->
char *&nbsp;</td><td class="memItemRight" valign="bottom"><b>ckpt_file</b></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="210164c7c041021a428d2c18e19ce27c"></a><!-- doxytag: member="sc::Optimize::function_" ref="210164c7c041021a428d2c18e19ce27c" args="" -->
<a class="el" href="classsc_1_1Ref.html">Ref</a>&lt; <a class="el" href="classsc_1_1Function.html">Function</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><b>function_</b></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="fbce916d92512d126b49148ef9f21f39"></a><!-- doxytag: member="sc::Optimize::conv_" ref="fbce916d92512d126b49148ef9f21f39" args="" -->
<a class="el" href="classsc_1_1Ref.html">Ref</a>&lt; <a class="el" href="classsc_1_1Convergence.html">Convergence</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><b>conv_</b></td></tr>

</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
The <a class="el" href="classsc_1_1Optimize.html" title="The Optimize class is an abstract base class for classes that find the extreme points...">Optimize</a> class is an abstract base class for classes that find the extreme points of Function's. 
<p>
<hr><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" name="e5d7798b65c16d2278e92631d31f2791"></a><!-- doxytag: member="sc::Optimize::Optimize" ref="e5d7798b65c16d2278e92631d31f2791" args="(const Ref&lt; KeyVal &gt; &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">sc::Optimize::Optimize           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classsc_1_1Ref.html">Ref</a>&lt; <a class="el" href="classsc_1_1KeyVal.html">KeyVal</a> &gt; &amp;&nbsp;</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
The <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 reads the following information:. 
<p>
<dl>
<dt><code>checkpoint</code></dt>
<dd>If true, the optimization will be checkpointed. The default is false.<p>
</dd>
<dt><code>checkpoint_file</code></dt>
<dd>The name of the checkpoint file. The name defaults to opt_ckpt.dat.<p>
</dd>
<dt><code>max_iterations</code></dt>
<dd>The maximum number of interations. The default is 10.<p>
</dd>
<dt><code>max_stepsize</code></dt>
<dd>The maximum stepsize. The default is 0.6.<p>
</dd>
<dt><code>function</code></dt>
<dd>A <a class="el" href="classsc_1_1Function.html" title="The Function class is an abstract base class that, given a set of coordinates, will...">Function</a> object. There is no default.<p>
</dd>
<dt><code>convergence</code></dt>
<dd>This can be either a floating point number or a <a class="el" href="classsc_1_1Convergence.html" title="The Convergence class is used by the optimizer to determine when an optimization...">Convergence</a> object. If it is a floating point number then it is the convergence criterion. See the description <a class="el" href="classsc_1_1Convergence.html" title="The Convergence class is used by the optimizer to determine when an optimization...">Convergence</a> class for the default.<p>
</dd>
</dl>

</div>
</div><p>
<hr><h2>Member Function Documentation</h2>
<a class="anchor" name="7ba11f8ad7fcf3800cfac5886a55cb85"></a><!-- doxytag: member="sc::Optimize::optimize" ref="7ba11f8ad7fcf3800cfac5886a55cb85" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual int sc::Optimize::optimize           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Do the optimization. 
<p>
Returns nonzero if the optimization is complete. 
</div>
</div><p>
<a class="anchor" name="c2cca944acd79f33e6666232a2b518e2"></a><!-- doxytag: member="sc::Optimize::save_data_state" ref="c2cca944acd79f33e6666232a2b518e2" args="(StateOut &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void sc::Optimize::save_data_state           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classsc_1_1StateOut.html">StateOut</a> &amp;&nbsp;</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</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_1EFCOpt.html#3869a5b3aff2630e5d696401aeb53ef6">sc::EFCOpt</a>, <a class="el" href="classsc_1_1LineOpt.html#b8b1a601da7c67e7564e1c5903d93f66">sc::LineOpt</a>, and <a class="el" href="classsc_1_1QNewtonOpt.html#5925fc7e18bd779c449f431bf5dfffd5">sc::QNewtonOpt</a>.</p>

</div>
</div><p>
<a class="anchor" name="babb509c2f871391cec0a6cd4c487f27"></a><!-- doxytag: member="sc::Optimize::update" ref="babb509c2f871391cec0a6cd4c487f27" args="()=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual int sc::Optimize::update           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Take a step. 
<p>
Returns 1 if the optimization has converged, otherwise 0. 
<p>Implemented in <a class="el" href="classsc_1_1EFCOpt.html#e53edc90d5a2380bcd5b0c477d692ff5">sc::EFCOpt</a>, <a class="el" href="classsc_1_1MCSearch.html#8ab176f1e252d1485c4f697d4dd8de02">sc::MCSearch</a>, and <a class="el" href="classsc_1_1QNewtonOpt.html#b7b8b98d956b4b80e1bc05b48f2b6208">sc::QNewtonOpt</a>.</p>

</div>
</div><p>
<hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="opt_8h_source.html">opt.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>