PISM, A Parallel Ice Sheet Model
stable v2.1.1 committed by Constantine Khrulev on 2024-12-04 13:36:58 -0900
|
Implements a functional corresponding to a (possibly weighted) sum of squares of components of an array::Scalar. More...
#include <IPMeanSquareFunctional.hh>
Public Member Functions | |
IPMeanSquareFunctional2V (std::shared_ptr< const Grid > grid, array::Scalar *weights=NULL) | |
virtual | ~IPMeanSquareFunctional2V () |
virtual void | normalize (double scale) |
Implicitly set the normalization constant for the functional. More... | |
virtual void | valueAt (array::Vector &x, double *OUTPUT) |
Computes the value of the functional at the vector x. More... | |
virtual void | dot (array::Vector &a, array::Vector &b, double *OUTPUT) |
Computes the inner product \(Q(a, b)\). More... | |
virtual void | gradientAt (array::Vector &x, array::Vector &gradient) |
Computes the gradient of the functional at the vector x. More... | |
Public Member Functions inherited from pism::inverse::IPInnerProductFunctional< array::Vector > | |
IPInnerProductFunctional (std::shared_ptr< const Grid > grid) | |
virtual void | interior_product (array::Vector &x, array::Vector &y) |
Computes the interior product of a vector with the IPInnerProductFunctional's underlying bilinear form. More... | |
Public Member Functions inherited from pism::inverse::IPFunctional< array::Vector > | |
IPFunctional (std::shared_ptr< const Grid > grid) | |
virtual | ~IPFunctional () |
Protected Attributes | |
array::Scalar * | m_weights |
double | m_normalization |
Protected Attributes inherited from pism::inverse::IPFunctional< array::Vector > | |
std::shared_ptr< const Grid > | m_grid |
fem::ElementIterator | m_element_index |
fem::Q1Element2 | m_element |
Private Member Functions | |
IPMeanSquareFunctional2V (IPMeanSquareFunctional2V const &) | |
IPMeanSquareFunctional2V & | operator= (IPMeanSquareFunctional2V const &) |
Implements a functional corresponding to a (possibly weighted) sum of squares of components of an array::Scalar.
If the vector has component vectors \(x_i\) the functional is
\[ J(x) = c_N \sum_{i} w_i |x_i|^2 \]
where \([w_i]\) is a vector of weights and \(c_N\) is a normalization constant. The value of the normalization constant is set implicitly by a call to normalize().
Definition at line 72 of file IPMeanSquareFunctional.hh.