SimPEG.regularization.JointTotalVariation.deriv2#
- JointTotalVariation.deriv2(model, v=None)[source]#
- Hessian of the regularization function evaluated for the model provided. - Where \(\phi (\mathbf{m})\) is the discrete regularization function (objective function), this method evalutate and returns the second derivative (Hessian) with respect to the model parameters. For a model \(\mathbf{m}\) consisting of multiple physical properties \(\mathbf{m_1}, \; \mathbf{m_2}, \; ...\) such that: \[\begin{split}\mathbf{m} = \begin{bmatrix} \mathbf{m_1} \\ \mathbf{m_2} \\ \vdots \end{bmatrix}\end{split}\]- The Hessian has the form: \[\begin{split}\frac{\partial^2 \phi}{\partial \mathbf{m}^2} = \begin{bmatrix} \dfrac{\partial^2 \phi}{\partial \mathbf{m_1}^2} & \dfrac{\partial^2 \phi}{\partial \mathbf{m_1} \partial \mathbf{m_2}} & \cdots \\ \dfrac{\partial^2 \phi}{\partial \mathbf{m_2} \partial \mathbf{m_1}} & \dfrac{\partial^2 \phi}{\partial \mathbf{m_2}^2} & \; \\ \vdots & \; & \ddots \end{bmatrix}\end{split}\]- When a vector \((\mathbf{v})\) is supplied, the method returns the Hessian times the vector: \[\frac{\partial^2 \phi}{\partial \mathbf{m}^2} \, \mathbf{v}\]- Parameters:
- model(n_param, )numpy.ndarray
- The model; a vector array containing all physical properties. 
- vnumpy.ndarray,optional
- An array to multiply the Hessian by. 
 
- model(
- Returns:
- numpy.ndarrayor- scipy.sparse.csr_matrix
- Hessian of the regularization function evaluated for the model provided. The Hessian of joint total variation with respect to the model times a vector or the full Hessian if v is None.