Solve equation via Gauss-Jordan inversion or just do a Gauss-Jordan inversion. More...
Solve equation via Gauss-Jordan inversion or just do a Gauss-Jordan inversion.
static void ltl::GaussJ< T, N >::getPivot | ( | const FMatrix< T, N, N > & | a, | |
FVector< int, N > & | ipiv, | |||
tNMatPivot< T > & | p | |||
) | [inline, static, protected] |
References ltl::GaussJ< T, N >::eval().
Referenced by ltl::GaussJ< T, N >::eval(), ltl::GaussJ< T, N >::invert(), and ltl::GaussJ< T, N >::solve().
static void ltl::GaussJ< T, N >::swapRows | ( | FMatrix< T, N, N > & | a, | |
FVector< T, N > & | b, | |||
tNMatPivot< T > & | p | |||
) | [inline, static, protected] |
References ltl::FMatrix< T, M, N >::swapRows().
Referenced by ltl::GaussJ< T, N >::eval(), and ltl::GaussJ< T, N >::solve().
static void ltl::GaussJ< T, N >::divByPiv | ( | FMatrix< T, N, N > & | a, | |
const tNMatPivot< T > & | p | |||
) | [inline, static, protected] |
References ltl::FMatrix< T, M, N >::row().
Referenced by ltl::GaussJ< T, N >::eval(), ltl::GaussJ< T, N >::invert(), and ltl::GaussJ< T, N >::solve().
static void ltl::GaussJ< T, N >::divByPiv | ( | FMatrix< T, N, N > & | a, | |
FVector< T, N > & | b, | |||
const tNMatPivot< T > & | p | |||
) | [inline, static, protected] |
References ltl::FMatrix< T, M, N >::row().
static void ltl::GaussJ< T, N >::elimRow | ( | FMatrix< T, N, N > & | a, | |
const tNMatPivot< T > & | p | |||
) | [inline, static, protected] |
References ltl::GaussJ< T, N >::eval().
Referenced by ltl::GaussJ< T, N >::eval(), ltl::GaussJ< T, N >::invert(), and ltl::GaussJ< T, N >::solve().
static void ltl::GaussJ< T, N >::elimRow | ( | FMatrix< T, N, N > & | a, | |
FVector< T, N > & | b, | |||
const tNMatPivot< T > & | p | |||
) | [inline, static, protected] |
References ltl::GaussJ< T, N >::eval().
static FMatrix<T, N, N> ltl::GaussJ< T, N >::invert | ( | FMatrix< T, N, N > | a | ) | [inline, static] |
invert Matrix, similar to eval() but without solving a linear equation
References ltl::GaussJ< T, N >::divByPiv(), ltl::GaussJ< T, N >::elimRow(), ltl::GaussJ< T, N >::eval(), ltl::GaussJ< T, N >::getPivot(), and ltl::FMatrix< T, M, N >::swapRows().
static FVector<T, N> ltl::GaussJ< T, N >::solve | ( | FMatrix< T, N, N > | a, | |
FVector< T, N > | b | |||
) | [inline, static] |
Return the solution vector x
for the equation A x = b
.
References ltl::GaussJ< T, N >::divByPiv(), ltl::GaussJ< T, N >::elimRow(), ltl::GaussJ< T, N >::getPivot(), and ltl::GaussJ< T, N >::swapRows().
static void ltl::GaussJ< T, N >::eval | ( | FMatrix< T, N, N > & | a, | |
FVector< T, N > & | b | |||
) | [inline, static] |
Solve A x = B
by Gauss-Jordan elimination. b is replaced by the solution x, A is replaced by its inverse.
References ltl::GaussJ< T, N >::divByPiv(), ltl::GaussJ< T, N >::elimRow(), ltl::GaussJ< T, N >::getPivot(), and ltl::GaussJ< T, N >::swapRows().
Referenced by ltl::GaussJ< T, N >::elimRow(), ltl::GaussJ< T, N >::getPivot(), and ltl::GaussJ< T, N >::invert().