operator_action#

cuquantum.densitymat.jax.operator_action(
op: Operator,
t: float,
state_in_bufs: Array | Sequence[Array],
params: Array | None = None,
device: Device | None = None,
batch_size: int = 1,
options: dict = {},
) Array | List[Array][source]#

Compute the action of an operator on a state.

Parameters:
  • op – Operator to compute the action of.

  • t – The time to compute the operator action at.

  • state_in_bufs – Buffers of the input state components.

  • params – Callback parameters used to construct the operator.

  • device – Device to use for the operator action.

  • batch_size – Batch size of the operator action.

  • options

    Dictionary of options for the operator action. Currently, the available options are names of the gradients attached to the callbacks. See example8_gradient_attachment.py for an example.

    • "op_term_grad_attr": Name of the operator term coefficient gradient attached to the coefficient gradient callback. Default is "scalar_grad".

    • "op_prod_grad_attr": Name of the operator product coefficient gradient attached to the coefficient gradient callback. Default is "scalar_grad".

    • "base_op_grad_attr": Name of the tensor gradient attached to the tensor gradient callback. Default is "tensor_grad".

Returns:

Buffers of the output state components.