GlobiPack Package Browser (Single Doxygen Collection)  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
Public Member Functions | Private Attributes | List of all members
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]

Public Member Functions

 TestLagrPolyMeritFunc1D (const ArrayView< const Scalar > &alpha, const ArrayView< const Scalar > &phi)
 Constructor. More...
 
- Public Member Functions inherited from Teuchos::Describable
DescribableStreamManipulatorState describe (const Describable &describable, const EVerbosityLevel verbLevel=Describable::verbLevel_default)
 
std::ostream & operator<< (std::ostream &os, const DescribableStreamManipulatorState &d)
 
virtual std::string description () const
 
virtual void describe (FancyOStream &out, const EVerbosityLevel verbLevel=verbLevel_default) const
 
void describe (std::ostream &out, const EVerbosityLevel verbLevel=verbLevel_default) const
 
virtual ~Describable ()
 
 LabeledObject ()
 
virtual ~LabeledObject ()
 
virtual void setObjectLabel (const std::string &objectLabel)
 
virtual std::string getObjectLabel () const
 

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
 

Additional Inherited Members

- Static Public Attributes inherited from Teuchos::Describable
static const EVerbosityLevel verbLevel_default
 

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: