yat  0.8.3pre
Public Types | Public Member Functions | Protected Attributes | Related Functions
theplu::yat::utility::VectorBase Class Reference

This is the yat interface to GSL vector. More...

#include <yat/utility/VectorBase.h>

Inheritance diagram for theplu::yat::utility::VectorBase:
theplu::yat::utility::VectorConstView theplu::yat::utility::VectorMutable theplu::yat::utility::Vector theplu::yat::utility::VectorView

List of all members.

Public Types

typedef double value_type
typedef const double & const_reference
typedef StrideIterator< const
double * > 
const_iterator
 VectorBase::const_iterator.

Public Member Functions

 VectorBase (const gsl_vector *v=NULL)
 Constructor.
virtual ~VectorBase (void)
const_iterator begin (void) const
const_iterator end (void) const
bool equal (const VectorBase &, const double precision=0) const
 Check whether VectorBases are equal within a user defined precision, set by precision.
const gsl_vector * gsl_vector_p (void) const
virtual bool isview (void) const =0
size_t size (void) const
const double & operator() (size_t i) const
 Element access operator.
bool operator== (const VectorBase &) const
 Comparison operator. Takes linear time.
bool operator!= (const VectorBase &) const
 Comparison operator. Takes linear time.
double operator* (const VectorBase &) const

Protected Attributes

const gsl_vector * const_vec_
 pointer to underlying GSL vector

Related Functions

(Note that these are not member functions.)

Vector operator* (const VectorBase &, const Matrix &)
 Matrix Vector multiplication.
bool isnull (const VectorBase &)
 Check if all elements of the VectorBase are zero.
double max (const VectorBase &)
 Get the maximum value of the VectorBase.
size_t max_index (const VectorBase &)
 Locate the maximum value in the VectorBase.
double min (const VectorBase &)
 Get the minimum value of the VectorBase.
size_t min_index (const VectorBase &)
 Locate the minimum value in the VectorBase.
bool nan (const VectorBase &templat, Vector &flag)
 Create a VectorBase flag indicating NaN's in another VectorBase templat.
void sort_index (std::vector< size_t > &sort_index, const VectorBase &invec)
void sort_smallest_index (std::vector< size_t > &sort_index, size_t k, const VectorBase &invec)
void sort_largest_index (std::vector< size_t > &sort_index, size_t k, const VectorBase &invec)
double sum (const VectorBase &)
 Calculate the sum of all VectorBase elements.
std::ostream & operator<< (std::ostream &s, const VectorBase &v)
 The output operator for the VectorBase class.

Detailed Description

This is the yat interface to GSL vector.

This is an interface class for vectors containing the const interface. For mutable functionality see VectorMutable.


Member Typedef Documentation

const_reference type is const double&

Since:
New in yat 0.5

value_type is double

Since:
New in yat 0.5

Constructor & Destructor Documentation

The destructor.


Member Function Documentation

Returns:
read-only iterator to start of VectorBase
Returns:
read-only iterator to end of VectorBase
bool theplu::yat::utility::VectorBase::equal ( const VectorBase ,
const double  precision = 0 
) const

Check whether VectorBases are equal within a user defined precision, set by precision.

Returns:
True if each element deviates less or equal than d. If any VectorBase contain a NaN, false is always returned.
See also:
operator== and operator!=
const gsl_vector* theplu::yat::utility::VectorBase::gsl_vector_p ( void  ) const
Returns:
A const pointer to the internal GSL vector,
virtual bool theplu::yat::utility::VectorBase::isview ( void  ) const
pure virtual

Check if the vector object is a view (sub-vector) to another vector.

Returns:
True if the object is a view, false othwerwise.

Implemented in theplu::yat::utility::VectorView, theplu::yat::utility::VectorMutable, theplu::yat::utility::Vector, and theplu::yat::utility::VectorConstView.

bool theplu::yat::utility::VectorBase::operator!= ( const VectorBase ) const

Comparison operator. Takes linear time.

Checks are performed with exact matching, i.e., rounding off effects may destroy comparison. Use the equal function for comparing elements within a user defined precision.

Returns:
False if all elements are equal otherwise true.
See also:
equal(const VectorBase&, const double precision=0)
const double& theplu::yat::utility::VectorBase::operator() ( size_t  i) const

Element access operator.

Returns:
Const reference to element i.
Exceptions:
IfGSL range checks are enabled in the underlying GSL library a GSL_error exception is thrown if either index is out of range.
double theplu::yat::utility::VectorBase::operator* ( const VectorBase ) const
Returns:
The dot product.
bool theplu::yat::utility::VectorBase::operator== ( const VectorBase ) const

Comparison operator. Takes linear time.

Checks are performed with exact matching, i.e., rounding off effects may destroy comparison. Use the equal function for comparing elements within a user defined precision.

Returns:
True if all elements are equal otherwise false.
See also:
equal(const VectorBase&, const double precision=0)
size_t theplu::yat::utility::VectorBase::size ( void  ) const
Returns:
number of elements in the VectorBase.

Friends And Related Function Documentation

bool isnull ( const VectorBase )
related

Check if all elements of the VectorBase are zero.

Returns:
True if all elements in the VectorBase is zero, false othwerwise.
double max ( const VectorBase )
related

Get the maximum value of the VectorBase.

Returns:
The maximum value of the VectorBase.
size_t max_index ( const VectorBase )
related

Locate the maximum value in the VectorBase.

Returns:
The index to the maximum value of the VectorBase.
Note:
Lower index has precedence.
double min ( const VectorBase )
related

Get the minimum value of the VectorBase.

Returns:
The minimum value of the VectorBase.
size_t min_index ( const VectorBase )
related

Locate the minimum value in the VectorBase.

Returns:
The index to the minimum value of the VectorBase.
Note:
Lower index has precedence.
bool nan ( const VectorBase templat,
Vector flag 
)
related

Create a VectorBase flag indicating NaN's in another VectorBase templat.

The flag VectorBase is changed to contain 1's and 0's only. A 1 means that the corresponding element in the templat VectorBase is valid and a zero means that the corresponding element is a NaN.

Note:
Space for vector flag is reallocated to fit the size of VectorBase templat if sizes mismatch.
Returns:
True if the templat VectorBase contains at least one NaN.
std::ostream & operator<< ( std::ostream &  s,
const VectorBase v 
)
related

The output operator for the VectorBase class.

Elements in VectorBase \a v are sent to ostream \a s and
separated with the fill character of stream \a s, s.fill(). If
you, for example, want to print the VectorBase \a v with the
elements separated by a ':', you do so by:
     s << setfill(':') << v; 
void sort_index ( std::vector< size_t > &  sort_index,
const VectorBase invec 
)
related

Create a vector sort_index containing the indeces of elements in a another VectorBase invec. The elements of sort_index give the index of the VectorBase element which would have been stored in that position if the VectorBase had been sorted in place. The first element of sort_index gives the index of the least element in invec, and the last element of sort_index gives the index of the greatest element in invec . The VectorBase invec is not changed.

void sort_largest_index ( std::vector< size_t > &  sort_index,
size_t  k,
const VectorBase invec 
)
related

Similar to sort_index but creates a VectorBase with indices to the k largest elements in invec.

void sort_smallest_index ( std::vector< size_t > &  sort_index,
size_t  k,
const VectorBase invec 
)
related

Similar to sort_index but creates a VectorBase with indices to the k smallest elements in invec.

double sum ( const VectorBase )
related

Calculate the sum of all VectorBase elements.

Returns:
The sum.

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

Generated on Thu Dec 20 2012 03:13:00 for yat by  doxygen 1.8.0-20120409