Functions
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 <cassert>
#include "vnl/vnl_export.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). More...
 
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). More...
 
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). More...
 
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). More...
 
template<class T >
vnl_matrix< T > vnl_inverse (vnl_matrix< T > const &m)
 Calculates inverse of a small vnl_matrix_fixed (not using svd). More...
 
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). More...
 
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). More...
 
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). More...
 
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). More...
 
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). More...
 

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

◆ vnl_inverse() [1/5]

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

◆ vnl_inverse() [2/5]

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

◆ vnl_inverse() [3/5]

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

◆ vnl_inverse() [4/5]

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

◆ vnl_inverse() [5/5]

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

◆ vnl_inverse_transpose() [1/5]

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

◆ vnl_inverse_transpose() [2/5]

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

◆ vnl_inverse_transpose() [3/5]

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

◆ vnl_inverse_transpose() [4/5]

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

◆ vnl_inverse_transpose() [5/5]

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