# NOX::LAPACK::Vector Class Reference

Implementation of NOX::Abstract::Vector for STL vector<double> (using LAPACK for some computations). More...

#include <NOX_LAPACK_Vector.H>

Inheritance diagram for NOX::LAPACK::Vector:

[legend]
Collaboration diagram for NOX::LAPACK::Vector:
[legend]
List of all members.

## Public Member Functions

Vector ()
Construct an empty vector.
Vector (int n)
Construct a zero vector of length n.
Vector (int n, int na)
Construct a zero vector of length n, with allocated length na.
Vector (int n, double *v, bool createView=false)
Construct a vector of length n from given array.
Vector (const NOX::LAPACK::Vector &source, CopyType type=DeepCopy, bool createView=false)
Copy constructor.
~Vector ()
Destruct Vector.
int length () const
Return the length of vector.
double & operator() (int i)
Return the i-th element.
const double & operator() (int i) const
Return the i-th element (const version).
ostream & leftshift (ostream &stream) const
Prints out the vector to the specified stream.
void print () const
Print the vector. This is meant for debugging purposes only and does not need to be defined.
int lengthAllocated () const
Returns the allocated length of the vector.
Initialization methods.
NOX::Abstract::Vectorinit (double value)
Initialize every element of this vector with gamma.
virtual NOX::Abstract::Vectorrandom (bool useSeed=false, int seed=1)
Initialize every element of this vector with random values.
NOX::Abstract::Vectoroperator= (const vector< double > &y)
Replace this vector with STL double vector y.
NOX::Abstract::Vectoroperator= (const NOX::LAPACK::Vector &y)
NOX::Abstract::Vectoroperator= (const NOX::Abstract::Vector &y)
Copy source vector y into this vector.
NOX::Abstract::Vectorabs (const NOX::LAPACK::Vector &y)
NOX::Abstract::Vectorabs (const NOX::Abstract::Vector &y)
Put element-wise absolute values of source vector y into this vector.
NOX::Abstract::Vectorreciprocal (const NOX::LAPACK::Vector &y)
NOX::Abstract::Vectorreciprocal (const NOX::Abstract::Vector &y)
Put element-wise reciprocal of source vector y into this vector.
Update methods.
NOX::Abstract::Vectorscale (double gamma)
Scale each element of this vector by gamma.
NOX::Abstract::Vectorscale (const NOX::LAPACK::Vector &a)
NOX::Abstract::Vectorscale (const NOX::Abstract::Vector &a)
Scale this vector element-by-element by the vector a.
NOX::Abstract::Vectorupdate (double alpha, const NOX::LAPACK::Vector &a, double gamma=0.0)
NOX::Abstract::Vectorupdate (double alpha, const NOX::Abstract::Vector &a, double gamma=0.0)
Compute x = (alpha * a) + (gamma * x) where x is this vector.
NOX::Abstract::Vectorupdate (double alpha, const NOX::LAPACK::Vector &a, double beta, const NOX::LAPACK::Vector &b, double gamma=0.0)
NOX::Abstract::Vectorupdate (double alpha, const NOX::Abstract::Vector &a, double beta, const NOX::Abstract::Vector &b, double gamma=0.0)
Compute x = (alpha * a) + (beta * b) + (gamma * x) where x is this vector.
Creating new Vectors.
NOX::Abstract::Vectorclone (NOX::CopyType type=NOX::DeepCopy) const
Create a new Vector of the same underlying type by cloning "this", and return a pointer to the new vector.
Norms.
double norm (NOX::Abstract::Vector::NormType type=NOX::Abstract::Vector::TwoNorm) const
Norm.
double norm (const NOX::LAPACK::Vector &weights) const
double norm (const NOX::Abstract::Vector &weights) const
Weighted 2-Norm.
Dot products
double dot (const NOX::LAPACK::Vector &y) const
double dot (const NOX::Abstract::Vector &y) const
Dot product with y.

## Detailed Description

Implementation of NOX::Abstract::Vector for STL vector<double> (using LAPACK for some computations).

