-
Notifications
You must be signed in to change notification settings - Fork 93
Closed
Description
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
Labels
No labels