class HCL_DiagBlockLinearOp_d : public HCL_LinearOp_d

HCL_DiagBlockLinearOp_d implements a diagonal array of linear operators acting on a product vector space

Inheritance:


Public Methods

int Dim ()
Returns dimension of subspace.
int Dim ()
Returns dimension of subspace.
virtual HCL_VectorSpace_d& Domain ()
Domain space access
virtual HCL_VectorSpace_d& Domain ()
Domain space access
virtual HCL_VectorSpace_d& Domain ()
Domain space access.
virtual HCL_EvaluateFunctionalHess_d* EvaluateHess ( const HCL_Vector_d & x )
EvaluateHess creates an "evaluation" object, which knows how to compute the function value, gradient,and Hessian at the given x
HCL_Basis_d ( HCL_VectorSpace_d * sp, int m )
Usual constructor; needs the space and the dimension of the subspace.
Constructors and destructor
HCL_VectorLinearOp_d ()
Default constructor---disabled.
HCL_VectorLinearOp_d ( const HCL_VectorLinearOp_d & L )
Copy constructor---disabled.
HCL_VectorLinearOp_d ( const HCL_Vector_d * v )
Usual constructor; needs the vector that defines the operator
virtual ~HCL_VectorLinearOp_d ()
Destructor.
virtual HCL_VectorSpace_d& Domain ()
Domain space access.
virtual HCL_VectorSpace_d& Range ()
Range space access.
Image methods
virtual void Image ( const HCL_Vector_d & x, HCL_Vector_d & y )
Image computes the action of the operator on x, giving y.
virtual void AdjImage ( const HCL_Vector_d & x, HCL_Vector_d & y )
AdjImage computes the action of the adjoint on y, giving x.
I/O
virtual ostream& Write ( ostream & str )
Write prints out the vector.
HCL_BasisProductSpace_d ( HCL_ProductVectorSpace_d * sp, int m )
Usual constructor; needs the space and the dimension of the subspace.
HCL_BigMFcnlHessian_d ( HCL_ProductVectorSpace_d * d, HCL_LinearOpAdjEucRange_d * AA, double MM, HCL_EuclideanVector_d * msk )
Usual constructor.
virtual void Image ( const HCL_Vector_d & x, HCL_Vector_d & y )
Image compute the action of the operator on x, giving y.
void LinearCombination ( const HCL_RnVector_d & a, HCL_ProductVector_d & x )
Computes a linear combination of the basis vectors.
void LinearCombination ( const HCL_RnVector_d & a, HCL_Vector_d & x )
Computes a linear combination of the basis vectors.
int ModifiedGramSchmidt ()
Performs modified Gram-Schmidt to orthogonalize the basis.
int ModifiedGramSchmidt ()
Performs modified Gram-Schmidt to orthogonalize the basis.
int ModifiedGramSchmidtWithReduction ()
Performs modified Gram-Schmidt to orthogonalize the basis; reduces dimension of space if linear dependence is discovered
int ModifiedGramSchmidtWithReduction ()
Performs modified Gram-Schmidt to orthogonalize the basis; reduces dimension of space if linear dependence is discovered
int Number ()
Number returns the number of factors in the domain (and range).
HCL_LinearOp_d& operator) ( int i )
The () operator provides access to the operators on the diagonal.
HCL_ProductVector_d& operator) ( int i )
Returns a reference to the ith basis vector.
HCL_Vector_d& operator) ( int i )
Returns a reference to the ith basis vector.
void OrthoCheck ()
Computes the matrix of inner products to check orthogonality
virtual HCL_VectorSpace_d& Range ()
Range space access.
virtual HCL_VectorSpace_d& Range ()
Range space access
void SetNext ( HCL_LinearOp_d * L )
SetNext sets the next operator on the diagonal to L
HCL_ProductVectorSpace_d& Space ()
Returns a reference to the space.
HCL_VectorSpace_d& Space ()
Returns a reference to the space.
virtual ostream& Write ( ostream & str )
Debugging information
virtual ostream& Write ( ostream & str )
Debugging information

Public

Constructors and destructor
HCL_DiagBlockLinearOp_d ()
Default constructor---disabled.
HCL_DiagBlockLinearOp_d ( const HCL_DiagBlockLinearOp_d & L )
Copy constructor---disabled.
HCL_DiagBlockLinearOp_d ( HCL_ProductVectorSpace_d * d, HCL_ProductVectorSpace_d * r )
Usual constructor; needs the domain and range spaces
HCL_DiagBlockLinearOp_d ( HCL_LinearOp_d * A, HCL_LinearOp_d * B )
Provided for convenience in the special case of a 2x2 operator
virtual ~HCL_DiagBlockLinearOp_d ()
Destructor.
I/O
virtual ostream& Write ( ostream & str )
Write prints out the operators on the diagonal.
Image methods
virtual void Image ( const HCL_Vector_d & x, HCL_Vector_d & y )
Image computes the action of the operator on x, giving y.

