dune-fem 2.12-git
Loading...
Searching...
No Matches
Dune::Fem::FieldMatrixConverter< FieldVector< K, n *m >, FieldMatrix< K, n, m > > Class Template Reference

convert a FieldVector with length n * m to a FieldMatrix with n rows and m cols More...

#include <dune/fem/misc/fmatrixconverter.hh>

Inheritance diagram for Dune::Fem::FieldMatrixConverter< FieldVector< K, n *m >, FieldMatrix< K, n, m > >:
Inheritance graph

Public Types

enum  { rows = n , cols = m , dimension = n * m }
 
typedef FieldVector< K, n *m > InteralVectorType
 internal storage of matrix
 
typedef Base::row_type row_type
 type of class return upon operator [] which behaves like a reference
 
typedef Base::row_reference row_reference
 
typedef Base::const_row_reference const_row_reference
 
typedef K field_type
 export the type representing the field
 
typedef K block_type
 export the type representing the components
 
typedef std::size_t size_type
 The type used for the index access and size operations.
 
typedef Traits::derived_type derived_type
 
typedef Traits::value_type value_type
 
typedef DenseIterator< DenseMatrix, row_type, row_referenceIterator
 
typedef Iterator iterator
 
typedef Iterator RowIterator
 
typedef std::remove_reference< row_reference >::type::Iterator ColIterator
 
typedef DenseIterator< const DenseMatrix, const row_type, const_row_referenceConstIterator
 
typedef ConstIterator const_iterator
 
typedef ConstIterator ConstRowIterator
 
typedef std::remove_reference< const_row_reference >::type::ConstIterator ConstColIterator
 

Public Member Functions

 FieldMatrixConverter (InteralVectorType &v)
 
 FieldMatrixConverter (const InteralVectorType &v)
 
 FieldMatrixConverter (const FieldMatrixConverter &other)
 
FieldMatrixConverteroperator= (const FieldMatrixConverter &other)
 
FieldMatrixConverteroperator= (const FieldMatrix< K, n, m > &matrix)
 
FieldMatrixConverteroperator+= (const FieldMatrix< K, n, m > &matrix)
 
size_type mat_rows () const
 
size_type mat_cols () const
 
row_reference mat_access (size_type i)
 
const_row_reference mat_access (size_type i) const
 
constexpr row_reference operator[] (size_type i)
 
constexpr const_row_reference operator[] (size_type i) const
 
constexpr size_type size () const
 
constexpr Iterator begin ()
 
constexpr ConstIterator begin () const
 
constexpr Iterator end ()
 
constexpr ConstIterator end () const
 
constexpr Iterator beforeEnd ()
 
constexpr ConstIterator beforeEnd () const
 
constexpr Iterator beforeBegin ()
 
constexpr ConstIterator beforeBegin () const
 
constexpr derived_typeoperator+= (const DenseMatrix< Other > &x)
 
constexpr derived_type operator- () const
 
constexpr derived_typeoperator-= (const DenseMatrix< Other > &x)
 
constexpr derived_typeoperator*= (const field_type &k)
 
constexpr derived_typeoperator/= (const field_type &k)
 
constexpr derived_typeaxpy (const field_type &a, const DenseMatrix< Other > &x)
 
constexpr bool operator== (const DenseMatrix< Other > &x) const
 
constexpr bool operator!= (const DenseMatrix< Other > &x) const
 
constexpr void mv (const X &x, Y &y) const
 
constexpr void mtv (const X &x, Y &y) const
 
constexpr void umv (const X &x, Y &y) const
 
constexpr void umtv (const X &x, Y &y) const
 
constexpr void umhv (const X &x, Y &y) const
 
constexpr void mmv (const X &x, Y &y) const
 
constexpr void mmtv (const X &x, Y &y) const
 
constexpr void mmhv (const X &x, Y &y) const
 
constexpr void usmv (const typename FieldTraits< Y >::field_type &alpha, const X &x, Y &y) const
 
constexpr void usmtv (const typename FieldTraits< Y >::field_type &alpha, const X &x, Y &y) const
 
constexpr void usmhv (const typename FieldTraits< Y >::field_type &alpha, const X &x, Y &y) const
 
constexpr FieldTraits< value_type >::real_type frobenius_norm () const
 
constexpr FieldTraits< value_type >::real_type frobenius_norm2 () const
 
constexpr FieldTraits< vt >::real_type infinity_norm () const
 
constexpr FieldTraits< vt >::real_type infinity_norm () const
 
constexpr FieldTraits< vt >::real_type infinity_norm_real () const
 
constexpr FieldTraits< vt >::real_type infinity_norm_real () const
 
void solve (V1 &x, const V2 &b, bool doPivoting=true) const
 
void invert (bool doPivoting=true)
 
field_type determinant (bool doPivoting=true) const
 
MAT & leftmultiply (const DenseMatrix< M2 > &M)
 
MAT & rightmultiply (const DenseMatrix< M2 > &M)
 
constexpr size_type N () const
 
constexpr size_type M () const
 
constexpr size_type rows () const
 
constexpr size_type cols () const
 
constexpr bool exists (size_type i, size_type j) const
 

Static Public Attributes

static constexpr int blocklevel
 

Static Protected Member Functions

static void luDecomposition (DenseMatrix< MAT > &A, Func func, Mask &nonsingularLanes, bool throwEarly, bool doPivoting)
 

Protected Attributes

InteralVectorTypevec_
 
bool mutableVec_
 

Friends

std::ostreamoperator<< (std::ostream &s, const FieldMatrixConverter &a)
 Sends the matrix to an output stream.
 

Detailed Description

