Home | Doxygen Documentation | Tutorials | Developer Tools (restricted)

Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | Private Attributes
concepts::TrivExtendRestrict< F > Class Template Reference

Trivial extension and restriction operator. More...

#include <permutation.hh>

Inheritance diagram for concepts::TrivExtendRestrict< F >:
Inheritance graph
[legend]
Collaboration diagram for concepts::TrivExtendRestrict< F >:
Collaboration graph
[legend]

List of all members.

Public Types

typedef Cmplxtype< F >::type c_type
 Real type of data type.
typedef Realtype< F >::type r_type
 Real type of data type.
typedef F type
 Type of data, e.g. matrix entries.

Public Member Functions

void convertToMatrix (Matrix< F > &dest) const
 Convertes this operator to the matrix dest.
virtual const uint dimX () const
 Returns the size of the image space of the operator (number of rows of the corresponding matrix)
virtual const uint dimY () const
 Returns the size of the source space of the operator (number of columns of the corresponding matrix)
bool extend () const
 Returns the extension flag.
virtual void operator() (const Function< c_type > &fncY, Function< c_type > &fncX)
 Application operator for complex function fncY.
virtual void operator() (const concepts::Function< F > &fncY, concepts::Function< F > &fncX)
virtual void operator() (const Function< r_type > &fncY, Function< F > &fncX)
 Application operator for real function fncY.
 TrivExtendRestrict (uint dimX, uint dimY, bool extend=false)
template<class G >
 TrivExtendRestrict (const concepts::Space< G > &spcX, const concepts::Space< G > &spcY, bool extend=false)
 Constructor.

Protected Member Functions

virtual std::ostream & info (std::ostream &os) const
 Returns information in an output stream.

Protected Attributes

uint dimX_
 Dimension of image space and the source space.
uint dimY_

Private Attributes

const bool extend_

Detailed Description

template<typename F>
class concepts::TrivExtendRestrict< F >

Trivial extension and restriction operator.

Extends a vector by adding zeros at the beginning or restricts a vector by stripping off the beginning of the vector.

Author:
Philipp Frauenfelder, 2002
Test:
test::MoreCompositionsTest

Definition at line 101 of file permutation.hh.


Member Typedef Documentation

template<class F>
typedef Cmplxtype<F>::type concepts::Operator< F >::c_type [inherited]
template<class F>
typedef Realtype<F>::type concepts::Operator< F >::r_type [inherited]
template<class F>
typedef F concepts::Operator< F >::type [inherited]

Type of data, e.g. matrix entries.

Reimplemented in concepts::AfterIteration< F >, and concepts::SubMatrixN< F >.

Definition at line 43 of file compositions.hh.


Constructor & Destructor Documentation

template<typename F>
template<class G >
concepts::TrivExtendRestrict< F >::TrivExtendRestrict ( const concepts::Space< G > &  spcX,
const concepts::Space< G > &  spcY,
bool  extend = false 
) [inline]

Constructor.

Parameters:
spcXImage space
spcYSource space
extendApplies the extension (true) or the restriction (false)

Definition at line 110 of file permutation.hh.

template<typename F>
concepts::TrivExtendRestrict< F >::TrivExtendRestrict ( uint  dimX,
uint  dimY,
bool  extend = false 
) [inline]

Definition at line 125 of file permutation.hh.


Member Function Documentation

template<typename F>
void concepts::TrivExtendRestrict< F >::convertToMatrix ( Matrix< F > &  dest) const

Convertes this operator to the matrix dest.

Precondition:
dest is empty
template<class F>
virtual const uint concepts::Operator< F >::dimX ( ) const [inline, virtual, inherited]

Returns the size of the image space of the operator (number of rows of the corresponding matrix)

Definition at line 87 of file compositions.hh.

template<class F>
virtual const uint concepts::Operator< F >::dimY ( ) const [inline, virtual, inherited]

Returns the size of the source space of the operator (number of columns of the corresponding matrix)

Definition at line 92 of file compositions.hh.

template<typename F>
bool concepts::TrivExtendRestrict< F >::extend ( ) const [inline]

Returns the extension flag.

Definition at line 142 of file permutation.hh.

