Rodin::Variational::IdentityMatrix class

Represents the identity matrix function $ I_n $ .

This class represents the matrix function that returns the $ n $ dimensional identity matrix at each point:

\[ F(x) = I_n = \begin{pmatrix} 1 & 0 & \cdots & 0 \\ 0 & 1 & \cdots & 0 \\ \vdots & \vdots & \ddots & \vdots \\ 0 & 0 & \cdots & 1 \end{pmatrix} \]

Commonly used in finite element formulations for identity operators or as a reference configuration.

Base classes

template<class Scalar, class Derived>
class MatrixFunctionBase<Real, IdentityMatrix>
Base class for matrix-valued functions defined on a mesh.

Constructors, destructors, conversion operators

IdentityMatrix(size_t n)
Constructs the identity matrix function.
IdentityMatrix(const IdentityMatrix& other)
Copy constructor.
IdentityMatrix(IdentityMatrix&& other)
Move constructor.

Public functions

auto getRows() const -> size_t
Gets number of rows.
auto getColumns() const -> size_t
Gets number of columns.
auto getValue(const Geometry::Point&) const -> auto
Evaluates the identity matrix at a point.
auto copy() const -> IdentityMatrix* override noexcept
Creates a polymorphic copy of the identity matrix.

Function documentation

Rodin::Variational::IdentityMatrix::IdentityMatrix(size_t n)

Constructs the identity matrix function.

Parameters
n Dimension of identity matrix $ n \times n $

Rodin::Variational::IdentityMatrix::IdentityMatrix(const IdentityMatrix& other)

Copy constructor.

Parameters
other Identity matrix to copy

Rodin::Variational::IdentityMatrix::IdentityMatrix(IdentityMatrix&& other)

Move constructor.

Parameters
other Identity matrix to move

size_t Rodin::Variational::IdentityMatrix::getRows() const

Gets number of rows.

Returns Dimension $ n $

size_t Rodin::Variational::IdentityMatrix::getColumns() const

Gets number of columns.

Returns Dimension $ n $

auto Rodin::Variational::IdentityMatrix::getValue(const Geometry::Point&) const

Evaluates the identity matrix at a point.

Returns Identity matrix $ I_n $

IdentityMatrix* Rodin::Variational::IdentityMatrix::copy() const override noexcept

Creates a polymorphic copy of the identity matrix.

Returns Pointer to copy