С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
x_len = 3
x = quantpiler.argument("x", x_len)
a = 5
# N = 2**4
prod = 1
for i in range(x_len):
prod = ((x >> i) & 1).ternary(prod * a**(2**i), prod)
prod = prod & 0b1111
circ = prod.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.3.tar.gz
(81.5 kB
view hashes)
Built Distributions
Close
Hashes for quantpiler-0.3.3-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 30f7e3c709cc0141c79bb564e729c1d022181d826dad4cb77dbc830ed68d43c6 |
|
MD5 | eb50c5d52dd3639026ee8109cf049fb4 |
|
BLAKE2b-256 | e6629e2d4e547cbd6293a845ced229307f8ba4009018e9ebd5211fea13c2da8b |
Close
Hashes for quantpiler-0.3.3-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 91342b9258ddce5f65754814217231f08e40c1fb20d08cf2aac534f4d71428bc |
|
MD5 | 0750395d8b2fb65a4286e62c99f540f0 |
|
BLAKE2b-256 | 62a1a6af40f23d717a84400541e001a3639b405e2ee2e8b73167d0c4cc0316c0 |
Close
Hashes for quantpiler-0.3.3-pp38-pypy38_pp73-manylinux_2_28_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fe5ad161d735e27c60cc97d7bfc2a657590eb853b0452299655c734a836befb1 |
|
MD5 | f5c7368048852c0faa1c79b7ae253fdc |
|
BLAKE2b-256 | 911e594a41661a14ec05d2ea5c053a1f346f9c74043383f053805a9c5eef17e6 |
Close
Hashes for quantpiler-0.3.3-cp312-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 94c44e17fa6f68dce0089cd8aee85a230d5d9aa03c77b73f43de65de0a33f63c |
|
MD5 | 05260f4c7cd8310171111c798e5c9b55 |
|
BLAKE2b-256 | 08600f5be011cf9f619731c0c8980e9b93949925bc6941d260ae0d625c1fa085 |
Close
Hashes for quantpiler-0.3.3-cp312-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4a4b5c1759904349a7153613eb2596211c1ad4ac1aecd7e00402b12e194024e9 |
|
MD5 | 5af5ebb28f90e6848a970b5c2c3c7b37 |
|
BLAKE2b-256 | 88ae1a2927aaeebedd396ae45bef5cd009d8d6181a34f494f7de9c62d7c0c9b3 |
Close
Hashes for quantpiler-0.3.3-cp312-cp312-manylinux_2_28_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 89cab19660618f929ff704114cc5dd0429b95e526b56cff941e0d0046beffef7 |
|
MD5 | ad692e53a23e45826bba84e2a03ef1d1 |
|
BLAKE2b-256 | 060917109de72d5ead238a1e953baca6501887f3625b593e04e40f6d970b094f |
Close
Hashes for quantpiler-0.3.3-cp311-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 11ee64b313cf914984706b0dc405c51d48f6cd9dadc29a7c9c31055fff24b1bc |
|
MD5 | 6c9265619425f91bce4c4ec3f178e245 |
|
BLAKE2b-256 | 8c74df65b6453af739f7ac8ef87c94d3c2c3a935f21473ee1806c2270ebba408 |
Close
Hashes for quantpiler-0.3.3-cp311-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a8302702ef267bbddb4d22574104712ef485df35854a8657dabbb3b9acea6a10 |
|
MD5 | b7730661c1140b16a6a58fccaf43fb85 |
|
BLAKE2b-256 | 6b9eb8cf275213c765fcdb35841dbae18f71303c00f496018102bd4ebd2a5e14 |
Close
Hashes for quantpiler-0.3.3-cp311-cp311-manylinux_2_28_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a73154657c9fd276a3ffa9acc8f6e814658050f401e24e1619c44f2b9e93f004 |
|
MD5 | e3f736d766cf59f28720994b86739f1b |
|
BLAKE2b-256 | 5b79974736942003368372542882b5a561e70f93fe69629dc9440468bc79aec8 |
Close
Hashes for quantpiler-0.3.3-cp310-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f2b137edde18a0e576ccc6acf43b808eed3a3ff1b3ec1126e1fbd01d65e2468f |
|
MD5 | a8636a272b8d2e99c7f285662e2f895a |
|
BLAKE2b-256 | aeae24b4c70bc5ad721049e0b304fe8b5fc6a6f9a38052638347f46a66318b51 |
Close
Hashes for quantpiler-0.3.3-cp310-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1b65d0c93136b0606fd1ff122f2997c72d20bc3f9121ed03f7c467e5c58e01f0 |
|
MD5 | 23bd99e493db75fd313e38f5094b6ab8 |
|
BLAKE2b-256 | 05b1895ed29220a820fc5bfbf85d913d8f42959a8dce60054427958ae5eb81b4 |
Close
Hashes for quantpiler-0.3.3-cp310-cp310-manylinux_2_28_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 762226d298e665f07a79b8db64c3361a56e9609e37483e90d71d2fb1d230bba4 |
|
MD5 | 860c8675948d191a2758f80fe7402f03 |
|
BLAKE2b-256 | 3a7f990849830ba09493a8c672e891a15636c3ef60fb7a5f432c61dd52888613 |
Close
Hashes for quantpiler-0.3.3-cp39-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 83df67c9ea9302c67e2547e695d5f1326d21b0e5e53e35beef61c6412580acf0 |
|
MD5 | e7e60714dd5c3eb582b2fed77881b357 |
|
BLAKE2b-256 | aa5292e19c6e0cfe173c5c1ae0ba0bef7dd7732f18fed4c1b6072f2e23264e2c |
Close
Hashes for quantpiler-0.3.3-cp39-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 76248b9b60638a4a7beecf55925173e9c002ba822344daf7c3fda91ab94ba5e9 |
|
MD5 | 2e2acb95593aeebd15c5d0a633b0aa73 |
|
BLAKE2b-256 | 0a5a1eccc5cbf8976963862b2e55860ed665ccb0ddda90252298f84294ac0deb |
Close
Hashes for quantpiler-0.3.3-cp39-cp39-manylinux_2_28_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 908f6ea2bff4787eef7a1e1176dcf2bd9d1841edc3b72083f8de37d019f2c56c |
|
MD5 | 22413e73648890623ea0b3e63c1d5697 |
|
BLAKE2b-256 | a9bd9938405397d8c38efae3250fc0d41851f7fa3d4388b8f34c6fb9c2a36d2a |
Close
Hashes for quantpiler-0.3.3-cp38-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ea9b6e2a3ced11c9d6c8ddf6f4b40068e0b718b1dea3f2222084e0af079c4d5a |
|
MD5 | 74926316d42350e37ba633b9dc0e7bfd |
|
BLAKE2b-256 | 1cf83eb9e836c6b3fefa7a00a72712b607c253e65d7bb20c0f6fb80265dac3f0 |
Close
Hashes for quantpiler-0.3.3-cp38-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | aaf27f3678ab28d487037abdc849fd6491591038f874ca1ff3cb91e19c755140 |
|
MD5 | 0e25f9107528a8ab771fce966c03436a |
|
BLAKE2b-256 | e22475e49f0019da6610ba6e3bd0596624f5486e0dc698566afa271d1927aaa8 |
Close
Hashes for quantpiler-0.3.3-cp38-cp38-manylinux_2_28_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8526417cfcf32d10352476e8e03af862875d03379ced9656ed0d7f7e8d5cbfd4 |
|
MD5 | 5e288c9fcb608d1ef13ba2ba33bdda97 |
|
BLAKE2b-256 | 9db75a5c7618f425637fe928ce1c2888eeae7d772b97641d61832c170112fc1e |