dune-istl
2.1.1
|
#include <dune/istl/bvector.hh>
Public Types | |
typedef B::field_type | field_type |
export the type representing the field | |
typedef B | block_type |
export the type representing the components | |
typedef A | allocator_type |
export the allocator type | |
typedef compressed_base_array_unmanaged < B, A >::iterator | Iterator |
make iterators available as types | |
typedef compressed_base_array_unmanaged < B, A >::const_iterator | ConstIterator |
make iterators available as types | |
typedef A::size_type | size_type |
The type for the index access. | |
typedef B | member_type |
export the type representing the components | |
typedef RealIterator< B > | iterator |
The iterator type. | |
typedef RealIterator< const B > | const_iterator |
const_iterator class for sequential access | |
Public Member Functions | |
compressed_block_vector_unmanaged & | operator= (const field_type &k) |
template<class V > | |
compressed_block_vector_unmanaged & | operator+= (const V &y) |
vector space addition | |
template<class V > | |
compressed_block_vector_unmanaged & | operator-= (const V &y) |
vector space subtraction | |
template<class V > | |
compressed_block_vector_unmanaged & | axpy (const field_type &a, const V &y) |
vector space axpy operation | |
compressed_block_vector_unmanaged & | operator*= (const field_type &k) |
vector space multiplication with scalar | |
compressed_block_vector_unmanaged & | operator/= (const field_type &k) |
vector space division by scalar | |
field_type | operator* (const compressed_block_vector_unmanaged &y) const |
scalar product | |
double | one_norm () const |
one norm (sum over absolute values of entries) | |
double | one_norm_real () const |
simplified one norm (uses Manhattan norm for complex values) | |
double | two_norm () const |
two norm sqrt(sum over squared values of entries) | |
double | two_norm2 () const |
sqare of two norm (sum over squared values of entries), need for block recursion | |
double | infinity_norm () const |
infinity norm (maximum of absolute values of entries) | |
double | 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 | |
B & | operator[] (size_type i) |
random access to blocks, assumes ascending ordering | |
const B & | operator[] (size_type i) const |
same for read only access, assumes ascending ordering | |
iterator | begin () |
begin iterator | |
const_iterator | begin () const |
begin const_iterator | |
iterator | end () |
end iterator | |
const_iterator | end () const |
end const_iterator | |
iterator | rbegin () |
const_iterator | rbegin () const |
iterator | beforeEnd () |
const_iterator | beforeEnd () const |
iterator | rend () |
const_iterator | rend () const |
iterator | beforeBegin () |
const_iterator | beforeBegin () const |
iterator | find (size_type i) |
random access returning iterator (end if not contained) | |
const_iterator | find (size_type i) const |
random access returning iterator (end if not contained) | |
size_type | size () const |
number of blocks in the array (are of size 1 here) | |
Protected Member Functions | |
compressed_block_vector_unmanaged () | |
make constructor protected, so only derived classes can be instantiated | |
template<class V > | |
bool | includesindexset (const V &y) |
return true if index sets coincide | |
Protected Attributes | |
size_type | n |
B * | p |
size_type * | j |
compressed_block_vector_unmanaged extends the compressed base_array_unmanaged by vector operations such as addition and scalar multiplication. No memory management is added.
Error checking: no error checking is provided normally. Setting the compile time switch DUNE_ISTL_WITH_CHECKING enables error checking.
typedef A Dune::compressed_block_vector_unmanaged< B, A >::allocator_type |
export the allocator type
Reimplemented from Dune::compressed_base_array_unmanaged< B, A >.
Reimplemented in Dune::CompressedBlockVectorWindow< B, A >.
typedef B Dune::compressed_block_vector_unmanaged< B, A >::block_type |
export the type representing the components
Reimplemented in Dune::CompressedBlockVectorWindow< B, A >.
typedef RealIterator<const B> Dune::compressed_base_array_unmanaged< B, A >::const_iterator [inherited] |
const_iterator class for sequential access
typedef compressed_base_array_unmanaged<B,A>::const_iterator Dune::compressed_block_vector_unmanaged< B, A >::ConstIterator |
make iterators available as types
Reimplemented in Dune::CompressedBlockVectorWindow< B, A >.
typedef B::field_type Dune::compressed_block_vector_unmanaged< B, A >::field_type |
export the type representing the field
Reimplemented in Dune::CompressedBlockVectorWindow< B, A >.
typedef compressed_base_array_unmanaged<B,A>::iterator Dune::compressed_block_vector_unmanaged< B, A >::Iterator |
make iterators available as types
Reimplemented in Dune::CompressedBlockVectorWindow< B, A >.
typedef RealIterator<B> Dune::compressed_base_array_unmanaged< B, A >::iterator [inherited] |
The iterator type.
typedef B Dune::compressed_base_array_unmanaged< B, A >::member_type [inherited] |
export the type representing the components
typedef A::size_type Dune::compressed_block_vector_unmanaged< B, A >::size_type |
The type for the index access.
Reimplemented from Dune::compressed_base_array_unmanaged< B, A >.
Reimplemented in Dune::CompressedBlockVectorWindow< B, A >.
Dune::compressed_block_vector_unmanaged< B, A >::compressed_block_vector_unmanaged | ( | ) | [inline, protected] |
make constructor protected, so only derived classes can be instantiated
compressed_block_vector_unmanaged& Dune::compressed_block_vector_unmanaged< B, A >::axpy | ( | const field_type & | a, |
const V & | y | ||
) | [inline] |
vector space axpy operation
References Dune::compressed_block_vector_unmanaged< B, A >::includesindexset().
iterator Dune::compressed_base_array_unmanaged< B, A >::beforeBegin | ( | ) | [inline, inherited] |
References Dune::compressed_base_array_unmanaged< B, A >::j, and Dune::compressed_base_array_unmanaged< B, A >::p.
Referenced by Dune::compressed_base_array_unmanaged< B, A >::rend().
const_iterator Dune::compressed_base_array_unmanaged< B, A >::beforeBegin | ( | ) | const [inline, inherited] |
References Dune::compressed_base_array_unmanaged< B, A >::j, and Dune::compressed_base_array_unmanaged< B, A >::p.
iterator Dune::compressed_base_array_unmanaged< B, A >::beforeEnd | ( | ) | [inline, inherited] |
References Dune::compressed_base_array_unmanaged< B, A >::j, Dune::compressed_base_array_unmanaged< B, A >::n, and Dune::compressed_base_array_unmanaged< B, A >::p.
Referenced by Dune::compressed_base_array_unmanaged< B, A >::rbegin().
const_iterator Dune::compressed_base_array_unmanaged< B, A >::beforeEnd | ( | ) | const [inline, inherited] |
References Dune::compressed_base_array_unmanaged< B, A >::j, Dune::compressed_base_array_unmanaged< B, A >::n, and Dune::compressed_base_array_unmanaged< B, A >::p.
iterator Dune::compressed_base_array_unmanaged< B, A >::begin | ( | ) | [inline, inherited] |
begin iterator
References Dune::compressed_base_array_unmanaged< B, A >::j, and Dune::compressed_base_array_unmanaged< B, A >::p.
const_iterator Dune::compressed_base_array_unmanaged< B, A >::begin | ( | ) | const [inline, inherited] |
begin const_iterator
References Dune::compressed_base_array_unmanaged< B, A >::j, and Dune::compressed_base_array_unmanaged< B, A >::p.
size_type Dune::compressed_block_vector_unmanaged< B, A >::dim | ( | ) | const [inline] |
dimension of the vector space
References Dune::compressed_base_array_unmanaged< B, A >::n, and Dune::compressed_base_array_unmanaged< B, A >::p.
iterator Dune::compressed_base_array_unmanaged< B, A >::end | ( | ) | [inline, inherited] |
const_iterator Dune::compressed_base_array_unmanaged< B, A >::end | ( | ) | const [inline, inherited] |
end const_iterator
References Dune::compressed_base_array_unmanaged< B, A >::j, Dune::compressed_base_array_unmanaged< B, A >::n, and Dune::compressed_base_array_unmanaged< B, A >::p.
iterator Dune::compressed_base_array_unmanaged< B, A >::find | ( | size_type | i | ) | [inline, inherited] |
random access returning iterator (end if not contained)
References Dune::compressed_base_array_unmanaged< B, A >::j, Dune::compressed_base_array_unmanaged< B, A >::n, and Dune::compressed_base_array_unmanaged< B, A >::p.
Referenced by Dune::compressed_block_vector_unmanaged< B, A >::includesindexset().
const_iterator Dune::compressed_base_array_unmanaged< B, A >::find | ( | size_type | i | ) | const [inline, inherited] |
random access returning iterator (end if not contained)
References Dune::compressed_base_array_unmanaged< B, A >::j, Dune::compressed_base_array_unmanaged< B, A >::n, and Dune::compressed_base_array_unmanaged< B, A >::p.
bool Dune::compressed_block_vector_unmanaged< B, A >::includesindexset | ( | const V & | y | ) | [inline, protected] |
return true if index sets coincide
References Dune::compressed_base_array_unmanaged< B, A >::end(), and Dune::compressed_base_array_unmanaged< B, A >::find().
Referenced by Dune::compressed_block_vector_unmanaged< B, A >::axpy(), Dune::compressed_block_vector_unmanaged< B, A >::operator*(), Dune::compressed_block_vector_unmanaged< B, A >::operator+=(), and Dune::compressed_block_vector_unmanaged< B, A >::operator-=().
double Dune::compressed_block_vector_unmanaged< B, A >::infinity_norm | ( | ) | const [inline] |
infinity norm (maximum of absolute values of entries)
References Dune::compressed_base_array_unmanaged< B, A >::n, and Dune::compressed_base_array_unmanaged< B, A >::p.
double Dune::compressed_block_vector_unmanaged< B, A >::infinity_norm_real | ( | ) | const [inline] |
simplified infinity norm (uses Manhattan norm for complex values)
References Dune::compressed_base_array_unmanaged< B, A >::n, and Dune::compressed_base_array_unmanaged< B, A >::p.
size_type Dune::compressed_block_vector_unmanaged< B, A >::N | ( | ) | const [inline] |
number of blocks in the vector (are of size 1 here)
References Dune::compressed_base_array_unmanaged< B, A >::n.
Referenced by Dune::CompressedBlockVectorWindow< B, A >::operator=().
double Dune::compressed_block_vector_unmanaged< B, A >::one_norm | ( | ) | const [inline] |
one norm (sum over absolute values of entries)
References Dune::compressed_base_array_unmanaged< B, A >::n, and Dune::compressed_base_array_unmanaged< B, A >::p.
double Dune::compressed_block_vector_unmanaged< B, A >::one_norm_real | ( | ) | const [inline] |
simplified one norm (uses Manhattan norm for complex values)
References Dune::compressed_base_array_unmanaged< B, A >::n, and Dune::compressed_base_array_unmanaged< B, A >::p.
field_type Dune::compressed_block_vector_unmanaged< B, A >::operator* | ( | const compressed_block_vector_unmanaged< B, A > & | y | ) | const [inline] |
compressed_block_vector_unmanaged& Dune::compressed_block_vector_unmanaged< B, A >::operator*= | ( | const field_type & | k | ) | [inline] |
vector space multiplication with scalar
References Dune::compressed_base_array_unmanaged< B, A >::n, and Dune::compressed_base_array_unmanaged< B, A >::p.
compressed_block_vector_unmanaged& Dune::compressed_block_vector_unmanaged< B, A >::operator+= | ( | const V & | y | ) | [inline] |
vector space addition
References Dune::compressed_block_vector_unmanaged< B, A >::includesindexset().
compressed_block_vector_unmanaged& Dune::compressed_block_vector_unmanaged< B, A >::operator-= | ( | const V & | y | ) | [inline] |
vector space subtraction
References Dune::compressed_block_vector_unmanaged< B, A >::includesindexset().
compressed_block_vector_unmanaged& Dune::compressed_block_vector_unmanaged< B, A >::operator/= | ( | const field_type & | k | ) | [inline] |
vector space division by scalar
References Dune::compressed_base_array_unmanaged< B, A >::n, and Dune::compressed_base_array_unmanaged< B, A >::p.
compressed_block_vector_unmanaged& Dune::compressed_block_vector_unmanaged< B, A >::operator= | ( | const field_type & | k | ) | [inline] |
Reimplemented in Dune::CompressedBlockVectorWindow< B, A >.
References Dune::compressed_base_array_unmanaged< B, A >::n, and Dune::compressed_base_array_unmanaged< B, A >::p.
B& Dune::compressed_base_array_unmanaged< B, A >::operator[] | ( | size_type | i | ) | [inline, inherited] |
random access to blocks, assumes ascending ordering
References Dune::compressed_base_array_unmanaged< B, A >::j, Dune::compressed_base_array_unmanaged< B, A >::n, and Dune::compressed_base_array_unmanaged< B, A >::p.
const B& Dune::compressed_base_array_unmanaged< B, A >::operator[] | ( | size_type | i | ) | const [inline, inherited] |
same for read only access, assumes ascending ordering
References Dune::compressed_base_array_unmanaged< B, A >::j, Dune::compressed_base_array_unmanaged< B, A >::n, and Dune::compressed_base_array_unmanaged< B, A >::p.
iterator Dune::compressed_base_array_unmanaged< B, A >::rbegin | ( | ) | [inline, inherited] |
References Dune::compressed_base_array_unmanaged< B, A >::beforeEnd().
const_iterator Dune::compressed_base_array_unmanaged< B, A >::rbegin | ( | ) | const [inline, inherited] |
References Dune::compressed_base_array_unmanaged< B, A >::beforeEnd().
iterator Dune::compressed_base_array_unmanaged< B, A >::rend | ( | ) | [inline, inherited] |
References Dune::compressed_base_array_unmanaged< B, A >::beforeBegin().
const_iterator Dune::compressed_base_array_unmanaged< B, A >::rend | ( | ) | const [inline, inherited] |
References Dune::compressed_base_array_unmanaged< B, A >::beforeBegin().
size_type Dune::compressed_base_array_unmanaged< B, A >::size | ( | ) | const [inline, inherited] |
number of blocks in the array (are of size 1 here)
References Dune::compressed_base_array_unmanaged< B, A >::n.
double Dune::compressed_block_vector_unmanaged< B, A >::two_norm | ( | ) | const [inline] |
two norm sqrt(sum over squared values of entries)
References Dune::compressed_base_array_unmanaged< B, A >::n, and Dune::compressed_base_array_unmanaged< B, A >::p.
double Dune::compressed_block_vector_unmanaged< B, A >::two_norm2 | ( | ) | const [inline] |
sqare of two norm (sum over squared values of entries), need for block recursion
References Dune::compressed_base_array_unmanaged< B, A >::n, and Dune::compressed_base_array_unmanaged< B, A >::p.
size_type* Dune::compressed_base_array_unmanaged< B, A >::j [protected, inherited] |
Referenced by Dune::compressed_base_array_unmanaged< B, A >::beforeBegin(), Dune::compressed_base_array_unmanaged< B, A >::beforeEnd(), Dune::compressed_base_array_unmanaged< B, A >::begin(), Dune::CompressedBlockVectorWindow< B, A >::CompressedBlockVectorWindow(), Dune::compressed_base_array_unmanaged< B, A >::end(), Dune::compressed_base_array_unmanaged< B, A >::find(), Dune::CompressedBlockVectorWindow< B, A >::getindexptr(), Dune::compressed_block_vector_unmanaged< B, A >::operator*(), Dune::CompressedBlockVectorWindow< B, A >::operator=(), Dune::compressed_base_array_unmanaged< B, A >::operator[](), Dune::CompressedBlockVectorWindow< B, A >::set(), and Dune::CompressedBlockVectorWindow< B, A >::setindexptr().
size_type Dune::compressed_base_array_unmanaged< B, A >::n [protected, inherited] |
Referenced by Dune::compressed_base_array_unmanaged< B, A >::beforeEnd(), Dune::CompressedBlockVectorWindow< B, A >::CompressedBlockVectorWindow(), Dune::compressed_block_vector_unmanaged< B, A >::dim(), Dune::compressed_base_array_unmanaged< B, A >::end(), Dune::compressed_base_array_unmanaged< B, A >::find(), Dune::CompressedBlockVectorWindow< B, A >::getsize(), Dune::compressed_block_vector_unmanaged< B, A >::infinity_norm(), Dune::compressed_block_vector_unmanaged< B, A >::infinity_norm_real(), Dune::compressed_block_vector_unmanaged< B, A >::N(), Dune::compressed_block_vector_unmanaged< B, A >::one_norm(), Dune::compressed_block_vector_unmanaged< B, A >::one_norm_real(), Dune::compressed_block_vector_unmanaged< B, A >::operator*(), Dune::compressed_block_vector_unmanaged< B, A >::operator*=(), Dune::compressed_block_vector_unmanaged< B, A >::operator/=(), Dune::compressed_block_vector_unmanaged< B, A >::operator=(), Dune::CompressedBlockVectorWindow< B, A >::operator=(), Dune::compressed_base_array_unmanaged< B, A >::operator[](), Dune::CompressedBlockVectorWindow< B, A >::set(), Dune::CompressedBlockVectorWindow< B, A >::setsize(), Dune::compressed_base_array_unmanaged< B, A >::size(), Dune::compressed_block_vector_unmanaged< B, A >::two_norm(), and Dune::compressed_block_vector_unmanaged< B, A >::two_norm2().
B* Dune::compressed_base_array_unmanaged< B, A >::p [protected, inherited] |
Referenced by Dune::compressed_base_array_unmanaged< B, A >::beforeBegin(), Dune::compressed_base_array_unmanaged< B, A >::beforeEnd(), Dune::compressed_base_array_unmanaged< B, A >::begin(), Dune::CompressedBlockVectorWindow< B, A >::CompressedBlockVectorWindow(), Dune::compressed_block_vector_unmanaged< B, A >::dim(), Dune::compressed_base_array_unmanaged< B, A >::end(), Dune::compressed_base_array_unmanaged< B, A >::find(), Dune::CompressedBlockVectorWindow< B, A >::getptr(), Dune::compressed_block_vector_unmanaged< B, A >::infinity_norm(), Dune::compressed_block_vector_unmanaged< B, A >::infinity_norm_real(), Dune::compressed_block_vector_unmanaged< B, A >::one_norm(), Dune::compressed_block_vector_unmanaged< B, A >::one_norm_real(), Dune::compressed_block_vector_unmanaged< B, A >::operator*(), Dune::compressed_block_vector_unmanaged< B, A >::operator*=(), Dune::compressed_block_vector_unmanaged< B, A >::operator/=(), Dune::compressed_block_vector_unmanaged< B, A >::operator=(), Dune::CompressedBlockVectorWindow< B, A >::operator=(), Dune::compressed_base_array_unmanaged< B, A >::operator[](), Dune::CompressedBlockVectorWindow< B, A >::set(), Dune::CompressedBlockVectorWindow< B, A >::setptr(), Dune::compressed_block_vector_unmanaged< B, A >::two_norm(), and Dune::compressed_block_vector_unmanaged< B, A >::two_norm2().