yat
0.20.3pre
|
This is the mutable interface to GSL vector. More...
#include <yat/utility/VectorMutable.h>
Public Types | |
typedef double & | reference |
typedef StrideIterator< double * > | iterator |
mutable iterator | |
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 | |
VectorMutable (void) | |
default constructor | |
VectorMutable (gsl_vector *) | |
Constructor. | |
VectorMutable (const gsl_vector *) | |
Constructor. | |
virtual | ~VectorMutable (void) |
void | all (double value) |
iterator | begin (void) |
void | div (const VectorBase &other) |
This function performs element-wise division, . More... | |
iterator | end (void) |
gsl_vector * | gsl_vector_p (void) |
virtual bool | isview (void) const =0 |
void | mul (const VectorBase &other) |
This function performs element-wise multiplication, . More... | |
void | reverse (void) |
Reverse the order of elements in the VectorMutable. | |
void | swap (size_t i, size_t j) |
Exchange elements i and j. | |
double & | operator() (size_t i) |
Element access operator. More... | |
const VectorMutable & | operator+= (const VectorBase &) |
Addition and assign operator. VectorBase addition, . More... | |
template<class T > | |
VectorMutable & | operator+= (const VectorExpression< T > &rhs) |
Addition and assign operator. More... | |
const VectorMutable & | operator+= (double d) |
Add a constant to a VectorBase, . More... | |
const VectorMutable & | operator-= (const VectorBase &) |
Subtract and assign operator. VectorBase subtraction, . More... | |
template<class T > | |
VectorMutable & | operator-= (const VectorExpression< T > &rhs) |
Subtraction and assign operator. More... | |
const VectorMutable & | operator-= (double d) |
Subtract a constant to a VectorBase, . More... | |
const VectorMutable & | operator*= (double d) |
Multiply with scalar and assign operator, . More... | |
const VectorMutable & | operator= (const VectorMutable &) |
assignment More... | |
const VectorMutable & | operator= (const VectorBase &) |
assignment More... | |
template<class T > | |
VectorMutable & | operator= (const VectorExpression< T > &rhs) |
assignment from vector expression More... | |
const_iterator | begin (void) const |
const_iterator | end (void) const |
const gsl_vector * | gsl_vector_p (void) const |
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 |
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 | |
gsl_vector * | vec_ |
const gsl_vector * | const_vec_ |
pointer to underlying GSL vector | |
Related Functions | |
(Note that these are not member functions.) | |
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<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) |
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<typename T > | |
expression::ScaledVector< T > | operator- (const BasicVector< T > &vec) |
negation operator More... | |
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 mutable interface to GSL vector.
This class contains the mutable interface to vector classes.
The non-mutable interface is inherited from VectorBase. When dealing with const vectors, it is preferable to use the VectorBase signature because this allows usage of VectorConstView too.
|
inherited |
const_reference type is const double&
|
inherited |
Class that inherits from BasicVector
typedef double& theplu::yat::utility::VectorMutable::reference |
reference type is double&
|
inherited |
value_type is double
|
virtual |
The destructor.
void theplu::yat::utility::VectorMutable::all | ( | double | value | ) |
Set all elements to value.
|
inherited |
iterator theplu::yat::utility::VectorMutable::begin | ( | void | ) |
const_iterator theplu::yat::utility::VectorBase::begin |
void theplu::yat::utility::VectorMutable::div | ( | const VectorBase & | other | ) |
This function performs element-wise division, .
GSL_error | if dimensions mis-match. |
|
inherited |
iterator theplu::yat::utility::VectorMutable::end | ( | void | ) |
const_iterator theplu::yat::utility::VectorBase::end |
|
inherited |
Check whether VectorBases are equal within a user defined precision, set by precision.
|
inherited |
gsl_vector* theplu::yat::utility::VectorMutable::gsl_vector_p | ( | void | ) |
const gsl_vector* theplu::yat::utility::VectorBase::gsl_vector_p |
|
pure virtual |
Check if the vector object is a view (sub-vector) to another vector.
Implements theplu::yat::utility::VectorBase.
Implemented in theplu::yat::utility::VectorView, and theplu::yat::utility::Vector.
void theplu::yat::utility::VectorMutable::mul | ( | const VectorBase & | other | ) |
This function performs element-wise multiplication, .
GSL_error | if dimensions mis-match. |
|
inherited |
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.
|
inherited |
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::VectorMutable::operator() | ( | size_t | i | ) |
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. |
|
inherited |
const VectorMutable& theplu::yat::utility::VectorMutable::operator*= | ( | double | d | ) |
Multiply with scalar and assign operator, .
const VectorMutable& theplu::yat::utility::VectorMutable::operator+= | ( | const VectorBase & | ) |
Addition and assign operator. VectorBase addition, .
GSL_error | if dimensions mis-match. |
|
inline |
Addition and assign operator.
const VectorMutable& theplu::yat::utility::VectorMutable::operator+= | ( | double | d | ) |
Add a constant to a VectorBase, .
const VectorMutable& theplu::yat::utility::VectorMutable::operator-= | ( | const VectorBase & | ) |
Subtract and assign operator. VectorBase subtraction, .
GSL_error | if dimensions mis-match. |
|
inline |
Subtraction and assign operator.
const VectorMutable& theplu::yat::utility::VectorMutable::operator-= | ( | double | d | ) |
Subtract a constant to a VectorBase, .
const VectorMutable& theplu::yat::utility::VectorMutable::operator= | ( | const VectorMutable & | ) |
assignment
const VectorMutable& theplu::yat::utility::VectorMutable::operator= | ( | const VectorBase & | ) |
assignment
|
inline |
assignment from vector expression
|
inherited |
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.
|
inherited |
|
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.
|
protected |
pointer to underlying GSL vector. Should always point to same gsl_vector as const_vec_ in base class does. This pointer should by used for mutable operations. Do not use this in const functions; use const_vec_ inherited from BaseVector.