## Member Function Documentation

 NOX::Abstract::Vector & NOX::LAPACK::Vector::abs ( const NOX::Abstract::Vector & y )  [virtual]
 Put element-wise absolute values of source vector y into this vector. Here x represents this vector, and we update it as Returns:Reference to this object Implements NOX::Abstract::Vector.

 NOX::Abstract::Vector * NOX::LAPACK::Vector::clone ( NOX::CopyType type = NOX::DeepCopy ) const [virtual]
 Create a new Vector of the same underlying type by cloning "this", and return a pointer to the new vector. If type is NOX::DeepCopy, then we need to create an exact replica of "this". Otherwise, if type is NOX::ShapeCopy, we need only replicate the shape of "this". Note that there is no assumption that a vector created by ShapeCopy is initialized to zeros. Returns:Pointer to newly created vector or NULL if clone is not supported. Implements NOX::Abstract::Vector.

 double NOX::LAPACK::Vector::dot ( const NOX::Abstract::Vector & y ) const [virtual]
 Dot product with y. Here x represents this vector, and we compute its dot product with y as follows: Returns: Implements NOX::Abstract::Vector.

 NOX::Abstract::Vector & NOX::LAPACK::Vector::init ( double value )  [virtual]
 Initialize every element of this vector with gamma. Here x represents this vector, and we update it as Returns:Reference to this object Implements NOX::Abstract::Vector.

 ostream & NOX::LAPACK::Vector::leftshift ( ostream & stream ) const
 Prints out the vector to the specified stream. For example, a vector would appear as It will be all on one line, with a single space between each entry, bracketed on either side.

 int NOX::LAPACK::Vector::length ( ) const [virtual]
 Return the length of vector. Returns:The length of this vector Note:Even if the vector is distributed across processors, this should return the global length of the vector. Implements NOX::Abstract::Vector.

 double NOX::LAPACK::Vector::norm ( const NOX::Abstract::Vector & weights ) const [virtual]
 Weighted 2-Norm. Here x represents this vector, and we compute its weighted norm as follows: Returns: Implements NOX::Abstract::Vector.

 double NOX::LAPACK::Vector::norm ( NOX::Abstract::Vector::NormType type = NOX::Abstract::Vector::TwoNorm ) const [virtual]
 Norm. Here x represents this vector, and we compute its norm as follows: for each NOX::Abstract::Vector::NormType: Returns: Implements NOX::Abstract::Vector.

 NOX::Abstract::Vector & NOX::LAPACK::Vector::operator= ( const NOX::Abstract::Vector & y )  [virtual]
 Copy source vector y into this vector. Here x represents this vector, and we update it as Returns:Reference to this object Implements NOX::Abstract::Vector.

 NOX::Abstract::Vector & NOX::LAPACK::Vector::reciprocal ( const NOX::Abstract::Vector & y )  [virtual]
 Put element-wise reciprocal of source vector y into this vector. Here x represents this vector, and we update it as Returns:Reference to this object Implements NOX::Abstract::Vector.

 NOX::Abstract::Vector & NOX::LAPACK::Vector::scale ( const NOX::Abstract::Vector & a )  [virtual]
 Scale this vector element-by-element by the vector a. Here x represents this vector, and we update it as Returns:Reference to this object Implements NOX::Abstract::Vector.

 NOX::Abstract::Vector & NOX::LAPACK::Vector::scale ( double gamma )  [virtual]
 Scale each element of this vector by gamma. Here x represents this vector, and we update it as Returns:Reference to this object Implements NOX::Abstract::Vector.

 NOX::Abstract::Vector & NOX::LAPACK::Vector::update ( double alpha, const NOX::Abstract::Vector & a, double beta, const NOX::Abstract::Vector & b, double gamma = 0.0 )  [virtual]
 Compute x = (alpha * a) + (beta * b) + (gamma * x) where x is this vector. Here x represents this vector, and we update it as Returns:Reference to this object Implements NOX::Abstract::Vector.

 NOX::Abstract::Vector & NOX::LAPACK::Vector::update ( double alpha, const NOX::Abstract::Vector & a, double gamma = 0.0 )  [virtual]
 Compute x = (alpha * a) + (gamma * x) where x is this vector. Here x represents this vector, and we update it as Returns:Reference to this object Implements NOX::Abstract::Vector.

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

Generated on Thu Sep 18 12:43:33 2008 for NOX by  1.3.9.1