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

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions