|
PISM, A Parallel Ice Sheet Model 2.2.2-d6b3a29ca committed by Constantine Khrulev on 2025-03-28
|
Implements a functional for log-ratio errors. More...
#include <IPLogRatioFunctional.hh>
Inheritance diagram for pism::inverse::IPLogRatioFunctional:Public Member Functions | |
| IPLogRatioFunctional (std::shared_ptr< const Grid > grid, array::Vector &u_observed, double eps, array::Scalar *weights=NULL) | |
| virtual | ~IPLogRatioFunctional () |
| virtual void | normalize (double scale) |
| Determine the normalization constant for the functional. | |
| virtual void | valueAt (array::Vector &x, double *OUTPUT) |
| Computes the value of the functional at the vector x. | |
| virtual void | gradientAt (array::Vector &x, array::Vector &gradient) |
| Computes the gradient of the functional at the vector x. | |
Public Member Functions inherited from pism::inverse::IPFunctional< array::Vector > | |
| IPFunctional (std::shared_ptr< const Grid > grid) | |
| virtual | ~IPFunctional () |
Protected Attributes | |
| array::Vector & | m_u_observed |
| array::Scalar * | m_weights |
| double | m_normalization |
| double | m_eps |
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 |
Implements a functional for log-ratio errors.
This type of functional appears in [Morlighemetal2010]. Specifically, given a reference function \(u_{obs}=[U_i]\), and an array::Vector \(x=[X_i]\),
\[ J(x) = c_N \sum_i W_i\left[\log\left(\frac{|X_i+U_i|^2+\epsilon^2}{|U_{i}|^2+\epsilon^2}\right)\right]^2 \]
where \(\epsilon\) is a regularizing constant and \([W_i]\) is a vector of weights.
The term \(X_i+U_i\) appears because the argument is expected to already be in the form \(V_i-U_i\), where \(v=[V_i]\) is some approximation of \([U_i]\) and hence the integrand has the form \(\log(|V_i|/|U_i|)\).
The normalization constant \(c_N\) is determined implicitly by normalize().
Definition at line 41 of file IPLogRatioFunctional.hh.