С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.1.tar.gz
(61.2 kB
view hashes)
Built Distributions
Close
Hashes for quantpiler-0.3.1-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d6cdfc41a400c9294aa5b20aa0088db0fa81dc2998843108a741eeb206083dc3 |
|
MD5 | 0c1ea623d19fbdd77faf5022504326b8 |
|
BLAKE2b-256 | cce6276d23bdb0543b798b6c9c441f51fed8afb6c04763b6db1880202a4ae831 |
Close
Hashes for quantpiler-0.3.1-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 10a0121effafb1397eb5aa61adbe2100405e475fb2680a37d4cda73d797de3b0 |
|
MD5 | 02fd39b3882196c784127cf121eb2f76 |
|
BLAKE2b-256 | 89d28b8603f8ccc45e0c75aca691825d53841aab08c14c40075d01b365d6bc9f |
Close
Hashes for quantpiler-0.3.1-pp38-pypy38_pp73-manylinux_2_28_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 04b4439ff5a348af3e1af26bb8f9637ada1ba378f5786b515009abd5316000a6 |
|
MD5 | 5974794dd5f91d304f4f27d99f0c0b8e |
|
BLAKE2b-256 | 5958e14bd0308add75366c027387b9d7f9ec7fbd1c5fb2d6227e07dfe9db8e2e |
Close
Hashes for quantpiler-0.3.1-cp312-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | dfd3b26f67853a634e2f8d9abeb4403f44a0a7950d44ca46a496a7a5946d4151 |
|
MD5 | a2b5ac2503808f6f200344c0697d2b8d |
|
BLAKE2b-256 | 96150bf95fe8be711d84887695171fd49d2abd912cb6cf06c3ab74eecd292ca9 |
Close
Hashes for quantpiler-0.3.1-cp312-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1549eadb10fd3b901c5213eec3d66cc0c3bede2a07373c6567dee49cf9a2a7b8 |
|
MD5 | d4ecbee37299a47b13d9cb61c5b50b5c |
|
BLAKE2b-256 | 70029eb9fc4059beae956c79716432cb8801d6f2603edd370234814ea94d1f55 |
Close
Hashes for quantpiler-0.3.1-cp312-cp312-manylinux_2_28_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a85c002ae4e288cf333f4afc2b2c09f431e132fa60a6d19ddff11fac5c3be8ba |
|
MD5 | c2e8546b6f74199282915be0350bbdb5 |
|
BLAKE2b-256 | 1c0315fd21a4d4638ea26fde31654490fb7af0262ac8d8d871629b86a5cb38ef |
Close
Hashes for quantpiler-0.3.1-cp311-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6888bfba0996800b0ba535b4c6115c41904745011166340295d7c284f7ac73cc |
|
MD5 | 332ea23cb5775e018843e27c74fa7faf |
|
BLAKE2b-256 | 694dbc3aee3169d38431abe7280c633436fb7dcf8ec27682042d4589b7852360 |
Close
Hashes for quantpiler-0.3.1-cp311-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a14de6ff385bf7d6f421be229cd0528e02f20cc696c0805f88c2300efff5cd5f |
|
MD5 | 30d15065b1b83d83661fa5bddab6467c |
|
BLAKE2b-256 | 953fefd8206df2ce0554ff84176127c4d115ee0318a9d6e05aef3efd88c21f5a |
Close
Hashes for quantpiler-0.3.1-cp311-cp311-manylinux_2_28_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 73c7a62843fdb4864fa61ae2349dfd168ca1d745a758578420ef8f2305e25365 |
|
MD5 | 76defbd0f5556098d3b228d1356bc847 |
|
BLAKE2b-256 | 44f0456debceaad64acedc98085218af4195cdf89e7ea49dbfc2efa7099ae050 |
Close
Hashes for quantpiler-0.3.1-cp310-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c6dc0b68d788d0a0244330290e1a01e63236c6eaf75d8bb0a321f26f1612b595 |
|
MD5 | 3c17e2f8af2891c94fa716b91f2fcbdb |
|
BLAKE2b-256 | e9499bb17170d901af635948aaffb4d11a6b8a77c29acb06ab2bed8a403a16d4 |
Close
Hashes for quantpiler-0.3.1-cp310-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b9efb334af113eb7da9ef3cfd8042d78e029157141c2e15568d4e97506d014a6 |
|
MD5 | f6fa5c543212e629063e8348b5c49855 |
|
BLAKE2b-256 | 1403ad564196e15c9b752d33b6fc6fa3e074bb2de2834de774882a5f1e69cd4f |
Close
Hashes for quantpiler-0.3.1-cp310-cp310-manylinux_2_28_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d5fd722d93215852cca1ceeac1cf54affa9656c06ca473b2e2362fc5a324a0d6 |
|
MD5 | dcec4f328c72e1bb3139b1972807d830 |
|
BLAKE2b-256 | 60638ffc59e1dc323222e6cb0cdce3403489cc11d715a0510d57400f48c92b41 |
Close
Hashes for quantpiler-0.3.1-cp39-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5cff1a19c0299d09243f9f56172d91a1989d9876405d0d2883cfc760a9b806f6 |
|
MD5 | 4485017ac9c2c65ba3aa2f378517bd06 |
|
BLAKE2b-256 | d6d00df3b061194d3c51cbd865e31d297539567466c2cadafbba7ae7e4bfa436 |
Close
Hashes for quantpiler-0.3.1-cp39-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | dfcbbbd53d18b16b137a6f8937fb5e233fd70f5e71155a319a0deb3e40a7861a |
|
MD5 | 6bdb282741a4592cf266ef5fc1a96ab5 |
|
BLAKE2b-256 | 865a36f7fd378ec873d88aee1181c1818579090d8c11f9564c6844c41e07efcd |
Close
Hashes for quantpiler-0.3.1-cp39-cp39-manylinux_2_28_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1e0b2316c5da0405077b96bf38934f442f4e3bb954751f30bb1deae6220af31e |
|
MD5 | 6400be56d02db3f12a5b23505192051b |
|
BLAKE2b-256 | 15e22ce31d460639e662aa09b74f8a088bb5b3e14a89cba71e5c108e5e8317c5 |
Close
Hashes for quantpiler-0.3.1-cp38-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ff785a282f58d98b31279ef5633f85539ba6586e89bd3aad1fc70d2667893623 |
|
MD5 | c82ab118d3aceee68c893f3d54146a37 |
|
BLAKE2b-256 | fef351c73df2f15907149e33d89dc9907741710ea7abe573f6a44e30084f9488 |
Close
Hashes for quantpiler-0.3.1-cp38-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 31a7e2f27e45704bda77b1a345f69779e55f69a9096335c5351dfde95465738d |
|
MD5 | 1494809e9e5866c6cc62287c5716fa82 |
|
BLAKE2b-256 | edb75ab1ce03603a7dc2666abfefb1df47b79bd2cee1c67df8d1820180f936e3 |
Close
Hashes for quantpiler-0.3.1-cp38-cp38-manylinux_2_28_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2ca9b11b50c520b0027a9bf50a5607bed7489217f90b8e1fc734dbcd50b80b6b |
|
MD5 | 2736f9641a901ab7edae752db93a40c4 |
|
BLAKE2b-256 | a95f8c735f64871f0b1c836db61769173fc69c35246819405499d385394c96c4 |