quilc
quilc copied to clipboard
The optimizing Quil compiler.
Adds four options to the RPC entry-point. - enable-approximate-compilation - compressor-passes - rewriting-peephole-size - global-queue-tolerance-threshold The options are modeled after the implementation of state-aware, setting the corresponding global variables using...
This PR removes the need to load LAPACK for CL-QUIL. Depends on: https://github.com/quil-lang/magicl/pull/171
There's a wonderful [paper](https://arxiv.org/abs/1909.05270) by Raban Iten, David Sutter, Stefan Woerner on compressor-like functionality for quantum circuits. At minimum, we should review it. At maximum, we should implement it. What...
Build fails
Please see the log here: [quilc-failure.txt](https://github.com/quil-lang/quilc/files/9226883/quilc-failure.txt) Version: 1.26.0 FreeBSD 13.1
Passes all tests, and produces output just as good as the original implementation on some basic benchmarks I ran. (commits should probably be squashed)
``` TEST-MEMOIZE-PAULI-BASIS-MATRICES Unhandled FIASCO::FAILED-ASSERTION in thread #: Test assertion failed when running TEST-MEMOIZE-PAULI-BASIS-MATRICES: Binary predicate (>= X Y) failed. x: NON-MEMO-TIMES => 7 y: (* MEMO-TIMES MIN-SLOW-TO-FAST-RATIO) => 8 Backtrace...
@notmgsk reports that `CONTROLLED RX(param) 0 1` can't be compiled when `param` is a memory reference. Should `uncontrol-rotation` from modifiers.lisp be handling this?
I would like a few log levels, between noise-stream and nothing. Sometimes I want to see the progress of compilation after the addresser has been warmed, when the addresser has...
A single `RY` gate translates to two `RX` gates, when we could get away with just one. ``` QUIL> (print-parsed-program (compiler-hook (parse-quil "RY(pi) 0") (build-nq-linear-chip 2))) RZ(2.2216554087607694) 0 # Entering...
You can now do e.g. `(copy-instance SOME-BINARY-CLASSICAL-INSTRUCTION :left NEW-LEFT-OPERAND)` to make a copy of `SOME-BINARY-CLASSICAL-INSTRUCTION` that has its `left` slot overwritten with `NEW-LEFT-OPERAND`. I suspect there are plenty of places...