DOLFIN
DOLFIN C++ interface
|
#include <VectorSpaceBasis.h>
Public Member Functions | |
VectorSpaceBasis (const std::vector< std::shared_ptr< GenericVector >> basis) | |
Constructor. | |
~VectorSpaceBasis () | |
Destructor. | |
void | orthonormalize (double tol=1.0e-10) |
bool | is_orthonormal (double tol=1.0e-10) const |
Test if basis is orthonormal. | |
bool | is_orthogonal (double tol=1.0e-10) const |
Test if basis is orthogonal. | |
void | orthogonalize (GenericVector &x) const |
Orthogonalize x with respect to basis. | |
std::size_t | dim () const |
Number of vectors in the basis. | |
std::shared_ptr< const GenericVector > | operator[] (std::size_t i) const |
Get a particular basis vector. | |
This class defines a basis for vector spaces, typically used for expressing nullspaces of singular operators and 'near nullspaces' used in smoothed aggregation algebraic multigrid.
void VectorSpaceBasis::orthonormalize | ( | double | tol = 1.0e-10 | ) |
Apply the Gram-Schmidt process to orthonormalize the basis. Throws an error if a (near) linear dependency is detected. Error is thrown if <x_i, x_i> < tol.