Main Page   Groups   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Concepts

vnl_svd< T > Class Template Reference

#include <vnl_svd.h>

Inheritance diagram for vnl_svd:

Inheritance graph
[legend]
Collaboration diagram for vnl_svd< T >:

Collaboration graph
[legend]
List of all members.

Public Types

typedef vnl_numeric_traits<
T >::abs_t 
singval_t

Public Methods

 vnl_svd (vnl_matrix< T > const &M, double zero_out_tol=0.0)
 ~vnl_svd ()
void zero_out_absolute (double tol=1e-8)
void zero_out_relative (double tol=1e-8)
int singularities () const
int rank () const
singval_t well_condition () const
singval_t determinant_magnitude () const
singval_t norm () const
vnl_matrix< T > & U ()
vnl_matrix< T > const & U () const
U (int i, int j)
vnl_diag_matrix< singval_t > & W ()
vnl_diag_matrix< singval_t
> const & 
W () const
vnl_diag_matrix< singval_t > & Winverse ()
vnl_diag_matrix< singval_t
> const & 
Winverse () const
singval_tW (int i, int j)
singval_tW (int i)
singval_t sigma_max () const
singval_t sigma_min () const
vnl_matrix< T > & V ()
vnl_matrix< T > const & V () const
V (int i, int j)
vnl_matrix< T > inverse () const
vnl_matrix< T > pinverse () const
vnl_matrix< T > tinverse () const
vnl_matrix< T > recompose () const
vnl_matrix< T > solve (vnl_matrix< T > const &rhs) const
vnl_vector< T > solve (vnl_vector< T > const &rhs) const
void solve (T const *rhs, T *lhs) const
void solve_preinverted (vnl_vector< T > const &rhs, vnl_vector< T > *out) const
vnl_matrix< T > nullspace () const
vnl_matrix< T > left_nullspace () const
vnl_matrix< T > nullspace (int required_nullspace_dimension) const
vnl_matrix< T > left_nullspace (int required_nullspace_dimension) const
vnl_vector< T > nullvector () const
vnl_vector< T > left_nullvector () const

Protected Methods

 vnl_svd (vnl_svd< T > const &that)
vnl_svd< T > & operator= (vnl_svd< T > const &that)

template<class T>
class vnl_svd< T >


Member Typedef Documentation

template<class T>
typedef vnl_numeric_traits<T>::abs_t vnl_svd< T >::singval_t
 

Definition at line 68 of file vnl_svd.h.


Constructor & Destructor Documentation

template<class T>
vnl_svd< T >::vnl_svd vnl_matrix< T > const &    M,
double    zero_out_tol = 0.0
 

Construct an vnl_svd<T> object from matrix . The vnl_svd<T> object contains matrices such that .

Uses linpack routine DSVDC to calculate an ``economy-size'' SVD where the returned is the same size as , while and are both . This is efficient for large rectangular solves where , typical in least squares.

The optional argument zero_out_tol is used to mark the zero singular values: If nonnegative, any s.v. smaller than zero_out_tol in absolute value is set to zero. If zero_out_tol is negative, the zeroing is relative to |zero_out_tol| * sigma_max();

template<class T>
vnl_svd< T >::~vnl_svd   [inline]
 

Definition at line 86 of file vnl_svd.h.

template<class T>
vnl_svd< T >::vnl_svd vnl_svd< T > const &    that [protected]
 


Member Function Documentation

template<class T>
singval_t vnl_svd< T >::determinant_magnitude   const
 

template<class T>
vnl_matrix<T> vnl_svd< T >::inverse   const
 

Referenced by vnl_matrix_inverse< T >::~vnl_matrix_inverse().

template<class T>
vnl_matrix<T> vnl_svd< T >::left_nullspace int    required_nullspace_dimension const
 

template<class T>
vnl_matrix<T> vnl_svd< T >::left_nullspace   const
 

template<class T>
vnl_vector<T> vnl_svd< T >::left_nullvector   const
 

template<class T>
singval_t vnl_svd< T >::norm   const
 

template<class T>
vnl_matrix<T> vnl_svd< T >::nullspace int    required_nullspace_dimension const
 

