Dokumentacja klasy FunctionBase

#include <FunctionBase.h>

Diagram dziedziczenia dla FunctionBase

NonlinearFunction PenaltyFunction UnivariateFunction LinearFunction UnivariateNonlinearFunction InnerPenalty OuterPenalty DirectionalUnivariateAdapter IterationValueInterpolation SimpleUnivariateAdapter UnivariateNonlinearFunction Lista wszystkich składowych.

Opis szczegółowy

Klasa reprezentująca funkcję matematyczną.

Abstrakcyjna klasa reprezentująca funkcję matematyczną wielu zmiennych.


Metody publiczne

 FunctionBase (bool isDifferentiable)
 Konstruktor.
virtual ~FunctionBase (void)
 Destruktor.
virtual std::auto_ptr< FunctionBaseClone () const =0
double Evaluate (const ColumnVector &point) const throw (EvaluationError)
 Metoda obliczająca wartość funkcji w punkcie.
double EvaluateNoThrow (const ColumnVector &point) const throw ()
 Metoda obliczająca wartość funkcji w punkcie.
virtual void BeginFixed () const
 Rozpoczyna fragment kodu, w którym zmienne ani funkcja nie zmieniają się.
virtual void EndFixed () const
 Koniec kodu, w którym zmienne ani funkcja nie zmieniają się.
double PartialDerivative (const ColumnVector &point, int variableIndex) const throw (EvaluationError)
 Pochodna cząstkowa w punkcie.
double SecondPartialDerivative (const ColumnVector &point, int firstVariableIndex, int secondVariableIndex) const throw (EvaluationError)
 Druga pochodna cząstkowa w punkcie.
ColumnVector Gradient (const ColumnVector &point) const throw (EvaluationError)
 Oblicza gradient w punkcie.
SymmetricMatrix Hessian (const ColumnVector &point) const throw (EvaluationError)
 Oblicza hesjan w punkcie.
void IncreaseCounter () const
 Zwiększ wartość licznika.
void ResetCounter () const
 Zeruj licznik.
virtual wxString ToString (bool full=true) const =0
 Zwraca tekstową reprezentację funkcji.
virtual unsigned EvaluationCount () const
 Całkowita liczba wyliczeń wartości funkcji.
virtual void SetProblem (const ProblemBase *pProblem) const
 Ustaw wskaźnik na problem/zadanie.
virtual VariableNames PresentVariables () const =0
 Zwraca listę nazw zmiennych, które występują w funkcji.
virtual bool IsDifferentiable () const
 Sprawdza, czy funkcja jest różniczkowalna.
virtual bool ContainsUnknown (const VariableNames &variables) const =0
 Sprawdza, czy funkcja używa zmiennych spoza listy.

Metody chronione

 FunctionBase (const FunctionBase &from)
virtual double DoEvaluateNoThrow (const ColumnVector &point) const =0 throw ()
 Funkcja obliczająca wartość.
virtual double DoEvaluate (const ColumnVector &point) const throw (EvaluationError)

Atrybuty chronione

bool mDifferentiable
 Czy funkcja jest różniczkowalna.
const ProblemBasempProblem
 Problem, z którego pobierane są zmienne.


Dokumentacja konstruktora i destruktora

FunctionBase::FunctionBase bool  isDifferentiable  ) 
 

Konstruktor.

Parametry:
isDifferentiable Czy funkcja jest różniczkowalna.


Dokumentacja funkcji składowych

void FunctionBase::BeginFixed  )  const [virtual]
 

Rozpoczyna fragment kodu, w którym zmienne ani funkcja nie zmieniają się.

Pozwala to na dokonanie pewnych optymalizacji obliczania funkcji.

Do momentu wywołania EndFixed zmienne ani funkcja (poprzez inne wskaźniki) nie mogą ulec zmianie.

Reimplementowana w NonlinearFunction.

double FunctionBase::Evaluate const ColumnVector &  point  )  const throw (EvaluationError)
 

Metoda obliczająca wartość funkcji w punkcie.

Wyjątki:
FunctionError Sygnalizowany, gdy nie można obliczyć wartości funkcji (np. punkt poza dziedziną).

Reimplementowana w UnivariateFunction.

double FunctionBase::EvaluateNoThrow const ColumnVector &  point  )  const throw ()
 

Metoda obliczająca wartość funkcji w punkcie.

Nie wyrzuca wyjątków, zwracane wartości mogą być NaN, nieskończonąścią itd.

Reimplementowana w UnivariateFunction.

ColumnVector FunctionBase::Gradient const ColumnVector &  point  )  const throw (EvaluationError)
 

Oblicza gradient w punkcie.

Parametry:
point Punkt, w którym obliczany jest gradient.

SymmetricMatrix FunctionBase::Hessian const ColumnVector &  point  )  const throw (EvaluationError)
 

Oblicza hesjan w punkcie.

Parametry:
point Punkt, w którym obliczany jest hesjan.

void FunctionBase::IncreaseCounter  )  const
 

Zwiększ wartość licznika.

Funkcja jest const, gdyż operuje na liczniku, który jest mutable.

double FunctionBase::PartialDerivative const ColumnVector &  point,
int  variableIndex
const throw (EvaluationError)
 

Pochodna cząstkowa w punkcie.

Parametry:
point Punkt, w którym obliczana jest wartość pochodnej.
variableIndex Indeks zmiennej (zaczynają się od 0), po której jest obliczana.

double FunctionBase::SecondPartialDerivative const ColumnVector &  point,
int  firstVariableIndex,
int  secondVariableIndex
const throw (EvaluationError)
 

Druga pochodna cząstkowa w punkcie.

Parametry:
point Punkt, w którym obliczana jest wartość pochodnej.
firstVariableIndex Indeks pierwszej zmiennej (zaczynają się od 0), po której pochodna jest obliczana.
secondVariableIndex Indeks drugiej zmiennej, po której pochodna jest obliczana.

void FunctionBase::SetProblem const ProblemBase pProblem  )  const [virtual]
 

Ustaw wskaźnik na problem/zadanie.

Z zadania pobierane są zmienne, musi więc ono być ustawione przed wywoływaniem Evaluate.

Reimplementowana w PenaltyFunction.

virtual wxString FunctionBase::ToString bool  full = true  )  const [pure virtual]
 

Zwraca tekstową reprezentację funkcji.

Parametry:
full Czy zwrócić pełny opis, czy sam wzór.

Implementowany w DirectionalUnivariateAdapter, HyperbolicInnerPenalty, InnerPenalty, IterationValueInterpolation, LinearFunction, LogarithmicInnerPenalty, NonlinearFunction, OuterPenalty i SimpleUnivariateAdapter.


Dokumentacja dla tej klasy została wygenerowana z plików:
Wygenerowano Fri Sep 29 21:04:51 2006 dla EduOptim2 programem  doxygen 1.4.6