Concept

SvdTraits

Definition

The concept SvdTraits describes the set of requirements to be fulfilled by any class used to instantiate the third template parameter of the class Monge_via_jet_fitting<DataKernel,LocalKernel,SvdTraits>.

It describes the linear algebra types and algorithms needed by the class Monge_via_jet_fitting.

Requirements

The scalar type, SvdTraits::FT, must be the same as that of the LocalKernel concept : LocalKernel::FT.

Types

SvdTraits::FT
The scalar type.

SvdTraits::Vector
The vector type.

SvdTraits::Matrix
The matrix type.

Operations

SvdTraits vector ( size_t n);
initialize all the elements of the vector to zero.

The type Vector has the access methods

size_t vector.size ()
FT vector ( size_t i ) return the ith entry, i from 0 to size()-1.
void vector.set ( size_t i, const FT value)
set the ith entry to value.
FT* vector.vector () return the vector as an array.

The type Matrix has the access methods

SvdTraits matrix ( size_t n1, size_t n2);
initialize all the entries of the matrix to zero.

size_t matrix.number_of_rows ()
size_t matrix.number_of_columns ()
FT matrix ( size_t i , size_t j ) return the entry at row i and column j, i from 0 to number_of_rows - 1, j from 0 to number_of_columns - 1.
void matrix.set ( size_t i, size_t j, const FT value)
set the entry at row i and column j to value.

The concept SvdTraits has a linear solver using a singular value decomposition algorithm.

FT traits.solve ( Matrix& M, Vector& B)
Solves the system MX=B (in the least square sense if M is not square) using a singular value decomposition and returns the condition number of M. The solution is stored in B.

Has Models

Eigen_svd, Lapack_svd.

See Also

LocalKernel