CVR-Lib last update 20 Sep 2009

cvr::minimizeBasis Class Reference
[Linear Algebra]

Functor for the minimization of a basis. More...

#include <cvrMinimizeBasis.h>

Inheritance diagram for cvr::minimizeBasis:

Inheritance graph
[legend]
Collaboration diagram for cvr::minimizeBasis:

Collaboration graph
[legend]

List of all members.

Classes

class  parameters
 The parameters for the class minimizeBasis. More...

Public Types

enum  eDeviationType { Element, Vector, Matrix }

Public Member Functions

 minimizeBasis ()
 minimizeBasis (const parameters &par)
 minimizeBasis (const minimizeBasis &other)
virtual ~minimizeBasis ()
template<typename T >
bool apply (const matrix< T > &testVectors, matrix< T > &newBasis, matrix< T > &factors) const
minimizeBasiscopy (const minimizeBasis &other)
minimizeBasisoperator= (const minimizeBasis &other)
const std::string & name () const
virtual minimizeBasisclone () const
virtual minimizeBasisnewInstance () const
const parametersgetParameters () const

Protected Member Functions

template<typename T >
computeError (const eDeviationType &deviation, const matrix< T > &shouldBe, const matrix< T > &current) const


Detailed Description

Functor for the minimization of a basis.

This functor generates a minimum number of basis vectors to approximate a given set of vectors within a given deviation.

There is a Fast and an Exact method of computing the minimized basis. Normally the Exact method should be used, because it does not only compute the exact solution and the smallest basis, but may even be faster than the "Fast" method. The "Fast" method is not exact and may return a basis which is larger than necessary.


Member Enumeration Documentation

Enumeration of deviation types.

Enumerator:
Element  the elements of the approximating vectors must not deviate more than maxDeviation
Vector  the l2VectorNorm of deviation vector between the approximated vector must not be larger than maxDeviation
Matrix  the l2MatrixNorm of the difference matrix between the approximating and the approximated set of vectors must not be larger than maxDeviation


Constructor & Destructor Documentation

cvr::minimizeBasis::minimizeBasis (  ) 

Default constructor.

cvr::minimizeBasis::minimizeBasis ( const parameters par  ) 

Construct a functor using the given parameters.

cvr::minimizeBasis::minimizeBasis ( const minimizeBasis other  ) 

Copy constructor.

Parameters:
other the object to be copied

virtual cvr::minimizeBasis::~minimizeBasis (  )  [virtual]

Destructor.


Member Function Documentation

template<typename T >
bool cvr::minimizeBasis::apply ( const matrix< T > &  testVectors,
matrix< T > &  newBasis,
matrix< T > &  factors 
) const [inline]

Operates on the given parameter.

Parameters:
testVectors the rows of this matrix should contain the vectors to be approximated
newBasis the columns of this matrix will contain the new basis vectors
factors the rows of this matrix will contain the factors to multiply the new basis vectors by to approximate the testVectors
Returns:
true if apply successful or false otherwise.

virtual minimizeBasis* cvr::minimizeBasis::clone (  )  const [virtual]

Returns a pointer to a clone of this functor.

Implements cvr::functor.

template<typename T >
T cvr::minimizeBasis::computeError ( const eDeviationType deviation,
const matrix< T > &  shouldBe,
const matrix< T > &  current 
) const [inline, protected]

Compute error depending on the given deviation type.

minimizeBasis& cvr::minimizeBasis::copy ( const minimizeBasis other  ) 

Copy data of "other" functor.

Parameters:
other the functor to be copied
Returns:
a reference to this functor object

const parameters& cvr::minimizeBasis::getParameters (  )  const

Returns used parameters.

Reimplemented from cvr::linearAlgebraFunctor.

const std::string& cvr::minimizeBasis::name (  )  const [virtual]

Returns the name of this class.

Implements cvr::functor.

virtual minimizeBasis* cvr::minimizeBasis::newInstance (  )  const [virtual]

Returns a pointer to a new instance of this functor.

Implements cvr::functor.

minimizeBasis& cvr::minimizeBasis::operator= ( const minimizeBasis other  ) 

Alias for copy member.

Parameters:
other the functor to be copied
Returns:
a reference to this functor object


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

Generated on Sun Sep 20 22:09:00 2009 for CVR-Lib by Doxygen 1.5.8