SMILE
v2.5
Schwarzschild Modelling Interactive expLoratory Environment
|
Base class for Schwarzschild Modelling driver objects. More...
#include <schwarzschild.h>
Public Types | |
enum | MODELTYPE { SM_LINEAR, SM_QUADRATIC } |
Public Member Functions | |
CBasicSchwModel (COrbitLibrary *_orbits, const vectorSchwData &_data) | |
constructors of descendant classes would also take a pointer to some kind of solver as a parameter | |
virtual std::string | performModelling ()=0 |
perform the actual work, and return statistical information on success or error description on failure | |
virtual std::string | getStatistics () const =0 |
computes and returns statistical information. More... | |
virtual size_t | numVariables () const =0 |
total number of variables in the linear matrix (number of orbits plus slack variables, etc) | |
virtual size_t | numConstraints () const =0 |
total number of constraints in the linear matrix (in all data objects plus anything else) | |
virtual smNumType | getLinearMatrixElem (size_t i1, size_t i2) const =0 |
return the elements of linear constraint matrix to pass to the solver through a separately defined matrix interface object | |
Protected Attributes | |
COrbitLibrary * | orbits |
pointer to the orbit library | |
vectorSchwData | data |
array of pointers to Schwarzschild data objects (which contain various constraints in the model) | |
Base class for Schwarzschild Modelling driver objects.
It takes the set of constraints to be satisfied in some way (exactly or approximately, with suitably defined penalties for violating them) from an array of Schwarschild Data objects, and an orbit library in which each orbit must have the same set of Schwarzschild information objects corresponding to data objects.
The performModelling() method then creates an optimization problem in some way (e.g. a quadratic optimization one) and passes it to the instance of a solver supplied when the model is constructed.
|
pure virtual |
computes and returns statistical information.
The information returned may describe, e.g. how much the model differs from data, etc. Uses existing Schwarzschild data and orbit weights, without re-doing modelling.
Implemented in smile::CSchwModelQuadOpt.