|
STK++ 0.9.13
|
Compute the Singular Value Decomposition of an array. More...
#include <STK_ISvd.h>

Public Member Functions | |
| Type | det () const |
| Type | trace () const |
| Type | norm () const |
| int | rank () const |
| ArrayU const & | U () const |
| ArrayV const & | V () const |
| ArrayD const & | D () const |
| virtual bool | run () |
| implement the run method | |
| template<class OtherArray > | |
| void | setData (OtherArray const &A, bool withU=true, bool withV=true) |
| Set a new data set to ISvd class. | |
| template<class OtherArray > | |
| OtherArray & | ginv (OtherArray &res) const |
| Compute the generalized inverse of the matrix and put the result in res. | |
Public Member Functions inherited from STK::IRunnerBase | |
| String const & | error () const |
| get the last error message. | |
Public Member Functions inherited from STK::IRecursiveTemplate< Derived > | |
| Derived & | asDerived () |
| static cast : return a reference of this with a cast to the derived class. | |
| Derived const & | asDerived () const |
| static cast : return a const reference of this with a cast to the derived class. | |
| Derived * | asPtrDerived () |
static cast : return a ptr on a Derived of this with a cast to the derived class. | |
| Derived const * | asPtrDerived () const |
static cast : return a ptr on a constant Derived of this with a cast to the derived class. | |
| Derived * | clone () const |
| create a leaf using the copy constructor of the Derived class. | |
| Derived * | clone (bool isRef) const |
| create a leaf using the copy constructor of the Derived class and a flag determining if the clone is a reference or not. | |
Protected Types | |
| typedef hidden::AlgebraTraits< Derived >::ArrayU | ArrayU |
| typedef hidden::AlgebraTraits< Derived >::ArrayD | ArrayD |
| typedef hidden::AlgebraTraits< Derived >::ArrayV | ArrayV |
| typedef ArrayU::Type | Type |
Protected Member Functions | |
| ISvd (ArrayU const &A, bool ref, bool withU=true, bool withV=true) | |
| Default constructor. | |
| template<class OtherDerived > | |
| ISvd (ArrayBase< OtherDerived > const &A, bool withU=true, bool withV=true) | |
| constructor with other kind of array/expression | |
| ISvd (ISvd const &S) | |
| Copy Constructor. | |
| virtual | ~ISvd () |
| destructor. | |
| ISvd & | operator= (const ISvd &S) |
| Operator = : overwrite the ISvd with S. | |
| virtual void | finalize () |
| Finalize any operations that have to be done after the computation of the decomposition. | |
| int | nrowU () const |
| int | ncolU () const |
| int | nrowD () const |
| int | ncolD () const |
| int | nrowV () const |
| int | ncolV () const |
Protected Member Functions inherited from STK::IRunnerBase | |
| IRunnerBase () | |
| default constructor | |
| IRunnerBase (IRunnerBase const &runner) | |
| copy constructor | |
| virtual | ~IRunnerBase () |
| destructor | |
| virtual void | update () |
| update the runner. | |
Protected Member Functions inherited from STK::IRecursiveTemplate< Derived > | |
| IRecursiveTemplate () | |
| constructor. | |
| ~IRecursiveTemplate () | |
| destructor. | |
Protected Attributes | |
| ArrayU | U_ |
| U_ matrix. | |
| ArrayV | V_ |
| V_ matrix. | |
| ArrayD | D_ |
| Diagonal array of the singular values. | |
| bool | withU_ |
| Compute U_ ? | |
| bool | withV_ |
| Compute V_ ? | |
| Type | norm_ |
| trace norm | |
| int | rank_ |
| rank | |
| Type | trace_ |
| trace norm | |
| Type | det_ |
| determinant | |
Protected Attributes inherited from STK::IRunnerBase | |
| String | msg_error_ |
| String with the last error message. | |
| bool | hasRun_ |
true if run has been used, false otherwise | |
Compute the Singular Value Decomposition of an array.
The method take as:
Definition at line 60 of file STK_ISvd.h.
|
protected |
Definition at line 64 of file STK_ISvd.h.
|
protected |
Definition at line 63 of file STK_ISvd.h.
|
protected |
Definition at line 65 of file STK_ISvd.h.
Definition at line 66 of file STK_ISvd.h.
|
inlineprotected |
Default constructor.
| A | the matrix to decompose. |
| ref | if true, U_ is a reference of A. |
| withU | if true save the left Householder transforms in U_. |
| withV | if true save the right Householder transforms in V_. |
Definition at line 74 of file STK_ISvd.h.
|
inlineprotected |
constructor with other kind of array/expression
| A | the matrix/expression to decompose. |
| withU | if true save the left Householder transforms in U_. |
| withV | if true save the right Householder transforms in V_. |
Definition at line 84 of file STK_ISvd.h.
Definition at line 152 of file STK_ISvd.h.
References STK::ISvd< Derived >::D_.
Referenced by main().
Definition at line 140 of file STK_ISvd.h.
References STK::ISvd< Derived >::det_.
Referenced by STK::hidden::InvertMatrixImpl< Matrix, Size_ >::invertMatrixXX().
Finalize any operations that have to be done after the computation of the decomposition.
Definition at line 111 of file STK_ISvd.h.
References STK::ISvd< Derived >::D_, STK::ISvd< Derived >::det_, STK::ISvd< Derived >::norm_, STK::ISvd< Derived >::rank_, STK::sign(), and STK::ISvd< Derived >::trace_.
Referenced by STK::ISvd< Derived >::run().
| OtherArray & STK::ISvd< Derived >::ginv | ( | OtherArray & | res | ) | const |
Compute the generalized inverse of the matrix and put the result in res.
| res | array with the result |
Definition at line 227 of file STK_ISvd.h.
Referenced by STK::hidden::InvertMatrixImpl< Matrix, Size_ >::invertMatrixXX().
Definition at line 214 of file STK_ISvd.h.
References STK::ISvd< Derived >::D_.
Definition at line 210 of file STK_ISvd.h.
References STK::ISvd< Derived >::U_.
Definition at line 218 of file STK_ISvd.h.
References STK::ISvd< Derived >::V_.
Definition at line 144 of file STK_ISvd.h.
References STK::ISvd< Derived >::norm_.
Definition at line 212 of file STK_ISvd.h.
References STK::ISvd< Derived >::D_.
Definition at line 208 of file STK_ISvd.h.
References STK::ISvd< Derived >::U_.
Definition at line 216 of file STK_ISvd.h.
References STK::ISvd< Derived >::V_.
|
inlineprotected |
Operator = : overwrite the ISvd with S.
| S | the Svd to copy |
Definition at line 101 of file STK_ISvd.h.
References STK::ISvd< Derived >::D_, STK::ISvd< Derived >::det_, STK::ISvd< Derived >::norm_, STK::ISvd< Derived >::rank_, STK::ISvd< Derived >::trace_, STK::ISvd< Derived >::U_, STK::ISvd< Derived >::V_, STK::ISvd< Derived >::withU_, and STK::ISvd< Derived >::withV_.
Definition at line 146 of file STK_ISvd.h.
References STK::ISvd< Derived >::rank_.
implement the run method
Implements STK::IRunnerBase.
Reimplemented in STK::WeightedSvd< Array, WRows, WCols >.
Definition at line 155 of file STK_ISvd.h.
References STK::IRecursiveTemplate< Derived >::asDerived(), STK::ISvd< Derived >::finalize(), and STK::ISvd< Derived >::U_.
Referenced by STK::hidden::InvertMatrixImpl< Matrix, Size_ >::invertMatrixXX(), main(), and STK::WeightedSvd< Array, WRows, WCols >::run().
|
inline |
Set a new data set to ISvd class.
| A | is the matrix to decompose. |
| withU | if true, we save the left Housolder transforms in U_. |
| withV | if true, we save the right Housolder transforms in V_. |
Definition at line 173 of file STK_ISvd.h.
References STK::ISvd< Derived >::D_, STK::ISvd< Derived >::U_, STK::ISvd< Derived >::V_, STK::ISvd< Derived >::withU_, and STK::ISvd< Derived >::withV_.
Definition at line 142 of file STK_ISvd.h.
References STK::ISvd< Derived >::trace_.
Definition at line 148 of file STK_ISvd.h.
References STK::ISvd< Derived >::U_.
Referenced by main().
Definition at line 150 of file STK_ISvd.h.
References STK::ISvd< Derived >::V_.
Referenced by main().
Diagonal array of the singular values.
Definition at line 193 of file STK_ISvd.h.
Referenced by STK::ISvd< Derived >::D(), STK::ISvd< Derived >::finalize(), STK::ISvd< Derived >::ncolD(), STK::ISvd< Derived >::nrowD(), STK::ISvd< Derived >::operator=(), and STK::ISvd< Derived >::setData().
determinant
Definition at line 205 of file STK_ISvd.h.
Referenced by STK::ISvd< Derived >::det(), STK::ISvd< Derived >::finalize(), and STK::ISvd< Derived >::operator=().
trace norm
Definition at line 199 of file STK_ISvd.h.
Referenced by STK::ISvd< Derived >::finalize(), STK::ISvd< Derived >::norm(), and STK::ISvd< Derived >::operator=().
rank
Definition at line 201 of file STK_ISvd.h.
Referenced by STK::ISvd< Derived >::finalize(), STK::ISvd< Derived >::operator=(), and STK::ISvd< Derived >::rank().
trace norm
Definition at line 203 of file STK_ISvd.h.
Referenced by STK::ISvd< Derived >::finalize(), STK::ISvd< Derived >::operator=(), and STK::ISvd< Derived >::trace().
U_ matrix.
Definition at line 189 of file STK_ISvd.h.
Referenced by STK::ISvd< Derived >::ncolU(), STK::ISvd< Derived >::nrowU(), STK::ISvd< Derived >::operator=(), STK::ISvd< Derived >::run(), STK::ISvd< Derived >::setData(), and STK::ISvd< Derived >::U().
V_ matrix.
Definition at line 191 of file STK_ISvd.h.
Referenced by STK::ISvd< Derived >::ncolV(), STK::ISvd< Derived >::nrowV(), STK::ISvd< Derived >::operator=(), STK::ISvd< Derived >::setData(), and STK::ISvd< Derived >::V().
Compute U_ ?
Definition at line 195 of file STK_ISvd.h.
Referenced by STK::ISvd< Derived >::operator=(), and STK::ISvd< Derived >::setData().
Compute V_ ?
Definition at line 197 of file STK_ISvd.h.
Referenced by STK::ISvd< Derived >::operator=(), and STK::ISvd< Derived >::setData().