Main Page   Namespace List   Class Hierarchy   Compound List   File List   Header Files   Sources   Namespace Members   Compound Members   File Members  

func::projection Class Reference

A function that is the projection of a multidimensional function to a single dimensional function. More...

#include <func.h>

Class diagram for func::projection:

func::single_dimension

List of all members.


Public Members

 projection ( const vector<double> &ix0, const vector<double> &idxdt, const multi_dimensional *f = 0 )
The only constructur for a projection. More...

virtual ~projection (void)
virtual double operator() ( const double x ) const
Calculate the projected function for a given argument. More...

vector< double > line ( const double t ) const
Calculate a point on the line projected to. More...

vector<double> x0
A point on the line projected to.

vector<double> dxdt
The direction of the line projected to.

const multi_dimensionalmulti_dimensional_function
The multidimensional function that is projected.


Detailed Description

A function that is the projection of a multidimensional function to a single dimensional function.

That is, the class implements a projection operator. A multidimensional function is projected by calculating its values along a line. One parameter indicates the position along the line, hence the multidimensional function is transformed to a function of that parameter.

Definition at line 238 of file func.h.


Member Function Documentation

func::projection::projection (const vector<double>& ix0, const vector<double>& idxdt, const multi_dimensional * f = 0)

The only constructur for a projection.

Parameters:
ix0   a point on the line projected to
ixdt   the direction of the line projected to
f   the function to project

Postconditions:
 assert( this->x0 == ix0 );
 assert( this->dxdt == idxdt );
 assert( this->multi_dimensional_function == f );

Definition at line 32 of file func.cpp.

func::projection::~projection (void) [virtual]

Definition at line 51 of file func.cpp.

double func::projection::operator() (const double) const [virtual]

Calculate the projected function for a given argument.

Parameters:
x   the argument for which the function is to be calculated
Returns:
The value of the function for argument x. This is calculated by using c to determine a point along the given line projected to, using the line function, then calculating the mutidimensional function for that point.

Preconditions:
 assert( this->multi_dimensional_function );

Invariants:
 (*this)( t ) == (*(this->multi_dimensional_function))( this->line(t) );

Reimplemented from func::single_dimension.

Definition at line 68 of file func.cpp.

vector<double> func::projection::line (const double t) const

Calculate a point on the line projected to.

Parameters:
t   a parameter indicating the position along the line
Returns:
the point on the line indicated by parameter t

Invariants;
 assert( this->line( t ) = this->x0 + t * dxdt );

Definition at line 58 of file func.cpp.


Member Data Documentation

vector<double> func::projection::x0

A point on the line projected to.

Definition at line 291 of file func.h.

vector<double> func::projection::dxdt

The direction of the line projected to.

Definition at line 296 of file func.h.

const multi_dimensional* func::projection::multi_dimensional_function

The multidimensional function that is projected.

Definition at line 318 of file func.h.


The documentation for this class was generated from the following files:
Generated at Sun Jul 14 20:38:19 2002 for Mapper by doxygen 1.0.0 written by Dimitri van Heesch, © 1997-1999