GlobiPack Package Browser (Single Doxygen Collection) Version of the Day
Public Member Functions | Private Attributes
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 >:
Inheritance graph
[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<Scalar> GlobiPack::TestLagrPolyMeritFunc1D< Scalar >::alpha_ [private]

Definition at line 127 of file GlobiPack_TestLagrPolyMeritFunc1D_decl.hpp.

template<typename Scalar >
Array<Scalar> 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:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Friends