|
DOLFINx
0.5.1
DOLFINx C++ interface
|
Linear algebra interface. More...
Classes | |
| class | MatrixCSR |
| Distributed sparse matrix. More... | |
| class | SLEPcEigenSolver |
| This class provides an eigenvalue solver for PETSc matrices. It is a wrapper for the SLEPc eigenvalue solver. More... | |
| class | SparsityPattern |
| This class provides a sparsity pattern data structure that can be used to initialize sparse matrices. After assembly, column indices are always sorted in increasing order. Ghost entries are kept after assembly. More... | |
| class | Vector |
| Distributed vector. More... | |
Enumerations | |
| enum class | Norm { l1 , l2 , linf , frobenius } |
| Norm types. | |
Functions | |
| template<typename T , class Allocator > | |
| T | inner_product (const Vector< T, Allocator > &a, const Vector< T, Allocator > &b) |
| Compute the inner product of two vectors. The two vectors must have the same parallel layout. More... | |
| template<typename T , class Allocator > | |
| auto | squared_norm (const Vector< T, Allocator > &a) |
| Compute the squared L2 norm of vector. More... | |
| template<typename T , class Allocator > | |
| auto | norm (const Vector< T, Allocator > &a, Norm type=Norm::l2) |
| Compute the norm of the vector. More... | |
| template<typename T , typename U > | |
| void | orthonormalize (const std::span< Vector< T, U >> &basis, double tol=1.0e-10) |
| Orthonormalize a set of vectors. More... | |
| template<typename T , typename U > | |
| bool | is_orthonormal (const std::span< const Vector< T, U >> &basis, double tol=1.0e-10) |
| Test if basis is orthonormal. More... | |
Linear algebra interface.
Interface to linear algebra data structures and solvers
Compute the inner product of two vectors. The two vectors must have the same parallel layout.
| a | A vector |
| b | A vector |
a^{H} b (a^{T} b if a and b are real) | bool dolfinx::la::is_orthonormal | ( | const std::span< const Vector< T, U >> & | basis, |
| double | tol = 1.0e-10 |
||
| ) |
Test if basis is orthonormal.
| [in] | basis | The set of vectors to check |
| [in] | tol | The tolerance used to test for orthonormality |
Compute the norm of the vector.
| a | A vector |
| type | Norm type (supported types are \(L^2\) and \(L^\infty\)) |
| void dolfinx::la::orthonormalize | ( | const std::span< Vector< T, U >> & | basis, |
| double | tol = 1.0e-10 |
||
| ) |
Orthonormalize a set of vectors.
| [in,out] | basis | The set of vectors to orthonormalise. The vectors must have identical parallel layouts. The vectors are modified in-place. |
| [in] | tol | The tolerance used to detect a linear dependency |