Defines | Functions
core/vnl/algo/vnl_determinant.h File Reference

calculates the determinant of a matrix More...

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

Go to the source code of this file.

Defines

#define VNL_DETERMINANT_INSTANTIATE(T)   extern "you must include vnl/algo/vnl_determinant.txx first"

Functions

template<class T >
vnl_determinant (T const *row0, T const *row1)
 direct evaluation for 2x2 matrix.
template<class T >
vnl_determinant (T const *row0, T const *row1, T const *row2)
 direct evaluation for 3x3 matrix.
template<class T >
vnl_determinant (T const *row0, T const *row1, T const *row2, T const *row3)
 direct evaluation for 4x4 matrix.
int vnl_determinant (vnl_matrix< int > const &M, bool balance=false)
template<class T >
vnl_determinant (vnl_matrix< T > const &M, bool balance=false)
 evaluation using direct methods for sizes of 2x2, 3x3, and 4x4 or qr decomposition for other matrices.
template<class T , unsigned m, unsigned n>
vnl_determinant (vnl_matrix_fixed< T, m, n > const &M, bool balance=false)
 evaluation using direct methods for sizes of 2x2, 3x3, and 4x4 or qr decomposition for other matrices.

Detailed Description

calculates the determinant of a matrix

Author:
fsm

Evaluation of determinants of any size. For small matrices, will use the direct routines (no netlib) but for larger matrices, a matrix decomposition such as SVD or QR will be used.

    Modifications
     dac (Manchester) 26/03/2001: tidied up documentation
     Feb.2002 - Peter Vanroose - brief doxygen comment placed on single line
     Sep.2003 - Peter Vanroose - specialisation for int added
   

Definition in file vnl_determinant.h.


Define Documentation

#define VNL_DETERMINANT_INSTANTIATE (   T)    extern "you must include vnl/algo/vnl_determinant.txx first"

Definition at line 60 of file vnl_determinant.h.


Function Documentation

template<class T >
T vnl_determinant ( T const *  row0,
T const *  row1 
)

direct evaluation for 2x2 matrix.

Definition at line 13 of file vnl_determinant.txx.

template<class T >
T vnl_determinant ( T const *  row0,
T const *  row1,
T const *  row2 
)

direct evaluation for 3x3 matrix.

Definition at line 19 of file vnl_determinant.txx.

template<class T >
T vnl_determinant ( T const *  row0,
T const *  row1,
T const *  row2,
T const *  row3 
)

direct evaluation for 4x4 matrix.

Definition at line 31 of file vnl_determinant.txx.

int vnl_determinant ( vnl_matrix< int > const &  M,
bool  balance = false 
)

Definition at line 4 of file vnl_determinant.cxx.

template<class T >
T vnl_determinant ( vnl_matrix< T > const &  M,
bool  balance = false 
)

evaluation using direct methods for sizes of 2x2, 3x3, and 4x4 or qr decomposition for other matrices.

Definition at line 63 of file vnl_determinant.txx.

template<class T , unsigned m, unsigned n>
T vnl_determinant ( vnl_matrix_fixed< T, m, n > const &  M,
bool  balance = false 
) [inline]

evaluation using direct methods for sizes of 2x2, 3x3, and 4x4 or qr decomposition for other matrices.

convenience overload from vnl_matrix<T> variant

Definition at line 54 of file vnl_determinant.h.