cuquantum.cutensornet.network_operator_append_product

cuquantum.cutensornet.network_operator_append_product(intptr_t handle, intptr_t network_operator, coefficient, int32_t num_tensors, num_modes, state_modes, tensor_mode_strides, tensor_data) int64_t[source]

Appends a tensor product component to the tensor network operator.

Parameters
  • handle (intptr_t) – The library handle.

  • network_operator (intptr_t) – The tensor network operator the product will be appended to.

  • coefficient – Complex coefficient associated with the appended operator component.

  • num_tensors – Number of tensor factors in the tensor product.

  • num_modes

    A host array of number of state modes each appended tensor factor acts on. It can be

    • an int as the pointer address to the array

    • a Python sequence of int

  • state_modes

    A host array of modes each appended tensor factor acts on (length = nModes). It can be

    • an int as the pointer address to the nested sequence

    • a Python sequence of int, each of which is a pointer address to the corresponding tensor’s modes

    • a nested Python sequence of int

  • tensor_modes_strides

    Tensor mode strides for each tensor factor (length = nModes * 2). It can be

    • an int as the pointer address to the nested sequence

    • a Python sequence of int, each of which is a pointer address to the corresponding tensor’s strides

    • a nested Python sequence of int

  • tensor_data

    A host array of pointer addresses (as Python int) for each tensor data (on device). It can be

    • an int as the pointer address to the array

    • a Python sequence of int

Returns

A unique sequential integer identifier of the appended tensor network operator component.

Return type

int64_t