CppNoddy  0.85
 All Classes Namespaces Files Functions Variables Typedefs Enumerator Friends Macros Groups Pages
Public Types | Public Member Functions | Friends | List of all members
CppNoddy::DenseVector< _Type > Class Template Reference

An DenseVector class – a dense vector object. More...

#include <DenseVector.h>

Public Types

typedef std::vector< _Type >
::iterator 
elt_iter
typedef std::vector< _Type >
::const_iterator 
elt_citer
typedef std::vector< _Type >
::reverse_iterator 
elt_riter
typedef std::vector< _Type >
::const_reverse_iterator 
elt_criter

Public Member Functions

 DenseVector ()
 Constructor for a non-filled vector, to be filled by the user.
 DenseVector (const std::size_t &size, const _Type &fill)
 Constructor with specified fill-in initialization.
 DenseVector (const std::size_t &size, const _Type *p)
 Construct a Noddy vector from a contiguous set of real data.
template<typename _sourceType >
 DenseVector (const DenseVector< _sourceType > &source)
 A templated implicitly converting copy constructor.
DenseVectoroperator= (const DenseVector &source)
 Copy assignment.
 ~DenseVector ()
elt_iter begin ()
 Pass through to the storage container.
elt_riter rbegin ()
 Pass through to the storage container.
elt_citer begin () const
 Pass through to the storage container.
elt_criter rbegin () const
 Pass through to the storage container.
elt_iter end ()
 Pass through to the storage container.
elt_citer end () const
 Pass through to the storage container.
elt_riter rend ()
 Pass through to the storage container.
elt_criter rend () const
 Pass through to the storage container.
DenseVector< _Type > operator+ (const DenseVector< _Type > &x) const
 Operator overloading for addition.
DenseVector< _Type > operator+ () const
 Overloading for +.
DenseVector< _Type > operator- (const DenseVector< _Type > &x) const
 Operator overloading for subtraction.
DenseVector< _Type > operator- () const
 Overloading for -.
DenseVector< _Type > operator* (const _Type &m) const
 Operator overloading for scalar multiplication.
DenseVector< _Type > operator/ (const _Type &m) const
 Operaotr overloading for scalar division.
const _Type & operator[] (const std::size_t &i) const
 Overloading of the [] operator.
_Type & operator[] (const std::size_t &i)
 Overloading of the [] operator.
DenseVector< _Type > & operator*= (const _Type &m)
 Overloading *= for scalar multiplication.
DenseVector< _Type > & operator/= (const _Type &m)
 Overloading /= for scalar multiplication.
DenseVector< _Type > & operator-= (const DenseVector< _Type > &x)
 Overloading the -= operator.
DenseVector< _Type > & operator+= (const DenseVector< _Type > &x)
 Overloading the += operator.
void push_back (const _Type &fill)
 A pass-thru definition of push_back.
void resize (const std::size_t &length)
 A pass-thru definition of resize.
void assign (const std::size_t n, const _Type elem)
 A pass-thru definition of assign.
void clear ()
 A pass-thru definition of clear.
double one_norm () const
 l1-norm.
double two_norm () const
 l2-norm.
double inf_norm () const
 Infinity norm.
void scale (const _Type &scale)
 Scale each element of the vector, equivalent to *=.
void add (const DenseVector< _Type > &x)
 Add a vector, element wise, equivalent to +=.
void sub (const DenseVector< _Type > &x)
 Subtract a vector, element wise, equivalent to -=.
std::size_t size () const
 A pass-thru definition to get the size of the vector.
std::size_t nelts () const
 Get the number of elements in the vector Since the vector is dense, the number of elements is the size.
void reserve (const std::size_t &n)
 Reserve space for the vector.
void swap (const std::size_t &i, const std::size_t &j)
 Swap elements i and j.
void dump () const
 Dump to std::cout.
template<>
 DenseVector (const DenseVector< double > &source)
template<>
 DenseVector (const DenseVector< std::complex< double > > &source)

Friends

class BandedMatrix< _Type >

Detailed Description

template<typename _Type>
class CppNoddy::DenseVector< _Type >

An DenseVector class – a dense vector object.

This is templated but intended ONLY for double or std::complex<double>. We just encapsulate the STL vector container and pass through a few simple iterators whilst adding appropriate operator overloading and norms.

