yat
0.20.3pre
|
This is the yat interface to GSL vector. More...
#include <yat/utility/VectorBase.h>
Public Types | |
typedef double | value_type |
typedef const double & | const_reference |
typedef StrideIterator< const double * > | const_iterator |
VectorBase::const_iterator. | |
typedef VectorBase | derived_type |
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. More... | |
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. More... | |
bool | operator== (const VectorBase &) const |
Comparison operator. Takes linear time. More... | |
bool | operator!= (const VectorBase &) const |
Comparison operator. Takes linear time. More... | |
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.) | |
template<class Derived1 , class Derived2 > | |
expression::VectorBinary< Derived1, Derived2, expression::Plus > | operator+ (const BasicVector< Derived1 > &lhs, const BasicVector< Derived2 > &rhs) |
template<class Derived1 , class Derived2 > | |
expression::VectorBinary< Derived1, Derived2, expression::Minus > | operator- (const BasicVector< Derived1 > &lhs, const BasicVector< Derived2 > &rhs) |
template<class Derived1 , class Derived2 > | |
double | operator* (const BasicVector< Derived1 > &lhs, const BasicVector< Derived2 > &rhs) |
template<typename T > | |
expression::ScaledVector< T > | operator* (double k, const BasicVector< T > &vec) |
scale a vector expression More... | |
template<typename T > | |
expression::ScaledVector< T > | operator* (const BasicVector< T > &vec, double k) |
scale a vector expression More... | |
template<typename T > | |
expression::ScaledVector< T > | operator- (const BasicVector< T > &vec) |
negation operator More... | |
template<class MATRIX , class VECTOR > | |
expression::MatrixVector< MATRIX, VECTOR > | operator* (const BasicMatrix< MATRIX > &lhs, const BasicVector< VECTOR > &rhs) |
template<class MATRIX , class VECTOR > | |
expression::MatrixVector< MatrixExpression< expression::TransposedMatrix< MATRIX > >, VECTOR > | operator* (const BasicVector< VECTOR > &lhs, const BasicMatrix< MATRIX > &rhs) |
bool | isnull (const VectorBase &) |
Check if all elements of the VectorBase are zero. More... | |
double | max (const VectorBase &) |
Get the maximum value of the VectorBase. More... | |
size_t | max_index (const VectorBase &) |
Locate the maximum value in the VectorBase. More... | |
double | min (const VectorBase &) |
Get the minimum value of the VectorBase. More... | |
size_t | min_index (const VectorBase &) |
Locate the minimum value in the VectorBase. More... | |
bool | nan (const VectorBase &templat, Vector &flag) |
Create a VectorBase flag indicating NaN's in another VectorBase templat. More... | |
double | norm2_squared (const VectorBase &v) |
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. More... | |
std::ostream & | operator<< (std::ostream &s, const VectorBase &v) |
The output operator for the VectorBase class. More... | |
This is the yat interface to GSL vector.
This is an interface class for vectors containing the const interface. For mutable functionality see VectorMutable.
typedef const double& theplu::yat::utility::VectorBase::const_reference |
const_reference type is const double&
|
inherited |
Class that inherits from BasicVector
typedef double theplu::yat::utility::VectorBase::value_type |
value_type is double
|
virtual |
The destructor.
const_iterator theplu::yat::utility::VectorBase::begin | ( | void | ) | const |
const_iterator theplu::yat::utility::VectorBase::end | ( | void | ) | const |
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.
const gsl_vector* theplu::yat::utility::VectorBase::gsl_vector_p | ( | void | ) | const |
|
pure virtual |
Check if the vector object is a view (sub-vector) to another vector.
Implemented in theplu::yat::utility::VectorView, theplu::yat::utility::Vector, theplu::yat::utility::VectorConstView, and theplu::yat::utility::VectorMutable.
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.
const double& theplu::yat::utility::VectorBase::operator() | ( | size_t | i | ) | const |
Element access operator.
If | GSL 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 |
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.
size_t theplu::yat::utility::VectorBase::size | ( | void | ) | const |
|
related |
Check if all elements of the VectorBase are zero.
|
related |
Get the maximum value of the VectorBase.
|
related |
Locate the maximum value in the VectorBase.
|
related |
Get the minimum value of the VectorBase.
|
related |
Locate the minimum value in the VectorBase.
|
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.
|
related |
|
related |
|
related |
|
related |
|
related |
scale a vector expression
|
related |
scale a vector expression
|
related |
Element-wise addition of vectors
|
related |
Element-wise subtraction of vectors
|
related |
negation operator
|
related |
The output operator for the VectorBase class.
Elements in VectorBase v are sent to ostream s and separated with the fill character of stream s, s.fill(). If you, for example, want to print the VectorBase v with the elements separated by a ':', you do so by:
s << setfill(':') << v;
|
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.
|
related |
Similar to sort_index but creates a VectorBase with indices to the k largest elements in invec.
|
related |
Similar to sort_index but creates a VectorBase with indices to the k smallest elements in invec.
|
related |
Calculate the sum of all VectorBase elements.