OPAL (Object Oriented Parallel Accelerator Library)  2.2.0
OPAL
Public Member Functions | Private Member Functions | Private Attributes | List of all members
Migrad Class Reference

The MIGRAD command. More...

#include <Migrad.h>

Inheritance diagram for Migrad:
Inheritance graph
[legend]
Collaboration diagram for Migrad:
Collaboration graph
[legend]

Public Member Functions

 Migrad ()
 Exemplar constructor. More...
 
virtual ~Migrad ()
 
virtual Migradclone (const std::string &name)
 Make clone. More...
 
virtual void execute ()
 Execute the command. More...
 
- Public Member Functions inherited from Action
virtual ~Action ()
 
virtual bool canReplaceBy (Object *object)
 Test if replacement is allowed. More...
 
virtual const std::string getCategory () const
 Return the object category as a string. More...
 
virtual bool shouldTrace () const
 Trace flag. More...
 
virtual bool shouldUpdate () const
 Update flag. More...
 
- Public Member Functions inherited from Object
virtual ~Object ()
 
void copyAttributes (const Object &)
 Copy attributes from another object. More...
 
virtual AttributefindAttribute (const std::string &name)
 Find an attribute by name. More...
 
virtual const AttributefindAttribute (const std::string &name) const
 Find an attribute by name. More...
 
virtual ObjectmakeTemplate (const std::string &, TokenStream &, Statement &)
 Macro handler function. More...
 
virtual ObjectmakeInstance (const std::string &name, Statement &, const Parser *)
 Macro handler function. More...
 
virtual void parse (Statement &)
 Parse the object. More...
 
virtual void parseShortcut (Statement &)
 Parser for single-attribute commands. More...
 
virtual void print (std::ostream &) const
 Print the object. More...
 
virtual void printValue (std::ostream &) const
 
virtual void printHelp (std::ostream &) const
 Print help. More...
 
virtual void replace (Object *oldObject, Object *newObject)
 Replace references. More...
 
virtual void update ()
 Update this object. More...
 
bool isBuiltin () const
 True, if [b]this[/b] is a built-in object. More...
 
virtual bool isShared () const
 Shared flag. More...
 
virtual void setShared (bool)
 Set/reset shared flag. More...
 
void setDirty (bool)
 Set/reset the [b]modified[/b] flag. More...
 
bool isDirty () const
 True, if the [b]modified[/b] flag is set. More...
 
void setFlag (bool)
 Flag/unflag this object, e. g. to control output of objects for. More...
 
bool isFlagged () const
 True, if [b]this[/b] is flagged by setFlag(true). More...
 
const ObjectgetBaseObject () const
 Return the object's base type object. More...
 
const std::string & getOpalName () const
 Return object name. More...
 
ObjectgetParent () const
 Return parent pointer. More...
 
bool isTreeMember (const Object *subTree) const
 Test for tree membership. More...
 
void setOpalName (const std::string &name)
 Set object name. More...
 
void setParent (Object *)
 Set parent object. More...
 
void clear ()
 Clear the occurrence counter. More...
 
int increment ()
 Increment and return the occurrence counter. More...
 
int occurrenceCount ()
 Return the occurrence counter. More...
 
void registerReference (Invalidator *a)
 Register a reference to this object. More...
 
void unregisterReference (Invalidator *a)
 Unegister a reference to this object. More...
 
void registerOwnership (const AttributeHandler::OwnerType &itsClass) const
 
- Public Member Functions inherited from RCObject
int addReference () const
 Increment reference count. More...
 
int removeReference () const
 Decrement the reference count. More...
 
bool isShared () const
 Test for sharing. More...
 

Private Member Functions

 Migrad (const Migrad &)
 
void operator= (const Migrad &)
 
 Migrad (const std::string &name, Migrad *parent)
 
void hessenberg (Vector< double > &X, Vector< double > &F, Matrix< double > &V, Vector< double > &G, Vector< double > &G2)
 
void derivatives (Vector< double > &X, Vector< double > &F, Vector< double > &G, Vector< double > &G2)
 
MatchState lineSearch (Vector< double > &X, Vector< double > &dX, Vector< double > &F, double tol)
 
void forcePositiveDefinite (Matrix< double > &A)
 
bool invertSymmetric (Matrix< double > &A)
 
