Changelog
Version 0.3.0 (July 19, 2023)
This release adds two major features and one minor feature to the package.
New features
MAJOR Add Variational Quantum Algorithms in a new module
qutip_qip.vqa
. Unitary fund microgrant project (#123)MAJOR qutip-qip backends for qiskit
qutip_qip.qiskit
. Google Summer of Code project 2022 (#155, #159)Add class representation of quantum gates. (#147)
Documentation
Add synced qutip-qip tutorials to documentation on Read the docs (#207)
Version 0.2.3 (December 12, 2022)
Improvements
Add DRAG correction for the
SCQubits
simulator. Also improve the interpolation for the idling gates for continuous pulse shape. (#156)
Bug Fixes
Fix usage of
rand_unitary
andrand_ket
. (#163)Fix the final time calculation in
GateCompiler.compile
. (#162)Fix bug for circuit with selected measurement result. (#167)
Fix bugs in the analytical pulse shapes. (#169)
Filter the measurement probability (#182)
Add a default max_step based on the circuit time (#183)
Miscellaneous
Fix parsing of package versions in packaging 22. (#181)
Version 0.2.2 (June 20, 2022)
Improvements
Bug Fixes
Version 0.2.1 (Feb 20, 2022)
This release includes a revision of the documentation and adds more code examples in the API doc strings.
Bug Fixes
Remove the check on the initial state dimension in
QubitCircuit.run()
(#127)
Improvements
Version 0.2.0 (Nov 26, 2021)
This release adds a few new features to the pulse-level simulator.
PRs are collected https://github.com/qutip/qutip-qip/milestone/3?closed=1.
Improvements
MAJOR Add the
Model
class that represents the physical model including hardware parameters, control and drift Hamiltonians and noise objects. (#105)Separate the gate definition from the QubitCircuit.propagators method (#83)
Support different pulse shapes. (#85)
Use autosummary to generate a summary of API docs. (#103)
Improve the scheduling algorithm. (#105)
Note
Compatibility Note: The behaviour of Processor.pulses
changes significantly from version 0.1 to version 0.2. In 0.1, if no control coefficients are added, pulses contains a list of partially initialized Pulse
objects. They include control Hamiltonians but have no coefficients or tlist. This behaviour has changed. From 0.2, the list only includes controls that have non-trivial dynamics. To inspect the available control Hamiltonians, please use Processor.get_control
and Processor.get_control_labels
.
Version 0.1.2 (Nov 25, 2021)
This micro release adds more thorough documentation for the project and fixes a few bugs in QubitCircuit
and Processor
.
PRs are collected at https://github.com/qutip/qutip-qip/milestone/4?closed=1.
Improvements
Bug Fixes
Version 0.1.1 (July 28, 2021)
This micro release adds more thorough documentation for the project and fixes a few bugs in QubitCircuit
and Processor
.
PRs are collected here.
Improvements
Improve the documentation.
Workflows for releases and automatically building the documentation, migrated from
qutip
. (#49, #78)The part of tex code taken from circuit is removed due to licence issue. Instead, the latex code now requires the user to install qcircuit in advance. (#61)
Rename
Noise.get_noisy_dynamics
withNoise.get_noisy_pulses
. The new name is more appropriate because it returns a list ofPulse
, not aQobjEvo
. The old API is deprecated. (#76)Add more thorough documentation for installing external dependencies for circuit plotting. (#65)
Bug Fixes
Add the missing drift Hamiltonian to the method
Processor.run_analytically
. It was missing because only the control part of the Hamiltonian is added. (#74)Fix a few bugs in
QubitCircuit
: Make QubitCircuit.propagators_no_expand private. It will be removed and replaced byQubitCircuit.propagators
. The attributesQubitCircuit.U_list
is also removed. (#66)
Developer Changes
Version 0.1.0 (May 14, 2021)
This is the first release of qutip-qip, the Quantum Information Processing package in QuTiP.
The qutip-qip package used to be a module qutip.qip
under QuTiP (Quantum Toolbox in Python). From QuTiP 5.0, the community has decided to decrease the size of the core QuTiP package by reducing the external dependencies, in order to simplify maintenance. Hence a few modules are separated from the core QuTiP and will become QuTiP family packages. They are still maintained by the QuTiP team but hosted under different repositories in the QuTiP organization.
The qutip-qip package, QuTiP quantum information processing, aims at providing basic tools for quantum computing simulation both for simple quantum algorithm design and for experimental realization. Compared to other libraries for quantum information processing, qutip-qip puts additional emphasis on the physics layer and the interaction with the QuTiP package. The package offers two different approaches for simulating quantum circuits, one with QubitCircuit
calculating unitary evolution under quantum gates by matrix product, another called Processor
using open system solvers in QuTiP to simulate the execution of quantum circuits on a noisy quantum device.