|
dune-common 2.8.0
|
Loading...
Searching...
No Matches
densematrix.hh
Go to the documentation of this file.
32 typedef const typename FieldTraits< typename DenseMatVecTraits<M>::value_type >::field_type field_type;
33 typedef const typename FieldTraits< typename DenseMatVecTraits<M>::value_type >::real_type real_type;
47 struct [[deprecated("VectorSize is deprecated; please call the 'size()' method directly instead")]] VectorSize
54 struct [[deprecated("VectorSize is deprecated; please call the 'size()' method directly instead")]] VectorSize< const FieldVector<K,N> >
106 class DenseMatrixAssigner< DenseMatrix, RHS, std::enable_if_t< !std::is_same< typename RHS::const_iterator, void >::value
107 && std::is_convertible< typename RHS::const_iterator::value_type, typename DenseMatrix::iterator::value_type >::value > >
135 std::true_type hasDenseMatrixAssigner ( DenseMatrix &, const RHS &, decltype( Dune::DenseMatrixAssigner< DenseMatrix, RHS >::apply( std::declval< DenseMatrix & >(), std::declval< const RHS & >() ) ) * = nullptr );
143 : public decltype( Impl::hasDenseMatrixAssigner( std::declval< DenseMatrix & >(), std::declval< const RHS & >() ) )
206 };
276 typedef typename std::remove_reference<const_row_reference>::type::ConstIterator ConstColIterator;
1109 AutonomousValue<MAT>::luDecomposition(A, ElimPivot(pivot), nonsingularLanes, true, doPivoting);
1156 DUNE_THROW(FMatrixError, "There is no determinant for a " << rows() << "x" << cols() << " matrix!");
1197 static inline void multAssign(const DenseMatrix<MAT> &matrix, const DenseVector<V1> & x, DenseVector<V2> & ret)
1216 static inline void multAssignTransposed( const FieldMatrix<K,rows,cols> &matrix, const FieldVector<K,rows> & x, FieldVector<K,cols> & ret)
1230 static inline FieldVector<K,rows> mult(const FieldMatrix<K,rows,cols> &matrix, const FieldVector<K,cols> & x)
Implements a scalar vector view wrapper around an existing scalar.
Definition of the DUNE_DEPRECATED macro for the case that config.h is not available.
A free function to provide the demangled class name of a given object or type as a string.
Various precision settings for calculations with FieldMatrix and FieldVector.
Macro for wrapping boundary checks.
A few common exception classes.
Traits for type conversions and type information.
Some useful basic math stuff.
Implements a vector constructed from a given type representing a field and a compile-time given size.
#define DUNE_ASSERT_BOUNDS(cond)
If DUNE_CHECK_BOUNDS is defined: check if condition cond holds; otherwise, do nothing.
Definition boundschecking.hh:28
typename AutonomousValueType< T >::type AutonomousValue
Type free of internal references that T can be converted to.
Definition typetraits.hh:558
#define DUNE_NO_DEPRECATED_END
Ignore deprecation warnings (end)
Definition deprecated.hh:61
#define DUNE_NO_DEPRECATED_BEGIN
Ignore deprecation warnings (start)
Definition deprecated.hh:55
std::ostream & operator<<(std::ostream &s, const bigunsignedint< k > &x)
Definition bigunsignedint.hh:273
bool anyTrue(const Mask &mask)
Whether any entry is true
Definition simd/interface.hh:427
V cond(M &&mask, const V &ifTrue, const V &ifFalse)
Like the ?: operator.
Definition simd/interface.hh:384
bool allTrue(const Mask &mask)
Whether all entries are true
Definition simd/interface.hh:437
typename Overloads::RebindType< std::decay_t< S >, std::decay_t< V > >::type Rebind
Construct SIMD type with different scalar type.
Definition simd/interface.hh:251
constexpr std::size_t lanes()
Number of lanes in a SIMD type.
Definition simd/interface.hh:303
decltype(auto) lane(std::size_t l, V &&v)
Extract an element of a SIMD type.
Definition simd/interface.hh:322
Mask< V > mask(ADLTag< 0, std::is_same< V, Mask< V > >::value >, const V &v)
implements Simd::mask()
Definition defaults.hh:151
STL namespace.
K conjugateComplex(const K &x)
compute conjugate complex of x
Definition math.hh:161
static void multAssign(const DenseMatrix< MAT > &matrix, const DenseVector< V1 > &x, DenseVector< V2 > &ret)
calculates ret = matrix * x
Definition densematrix.hh:1197
ConstIterator const_iterator
typedef for stl compliant access
Definition densematrix.hh:272
derived_type operator-() const
Matrix negation.
Definition densematrix.hh:326
void solve(V1 &x, const V2 &b, bool doPivoting=true) const
Solve system A x = b.
Traits::value_type field_type
export the type representing the field
Definition densematrix.hh:185
derived_type & axpy(const field_type &a, const DenseMatrix< Other > &x)
vector space axpy operation (*this += a x)
Definition densematrix.hh:366
FieldTraits< vt >::real_type infinity_norm_real() const
simplified infinity norm (uses Manhattan norm for complex values)
Definition densematrix.hh:589
std::remove_reference< const_row_reference >::type::ConstIterator ConstColIterator
rename the iterators for easier access
Definition densematrix.hh:276
static void luDecomposition(DenseMatrix< MAT > &A, Func func, Mask &nonsingularLanes, bool throwEarly, bool doPivoting)
do an LU-Decomposition on matrix A
Traits::value_type block_type
export the type representing the components
Definition densematrix.hh:188
constexpr size_type cols() const
number of columns
Definition densematrix.hh:743
size_type size() const
size method (number of rows)
Definition densematrix.hh:228
MAT & rightmultiply(const DenseMatrix< M2 > &M)
Multiplies M from the right to this matrix.
Definition densematrix.hh:673
derived_type & operator/=(const field_type &k)
vector space division by scalar
Definition densematrix.hh:357
derived_type & operator*=(const field_type &k)
vector space multiplication with scalar
Definition densematrix.hh:349
Traits::value_type value_type
export the type representing the field
Definition densematrix.hh:182
void usmv(const typename FieldTraits< Y >::field_type &alpha, const X &x, Y &y) const
y += alpha A x
Definition densematrix.hh:512
void usmhv(const typename FieldTraits< Y >::field_type &alpha, const X &x, Y &y) const
y += alpha A^H x
Definition densematrix.hh:540
MAT & leftmultiply(const DenseMatrix< M2 > &M)
Multiplies M from the left to this matrix.
Definition densematrix.hh:655
void usmtv(const typename FieldTraits< Y >::field_type &alpha, const X &x, Y &y) const
y += alpha A^T x
Definition densematrix.hh:526
derived_type & operator-=(const DenseMatrix< Other > &x)
vector space subtraction
Definition densematrix.hh:340
bool operator!=(const DenseMatrix< Other > &x) const
Binary matrix incomparison.
Definition densematrix.hh:386
Traits::derived_type derived_type
type of derived matrix class
Definition densematrix.hh:179
row_reference operator[](size_type i)
random access
Definition densematrix.hh:217
bool exists(size_type i, size_type j) const
return true when (i,j) is in pattern
Definition densematrix.hh:751
Iterator RowIterator
rename the iterators for easier access
Definition densematrix.hh:239
FieldTraits< value_type >::real_type frobenius_norm() const
frobenius norm: sqrt(sum over squared values of entries)
Definition densematrix.hh:556
DenseIterator< const DenseMatrix, const row_type, const_row_reference > ConstIterator
Iterator class for sequential access.
Definition densematrix.hh:270
@ blocklevel
The number of block levels we contain. This is 1.
Definition densematrix.hh:205
FieldTraits< vt >::real_type infinity_norm() const
infinity norm (row sum norm, how to generalize for blocks?)
Definition densematrix.hh:574
Traits::row_type row_type
The type used to represent a row (must fulfill the Dune::DenseVector interface)
Definition densematrix.hh:194
Traits::size_type size_type
The type used for the index access and size operation.
Definition densematrix.hh:191
Traits::const_row_reference const_row_reference
The type used to represent a reference to a constant row (usually const row_type &)
Definition densematrix.hh:200
FieldTraits< value_type >::real_type frobenius_norm2() const
square of frobenius norm, need for block recursion
Definition densematrix.hh:564
std::remove_reference< row_reference >::type::Iterator ColIterator
rename the iterators for easier access
Definition densematrix.hh:241
Traits::row_reference row_reference
The type used to represent a reference to a row (usually row_type &)
Definition densematrix.hh:197
bool operator==(const DenseMatrix< Other > &x) const
Binary matrix comparison.
Definition densematrix.hh:376
Iterator iterator
typedef for stl compliant access
Definition densematrix.hh:237
ConstIterator ConstRowIterator
rename the iterators for easier access
Definition densematrix.hh:274
DenseIterator< DenseMatrix, row_type, row_reference > Iterator
Iterator class for sequential access.
Definition densematrix.hh:235
field_type determinant(bool doPivoting=true) const
calculates the determinant of this matrix
derived_type & operator+=(const DenseMatrix< Other > &x)
vector space addition
Definition densematrix.hh:317
const FieldTraits< typenameDenseMatVecTraits< M >::value_type >::real_type real_type
Definition densematrix.hh:33
const FieldTraits< typenameDenseMatVecTraits< M >::value_type >::field_type field_type
Definition densematrix.hh:32
constexpr FieldVector()
Constructor making default-initialized vector.
Definition fvector.hh:115
you have to specialize this structure for any type that should be assignable to a DenseMatrix
Definition densematrix.hh:84
Interface for a class of dense vectors over a given field.
Definition densevector.hh:227
size_type N() const
number of blocks in the vector (are of size 1 here)
Definition densevector.hh:728
Generic iterator class for dense vector and matrix implementations.
Definition densevector.hh:129
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
static ctype absolute_limit()
return threshold to declare matrix singular
Definition precision.hh:26
Include file for users of the SIMD abstraction layer.
T apply(T... args)
T begin(T... args)
T copy(T... args)
T end(T... args)
T endl(T... args)
T fill(T... args)
T max(T... args)
T size(T... args)
T swap(T... args)
Legal Statements / Impressum | Hosted by TU Dresden & Uni Heidelberg | Generated by
1.9.8