Jive reference manual
List of all members | Public Types | Static Public Member Functions
jem::numeric::LUSolver Class Reference

#include <jem/numeric/algebra/LUSolver.h>

Public Types

typedef Array< double > Vector
 
typedef Array< idx_t > IdxVector
 
typedef Array< double, 2 > Matrix
 

Static Public Member Functions

static bool factor (const Matrix &a, const Vector &scale, const IdxVector &jperm, int &sign)
 
template<int N>
static bool factor (Tuple< double, N, N > &a, Tuple< idx_t, N > &jperm, int &sign)
 
static void solve (const Vector &lhs, const Matrix &lu, const Vector &rhs, const IdxVector &jperm)
 
static void solve (const Matrix &lhs, const Matrix &lu, const Matrix &rhs, const IdxVector &jperm)
 
template<int N>
static void solve (Tuple< double, N > &lhs, const Tuple< double, N, N > &lu, const Tuple< double, N > &rhs, const Tuple< idx_t, N > &jperm)
 
static bool invert (const Matrix &a, double &d)
 
template<int N>
static bool invert (Tuple< double, N, N > &a, double &d)
 
static double det (const Matrix &lu)
 
template<int N>
static double det (const Tuple< double, N, N > &lu)
 
static bool invert2x2_ (double *JEM_RESTRICT a, double &d)
 
static bool invert3x3_ (double *JEM_RESTRICT a, double &d)
 
static bool factor_ (idx_t n, int &sign, double *JEM_RESTRICT aa, double *JEM_RESTRICT scale, idx_t *JEM_RESTRICT jperm)
 

Member Typedef Documentation

Member Function Documentation

static bool jem::numeric::LUSolver::factor ( const Matrix a,
const Vector scale,
const IdxVector jperm,
int &  sign 
)
static
template<int N>
bool jem::numeric::LUSolver::factor ( Tuple< double, N, N > &  a,
Tuple< idx_t, N > &  jperm,
int &  sign 
)
static
static void jem::numeric::LUSolver::solve ( const Vector lhs,
const Matrix lu,
const Vector rhs,
const IdxVector jperm 
)
static
static void jem::numeric::LUSolver::solve ( const Matrix lhs,
const Matrix lu,
const Matrix rhs,
const IdxVector jperm 
)
static
template<int N>
void jem::numeric::LUSolver::solve ( Tuple< double, N > &  lhs,
const Tuple< double, N, N > &  lu,
const Tuple< double, N > &  rhs,
const Tuple< idx_t, N > &  jperm 
)
static
static bool jem::numeric::LUSolver::invert ( const Matrix a,
double &  d 
)
static
template<int N>
bool jem::numeric::LUSolver::invert ( Tuple< double, N, N > &  a,
double &  d 
)
static
static double jem::numeric::LUSolver::det ( const Matrix lu)
static
template<int N>
double jem::numeric::LUSolver::det ( const Tuple< double, N, N > &  lu)
static
bool jem::numeric::LUSolver::invert2x2_ ( double *JEM_RESTRICT  a,
double &  d 
)
static
static bool jem::numeric::LUSolver::invert3x3_ ( double *JEM_RESTRICT  a,
double &  d 
)
static
static bool jem::numeric::LUSolver::factor_ ( idx_t  n,
int &  sign,
double *JEM_RESTRICT  aa,
double *JEM_RESTRICT  scale,
idx_t *JEM_RESTRICT  jperm 
)
static