escript  Revision_
Public Member Functions | Public Attributes | List of all members
paso::Function Struct Referenceabstract

#include <Functions.h>

Inheritance diagram for paso::Function:
paso::LinearSystem

Public Member Functions

 Function (const escript::JMPI &mpi_info)
 
virtual ~Function ()
 
virtual SolverResult call (double *value, const double *arg, Performance *pp)=0
 sets value=F(arg) More...
 
SolverResult 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 More...
 

Public Attributes

const escript::JMPI mpi_info
 

Constructor & Destructor Documentation

◆ Function()

paso::Function::Function ( const escript::JMPI mpi_info)

◆ ~Function()

paso::Function::~Function ( )
virtual

Member Function Documentation

◆ call()

virtual SolverResult 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().

◆ derivative()

SolverResult 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(), paso::EPSILON, escript::fabs(), getLen(), paso::util::linearCombination(), paso::util::lsup(), MPI_DOUBLE, mpi_info, MPI_MAX, paso::NoError, escript::DataTypes::real_t_eps(), paso::util::update(), and paso::util::zeroes().

Referenced by paso::Solver_GMRES2().

◆ getLen()

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().

Member Data Documentation

◆ mpi_info

const escript::JMPI paso::Function::mpi_info

The documentation for this struct was generated from the following files: