Simple things should be simple, complex things should be possible
- Alan Kay
Open-source Python Framework¶
Quantify is an open-source, Python-based, high-level data acquisition framework for quantum-computing and solid-state physics experiments. It is developed together with a growing international community of scientists and engineers, and is built on top of QCoDeS for handling various instruments. The framework consists of quantify-core and quantify-scheduler. As an open-source project, we welcome the contributions from our growing community!
Quantify-core enables users to quickly set up experiments while taking care of practical aspects such as data storage, live plotting of experiments, monitoring the state of instruments, and data analysis.
Quantify-scheduler provides a unique hybrid gate-pulse control model with explicit timing control, allowing users to easily express complex quantum experiments.
Maintained by Professionals¶
Many research organizations need similar infrastructure for controlling their experiments. Currently, most organizations develop and maintain their own in-house software frameworks, usually with huge maintenance backlogs. Quantify is a professionally maintained (CI/CD), open-source (BSD-3 license) framework, thus relieving organizations from this need. With Quantify, researchers and developers can focus on running experiments and adding advanced functionality. Quantify maintainers are quantum professionals, working for one of the supporting quantum companies.
Compatible & Device Agnostic¶
Quantify is compatible with various quantum platforms such as transmon qubits, spin qubits or NV-center qubits, and can be used with any equipment that supports QCoDeS drivers. The API of Quantify is documented with user guides, explaining the central concepts and tutorials demonstrating how the code can be used in practice. Tutorials include setting up basic and advanced measurement loops, scheduling of operations, and compilation onto different control hardware.
Join the Community Today¶
We welcome organizations and individual researchers to add the functionality they need to Quantify, enabling the quantum community to build on each other’s work. Let’s go open-source and discover the benefits of an actively maintained framework for qubit characterization and advanced qubit measuring. Join us on Slack!
“At the heart of Quantify lies a measurement paradigm that is both intuitive and flexible.”
The Quantify paradigm does not limit experiments but enables them and has the idea of optimization tasks built-in. The professionally maintained code built around this paradigm allows me to focus on my research instead of building the tools for it.
Dr. Christian Dickel - Postdoc at University of Cologne
“A powerful, yet minimal framework for experiments on quantum devices.”
I chose Quantify as my measurement platform because it is clear that the development team is leveraging their years of experience in measuring quantum devices to create a powerful, yet minimal framework for experiments on quantum devices.
Dr. James Kroll - Quantum Device Engineer at TNO
A quantum computing experiment typically consists of a data-acquisition loop that first sets parameters, and then measures the resulting set of parameters.
Instruments and Parameters, Settables and Gettables: Multi-dimensional software-controlled looping and sweeping of any QCoDeS instrument parameter;
Monitoring & visualization: Parameter monitoring and live visualization of experiments;
Measurement Control: Adaptive measurements using adaptive sampling and classical minimization algorithms;
Data storage: Data saving, using xarray;
Analysis: Data analysis and fitting.
Quantum computing experimentalists often need pulse-level control of their hardware when performing their experiments.
The quantify-scheduler package produces synchronized pulse schedules for qubit operations and readout.
Quantum-circuit layer: Hybrid quantum circuit description (quantum-device agnostic) in the form of a schedule of gate instructions, arbitrary pulses, or a combination;
Quantum-device layer: Instructions become device-aware, gate instructions are converted into pulses and timing information is added, corresponding to the quantum-device under test (e.g. spin, transmon, NV-center qubits);
Control-hardware layer: Compile the schedule into a control-hardware specific executable program.