- Home
- About DUNE
- Download
- Documentation
- Community
- Development
A Vector of blocks with different blocksizes. More...
#include <dune/istl/vbvector.hh>
Classes | |
class | ConstIterator |
ConstIterator class for sequential access. More... | |
class | CreateIterator |
Iterator class for sequential creation of blocks. More... | |
class | Iterator |
Iterator class for sequential access. More... | |
Public Types | |
enum | { blocklevel = B::blocklevel+2 } |
typedef B::field_type | field_type |
export the type representing the field | |
typedef A | allocator_type |
export the allocator type | |
typedef A::size_type | size_type |
The size type for the index access. | |
typedef BlockVector< B, A > | block_type |
typedef BlockVectorWindow< B, A > | window_type |
typedef base_array_unmanaged < B, A >::iterator | Iterator |
make iterators available as types | |
typedef base_array_unmanaged < B, A >::const_iterator | ConstIterator |
make iterators available as types | |
typedef B | value_type |
for STL compatibility | |
typedef B | member_type |
export the type representing the components | |
typedef RealIterator< B > | iterator |
iterator type for sequential access | |
typedef RealIterator< const B > | const_iterator |
iterator class for sequential access | |
Public Member Functions | |
VariableBlockVector () | |
VariableBlockVector (size_type _nblocks) | |
VariableBlockVector (size_type _nblocks, size_type m) | |
VariableBlockVector (const VariableBlockVector &a) | |
copy constructor, has copy semantics | |
~VariableBlockVector () | |
free dynamic memory | |
void | resize (size_type _nblocks) |
same effect as constructor with same argument | |
void | resize (size_type _nblocks, size_type m) |
same effect as constructor with same argument | |
VariableBlockVector & | operator= (const VariableBlockVector &a) |
assignment | |
VariableBlockVector & | operator= (const field_type &k) |
assign from scalar | |
CreateIterator | createbegin () |
get initial create iterator | |
CreateIterator | createend () |
get create iterator pointing to one after the last block | |
window_type & | operator[] (size_type i) |
random access to blocks | |
const window_type & | operator[] (size_type i) const |
same for read only access | |
Iterator | begin () |
begin Iterator | |
Iterator | end () |
end Iterator | |
Iterator | rbegin () |
Iterator | beforeEnd () |
Iterator | rend () |
Iterator | beforeBegin () |
Iterator | find (size_type i) |
random access returning iterator (end if not contained) | |
ConstIterator | find (size_type i) const |
random access returning iterator (end if not contained) | |
ConstIterator | begin () const |
begin ConstIterator | |
ConstIterator | end () const |
end ConstIterator | |
ConstIterator | rbegin () const |
ConstIterator | beforeEnd () const |
ConstIterator | rend () const |
end ConstIterator | |
size_type | N () const |
number of blocks in the vector (are of variable size here) | |
block_vector_unmanaged & | operator+= (const block_vector_unmanaged &y) |
vector space addition | |
block_vector_unmanaged & | operator-= (const block_vector_unmanaged &y) |
vector space subtraction | |
block_vector_unmanaged & | operator*= (const field_type &k) |
vector space multiplication with scalar | |
block_vector_unmanaged & | operator/= (const field_type &k) |
vector space division by scalar | |
block_vector_unmanaged & | axpy (const field_type &a, const block_vector_unmanaged &y) |
vector space axpy operation | |
field_type | operator* (const 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 | dim () const |
dimension of the vector space | |
const_iterator | beforeBegin () const |
size_type | size () const |
number of blocks in the array (are of size 1 here) | |
Protected Attributes | |
size_type | n |
B * | p |
Friends | |
class | CreateIterator |
A Vector of blocks with different blocksizes.
implements a vector consisting of a number of blocks (to be given at run-time) which themselves consist of a number of blocks (also given at run-time) of the given type B.
VariableBlockVector is a container of containers!
typedef A Dune::VariableBlockVector< B, A >::allocator_type |
export the allocator type
Reimplemented from Dune::block_vector_unmanaged< B, A >.
typedef BlockVector<B,A> Dune::VariableBlockVector< B, A >::block_type |
export the type representing the components, note that this is *not* the type refered to by the iterators and random access. However, it can be used to copy blocks (which is its only purpose).
Reimplemented from Dune::block_vector_unmanaged< B, A >.
typedef RealIterator<const B> Dune::base_array_unmanaged< B, A >::const_iterator [inherited] |
iterator class for sequential access
Reimplemented in Dune::base_array_window< B, A >, and Dune::base_array< B, A >.
typedef base_array_unmanaged<B,A>::const_iterator Dune::block_vector_unmanaged< B, A >::ConstIterator [inherited] |
make iterators available as types
Reimplemented in Dune::BlockVector< B, A >, Dune::BlockVectorWindow< B, A >, and Dune::BlockVector< FieldVector< T, n >, A >.
typedef B::field_type Dune::VariableBlockVector< B, A >::field_type |
export the type representing the field
Reimplemented from Dune::block_vector_unmanaged< B, A >.
typedef RealIterator<B> Dune::base_array_unmanaged< B, A >::iterator [inherited] |
iterator type for sequential access
Reimplemented in Dune::base_array_window< B, A >, and Dune::base_array< B, A >.
typedef base_array_unmanaged<B,A>::iterator Dune::block_vector_unmanaged< B, A >::Iterator [inherited] |
make iterators available as types
Reimplemented in Dune::BlockVector< B, A >, Dune::BlockVectorWindow< B, A >, and Dune::BlockVector< FieldVector< T, n >, A >.
typedef B Dune::base_array_unmanaged< B, A >::member_type [inherited] |
export the type representing the components
Reimplemented in Dune::base_array_window< B, A >, and Dune::base_array< B, A >.
typedef A::size_type Dune::VariableBlockVector< B, A >::size_type |
The size type for the index access.
Reimplemented from Dune::block_vector_unmanaged< B, A >.
typedef B Dune::block_vector_unmanaged< B, A >::value_type [inherited] |
for STL compatibility
typedef BlockVectorWindow<B,A> Dune::VariableBlockVector< B, A >::window_type |
anonymous enum |
increment block level counter, yes, it is two levels because VariableBlockVector is a container of containers
Dune::VariableBlockVector< B, A >::VariableBlockVector | ( | ) | [inline] |
constructor without arguments makes empty vector, object cannot be used yet
Dune::VariableBlockVector< B, A >::VariableBlockVector | ( | size_type | _nblocks | ) | [inline, explicit] |
make vector with given number of blocks, but size of each block is not yet known, object cannot be used yet
Dune::VariableBlockVector< B, A >::VariableBlockVector | ( | size_type | _nblocks, | |
size_type | m | |||
) | [inline] |
make vector with given number of blocks each having a constant size, object is fully usable then.
_nblocks | Number of blocks | |
m | Number of elements in each block |
Dune::VariableBlockVector< B, A >::VariableBlockVector | ( | const VariableBlockVector< B, A > & | a | ) | [inline] |
copy constructor, has copy semantics
Dune::VariableBlockVector< B, A >::~VariableBlockVector | ( | ) | [inline] |
free dynamic memory
block_vector_unmanaged& Dune::block_vector_unmanaged< B, A >::axpy | ( | const field_type & | a, | |
const block_vector_unmanaged< B, A > & | y | |||
) | [inline, inherited] |
vector space axpy operation
Referenced by Dune::block_vector_unmanaged< T, A >::axpy().
const_iterator Dune::base_array_unmanaged< B, A >::beforeBegin | ( | ) | const [inline, inherited] |
Iterator Dune::VariableBlockVector< B, A >::beforeBegin | ( | ) | [inline] |
Reimplemented from Dune::base_array_unmanaged< B, A >.
Referenced by Dune::Matrix< T, A >::beforeBegin(), and Dune::VariableBlockVector< T, A >::rend().
ConstIterator Dune::VariableBlockVector< B, A >::beforeEnd | ( | ) | const [inline] |
Reimplemented from Dune::base_array_unmanaged< B, A >.
Iterator Dune::VariableBlockVector< B, A >::beforeEnd | ( | ) | [inline] |
Reimplemented from Dune::base_array_unmanaged< B, A >.
Referenced by Dune::Matrix< T, A >::beforeEnd(), and Dune::VariableBlockVector< T, A >::rbegin().
ConstIterator Dune::VariableBlockVector< B, A >::begin | ( | ) | const [inline] |
begin ConstIterator
Reimplemented from Dune::base_array_unmanaged< B, A >.
Iterator Dune::VariableBlockVector< B, A >::begin | ( | ) | [inline] |
begin Iterator
Reimplemented from Dune::base_array_unmanaged< B, A >.
Referenced by Dune::Matrix< T, A >::begin(), and test_IO().
CreateIterator Dune::VariableBlockVector< B, A >::createbegin | ( | ) | [inline] |
get initial create iterator
Referenced by test_IO().
CreateIterator Dune::VariableBlockVector< B, A >::createend | ( | ) | [inline] |
get create iterator pointing to one after the last block
Referenced by test_IO().
size_type Dune::block_vector_unmanaged< B, A >::dim | ( | ) | const [inline, inherited] |
dimension of the vector space
ConstIterator Dune::VariableBlockVector< B, A >::end | ( | ) | const [inline] |
end ConstIterator
Reimplemented from Dune::base_array_unmanaged< B, A >.
Iterator Dune::VariableBlockVector< B, A >::end | ( | ) | [inline] |
end Iterator
Reimplemented from Dune::base_array_unmanaged< B, A >.
Referenced by Dune::Matrix< T, A >::end(), and test_IO().
ConstIterator Dune::VariableBlockVector< B, A >::find | ( | size_type | i | ) | const [inline] |
random access returning iterator (end if not contained)
Reimplemented from Dune::base_array_unmanaged< B, A >.
Iterator Dune::VariableBlockVector< B, A >::find | ( | size_type | i | ) | [inline] |
random access returning iterator (end if not contained)
Reimplemented from Dune::base_array_unmanaged< B, A >.
double Dune::block_vector_unmanaged< B, A >::infinity_norm | ( | ) | const [inline, inherited] |
infinity norm (maximum of absolute values of entries)
Referenced by Dune::block_vector_unmanaged< T, A >::infinity_norm().
double Dune::block_vector_unmanaged< B, A >::infinity_norm_real | ( | ) | const [inline, inherited] |
simplified infinity norm (uses Manhattan norm for complex values)
Referenced by Dune::block_vector_unmanaged< T, A >::infinity_norm_real().
size_type Dune::VariableBlockVector< B, A >::N | ( | ) | const [inline] |
number of blocks in the vector (are of variable size here)
Reimplemented from Dune::block_vector_unmanaged< B, A >.
Referenced by Dune::Matrix< T, A >::mv(), Dune::Matrix< T, A >::N(), Dune::Matrix< T, A >::rowdim(), Dune::Matrix< T, A >::umv(), and Dune::Matrix< T, A >::usmv().
double Dune::block_vector_unmanaged< B, A >::one_norm | ( | ) | const [inline, inherited] |
one norm (sum over absolute values of entries)
double Dune::block_vector_unmanaged< B, A >::one_norm_real | ( | ) | const [inline, inherited] |
simplified one norm (uses Manhattan norm for complex values)
field_type Dune::block_vector_unmanaged< B, A >::operator* | ( | const block_vector_unmanaged< B, A > & | y | ) | const [inline, inherited] |
scalar product
block_vector_unmanaged& Dune::block_vector_unmanaged< B, A >::operator*= | ( | const field_type & | k | ) | [inline, inherited] |
vector space multiplication with scalar
block_vector_unmanaged& Dune::block_vector_unmanaged< B, A >::operator+= | ( | const block_vector_unmanaged< B, A > & | y | ) | [inline, inherited] |
vector space addition
block_vector_unmanaged& Dune::block_vector_unmanaged< B, A >::operator-= | ( | const block_vector_unmanaged< B, A > & | y | ) | [inline, inherited] |
vector space subtraction
block_vector_unmanaged& Dune::block_vector_unmanaged< B, A >::operator/= | ( | const field_type & | k | ) | [inline, inherited] |
vector space division by scalar
VariableBlockVector& Dune::VariableBlockVector< B, A >::operator= | ( | const VariableBlockVector< B, A > & | a | ) | [inline] |
assignment
VariableBlockVector& Dune::VariableBlockVector< B, A >::operator= | ( | const field_type & | k | ) | [inline] |
assign from scalar
Reimplemented from Dune::block_vector_unmanaged< B, A >.
const window_type& Dune::VariableBlockVector< B, A >::operator[] | ( | size_type | i | ) | const [inline] |
same for read only access
Reimplemented from Dune::base_array_unmanaged< B, A >.
window_type& Dune::VariableBlockVector< B, A >::operator[] | ( | size_type | i | ) | [inline] |
random access to blocks
Reimplemented from Dune::base_array_unmanaged< B, A >.
Iterator Dune::VariableBlockVector< B, A >::rbegin | ( | ) | [inline] |
Reimplemented from Dune::base_array_unmanaged< B, A >.
ConstIterator Dune::VariableBlockVector< B, A >::rbegin | ( | ) | const [inline] |
Reimplemented from Dune::base_array_unmanaged< B, A >.
Iterator Dune::VariableBlockVector< B, A >::rend | ( | ) | [inline] |
Reimplemented from Dune::base_array_unmanaged< B, A >.
ConstIterator Dune::VariableBlockVector< B, A >::rend | ( | ) | const [inline] |
end ConstIterator
Reimplemented from Dune::base_array_unmanaged< B, A >.
void Dune::VariableBlockVector< B, A >::resize | ( | size_type | _nblocks, | |
size_type | m | |||
) | [inline] |
same effect as constructor with same argument
void Dune::VariableBlockVector< B, A >::resize | ( | size_type | _nblocks | ) | [inline] |
same effect as constructor with same argument
Referenced by Dune::Matrix< T, A >::setSize().
size_type Dune::base_array_unmanaged< B, A >::size | ( | ) | const [inline, inherited] |
number of blocks in the array (are of size 1 here)
Referenced by Dune::Matrix< T, A >::coldim().
double Dune::block_vector_unmanaged< B, A >::two_norm | ( | ) | const [inline, inherited] |
two norm sqrt(sum over squared values of entries)
Referenced by test_Iter().
double Dune::block_vector_unmanaged< B, A >::two_norm2 | ( | ) | const [inline, inherited] |
sqare of two norm (sum over squared values of entries), need for block recursion
friend class CreateIterator [friend] |
size_type Dune::base_array_unmanaged< B, A >::n [protected, inherited] |
Referenced by Dune::base_array_window< B, A >::advance(), Dune::block_vector_unmanaged< T, A >::axpy(), Dune::base_array< B, A >::base_array(), Dune::base_array_unmanaged< T, A >::beforeEnd(), Dune::BlockVector< FieldVector< T, n >, A >::BlockVector(), Dune::BlockVectorWindow< B, A >::BlockVectorWindow(), Dune::block_vector_unmanaged< T, A >::dim(), Dune::base_array_unmanaged< T, A >::end(), Dune::base_array_unmanaged< T, A >::find(), Dune::BlockVectorWindow< B, A >::getsize(), Dune::block_vector_unmanaged< T, A >::infinity_norm(), Dune::block_vector_unmanaged< T, A >::infinity_norm_real(), Dune::base_array_window< B, A >::move(), Dune::block_vector_unmanaged< T, A >::N(), Dune::block_vector_unmanaged< T, A >::one_norm(), Dune::block_vector_unmanaged< T, A >::one_norm_real(), Dune::block_vector_unmanaged< T, A >::operator*(), Dune::block_vector_unmanaged< T, A >::operator*=(), Dune::VariableBlockVector< B, A >::CreateIterator::operator++(), Dune::block_vector_unmanaged< T, A >::operator+=(), Dune::block_vector_unmanaged< T, A >::operator-=(), Dune::block_vector_unmanaged< T, A >::operator/=(), Dune::VariableBlockVector< T, A >::operator=(), Dune::BlockVectorWindow< B, A >::operator=(), Dune::BlockVector< FieldVector< T, n >, A >::operator=(), Dune::block_vector_unmanaged< T, A >::operator=(), Dune::base_array< B, A >::operator=(), Dune::base_array_unmanaged< T, A >::operator[](), Dune::VariableBlockVector< T, A >::resize(), Dune::BlockVector< FieldVector< T, n >, A >::resize(), Dune::base_array< B, A >::resize(), Dune::BlockVectorWindow< B, A >::set(), Dune::base_array_window< B, A >::set(), Dune::BlockVectorWindow< B, A >::setsize(), Dune::base_array_unmanaged< T, A >::size(), Dune::block_vector_unmanaged< T, A >::two_norm(), Dune::block_vector_unmanaged< T, A >::two_norm2(), Dune::VariableBlockVector< T, A >::VariableBlockVector(), Dune::base_array< B, A >::~base_array(), and Dune::VariableBlockVector< T, A >::~VariableBlockVector().
B* Dune::base_array_unmanaged< B, A >::p [protected, inherited] |
Referenced by Dune::base_array_window< B, A >::advance(), Dune::base_array< B, A >::base_array(), Dune::base_array_unmanaged< T, A >::beforeBegin(), Dune::base_array_unmanaged< T, A >::beforeEnd(), Dune::base_array_unmanaged< T, A >::begin(), Dune::BlockVector< FieldVector< T, n >, A >::BlockVector(), Dune::BlockVectorWindow< B, A >::BlockVectorWindow(), Dune::base_array_unmanaged< T, A >::end(), Dune::base_array_unmanaged< T, A >::find(), Dune::BlockVectorWindow< B, A >::getptr(), Dune::base_array_window< B, A >::getptr(), Dune::base_array_window< B, A >::move(), Dune::VariableBlockVector< B, A >::CreateIterator::operator++(), Dune::VariableBlockVector< T, A >::operator=(), Dune::BlockVectorWindow< B, A >::operator=(), Dune::BlockVector< FieldVector< T, n >, A >::operator=(), Dune::base_array< B, A >::operator=(), Dune::base_array_unmanaged< T, A >::operator[](), Dune::BlockVector< FieldVector< T, n >, A >::reserve(), Dune::VariableBlockVector< T, A >::resize(), Dune::base_array< B, A >::resize(), Dune::BlockVectorWindow< B, A >::set(), Dune::base_array_window< B, A >::set(), Dune::BlockVectorWindow< B, A >::setptr(), Dune::VariableBlockVector< T, A >::VariableBlockVector(), Dune::base_array< B, A >::~base_array(), Dune::BlockVector< FieldVector< T, n >, A >::~BlockVector(), and Dune::VariableBlockVector< T, A >::~VariableBlockVector().
Generated on Fri Apr 29 2011 with Doxygen (ver 1.7.1) [doxygen-log,error-log].