cyjax.complex_hessian#

cyjax.complex_hessian(potential, z_index=0, z_c_index=1)#

Return the mixed hessian of a function.

Given a potential function \(f\) which takes both the coordinates and the complex conjugate as input (so we can compute the holomorphic derivatives), this generates a new function which computes

\[(z, \bar{z}, \ldots) \mapsto \partial_i \bar{\partial}_j f(z, \bar{z}, \ldots)\]
Parameters:
  • potential (Callable[..., Union[Array, ndarray, bool_, number]]) – Potential function which takes affine coordinates and their conjugate as input. May also take other arguments as input; the order of input arguments is preserved. The output must be a real value.

  • z_index (int) – Argument index of affine coordinate in potential function.

  • z_c_index (int) – Argument index of complex conjugate affine coordinates in potential function.

Return type:

Callable[..., Union[Array, ndarray, bool_, number]]

Returns:

A function taking affine coordinate and complex conjugate coordinate as input and returns the complex Hessian matrix.