HCL_ProductVector_d represents a vector from a product space, that is, from a space of the formwhere each of
is a vector space represented by an instance of HCL_VectorSpace_d
![]() | operator) (int i) const Operator() returns a reference to the ith factor. |
![]() | Space () const Space returns a reference to the space to which this vector belongs. |
![]() | ProductSpace () const ProductSpace returns a reference to the space to which this vector belongs, explicitly as a product space |
![]() | Number () const Number returns the number of factors in the product. |
![]() | Write (ostream &) const Write prints out the factors in the product. |
![]() | Vector operations (z is the object invoking the method).
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
![]() | Array operations - ``Matlab'' methods.
|
Access to components.
HCL_ProductVector_d represents a vector from a product space, that is, from a space of the formwhere each of
is a vector space represented by an instance of HCL_VectorSpace_d. This is an abstract base class; it serves to define the properties of every concrete product vector class.
In addition to the usual HCL_Vector_d methods, an instance of this class can return the number of factors with the Number method, can identify the space to which it belongs, explicitly as an instance of HCL_ProductVectorSpace_d, with the ProductSpace method, and can return a reference to the ith factor with the () operator.
virtual HCL_VectorSpace_d& Space() const
virtual HCL_ProductSpace_d& ProductSpace() const
virtual int Number() const
Vector operations (z is the object invoking the method).
virtual void Copy( const HCL_Vector_d & x )
virtual void Neg()
virtual void Mul( const double & a )
virtual void Mul( const double & a, const HCL_Vector_d & x )
virtual void Add( const HCL_Vector_d & x )
virtual void Add( const HCL_Vector_d & x, const HCL_Vector_d & y )
virtual void Sub( const HCL_Vector_d & x )
virtual void Sub(const HCL_Vector_d & x, const HCL_Vector_d & y )
virtual void ScaleAdd(const double & a, const HCL_Vector_d & x )
virtual void AddScale(const double & a, const HCL_Vector_d & x )
virtual void AddScale(const double & a, const HCL_Vector_d & x, const HCL_Vector_d & y )
virtual double Inner( const HCL_Vector_d & x ) const
virtual double Norm() const
virtual double Norm2() const
virtual void Zero()
virtual void Random()
Array operations - ``Matlab'' methods.
denotes the ith component of the current array, i.e. the
data array of the HCL_Vector object
virtual void Fill( double a )
virtual void Add( double a )
- overload of Add with scalar argument
a la Matlab
virtual void Add( const HCL_Vector_d & x, double a )
- overload of Add with scalar argument
a la Matlab
virtual void DiagScale( const HCL_Vector_d & x )
- matrix multiply by diag(x)
virtual void DiagScale( const HCL_Vector_d & x, const HCL_Vector_d & y )
virtual void DiagRecipScale( const HCL_Vector_d & x, double tol=0.0)
- matrix division by diag(x).
Safeguarded against overflow - if tol is less
that the smallest safe divisor sfmin as defined by LAPACK::[SD]LAMCH, then
tol is replaced by sfmin - thus the default is tol=0.0, which effectively
means tol=sfmin.
virtual void DiagRecipScale( const HCL_Vector_d & x, const HCL_Vector_d & y, double tol=0.0)
- matrix division by diag(x).
Safeguarded against overflow - if tol is less
that the smallest safe divisor sfmin as defined by LAPACK::[SD]LAMCH, then
tol is replaced by sfmin - thus the default is tol=0.0, which effectively
means tol=sfmin.
virtual double Max() const
virtual void Max( const HCL_Vector_d & x )
virtual void Max( const HCL_Vector_d & x, const HCL_Vector_d & y )
virtual double Min() const
virtual void Min( const HCL_Vector_d & x )
virtual void Min( const HCL_Vector_d & x, const HCL_Vector_d & y )
virtual double Sum() const
virtual void Abs()
virtual void Abs( const HCL_Vector_d & x )
virtual void Sign()
. Sign returns 1 for positive
arguments, -1 for negative arguments, and 0 for zero arguments.
virtual void Sign( double t )
virtual void Sign( const HCL_Vector_d & x )
virtual void Sign( const HCL_Vector_d & x, const HCL_Vector_d & y )
virtual void Sign( const HCL_Vector_d & x, double t )
virtual void Sign( double t, const HCL_Vector_d & y )
virtual void Greater( double t )
if
>
, else 0
virtual void Greater( const HCL_Vector_d & x )
if
>
, else 0
virtual void Greater( const HCL_Vector_d & x, const HCL_Vector_d & y )
if
>
, else 0
virtual void Greater( const HCL_Vector_d & x, double t )
if
>
, else 0
virtual void Greater( double t, const HCL_Vector_d & x )
if
>
, else 0
virtual void Power( double p )
- arbitrary real power.
Should only be invoked for nonintegral
when
, but have not found a good way to enforce
this constraint, so rely on runtime
virtual void Power( double p, const HCL_Vector_d & x )
- arbitrary real power.
should only be invoked for nonintegral
when
, but have not found a good way to enforce
this constraint, so rely on runtime
virtual void Sqrt()
- componentwise square root.
exits with error condition if any component is negative.
virtual void Sqrt( const HCL_Vector_d & x )
- componentwise square root.
exits with error condition if any component is negative.
virtual void Exp()
virtual void Exp( const HCL_Vector_d & x )
virtual void Log()
- componentwise natural log.
exits with error condition if any component is nonpositive.
virtual void Log( const HCL_Vector_d & x )
- componentwise natural log.
exits with error condition if any component is negative.
virtual ostream& Write(ostream &) const
alphabetic index hierarchy of classes
this page has been generated automatically by doc++
(c)opyright by Malte Zöckler, Roland Wunderling
contact: doc++@zib.de