Public Member Functions | Static Public Member Functions | Private Member Functions
TSFExtended::DenseSerialVector Class Reference

Serial vector with math operations. More...

Inherits Array< double >.

List of all members.

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}
DenseSerialVectoroperator+= (const DenseSerialVector &other)
 reflexive addition
DenseSerialVectoroperator-= (const DenseSerialVector &other)
 reflexive subtraction
DenseSerialVectoroperator*= (const double &scalar)
 reflexive scalar mult
DenseSerialVectoroperator/= (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

Detailed Description

Serial vector with math operations.

Definition at line 17 of file TSFDenseSerialVector.hpp.


Constructor & Destructor Documentation

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().


Member Function Documentation

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]
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]

2-norm

Definition at line 107 of file TSFDenseSerialVector.hpp.

References norm2Squared().

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]

dot product

Definition at line 275 of file TSFDenseSerialVector.hpp.

References dot().

DenseSerialVector TSFExtended::DenseSerialVector::operator* ( const double &  scalar) const [inline]

scalar mult

Definition at line 268 of file TSFDenseSerialVector.hpp.

References scalarMult().

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]

addition

Definition at line 234 of file TSFDenseSerialVector.hpp.

References add().

DenseSerialVector & TSFExtended::DenseSerialVector::operator+= ( const DenseSerialVector other) [inline]

reflexive addition

Definition at line 228 of file TSFDenseSerialVector.hpp.

References add().

DenseSerialVector TSFExtended::DenseSerialVector::operator- ( const DenseSerialVector other) const [inline]

subtraction

Definition at line 247 of file TSFDenseSerialVector.hpp.

References subtract().

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]

scalar division

Definition at line 280 of file TSFDenseSerialVector.hpp.

References scalarMult().

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]

sum elements

Definition at line 217 of file TSFDenseSerialVector.cpp.

References x().

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]
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().

Site Contact