PISM, A Parallel Ice Sheet Model  stable v2.1-1-g6902d5502 committed by Ed Bueler on 2023-12-20 08:38:27 -0800

◆ gradientAt()

void pism::inverse::IPLogRatioFunctional::gradientAt ( array::Vector x,
array::Vector gradient 
)
virtual

Computes the gradient of the functional at the vector x.

On an \(m\times n\) Grid, an array::Array \(x\) with \(d\) degrees of freedom will be \(d m n\)-dimensional with components \(x_i\). The gradient computed here is the vector of directional derivatives \(\nabla J\) of the functional \(J\) with respect to \(x\). Concretely, the \(i^{\rm th}\) component of \(\nabla J\) is

\[ \nabla J_i = \frac{\partial}{\partial x_i} J(x). \]

This vector is returned as gradient.

Implements pism::inverse::IPFunctional< array::Vector >.

Definition at line 100 of file IPLogRatioFunctional.cc.

References pism::array::Array2D< T >::add(), m_eps, pism::inverse::IPFunctional< array::Vector >::m_grid, m_normalization, m_u_observed, m_weights, pism::array::Array::set(), pism::Vector2d::u, and pism::Vector2d::v.