27 #include "tnt/tnt_array2d.h" 119 int sparseRows = 0,
int sparseCols = 0,
bool jigsaw =
false);
121 void AddKnown(
const std::vector<double> &input,
double expected,
122 double weight = 1.0);
124 std::vector<double>
GetInput(
int row)
const;
134 double Evaluate(
const std::vector<double> &input);
137 void Weight(
int index,
double weight);
149 double GetSigma0() {
return p_sigma0; }
153 void ResetSparse() { Reset(); }
155 void SetParameterWeights(
const std::vector<double> weights) {
p_parameterWeights = weights; }
161 void SolveCholesky () {}
165 bool ApplyParameterWeights();
180 int p_currentFillRow;
arma::mat p_xSparse
sparse solution matrix
void Weight(int index, double weight)
Reset the weight for the ith known.
std::vector< double > Residuals() const
Returns a vector of residuals (errors).
void SolveSVD()
After all the data has been registered through AddKnown, invoke this method to solve the system of eq...
LeastSquares(Isis::BasisFunction &basis, bool sparse=false, int sparseRows=0, int sparseCols=0, bool jigsaw=false)
Creates a LeastSquares Object.
std::vector< double > p_epsilonsSparse
sparse vector of total parameter corrections
double Residual(int i) const
Returns the ith residual.
int Knowns() const
The number of knowns (or times AddKnown was invoked) linear combination of the variables.
int Rows() const
This methods returns the number of rows in the matrix.
std::vector< double > GetInput(int row) const
This method returns the data at the given row.
std::vector< double > p_expected
A vector of the expected values when solved.
~LeastSquares()
Destroys the LeastSquares object.
std::vector< std::vector< double > > p_input
A vector of the input variables to evaluate.
void FillSparseA(const std::vector< double > &data)
Invoke this method for each set of knowns for sparse solutions.
std::vector< double > p_parameterWeights
vector of parameter weights
Singular Value Decomposition.
double Evaluate(const std::vector< double > &input)
Invokes the BasisFunction Evaluate method.
std::vector< double > p_residuals
A vector of the residuals (or difference between expected and solved values).
double GetExpected(int row) const
This method returns the expected value at the given row.
arma::SpMat< double > p_sparseA
design matrix 'A'
Generic least square fitting class.
arma::SpMat< double > p_normals
normal equations matrix 'N'
int SolveSparse()
Solve using sparse class.
double p_sigma0
sigma nought - reference variance
void AddKnown(const std::vector< double > &input, double expected, double weight=1.0)
Invoke this method for each set of knowns.
int p_degreesOfFreedom
degrees of freedom (redundancy)
arma::mat p_ATb
right-hand side vector
Generic linear equation class.
Isis::BasisFunction * p_basis
Pointer to the BasisFunction object.
Namespace for ISIS/Bullet specific routines.
std::vector< double > p_sqrtWeight
A vector of the square roots of the weights for each known value.
arma::mat p_SLU_Factor
decomposed normal equations matrix
bool p_solved
Boolean value indicating solution is complete.
void SolveQRD()
After all the data has been registered through AddKnown, invoke this method to solve the system of eq...
int Solve(Isis::LeastSquares::SolveMethod method=SVD)
After all the data has been registered through AddKnown, invoke this method to solve the system of eq...
int p_constrainedParameters
constrained parameters