blueqat 0.4.9 - 2022-02-08
Debug
- Correct
TGate.matrix()
,TDagGate.matrix()
,IGate.matrix()
Experimental Feature
- New sampling feature is available in the numpy backend. This feature may effective for mid-circuit measurement.
# Specify `m(key="keyname")` in the measurement and `run(shots=..., returns="samples").
Circuit().x[1].m(key="key1")[0, 1].x[0].m(key="key2")[0, 1].run(shots=5, returns="samples")
# It returns
[{'key1': [0, 1], 'key2': [1, 1]},
{'key1': [0, 1], 'key2': [1, 1]},
{'key1': [0, 1], 'key2': [1, 1]},
{'key1': [0, 1], 'key2': [1, 1]},
{'key1': [0, 1], 'key2': [1, 1]}]
# You get 5 samples for each measured keys.
# When run(returns="sample"), measured result without the key is omitted.
# If the key is duplicated, another option is needed, "replace" or "append".
# "replace" pattern
Circuit().x[0].m(key="a")[:].x[0].m(key="a", duplicated="replace")[0].run(shots=2, returns="samples")
# It returns
[{'a': [0]}, {'a': [0]}]
# So, the first measured result of key "a" is omitted and replaced to second one.
# "append" pattern
Circuit().x[0].m(key="a")[:].x[0].m(key="a", duplicated="append")[0].run(shots=2, returns="samples")
# It returns
[{'a': [1, 0]}, {'a': [1, 0]}]
# So, the second measured result is appended to first one.
Changes
- Circuit JSON scheme is updated due to experimental features.
Internal Changes
Implementation of gates are changed