Skip to content

blueqat 0.4.9 - 2022-02-08

Compare
Choose a tag to compare
@gyu-don gyu-don released this 08 Feb 02:50
· 70 commits to master since this release

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