Definition at line 31 of file DenseVector.h.

Member Typedef Documentation

template<typename _Type>
typedef std::vector<_Type>::const_iterator CppNoddy::DenseVector< _Type >::elt_citer

Definition at line 36 of file DenseVector.h.

template<typename _Type>
typedef std::vector<_Type>::const_reverse_iterator CppNoddy::DenseVector< _Type >::elt_criter

Definition at line 38 of file DenseVector.h.

template<typename _Type>
typedef std::vector<_Type>::iterator CppNoddy::DenseVector< _Type >::elt_iter

Definition at line 35 of file DenseVector.h.

template<typename _Type>
typedef std::vector<_Type>::reverse_iterator CppNoddy::DenseVector< _Type >::elt_riter

Definition at line 37 of file DenseVector.h.

Constructor & Destructor Documentation

template<typename _Type >
CppNoddy::DenseVector< _Type >::DenseVector ( )

Constructor for a non-filled vector, to be filled by the user.

Definition at line 18 of file DenseVector.cpp.

{}
template<typename _Type>
CppNoddy::DenseVector< _Type >::DenseVector ( const std::size_t &  size,
const _Type &  fill 
)

Constructor with specified fill-in initialization.

Parameters
fillData to be initialised to each entry
sizeThe size of the vector to be instantiated

Definition at line 30 of file DenseVector.cpp.

: VEC( size, fill )
{}
template<typename _Type>
CppNoddy::DenseVector< _Type >::DenseVector ( const std::size_t &  size,
const _Type *  p 
)

Construct a Noddy vector from a contiguous set of real data.

This will be nasty if you pass the wrong pointer, but is useful in interfacing with external libraries

Parameters
sizeThe number of elements in the vector.
pA pointer to the start of the data.

Definition at line 22 of file DenseVector.cpp.

{
VEC.reserve( size );
// assign the array contents to the vector
VEC.assign( p, p + size );
}
template<typename _Type>
template<typename _sourceType >
CppNoddy::DenseVector< _Type >::DenseVector ( const DenseVector< _sourceType > &  source)
inline

A templated implicitly converting copy constructor.

Note this is specialised for double to double and std::complex<double> to std::complex<double> copy construction.

Parameters
sourceThe DenseVector to be used in the initialising.

Definition at line 60 of file DenseVector.h.

{
// size the current vector
VEC.resize( source.size() );
elt_iter p_local( VEC.begin() );
for ( typename DenseVector<_sourceType>::elt_citer
p_from = source.begin();
p_from != source.end();
++p_from, ++p_local )
{
*p_local = *p_from;
}
}
template<typename _Type >
CppNoddy::DenseVector< _Type >::~DenseVector ( )
inline

Definition at line 272 of file DenseVector.h.

{}
template<>
CppNoddy::DenseVector< double >::DenseVector ( const DenseVector< double > &  source)
inline

Definition at line 278 of file DenseVector.h.

{
VEC = source.VEC;
}
template<>
CppNoddy::DenseVector< std::complex< double > >::DenseVector ( const DenseVector< std::complex< double > > &  source)
inline

Definition at line 285 of file DenseVector.h.

References CppNoddy::Example::source().

{
VEC = source.VEC;
}

Member Function Documentation

template<typename _Type>
void CppNoddy::DenseVector< _Type >::add ( const DenseVector< _Type > &  x)

Add a vector, element wise, equivalent to +=.

Parameters
xThe vector to be added to this object.

Definition at line 42 of file DenseVector.cpp.

{
operator+=( x );
}
template<typename _Type>
void CppNoddy::DenseVector< _Type >::assign ( const std::size_t  n,
const _Type  elem 
)
inline

A pass-thru definition of assign.

Parameters
nThe number of elements to assign
elemThe element copy to be used in the assign

Definition at line 198 of file DenseVector.h.

{
VEC.assign( n, elem );
}
template<typename _Type>
elt_iter CppNoddy::DenseVector< _Type >::begin ( )
inline

Pass through to the storage container.

Definition at line 82 of file DenseVector.h.

Referenced by CppNoddy::DenseVector< D_complex >::DenseVector(), CppNoddy::Utility::dot(), main(), CppNoddy::DenseVector< _Type >::operator+=(), and CppNoddy::DenseVector< _Type >::operator-=().

