IterativeGeneralizedGaussian.compute_jacobian

giant.point_spread_functions.gaussians:

IterativeGeneralizedGaussian.compute_jacobian(x, y, computed)

This method computes the Jacobian of the PSF with respect to a change in the state.

This is used internally for computing the covariance. It returns a 5xn matrix defined as

\[\begin{split}\mathbf{J} = \left[\begin{array}{cccccc} \frac{\partial f}{\partial x_0} & \frac{\partial f}{\partial y_0} & \frac{\partial f}{\partial a} & \frac{\partial f}{\partial b} & \frac{\partial f}{\partial c} & \frac{\partial f}{\partial A} \end{array}\right]=\left[\begin{array}{c} \left(2a(x-x_0)+2b(y-y_0)\right)f(x, y) \\ \left(2c(y-y_0)+2b(x-x_0)\right)f(x, y) \\ -(x-x_0)^2f(x, y) \\ -2(x-x_0)(y-y_0)f(x, y) \\ -(y-y_0)^2f(x, y) \\ \frac{f(x, y)}{A} \end{array}\right]^T\end{split}\]
Parameters:
  • x (ndarray) – The x values to evaluate the Jacobian at as a length m array

  • y (ndarray) – The y values to evaluate the Jacobian at as a length m array

  • computed (ndarray) – The PSF evaluated at x and y as a length m array

Returns:

The Jacobian matrix as a 5xm numpy array