PISM, A Parallel Ice Sheet Model
stable v2.1-1-g6902d5502 committed by Ed Bueler on 2023-12-20 08:38:27 -0800
|
Abstract base class for IPFunctionals arising from an inner product. More...
#include <IPFunctional.hh>
Public Member Functions | |
IPInnerProductFunctional (std::shared_ptr< const Grid > grid) | |
virtual void | dot (IMVecType &a, IMVecType &b, double *OUTPUT)=0 |
Computes the inner product \(Q(a, b)\). More... | |
virtual void | interior_product (IMVecType &x, IMVecType &y) |
Computes the interior product of a vector with the IPInnerProductFunctional's underlying bilinear form. More... | |
Public Member Functions inherited from pism::inverse::IPFunctional< IMVecType > | |
IPFunctional (std::shared_ptr< const Grid > grid) | |
virtual | ~IPFunctional () |
virtual void | valueAt (IMVecType &x, double *OUTPUT)=0 |
Computes the value of the functional at the vector x. More... | |
virtual void | gradientAt (IMVecType &x, IMVecType &gradient)=0 |
Computes the gradient of the functional at the vector x. More... | |
Additional Inherited Members | |
Protected Attributes inherited from pism::inverse::IPFunctional< IMVecType > | |
std::shared_ptr< const Grid > | m_grid |
fem::ElementIterator | m_element_index |
fem::Q1Element2 | m_element |
Abstract base class for IPFunctionals arising from an inner product.
Frequently functionals have the structure
\[ J(u) = Q(u, u) \]
where \(Q\) is a symmetric, non-negative definite, bilinear form. Certain minimization algorithms only apply to such functionals, which should subclass from IPInnerProductFunctional.
Definition at line 94 of file IPFunctional.hh.