Loading...
Searching...
No Matches
casacore::HyperPlane< T > Class Template Reference
scimath package (libcasa_scimath) » Functionals_module

More...

`#include <HyperPlane.h>`

## Public Member Functions

| HyperPlane (const uInt m=0)
| Construct an m-dimensional hyper plane which has m parameters.
| HyperPlane (const HyperPlane< T > &other)
| Copy constructor/assignment (deep copy).
template<class W>
| HyperPlane (const HyperPlane< W > &other)
HyperPlane< T > & | operator= (const HyperPlane< T > &other)
virtual | ~HyperPlane ()
| Destructor.
virtual T | eval (typename Function< T >::FunctionArg x) const
| Evaluate the hyper plane function at (x0,x1,..,xm-1).
virtual Function< T > * | clone () const
| Return a copy of this object from the heap.
virtual Function< typename FunctionTraits< T >::DiffType > * | cloneAD () const
virtual Function< typename FunctionTraits< T >::BaseType > * | cloneNonAD () const
Public Member Functions inherited from casacore::HyperPlaneParam< T >
| HyperPlaneParam (uInt m=0)
| Construct an m-dimensional hyper plane which has m parameters.
| HyperPlaneParam (const HyperPlaneParam &other)
| Copy constructor (deep copy).
template<class W>
| HyperPlaneParam (const HyperPlaneParam< W > &other)
HyperPlaneParam< T > & | operator= (const HyperPlaneParam< T > &other)
| Copy assignment (deep copy).
virtual | ~HyperPlaneParam ()
| Destructor.
Bool | operator== (const HyperPlaneParam< T > &other) const
| Comparisons.
Bool | operator!= (const HyperPlaneParam< T > &other) const
virtual const String & | name () const
| Give name of function.
virtual uInt | ndim () const
| What is the dimension of the parameter list.
Public Member Functions inherited from casacore::Function< T, U >
| Function ()
| Constructors.
| Function (const uInt n)
| Function (const Vector< T > &in)
| Function (const FunctionParam< T > &other)
template<class W, class X>
| Function (const Function< W, X > &other)
virtual | ~Function ()
| Destructor.
uInt | nparameters () const
| Returns the number of parameters.
virtual U | eval (FunctionArg x) const =0
| Evaluate the function object.
T & | operator[] (const uInt n)
| Manipulate the nth parameter (0-based) with no index check.
const T & | operator[] (const uInt n) const
virtual U | operator() () const
| Evaluate this function object at xor at x, y.
virtual U | operator() (const ArgType &x) const
virtual U | operator() (const Vector< ArgType > &x) const
virtual U | operator() (FunctionArg x) const
virtual U | operator() (const ArgType &x, const ArgType &y) const
virtual U | operator() (const ArgType &x, const ArgType &y, const ArgType &z) const
Bool & | mask (const uInt n)
| Manipulate the mask associated with the nth parameter (e.g.
const Bool & | mask (const uInt n) const
const FunctionParam< T > & | parameters () const
| Return the parameter interface.
FunctionParam< T > & | parameters ()
const Vector< ArgType > & | argp () const
| Get arg_p and parset_p.
Bool | parsetp () const
void | lockParam ()
| Compiler cannot always find the correct 'const' version of parameter access.
void | unlockParam ()
virtual void | setMode (const RecordInterface &mode)
| get/set the function mode.
virtual void | getMode (RecordInterface &mode) const
virtual Bool | hasMode () const
| return True if the implementing function supports a mode.
ostream & | print (ostream &os) const
| Print the function (i.e.
Public Member Functions inherited from casacore::Functional< FunctionTraits< T >::ArgType, T >
virtual | ~Functional ()
| Destructor.
virtual T | operator() (const FunctionTraits< T >::ArgType &x) const=0
| Map a Domain x into a Range y value.
Public Member Functions inherited from casacore::Functional< Vector< FunctionTraits< T >::ArgType >, T >
virtual | ~Functional ()
| Destructor.
virtual T | operator() (const Vector< FunctionTraits< T >::ArgType > &x) const=0
| Map a Domain x into a Range y value.

## Additional Inherited Members

Public Types inherited from casacore::Function< T, U >
typedef FunctionTraits< T >::ArgType | ArgType
typedef const ArgType * | FunctionArg
Protected Attributes inherited from casacore::Function< T, U >
FunctionParam< T > | param_p
| The parameters and masks.
Vector< ArgType > | arg_p
| Aid for non-contiguous argument storage.
Bool | parset_p
| Indicate parameter written.
Bool | locked_p
| Indicate that parameters are expected to be locked from changing.

## Detailed Description

template<class T>
class casacore::HyperPlane< T >

A hyper plane function.

### Intended use:

Public interface

### Review Status

Reviewed By:
  wbrouw
Date Reviewed:
  2004/05/25
Test programs:
  tHyperPlane

### Prerequisite

- Function

### Synopsis

This class forms a function of the form f(x0,x1,..,xm-1) = p0*x0 + p1*x1 +...

- pm-1*xm-1, where pi are coefficients (parameters) and xi are independent arguments.

f(x0,x1,..,xm-1) represents a hyper plane of dimension m.

Since the HyperPlane is a Function, the derivatives can be obtained as well.

The parameter interface (see FunctionParam class), is used to provide an interface to the Fitting classes.

This class is in general used implicitly by the HyperPlane class only.

### Example

// form the hyper plane function of this form:
// 6*x0 + 2*x3
HyperPlane<Double> hyper(4); // 4-dim hyperplane
hyper.parameters()[0] = 6;
hyper.parameters()[3] = 2;
// Evaluate at x0=5, x3=7
Vector<Double> x(4);
x=0; x[0]=5; x[3]=7;
cout << "Hypervalue: " << hyper(x) << endl;
Hypervalue: 44
casacore::HyperPlane::HyperPlane
HyperPlane(const uInt m=0)
Construct an m-dimensional hyper plane which has m parameters.
Definition HyperPlane.h:112
casacore::Vector
Definition Vector.h:82

### Template Type Argument Requirements (T)

- T should have standard numerical operators. Current implementation only tested for real types (and their AutoDiffs).

### Thrown Exceptions

- Assertion in debug mode if attempt is made to address incorrect coefficients

### Motivation

This class was created to allow the creation of linear constraint functions for the use of linear least-squares fit.

### To Do

- Nothing I know of

Definition at line 106 of file HyperPlane.h.

## Constructor & Destructor Documentation

## HyperPlane() [1/3]

template<class T>

casacore::HyperPlane< T >::HyperPlane | ( | const uInt | m = 0 | ) |

inline explicit

Construct an m-dimensional hyper plane which has m parameters.

By default, the coefficients are initialised to zero, and m=0

Definition at line 112 of file HyperPlane.h.

References casacore::HyperPlaneParam< T >::HyperPlaneParam().

Referenced by clone(), cloneAD(), cloneNonAD(), HyperPlane(), HyperPlane(), and operator=().

## HyperPlane() [2/3]

template<class T>

casacore::HyperPlane< T >::HyperPlane | ( | const HyperPlane< T > & | other | ) |

inline

Copy constructor/assignment (deep copy).

Definition at line 115 of file HyperPlane.h.

References HyperPlane(), and casacore::HyperPlaneParam< T >::HyperPlaneParam().

## HyperPlane() [3/3]

template<class T>
template<class W>

casacore::HyperPlane< T >::HyperPlane | ( | const HyperPlane< W > & | other | ) |

inline

Definition at line 117 of file HyperPlane.h.

References HyperPlane(), and casacore::HyperPlaneParam< T >::HyperPlaneParam().

## ~HyperPlane()

template<class T>

virtual casacore::HyperPlane< T >::~HyperPlane | ( |  | ) |

inline virtual

Destructor.

Definition at line 123 of file HyperPlane.h.

## Member Function Documentation

## clone()

template<class T>

virtual Function< T > * casacore::HyperPlane< T >::clone | ( |  | ) | const

inline virtual

Return a copy of this object from the heap.

The caller is responsible for deleting the pointer.

Implements casacore::Function< T, U >.

Definition at line 133 of file HyperPlane.h.

References HyperPlane().

## cloneAD()

template<class T>

virtual Function< typename FunctionTraits< T >::DiffType > * casacore::HyperPlane< T >::cloneAD | ( |  | ) | const

inline virtual

Reimplemented from casacore::Function< T, U >.

Definition at line 134 of file HyperPlane.h.

References HyperPlane().

## cloneNonAD()

template<class T>

virtual Function< typename FunctionTraits< T >::BaseType > * casacore::HyperPlane< T >::cloneNonAD | ( |  | ) | const

inline virtual

Reimplemented from casacore::Function< T, U >.

Definition at line 136 of file HyperPlane.h.

References HyperPlane().

## eval()

template<class T>

virtual T casacore::HyperPlane< T >::eval | ( | typename Function< T >::FunctionArg | x | ) | const

virtual

Evaluate the hyper plane function at (x0,x1,..,xm-1).

## operator=()

template<class T>

HyperPlane< T > & casacore::HyperPlane< T >::operator= | ( | const HyperPlane< T > & | other | ) |

inline

Definition at line 118 of file HyperPlane.h.

References HyperPlane(), and casacore::HyperPlaneParam< T >::operator=().

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

- scimath/Functionals/HyperPlane.h