Note: this is documentation for an old release. View the latest documentation at docs.fenicsproject.org/dolfinx/v0.9.0/cpp/doxygen/d6/dfa/namespacedolfinx_1_1la.html
DOLFINx 0.7.3
DOLFINx C++ interface
Loading...
Searching...
No Matches
Namespaces | Classes | Concepts | Enumerations | Functions
dolfinx::la Namespace Reference

Linear algebra interface. More...

Namespaces

namespace  petsc
 PETSc linear algebra functions.
 

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
 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...
 

Concepts

concept  MatSet
 Matrix accumulate/set concept for functions that can be used in assemblers to accumulate or set values in a matrix.
 

Enumerations

enum class  BlockMode : int { compact = 0 , expanded = 1 }
 Modes for representing block structured matrices. More...
 
enum class  Norm { l1 , l2 , linf , frobenius }
 Norm types.
 

Functions

template<class V >
auto inner_product (const V &a, const V &b)
 Compute the inner product of two vectors. The two vectors must have the same parallel layout.
 
template<class V >
auto squared_norm (const V &a)
 Compute the squared L2 norm of vector.
 
template<class V >
auto norm (const V &x, Norm type=Norm::l2)
 Compute the norm of the vector.
 
template<class V >
void orthonormalize (std::vector< std::reference_wrapper< V > > basis)
 Orthonormalize a set of vectors.
 
template<class V >
bool is_orthonormal (std::vector< std::reference_wrapper< const V > > basis)
 Test if basis is orthonormal.
 

Detailed Description

Linear algebra interface.

Interface to linear algebra data structures and solvers.

Enumeration Type Documentation

◆ BlockMode

enum class BlockMode : int
strong

Modes for representing block structured matrices.

Enumerator
expanded 

Each entry in the sparsity pattern of the matrix refers to a block of data of size (bs[0], bs[1]).

Function Documentation

◆ inner_product()

template<class V >
auto inner_product ( const V &  a,
const V &  b 
)

Compute the inner product of two vectors. The two vectors must have the same parallel layout.

Note
Collective MPI operation
Parameters
aA vector
bA vector
Returns
Returns a^{H} b (a^{T} b if a and b are real)

◆ is_orthonormal()

template<class V >
bool is_orthonormal ( std::vector< std::reference_wrapper< const V > >  basis)

Test if basis is orthonormal.

Parameters
[in]basisThe set of vectors to check.
Returns
True is basis is orthonormal, otherwise false.

◆ norm()

template<class V >
auto norm ( const V &  x,
Norm  type = Norm::l2 
)

Compute the norm of the vector.

Note
Collective MPI operation
Parameters
xA vector
typeNorm type (supported types are \(L^2\) and \(L^\infty\))

◆ orthonormalize()

template<class V >
void orthonormalize ( std::vector< std::reference_wrapper< V > >  basis)

Orthonormalize a set of vectors.

Parameters
[in,out]basisThe set of vectors to orthonormalise. The vectors must have identical parallel layouts. The vectors are modified in-place.
Template Parameters
Vdolfinx::la::Vector

◆ squared_norm()

template<class V >
auto squared_norm ( const V &  a)

Compute the squared L2 norm of vector.

Note
Collective MPI operation