template<typename K, int n, int m>
class Dune::Fem::FieldMatrixConverter< FieldVector< K, n *m >, FieldMatrix< K, n, m > >

convert a FieldVector with length n * m to a FieldMatrix with n rows and m cols

Member Typedef Documentation

◆ block_type

template<typename K , int n, int m>
typedef K Dune::Fem::FieldMatrixConverter< FieldVector< K, n *m >, FieldMatrix< K, n, m > >::block_type

export the type representing the components

◆ const_row_reference

template<typename K , int n, int m>
typedef Base::const_row_reference Dune::Fem::FieldMatrixConverter< FieldVector< K, n *m >, FieldMatrix< K, n, m > >::const_row_reference

◆ field_type

template<typename K , int n, int m>
typedef K Dune::Fem::FieldMatrixConverter< FieldVector< K, n *m >, FieldMatrix< K, n, m > >::field_type

export the type representing the field

◆ InteralVectorType

template<typename K , int n, int m>
typedef FieldVector< K, n *m > Dune::Fem::FieldMatrixConverter< FieldVector< K, n *m >, FieldMatrix< K, n, m > >::InteralVectorType

internal storage of matrix

◆ row_reference

template<typename K , int n, int m>
typedef Base::row_reference Dune::Fem::FieldMatrixConverter< FieldVector< K, n *m >, FieldMatrix< K, n, m > >::row_reference

◆ row_type

template<typename K , int n, int m>
typedef Base::row_type Dune::Fem::FieldMatrixConverter< FieldVector< K, n *m >, FieldMatrix< K, n, m > >::row_type

type of class return upon operator [] which behaves like a reference

◆ size_type

template<typename K , int n, int m>
typedef std::size_t Dune::Fem::FieldMatrixConverter< FieldVector< K, n *m >, FieldMatrix< K, n, m > >::size_type

The type used for the index access and size operations.

Member Enumeration Documentation

◆ anonymous enum

template<typename K , int n, int m>
anonymous enum
Enumerator
rows 

The number of rows.

cols 

The number of columns.

dimension 

The total dimension.

Constructor & Destructor Documentation

◆ FieldMatrixConverter() [1/3]

template<typename K , int n, int m>
Dune::Fem::FieldMatrixConverter< FieldVector< K, n *m >, FieldMatrix< K, n, m > >::FieldMatrixConverter ( InteralVectorType v)
inline

◆ FieldMatrixConverter() [2/3]

template<typename K , int n, int m>
Dune::Fem::FieldMatrixConverter< FieldVector< K, n *m >, FieldMatrix< K, n, m > >::FieldMatrixConverter ( const InteralVectorType v)
inline

◆ FieldMatrixConverter() [3/3]

template<typename K , int n, int m>
Dune::Fem::FieldMatrixConverter< FieldVector< K, n *m >, FieldMatrix< K, n, m > >::FieldMatrixConverter ( const FieldMatrixConverter< FieldVector< K, n *m >, FieldMatrix< K, n, m > > &  other)
inline

Member Function Documentation

◆ mat_access() [1/2]

template<typename K , int n, int m>
row_reference Dune::Fem::FieldMatrixConverter< FieldVector< K, n *m >, FieldMatrix< K, n, m > >::mat_access ( size_type  i)
inline

◆ mat_access() [2/2]

template<typename K , int n, int m>
const_row_reference Dune::Fem::FieldMatrixConverter< FieldVector< K, n *m >, FieldMatrix< K, n, m > >::mat_access ( size_type  i) const
inline

◆ mat_cols()

template<typename K , int n, int m>
size_type Dune::Fem::FieldMatrixConverter< FieldVector< K, n *m >, FieldMatrix< K, n, m > >::mat_cols ( ) const
inline

◆ mat_rows()

template<typename K , int n, int m>
size_type Dune::Fem::FieldMatrixConverter< FieldVector< K, n *m >, FieldMatrix< K, n, m > >::mat_rows ( ) const
inline

◆ operator+=()

template<typename K , int n, int m>
FieldMatrixConverter & Dune::Fem::FieldMatrixConverter< FieldVector< K, n *m >, FieldMatrix< K, n, m > >::operator+= ( const FieldMatrix< K, n, m > &  matrix)
inline

◆ operator=() [1/2]

template<typename K , int n, int m>
FieldMatrixConverter & Dune::Fem::FieldMatrixConverter< FieldVector< K, n *m >, FieldMatrix< K, n, m > >::operator= ( const FieldMatrix< K, n, m > &  matrix)
inline

◆ operator=() [2/2]

template<typename K , int n, int m>
FieldMatrixConverter & Dune::Fem::FieldMatrixConverter< FieldVector< K, n *m >, FieldMatrix< K, n, m > >::operator= ( const FieldMatrixConverter< FieldVector< K, n *m >, FieldMatrix< K, n, m > > &  other)
inline

Friends And Related Symbol Documentation

◆ operator<<

template<typename K , int n, int m>
std::ostream & operator<< ( std::ostream s,
const FieldMatrixConverter< FieldVector< K, n *m >, FieldMatrix< K, n, m > > &  a 
)
friend

Sends the matrix to an output stream.

Member Data Documentation

◆ mutableVec_

template<typename K , int n, int m>
bool Dune::Fem::FieldMatrixConverter< FieldVector< K, n *m >, FieldMatrix< K, n, m > >::mutableVec_
protected

◆ vec_

template<typename K , int n, int m>
InteralVectorType* Dune::Fem::FieldMatrixConverter< FieldVector< K, n *m >, FieldMatrix< K, n, m > >::vec_
protected

The documentation for this class was generated from the following file: