Skip to content

0.22.0

Compare
Choose a tag to compare
@jjmartinezQT jjmartinezQT released this 27 Nov 17:09
· 173 commits to main since this release
7e00be6

New features since last release

  • Added real time results saving capability.
    #598

  • Raise an error if a user requests to run a circuit that is longer than repetition_duration
    #621

  • Add parameter to the SLURM magic method to configure the time limit of a job.
    #608

  • Add magic method to run python code as slurm jobs from Jupyter Notebooks.
    #600

  • Implemented QuantumMachinesCompiler class to compile QPrograms to QUA programs.
    #563

  • Implemented platform.execute_qprogram() method to execute a qprogram on Qblox hardware.
    #563

  • Added the two main classes need for automatic-calibration, CalibrationController and CalibrationNode
    #554

  • Added the driver for Quantum Machines Manager and a new QuantumMachinesResult class to handle Quantum Machines instruments.
    #568

  • Implemented the QuantumMachinesMeasurementResult class to store data acquired from a single instrument.
    #596

Improvements

  • Improved the UX for circuit transpilation by unifying the native gate and pulse transpiler under one CircuitTranspiler class, which has 3 methods:

    • circuit_to_native: transpiles a qibo circuit to native gates (Drag, CZ, Wait, M) and optionally RZ if optimize=False (optimize=True by default)
    • circuit_to_pulses: transpiles a native gate circuit to a PulseSchedule
    • transpile_circuit: runs both of the methods above sequentially
      Wait gate moved from the utils module to circuit_transpilation_native_gates
      #575
  • Added infinite_loop() method to QProgram.
    #563

  • Added measure() method to QProgram.
    #563

  • Various improvements in the compilation flow of QbloxCompiler.
    #563

  • Updated qm-qua library to latest 1.1.5.1.
    #596

Breaking changes

  • Changed resolution parameter of waveforms' envelope() method to integer.
    #563

  • Changed the way variables work within a QProgram. Variables are now instantiated based on the physical domain they affect.
    #563

Deprecations / Removals

  • Removed the park gate since it is no longer needed
    #575

Bug fixes

  • Fixed bug #626, where a regression bug was introduced by adding empty schedules to all flux buses, not only the ones with an AWG registered instrument, as it was intended originally.
    #628

  • Fixed bug #579, were now all yaml.dumps are done with ruamel, for not losing decimals precisons, and also following the previous bug due to the elimination of ruamel.yaml.round_trip_dump, the version of ruamel in qililab got fixed, and imports where rewritten for more clarity
    #577