{
return VEC.begin();
}
template<typename _Type>
elt_citer CppNoddy::DenseVector< _Type >::begin ( ) const
inline

Pass through to the storage container.

Definition at line 94 of file DenseVector.h.

{
return VEC.begin();
}
template<typename _Type >
void CppNoddy::DenseVector< _Type >::clear ( )
inline

A pass-thru definition of clear.

Definition at line 332 of file DenseVector.h.

References CppNoddy::DenseVector< _Type >::clear().

Referenced by CppNoddy::DenseVector< _Type >::clear().

{
VEC.clear();
}
template<typename _Type >
void CppNoddy::DenseVector< _Type >::dump ( ) const

Dump to std::cout.

Definition at line 72 of file DenseVector.cpp.

Referenced by main().

{
std::cout << "size = " << size() << "\n";
for ( std::size_t i = 0; i < size(); ++i )
{
std::cout << VEC[ i ] << ", ";
}
std::cout << "\n";
}
template<typename _Type>
elt_iter CppNoddy::DenseVector< _Type >::end ( )
inline
template<typename _Type>
elt_citer CppNoddy::DenseVector< _Type >::end ( ) const
inline

Pass through to the storage container.

Definition at line 112 of file DenseVector.h.

{
return VEC.end();
}
template<typename _Type >
double CppNoddy::DenseVector< _Type >::inf_norm ( ) const
template<typename _Type >
std::size_t CppNoddy::DenseVector< _Type >::nelts ( ) const
inline

Get the number of elements in the vector Since the vector is dense, the number of elements is the size.

Returns
The number of elements in the vector.

Definition at line 350 of file DenseVector.h.

References CppNoddy::DenseVector< _Type >::size().

{
return VEC.size();
}
template<typename _Type >
double CppNoddy::DenseVector< _Type >::one_norm ( ) const

l1-norm.

Returns
The square-root of the sum of the squares.

Definition at line 54 of file DenseVector.cpp.

Referenced by main(), and CppNoddy::BandedMatrix< _Type >::one_norm().

{
return accumulate( begin(), end(), 0.0, absAdd_functor<_Type>() );
}
template<typename _Type>
DenseVector< _Type > CppNoddy::DenseVector< _Type >::operator* ( const _Type &  m) const
inline

Operator overloading for scalar multiplication.

Parameters
mThe scalar multiplier
Returns
The 'this' vector scaled by the constant 'm'

Definition at line 362 of file DenseVector.h.

References m.

{
DenseVector<_Type> temp( *this );
temp *= m;
return temp;
}
template<typename _Type>
DenseVector< _Type > & CppNoddy::DenseVector< _Type >::operator*= ( const _Type &  m)
inline

Overloading *= for scalar multiplication.

Parameters
mThe scalar multiplier
Returns
A reference to the 'this' vector multiplied by the scalar

Definition at line 370 of file DenseVector.h.

References m.

{
// run thru VEC from begin to end, transforming into
// VEC container starting from begin using functor
std::transform( VEC.begin(), VEC.end(), VEC.begin(), scale_functor<_Type, _Type>( m ) );
return *this;
}
template<typename _Type>
DenseVector< _Type > CppNoddy::DenseVector< _Type >::operator+ ( const DenseVector< _Type > &  x) const
inline

Operator overloading for addition.

Parameters
xThe dense vector to be added
Returns
The sum of 'this' and x

Definition at line 453 of file DenseVector.h.

References CppNoddy::DenseVector< _Type >::size().

{
#ifdef PARANOID
if ( x.size() != size() )
{
std::string problem;
problem = " The DenseVector.operator+ method is trying to use \n";
problem += " two vectors of unequal length \n";
throw ExceptionGeom( problem, size(), x.size() );
}
#endif
DenseVector<_Type> temp( *this );
temp += x;
return temp;
}
template<typename _Type>
DenseVector< _Type > CppNoddy::DenseVector< _Type >::operator+ ( ) const
inline

Overloading for +.

Returns
+this

Definition at line 338 of file DenseVector.h.

{
return * this;
}
template<typename _Type>
DenseVector< _Type > & CppNoddy::DenseVector< _Type >::operator+= ( const DenseVector< _Type > &  x)
inline

Overloading the += operator.

Parameters
xA dense vector that will be added to 'this'
Returns
A reference to the 'this' vector after addition by x

Definition at line 412 of file DenseVector.h.

References CppNoddy::DenseVector< _Type >::begin(), and CppNoddy::DenseVector< _Type >::size().

{
#ifdef PARANOID
if ( x.size() != size() )
{
std::string problem;
problem = " The DenseVector.operator+= method is trying to use \n";
problem += " two vectors of unequal length \n";
throw ExceptionGeom( problem, size(), x.size() );
}
#endif
std::transform( VEC.begin(), VEC.end(), x.begin(), VEC.begin(), std::plus<_Type>() );
return *this;
}
template<typename _Type>
DenseVector< _Type > CppNoddy::DenseVector< _Type >::operator- ( const DenseVector< _Type > &  x) const
inline

Operator overloading for subtraction.

Parameters
xThe dense vector to be subtracted from 'this'
Returns
The subtraction of x from 'this'

Definition at line 428 of file DenseVector.h.

References CppNoddy::DenseVector< _Type >::size().

{
#ifdef PARANOID
if ( x.size() != size() )
{
std::string problem;
problem = " The DenseVector.operator- method is trying to use \n";
problem += " two vectors of unequal length \n";
throw ExceptionGeom( problem, size(), x.size() );
}
#endif
DenseVector<_Type> temp( *this );
temp -= x;
return temp;
}
template<typename _Type>
DenseVector< _Type > CppNoddy::DenseVector< _Type >::operator- ( ) const
inline

Overloading for -.

Returns
-this

Definition at line 445 of file DenseVector.h.

{
DenseVector<_Type> temp( *this );
temp *= -1;
return temp;
}
template<typename _Type>
DenseVector< _Type > & CppNoddy::DenseVector< _Type >::operator-= ( const DenseVector< _Type > &  x)
inline

Overloading the -= operator.

Parameters
xA dense vector that will be subtracted from 'this'
Returns
A reference to the 'this' vector after subtraction by x

Definition at line 396 of file DenseVector.h.

References CppNoddy::DenseVector< _Type >::begin(), and CppNoddy::DenseVector< _Type >::size().

{
#ifdef PARANOID
if ( x.size() != size() )
{
std::string problem;
problem = " The DenseVector.operator-= method is trying to use \n";
problem += " two vectors of unequal length \n";
throw ExceptionGeom( problem, size(), x.size() );
}
#endif
std::transform( VEC.begin(), VEC.end(), x.begin(), VEC.begin(), std::minus<_Type>() );
return *this;
}
template<typename _Type>
DenseVector< _Type > CppNoddy::DenseVector< _Type >::operator/ ( const _Type &  m) const
inline

Operaotr overloading for scalar division.

Parameters
mThe scalar divisor
Returns
The 'this' vector divided by the constant 'm'

Definition at line 379 of file DenseVector.h.

References m.

{
DenseVector<_Type> temp( *this );
temp *= ( 1. / m );
return temp;
}
template<typename _Type>
DenseVector< _Type > & CppNoddy::DenseVector< _Type >::operator/= ( const _Type &  m)
inline

Overloading /= for scalar multiplication.

Parameters
mThe scalar divisor
Returns
A reference to the 'this' vector divided by the scalar

Definition at line 387 of file DenseVector.h.

References m.

{
// run thru VECfrom begin to end, transforming into
// VEC container starting from begin using functor
std::transform( VEC.begin(), VEC.end(), VEC.begin(), scale_functor<_Type, _Type>( 1.0 / m ) );
return *this;
}
template<typename _Type >
DenseVector< _Type > & CppNoddy::DenseVector< _Type >::operator= ( const DenseVector< _Type > &  source)
inline

Copy assignment.

Parameters
sourceObject to copy
Returns
The new object

Definition at line 470 of file DenseVector.h.

{
if ( this == &source )
return *this;
VEC = source.VEC;
return *this;
}
template<typename _Type >
const _Type & CppNoddy::DenseVector< _Type >::operator[] ( const std::size_t &  i) const
inline

Overloading of the [] operator.

Parameters
iThe index of the element to be accessed
Returns
The element stored at index i (read only)

Definition at line 305 of file DenseVector.h.

{
#ifdef PARANOID
if ( ( i < 0 ) || ( i >= size() ) )
{
std::string problem;
problem = " The DenseVector.operator[] method has a range error. \n";
throw ExceptionRange( problem, size(), i );
}
#endif
return VEC[ i ];
}
template<typename _Type >
_Type & CppNoddy::DenseVector< _Type >::operator[] ( const std::size_t &  i)
inline

Overloading of the [] operator.

Parameters
iThe index of the element to be accessed
Returns
The element stored at index i (read/write)

Definition at line 291 of file DenseVector.h.

{
#ifdef PARANOID
if ( ( i < 0 ) || ( i >= size() ) )
{
std::string problem;
problem = " The DenseVector.operator[] method has a range error. \n";
throw ExceptionRange( problem, size(), i );
}
#endif
return VEC[ i ];
}
template<typename _Type>
void CppNoddy::DenseVector< _Type >::push_back ( const _Type &  fill)
inline
template<typename _Type>
elt_riter CppNoddy::DenseVector< _Type >::rbegin ( )
inline

Pass through to the storage container.

Definition at line 88 of file DenseVector.h.

{
return VEC.rbegin();
}
template<typename _Type>
elt_criter CppNoddy::DenseVector< _Type >::rbegin ( ) const
inline

Pass through to the storage container.

Definition at line 100 of file DenseVector.h.

{
return VEC.rbegin();
}
template<typename _Type>
elt_riter CppNoddy::DenseVector< _Type >::rend ( )
inline

Pass through to the storage container.

Definition at line 118 of file DenseVector.h.

{
return VEC.rend();
}
template<typename _Type>
elt_criter CppNoddy::DenseVector< _Type >::rend ( ) const
inline

Pass through to the storage container.

Definition at line 124 of file DenseVector.h.

{
return VEC.rend();
}
template<typename _Type >
void CppNoddy::DenseVector< _Type >::reserve ( const std::size_t &  n)
inline

Reserve space for the vector.

Parameters
nThe number of elements to reserve space for

Definition at line 356 of file DenseVector.h.

References CppNoddy::DenseVector< _Type >::reserve().

Referenced by CppNoddy::DenseMatrix< _Type >::matrix_to_vector(), CppNoddy::DenseMatrix< _Type >::multiply(), CppNoddy::DenseVector< _Type >::reserve(), and CppNoddy::Utility::uniform_node_vector().

{
VEC.reserve( n );
}
template<typename _Type >
void CppNoddy::DenseVector< _Type >::resize ( const std::size_t &  length)
inline

A pass-thru definition of resize.

Parameters
lengthThe target length after resizing

Definition at line 326 of file DenseVector.h.

References CppNoddy::DenseVector< _Type >::resize().

Referenced by CppNoddy::DenseVector< _Type >::resize().

{
VEC.resize( length );
}
template<typename _Type>
void CppNoddy::DenseVector< _Type >::scale ( const _Type &  scale)

Scale each element of the vector, equivalent to *=.

Parameters
scaleThe value to scale each element by.

Definition at line 35 of file DenseVector.cpp.

Referenced by CppNoddy::FnQuadrature::Gauss().

{
}
template<typename _Type >
std::size_t CppNoddy::DenseVector< _Type >::size ( ) const
inline

A pass-thru definition to get the size of the vector.

Since the vector is dense, the number of elements is the size.

Returns
The number of elements in the vector.

Definition at line 344 of file DenseVector.h.

References CppNoddy::DenseVector< _Type >::size().

