LTL  2.0.x
Static Public Member Functions | List of all members
ltl::LUDecomposition< T, N > Class Template Reference

Static Public Member Functions

static FVector< T, N > solve (FMatrix< T, N, N > A, FVector< T, N > b)
 
static FMatrix< T, N, N > solve (FMatrix< T, N, N > A, FMatrix< T, N, N > &B)
 
static FMatrix< T, N, N > invert (FMatrix< T, N, N > A)
 

Static Protected Member Functions

static void ludcmp (FMatrix< T, N, N > &A, FVector< int, N > &Index)
 
static void lubksb (const FMatrix< T, N, N > &A, const FVector< int, N > &Index, FVector< T, N > &B)
 

Detailed Description

template<typename T, int N>
class ltl::LUDecomposition< T, N >

Solve the linear system of equations A x = b using LU decomposition.

Member Function Documentation

template<typename T , int N>
static FVector<T,N> ltl::LUDecomposition< T, N >::solve ( FMatrix< T, N, N >  A,
FVector< T, N >  b 
)
inlinestatic

Solve the linear system of equations A x = b using LU decomposition. The solution vector x is returned.

References ltl::LUDecomposition< T, N >::lubksb(), and ltl::LUDecomposition< T, N >::ludcmp().

Referenced by ltl::LUDecomposition< T, N >::invert(), and ltl::LUDecomposition< T, N >::solve().

template<typename T , int N>
static FMatrix<T,N,N> ltl::LUDecomposition< T, N >::solve ( FMatrix< T, N, N >  A,
FMatrix< T, N, N > &  B 
)
inlinestatic

Solve the linear system of equations A x = b using LU decomposition for each column of the matrix b. The result vectors x are returned as columns of a matrix X.

References ltl::FMatrix< T, M, N >::col(), and ltl::LUDecomposition< T, N >::solve().

template<typename T , int N>
static FMatrix<T,N,N> ltl::LUDecomposition< T, N >::invert ( FMatrix< T, N, N >  A)
inlinestatic

Invert the matrix A using LU decomposition.

References ltl::LUDecomposition< T, N >::solve(), and ltl::FMatrix< T, M, N >::traceVector().

template<typename T , int N>
void ltl::LUDecomposition< T, N >::ludcmp ( FMatrix< T, N, N > &  A,
FVector< int, N > &  Index 
)
staticprotected

References ltl::sum(), and ZERO.

Referenced by ltl::LUDecomposition< T, N >::solve().

template<typename T , int N>
void ltl::LUDecomposition< T, N >::lubksb ( const FMatrix< T, N, N > &  A,
const FVector< int, N > &  Index,
FVector< T, N > &  B 
)
staticprotected