Main Page   Groups   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Concepts

vnl_conjugate_gradient Class Reference

#include <vnl_conjugate_gradient.h>

Inheritance diagram for vnl_conjugate_gradient:

Inheritance graph
[legend]
Collaboration diagram for vnl_conjugate_gradient:

Collaboration graph
[legend]
List of all members.

Public Methods

 vnl_conjugate_gradient (vnl_cost_function &f)
 vnl_conjugate_gradient (vnl_cost_function &f, vnl_vector< double > &x)
void init (vnl_cost_function &f)
 ~vnl_conjugate_gradient ()
void diagnose_outcome (vcl_ostream &) const
void diagnose_outcome () const
bool minimize (vnl_vector< double > &x)

Static Protected Methods

double valuecomputer_ (double *x)
int gradientcomputer_ (double *g, double *x)
int valueandgradientcomputer_ (double *v, double *g, double *x)
int preconditioner_ (double *out, double *in)

Protected Attributes

vnl_cost_functionf_
double final_step_size_

Friends

class vnl_conjugate_gradient_Activate

Detailed Description

vnl_conjugate_gradient - real function minimization. vnl_conjugate_gradient - real function minimization

Definition at line 28 of file vnl_conjugate_gradient.h.


Constructor & Destructor Documentation

vnl_conjugate_gradient::vnl_conjugate_gradient vnl_cost_function   f [inline]
 

Initialize with the function object that is to be minimized.

Definition at line 34 of file vnl_conjugate_gradient.h.

References init(), and minimize().

vnl_conjugate_gradient::vnl_conjugate_gradient vnl_cost_function   f,
vnl_vector< double > &    x
[inline]
 

Initialize as above, and then run minimization.

Definition at line 38 of file vnl_conjugate_gradient.h.

References f_, final_step_size_, and vnl_conjugate_gradient_Activate.

vnl_conjugate_gradient::~vnl_conjugate_gradient  
 

Destructor.


Member Function Documentation

void vnl_conjugate_gradient::diagnose_outcome   const
 

void vnl_conjugate_gradient::diagnose_outcome vcl_ostream &    const
 

int vnl_conjugate_gradient::gradientcomputer_ double *    g,
double *    x
[static, protected]
 

void vnl_conjugate_gradient::init vnl_cost_function   f
 

Initialize all variables.

Referenced by vnl_conjugate_gradient().

bool vnl_conjugate_gradient::minimize vnl_vector< double > &    x
 

Minimize the function supplied in the constructor until convergence. or failure. On return, x is such that f(x) is the lowest value achieved. Returns true for convergence, false for failure.

Referenced by vnl_conjugate_gradient().

int vnl_conjugate_gradient::preconditioner_ double *    out,
double *    in
[static, protected]
 

int vnl_conjugate_gradient::valueandgradientcomputer_ double *    v,
double *    g,
double *    x
[static, protected]
 

double vnl_conjugate_gradient::valuecomputer_ double *    x [static, protected]
 


Friends And Related Function Documentation

friend class vnl_conjugate_gradient_Activate [friend]
 

Definition at line 72 of file vnl_conjugate_gradient.h.

Referenced by vnl_conjugate_gradient().


Member Data Documentation

vnl_cost_function* vnl_conjugate_gradient::f_ [protected]
 

Definition at line 67 of file vnl_conjugate_gradient.h.

Referenced by vnl_conjugate_gradient().

double vnl_conjugate_gradient::final_step_size_ [protected]
 

Definition at line 68 of file vnl_conjugate_gradient.h.

Referenced by vnl_conjugate_gradient().


The documentation for this class was generated from the following file:
Generated at Wed Mar 12 01:13:26 2003 for ITK by doxygen 1.2.15 written by Dimitri van Heesch, © 1997-2000