Fn_solve

Functions

template<typename T1 , typename T2 >
const Glue< T1, T2, glue_solvesolve (const Base< typename T1::elem_type, T1 > &A, const Base< typename T1::elem_type, T2 > &B, const typename arma_blas_type_only< typename T1::elem_type >::result *junk=0)
 Solve a system of linear equations, i.e., A*X = B, where X is unknown. For a square matrix A, this function is conceptually the same as X = inv(A)*B, but is done more efficiently. The number of rows in A and B must be the same. B can be either a column vector or a matrix. This function will also try to provide approximate solutions to under-determined as well as over-determined systems (non-square A matrices).
template<typename T1 , typename T2 >
bool solve (Mat< typename T1::elem_type > &out, const Base< typename T1::elem_type, T1 > &A, const Base< typename T1::elem_type, T2 > &B, const typename arma_blas_type_only< typename T1::elem_type >::result *junk=0)

Function Documentation

template<typename T1 , typename T2 >
const Glue<T1, T2, glue_solve> solve ( const Base< typename T1::elem_type, T1 > &  A,
const Base< typename T1::elem_type, T2 > &  B,
const typename arma_blas_type_only< typename T1::elem_type >::result *  junk = 0 
) [inline]

Solve a system of linear equations, i.e., A*X = B, where X is unknown. For a square matrix A, this function is conceptually the same as X = inv(A)*B, but is done more efficiently. The number of rows in A and B must be the same. B can be either a column vector or a matrix. This function will also try to provide approximate solutions to under-determined as well as over-determined systems (non-square A matrices).

Definition at line 34 of file fn_solve.hpp.

References Base< elem_type, derived >::get_ref().

Referenced by glue_solve::apply(), and solve().

00039   {
00040   arma_extra_debug_sigprint();
00041   
00042   return Glue<T1, T2, glue_solve>(A.get_ref(), B.get_ref());
00043   }

template<typename T1 , typename T2 >
bool solve ( Mat< typename T1::elem_type > &  out,
const Base< typename T1::elem_type, T1 > &  A,
const Base< typename T1::elem_type, T2 > &  B,
const typename arma_blas_type_only< typename T1::elem_type >::result *  junk = 0 
) [inline]

Definition at line 51 of file fn_solve.hpp.

References Mat< eT >::n_elem, and solve().

00057   {
00058   arma_extra_debug_sigprint();
00059   
00060   out = solve(A,B);
00061   
00062   return (out.n_elem == 0) ? false : true;
00063   }