escript
Revision_
|
#include <Functions.h>
Public Member Functions | |
Function (Esys_MPIInfo *mpi_info) | |
virtual | ~Function () |
virtual err_t | call (double *value, const double *arg, Performance *pp)=0 |
sets value=F(arg) | |
err_t | derivative (double *J0w, const double *w, const double *f0, const double *x0, double *setoff, Performance *pp) |
virtual dim_t | getLen ()=0 |
returns the length of the vectors used by this function | |
Public Attributes | |
Esys_MPIInfo * | mpi_info |
paso::Function::Function | ( | Esys_MPIInfo * | mpi_info | ) |
References Esys_MPIInfo_getReference(), and mpi_info.
paso::Function::~Function | ( | ) | [virtual] |
References Esys_MPIInfo_free(), and mpi_info.
virtual err_t paso::Function::call | ( | double * | value, |
const double * | arg, | ||
Performance * | pp | ||
) | [pure virtual] |
sets value=F(arg)
Implemented in paso::LinearSystem.
Referenced by derivative(), and paso::Solver_NewtonGMRES().
err_t paso::Function::derivative | ( | double * | J0w, |
const double * | w, | ||
const double * | f0, | ||
const double * | x0, | ||
double * | setoff, | ||
Performance * | pp | ||
) |
numerical calculation of the directional derivative J0w of F at x0 in the direction w. f0 is the value of F at x0. setoff is workspace
References call(), Esys_MPIInfo::comm, EPSILON, getLen(), paso::util::linearCombination(), paso::util::lsup(), MPI_DOUBLE, mpi_info, SOLVER_NO_ERROR, paso::util::update(), and paso::util::zeroes().
Referenced by paso::Solver_GMRES2().
virtual dim_t paso::Function::getLen | ( | ) | [pure virtual] |
returns the length of the vectors used by this function
Implemented in paso::LinearSystem.
Referenced by derivative(), paso::Solver_GMRES2(), and paso::Solver_NewtonGMRES().
Referenced by derivative(), Function(), paso::Solver_GMRES2(), paso::Solver_NewtonGMRES(), and ~Function().