![]() |
Reference documentation for deal.II version 9.1.1
|
These matrices are built on top of the basic matrices. They perform special operations using the interface defined by the MatrixType concept. More...
Modules | |
| Exceptions and assertions | |
| This module contains classes that are used in the exception mechanism of deal.II. | |
Typedefs | |
| using | BlockMatrixArray< number, BlockVectorType >::size_type = types::global_dof_index |
| using | BlockTrianglePrecondition< number, BlockVectorType >::size_type = types::global_dof_index |
| using | FilteredMatrix< VectorType >::size_type = types::global_dof_index |
| using | FilteredMatrix< VectorType >::IndexValuePair = std::pair< size_type, double > |
| using | Householder< number >::size_type = types::global_dof_index |
| using | MeanValueFilter::size_type = types::global_dof_index |
| using | PointerMatrixBase< VectorType >::value_type = typename VectorType::value_type |
Functions | |
| BlockMatrixArray< number, BlockVectorType >::BlockMatrixArray () | |
| BlockMatrixArray< number, BlockVectorType >::BlockMatrixArray (const unsigned int n_block_rows, const unsigned int n_block_cols) | |
| void | BlockMatrixArray< number, BlockVectorType >::initialize (const unsigned int n_block_rows, const unsigned int n_block_cols) |
| void | BlockMatrixArray< number, BlockVectorType >::reinit (const unsigned int n_block_rows, const unsigned int n_block_cols) |
| template<typename MatrixType > | |
| void | BlockMatrixArray< number, BlockVectorType >::enter (const MatrixType &matrix, const unsigned int row, const unsigned int col, const number prefix=1., const bool transpose=false) |
| void | BlockMatrixArray< number, BlockVectorType >::clear () |
| unsigned int | BlockMatrixArray< number, BlockVectorType >::n_block_rows () const |
| unsigned int | BlockMatrixArray< number, BlockVectorType >::n_block_cols () const |
| void | BlockMatrixArray< number, BlockVectorType >::vmult (BlockVectorType &dst, const BlockVectorType &src) const |
| void | BlockMatrixArray< number, BlockVectorType >::vmult_add (BlockVectorType &dst, const BlockVectorType &src) const |
| void | BlockMatrixArray< number, BlockVectorType >::Tvmult (BlockVectorType &dst, const BlockVectorType &src) const |
| void | BlockMatrixArray< number, BlockVectorType >::Tvmult_add (BlockVectorType &dst, const BlockVectorType &src) const |
| number | BlockMatrixArray< number, BlockVectorType >::matrix_scalar_product (const BlockVectorType &u, const BlockVectorType &v) const |
| number | BlockMatrixArray< number, BlockVectorType >::matrix_norm_square (const BlockVectorType &u) const |
| template<class StreamType > | |
| void | BlockMatrixArray< number, BlockVectorType >::print_latex (StreamType &out) const |
| template<typename MatrixType > | |
| BlockMatrixArray< number, BlockVectorType >::Entry::Entry (const MatrixType &matrix, size_type row, size_type col, number prefix, bool transpose) | |
| BlockMatrixArray< number, BlockVectorType >::Entry::Entry (const Entry &) | |
| BlockMatrixArray< number, BlockVectorType >::Entry::~Entry () | |
| Entry & | BlockMatrixArray< number, BlockVectorType >::Entry::operator= (const Entry &)=delete |
| BlockTrianglePrecondition< number, BlockVectorType >::BlockTrianglePrecondition () | |
| BlockTrianglePrecondition< number, BlockVectorType >::BlockTrianglePrecondition (const unsigned int n_blocks) | |
| void | BlockTrianglePrecondition< number, BlockVectorType >::reinit (const unsigned int n_block_rows) |
| template<typename MatrixType > | |
| void | BlockTrianglePrecondition< number, BlockVectorType >::enter (const MatrixType &matrix, const size_type row, const size_type col, const number prefix=1., const bool transpose=false) |
| void | BlockTrianglePrecondition< number, BlockVectorType >::vmult (BlockVectorType &dst, const BlockVectorType &src) const |
| void | BlockTrianglePrecondition< number, BlockVectorType >::vmult_add (BlockVectorType &dst, const BlockVectorType &src) const |
| void | BlockTrianglePrecondition< number, BlockVectorType >::Tvmult (BlockVectorType &dst, const BlockVectorType &src) const |
| void | BlockTrianglePrecondition< number, BlockVectorType >::Tvmult_add (BlockVectorType &dst, const BlockVectorType &src) const |
| FilteredMatrix< VectorType >::Accessor::Accessor (const FilteredMatrix< VectorType > *matrix, const size_type index) | |
| size_type | FilteredMatrix< VectorType >::Accessor::row () const |
| size_type | FilteredMatrix< VectorType >::Accessor::column () const |
| double | FilteredMatrix< VectorType >::Accessor::value () const |
| void | FilteredMatrix< VectorType >::Accessor::advance () |
| FilteredMatrix< VectorType >::const_iterator::const_iterator (const FilteredMatrix< VectorType > *matrix, const size_type index) | |
| const_iterator & | FilteredMatrix< VectorType >::const_iterator::operator++ () |
| const_iterator & | FilteredMatrix< VectorType >::const_iterator::operator++ (int) |
| const Accessor & | FilteredMatrix< VectorType >::const_iterator::operator* () const |
| const Accessor * | FilteredMatrix< VectorType >::const_iterator::operator-> () const |
| bool | FilteredMatrix< VectorType >::const_iterator::operator== (const const_iterator &) const |
| bool | FilteredMatrix< VectorType >::const_iterator::operator!= (const const_iterator &) const |
| bool | FilteredMatrix< VectorType >::const_iterator::operator< (const const_iterator &) const |
| bool | FilteredMatrix< VectorType >::const_iterator::operator> (const const_iterator &) const |
| bool | FilteredMatrix< VectorType >::PairComparison::operator() (const IndexValuePair &i1, const IndexValuePair &i2) const |
| Householder< number >::Householder ()=default | |
| template<typename number2 > | |
| Householder< number >::Householder (const FullMatrix< number2 > &A) | |
| template<typename number2 > | |
| void | Householder< number >::initialize (const FullMatrix< number2 > &A) |
| template<typename number2 > | |
| double | Householder< number >::least_squares (Vector< number2 > &dst, const Vector< number2 > &src) const |
| template<typename number2 > | |
| double | Householder< number >::least_squares (BlockVector< number2 > &dst, const BlockVector< number2 > &src) const |
| template<class VectorType > | |
| void | Householder< number >::vmult (VectorType &dst, const VectorType &src) const |
| template<class VectorType > | |
| void | Householder< number >::Tvmult (VectorType &dst, const VectorType &src) const |
| MeanValueFilter::MeanValueFilter (const size_type component=numbers::invalid_size_type) | |
| template<typename number > | |
| void | MeanValueFilter::filter (Vector< number > &v) const |
| template<typename number > | |
| void | MeanValueFilter::filter (BlockVector< number > &v) const |
| template<typename number > | |
| void | MeanValueFilter::vmult (Vector< number > &dst, const Vector< number > &src) const |
| template<typename number > | |
| void | MeanValueFilter::vmult_add (Vector< number > &dst, const Vector< number > &src) const |
| template<typename number > | |
| void | MeanValueFilter::vmult (BlockVector< number > &dst, const BlockVector< number > &src) const |
| template<typename number > | |
| void | MeanValueFilter::vmult_add (BlockVector< number > &dst, const BlockVector< number > &src) const |
| template<typename VectorType > | |
| void | MeanValueFilter::Tvmult (VectorType &, const VectorType &) const |
| template<typename VectorType > | |
| void | MeanValueFilter::Tvmult_add (VectorType &, const VectorType &) const |
| virtual | PointerMatrixBase< VectorType >::~PointerMatrixBase () override=default |
| virtual void | PointerMatrixBase< VectorType >::clear ()=0 |
| virtual void | PointerMatrixBase< VectorType >::vmult (VectorType &dst, const VectorType &src) const =0 |
| virtual void | PointerMatrixBase< VectorType >::Tvmult (VectorType &dst, const VectorType &src) const =0 |
| virtual void | PointerMatrixBase< VectorType >::vmult_add (VectorType &dst, const VectorType &src) const =0 |
| virtual void | PointerMatrixBase< VectorType >::Tvmult_add (VectorType &dst, const VectorType &src) const =0 |
| PointerMatrix< MatrixType, VectorType >::PointerMatrix (const MatrixType *M=nullptr) | |
| PointerMatrix< MatrixType, VectorType >::PointerMatrix (const char *name) | |
| PointerMatrix< MatrixType, VectorType >::PointerMatrix (const MatrixType *M, const char *name) | |
| virtual void | PointerMatrix< MatrixType, VectorType >::clear () override |
| bool | PointerMatrix< MatrixType, VectorType >::empty () const |
| const PointerMatrix & | PointerMatrix< MatrixType, VectorType >::operator= (const MatrixType *M) |
| virtual void | PointerMatrix< MatrixType, VectorType >::vmult (VectorType &dst, const VectorType &src) const override |
| virtual void | PointerMatrix< MatrixType, VectorType >::Tvmult (VectorType &dst, const VectorType &src) const override |
| virtual void | PointerMatrix< MatrixType, VectorType >::vmult_add (VectorType &dst, const VectorType &src) const override |
| virtual void | PointerMatrix< MatrixType, VectorType >::Tvmult_add (VectorType &dst, const VectorType &src) const override |
| PointerMatrixAux< MatrixType, VectorType >::PointerMatrixAux (VectorMemory< VectorType > *mem=0, const MatrixType *M=0) | |
| PointerMatrixAux< MatrixType, VectorType >::PointerMatrixAux (VectorMemory< VectorType > *mem, const char *name) | |
| PointerMatrixAux< MatrixType, VectorType >::PointerMatrixAux (VectorMemory< VectorType > *mem, const MatrixType *M, const char *name) | |
| virtual void | PointerMatrixAux< MatrixType, VectorType >::clear () override |
| bool | PointerMatrixAux< MatrixType, VectorType >::empty () const |
| void | PointerMatrixAux< MatrixType, VectorType >::set_memory (VectorMemory< VectorType > *mem) |
| const PointerMatrixAux & | PointerMatrixAux< MatrixType, VectorType >::operator= (const MatrixType *M) |
| virtual void | PointerMatrixAux< MatrixType, VectorType >::vmult (VectorType &dst, const VectorType &src) const override |
| virtual void | PointerMatrixAux< MatrixType, VectorType >::Tvmult (VectorType &dst, const VectorType &src) const override |
| virtual void | PointerMatrixAux< MatrixType, VectorType >::vmult_add (VectorType &dst, const VectorType &src) const override |
| virtual void | PointerMatrixAux< MatrixType, VectorType >::Tvmult_add (VectorType &dst, const VectorType &src) const override |
| PointerMatrixVector< number >::PointerMatrixVector (const Vector< number > *M=0) | |
| PointerMatrixVector< number >::PointerMatrixVector (const char *name) | |
| PointerMatrixVector< number >::PointerMatrixVector (const Vector< number > *M, const char *name) | |
| virtual void | PointerMatrixVector< number >::clear () |
| bool | PointerMatrixVector< number >::empty () const |
| const PointerMatrixVector & | PointerMatrixVector< number >::operator= (const Vector< number > *M) |
| virtual void | PointerMatrixVector< number >::vmult (Vector< number > &dst, const Vector< number > &src) const |
| virtual void | PointerMatrixVector< number >::Tvmult (Vector< number > &dst, const Vector< number > &src) const |
| virtual void | PointerMatrixVector< number >::vmult_add (Vector< number > &dst, const Vector< number > &src) const |
| virtual void | PointerMatrixVector< number >::Tvmult_add (Vector< number > &dst, const Vector< number > &src) const |
| template<typename VectorType , typename MatrixType > | |
| PointerMatrixBase< VectorType > * | new_pointer_matrix_base (MatrixType &matrix, const VectorType &, const char *name="PointerMatrixAux") |
| template<typename numberv > | |
| PointerMatrixBase< Vector< numberv > > * | new_pointer_matrix_base (const IdentityMatrix &matrix, const Vector< numberv > &, const char *name="PointerMatrix") |
| template<typename numberv , typename numberm > | |
| PointerMatrixBase< Vector< numberv > > * | new_pointer_matrix_base (const FullMatrix< numberm > &matrix, const Vector< numberv > &, const char *name="PointerMatrix") |
| template<typename numberv , typename numberm > | |
| PointerMatrixBase< Vector< numberv > > * | new_pointer_matrix_base (const LAPACKFullMatrix< numberm > &matrix, const Vector< numberv > &, const char *name="PointerMatrix") |
| template<typename numberv , typename numberm > | |
| PointerMatrixBase< Vector< numberv > > * | new_pointer_matrix_base (const SparseMatrix< numberm > &matrix, const Vector< numberv > &, const char *name="PointerMatrix") |
| template<typename VectorType , typename numberm > | |
| PointerMatrixBase< VectorType > * | new_pointer_matrix_base (const BlockSparseMatrix< numberm > &matrix, const VectorType &, const char *name="PointerMatrix") |
| template<typename numberv , typename numberm > | |
| PointerMatrixBase< Vector< numberv > > * | new_pointer_matrix_base (const SparseMatrixEZ< numberm > &matrix, const Vector< numberv > &, const char *name="PointerMatrix") |
| template<typename VectorType , typename numberm > | |
| PointerMatrixBase< VectorType > * | new_pointer_matrix_base (const BlockSparseMatrixEZ< numberm > &matrix, const VectorType &, const char *name="PointerMatrix") |
| template<typename numberv , typename numberm , typename BLOCK_VectorType > | |
| PointerMatrixBase< BLOCK_VectorType > * | new_pointer_matrix_base (const BlockMatrixArray< numberm, BLOCK_VectorType > &matrix, const BLOCK_VectorType &, const char *name="PointerMatrix") |
| template<typename numberv , typename numberm > | |
| PointerMatrixBase< Vector< numberv > > * | new_pointer_matrix_base (const TridiagonalMatrix< numberm > &matrix, const Vector< numberv > &, const char *name="PointerMatrix") |
| template<typename VectorType , typename MatrixType > | |
| PointerMatrixBase< VectorType > * | new_pointer_matrix_base (MatrixType &matrix, const VectorType &, const char *name="PointerMatrixAux") |
| template<typename numberv > | |
| PointerMatrixBase< Vector< numberv > > * | new_pointer_matrix_base (const IdentityMatrix &matrix, const Vector< numberv > &, const char *name="PointerMatrix") |
| template<typename numberv , typename numberm > | |
| PointerMatrixBase< Vector< numberv > > * | new_pointer_matrix_base (const FullMatrix< numberm > &matrix, const Vector< numberv > &, const char *name="PointerMatrix") |
| template<typename numberv , typename numberm > | |
| PointerMatrixBase< Vector< numberv > > * | new_pointer_matrix_base (const LAPACKFullMatrix< numberm > &matrix, const Vector< numberv > &, const char *name="PointerMatrix") |
| template<typename numberv , typename numberm > | |
| PointerMatrixBase< Vector< numberv > > * | new_pointer_matrix_base (const SparseMatrix< numberm > &matrix, const Vector< numberv > &, const char *name="PointerMatrix") |
| template<typename VectorType , typename numberm > | |
| PointerMatrixBase< VectorType > * | new_pointer_matrix_base (const BlockSparseMatrix< numberm > &matrix, const VectorType &, const char *name="PointerMatrix") |
| template<typename numberv , typename numberm > | |
| PointerMatrixBase< Vector< numberv > > * | new_pointer_matrix_base (const SparseMatrixEZ< numberm > &matrix, const Vector< numberv > &, const char *name="PointerMatrix") |
| template<typename VectorType , typename numberm > | |
| PointerMatrixBase< VectorType > * | new_pointer_matrix_base (const BlockSparseMatrixEZ< numberm > &matrix, const VectorType &, const char *name="PointerMatrix") |
| template<typename numberv , typename numberm , typename BLOCK_VectorType > | |
| PointerMatrixBase< BLOCK_VectorType > * | new_pointer_matrix_base (const BlockMatrixArray< numberm, BLOCK_VectorType > &matrix, const BLOCK_VectorType &, const char *name="PointerMatrix") |
| template<typename numberv , typename numberm > | |
| PointerMatrixBase< Vector< numberv > > * | new_pointer_matrix_base (const TridiagonalMatrix< numberm > &matrix, const Vector< numberv > &, const char *name="PointerMatrix") |
Constructors and initialization | |
| FilteredMatrix< VectorType >::FilteredMatrix () | |
| FilteredMatrix< VectorType >::FilteredMatrix (const FilteredMatrix &fm) | |
| template<typename MatrixType > | |
| FilteredMatrix< VectorType >::FilteredMatrix (const MatrixType &matrix, const bool expect_constrained_source=false) | |
| FilteredMatrix & | FilteredMatrix< VectorType >::operator= (const FilteredMatrix &fm) |
| template<typename MatrixType > | |
| void | FilteredMatrix< VectorType >::initialize (const MatrixType &m, const bool expect_constrained_source=false) |
| void | FilteredMatrix< VectorType >::clear () |
Managing constraints | |
| void | FilteredMatrix< VectorType >::add_constraint (const size_type i, const double v) |
| template<class ConstraintList > | |
| void | FilteredMatrix< VectorType >::add_constraints (const ConstraintList &new_constraints) |
| void | FilteredMatrix< VectorType >::clear_constraints () |
| void | FilteredMatrix< VectorType >::apply_constraints (VectorType &v, const bool matrix_is_symmetric) const |
| void | FilteredMatrix< VectorType >::apply_constraints (VectorType &v) const |
| void | FilteredMatrix< VectorType >::vmult (VectorType &dst, const VectorType &src) const |
| void | FilteredMatrix< VectorType >::Tvmult (VectorType &dst, const VectorType &src) const |
| void | FilteredMatrix< VectorType >::vmult_add (VectorType &dst, const VectorType &src) const |
| void | FilteredMatrix< VectorType >::Tvmult_add (VectorType &dst, const VectorType &src) const |
Iterators | |
| using | FilteredMatrix< VectorType >::const_index_value_iterator = typename std::vector< IndexValuePair >::const_iterator |
| bool | FilteredMatrix< VectorType >::expect_constrained_source |
| std::shared_ptr< PointerMatrixBase< VectorType > > | FilteredMatrix< VectorType >::matrix |
| std::vector< IndexValuePair > | FilteredMatrix< VectorType >::constraints |
| class | FilteredMatrix< VectorType >::Accessor |
| class | FilteredMatrix< VectorType >::FilteredMatrixBlock< VectorType > |
| const_iterator | FilteredMatrix< VectorType >::begin () const |
| const_iterator | FilteredMatrix< VectorType >::end () const |
| std::size_t | FilteredMatrix< VectorType >::memory_consumption () const |
| void | FilteredMatrix< VectorType >::pre_filter (VectorType &v) const |
| void | FilteredMatrix< VectorType >::post_filter (const VectorType &in, VectorType &out) const |
These matrices are built on top of the basic matrices. They perform special operations using the interface defined by the MatrixType concept.
| using BlockMatrixArray< number, BlockVectorType >::size_type = types::global_dof_index |
Declare the type for container size.
Definition at line 124 of file block_matrix_array.h.
| using BlockTrianglePrecondition< number, BlockVectorType >::size_type = types::global_dof_index |
Declare type for container size.
Definition at line 428 of file block_matrix_array.h.
| using FilteredMatrix< VectorType >::size_type = types::global_dof_index |
Declare the type of container size.
Definition at line 207 of file filtered_matrix.h.
| using FilteredMatrix< VectorType >::IndexValuePair = std::pair<size_type, double> |
Typedef defining a type that represents a pair of degree of freedom index and the value it shall have.
Definition at line 332 of file filtered_matrix.h.
|
private |
Declare an abbreviation for an iterator into the array constraint pairs, since that data type is so often used and is rather awkward to write out each time.
Definition at line 524 of file filtered_matrix.h.
| using Householder< number >::size_type = types::global_dof_index |
Declare type of container size type.
Definition at line 86 of file householder.h.
Declare type for container size.
Definition at line 64 of file matrix_lib.h.
| using PointerMatrixBase< VectorType >::value_type = typename VectorType::value_type |
Value type of this matrix. since the matrix itself is unknown, we take the value type of the vector. Therefore, matrix entries must be convertible to vector entries.
This was defined to make this matrix a possible template argument to BlockMatrixArray.
Definition at line 74 of file pointer_matrix.h.
| BlockMatrixArray< number, BlockVectorType >::BlockMatrixArray | ( | ) |
Default constructor creating a useless object. initialize() must be called before using it.
Definition at line 49 of file block_matrix_array.cc.
| BlockMatrixArray< number, BlockVectorType >::BlockMatrixArray | ( | const unsigned int | n_block_rows, |
| const unsigned int | n_block_cols | ||
| ) |
Constructor fixing the dimensions.
Definition at line 57 of file block_matrix_array.cc.
| void BlockMatrixArray< number, BlockVectorType >::initialize | ( | const unsigned int | n_block_rows, |
| const unsigned int | n_block_cols | ||
| ) |
Initialize object completely. This is the function to call for an object created by the default constructor.
Definition at line 67 of file block_matrix_array.cc.
| void BlockMatrixArray< number, BlockVectorType >::reinit | ( | const unsigned int | n_block_rows, |
| const unsigned int | n_block_cols | ||
| ) |
Adjust the matrix to a new size and delete all blocks.
Definition at line 79 of file block_matrix_array.cc.
| void BlockMatrixArray< number, BlockVectorType >::enter | ( | const MatrixType & | matrix, |
| const unsigned int | row, | ||
| const unsigned int | col, | ||
| const number | prefix = 1., |
||
| const bool | transpose = false |
||
| ) |
Add a block matrix entry. The matrix is entered into a list of blocks for multiplication, together with its coordinates row and col as well as optional multiplication factor prefix and transpose flag transpose.
| void BlockMatrixArray< number, BlockVectorType >::clear | ( | ) |
Delete all entries, i.e. reset the matrix to an empty state.
Definition at line 92 of file block_matrix_array.cc.
| unsigned int BlockMatrixArray< number, BlockVectorType >::n_block_rows | ( | ) | const |
Number of block-entries per column.
Definition at line 239 of file block_matrix_array.cc.
| unsigned int BlockMatrixArray< number, BlockVectorType >::n_block_cols | ( | ) | const |
Number of block-entries per row.
Definition at line 248 of file block_matrix_array.cc.
| void BlockMatrixArray< number, BlockVectorType >::vmult | ( | BlockVectorType & | dst, |
| const BlockVectorType & | src | ||
| ) | const |
Matrix-vector multiplication.
Definition at line 132 of file block_matrix_array.cc.
| void BlockMatrixArray< number, BlockVectorType >::vmult_add | ( | BlockVectorType & | dst, |
| const BlockVectorType & | src | ||
| ) | const |
Matrix-vector multiplication adding to dst.
Definition at line 100 of file block_matrix_array.cc.
| void BlockMatrixArray< number, BlockVectorType >::Tvmult | ( | BlockVectorType & | dst, |
| const BlockVectorType & | src | ||
| ) | const |
Transposed matrix-vector multiplication.
Definition at line 176 of file block_matrix_array.cc.
| void BlockMatrixArray< number, BlockVectorType >::Tvmult_add | ( | BlockVectorType & | dst, |
| const BlockVectorType & | src | ||
| ) | const |
Transposed matrix-vector multiplication adding to dst.
Definition at line 144 of file block_matrix_array.cc.
| number BlockMatrixArray< number, BlockVectorType >::matrix_scalar_product | ( | const BlockVectorType & | u, |
| const BlockVectorType & | v | ||
| ) | const |
Matrix scalar product between two vectors (at least for a symmetric matrix).
Definition at line 188 of file block_matrix_array.cc.
| number BlockMatrixArray< number, BlockVectorType >::matrix_norm_square | ( | const BlockVectorType & | u | ) | const |
Compute
. This is the square of the norm induced by the matrix assuming the matrix is symmetric positive definitive.
Definition at line 229 of file block_matrix_array.cc.
| void BlockMatrixArray< number, BlockVectorType >::print_latex | ( | StreamType & | out | ) | const |
Print the block structure as a LaTeX-array. This output will not be very intuitive, since the current object lacks knowledge about what the individual blocks represent or how they should be named. Instead, what you will see is an entry for each block showing all the matrices with their multiplication factors and possibly transpose marks. The matrices itself are named successively as they are encountered. If the same matrix is entered several times, it will be listed with different names.
As an example, consider the following code:
The current function will then produce output of the following kind:
Note how the individual blocks here are just numbered successively as M0 to M4 and that the output misses the fact that M2 and M3 are, in fact, the same matrix. Nevertheless, the output at least gives some kind of idea of the block structure of this matrix.
| BlockMatrixArray< number, BlockVectorType >::Entry::Entry | ( | const MatrixType & | matrix, |
| size_type | row, | ||
| size_type | col, | ||
| number | prefix, | ||
| bool | transpose | ||
| ) |
Constructor initializing all data fields. A PointerMatrix object is generated for matrix.
| BlockMatrixArray< number, BlockVectorType >::Entry::Entry | ( | const Entry & | e | ) |
Copy constructor invalidating the old object. Since it is only used for entering temporary objects into a vector, this is ok.
For a deep copy, we would need a reproduction operator in PointerMatixBase.
Definition at line 27 of file block_matrix_array.cc.
| BlockMatrixArray< number, BlockVectorType >::Entry::~Entry | ( | ) |
Destructor, where we delete the PointerMatrix created by the constructor.
Definition at line 41 of file block_matrix_array.cc.
|
delete |
Assignment operator.
| BlockTrianglePrecondition< number, BlockVectorType >::BlockTrianglePrecondition | ( | ) |
Default constructor creating a useless object. initialize() must be called before using it.
Definition at line 258 of file block_matrix_array.cc.
| BlockTrianglePrecondition< number, BlockVectorType >::BlockTrianglePrecondition | ( | const unsigned int | n_blocks | ) |
Constructor. This matrix must be block-quadratic, and n_blocks is the number of blocks in each direction.
Definition at line 265 of file block_matrix_array.cc.
| void BlockTrianglePrecondition< number, BlockVectorType >::reinit | ( | const unsigned int | n_block_rows | ) |
Resize preconditioner to a new size and clear all blocks.
Definition at line 274 of file block_matrix_array.cc.
| void BlockTrianglePrecondition< number, BlockVectorType >::enter | ( | const MatrixType & | matrix, |
| const size_type | row, | ||
| const size_type | col, | ||
| const number | prefix = 1., |
||
| const bool | transpose = false |
||
| ) |
Enter a block. This calls BlockMatrixArray::enter(). Remember that the diagonal blocks should actually be inverse matrices or preconditioners.
| void BlockTrianglePrecondition< number, BlockVectorType >::vmult | ( | BlockVectorType & | dst, |
| const BlockVectorType & | src | ||
| ) | const |
Preconditioning.
Definition at line 387 of file block_matrix_array.cc.
| void BlockTrianglePrecondition< number, BlockVectorType >::vmult_add | ( | BlockVectorType & | dst, |
| const BlockVectorType & | src | ||
| ) | const |
Preconditioning adding to dst.
Definition at line 368 of file block_matrix_array.cc.
| void BlockTrianglePrecondition< number, BlockVectorType >::Tvmult | ( | BlockVectorType & | dst, |
| const BlockVectorType & | src | ||
| ) | const |
Transposed preconditioning
Definition at line 412 of file block_matrix_array.cc.
| void BlockTrianglePrecondition< number, BlockVectorType >::Tvmult_add | ( | BlockVectorType & | dst, |
| const BlockVectorType & | src | ||
| ) | const |
Transposed preconditioning adding to dst.
Definition at line 422 of file block_matrix_array.cc.
|
inlineprivate |
Constructor. Since we use accessors only for read access, a const matrix pointer is sufficient.
Definition at line 579 of file filtered_matrix.h.
|
inline |
Row number of the element represented by this object.
Definition at line 593 of file filtered_matrix.h.
|
inline |
Column number of the element represented by this object.
Definition at line 602 of file filtered_matrix.h.
|
inline |
Value of the right hand side for this row.
Definition at line 611 of file filtered_matrix.h.
|
inlineprivate |
Advance to next entry
Definition at line 620 of file filtered_matrix.h.
|
inline |
Constructor.
Definition at line 629 of file filtered_matrix.h.
|
inline |
Prefix increment.
Definition at line 639 of file filtered_matrix.h.
| const_iterator& FilteredMatrix< VectorType >::const_iterator::operator++ | ( | int | ) |
Postfix increment.
|
inline |
Dereferencing operator.
Definition at line 648 of file filtered_matrix.h.
|
inline |
Dereferencing operator.
Definition at line 656 of file filtered_matrix.h.
|
inline |
Comparison. True, if both iterators point to the same matrix position.
Definition at line 665 of file filtered_matrix.h.
|
inline |
Inverse of ==.
Definition at line 675 of file filtered_matrix.h.
| bool FilteredMatrix< VectorType >::const_iterator::operator< | ( | const const_iterator & | ) | const |
Comparison operator. Result is true if either the first row number is smaller or if the row numbers are equal and the first index is smaller.
| bool FilteredMatrix< VectorType >::const_iterator::operator> | ( | const const_iterator & | ) | const |
Comparison operator. Compares just the other way around than the operator above.
|
inline |
Default constructor. You will have to set the matrix to be used later using initialize().
Definition at line 723 of file filtered_matrix.h.
|
inline |
Copy constructor. Use the matrix and the constraints set in the given object for the present one as well.
Definition at line 730 of file filtered_matrix.h.
|
inline |
Constructor. Use the given matrix for future operations.
m: The matrix being used in multiplications.expect_constrained_source: See documentation of expect_constrained_source. Definition at line 741 of file filtered_matrix.h.
|
inline |
Copy operator. Take over matrix and constraints from the other object.
Definition at line 752 of file filtered_matrix.h.
|
inline |
Set the matrix to be used further on. You will probably also want to call the clear_constraints() function if constraints were previously added.
m: The matrix being used in multiplications.expect_constrained_source: See documentation of expect_constrained_source. Definition at line 713 of file filtered_matrix.h.
|
inline |
Delete all constraints and the matrix pointer.
Definition at line 808 of file filtered_matrix.h.
|
inline |
Add the constraint that the value with index i should have the value v.
Definition at line 764 of file filtered_matrix.h.
|
inline |
Add a list of constraints to the ones already managed by this object. The actual data type of this list must be so that dereferenced iterators are pairs of indices and the corresponding values to be enforced on the respective solution vector's entry. Thus, the data type might be, for example, a std::list or std::vector of IndexValuePair objects, but also a std::map<unsigned, double>.
The second component of these pairs will only be used in apply_constraints(). The first is used to set values to zero in matrix vector multiplications.
It is an error if the argument contains an entry for a degree of freedom that has already been constrained previously.
Definition at line 776 of file filtered_matrix.h.
|
inline |
Delete the list of constraints presently in use.
Definition at line 797 of file filtered_matrix.h.
|
inline |
Vector operations Apply the constraints to a right hand side vector. This needs to be done before starting to solve with the filtered matrix. If the matrix is symmetric (i.e. the matrix itself, not only its sparsity pattern), set the second parameter to true to use a faster algorithm. Note: This method is deprecated as matrix_is_symmetric parameter is no longer used.
Definition at line 818 of file filtered_matrix.h.
|
inline |
Apply the constraints to a right hand side vector. This needs to be done before starting to solve with the filtered matrix.
Definition at line 828 of file filtered_matrix.h.
|
inline |
Matrix-vector multiplication: this operation performs pre_filter(), multiplication with the stored matrix and post_filter() in that order.
Definition at line 889 of file filtered_matrix.h.
|
inline |
Matrix-vector multiplication: this operation performs pre_filter(), transposed multiplication with the stored matrix and post_filter() in that order.
Definition at line 916 of file filtered_matrix.h.
|
inline |
Adding matrix-vector multiplication.
dst. We expect that in most cases this is the required behavior. Definition at line 943 of file filtered_matrix.h.
|
inline |
Adding transpose matrix-vector multiplication:
dst. We expect that in most cases this is the required behavior. Definition at line 971 of file filtered_matrix.h.
|
inline |
Iterator to the first constraint.
Definition at line 686 of file filtered_matrix.h.
|
inline |
Final iterator.
Definition at line 694 of file filtered_matrix.h.
|
inline |
Determine an estimate for the memory consumption (in bytes) of this object. Since we are not the owner of the matrix referenced, its memory consumption is not included.
Definition at line 999 of file filtered_matrix.h.
|
inline |
Function comparing the pairs i1 and i2 for their keys.
Definition at line 703 of file filtered_matrix.h.
|
inlineprivate |
Do the pre-filtering step, i.e. zero out those components that belong to constrained degrees of freedom.
Definition at line 857 of file filtered_matrix.h.
|
inlineprivate |
Do the postfiltering step, i.e. set constrained degrees of freedom to the value of the input vector, as the matrix contains only ones on the diagonal for these degrees of freedom.
Definition at line 871 of file filtered_matrix.h.
|
default |
Create an empty object.
| Householder< number >::Householder | ( | const FullMatrix< number2 > & | A | ) |
Create an object holding the QR-decomposition of the matrix
.
| void Householder< number >::initialize | ( | const FullMatrix< number2 > & | A | ) |
Compute the QR-decomposition of the given matrix
.
This overwrites any previously computed QR decomposition.
| double Householder< number >::least_squares | ( | Vector< number2 > & | dst, |
| const Vector< number2 > & | src | ||
| ) | const |
Solve the least-squares problem for the right hand side src. The returned scalar value is the Euclidean norm of the approximation error.
dst contains the solution of the least squares problem on return.src contains the right hand side b of the least squares problem. It will be changed during the algorithm and is unusable on return. | double Householder< number >::least_squares | ( | BlockVector< number2 > & | dst, |
| const BlockVector< number2 > & | src | ||
| ) | const |
This function does the same as the previous one, but for BlockVectors.
| void Householder< number >::vmult | ( | VectorType & | dst, |
| const VectorType & | src | ||
| ) | const |
A wrapper to least_squares(), implementing the standard MatrixType interface.
| void Householder< number >::Tvmult | ( | VectorType & | dst, |
| const VectorType & | src | ||
| ) | const |
A wrapper to least_squares() that implements multiplication with the transpose matrix.
| MeanValueFilter::MeanValueFilter | ( | const size_type | component = numbers::invalid_size_type | ) |
Constructor, optionally selecting a component.
Definition at line 21 of file matrix_lib.cc.
| void MeanValueFilter::filter | ( | Vector< number > & | v | ) | const |
Subtract mean value from v.
| void MeanValueFilter::filter | ( | BlockVector< number > & | v | ) | const |
Subtract mean value from v.
| void MeanValueFilter::vmult | ( | Vector< number > & | dst, |
| const Vector< number > & | src | ||
| ) | const |
Return the source vector with subtracted mean value.
| void MeanValueFilter::vmult_add | ( | Vector< number > & | dst, |
| const Vector< number > & | src | ||
| ) | const |
Add source vector with subtracted mean value to dest.
| void MeanValueFilter::vmult | ( | BlockVector< number > & | dst, |
| const BlockVector< number > & | src | ||
| ) | const |
Return the source vector with subtracted mean value in selected component.
| void MeanValueFilter::vmult_add | ( | BlockVector< number > & | dst, |
| const BlockVector< number > & | src | ||
| ) | const |
Add a source to dest, where the mean value in the selected component is subtracted.
|
inline |
Not implemented.
Definition at line 145 of file matrix_lib.h.
|
inline |
Not implemented.
Definition at line 153 of file matrix_lib.h.
|
overridevirtualdefault |
Virtual destructor. Does nothing except making sure that the destructor of any derived class is called whenever a pointer-to-base-class object is destroyed.
|
pure virtual |
Reset the object to its original state.
Implemented in PointerMatrixAux< MatrixType, VectorType >, PointerMatrix< MatrixType, VectorType >, and PointerMatrixVector< number >.
|
pure virtual |
Matrix-vector product.
Implemented in PointerMatrixAux< MatrixType, VectorType >, PointerMatrix< MatrixType, VectorType >, and PointerMatrixVector< number >.
|
pure virtual |
Transposed matrix-vector product.
Implemented in PointerMatrixAux< MatrixType, VectorType >, PointerMatrix< MatrixType, VectorType >, and PointerMatrixVector< number >.
|
pure virtual |
Matrix-vector product, adding to dst.
Implemented in PointerMatrixAux< MatrixType, VectorType >, PointerMatrix< MatrixType, VectorType >, and PointerMatrixVector< number >.
|
pure virtual |
Transposed matrix-vector product, adding to dst.
Implemented in PointerMatrixAux< MatrixType, VectorType >, PointerMatrix< MatrixType, VectorType >, and PointerMatrixVector< number >.
| PointerMatrix< MatrixType, VectorType >::PointerMatrix | ( | const MatrixType * | M = nullptr | ) |
Constructor. The pointer in the argument is stored in this class. As usual, the lifetime of *M must be longer than the one of the PointerMatrix.
If M is zero, no matrix is stored.
Definition at line 633 of file pointer_matrix.h.
| PointerMatrix< MatrixType, VectorType >::PointerMatrix | ( | const char * | name | ) |
Constructor.
This class internally stores a pointer to a matrix via a SmartPointer object. The SmartPointer class allows to associate a name with the object pointed to that identifies the object that has the pointer, in order to identify objects that still refer to the object pointed to. The name argument to this function is used to this end, i.e., you can in essence assign a name to the current PointerMatrix object.
Definition at line 639 of file pointer_matrix.h.
| PointerMatrix< MatrixType, VectorType >::PointerMatrix | ( | const MatrixType * | M, |
| const char * | name | ||
| ) |
Constructor. M points to a matrix which must live longer than the PointerMatrix.
This class internally stores a pointer to a matrix via a SmartPointer object. The SmartPointer class allows to associate a name with the object pointed to that identifies the object that has the pointer, in order to identify objects that still refer to the object pointed to. The name argument to this function is used to this end, i.e., you can in essence assign a name to the current PointerMatrix object.
Definition at line 645 of file pointer_matrix.h.
|
inlineoverridevirtual |
Reset the object to its original state.
Implements PointerMatrixBase< VectorType >.
Definition at line 653 of file pointer_matrix.h.
|
inline |
Return whether the object is empty.
Definition at line 670 of file pointer_matrix.h.
|
inline |
Assign a new matrix pointer. Deletes the old pointer and releases its matrix.
Definition at line 661 of file pointer_matrix.h.
|
inlineoverridevirtual |
Matrix-vector product.
Implements PointerMatrixBase< VectorType >.
Definition at line 679 of file pointer_matrix.h.
|
inlineoverridevirtual |
Transposed matrix-vector product.
Implements PointerMatrixBase< VectorType >.
Definition at line 689 of file pointer_matrix.h.
|
inlineoverridevirtual |
Matrix-vector product, adding to dst.
Implements PointerMatrixBase< VectorType >.
Definition at line 699 of file pointer_matrix.h.
|
inlineoverridevirtual |
Transposed matrix-vector product, adding to dst.
Implements PointerMatrixBase< VectorType >.
Definition at line 709 of file pointer_matrix.h.
| PointerMatrixAux< MatrixType, VectorType >::PointerMatrixAux | ( | VectorMemory< VectorType > * | mem = 0, |
| const MatrixType * | M = 0 |
||
| ) |
Constructor. The pointer in the argument is stored in this class. As usual, the lifetime of *M must be longer than the one of the PointerMatrixAux.
If M is zero, no matrix is stored.
If mem is zero, then GrowingVectorMemory is used.
Definition at line 722 of file pointer_matrix.h.
| PointerMatrixAux< MatrixType, VectorType >::PointerMatrixAux | ( | VectorMemory< VectorType > * | mem, |
| const char * | name | ||
| ) |
Constructor not using a matrix.
This class internally stores a pointer to a matrix via a SmartPointer object. The SmartPointer class allows to associate a name with the object pointed to that identifies the object that has the pointer, in order to identify objects that still refer to the object pointed to. The name argument to this function is used to this end, i.e., you can in essence assign a name to the current PointerMatrix object.
Definition at line 734 of file pointer_matrix.h.
| PointerMatrixAux< MatrixType, VectorType >::PointerMatrixAux | ( | VectorMemory< VectorType > * | mem, |
| const MatrixType * | M, | ||
| const char * | name | ||
| ) |
Constructor. M points to a matrix which must live longer than the PointerMatrixAux.
This class internally stores a pointer to a matrix via a SmartPointer object. The SmartPointer class allows to associate a name with the object pointed to that identifies the object that has the pointer, in order to identify objects that still refer to the object pointed to. The name argument to this function is used to this end, i.e., you can in essence assign a name to the current PointerMatrix object.
Definition at line 746 of file pointer_matrix.h.
|
inlineoverridevirtual |
Reset the object to its original state.
Implements PointerMatrixBase< VectorType >.
Definition at line 760 of file pointer_matrix.h.
|
inline |
Return whether the object is empty.
Definition at line 788 of file pointer_matrix.h.
|
inline |
Assign a new VectorMemory object for getting auxiliary vectors.
Definition at line 777 of file pointer_matrix.h.
|
inline |
Assign a new matrix pointer. Deletes the old pointer and releases its matrix.
Definition at line 768 of file pointer_matrix.h.
|
inlineoverridevirtual |
Matrix-vector product.
Implements PointerMatrixBase< VectorType >.
Definition at line 797 of file pointer_matrix.h.
|
inlineoverridevirtual |
Transposed matrix-vector product.
Implements PointerMatrixBase< VectorType >.
Definition at line 810 of file pointer_matrix.h.
|
inlineoverridevirtual |
Matrix-vector product, adding to dst.
Implements PointerMatrixBase< VectorType >.
Definition at line 823 of file pointer_matrix.h.
|
inlineoverridevirtual |
Transposed matrix-vector product, adding to dst.
Implements PointerMatrixBase< VectorType >.
Definition at line 840 of file pointer_matrix.h.
| PointerMatrixVector< number >::PointerMatrixVector | ( | const Vector< number > * | M = 0 | ) |
Constructor. The pointer in the argument is stored in this class. As usual, the lifetime of *M must be longer than the one of the PointerMatrix.
If M is zero, no matrix is stored.
Definition at line 860 of file pointer_matrix.h.
| PointerMatrixVector< number >::PointerMatrixVector | ( | const char * | name | ) |
Constructor.
This class internally stores a pointer to a matrix via a SmartPointer object. The SmartPointer class allows to associate a name with the object pointed to that identifies the object that has the pointer, in order to identify objects that still refer to the object pointed to. The name argument to this function is used to this end, i.e., you can in essence assign a name to the current PointerMatrix object.
Definition at line 866 of file pointer_matrix.h.
| PointerMatrixVector< number >::PointerMatrixVector | ( | const Vector< number > * | M, |
| const char * | name | ||
| ) |
Constructor. M points to a matrix which must live longer than the PointerMatrix.
This class internally stores a pointer to a matrix via a SmartPointer object. The SmartPointer class allows to associate a name with the object pointed to that identifies the object that has the pointer, in order to identify objects that still refer to the object pointed to. The name argument to this function is used to this end, i.e., you can in essence assign a name to the current PointerMatrix object.
Definition at line 872 of file pointer_matrix.h.
|
inlinevirtual |
Reset the object to its original state.
Implements PointerMatrixBase< Vector< number > >.
Definition at line 880 of file pointer_matrix.h.
|
inline |
Return whether the object is empty.
Definition at line 897 of file pointer_matrix.h.
|
inline |
Assign a new matrix pointer. Deletes the old pointer and releases its matrix.
Definition at line 888 of file pointer_matrix.h.
|
inlinevirtual |
Matrix-vector product, actually the scalar product of src and the vector representing this matrix.
The dimension of dst is 1, while that of src is the size of the vector representing this matrix.
Implements PointerMatrixBase< Vector< number > >.
Definition at line 906 of file pointer_matrix.h.
|
inlinevirtual |
Transposed matrix-vector product, actually the multiplication of the vector representing this matrix with src(0).
The dimension of src is 1, while that of dst is the size of the vector representing this matrix.
Implements PointerMatrixBase< Vector< number > >.
Definition at line 918 of file pointer_matrix.h.
|
inlinevirtual |
Matrix-vector product, adding to dst.
The dimension of dst is 1, while that of src is the size of the vector representing this matrix.
Implements PointerMatrixBase< Vector< number > >.
Definition at line 930 of file pointer_matrix.h.
|
inlinevirtual |
Transposed matrix-vector product, adding to dst.
The dimension of src is 1, while that of dst is the size of the vector representing this matrix.
Implements PointerMatrixBase< Vector< number > >.
Definition at line 942 of file pointer_matrix.h.
|
inline |
This function helps you creating a PointerMatrixBase object if you do not want to provide the full template arguments of PointerMatrix or PointerMatrixAux.
Note that this function by default creates a PointerMatrixAux, emulating the functions vmult_add and Tvmult_add, using an auxiliary vector. It is overloaded for the library matrix classes implementing these functions themselves. If you have such a class, you should overload the function in order to save memory and time.
The result is a PointerMatrixBase* pointing to matrix. The VectorType argument is a dummy just used to determine the template arguments.
Definition at line 477 of file pointer_matrix.h.
| PointerMatrixBase< Vector< numberv > > * new_pointer_matrix_base | ( | const IdentityMatrix & | matrix, |
| const Vector< numberv > & | , | ||
| const char * | name = "PointerMatrix" |
||
| ) |
Specialized version for IdentityMatrix.
Definition at line 491 of file pointer_matrix.h.
| PointerMatrixBase< Vector< numberv > > * new_pointer_matrix_base | ( | const FullMatrix< numberm > & | matrix, |
| const Vector< numberv > & | , | ||
| const char * | name = "PointerMatrix" |
||
| ) |
Specialized version for FullMatrix.
Definition at line 506 of file pointer_matrix.h.
| PointerMatrixBase< Vector< numberv > > * new_pointer_matrix_base | ( | const LAPACKFullMatrix< numberm > & | matrix, |
| const Vector< numberv > & | , | ||
| const char * | name = "PointerMatrix" |
||
| ) |
Specialized version for LAPACKFullMatrix.
Definition at line 521 of file pointer_matrix.h.
| PointerMatrixBase< Vector< numberv > > * new_pointer_matrix_base | ( | const SparseMatrix< numberm > & | matrix, |
| const Vector< numberv > & | , | ||
| const char * | name = "PointerMatrix" |
||
| ) |
Specialized version for SparseMatrix.
Definition at line 537 of file pointer_matrix.h.
| PointerMatrixBase< VectorType > * new_pointer_matrix_base | ( | const BlockSparseMatrix< numberm > & | matrix, |
| const VectorType & | , | ||
| const char * | name = "PointerMatrix" |
||
| ) |
Specialized version for BlockSparseMatrix.
Definition at line 553 of file pointer_matrix.h.
| PointerMatrixBase< Vector< numberv > > * new_pointer_matrix_base | ( | const SparseMatrixEZ< numberm > & | matrix, |
| const Vector< numberv > & | , | ||
| const char * | name = "PointerMatrix" |
||
| ) |
Specialized version for SparseMatrixEZ.
Definition at line 569 of file pointer_matrix.h.
| PointerMatrixBase< VectorType > * new_pointer_matrix_base | ( | const BlockSparseMatrixEZ< numberm > & | matrix, |
| const VectorType & | , | ||
| const char * | name = "PointerMatrix" |
||
| ) |
Specialized version for BlockSparseMatrixEZ.
Definition at line 585 of file pointer_matrix.h.
| PointerMatrixBase< BLOCK_VectorType > * new_pointer_matrix_base | ( | const BlockMatrixArray< numberm, BLOCK_VectorType > & | matrix, |
| const BLOCK_VectorType & | , | ||
| const char * | name = "PointerMatrix" |
||
| ) |
Specialized version for BlockMatrixArray.
Definition at line 601 of file pointer_matrix.h.
| PointerMatrixBase< Vector< numberv > > * new_pointer_matrix_base | ( | const TridiagonalMatrix< numberm > & | matrix, |
| const Vector< numberv > & | , | ||
| const char * | name = "PointerMatrix" |
||
| ) |
Specialized version for TridiagonalMatrix.
Definition at line 618 of file pointer_matrix.h.
|
related |
This function helps you creating a PointerMatrixBase object if you do not want to provide the full template arguments of PointerMatrix or PointerMatrixAux.
Note that this function by default creates a PointerMatrixAux, emulating the functions vmult_add and Tvmult_add, using an auxiliary vector. It is overloaded for the library matrix classes implementing these functions themselves. If you have such a class, you should overload the function in order to save memory and time.
The result is a PointerMatrixBase* pointing to matrix. The VectorType argument is a dummy just used to determine the template arguments.
Definition at line 477 of file pointer_matrix.h.
|
related |
Specialized version for IdentityMatrix.
Definition at line 491 of file pointer_matrix.h.
|
related |
Specialized version for FullMatrix.
Definition at line 506 of file pointer_matrix.h.
|
related |
Specialized version for LAPACKFullMatrix.
Definition at line 521 of file pointer_matrix.h.
|
related |
Specialized version for SparseMatrix.
Definition at line 537 of file pointer_matrix.h.
|
related |
Specialized version for BlockSparseMatrix.
Definition at line 553 of file pointer_matrix.h.
|
related |
Specialized version for SparseMatrixEZ.
Definition at line 569 of file pointer_matrix.h.
|
related |
Specialized version for BlockSparseMatrixEZ.
Definition at line 585 of file pointer_matrix.h.
|
related |
Specialized version for BlockMatrixArray.
Definition at line 601 of file pointer_matrix.h.
|
related |
Specialized version for TridiagonalMatrix.
Definition at line 618 of file pointer_matrix.h.
| size_type BlockMatrixArray< number, BlockVectorType >::Entry::row |
Row number in the block matrix.
Definition at line 311 of file block_matrix_array.h.
| size_type BlockMatrixArray< number, BlockVectorType >::Entry::col |
Column number in the block matrix.
Definition at line 316 of file block_matrix_array.h.
| number BlockMatrixArray< number, BlockVectorType >::Entry::prefix |
Factor in front of the matrix block.
Definition at line 321 of file block_matrix_array.h.
| bool BlockMatrixArray< number, BlockVectorType >::Entry::transpose |
Indicates that matrix block must be transposed for multiplication.
Definition at line 326 of file block_matrix_array.h.
| PointerMatrixBase<typename BlockVectorType::BlockType>* BlockMatrixArray< number, BlockVectorType >::Entry::matrix |
The matrix block itself.
Definition at line 331 of file block_matrix_array.h.
|
protected |
Array of block entries in the matrix.
Definition at line 347 of file block_matrix_array.h.
|
private |
Number of blocks per column.
Definition at line 353 of file block_matrix_array.h.
|
private |
number of blocks per row.
Definition at line 357 of file block_matrix_array.h.
|
private |
The matrix accessed.
Definition at line 249 of file filtered_matrix.h.
|
private |
Current row number.
Definition at line 254 of file filtered_matrix.h.
|
private |
Store an object of the accessor class.
Definition at line 325 of file filtered_matrix.h.
|
private |
Determine, whether multiplications can expect that the source vector has all constrained entries set to zero.
If so, the auxiliary vector can be avoided and memory as well as time can be saved.
We expect this for instance in Newton's method, where the residual already should be zero on constrained nodes. This is, because there is no test function in these nodes.
Definition at line 516 of file filtered_matrix.h.
|
private |
Pointer to the sparsity pattern used for this matrix.
Definition at line 542 of file filtered_matrix.h.
|
private |
Sorted list of pairs denoting the index of the variable and the value to which it shall be fixed.
Definition at line 548 of file filtered_matrix.h.
|
private |
Storage for the diagonal elements of the orthogonal transformation. See the class documentation for more information.
Definition at line 152 of file householder.h.
|
private |
Storage that is internally used for the Householder transformation.
Definition at line 157 of file householder.h.
|
private |
Component for filtering block vectors.
Definition at line 134 of file matrix_lib.h.
|
private |
The pointer to the actual matrix.
Definition at line 211 of file pointer_matrix.h.
|
mutableprivate |
The backup memory if none was provided.
Definition at line 325 of file pointer_matrix.h.
|
mutableprivate |
Object for getting the auxiliary vector.
Definition at line 332 of file pointer_matrix.h.
|
private |
The pointer to the actual matrix.
Definition at line 337 of file pointer_matrix.h.
|
private |
The pointer to the actual matrix.
Definition at line 453 of file pointer_matrix.h.
|
friend |
FilteredMatrixBlock accesses pre_filter() and post_filter().
Definition at line 569 of file filtered_matrix.h.
1.8.16