Сompiler of classical algorithms into oracles for quantum computing
Project description
Сompiler of classical algorithms into oracles for quantum computing
Achievements:
- CRC32 hash function (4 byte input) - 411 qubits.
Architecture:
- Parsing source code in AST (planned).
- Construction of a single large expression.
- Construction of an even larger logical expression for each bit of the output result of the algorithm.
- Expression optimization (minimizing unique logic operations and qubit allocations).
- Generation of a quantum circuit from a DAG of logical operations.
Authors:
- Alexander Averyanov - author
- Evgeny Kiktenko - mentor
- Dmitry Ershov - helped with the optimizer design
Example:
import quantpiler
a = quantpiler.Expr("a", 3)
b = a.argument("b", 2)
add = a + b
xor = add ^ 0b100
and_const = xor & 0b111
circ = and_const.compile()
qc = quantpiler.circuit_to_qiskit(circ)
qc.draw('mpl')
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
quantpiler-0.3.0.tar.gz
(61.4 kB
view hashes)