3 #ifndef DUNE_DYNMATRIX_HH
4 #define DUNE_DYNMATRIX_HH
9 #include <initializer_list>
29 template<
class K >
class DynamicMatrix;
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>>
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();
Macro for wrapping boundary checks.
Implements a matrix constructed from a given type representing a field and a compile-time given numbe...
This file implements a dense vector with a dynamic size.
A few common exception classes.
Traits for type conversions and type information.
#define DUNE_ASSERT_BOUNDS(cond)
If DUNE_CHECK_BOUNDS is defined: check if condition cond holds; otherwise, do nothing.
Definition: boundschecking.hh:28
Dune namespace.
Definition: alignedallocator.hh:11
A dense n x m matrix.
Definition: densematrix.hh:165
derived_type & operator=(const RHS &rhs)
Definition: densematrix.hh:307
Traits::value_type value_type
export the type representing the field
Definition: densematrix.hh:182
constexpr size_type rows() const
number of rows
Definition: densematrix.hh:737
Traits::size_type size_type
The type used for the index access and size operation.
Definition: densematrix.hh:191
Construct a matrix with a dynamic size.
Definition: dynmatrix.hh:59
size_type mat_cols() const
Definition: dynmatrix.hh:131
const row_type & mat_access(size_type i) const
Definition: dynmatrix.hh:139
DynamicMatrix(std::initializer_list< DynamicVector< K >> const &ll)
Constructor initializing the matrix from a list of vector.
Definition: dynmatrix.hh:78
Base::row_type row_type
Definition: dynmatrix.hh:65
Base::value_type value_type
Definition: dynmatrix.hh:64
Base::size_type size_type
Definition: dynmatrix.hh:63
size_type mat_rows() const
Definition: dynmatrix.hh:130
DynamicMatrix(T const &rhs)
Definition: dynmatrix.hh:85
row_type & mat_access(size_type i)
Definition: dynmatrix.hh:135
void resize(size_type r, size_type c, value_type v=value_type())
resize matrix to r × c
Definition: dynmatrix.hh:104
DynamicMatrix & operator=(T scalar)
Definition: dynmatrix.hh:124
DynamicMatrix()
Default constructor.
Definition: dynmatrix.hh:69
DynamicMatrix(size_type r, size_type c, value_type v=value_type())
Constructor initializing the whole matrix with a scalar.
Definition: dynmatrix.hh:72
DynamicMatrix & operator=(T const &rhs)
Definition: dynmatrix.hh:114
container_type::size_type size_type
Definition: dynmatrix.hh:43
DynamicVector< K > row_type
Definition: dynmatrix.hh:36
row_type & row_reference
Definition: dynmatrix.hh:38
K value_type
Definition: dynmatrix.hh:42
DynamicMatrix< K > derived_type
Definition: dynmatrix.hh:34
const row_type & const_row_reference
Definition: dynmatrix.hh:39
std::vector< K > container_type
Definition: dynmatrix.hh:41
FieldTraits< K >::real_type real_type
Definition: dynmatrix.hh:50
FieldTraits< K >::field_type field_type
Definition: dynmatrix.hh:49
Construct a vector with a dynamic size.
Definition: dynvector.hh:57
Definition: ftraits.hh:24
T field_type
export the type representing the field
Definition: ftraits.hh:26
T real_type
export the type representing the real type of the field
Definition: ftraits.hh:28
Definition: matvectraits.hh:29