Functions
core/vnl/vnl_inverse.h File Reference

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

#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)
 Calculates inverse of a small vnl_matrix_fixed (not using svd).
template<class T >
vnl_matrix_fixed< T, 3, 3 > vnl_inverse (vnl_matrix_fixed< T, 3, 3 > const &m)
 Calculates inverse of a small vnl_matrix_fixed (not using svd).
template<class T >
vnl_matrix_fixed< T, 4, 4 > vnl_inverse (vnl_matrix_fixed< T, 4, 4 > const &m)
 Calculates inverse of a small vnl_matrix_fixed (not using svd).
template<class T >
vnl_matrix< T > vnl_inverse (vnl_matrix< T > const &m)
 Calculates inverse of a small vnl_matrix_fixed (not using svd).
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)
 Calculates transpose of the inverse of a small vnl_matrix_fixed (not using svd).
template<class T >
vnl_matrix_fixed< T, 3, 3 > vnl_inverse_transpose (vnl_matrix_fixed< T, 3, 3 > const &m)
 Calculates transpose of the inverse of a small vnl_matrix_fixed (not using svd).
template<class T >
vnl_matrix_fixed< T, 4, 4 > vnl_inverse_transpose (vnl_matrix_fixed< T, 4, 4 > const &m)
 Calculates transpose of the inverse of a small vnl_matrix_fixed (not using svd).
template<class T >
vnl_matrix< T > vnl_inverse_transpose (vnl_matrix< T > const &m)
 Calculates transpose of the inverse of a small vnl_matrix_fixed (not using svd).

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.


Function Documentation

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 35 of file vnl_inverse.h.

template<class T >
vnl_matrix_fixed< T, 2, 2 > vnl_inverse ( vnl_matrix_fixed< T, 2, 2 > 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 52 of file vnl_inverse.h.

template<class T >
vnl_matrix_fixed< T, 3, 3 > vnl_inverse ( vnl_matrix_fixed< T, 3, 3 > 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 78 of file vnl_inverse.h.

template<class T >
vnl_matrix_fixed< T, 4, 4 > vnl_inverse ( vnl_matrix_fixed< T, 4, 4 > 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 111 of file vnl_inverse.h.

template<class T >
vnl_matrix< T > vnl_inverse ( vnl_matrix< T > 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 167 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 195 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)

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 214 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)

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 242 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)

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 277 of file vnl_inverse.h.

template<class T >
vnl_matrix< T > vnl_inverse_transpose ( vnl_matrix< T > 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 335 of file vnl_inverse.h.