Public Types | Static Public Member Functions | Static Private Member Functions | List of all members
gte::LinearSystem< Real > Class Template Reference

#include <GteLinearSystem.h>

Public Types

typedef std::map< std::array< int, 2 >, Real > SparseMatrix
 

Static Public Member Functions

static bool Solve (Matrix2x2< Real > const &A, Vector2< Real > const &B, Vector2< Real > &X)
 
static bool Solve (Matrix3x3< Real > const &A, Vector3< Real > const &B, Vector3< Real > &X)
 
static bool Solve (Matrix4x4< Real > const &A, Vector4< Real > const &B, Vector4< Real > &X)
 
static bool Solve (int N, Real const *A, Real const *B, Real *X)
 
static bool Solve (int N, int M, Real const *A, Real const *B, Real *X)
 
static bool SolveConstantTridiagonal (int N, Real subdiagonal, Real diagonal, Real superdiagonal, Real const *B, Real *X)
 
static unsigned int SolveSymmetricCG (int N, Real const *A, Real const *B, Real *X, unsigned int maxIterations, Real tolerance)
 
static unsigned int SolveSymmetricCG (int N, SparseMatrix const &A, Real const *B, Real *X, unsigned int maxIterations, Real tolerance)
 
static bool SolveTridiagonal (int N, Real const *subdiagonal, Real const *diagonal, Real const *superdiagonal, Real const *B, Real *X)
 

Static Private Member Functions

static Real Dot (int N, Real const *U, Real const *V)
 
static void Mul (int N, Real const *A, Real const *X, Real *P)
 
static void Mul (int N, SparseMatrix const &A, Real const *X, Real *P)
 
static void UpdateP (int N, Real *P, Real beta, Real const *R)
 
static void UpdateR (int N, Real *R, Real alpha, Real const *W)
 
static void UpdateX (int N, Real *X, Real alpha, Real const *P)
 

Detailed Description

template<typename Real>
class gte::LinearSystem< Real >

Definition at line 33 of file GteLinearSystem.h.

Member Typedef Documentation

template<typename Real >
typedef std::map<std::array<int, 2>, Real> gte::LinearSystem< Real >::SparseMatrix

Definition at line 84 of file GteLinearSystem.h.

Member Function Documentation

template<typename Real >
Real gte::LinearSystem< Real >::Dot ( int  N,
Real const *  U,
Real const *  V 
)
staticprivate

Definition at line 326 of file GteLinearSystem.h.

template<typename Real >
void gte::LinearSystem< Real >::Mul ( int  N,
Real const *  A,
Real const *  X,
Real *  P 
)
staticprivate

Definition at line 337 of file GteLinearSystem.h.

template<typename Real >
void gte::LinearSystem< Real >::Mul ( int  N,
SparseMatrix const &  A,
Real const *  X,
Real *  P 
)
staticprivate

Definition at line 356 of file GteLinearSystem.h.

template<typename Real >
bool gte::LinearSystem< Real >::Solve ( Matrix2x2< Real > const &  A,
Vector2< Real > const &  B,
Vector2< Real > &  X 
)
static

Definition at line 100 of file GteLinearSystem.h.

template<typename Real >
bool gte::LinearSystem< Real >::Solve ( Matrix3x3< Real > const &  A,
Vector3< Real > const &  B,
Vector3< Real > &  X 
)
static

Definition at line 117 of file GteLinearSystem.h.

template<typename Real >
bool gte::LinearSystem< Real >::Solve ( Matrix4x4< Real > const &  A,
Vector4< Real > const &  B,
Vector4< Real > &  X 
)
static

Definition at line 134 of file GteLinearSystem.h.

template<typename Real >
bool gte::LinearSystem< Real >::Solve ( int  N,
Real const *  A,
Real const *  B,
Real *  X 
)
static

Definition at line 151 of file GteLinearSystem.h.

template<typename Real >
bool gte::LinearSystem< Real >::Solve ( int  N,
int  M,
Real const *  A,
Real const *  B,
Real *  X 
)
static

Definition at line 159 of file GteLinearSystem.h.

template<typename Real >
bool gte::LinearSystem< Real >::SolveConstantTridiagonal ( int  N,
Real  subdiagonal,
Real  diagonal,
Real  superdiagonal,
Real const *  B,
Real *  X 
)
static

Definition at line 203 of file GteLinearSystem.h.

template<typename Real >
unsigned int gte::LinearSystem< Real >::SolveSymmetricCG ( int  N,
Real const *  A,
Real const *  B,
Real *  X,
unsigned int  maxIterations,
Real  tolerance 
)
static

Definition at line 237 of file GteLinearSystem.h.

template<typename Real >
unsigned int gte::LinearSystem< Real >::SolveSymmetricCG ( int  N,
SparseMatrix const &  A,
Real const *  B,
Real *  X,
unsigned int  maxIterations,
Real  tolerance 
)
static

Definition at line 281 of file GteLinearSystem.h.

template<typename Real >
bool gte::LinearSystem< Real >::SolveTridiagonal ( int  N,
Real const *  subdiagonal,
Real const *  diagonal,
Real const *  superdiagonal,
Real const *  B,
Real *  X 
)
static

Definition at line 168 of file GteLinearSystem.h.

template<typename Real >
void gte::LinearSystem< Real >::UpdateP ( int  N,
Real *  P,
Real  beta,
Real const *  R 
)
staticprivate

Definition at line 392 of file GteLinearSystem.h.

template<typename Real >
void gte::LinearSystem< Real >::UpdateR ( int  N,
Real *  R,
Real  alpha,
Real const *  W 
)
staticprivate

Definition at line 383 of file GteLinearSystem.h.

template<typename Real >
void gte::LinearSystem< Real >::UpdateX ( int  N,
Real *  X,
Real  alpha,
Real const *  P 
)
staticprivate

Definition at line 374 of file GteLinearSystem.h.


The documentation for this class was generated from the following file:


geometric_tools_engine
Author(s): Yijiang Huang
autogenerated on Thu Jul 18 2019 04:00:06