core/vnl/vnl_inverse.h File Reference


Detailed Description

Calculates inverse of a small vnl_matrix_fixed (not using svd).

Author:
Peter Vanroose
Date:
22 October 2002
    Modifications
     19 April 2003 - PVr - added interface for vnl_matrix<T>
     19 April 2004 - PVr - made 4x4 implementation a bit more robust (but still incomplete)
     18 June  2004 - PVr - finally completed 4x4 implementation
     19 June  2004 - PVr - added vnl_inverse_transpose() methods
   

Definition in file vnl_inverse.h.

#include <vnl/vnl_matrix_fixed.h>
#include <vnl/vnl_matrix.h>
#include <vnl/vnl_det.h>
#include <vcl_cassert.h>

Go to the source code of this file.


Functions

template<class T>
vnl_matrix_fixed< T, 1, 1 > vnl_inverse (vnl_matrix_fixed< T, 1, 1 > const &m)
 Calculates inverse of a small vnl_matrix_fixed (not using svd).
template<class T>
vnl_matrix_fixed< T, 2, 2 > vnl_inverse (vnl_matrix_fixed< T, 2, 2 > const &m)
template<class T>
vnl_matrix_fixed< T, 3, 3 > vnl_inverse (vnl_matrix_fixed< T, 3, 3 > const &m)
template<class T>
vnl_matrix_fixed< T, 4, 4 > vnl_inverse (vnl_matrix_fixed< T, 4, 4 > const &m)
template<class T>
vnl_matrix< T > vnl_inverse (vnl_matrix< T > const &m)
template<class T>
vnl_matrix_fixed< T, 1, 1 > vnl_inverse_transpose (vnl_matrix_fixed< T, 1, 1 > const &m)
 Calculates transpose of the inverse of a small vnl_matrix_fixed (not using svd).
template<class T>
vnl_matrix_fixed< T, 2, 2 > vnl_inverse_transpose (vnl_matrix_fixed< T, 2, 2 > const &m)
template<class T>
vnl_matrix_fixed< T, 3, 3 > vnl_inverse_transpose (vnl_matrix_fixed< T, 3, 3 > const &m)
template<class T>
vnl_matrix_fixed< T, 4, 4 > vnl_inverse_transpose (vnl_matrix_fixed< T, 4, 4 > const &m)
template<class T>
vnl_matrix< T > vnl_inverse_transpose (vnl_matrix< T > const &m)

Function Documentation

template<class T>
vnl_matrix<T> vnl_inverse ( vnl_matrix< T > const &  m  ) 

Definition at line 121 of file vnl_inverse.h.

template<class T>
vnl_matrix_fixed<T,4,4> vnl_inverse ( vnl_matrix_fixed< T, 4, 4 > const &  m  ) 

Definition at line 76 of file vnl_inverse.h.

template<class T>
vnl_matrix_fixed<T,3,3> vnl_inverse ( vnl_matrix_fixed< T, 3, 3 > const &  m  ) 

Definition at line 54 of file vnl_inverse.h.

template<class T>
vnl_matrix_fixed<T,2,2> vnl_inverse ( vnl_matrix_fixed< T, 2, 2 > const &  m  ) 

Definition at line 39 of file vnl_inverse.h.

template<class T>
vnl_matrix_fixed<T,1,1> vnl_inverse ( vnl_matrix_fixed< T, 1, 1 > const &  m  ) 

Calculates inverse of a small vnl_matrix_fixed (not using svd).

This allows you to write e.g.

x = vnl_inverse(A) * b;

Note that this function is inlined (except for the call to vnl_det()), which makes it much faster than the vnl_matrix_inverse class in vnl/algo since that one is using svd.

Definition at line 33 of file vnl_inverse.h.

template<class T>
vnl_matrix<T> vnl_inverse_transpose ( vnl_matrix< T > const &  m  ) 

Definition at line 235 of file vnl_inverse.h.

template<class T>
vnl_matrix_fixed<T,4,4> vnl_inverse_transpose ( vnl_matrix_fixed< T, 4, 4 > const &  m  ) 

Definition at line 190 of file vnl_inverse.h.

template<class T>
vnl_matrix_fixed<T,3,3> vnl_inverse_transpose ( vnl_matrix_fixed< T, 3, 3 > const &  m  ) 

Definition at line 168 of file vnl_inverse.h.

template<class T>
vnl_matrix_fixed<T,2,2> vnl_inverse_transpose ( vnl_matrix_fixed< T, 2, 2 > const &  m  ) 

Definition at line 153 of file vnl_inverse.h.

template<class T>
vnl_matrix_fixed<T,1,1> vnl_inverse_transpose ( vnl_matrix_fixed< T, 1, 1 > const &  m  ) 

Calculates transpose of the inverse of a small vnl_matrix_fixed (not using svd).

This allows you to write e.g.

x = vnl_inverse_transpose(A) * b;

Note that this function is inlined (except for the call to vnl_det()), which makes it much faster than the vnl_matrix_inverse class in vnl/algo since that one is using svd. This is also faster than using

x = vnl_inverse(A).transpose() * b;

Definition at line 147 of file vnl_inverse.h.


Generated on Sat Nov 22 05:06:24 2008 for core/vnl by  doxygen 1.5.1