|
| WLS (int size=0) |
| Default constructor or construct with the number of dimensions for the Dynamic case.
|
|
void | clear () |
| Clear all the measurements and apply a constant regularisation term.
|
|
void | add_prior (Precision val) |
| Applies a constant regularisation term. More...
|
|
template<class B2 > |
void | add_prior (const Vector< Size, Precision, B2 > &v) |
| Applies a regularisation term with a different strength for each parameter value. More...
|
|
template<class B2 > |
void | add_prior (const Matrix< Size, Size, Precision, B2 > &m) |
| Applies a whole-matrix regularisation term. More...
|
|
template<class B2 , class P2 > |
void | add_mJ (Precision m, const Vector< Size, P2, B2 > &J, Precision weight=1) |
| Add a single measurement. More...
|
|
template<class VB , int S2, class B2 > |
void | add_mJ (const Vector< S2, Precision, VB > &m, const Matrix< S2, Size, Precision, B2 > &J, Precision weight=1) |
| Add a several measurements measurement. More...
|
|
template<int N, class B1 , class B2 , class B3 > |
void | add_mJ (const Vector< N, Precision, B1 > &m, const Matrix< Size, N, Precision, B2 > &J, const Matrix< N, N, Precision, B3 > &invcov) |
| Add multiple measurements at once (much more efficiently) More...
|
|
template<int N, class B1 , class B2 , class B3 > |
void | add_mJ_rows (const Vector< N, Precision, B1 > &m, const Matrix< N, Size, Precision, B2 > &J, const Matrix< N, N, Precision, B3 > &invcov) |
| Add multiple measurements at once (much more efficiently) More...
|
|
template<int N, typename B1 > |
void | add_sparse_mJ (const Precision m, const Vector< N, Precision, B1 > &J1, const int index1, const Precision weight=1) |
| Add a single measurement at once with a sparse Jacobian (much, much more efficiently) More...
|
|
template<int N, int S1, class P1 , class P2 , class P3 , class B1 , class B2 , class B3 > |
void | add_sparse_mJ_rows (const Vector< N, P1, B1 > &m, const Matrix< N, S1, P2, B2 > &J1, const int index1, const Matrix< N, N, P3, B3 > &invcov) |
| Add multiple measurements at once with a sparse Jacobian (much, much more efficiently) More...
|
|
template<int N, int S1, int S2, class B1 , class B2 , class B3 , class B4 > |
void | add_sparse_mJ_rows (const Vector< N, Precision, B1 > &m, const Matrix< N, S1, Precision, B2 > &J1, const int index1, const Matrix< N, S2, Precision, B3 > &J2, const int index2, const Matrix< N, N, Precision, B4 > &invcov) |
| Add multiple measurements at once with a sparse Jacobian (much, much more efficiently) More...
|
|
void | compute () |
| Process all the measurements and compute the weighted least squares set of parameter values stores the result internally which can then be accessed by calling get_mu()
|
|
void | operator+= (const WLS &meas) |
| Combine measurements from two WLS systems. More...
|
|
Matrix< Size, Size, Precision > & | get_C_inv () |
| Returns the inverse covariance matrix.
|
|
const Matrix< Size, Size, Precision > & | get_C_inv () const |
| Returns the inverse covariance matrix.
|
|
Vector< Size, Precision > & | get_mu () |
| Returns the update. With no prior, this is the result of \(J^\dagger e\).
|
|
const Vector< Size, Precision > & | get_mu () const |
| Returns the update. With no prior, this is the result of \(J^\dagger e\).
|
|
Vector< Size, Precision > & | get_vector () |
| Returns the vector \(J^{\mathsf T} e\).
|
|
const Vector< Size, Precision > & | get_vector () const |
| Returns the vector \(J^{\mathsf T} e\).
|
|
Decomposition< Size, Precision > & | get_decomposition () |
| Return the decomposition object used to compute \((J^{\mathsf T} J + P)^{-1}\).
|
|
const Decomposition< Size, Precision > & | get_decomposition () const |
| Return the decomposition object used to compute \((J^{\mathsf T} J + P)^{-1}\).
|
|
template<int Size = Dynamic, class Precision = DefaultPrecision, template< int DecompSize, class DecompPrecision > class Decomposition = Cholesky>
class TooN::WLS< Size, Precision, Decomposition >
Performs Gauss-Newton weighted least squares computation.
- Parameters
-
Size | The number of dimensions in the system |
Precision | The numerical precision used (double, float etc) |
Decomposition | The class used to invert the inverse Covariance matrix (must have one integer size and one typename precision template arguments) this is Cholesky by default, but could also be SQSVD |