Releases: Qaqarot/qaqarot
blueqat 0.4.7 - 2021-09-16
New feature
- Built-in macros.
- To activate, run
import blueqat.macros
. draw
,margolus
,c3z
,c4z
,c3x
,c4x
,mcx_gray
,mcz_gray
,mcrx_gray
,mcry_gray
,mcrz_gray
,mcr_gray
,mcu_gray
are available.
- To activate, run
API Change
blueqat.utils.circuit_to_unitary
is moved toblueqat.circuit_utils.circuit_to_unitary
.
blueqat 0.4.6 - 2021-07-29
New Features
- Add JSON serializer/deserializer. Refer here.
Destructive Changes
Operation.create
method is added. All subclasses ofOperation
class must implement it.- Remove circuit-local default backend, move
blueqat.circuit.GATE_SET
toblueqat.gateset.GATE_SET
.- Use
GATE_SET
directly is not recommended. Please useblueqat.gateset.create
orblueqat.gateset.get_op_type
.
- Use
- u1/u2/u3, cu1/cu2/cu3 gates are completely deleted.
Advanced Notice
blueqat.wq
module will be deleted.
blueqat 0.4.5 - 2021-06-22
New features
- Add the following methods. These methods are equivalent with
Circuit.run()
withreturns="..."
arguments, but these are typed.Circuit.statevector() -> np.ndarray
Circuit.shots(n: int) -> Counter
Circuit.oneshot() -> Tuple[np.ndarray, str]
Blueqat 0.4.4
Release Date
10, Jun. 2021
Debug
- Repair 1 qubit gate decomposition function
- Correct gamma factor of
U.matrix()
Blueqat 0.4.3
Release Date
May. 21, 2021
Enhancement
- Add
ryrz_decomposer
Debug
- Debug wq (Ising model) module
- Debug phase/cphase gate matrix
How To Install
Update:
Jupyter Notebook: !pip install -U blueqat
Shell: pip install -U blueqat
Install:
Jupyter Notebook: !pip install blueqat
Shell: pip install blueqat
Blueqat 0.4.2
Release Date
Mar. 26, 2021
Changes
U1/U2/U3/CU1/CU2/CU3 gates are deprecated and no longer working.
- U1(θ) → RZ(θ)
- U2(φ, λ) → U(π/2, φ, λ, -0.5 * (φ+λ))
- U3(θ, φ, λ) → U(θ, φ, λ, -0.5 * (φ+λ))
- CU1(θ) → CR(θ)
- CU2(φ, λ) → CU(π/2, φ, λ, -0.5 * (φ+λ))
- CU3(θ, φ, λ) → CU(θ, φ, λ, -0.5 * (φ+λ))
are alternative.
Enhancement
Add U/CU gate and SX/SXDG gate.
U(θ, φ, λ, γ = 0.0) =
e^iγ * array([
[cos(θ/2), -e^iλ sin(θ/2)],
[e^iφ sin(θ/2), e^i(φ+λ) cos(θ/2)]])
SX = array([[1 + 1j, 1 - 1j], [1 - 1j, 1 + 1j]])
SXDG = SX†
CU is controlled-U gate.
How To Install
Update:
Jupyter Notebook: !pip install -U blueqat
Shell: pip install -U blueqat
Install:
Jupyter Notebook: !pip install blueqat
Shell: pip install blueqat
Blueqat 0.4.1
Release Date
Mar. 10, 2021
Enhancement
- Input initial statevector for numpy and numba backend. #101
vec = Circuit(2).x[0].run()
count = Circuit().x[1].m[:].run(initial=vec, shots=100)
# => count is {"11": 100}
Changed
- Cache is not stored after running. If caching is required, use
circuit.run(save_cache=True)
.
Debug
- Correct qgate backend, SWAP gate error.
Blueqat 0.4.0
Release Date
Mar. 2, 2021
Enhancement
- Make mat1 gate and basic transpiler. It will facilitate circuit optimizations and execution on the real quantum machine
- Add ZZ gate, this is for trapped-ion based machine's basis gate
- Update for next version of qgate (thank you, Morino san!)
Debug
- CCZ gate was not available. Now, it is available.
Blueqat 0.3.18
Release Date
Aug. 13, 2020
Enhancement
- Add
reset
operation. This is equivalent with measurement without recording measured result and apply X gate when 1 is measured.
Debug
- Correct numba's global phase error.
API Change
opt
module is renamed towq
.
Blueqat 0.3.17
Release Date
June 2, 2020
Enhancement
- Improve speed for Pauli operator's
to_matrix()
method - Add
n_qubits
property for Pauli operator term and expr.
Debug
- Correct pauli.Term.simplify method
- Solve the problem that constant value of
max_n
raises exception
Benchmark data for Pauli operator's to_matrix()
method
Machine spec:
CPU: AMD Ryzen 7 3800X
Mem: 16GB
Random generated Hamiltonian
Making CSC (sparse) matrix from random generated Hamiltonian.
row: The number of qubits
column: The number of terms
cell: Time (sec.)
Blueqat 0.3.16 (Previous release)
Blueqat 0.3.17 (This release)
Compare
Time in v0.3.16 / Time in v0.3.17
Greater than 1: v0.3.17 is faster than v0.3.16
Less than 1: v 0.3.17 is slower than v0.3.16
For large Hamiltonian, this release is 100 times faster than previous release
LiH Hamiltonian
Compared with OpenFermion's qubit_operator_sparse
.
Normally, the number of qubits is 12, but can be add redundant qubit via n_qubits parameter.
Measure 12 qubits to 19 qubits.
(*1): Due to lack of memory, so many swap out occurred. Blueqat implementation is less memory consumption than OpenFermion.
How to install
New install
pip install blueqat
Update
pip install -U blueqat