(directory ngsolve/linalg)The linear algebra library is based on the abstact base classes BaseVector and BaseMatrix. Derived objects are vector classes (VVector,...) or specific matrix classes (SparseMatrix, ...). Linear operations (KrylovSpaceSolver) are derived from BaseMatrix as well.
Matrices have to provide the matrix times vector operation. The preferred function is
virtual void MultAdd (double s, const BaseVector & x, BaseVector & y) constimplementingExpression templates enable a convinient notation. But, in contrast to the basic linear algebra, the expression tree is expanded to vector-vector and matrix-vector operations.
Alphabetic index Hierarchy of classes