template<typename F>
virtual std::ostream& concepts::TrivExtendRestrict< F >::info ( std::ostream &  os) const [protected, virtual]

Returns information in an output stream.

Reimplemented from concepts::Operator< F >.

template<typename F>
void concepts::TrivExtendRestrict< F >::operator() ( const concepts::Function< F > &  fncY,
concepts::Function< F > &  fncX 
) [virtual]

Definition at line 156 of file permutation.hh.

template<class F>
virtual void concepts::Operator< F >::operator() ( const Function< c_type > &  fncY,
Function< c_type > &  fncX 
) [virtual, inherited]

Application operator for complex function fncY.

Computes fncX = A(fncY) where A is this operator. fncX becomes complex.

In derived classes its enough to implement the operator() for complex Operator's. If a real counterpart is not implemented, the function fncY is splitted into real and imaginary part and the application operator for real functions is called for each. Then the result is combined.

If in a derived class the operator() for complex Operator's is not implemented, a exception is thrown from here.

Reimplemented in concepts::VecOperator< F >, concepts::Multiple< F >, concepts::LiCoI< F >, concepts::LiCo< F >, concepts::DenseMatrix< F >, concepts::DiagonalMatrix< F >, concepts::DiagonalSolver< F >, concepts::Matrix< F >, concepts::Permutation< F >, concepts::SparseMatrix< F >, concepts::SubMatrixN< F >, concepts::Transpose< F >, concepts::VecOperator< Real >, concepts::DenseMatrix< Cmplx >, concepts::DenseMatrix< Real >, concepts::DiagonalMatrix< Real >, concepts::Matrix< concepts::Real >, concepts::Matrix< F::type >, concepts::Matrix< FX >, concepts::Matrix< T >, concepts::Matrix< Cmplx >, concepts::Matrix< Real >, concepts::Permutation< Real >, concepts::SparseMatrix< concepts::Real >, concepts::SparseMatrix< FX >, concepts::SparseMatrix< T >, concepts::SparseMatrix< Cmplx >, and concepts::SparseMatrix< Real >.

template<class F>
virtual void concepts::Operator< F >::operator() ( const Function< r_type > &  fncY,
Function< F > &  fncX 
) [virtual, inherited]

Application operator for real function fncY.

Computes fncX = A(fncY) where A is this operator.

fncX becomes the type of the operator, for real data it becomes real, for complex data it becomes complex.

In derived classes its enough to implement the operator() for real Operator's. If a complex counterpart is not implemented, the function fncY is transformed to a complex function and then the application operator for complex functions is called.

If in a derived class the operator() for real Operator's is not implemented, a exception is thrown from here.

Reimplemented in concepts::VecOperator< F >, concepts::Multiple< F >, concepts::LiCoI< F >, concepts::LiCo< F >, concepts::DenseMatrix< F >, concepts::DiagonalMatrix< F >, concepts::DiagonalSolver< F >, concepts::Matrix< F >, concepts::Permutation< F >, concepts::SparseMatrix< F >, concepts::SubMatrixN< F >, concepts::Transpose< F >, concepts::VecOperator< Real >, concepts::DenseMatrix< Cmplx >, concepts::DenseMatrix< Real >, concepts::DiagonalMatrix< Real >, concepts::Matrix< concepts::Real >, concepts::Matrix< F::type >, concepts::Matrix< FX >, concepts::Matrix< T >, concepts::Matrix< Cmplx >, concepts::Matrix< Real >, concepts::Permutation< Real >, concepts::SparseMatrix< concepts::Real >, concepts::SparseMatrix< FX >, concepts::SparseMatrix< T >, concepts::SparseMatrix< Cmplx >, and concepts::SparseMatrix< Real >.


Member Data Documentation

template<class F>
uint concepts::Operator< F >::dimX_ [protected, inherited]

Dimension of image space and the source space.

Definition at line 96 of file compositions.hh.

template<class F>
uint concepts::Operator< F >::dimY_ [protected, inherited]

Definition at line 96 of file compositions.hh.

template<typename F>
const bool concepts::TrivExtendRestrict< F >::extend_ [private]

Definition at line 151 of file permutation.hh.


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

Home | Doxygen Documentation | Tutorials | Developer Tools (restricted)