int symmetricEigen (const Matrix< double > &A, Vector< double > &eigen)
 

Private Attributes

double fmin
 

Additional Inherited Members

- Public Attributes inherited from Object
std::vector< AttributeitsAttr
 The object attributes (see Attribute.hh). More...
 
- Protected Member Functions inherited from Action
 Action (int size, const char *name, const char *help)
 Constructor for exemplars. More...
 
 Action (const std::string &name, Action *parent)
 Constructor for cloning. More...
 
- Protected Member Functions inherited from Object
 Object (int size, const char *name, const char *help)
 Constructor for exemplars. More...
 
 Object (const std::string &name, Object *parent)
 Constructor for clones. More...
 
- Protected Member Functions inherited from RCObject
 RCObject ()
 Default constructor. More...
 
 RCObject (const RCObject &)
 Copy constructor. More...
 
virtual ~RCObject ()=0
 
RCObjectoperator= (const RCObject &right)
 
- Protected Attributes inherited from Object
bool builtin
 Built-in flag. More...
 
bool modified
 Dirty flag. More...
 
bool flagged
 Object flag. More...
 

Detailed Description

The MIGRAD command.

Definition at line 40 of file Migrad.h.

Constructor & Destructor Documentation

Migrad::Migrad ( )

Exemplar constructor.

Definition at line 49 of file Migrad.cpp.

References Physics::e, Object::itsAttr, Attributes::makeReal(), Object::registerOwnership(), and AttributeHandler::SUB_COMMAND.

Referenced by clone().

Here is the call graph for this function:

Migrad::~Migrad ( )
virtual

Definition at line 67 of file Migrad.cpp.

Migrad::Migrad ( const Migrad )
private
Migrad::Migrad ( const std::string &  name,
Migrad parent 
)
private

Definition at line 62 of file Migrad.cpp.

Member Function Documentation

Migrad * Migrad::clone ( const std::string &  name)
virtual

Make clone.

Implements Object.

Definition at line 71 of file Migrad.cpp.

References Migrad().

Here is the call graph for this function:

void Migrad::derivatives ( Vector< double > &  X,
Vector< double > &  F,
Vector< double > &  G,
Vector< double > &  G2 
)
private

Definition at line 304 of file Migrad.cpp.

References abs(), Match::block, Match::countFunctions(), Match::countVariables(), fmin, max(), Hypervolume::n, Match::setVariables(), and sqrt().

Referenced by execute().

Here is the call graph for this function:

void Migrad::execute ( )
virtual
void Migrad::forcePositiveDefinite ( Matrix< double > &  A)
private

Definition at line 674 of file Migrad.cpp.

References abs(), Match::block, Match::countVariables(), max(), Hypervolume::n, and symmetricEigen().

Referenced by execute(), and hessenberg().

Here is the call graph for this function:

void Migrad::hessenberg ( Vector< double > &  X,
Vector< double > &  F,
Matrix< double > &  V,
Vector< double > &  G,
Vector< double > &  G2 
)
private
bool Migrad::invertSymmetric ( Matrix< double > &  A)
private

Definition at line 621 of file Migrad.cpp.

References Match::block, Match::countVariables(), Hypervolume::n, and sqrt().

Referenced by execute(), and hessenberg().

Here is the call graph for this function:

MatchState Migrad::lineSearch ( Vector< double > &  X,
Vector< double > &  dX,
Vector< double > &  F,
double  tol 
)
private

Definition at line 337 of file Migrad.cpp.

References abs(), ACCURACY_LIMIT, Physics::alpha, Match::block, CONVERGED, Match::countVariables(), Match::evaluate(), FAILED, fmin, max(), min(), Hypervolume::n, and PROGRESS.

Referenced by execute().

Here is the call graph for this function:

void Migrad::operator= ( const Migrad )
private
int Migrad::symmetricEigen ( const Matrix< double > &  A,
Vector< double > &  eigen 
)
private

Definition at line 507 of file Migrad.cpp.

References abs(), Match::block, Physics::c, Match::countVariables(), max(), Hypervolume::n, pow(), and sqrt().

Referenced by forcePositiveDefinite().

Here is the call graph for this function:

Member Data Documentation

double Migrad::fmin
private

Definition at line 86 of file Migrad.h.

Referenced by derivatives(), execute(), hessenberg(), and lineSearch().


The documentation for this class was generated from the following files: