HyperHDG
Classes | Namespaces | Functions
sparse_la.hxx File Reference
#include <HyperHDG/hy_assert.hxx>
Include dependency graph for sparse_la.hxx:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  SparseLA::SolveException
 Exception to be thrown if conjugate gradient fails. More...
 

Namespaces

 SparseLA
 A namespace containing different functions that implement basic linear algebra operations using large vectors.
 

Functions

template<typename vectorT >
vectorT::value_type SparseLA::inner_product (const vectorT &left, const vectorT &right)
 Evaluate the inner product of two vectors. More...
 
template<typename vectorT >
vectorT::value_type SparseLA::norm_2 (const vectorT &vec)
 Evaluate 2 norm of a vector. More...
 
template<typename vectorT >
vectorT SparseLA::linear_combination (const typename vectorT::value_type leftFac, const vectorT &leftVec, const typename vectorT::value_type rightFac, const vectorT &rightVec)
 Evaluate linear combination of vectors and return the result. More...
 
template<typename vectorT >
void SparseLA::linear_combination (const typename vectorT::value_type leftFac, const vectorT &leftV, const typename vectorT::value_type rightFac, const vectorT &rightV, vectorT &result)
 Evaluate linear combination of vectors and return reference to result. More...
 
template<class ProblemT , typename vectorT >
vectorT SparseLA::conjugate_gradient (const vectorT &b, ProblemT &problem, unsigned int n_iterations=0, const typename vectorT::value_type tolerance=1e-9)
 Execute conjugate gradient algorithm to find solution to system of equations. More...