- Update qiskit support version to
0.46.*
(#232)
- Remove comments after meaningful statements in QASM reader. (#218 by NoriyukiK-1qbit)
- Fix circuit plot error for gates with classical controls when
reverse_states=False
. (#221 by Kevin P. O'Brien) - Update the RTD configuration file to execute
create_tutorials_html.py
(#222, reported by Ramyashri Padmanabhakumar) - Remove the unnecessary use of circuit.propagatos (#226)
- Use CSR as default for
expand_operator
(#227) - Update the parsing mode for
read_qasm
(#224 reported by kevinab107)
This release adds two major features and one minor feature to the package.
- 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)
- Add synced qutip-qip tutorials to documentation on Read the docs (#207)
- Add DRAG correction for the
SCQubits
simulator. Also improve the interpolation for the idling gates for continuous pulse shape. (#156)
- 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)
- Fix the swap gate plotting. (#170) and (#177)
- Filter the measurement probability (#182)
- Add a default max_step based on the circuit time (#183)
- Fix parsing of package versions in packaging 22. (#181)
- Correct the spelling of Hadamard. (#132)
- Support the dev.major branch of qutip. (#136)
- Export circuit plots as png with dpi. (#139)
- Fix Circuit Plotting for non-reversed states. (#137)
- Fix add_gate behavior when supplied multiple indices. (#142)
- Quantum circuits inherit user gates from add_circuit. (#144)
This release includes a revision of the documentation and adds more code examples in the API doc strings.
- Remove the check on the initial state dimension in
QubitCircuit.run()
(#127)
- Rewrite the documentation for the pulse-level simulation. (#121)
- Add more code examples in the doc strings. (#126)
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.
- 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
.
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.
- Fix the leaking noise objects in Processor. (#89)
- Fix a bug in time-dependent collapse operators in Processor. (#107)
This micro release adds more thorough documentation for the project and fixes a few bugs in .QubitCircuit
and .Processor
.
PRs are collected here.
- 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
with.Noise.get_noisy_pulses
. The new name is more appropriate because it returns a list of.Pulse
, not aQobjEvo
. The old API is deprecated. (#76) - Add more thorough documentation for installing external dependencies for circuit plotting. (#65)
- 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 by.QubitCircuit.propagators
. The attributes.QubitCircuit.U_list
is also removed. (#66)
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.