MC++
mc::Specbnd< T > Class Template Reference

C++ template class computing spectral bounds for the Hessian matrix of a factorable function on a box. More...

#include <specbnd.hpp>

Collaboration diagram for mc::Specbnd< T >:

Classes

class  Exceptions
 Exceptions of mc::Specbnd. More...
 
struct  Options
 Options of mc::Specbnd. More...
 

Public Member Functions

 Specbnd ()
 Default constructor (needed to declare arrays of Specbnd)
 
 Specbnd (const double c)
 Constructor for real scalar c
 
 Specbnd (const T &B)
 Constructor for an interval B
 
 Specbnd (const T &B, const unsigned int i, const unsigned int n)
 Constructor for a variable with range B and index i of n independent variables.
 
 Specbnd (const Specbnd< T > &x)
 Copy constructor.
 
 ~Specbnd ()
 Destructor.
 
Specbnd< T > & set (const T &B, const unsigned int i, const unsigned int n)
 Set variable with range B and index i of n independent variables.
 
Specbnd< T > & set (const fadbad::F< T > &FB, const T &SB)
 Set function and first derivative bounds as well as spectral bounds to, respectively, FB and SB
 
Specbnd< T > & dep (const unsigned int i, const unsigned int n)
 Set the index of a variable (and total number of variables)
 
unsigned int dep () const
 Return number of independent variables.
 
const T & I () const
 Return function bounds.
 
const fadbad::F< T > & FI () const
 Return function and gradient bounds.
 
const T & SI () const
 Return spectral bounds for Hessian matrix.
 

Static Public Member Functions

static std::pair< double, double > spectrum (const fadbad::B< fadbad::F< double > > *D2X)
 Compute spectrum of Hessian matrix D2X of type fadbad::B< fadbad::F<double> >* using LAPACK function dsyev.
 
static std::pair< double, double > spectrum (const fadbad::F< fadbad::F< double > > &D2X)
 Compute spectrum of Hessian matrix D2F of type fadbad::F< fadbad::F<double> > using LAPACK function dsyev.
 
static std::pair< double, double > spectral_bound (const fadbad::B< fadbad::F< T > > *D2X)
 Compute spectral bound of interval Hessian matrix D2X of type fadbad::B< fadbad::F<T> >*. The bounding method is selected via mc::Specbnd::Options::HESSBND.
 
static std::pair< double, double > spectral_bound (const fadbad::F< fadbad::F< T > > &D2X)
 Compute spectral bound of interval Hessian matrix D2X of type fadbad::F< fadbad::F<T> >. The bounding method is selected via mc::Specbnd::Options::HESSBND.
 

Detailed Description

template<typename T>
class mc::Specbnd< T >

mc::Specbnd<T> is a C++ template class computing spectral bounds for the Hessian matrix of a factorable function on a box. The template parameter T corresponds to the type used in the underlying interval arithmetic calculations.


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