class HCL_DiagScaleLinearOp_d : public HCL_LinearOp_d

HCL_DiagScaleLinearOp_d is a class implementing the linear operator mapping x to a*x, where x and a are vectors and the multiplication is done componentwise (in "Matlab notation", this operation is a

Inheritance:


Public Methods

HCL_DiagScaleLinearOp_d ( const HCL_Vector_d & d )
Usual constructor; just needs the scaling vector (which also defines the domain)
HCL_DiagScaleLinearOp_d ( HCL_Vector_d * d )
Usual constructor; just needs the scaling vector (which also defines the domain)
virtual HCL_VectorSpace_d& Domain () const
Domain space access
virtual HCL_VectorSpace_d& Range () const
Range space access
virtual void Image ( const HCL_Vector_d & x, HCL_Vector_d & y ) const
Image computes y = a.*x.
virtual void AdjImage ( const HCL_Vector_d & x, HCL_Vector_d & y ) const
AdjImage calls Image (the operator is self-adjoint).
virtual void NormalImage ( const HCL_Vector_d & x, HCL_Vector_d & y ) const
NormalImage computes y = a.*a.*x.
virtual void InvImage (const HCL_Vector_d & y, HCL_Vector_d & x) const
InvImage computes the action of the inverse on y, giving x.
virtual void InvAdjImage (const HCL_Vector_d & x, HCL_Vector_d & y) const
InvAdjImage computes the action of the inverse adjoint on x, giving y
virtual ostream& Write ( ostream & str ) const
Write prints out the domain and scale.

Inherited from HCL_LinearOp_d:

Public Methods

int CheckAdj(int Display = 1, double tol = 1000 )
int CheckNormal( int display = 1, double tol = 100 )
virtual void ImageAdd(const HCL_Vector_d & x, const HCL_Vector_d & z, HCL_Vector_d & y, double a=1.0, double b=1.0) const
virtual void AdjImageAdd(const HCL_Vector_d & x, const HCL_Vector_d & z, HCL_Vector_d & y, double a=1.0, double b=1.0) const
virtual void NormalImageAdd(const HCL_Vector_d & x, const HCL_Vector_d & z, HCL_Vector_d & y, double a=1.0, double b=1.0) const
virtual void InvImageAdd(const HCL_Vector_d & x, const HCL_Vector_d & z, HCL_Vector_d & y, double a=1.0, double b=1.0) const
virtual void InvAdjImageAdd(const HCL_Vector_d & x, const HCL_Vector_d & z, HCL_Vector_d & y, double a=1.0, double b=1.0) const
virtual void ImageAdd(const HCL_Vector_d & x, HCL_Vector_d & y, double a=1.0, double b=1.0) const
virtual void AdjImageAdd(const HCL_Vector_d & x, HCL_Vector_d & y, double a=1.0, double b=1.0) const
virtual void NormalImageAdd(const HCL_Vector_d & x, HCL_Vector_d & y, double a=1.0, double b=1.0) const
virtual void InvImageAdd(const HCL_Vector_d & x, HCL_Vector_d & y, double a=1.0, double b=1.0) const
virtual void InvAdjImageAdd(const HCL_Vector_d & x, HCL_Vector_d & y, double a=1.0, double b=1.0) const

Inherited from HCL_Base:

Public Methods

void IncCount() const
void DecCount() const
int Count() const

Documentation

HCL_DiagScaleLinearOp_d is a class implementing the linear operator mapping x to a*x, where x and a are vectors and the multiplication is done componentwise (in "Matlab notation", this operation is a.*x).
HCL_DiagScaleLinearOp_d( const HCL_Vector_d & d )
Usual constructor; just needs the scaling vector (which also defines the domain). This version makes an independent copy of the scaling vector.

HCL_DiagScaleLinearOp_d( HCL_Vector_d * d )
Usual constructor; just needs the scaling vector (which also defines the domain). This version copies a pointer to the scaling vector.

virtual HCL_VectorSpace_d& Domain() const
Domain space access. Returns a reference to the domain of the operator, which is an HCL_VectorSpace_d.

virtual HCL_VectorSpace_d& Range() const
Range space access. Returns a reference to the range of the operator, which is an HCL_VectorSpace_d.

virtual void Image( const HCL_Vector_d & x, HCL_Vector_d & y ) const
Image computes y = a.*x.

virtual void AdjImage( const HCL_Vector_d & x, HCL_Vector_d & y ) const
AdjImage calls Image (the operator is self-adjoint).

virtual void NormalImage( const HCL_Vector_d & x, HCL_Vector_d & y ) const
NormalImage computes y = a.*a.*x.

virtual void InvImage(const HCL_Vector_d & y, HCL_Vector_d & x) const
InvImage computes the action of the inverse on y, giving x.

virtual void InvAdjImage(const HCL_Vector_d & x, HCL_Vector_d & y) const
InvAdjImage computes the action of the inverse adjoint on x, giving y

virtual ostream& Write( ostream & str ) const
Write prints out the domain and scale.


This class has no child classes.

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