dune-common 2.10
|
vector space out of a tensor product of fields. More...
#include <dune/common/fvector.hh>
Public Types | |
typedef Base::size_type | size_type |
typedef Base::value_type | value_type |
typedef value_type & | reference |
The type used for references to the vector entry. | |
typedef const value_type & | const_reference |
The type used for const references to the vector entry. | |
typedef Traits::derived_type | derived_type |
type of derived vector class | |
typedef FieldTraits< value_type >::field_type | field_type |
export the type representing the field | |
typedef Traits::value_type | block_type |
export the type representing the components | |
typedef DenseIterator< DenseVector, value_type > | Iterator |
Iterator class for sequential access. | |
typedef Iterator | iterator |
typedef for stl compliant access | |
typedef DenseIterator< const DenseVector, const value_type > | ConstIterator |
ConstIterator class for sequential access. | |
typedef ConstIterator | const_iterator |
typedef for stl compliant access | |
Public Member Functions | |
constexpr | FieldVector () noexcept |
Default constructor, making value-initialized vector with all components set to zero. | |
constexpr | FieldVector (const K &k) noexcept(std::is_nothrow_copy_assignable_v< K >) |
Constructor making vector with identical coordinates. | |
constexpr | FieldVector (const std::initializer_list< K > &l) |
Construct from a std::initializer_list. | |
template<class T , std::enable_if_t< IsFieldVectorSizeCorrect< T, dimension >::value, int > = 0, decltype(std::declval< K & >()=std::declval< const T & >()[0], bool{}) = true> | |
FieldVector (const DenseVector< T > &x) | |
Constructor from another dense vector if the elements are assignable to K. | |
template<class T , std::enable_if_t< std::is_assignable_v< K &, const T & >, int > = 0> | |
constexpr | FieldVector (const FieldVector< T, SIZE > &x) noexcept(std::is_nothrow_assignable_v< K &, const T & >) |
Converting constructor from FieldVector with different element type. | |
template<class K1 , int SIZE1, std::enable_if_t<(SIZE1 !=SIZE), int > = 0> | |
FieldVector (const FieldVector< K1, SIZE1 > &)=delete | |
Converting constructor with FieldVector of different size (deleted) | |
FieldVector (const FieldVector &)=default | |
Copy constructor with default behavior. | |
template<class T , std::enable_if_t< IsFieldVectorSizeCorrect< T, dimension >::value, int > = 0, decltype(std::declval< K & >()=std::declval< const T & >()[0], bool{}) = true> | |
FieldVector & | operator= (const DenseVector< T > &x) |
Assignment from another dense vector. | |
template<class T , std::enable_if_t< std::is_assignable_v< K &, const T & >, int > = 0> | |
FieldVector & | operator= (const FieldVector< T, SIZE > &x) noexcept(std::is_nothrow_assignable_v< K &, const T & >) |
Converting assignment operator from FieldVector with different element type. | |
template<class K1 , int SIZE1, std::enable_if_t<(SIZE1 !=SIZE), int > = 0> | |
FieldVector & | operator= (const FieldVector< K1, SIZE1 > &)=delete |
Converting assignment operator with FieldVector of different size (deleted) | |
constexpr FieldVector & | operator= (const FieldVector &)=default |
Copy assignment operator with default behavior. | |
reference | operator[] (size_type i) |
Return a reference to the i th element. | |
const_reference | operator[] (size_type i) const |
Return a (const) reference to the i th element. | |
constexpr K * | data () noexcept |
Return pointer to underlying array. | |
constexpr const K * | data () const noexcept |
Return pointer to underlying array. | |
value_type & | front () |
return reference to first element | |
const value_type & | front () const |
return reference to first element | |
value_type & | back () |
return reference to last element | |
const value_type & | back () const |
return reference to last element | |
bool | empty () const |
checks whether the container is empty | |
size_type | size () const |
size method | |
Iterator | begin () |
begin iterator | |
ConstIterator | begin () const |
begin ConstIterator | |
Iterator | end () |
end iterator | |
ConstIterator | end () const |
end ConstIterator | |
Iterator | beforeEnd () |
ConstIterator | beforeEnd () const |
Iterator | beforeBegin () |
ConstIterator | beforeBegin () const |
Iterator | find (size_type i) |
return iterator to given element or end() | |
ConstIterator | find (size_type i) const |
return iterator to given element or end() | |
derived_type & | operator+= (const DenseVector< Other > &x) |
vector space addition | |
std::enable_if< std::is_convertible< ValueType, value_type >::value, derived_type >::type & | operator+= (const ValueType &kk) |
vector space add scalar to all comps | |
derived_type & | operator-= (const DenseVector< Other > &x) |
vector space subtraction | |
std::enable_if< std::is_convertible< ValueType, value_type >::value, derived_type >::type & | operator-= (const ValueType &kk) |
vector space subtract scalar from all comps | |
derived_type | operator+ (const DenseVector< Other > &b) const |
Binary vector addition. | |
derived_type | operator- (const DenseVector< Other > &b) const |
Binary vector subtraction. | |
derived_type | operator- () const |
Vector negation. | |
std::enable_if< std::is_convertible< FieldType, field_type >::value, derived_type >::type & | operator*= (const FieldType &kk) |
vector space multiplication with scalar | |
std::enable_if< std::is_convertible< FieldType, field_type >::value, derived_type >::type & | operator/= (const FieldType &kk) |
vector space division by scalar | |
bool | operator== (const DenseVector< Other > &x) const |
Binary vector comparison. | |
bool | operator!= (const DenseVector< Other > &x) const |
Binary vector incomparison. | |
derived_type & | axpy (const field_type &a, const DenseVector< Other > &x) |
vector space axpy operation ( *this += a x ) | |
PromotionTraits< field_type, typenameDenseVector< Other >::field_type >::PromotedType | operator* (const DenseVector< Other > &x) const |
indefinite vector dot product ![]() | |
PromotionTraits< field_type, typenameDenseVector< Other >::field_type >::PromotedType | dot (const DenseVector< Other > &x) const |
vector dot product ![]() | |
FieldTraits< value_type >::real_type | one_norm () const |
one norm (sum over absolute values of entries) | |
FieldTraits< value_type >::real_type | one_norm_real () const |
simplified one norm (uses Manhattan norm for complex values) | |
FieldTraits< value_type >::real_type | two_norm () const |
two norm sqrt(sum over squared values of entries) | |
FieldTraits< value_type >::real_type | two_norm2 () const |
square of two norm (sum over squared values of entries), need for block recursion | |
FieldTraits< vt >::real_type | infinity_norm () const |
infinity norm (maximum of absolute values of entries) | |
FieldTraits< vt >::real_type | infinity_norm () const |
infinity norm (maximum of absolute values of entries) | |
FieldTraits< vt >::real_type | infinity_norm_real () const |
simplified infinity norm (uses Manhattan norm for complex values) | |
FieldTraits< vt >::real_type | infinity_norm_real () const |
simplified infinity norm (uses Manhattan norm for complex values) | |
size_type | N () const |
number of blocks in the vector (are of size 1 here) | |
size_type | dim () const |
dimension of the vector space | |
Static Public Member Functions | |
static constexpr size_type | size () noexcept |
Obtain the number of elements stored in the vector. | |
Static Public Attributes | |
static constexpr int | dimension = SIZE |
The size of this vector. | |
static constexpr int | blocklevel |
The number of block levels we contain. This is the leaf, that is, 1. | |
Related Symbols | |
(Note that these are not member symbols.) | |
template<class K , int SIZE> | |
std::istream & | operator>> (std::istream &in, FieldVector< K, SIZE > &v) |
Read a FieldVector from an input stream. | |
std::ostream & | operator<< (std::ostream &s, const DenseVector< FieldVector< K, SIZE > > &v) |
Write a DenseVector to an output stream. | |
vector space out of a tensor product of fields.
K | the field type (use float, double, complex, etc) |
SIZE | number of components. |
|
inherited |
export the type representing the components
|
inherited |
typedef for stl compliant access
typedef const value_type& Dune::FieldVector< K, SIZE >::const_reference |
The type used for const references to the vector entry.
|
inherited |
ConstIterator class for sequential access.
|
inherited |
type of derived vector class
|
inherited |
export the type representing the field
|
inherited |
Iterator class for sequential access.
|
inherited |
typedef for stl compliant access
typedef value_type& Dune::FieldVector< K, SIZE >::reference |
The type used for references to the vector entry.
typedef Base::size_type Dune::FieldVector< K, SIZE >::size_type |
typedef Base::value_type Dune::FieldVector< K, SIZE >::value_type |
|
inlineconstexprnoexcept |
Default constructor, making value-initialized vector with all components set to zero.
|
inlineexplicitconstexprnoexcept |
Constructor making vector with identical coordinates.
|
inlineconstexpr |
Construct from a std::initializer_list.
|
inline |
Constructor from another dense vector if the elements are assignable to K.
|
inlineexplicitconstexprnoexcept |
Converting constructor from FieldVector with different element type.
|
explicitdelete |
Converting constructor with FieldVector of different size (deleted)
|
default |
Copy constructor with default behavior.
|
inlineinherited |
vector space axpy operation ( *this += a x )
|
inlineinherited |
return reference to last element
|
inlineinherited |
return reference to last element
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
begin iterator
|
inlineinherited |
begin ConstIterator
|
inlineconstexprnoexcept |
Return pointer to underlying array.
|
inlineconstexprnoexcept |
Return pointer to underlying array.
|
inlineinherited |
dimension of the vector space
|
inlineinherited |
vector dot product
http://www.mcs.anl.gov/petsc/petsc-current/docs/manualpages/Vec/VecDot.html
x | other vector |
|
inlineinherited |
checks whether the container is empty
|
inlineinherited |
end iterator
|
inlineinherited |
end ConstIterator
|
inlineinherited |
return iterator to given element or end()
|
inlineinherited |
return iterator to given element or end()
|
inlineinherited |
return reference to first element
|
inlineinherited |
return reference to first element
|
inlineinherited |
infinity norm (maximum of absolute values of entries)
|
inlineinherited |
infinity norm (maximum of absolute values of entries)
|
inlineinherited |
simplified infinity norm (uses Manhattan norm for complex values)
|
inlineinherited |
simplified infinity norm (uses Manhattan norm for complex values)
|
inlineinherited |
number of blocks in the vector (are of size 1 here)
|
inlineinherited |
one norm (sum over absolute values of entries)
|
inlineinherited |
simplified one norm (uses Manhattan norm for complex values)
|
inlineinherited |
Binary vector incomparison.
|
inlineinherited |
indefinite vector dot product
http://www.mcs.anl.gov/petsc/petsc-current/docs/manualpages/Vec/VecTDot.html
x | other vector |
|
inlineinherited |
vector space multiplication with scalar
we use enable_if to avoid an ambiguity, if the function parameter can be converted to field_type implicitly. (see FS#1457)
The function is only enabled, if the parameter is directly convertible to field_type.
|
inlineinherited |
Binary vector addition.
|
inlineinherited |
vector space addition
|
inlineinherited |
vector space add scalar to all comps
we use enable_if to avoid an ambiguity, if the function parameter can be converted to value_type implicitly. (see FS#1457)
The function is only enabled, if the parameter is directly convertible to value_type.
|
inlineinherited |
Vector negation.
|
inlineinherited |
Binary vector subtraction.
|
inlineinherited |
vector space subtraction
|
inlineinherited |
vector space subtract scalar from all comps
we use enable_if to avoid an ambiguity, if the function parameter can be converted to value_type implicitly. (see FS#1457)
The function is only enabled, if the parameter is directly convertible to value_type.
|
inlineinherited |
vector space division by scalar
we use enable_if to avoid an ambiguity, if the function parameter can be converted to field_type implicitly. (see FS#1457)
The function is only enabled, if the parameter is directly convertible to field_type.
|
inline |
Assignment from another dense vector.
|
constexprdefault |
Copy assignment operator with default behavior.
|
delete |
Converting assignment operator with FieldVector of different size (deleted)
|
inlinenoexcept |
Converting assignment operator from FieldVector with different element type.
|
inlineinherited |
Binary vector comparison.
|
inline |
Return a reference to the i
th element.
|
inline |
Return a (const) reference to the i
th element.
|
inlineinherited |
size method
|
inlinestaticconstexprnoexcept |
Obtain the number of elements stored in the vector.
|
inlineinherited |
two norm sqrt(sum over squared values of entries)
|
inlineinherited |
square of two norm (sum over squared values of entries), need for block recursion
|
related |
Write a DenseVector to an output stream.
[in] | s | std :: ostream to write to |
[in] | v | DenseVector to write |
|
staticconstexprinherited |
The number of block levels we contain. This is the leaf, that is, 1.
|
staticconstexpr |
The size of this vector.