GlobiPack Package Browser (Single Doxygen Collection) Version of the Day
GlobiPack::TestLagrPolyMeritFunc1D< Scalar > Class Template Reference

Lagrange Polynomial Merit Function used in testing. More...

`#include <GlobiPack_TestLagrPolyMeritFunc1D_decl.hpp>`

Inheritance diagram for GlobiPack::TestLagrPolyMeritFunc1D< Scalar >:
[legend]

List of all members.

Public Member Functions

TestLagrPolyMeritFunc1D (const ArrayView< const Scalar > &alpha, const ArrayView< const Scalar > &phi)
Constructor.

Private Attributes

Array< Scalar > alpha_
Array< Scalar > phi_

Overridden from MeritFunc1DBase

virtual bool supportsDerivEvals () const

virtual void eval (const Scalar &alpha, const Ptr< Scalar > &phi, const Ptr< Scalar > &Dphi) const

Detailed Description

template<typename Scalar> class GlobiPack::TestLagrPolyMeritFunc1D< Scalar >

Lagrange Polynomial Merit Function used in testing.

This test class implements an arbitrary order polynomial specified as a set points.

Let the order-n polynomial approximation be:

```
phi(alpha) =
sum( phi_k * L(n,k)(alpha), k = 0...n-1 )

```

where `L(n,k)(alpha) are the nth order Lagrange polynomials:`

` `

``` L(n,k)(alpha) = product( (alpha - alpha[i]) / (alpha[k] - alpha[i]), i=0...n-1, i!=k ) ```

`The derivative of phi(alpha) with respect to alpha Dphi is given by:`

` `

``` Dphi(alpha) = sum( phi_k * DL(n,k)(alpha), k = 0...n-1 ) ```

`where:`

` `

``` DL(n,k)(alpha) = sum( 1/(alpha-alpha[j]) * product( (alpha-alpha[i])/(alpha[k]-alpha[i]), i=0...n-1, i!=k, i!=j ), j=0...n-1, j!=k ) ```

`Above, DL(n,k)(alpha) is derived using the simple product rule. `

Definition at line 104 of file GlobiPack_TestLagrPolyMeritFunc1D_decl.hpp.

Constructor & Destructor Documentation

template<typename Scalar >
 GlobiPack::TestLagrPolyMeritFunc1D< Scalar >::TestLagrPolyMeritFunc1D ( const ArrayView< const Scalar > & alpha, const ArrayView< const Scalar > & phi )

Constructor.

Definition at line 57 of file GlobiPack_TestLagrPolyMeritFunc1D_def.hpp.

Member Function Documentation

template<typename Scalar >
 bool GlobiPack::TestLagrPolyMeritFunc1D< Scalar >::supportsDerivEvals ( ) const` [virtual]`
template<typename Scalar >
 void GlobiPack::TestLagrPolyMeritFunc1D< Scalar >::eval ( const Scalar & alpha, const Ptr< Scalar > & phi, const Ptr< Scalar > & Dphi ) const` [virtual]`

Member Data Documentation

template<typename Scalar >
 Array GlobiPack::TestLagrPolyMeritFunc1D< Scalar >::alpha_` [private]`

Definition at line 127 of file GlobiPack_TestLagrPolyMeritFunc1D_decl.hpp.

template<typename Scalar >
 Array GlobiPack::TestLagrPolyMeritFunc1D< Scalar >::phi_` [private]`

Definition at line 128 of file GlobiPack_TestLagrPolyMeritFunc1D_decl.hpp.

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