3 #ifndef DUNE_DYNMATRIX_HH
4 #define DUNE_DYNMATRIX_HH
9 #include <initializer_list>
43 typedef typename container_type::size_type
size_type;
60 std::vector< DynamicVector<K> > _data;
84 typename = std::enable_if_t<!Dune::IsNumber<T>::value && HasDenseMatrixAssigner<DynamicMatrix, T>::value>>
112 template <
typename T,
113 typename = std::enable_if_t<!Dune::IsNumber<T>::value>>
115 _data.resize(rhs.N());
116 std::fill(_data.begin(), _data.end(),
row_type(rhs.M(), K(0)));
122 template <
typename T,
123 typename = std::enable_if_t<Dune::IsNumber<T>::value>>
125 std::fill(_data.begin(), _data.end(), scalar);
132 assert(this->
rows());
133 return _data.front().size();
row_type & row_reference
Definition: dynmatrix.hh:38
T field_type
export the type representing the field
Definition: ftraits.hh:26
DynamicMatrix & operator=(T const &rhs)
Definition: dynmatrix.hh:114
DynamicMatrix()
Default constructor.
Definition: dynmatrix.hh:69
Base::size_type size_type
Definition: dynmatrix.hh:63
const row_type & mat_access(size_type i) const
Definition: dynmatrix.hh:139
Base::row_type row_type
Definition: dynmatrix.hh:65
DynamicVector< K > row_type
Definition: dynmatrix.hh:36
This file implements a dense vector with a dynamic size.
Definition: matvectraits.hh:29
DenseMatrix & operator=(const RHS &rhs)
Definition: densematrix.hh:287
A few common exception classes.
Implements a matrix constructed from a given type representing a field and a compile-time given numbe...
Traits::value_type value_type
export the type representing the field
Definition: densematrix.hh:168
#define DUNE_ASSERT_BOUNDS(cond)
If DUNE_CHECK_BOUNDS is defined: check if condition cond holds; otherwise, do nothing.
Definition: boundschecking.hh:28
Macro for wrapping boundary checks.
DynamicMatrix(size_type r, size_type c, value_type v=value_type())
Constructor initializing the whole matrix with a scalar.
Definition: dynmatrix.hh:72
void resize(size_type r, size_type c, value_type v=value_type())
resize matrix to r × c
Definition: dynmatrix.hh:104
size_type mat_rows() const
Definition: dynmatrix.hh:130
A dense n x m matrix.
Definition: densematrix.hh:25
size_type rows() const
number of rows
Definition: densematrix.hh:683
FieldTraits< K >::real_type real_type
Definition: dynmatrix.hh:50
const row_type & const_row_reference
Definition: dynmatrix.hh:39
DynamicMatrix< K > derived_type
Definition: dynmatrix.hh:34
row_type & mat_access(size_type i)
Definition: dynmatrix.hh:135
FieldTraits< K >::field_type field_type
Definition: dynmatrix.hh:49
Traits for type conversions and type information.
Base::value_type value_type
Definition: dynmatrix.hh:64
Definition: ftraits.hh:23
size_type mat_cols() const
Definition: dynmatrix.hh:131
Traits::row_type row_type
The type used to represent a row (must fulfill the Dune::DenseVector interface)
Definition: densematrix.hh:180
Traits::size_type size_type
The type used for the index access and size operation.
Definition: densematrix.hh:177
DynamicMatrix(T const &rhs)
Definition: dynmatrix.hh:85
K value_type
Definition: dynmatrix.hh:42
std::vector< K > container_type
Definition: dynmatrix.hh:41
container_type::size_type size_type
Definition: dynmatrix.hh:43
T real_type
export the type representing the real type of the field
Definition: ftraits.hh:28
Construct a matrix with a dynamic size.
Definition: dynmatrix.hh:29
DynamicMatrix & operator=(T scalar)
Definition: dynmatrix.hh:124
DynamicMatrix(std::initializer_list< DynamicVector< K >> const &ll)
Constructor initializing the matrix from a list of vector.
Definition: dynmatrix.hh:78