Serial vector with math operations. More...
Inherits Array< double >.
Public Member Functions | |
| std::string | summary () const |
| write a brief description to std::string | |
| DenseSerialVector () | |
| { Constructors, Destructors, and Assignment Operator} | |
| DenseSerialVector (int n) | |
| Create a vector of length n. | |
| DenseSerialVector (int n, const double &value) | |
| Create a vector of length n, and fill it with value. | |
| DenseSerialVector (int n, const double *cArray) | |
| Create a vector of length n, assuming responsibility for a C array. | |
| void | negate () |
| { some reasonably efficient math operations} | |
| void | add (const DenseSerialVector &other, DenseSerialVector &result) const |
| vector addition with result returned through a reference argument | |
| void | add (const DenseSerialVector &other) |
| self-modifying vector addition | |
| void | subtract (const DenseSerialVector &other, DenseSerialVector &result) const |
| vector subtraction with result returned through a reference argument | |
| void | subtract (const DenseSerialVector &other) |
| self-modifying vector subtraction | |
| void | daxpy (const DenseSerialVector &other, const double &a, DenseSerialVector &result) const |
| daxpy (z = a*x + y) with result returned through a reference argument | |
| void | daxpy (const DenseSerialVector &other, const double &a) |
| self-modifying daxpy | |
| void | eMult (const DenseSerialVector &other, DenseSerialVector &result) const |
| element-by-element multiplication with result returned through a reference argument | |
| void | eMult (const DenseSerialVector &other) |
| self-modifying element-by-element multiplication | |
| void | abs () |
| absolute value of each element | |
| double | max () const |
| return the value of the max element | |
| double | min () const |
| return the value of the min element | |
| void | dotStar (const DenseSerialVector &y, const DenseSerialVector &z) |
| compute the matlab style ".*" operation, i.e., this[i] = y[i] * z[i] | |
| void | dotSlash (const DenseSerialVector &y, const DenseSerialVector &z) |
| compute the matlab style "./" operation, i.e., this[i] = y[i] / z[i] | |
| void | scalarMult (const double &scalar, DenseSerialVector &result) const |
| multiplication by a scalar with result returned through a reference argument | |
| void | scalarMult (const double &scalar) |
| self-modifying multiplication by a scalar | |
| void | scalarPow (const double &scalar, DenseSerialVector &result) const |
| exponentiation by a scalar with result returned through a reference argument | |
| void | scalarPow (const double &scalar) |
| Self-modifying exponentiation by a scalar. | |
| double | dot (const DenseSerialVector &other) const |
| dot product | |
| double | norm2Squared () const |
| dot product with self | |
| double | norm2 () const |
| 2-norm | |
| double | sumElements () const |
| sum elements | |
| double | maxNorm () const |
| return maximum element value | |
| void | zero () |
| set all elements to zero | |
| void | setScalar (const double &a) |
| set all elements to the given value | |
| DenseSerialVector | operator- () const |
| { overloaded math operators; for performance reasons, avoid these in performance-critical code} | |
| DenseSerialVector & | operator+= (const DenseSerialVector &other) |
| reflexive addition | |
| DenseSerialVector & | operator-= (const DenseSerialVector &other) |
| reflexive subtraction | |
| DenseSerialVector & | operator*= (const double &scalar) |
| reflexive scalar mult | |
| DenseSerialVector & | operator/= (const double &scalar) |
| reflexive scalar division | |
| DenseSerialVector | operator+ (const DenseSerialVector &other) const |
| addition | |
| DenseSerialVector | operator- (const DenseSerialVector &other) const |
| subtraction | |
| double | operator* (const DenseSerialVector &other) const |
| dot product | |
| DenseSerialVector | operator* (const double &scalar) const |
| scalar mult | |
| DenseSerialVector | operator/ (const double &scalar) const |
| scalar division | |
Static Public Member Functions | |
| static const Teuchos::BLAS < int, double > & | blasObject () |
| a BLAS object | |
Private Member Functions | |
| double * | x () |
| const double * | x () const |
| void | checkLength (const DenseSerialVector &other, const std::string &funcName) const |
Serial vector with math operations.
Definition at line 17 of file TSFDenseSerialVector.hpp.
| TSFExtended::DenseSerialVector::DenseSerialVector | ( | ) | [inline] |
{ Constructors, Destructors, and Assignment Operator}
Empty ctor
Definition at line 23 of file TSFDenseSerialVector.hpp.
| TSFExtended::DenseSerialVector::DenseSerialVector | ( | int | n | ) | [inline] |
Create a vector of length n.
Definition at line 25 of file TSFDenseSerialVector.hpp.
| TSFExtended::DenseSerialVector::DenseSerialVector | ( | int | n, |
| const double & | value | ||
| ) | [inline] |
Create a vector of length n, and fill it with value.
Definition at line 165 of file TSFDenseSerialVector.hpp.
| TSFExtended::DenseSerialVector::DenseSerialVector | ( | int | n, |
| const double * | cArray | ||
| ) | [inline] |
Create a vector of length n, assuming responsibility for a C array.
Definition at line 169 of file TSFDenseSerialVector.hpp.
References x().
| void DenseSerialVector::abs | ( | ) |
absolute value of each element
Definition at line 75 of file TSFDenseSerialVector.cpp.
References x().
| void TSFExtended::DenseSerialVector::add | ( | const DenseSerialVector & | other, |
| DenseSerialVector & | result | ||
| ) | const [inline] |
vector addition with result returned through a reference argument
Definition at line 184 of file TSFDenseSerialVector.hpp.
References add().
Referenced by add(), operator+(), and operator+=().
| void DenseSerialVector::add | ( | const DenseSerialVector & | other | ) |
self-modifying vector addition
Definition at line 34 of file TSFDenseSerialVector.cpp.
References blasObject(), checkLength(), and x().
| static const Teuchos::BLAS<int, double>& TSFExtended::DenseSerialVector::blasObject | ( | ) | [inline, static] |
a BLAS object
Definition at line 153 of file TSFDenseSerialVector.hpp.
Referenced by add(), daxpy(), dot(), TSFExtended::LAPACKGeneralMatrix::mvMult(), norm2Squared(), scalarMult(), TSFExtended::LAPACKGeneralMatrix::solve(), and subtract().
| void TSFExtended::DenseSerialVector::checkLength | ( | const DenseSerialVector & | other, |
| const std::string & | funcName | ||
| ) | const [inline, private] |
Definition at line 175 of file TSFDenseSerialVector.hpp.
References summary().
Referenced by add(), daxpy(), dot(), eMult(), and subtract().
| void TSFExtended::DenseSerialVector::daxpy | ( | const DenseSerialVector & | other, |
| const double & | a, | ||
| DenseSerialVector & | result | ||
| ) | const [inline] |
daxpy (z = a*x + y) with result returned through a reference argument
Definition at line 198 of file TSFDenseSerialVector.hpp.
References daxpy().
Referenced by daxpy().
| void DenseSerialVector::daxpy | ( | const DenseSerialVector & | other, |
| const double & | a | ||
| ) |
self-modifying daxpy
Definition at line 53 of file TSFDenseSerialVector.cpp.
References blasObject(), checkLength(), and x().
| double DenseSerialVector::dot | ( | const DenseSerialVector & | other | ) | const |
dot product
Definition at line 193 of file TSFDenseSerialVector.cpp.
References blasObject(), checkLength(), and x().
Referenced by operator*().
| void DenseSerialVector::dotSlash | ( | const DenseSerialVector & | y, |
| const DenseSerialVector & | z | ||
| ) |
compute the matlab style "./" operation, i.e., this[i] = y[i] / z[i]
Definition at line 126 of file TSFDenseSerialVector.cpp.
References x().
| void DenseSerialVector::dotStar | ( | const DenseSerialVector & | y, |
| const DenseSerialVector & | z | ||
| ) |
compute the matlab style ".*" operation, i.e., this[i] = y[i] * z[i]
Definition at line 112 of file TSFDenseSerialVector.cpp.
References x().
| void DenseSerialVector::eMult | ( | const DenseSerialVector & | other | ) |
self-modifying element-by-element multiplication
Definition at line 61 of file TSFDenseSerialVector.cpp.
References checkLength(), and x().
| void TSFExtended::DenseSerialVector::eMult | ( | const DenseSerialVector & | other, |
| DenseSerialVector & | result | ||
| ) | const [inline] |
element-by-element multiplication with result returned through a reference argument
Definition at line 206 of file TSFDenseSerialVector.hpp.
References eMult().
Referenced by eMult().
| double DenseSerialVector::max | ( | ) | const |
return the value of the max element
Definition at line 86 of file TSFDenseSerialVector.cpp.
References x().
| double DenseSerialVector::maxNorm | ( | ) | const |
return maximum element value
Definition at line 231 of file TSFDenseSerialVector.cpp.
References x().
| double DenseSerialVector::min | ( | ) | const |
return the value of the min element
Definition at line 99 of file TSFDenseSerialVector.cpp.
References x().
| void DenseSerialVector::negate | ( | ) |
{ some reasonably efficient math operations}
change sign
Definition at line 24 of file TSFDenseSerialVector.cpp.
References x().
Referenced by operator-().
| double TSFExtended::DenseSerialVector::norm2 | ( | ) | const [inline] |
| double DenseSerialVector::norm2Squared | ( | ) | const |
dot product with self
Definition at line 206 of file TSFDenseSerialVector.cpp.
References blasObject(), and x().
Referenced by norm2().
| double TSFExtended::DenseSerialVector::operator* | ( | const DenseSerialVector & | other | ) | const [inline] |
| DenseSerialVector TSFExtended::DenseSerialVector::operator* | ( | const double & | scalar | ) | const [inline] |
| DenseSerialVector & TSFExtended::DenseSerialVector::operator*= | ( | const double & | scalar | ) | [inline] |
reflexive scalar mult
Definition at line 254 of file TSFDenseSerialVector.hpp.
References scalarMult().
| DenseSerialVector TSFExtended::DenseSerialVector::operator+ | ( | const DenseSerialVector & | other | ) | const [inline] |
| DenseSerialVector & TSFExtended::DenseSerialVector::operator+= | ( | const DenseSerialVector & | other | ) | [inline] |
| DenseSerialVector TSFExtended::DenseSerialVector::operator- | ( | const DenseSerialVector & | other | ) | const [inline] |
| DenseSerialVector TSFExtended::DenseSerialVector::operator- | ( | ) | const [inline] |
{ overloaded math operators; for performance reasons, avoid these in performance-critical code}
unary minus
Definition at line 221 of file TSFDenseSerialVector.hpp.
References negate().
| DenseSerialVector & TSFExtended::DenseSerialVector::operator-= | ( | const DenseSerialVector & | other | ) | [inline] |
reflexive subtraction
Definition at line 241 of file TSFDenseSerialVector.hpp.
References subtract().
| DenseSerialVector TSFExtended::DenseSerialVector::operator/ | ( | const double & | scalar | ) | const [inline] |
| DenseSerialVector & TSFExtended::DenseSerialVector::operator/= | ( | const double & | scalar | ) | [inline] |
reflexive scalar division
Definition at line 260 of file TSFDenseSerialVector.hpp.
References scalarMult().
| void TSFExtended::DenseSerialVector::scalarMult | ( | const double & | scalar, |
| DenseSerialVector & | result | ||
| ) | const [inline] |
multiplication by a scalar with result returned through a reference argument
Definition at line 213 of file TSFDenseSerialVector.hpp.
References scalarMult().
Referenced by operator*(), operator*=(), operator/(), operator/=(), and scalarMult().
| void DenseSerialVector::scalarMult | ( | const double & | scalar | ) |
self-modifying multiplication by a scalar
Definition at line 140 of file TSFDenseSerialVector.cpp.
References blasObject(), and x().
| void DenseSerialVector::scalarPow | ( | const double & | scalar | ) |
Self-modifying exponentiation by a scalar.
Definition at line 146 of file TSFDenseSerialVector.cpp.
References Sundance::pow(), and x().
| void TSFExtended::DenseSerialVector::scalarPow | ( | const double & | scalar, |
| DenseSerialVector & | result | ||
| ) | const [inline] |
exponentiation by a scalar with result returned through a reference argument
| void DenseSerialVector::setScalar | ( | const double & | a | ) |
set all elements to the given value
Definition at line 13 of file TSFDenseSerialVector.cpp.
References x().
Referenced by zero().
| void TSFExtended::DenseSerialVector::subtract | ( | const DenseSerialVector & | other, |
| DenseSerialVector & | result | ||
| ) | const [inline] |
vector subtraction with result returned through a reference argument
Definition at line 191 of file TSFDenseSerialVector.hpp.
References subtract().
Referenced by operator-(), operator-=(), and subtract().
| void DenseSerialVector::subtract | ( | const DenseSerialVector & | other | ) |
self-modifying vector subtraction
Definition at line 44 of file TSFDenseSerialVector.cpp.
References blasObject(), checkLength(), and x().
| double DenseSerialVector::sumElements | ( | ) | const [inline] |
| string DenseSerialVector::summary | ( | ) | const |
write a brief description to std::string
Definition at line 247 of file TSFDenseSerialVector.cpp.
References Teuchos::toString().
Referenced by checkLength().
| const double* TSFExtended::DenseSerialVector::x | ( | ) | const [inline, private] |
Definition at line 158 of file TSFDenseSerialVector.hpp.
| double* TSFExtended::DenseSerialVector::x | ( | ) | [inline, private] |
Definition at line 157 of file TSFDenseSerialVector.hpp.
Referenced by abs(), add(), daxpy(), DenseSerialVector(), dot(), dotSlash(), dotStar(), eMult(), max(), maxNorm(), min(), negate(), norm2Squared(), scalarMult(), scalarPow(), setScalar(), subtract(), and sumElements().
| void TSFExtended::DenseSerialVector::zero | ( | ) | [inline] |
set all elements to zero
Definition at line 116 of file TSFDenseSerialVector.hpp.
References setScalar().
Referenced by TSFExtended::LAPACKGeneralMatrix::zero().