Referenced by CppNoddy::ODE_EVP< _Type >::add_tagged_to_mesh(), CppNoddy::ArcLength_base< _Type >::arclength_residual(), CppNoddy::DenseVector< D_complex >::DenseVector(), CppNoddy::Utility::dot(), CppNoddy::Example::NlinAdv::edge_values(), CppNoddy::Example::Acoustic_1d_ref::edge_values(), CppNoddy::Example::Euler_1d::edge_values(), CppNoddy::Example::Shallow_1d_ref::edge_values(), CppNoddy::Example::Euler_2d::edge_values(), CppNoddy::Example::RayTay::edge_values(), CppNoddy::Example::Shallow_2d_source::edge_values(), CppNoddy::Utility::fill(), CppNoddy::Utility::fill_random(), CppNoddy::FnQuadrature::Gauss(), CppNoddy::OneD_TVDLF_Mesh::get_slope(), CppNoddy::LinearEigenSystem_base::get_tagged_eigenvectors(), CppNoddy::Utility::imag(), CppNoddy::Newton< _Type >::iterate(), CppNoddy::ArcLength_base< D_complex >::Jac_arclength_residual(), main(), CppNoddy::TwoD_TVDLF_Mesh::maxmod(), CppNoddy::TwoD_TVDLF_Mesh::minmod(), CppNoddy::DenseMatrix< _Type >::multiply(), CppNoddy::DenseVector< _Type >::nelts(), CppNoddy::OneD_Node_Mesh< D_complex >::normalise(), CppNoddy::ODE_EVP< _Type >::ODE_EVP(), CppNoddy::OneD_Node_Mesh< D_complex >::OneD_Node_Mesh(), CppNoddy::OneD_TVDLF_Mesh::OneD_TVDLF_Mesh(), CppNoddy::DenseVector< _Type >::operator+(), CppNoddy::DenseVector< _Type >::operator+=(), CppNoddy::DenseVector< _Type >::operator-(), CppNoddy::DenseVector< _Type >::operator-=(), CppNoddy::Utility::real(), CppNoddy::OneD_Node_Mesh< _Type, _Xtype >::remesh1(), CppNoddy::TwoD_Node_Mesh< _Type >::remesh1(), CppNoddy::TwoD_Node_Mesh< _Type >::set_nodes_vars(), CppNoddy::OneD_Node_Mesh< _Type, _Xtype >::set_nodes_vars(), CppNoddy::OneD_Node_Mesh< _Type, _Xtype >::set_vars_from_vector(), CppNoddy::ODE_IVP< _Type >::shoot4(), CppNoddy::ODE_IVP< _Type >::shoot45(), CppNoddy::DenseVector< _Type >::size(), CppNoddy::FnQuadrature::sub_Gauss(), CppNoddy::LinearEigenSystem_base::tag_eigenvalues_all(), CppNoddy::LinearEigenSystem_base::tag_eigenvalues_disc(), CppNoddy::LinearEigenSystem_base::tag_eigenvalues_left(), CppNoddy::LinearEigenSystem_base::tag_eigenvalues_lower(), CppNoddy::LinearEigenSystem_base::tag_eigenvalues_right(), CppNoddy::LinearEigenSystem_base::tag_eigenvalues_upper(), CppNoddy::FnQuadrature::trapezium(), CppNoddy::TwoD_TVDLF_Mesh::TwoD_TVDLF_Mesh(), and CppNoddy::ArcLength_base< _Type >::update_theta().

{
return VEC.size();
}
template<typename _Type>
void CppNoddy::DenseVector< _Type >::sub ( const DenseVector< _Type > &  x)

Subtract a vector, element wise, equivalent to -=.

Parameters
xThe vector to be subtracted from this object.

Definition at line 48 of file DenseVector.cpp.

Referenced by main().

{
operator-=( x );
}
template<typename _Type >
void CppNoddy::DenseVector< _Type >::swap ( const std::size_t &  i,
const std::size_t &  j 
)

Swap elements i and j.

Parameters
iThe index of the element to swap.
jThe index of the other element to swap.

Definition at line 83 of file DenseVector.cpp.

{
#ifdef PARANOID
if ( ( i >= size() ) || ( j >= size() ) )
{
std::string problem;
problem = " The DenseVector.swap method is trying to access \n";
problem += " outside the max/min number of elements. \n";
if ( i > size() )
throw ExceptionRange( problem, size(), i );
if ( j > size() )
throw ExceptionRange( problem, size(), j );
}
#endif
std::swap<_Type>( VEC[ i ], VEC[ j ] );
}
template<typename _Type >
double CppNoddy::DenseVector< _Type >::two_norm ( ) const

l2-norm.

No attention paid to possible overflow for large vectors.

Returns
The square-root of the sum of the squares.

Definition at line 60 of file DenseVector.cpp.

Referenced by CppNoddy::BandedMatrix< _Type >::frob_norm(), main(), and CppNoddy::BandedMatrix< _Type >::two_norm().

{
return std::sqrt( accumulate( begin(), end(), 0.0, absSquareAdd_functor<_Type>() ) );
}

Friends And Related Function Documentation

template<typename _Type>
friend class BandedMatrix< _Type >
friend

Definition at line 258 of file DenseVector.h.


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

© 2012

R.E. Hewitt