Inherited from HCL_LinearOp_d:


Inherited from HCL_Base:

Public Methods

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

Private Fields

int ReferenceCount

Documentation

HCL_DiagBlockLinearOp_d implements a diagonal array of linear operators acting on a product vector space. For example, if the array is 2x2, the operator is of the form $(x,y) \mapsto (Ax,By)$.
HCL_Basis_d( HCL_VectorSpace_d * sp, int m )
Usual constructor; needs the space and the dimension of the subspace.

Constructors and destructor

HCL_VectorLinearOp_d()
Default constructor---disabled.

HCL_VectorLinearOp_d( const HCL_VectorLinearOp_d & L )
Copy constructor---disabled.

HCL_VectorLinearOp_d( const HCL_Vector_d * v )
Usual constructor; needs the vector that defines the operator

virtual ~HCL_VectorLinearOp_d()
Destructor.

virtual HCL_VectorSpace_d& Domain()
Domain space access.

virtual HCL_VectorSpace_d& Range()
Range space access.

Image methods

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

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

I/O

virtual ostream& Write( ostream & str )
Write prints out the vector.

HCL_VectorSpace_d& Space()
Returns a reference to the space.

int Dim()
Returns dimension of subspace.

HCL_Vector_d& operator)( int i )
Returns a reference to the ith basis vector.

void LinearCombination( const HCL_RnVector_d & a, HCL_Vector_d & x )
Computes a linear combination of the basis vectors.

int ModifiedGramSchmidt()
Performs modified Gram-Schmidt to orthogonalize the basis.

int ModifiedGramSchmidtWithReduction()
Performs modified Gram-Schmidt to orthogonalize the basis; reduces dimension of space if linear dependence is discovered

HCL_BasisProductSpace_d( HCL_ProductVectorSpace_d * sp, int m )
Usual constructor; needs the space and the dimension of the subspace.

HCL_ProductVectorSpace_d& Space()
Returns a reference to the space.

int Dim()
Returns dimension of subspace.

HCL_ProductVector_d& operator)( int i )
Returns a reference to the ith basis vector.

void LinearCombination( const HCL_RnVector_d & a, HCL_ProductVector_d & x )
Computes a linear combination of the basis vectors.

int ModifiedGramSchmidt()
Performs modified Gram-Schmidt to orthogonalize the basis.

int ModifiedGramSchmidtWithReduction()
Performs modified Gram-Schmidt to orthogonalize the basis; reduces dimension of space if linear dependence is discovered

void OrthoCheck()
Computes the matrix of inner products to check orthogonality

HCL_BigMFcnlHessian_d( HCL_ProductVectorSpace_d * d, HCL_LinearOpAdjEucRange_d * AA, double MM, HCL_EuclideanVector_d * msk )
Usual constructor.

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

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

virtual void Image( const HCL_Vector_d & x, HCL_Vector_d & y )
Image compute the action of the operator on x, giving y.

virtual ostream& Write( ostream & str )
Debugging information

virtual HCL_VectorSpace_d& Domain()
Domain space access. Returns a reference to the HCL_VectorSpace_d which forms the domain of the functional.

virtual HCL_EvaluateFunctionalHess_d* EvaluateHess( const HCL_Vector_d & x )
EvaluateHess creates an "evaluation" object, which knows how to compute the function value, gradient,and Hessian at the given x

virtual ostream& Write( ostream & str )
Debugging information

Constructors and destructor

HCL_DiagBlockLinearOp_d()
Default constructor---disabled.

HCL_DiagBlockLinearOp_d( const HCL_DiagBlockLinearOp_d & L )
Copy constructor---disabled.

HCL_DiagBlockLinearOp_d( HCL_ProductVectorSpace_d * d, HCL_ProductVectorSpace_d * r )
Usual constructor; needs the domain and range spaces. The operators are defined with the SetNext method.

HCL_DiagBlockLinearOp_d( HCL_LinearOp_d * A, HCL_LinearOp_d * B )
Provided for convenience in the special case of a 2x2 operator

virtual ~HCL_DiagBlockLinearOp_d()
Destructor.

virtual HCL_VectorSpace_d& Domain()
Domain space access.

virtual HCL_VectorSpace_d& Range()
Range space access.

HCL_LinearOp_d& operator)( int i )
The () operator provides access to the operators on the diagonal.

int Number()
Number returns the number of factors in the domain (and range).

Image methods

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

void SetNext( HCL_LinearOp_d * L )
SetNext sets the next operator on the diagonal to L

I/O

virtual ostream& Write( ostream & str )
Write prints out the operators on the diagonal.


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