С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.2.tar.gz
(62.9 kB
view hashes)
Built Distributions
Close
Hashes for quantpiler-0.3.2-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 320b61ef5fe4d8ab7e938e6eb4beed158e6824db6d24fb78e5d1bb787bd8ac1e |
|
MD5 | 6ce21fccbba75364f881f7470f69053b |
|
BLAKE2b-256 | 70b9a04f1dbb56f22bc06a41f210a9cac51b97d2bcf27ae824e01df7ad7af5b0 |
Close
Hashes for quantpiler-0.3.2-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5841768f0935974732d8c65a02334840fdcdfbf5b293bab1090ca9c734d67256 |
|
MD5 | e0e3731e5f797c258cf219021b6d1e82 |
|
BLAKE2b-256 | 34d082862ff2eb2d7f1a91898b6d261a10b0495391d8208efe383cc460c5446a |
Close
Hashes for quantpiler-0.3.2-pp38-pypy38_pp73-manylinux_2_28_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6b55f0cc290673d9bf892d3c9675b39c622df47a78e62d79b78d79c02eb48990 |
|
MD5 | eadc416f1b3c3d098860826da2f43290 |
|
BLAKE2b-256 | f7b4310d1be72034c45effb0a37d13ed6a883d109f111a9a6d9e8bc6c96a7dd6 |
Close
Hashes for quantpiler-0.3.2-cp312-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cfc955e00b2455ee061754978e07e0a78c4c2cd7d90a92fc3723e71b3cd26f2c |
|
MD5 | 26aa14bc4bbf4abe20925a777e460b13 |
|
BLAKE2b-256 | 0346ef42454881f1efd3aa60d3cb1e776fcf1e23c611fa72e697a97e49afc53e |
Close
Hashes for quantpiler-0.3.2-cp312-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 658141f46badca67b8527b70e96e5dc7f8ee7a8910442bf1efe84cfae617b2be |
|
MD5 | d797486ce96d26b2be75d66c5cc4f666 |
|
BLAKE2b-256 | f0bc4c2469fd75799ca173a07710343c173c40e2eceffa0424156621b357e36c |
Close
Hashes for quantpiler-0.3.2-cp312-cp312-manylinux_2_28_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f4dc1e02d9c7ec1bfba0014ba6c67c7337b215c7d28bdb4cbc2001042675e11e |
|
MD5 | 09596567d8f07568c4c998779fd530ac |
|
BLAKE2b-256 | dc194a29fbf9e7a4d97044d85f5afc8a7c06e914b535bedbf02188804c84264e |
Close
Hashes for quantpiler-0.3.2-cp311-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 775c3b9e1df6e98cd2ebd4dee0c3df3f127d2cb3d14342cf0291bd2946fc79cb |
|
MD5 | 7bc0db2f78a7de347d3ec1fba1c7a1e0 |
|
BLAKE2b-256 | c15d130c519c3691a1573f07e4dc79959b7e6939e74e19ac9e4440a981c7b782 |
Close
Hashes for quantpiler-0.3.2-cp311-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 13dbe3d0f66cddb044231f00a16afeacfca701932acfc327c898809cd5b8aa80 |
|
MD5 | 7e7c045c2b8118171b943a367cb73ab0 |
|
BLAKE2b-256 | 1fcd5c51f1b9a5e401d56de7dc56bac1bb3104db7e095b5f3a9bffad739bf37e |
Close
Hashes for quantpiler-0.3.2-cp311-cp311-manylinux_2_28_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6a375ce27420a1bcb882d26f0d6723856c06d2e5a981b2f22e72fb51d7f44e59 |
|
MD5 | cc1b12ae66d4777e4b6e956f16b69613 |
|
BLAKE2b-256 | ec0df46df565ef10905aa2e367e539818a8ac011c60e0e7200d26015df01302f |
Close
Hashes for quantpiler-0.3.2-cp310-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 62f778e59a1dd000322e9ef879805ac817a6392ca88f1b16becc360c267dfc49 |
|
MD5 | afe6d6b6f29c9eeadf8f9521bee24382 |
|
BLAKE2b-256 | c6e3de5b951f1dbeae1c077efc6f9ac34167fea5fc8663b8fb68cc06a1240409 |
Close
Hashes for quantpiler-0.3.2-cp310-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f636f815751afc8021e3cb443c63365dff275fae18c081595f2cf3d54e2f9d0c |
|
MD5 | 4e224edff2e889b958f1292abd63db6f |
|
BLAKE2b-256 | b69a3c61b1be2c3d84b4a2047ff0a79968d087385a87aaac7bf2ceb2a22fa3ca |
Close
Hashes for quantpiler-0.3.2-cp310-cp310-manylinux_2_28_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 95049140948b1e8838fa3d44219fa1aba39956ef46b9744b61459cc09402aff9 |
|
MD5 | 8be9149a8062d6b4363a065b4147ae15 |
|
BLAKE2b-256 | 90927798e6ae2087bd553efda544a6335102fa3d3e91f8317575f07905eb0f40 |
Close
Hashes for quantpiler-0.3.2-cp39-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4bf74315c0a87361771281941be0a8548a0eb5337a661752c15b0152bdbb9bdf |
|
MD5 | 27fab929f63ad28b4936b93172bf0d44 |
|
BLAKE2b-256 | 98aba6b16606fca192e518d88f323dc52dfdd12c809da15e288c53ea3b9d730d |
Close
Hashes for quantpiler-0.3.2-cp39-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d7dddaad7262213134c157d4f8cf74be9dd1e44f3f22364dea8c68df9f88fa38 |
|
MD5 | 671d6fc27bce758131cf96c63e9243e1 |
|
BLAKE2b-256 | fac260fb9f94c43e7ce932107eb551a04145861b45103b0daf540f773eaf4b23 |
Close
Hashes for quantpiler-0.3.2-cp39-cp39-manylinux_2_28_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 321f99abd277a81621dec195a639466ec1e82b45107cdda62b633bf104628c05 |
|
MD5 | af5fdea894d32469281535476fc3a46a |
|
BLAKE2b-256 | 844d34dacacb207e4d7da843cbc224e8e371e5699696ce870c7de32391740f7c |
Close
Hashes for quantpiler-0.3.2-cp38-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f2e43cf59f9e80a28825d3f32e8e018bfe679894133765ddd6c159a1f1792134 |
|
MD5 | 2eae938ed9fbe5881c5f057bb04add8a |
|
BLAKE2b-256 | 64952cf770e63f2aa15f68ed84eeed51d085a7e99d8fc11b3b76c38147b114f6 |
Close
Hashes for quantpiler-0.3.2-cp38-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fc258d6b5cb0ef5f3c30a7a56f2fe458a36965be595b21504b276acd40abc46f |
|
MD5 | 4c78dfe47f8cc959175e0cfa33335e0b |
|
BLAKE2b-256 | 52eb6ab58ff864372a0e0ccb6be21c200ba58d73bd54bd234baed0ab3674ee9a |
Close
Hashes for quantpiler-0.3.2-cp38-cp38-manylinux_2_28_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b177bf4fc89a23f3f135ef839d643d2b04dec28677efffe6c84cb94b6d8edbab |
|
MD5 | f67742c442ec59889978b69cbf7d9de7 |
|
BLAKE2b-256 | 88edd7c71f0c5e3f798e2c5fd79cd1d791dda0ec28f650bb3115595187bc3716 |