![]() |
Reference documentation for deal.II version 9.4.2
|
#include <deal.II/lac/identity_matrix.h>
Public Types | |
| using | size_type = types::global_dof_index |
Public Member Functions | |
| IdentityMatrix () | |
| IdentityMatrix (const size_type n) | |
| void | reinit (const size_type n) |
| size_type | m () const |
| size_type | n () const |
| template<typename OutVectorType , typename InVectorType > | |
| void | vmult (OutVectorType &out, const InVectorType &in) const |
| template<typename OutVectorType , typename InVectorType > | |
| void | vmult_add (OutVectorType &out, const InVectorType &in) const |
| template<typename OutVectorType , typename InVectorType > | |
| void | Tvmult (OutVectorType &out, const InVectorType &in) const |
| template<typename OutVectorType , typename InVectorType > | |
| void | Tvmult_add (OutVectorType &out, const InVectorType &in) const |
Private Attributes | |
| size_type | size |
Implementation of a simple class representing the identity matrix of a given size, i.e. a matrix with entries 
The main usefulness of this class lies in its ability to initialize other matrix, like this:
This creates a 
No preconditioning at all is equivalent to preconditioning with preconditioning with the identity matrix. deal.II has a specialized class for this purpose, PreconditionIdentity, than can be used in a context as shown in the documentation of that class. The present class can be used in much the same way, although without any additional benefit:
Definition at line 68 of file identity_matrix.h.
Declare type for container size.
Definition at line 74 of file identity_matrix.h.
| IdentityMatrix::IdentityMatrix | ( | ) |
Default constructor. Creates a zero-sized matrix that should be resized later on using the reinit() function.
|
explicit |
Constructor. Creates a identity matrix of size n.
| size_type IdentityMatrix::m | ( | ) | const |
Number of rows of this matrix. For the present matrix, the number of rows and columns are equal, of course.
| size_type IdentityMatrix::n | ( | ) | const |
Number of columns of this matrix. For the present matrix, the number of rows and columns are equal, of course.
| void IdentityMatrix::vmult | ( | OutVectorType & | out, |
| const InVectorType & | in | ||
| ) | const |
Matrix-vector multiplication. For the present case, this of course amounts to simply copying the input vector to the output vector.
| void IdentityMatrix::vmult_add | ( | OutVectorType & | out, |
| const InVectorType & | in | ||
| ) | const |
Matrix-vector multiplication with addition to the output vector. For the present case, this of course amounts to simply adding the input vector to the output vector.
| void IdentityMatrix::Tvmult | ( | OutVectorType & | out, |
| const InVectorType & | in | ||
| ) | const |
Matrix-vector multiplication with the transpose matrix. For the present case, this of course amounts to simply copying the input vector to the output vector.
| void IdentityMatrix::Tvmult_add | ( | OutVectorType & | out, |
| const InVectorType & | in | ||
| ) | const |
Matrix-vector multiplication with the transpose matrix, with addition to the output vector. For the present case, this of course amounts to simply adding the input vector to the output vector.
|
private |
Number of rows and columns of this matrix.
Definition at line 147 of file identity_matrix.h.