Skip to content

Releases: QuTech-Delft/OpenSquirrel

Feature release 0.9.0

19 Dec 17:08
f817844

Choose a tag to compare

Added

  • QGymMapper mapper pass
  • U(theta, phi, lambda) gate to default single-qubit gates
  • Z90 and mZ90 pi-half rotation gates (equivalent to S and Sdag gates)
  • Operation duration in terms of execution cycles can be specified for the QuantifySchedulerExporter
  • measurement_to_bit_map property added to the Circuit class

Changed

  • Circuit.export expects an Exporter instance as input argument (instead of an ExportFormat)
  • Moved Bloch sphere rotation composition from the merger pass interface to Bloch sphere rotation semantic module
  • Refactor gate semantics as attributes of gates

Removed

  • The QuantifySchedulerExporter no longer returns a bit_register_mapping
    (use Circuit.measurement_to_bit_map property instead), it only returns a quantify-scheduler Schedule
  • The ExportFormat has been deprecated
    (exporters can be specified by providing an instance as input argument to Circuit.export)

Feature release 0.8.0

03 Nov 07:13
6670ef8

Choose a tag to compare

Added

  • Processing of control instructions (Barrier, Wait) added to quantify-scheduler exporter

Changed

  • Refactor of visitor functionality of IR components and implementations
  • Improved SWAP placement and refactor of common functionalities in existing router passes

Feature release 0.7.0

13 Oct 12:20
d3d642c

Choose a tag to compare

Added

  • Support for Python 3.13 added.

Removed

  • Support for Python 3.9 dropped.

Bug fix release 0.6.1

06 Oct 11:12
7ed5fe6

Choose a tag to compare

Added

  • instruction_count property to Circuit

Fixed

  • Autocompletion for CircuitBuilder gates
  • Re-mapper properly handles remapping of target qubits

Feature release 0.6.0

28 Aug 12:33
3a25253

Choose a tag to compare

Added

  • MIPMapper mapper pass
  • OpenSquirrel's __version__ attribute exposed

Changed

  • RoutingValidator changed to InteractionValidator

Fixed

  • ShortestPathRouter and AStarRouter now correctly propagate SWAP gate insertion effects throughout the circuit
  • The values for parameters theta and phi stay within the domain (-pi, pi] throughout parse- and compile-time
    (note: gate modifiers have precedence over normalization)
  • Mapping of the target qubits of controlled gates

Feature release 0.5.0

28 May 09:32
804951b

Choose a tag to compare

Added

  • asm_filter method to the Circuit class to filter-out assembly declarations by backend name

Changed

  • Default gate identification check refactored (now including check for phase)
  • McKayDecomposer checks X90 on BSR semantic instead of name

Fixed

  • RoutingValidator ignores assembly declarations

Feature release 0.4.0

28 Apr 12:39
52e6e66

Choose a tag to compare

Added

  • Assembly declaration
  • Rn unitary instruction
  • SWAP2CZDecomposer decomposer pass
  • CZDecomposer decomposer pass
  • ShortestPathRouter router pass
  • RandomMapper mapper pass
  • AStarRouter router pass

Changed

  • libQASM 1.1.0 integrated (updated from 0.6.9)
  • Refactor: removed generators
  • Changed the RoutingChecker pass to a RoutingValidator pass
  • Changed use of native to primitive, e.g. NativeGateValidator is now PrimitiveGateValidator
  • Compilation passes accept kwargs as input

Bug fix release 0.3.1

31 Jan 13:54
2607579

Choose a tag to compare

Fixed

  • Bug in the writing of SWAP instructions

Feature release 0.3.0

30 Jan 13:05
0e311ee

Choose a tag to compare

Added

  • NativeGateValidator validator pass

Changed

  • Relaxed NumPy version requirement to >=1.26 for all supported Python versions

Fixed

  • Fixed order of merging Bloch sphere rotations

Feature release 0.2.0

21 Jan 14:24
0d321ff

Choose a tag to compare

Added

  • init non-unitary instruction
  • SWAP two-qubit unitary instruction
  • barrier and wait control instructions
  • SingleQubitGatesMerger merger pass
  • SWAP2CNOTDecomposer decomposer pass
  • CNOT2CZDecomposer decomposer pass
  • RoutingCheckerrouting pass
  • Restore barrier groups in cQASMv1 Exporter

Changed

  • Importing modules, classes, and functionalities simplified
  • merge_single_qubit_gates method of Circuit class,
    changed to general merge method that accepts custom merger passes
  • libQASM 0.6.9 integrated (updated from 0.6.7)
  • Refactor: code base adheres to the PEP8 style guide
  • Refactor: instruction library simplified
  • Refactor: comment nodes removed from IR

Fixed

  • Bug in ABA-decomposer
  • Bug in McKay-decomposer (all single-qubit Clifford gates are verified)