Functions

Fn_solve

//! More...

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)

Detailed Description

//!


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().

  {
  arma_extra_debug_sigprint();
  
  return Glue<T1, T2, glue_solve>(A.get_ref(), B.get_ref());
  }

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().

  {
  arma_extra_debug_sigprint();
  
  out = solve(A,B);
  
  return (out.n_elem == 0) ? false : true;
  }