Skip to content

Correlated samples after apply_unitary_tensor_channel #172

@zhiihan

Description

@zhiihan

Hi, I'm not sure if this issue has been raised. I'm running this example here, and I find that my samples are generally correlated. Given that the example has the following diagram, I would expect that the samples are not correlated. Please let me know if I'm doing something wrong.

Contraction-based tensor network simulation of a noisy quantum state with unitary tensor channels.
The custom state is constructed by iteratively applying tensor operators and unitary bitflip tensor channels with the following topology:

Vacuum:                         A   B   C   D   E   F
                                |   |   |   |   |   |
one body op                     O   O   O   O   O   O
                                |   |   |   |   |   |
bit flip unitary channel        U   U   U   U   U   U
                                |   |   |   |   |   |
two body op                     GGGGG   GGGGG   GGGGG
                                |   |   |   |   |   |
two body op                     |   GGGGG   GGGGG   |
                                |   |   |   |   |   |
from cuquantum.cutensornet.experimental import NetworkState, NetworkOperator
import cupy as cp

state = NetworkState((2, 2), dtype='complex128')
bitflip_channel = [
    cp.eye(2, dtype='complex128'), # I
    cp.asarray([[0, 1], [1, 0]], dtype='complex128') # X
]
bitflip_probabilities = [0.5, 0.5] # 5% for bitflip

# apply one body tensor operators & unitary channels to the tensor network state
for i in range(len(state.state_mode_extents)):
    modes_one_body = (i, )
    channel_id = state.apply_unitary_tensor_channel(modes_one_body, bitflip_channel, bitflip_probabilities)

state.compute_sampling(nshots=1000, release_workspace=True)

Expected output:

{'00': 250,
'01': 250,
'10': 250,
'11': 250}

Actual:
{'00': 1000} or {'01': 1000} or {'10': 1000} or {'11': 1000}

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions