|
PISM, A Parallel Ice Sheet Model 2.2.2-d6b3a29ca committed by Constantine Khrulev on 2025-03-28
|
Implements a functional corresponding to a (possibly weighted) sum of squares of components of an array::Scalar. More...
#include <IPMeanSquareFunctional.hh>
Inheritance diagram for pism::inverse::IPMeanSquareFunctional2S:Public Member Functions | |
| IPMeanSquareFunctional2S (std::shared_ptr< const Grid > grid, array::Scalar *weights=NULL) | |
| virtual | ~IPMeanSquareFunctional2S () |
| virtual void | normalize (double scale) |
| Implicitly set the normalization constant for the functional. | |
| virtual void | valueAt (array::Scalar &x, double *OUTPUT) |
| virtual void | dot (array::Scalar &a, array::Scalar &b, double *OUTPUT) |
| Computes the inner product \(Q(a, b)\). | |
| virtual void | gradientAt (array::Scalar &x, array::Scalar &gradient) |
Public Member Functions inherited from pism::inverse::IPInnerProductFunctional< array::Scalar > | |
| IPInnerProductFunctional (std::shared_ptr< const Grid > grid) | |
| virtual void | interior_product (array::Scalar &x, array::Scalar &y) |
| Computes the interior product of a vector with the IPInnerProductFunctional's underlying bilinear form. | |
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. | |
| virtual void | gradientAt (IMVecType &x, IMVecType &gradient)=0 |
| Computes the gradient of the functional at the vector x. | |
Protected Attributes | |
| array::Scalar * | m_weights |
| double | m_normalization |
Protected Attributes inherited from pism::inverse::IPFunctional< IMVecType > | |
| std::shared_ptr< const Grid > | m_grid |
| fem::ElementIterator | m_element_index |
| fem::Q1Element2 | m_element |
Private Member Functions | |
| IPMeanSquareFunctional2S (IPMeanSquareFunctional2S const &) | |
| IPMeanSquareFunctional2S & | operator= (IPMeanSquareFunctional2S const &) |
Implements a functional corresponding to a (possibly weighted) sum of squares of components of an array::Scalar.
If the vector has components \(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 37 of file IPMeanSquareFunctional.hh.