template<class T>
vnl_matrix<T> vnl_svd< T >::nullspace   const
 

template<class T>
vnl_vector<T> vnl_svd< T >::nullvector   const
 

template<class T>
vnl_svd<T>& vnl_svd< T >::operator= vnl_svd< T > const &    that [protected]
 

template<class T>
vnl_matrix<T> vnl_svd< T >::pinverse   const
 

template<class T>
int vnl_svd< T >::rank   const [inline]
 

Definition at line 92 of file vnl_svd.h.

template<class T>
vnl_matrix<T> vnl_svd< T >::recompose   const
 

template<class T>
singval_t vnl_svd< T >::sigma_max   const [inline]
 

Definition at line 111 of file vnl_svd.h.

template<class T>
singval_t vnl_svd< T >::sigma_min   const [inline]
 

Definition at line 112 of file vnl_svd.h.

template<class T>
int vnl_svd< T >::singularities   const [inline]
 

Definition at line 91 of file vnl_svd.h.

template<class T>
void vnl_svd< T >::solve T const *    rhs,
T *    lhs
const
 

template<class T>
vnl_vector<T> vnl_svd< T >::solve vnl_vector< T > const &    rhs const
 

template<class T>
vnl_matrix<T> vnl_svd< T >::solve vnl_matrix< T > const &    rhs const
 

Referenced by operator *().

template<class T>
void vnl_svd< T >::solve_preinverted vnl_vector< T > const &    rhs,
vnl_vector< T > *    out
const
 

template<class T>
vnl_matrix<T> vnl_svd< T >::tinverse   const
 

template<class T>
T vnl_svd< T >::U int    i,
int    j
[inline]
 

Definition at line 101 of file vnl_svd.h.

template<class T>
vnl_matrix<T> const& vnl_svd< T >::U   const [inline]
 

Definition at line 100 of file vnl_svd.h.

template<class T>
vnl_matrix<T>& vnl_svd< T >::U   [inline]
 

Return the matrix U and the (i,j)th entry (to avoid svd.U()(i,j); ).

Definition at line 99 of file vnl_svd.h.

template<class T>
T vnl_svd< T >::V int    i,
int    j
[inline]
 

Definition at line 118 of file vnl_svd.h.

template<class T>
vnl_matrix<T> const& vnl_svd< T >::V   const [inline]
 

Definition at line 117 of file vnl_svd.h.

template<class T>
vnl_matrix<T>& vnl_svd< T >::V   [inline]
 

Return the matrix V.

Definition at line 116 of file vnl_svd.h.

template<class T>
singval_t& vnl_svd< T >::W int    i [inline]
 

Definition at line 110 of file vnl_svd.h.

template<class T>
singval_t& vnl_svd< T >::W int    i,
int    j
[inline]
 

Definition at line 109 of file vnl_svd.h.

template<class T>
vnl_diag_matrix<singval_t> const& vnl_svd< T >::W   const [inline]
 

Definition at line 106 of file vnl_svd.h.

template<class T>
vnl_diag_matrix<singval_t>& vnl_svd< T >::W   [inline]
 

Get at DiagMatrix (q.v.) of singular values,sorted from largest to smallest.

Definition at line 105 of file vnl_svd.h.

template<class T>
singval_t vnl_svd< T >::well_condition   const [inline]
 

Definition at line 93 of file vnl_svd.h.

template<class T>
vnl_diag_matrix<singval_t> const& vnl_svd< T >::Winverse   const [inline]
 

Definition at line 108 of file vnl_svd.h.

template<class T>
vnl_diag_matrix<singval_t>& vnl_svd< T >::Winverse   [inline]
 

Definition at line 107 of file vnl_svd.h.

template<class T>
void vnl_svd< T >::zero_out_absolute double    tol = 1e-8
 

template<class T>
void vnl_svd< T >::zero_out_relative double    tol = 1e-8
 


The documentation for this class was generated from the following file:
Generated at Fri May 21 01:17:31 2004 for ITK by doxygen 1.2.15 written by Dimitri van Heesch, © 1997-2000