Loading [MathJax]/extensions/tex2jax.js
PISM, A Parallel Ice Sheet Model 2.2.2-d6b3a29ca committed by Constantine Khrulev on 2025-03-28
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | Protected Attributes | Private Member Functions | List of all members
pism::inverse::IPMeanSquareFunctional2V Class Reference

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::IPMeanSquareFunctional2V:

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.
 
virtual void valueAt (array::Vector &x, double *OUTPUT)
 
virtual void dot (array::Vector &a, array::Vector &b, double *OUTPUT)
 Computes the inner product \(Q(a, b)\).
 
virtual void gradientAt (array::Vector &x, array::Vector &gradient)
 
- 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.
 
- 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::Scalarm_weights
 
double m_normalization
 
- Protected Attributes inherited from pism::inverse::IPFunctional< IMVecType >
std::shared_ptr< const Gridm_grid
 
fem::ElementIterator m_element_index
 
fem::Q1Element2 m_element
 

Private Member Functions

 IPMeanSquareFunctional2V (IPMeanSquareFunctional2V const &)
 
IPMeanSquareFunctional2Voperator= (IPMeanSquareFunctional2V const &)
 

Detailed Description

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 74 of file IPMeanSquareFunctional.hh.


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