Qlafoutea \kla.fu.ti\
- (clafoutis) a delicious crustless pie prepared from pourable batter and black cherries
- (this piece of software) an ongoing experiment on designing a quantum-based calculator for developers and scientists who wish to take advantage of quantum algorithms without having to study quantum mechanics.
Qlafoutea was born from the observation that most (if not all) of the tools currently available to develop quantum algorithms assume:
- That the user of these tools has achieved PhD-level in quantum mechanics (in addition to their own field).
- That the user of these tools can easily navigate (and generally, cares about) the distinction hardware currently available for usage, hardware still in development, hardware that only exists on paper, the various kinds of emulators, and general quantum hype.
- That the user of these tools is interested in building algorithms from scratch rather than interested in the result or the performance.
You'll need a recent version of Rust.
To build & run (and display the command-line options):
$ cargo run -- --help
To run tests:
$ python3.10 -m venv venv # You only need to do this the first time.
$ . venv/bin/activate
$ cargo test
As of this writing, qlafoutea supports two features:
- compiling a source QUBO file;
- running a compiled QUBO file using its quantum simulator.
To compile
$ cargo run -- backend path-to-your-source-file.yaml
This will produce a compiled file, currently in the same JSON format as used by Pulser.
To run
$ cargo run -- run path-to-your-compiled-file.json
This will output a CSV files indicating how often each bitstring has been encountered during the execution of the compiled QUBO file.
Yes, this is a very early stage project, for the time being, this is it.
QUBO, or Quadratic Unconstrained Binary Optimization, is one optimization problem that has two interesting properties:
- it is very easy to execute on analog quantum architectures;
- many problems can easily be compiled to QUBO.
We figure that this can be a good candidate for an intermediate language for compiling some problems for quantum architectures.