Dune::compressed_block_vector_unmanaged< B, A > Class Template Reference

#include <bvector.hh>

Inheritance diagram for Dune::compressed_block_vector_unmanaged< B, A >:

Dune::compressed_base_array_unmanaged< B, A > Dune::CompressedBlockVectorWindow< B, A > List of all members.

Detailed Description

template<class B, class A = ISTLAllocator>
class Dune::compressed_block_vector_unmanaged< B, A >

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.


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

template<class V>
compressed_block_vector_unmanagedoperator+= (const V &y)
 vector space addition
template<class V>
compressed_block_vector_unmanagedoperator-= (const V &y)
 vector space subtraction
template<class V>
compressed_block_vector_unmanagedaxpy (const field_type &a, const V &y)
 vector space axpy operation
compressed_block_vector_unmanagedoperator *= (const field_type &k)
 vector space multiplication with scalar
compressed_block_vector_unmanagedoperator/= (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 ()
 begin reverse iterator
const_iterator rbegin () const
 begin reverse const_iterator
iterator rend ()
 end reverse iterator
const_iterator rend () const
 end reverse const_iterator
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

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

Generated on 12 Dec 2007 with Doxygen (ver 1.5.1)