Published August 22, 2019
| Version 0.9.0
Software
Open
Qiskit/qiskit-terra: Qiskit Terra 0.9.0
Authors/Creators
- Jay Gambetta1
- Diego M. Rodríguez2
- Matthew Treinish
- Luciano
- Juan Gomez
- Andrew Cross
- ewinston
- Paul Nation3
- Ismael Faro Sertage4
- Christopher J. Wood5
- Salvador de la Puente González2
- Jesús Rubio2
- Thomas Alexander6
- Antonio Mezzacapo1
- Maddy Tod1
- Kevin Krsulich
- abbycross
- nkanazawa
- Abdón Rodríguez Davila2
- Lev Bishop1
- David McKay7
- Albert Frisch8
- Rudy Raymond1
- itoko3
- Max Reuter1
- Paco Martín Fernández1
- Lauren Capelluto
- Takashi Imamichi1
- Richard Chen
- smolinIBM
- 1. @IBM
- 2. @IBMResearch
- 3. IBM
- 4. IBM Research
- 5. IBM Research @QISKit
- 6. IBM Q
- 7. @IBM, @Qiskit
- 8. IBM @QISKit
Description
Changelog
Deprecated
- The gates
UandCXare being deprecated in favor ofu3andcx. - The gate
u0is being deprecated in favor of using multipleidgates to insert delays (#2664) - The decorator
requires_qe_accessis being deprecated in favor ofonline_test. - The
as_dictmethod of Qobj is deprecated in favor ofto_dict.
- A new pulse instruction,
Delay. ADelayoccupies a pulse channel for a duration of time, blocking other instructions from being inserted in this time. - Ability to check for equality of pulse
ScheduleandInstruction. - Added tests for
gate_mapand reference images for testingplot_gate_map - New
CountOpsLongestanalysis pass to retrieve the number of operations on the longest path of the DAGCircuit. - Added
sechandsech_derivpulses inqiskit.pulse.pulse_lib. - The option
vertical_compressionwas added to the text drawer and to theQuantumCircuit.drawmethod. The option allows to control how much room the text circuit drawing takes. - The option
idle_wireswas added to the drawers to control if wires without any operation should be included in the drawing. - Introduced a visualization for the Pass Manager. (#2445)
- New pulse schedule method
Schedule.filterto filter by instruction channel, time, and type. (#2597) - Decomposition of arbitrary isometries (#2600)
- Decomposition of diagonal gates (#2600)
- Decomposition of multiplexed rotation gates (#2600)
- Decomposition of multiplexed single-qubit unitaries (Option: decompose up to a diagonal gate) (#2600)
- ZYZ decomposition for single-qubit unitaries (#2600)
- Gray-Synth and Patel–Markov–Hayes algorithms for synthesis of CNOT-Phase and CNOT-only (linear) circuits (#2457)
- Added n-qubit unitaries to BasicAer simulator basis gates (#2342)
- Added a
random_circuitfunction underqiskit.circuit.random(#2553) - Added
equivmethod toOperatorandStatevectorclasses for testing if two objects are equivalent up to global phase (#2910) - Added
output_nameas a transpiler parameter to set the name of output circuits (#2745) - Simple expressions of Parameters can now be created via the four basic math operations (+,-,*,/). (#2537)
- A
ParmeterVectorclass has been added to ease the construction of circuits requiring a large number of parameters. (#2379) - dag.draw() method to visualize DAGCircuit objects (#3016)
- Intervals are now defined by start and stop, rather than begin and end.
- TimeslotCollections now are sorted by default and have more efficient merges.
- Pulse samples are now clipped if their norm is between 1 and 1+epsilon. Otherwise an error is raised.
Schedule.instructionsnow returns with time-ordering.- More informative errors are now raised if
qubit_lo_freqandmeas_lo_freqare not supplied toassemble_schedules. pulse.samplersmodule has now been moved topulse.pulse_lib.samplers.- The number of memory slots required will now be inferred from the supplied
schedules if
memory_slotsis not supplied. - All circuit drawers now express most commonly used fractions of PI (#2808).
- Set default repetition time to be the first available.
- Pulse commands may now start with capitalized letters.
- The
pylatexencandpillowrequirements are now optional. These are only used by thelatexandlatex_sourcecircuit visualization backends. To continue using them ensure these are installed. - When adding a register to a circuit, an error will now be raised if a register of the same name is already present. Previously, an error would only be raised if the same register was added twice.
- Qubits and classical bits are not represented as a tuples anymore,
but as instances of
QubitandClbitrespectively. - The ApplyLayout pass is incorporated in all preset pass managers to delineate a virtual circuit from a physical circuit (#2672)
- Mapping passes (
CXDirection, Swap passes,CheckMap,CheckCnotDirection) now operate on a register-less circuit corresponding to an already embedded physical circuit. (#2672) - Replaces
LegacySwapby faster, more stableStochasticSwappass (#2672) - Uses level 1 by default as transpiler optimization level (#2672)
- Change
Snapshotsignature to matchsimulator.snapshot(#2592) DAGCircuit.width()formerly returned number of qubits, now returns total number of qubits + classical bits (#2564)- Functions assuming the former semantics of
DAGCircuit.width()now callDAGCircuit.num_qubits()(#2564) DAGCircuit.num_cbits()renamed toDAGCircuit.num_clbits()(#2564)- Changed definition of
Cu3Gateto to equivalent to the canonical definition of a controlledU3Gate(#2755) coupling_mapnow required to validate abackend.configuration()(#2836)- The method
QuantumCircuit.count_opsnow returns anOrderedDictinstead of a dict. - If layout information is available in
the circuit, it will be included to the circuit drawing. This can be removed
using the option
with_layout=Falsein the methodQuantumCircuit.draw. (#2739) - Q-sphere visualization is enhanced and corrected (#2932)
- Shorter CH gate definition involving only 1 CX (#2837)
- Now PassManager.draw() (without any argument) will return an in-memory PIL image.
- The ability to set the
Timeslots for a pulseInstructionat initialization. - The previously deprecated functions
qiksit.visualization.plot_stateandqiskit.visualization.iplot_statehave been removed. Instead use the specific functions for each plot type (#2325). - International documentation of outdated readme etc (#2302)
- Removed deprecated options in
execute,transpile, andassemble. Removed deprecatedcompiler. - Removed deprecated
qcvvin tools. Removed deprecated convertersqobj_to_circuitsandcircuits_to_qobj(#2301) - The previously deprecated
qiskit._utilmodule has been removed. Useqiskit.utilinstead. (#2329) - The logging tools in
qiskit.tools.loggingare removed. (#2387) - The
qiskit.qiskiterrormodule has been removed. Please useqiskit.exceptionsinstead. (#2399) - Removed previously deprecated
DAGCircuitmethods (#2542) - Removed
CompositeGateclass, in favor of adding Instruction objects directly (#2543) - Removed
ignore_requiresandignore_preservesoptions fromPassManager(#2565).
- Fixes a bug where the
CmdDefwas getting built without buffers on channels. - Fixed bug in
Pulsefor multiple parameters being added (#2742) - Fixed bug in
PulseforCmdDefarguments (#2741) - Fixed bug in
OperatorandSuperOpfor initializing from circuit containing gates without an explicit matrix definition (#2723) - Possible to decompose SU(4) gate into non-CNOT basis with
TwoQubitDecomposer - Fixes a bug that removed
idgates from circuit. id gates are like awaitcommand and will never be removed (#2663) - Fixed bug in
CommutationAnalysispass affecting conditional gates (#2669) - Fixed bug in measure sampling for
BasicAerQasm simulator if a qubit was measured into more than one classical bit (#2735) - Correctly serialize complex numbers with a nonzero real part
- Fixed bug in measure sampling for
BasicAerQasm simulator if only a subset of qubits are measured (#2790) - Parameter objects can be serialized and communicated between sub-processes (#2429)
- Parameterized circuits no longer need to be transpiled individually (#2864)
Files
Qiskit/qiskit-terra-0.9.0.zip
Files
(1.4 MB)
| Name | Size | Download all |
|---|---|---|
|
md5:5ee4638950bc707999e002dfa23f259e
|
1.4 MB | Preview Download |
Additional details
Related works
- Is supplement to
- https://github.com/Qiskit/qiskit-terra/tree/0.9.0 (URL)