cuquantum.cutensornet.create_marginal

cuquantum.cutensornet.create_marginal(intptr_t handle, intptr_t tensor_network_state, int32_t num_marginal_modes, marginal_modes, int32_t num_projected_modes, projected_modes, marginal_tensor_strides) intptr_t[source]

Creates a representation of the specified marginal tensor for a given tensor network state.

Parameters
  • handle (intptr_t) – cuTensorNet library handle.

  • tensor_network_state (intptr_t) – Tensor network state.

  • num_marginal_modes (int32_t) – Number of open state modes defining the marginal tensor.

  • marginal_modes (object) –

    Pointer to the open state modes defining the marginal tensor. It can be:

    • an int as the pointer address to the array, or

    • a Python sequence of int32_t.

  • num_projected_modes (int32_t) – Number of projected state modes.

  • projected_modes (object) –

    Pointer to the projected state modes. It can be:

    • an int as the pointer address to the array, or

    • a Python sequence of int32_t.

  • marginal_tensor_strides (object) –

    Storage strides for the marginal tensor (number of tensor modes is twice the number of the defining open modes). If NULL, the defaul generalized column-major strides will be assumed. It can be:

    • an int as the pointer address to the array, or

    • a Python sequence of int64_t.

Returns

Tensor network state marginal.

Return type

intptr_t