Skip to main content

С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:

  1. Parsing source code in AST (planned).
  2. Construction of a single large expression.
  3. Construction of an even larger logical expression for each bit of the output result of the algorithm.
  4. Expression optimization (minimizing unique logic operations and qubit allocations).
  5. 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")

Resulting circuit

Project details


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 details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

quantpiler-0.3.3-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl (2.6 MB view details)

Uploaded PyPymanylinux: glibc 2.28+ x86-64

quantpiler-0.3.3-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl (2.6 MB view details)

Uploaded PyPymanylinux: glibc 2.28+ x86-64

quantpiler-0.3.3-pp38-pypy38_pp73-manylinux_2_28_x86_64.whl (2.6 MB view details)

Uploaded PyPymanylinux: glibc 2.28+ x86-64

quantpiler-0.3.3-cp312-none-win_amd64.whl (1.8 MB view details)

Uploaded CPython 3.12Windows x86-64

quantpiler-0.3.3-cp312-none-win32.whl (1.5 MB view details)

Uploaded CPython 3.12Windows x86

quantpiler-0.3.3-cp312-cp312-manylinux_2_28_x86_64.whl (2.6 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ x86-64

quantpiler-0.3.3-cp311-none-win_amd64.whl (1.8 MB view details)

Uploaded CPython 3.11Windows x86-64

quantpiler-0.3.3-cp311-none-win32.whl (1.5 MB view details)

Uploaded CPython 3.11Windows x86

quantpiler-0.3.3-cp311-cp311-manylinux_2_28_x86_64.whl (2.6 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ x86-64

quantpiler-0.3.3-cp310-none-win_amd64.whl (1.8 MB view details)

Uploaded CPython 3.10Windows x86-64

quantpiler-0.3.3-cp310-none-win32.whl (1.5 MB view details)

Uploaded CPython 3.10Windows x86

quantpiler-0.3.3-cp310-cp310-manylinux_2_28_x86_64.whl (2.6 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.28+ x86-64

quantpiler-0.3.3-cp39-none-win_amd64.whl (1.8 MB view details)

Uploaded CPython 3.9Windows x86-64

quantpiler-0.3.3-cp39-none-win32.whl (1.5 MB view details)

Uploaded CPython 3.9Windows x86

quantpiler-0.3.3-cp39-cp39-manylinux_2_28_x86_64.whl (2.6 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.28+ x86-64

quantpiler-0.3.3-cp38-none-win_amd64.whl (1.8 MB view details)

Uploaded CPython 3.8Windows x86-64

quantpiler-0.3.3-cp38-none-win32.whl (1.5 MB view details)

Uploaded CPython 3.8Windows x86

quantpiler-0.3.3-cp38-cp38-manylinux_2_28_x86_64.whl (2.6 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.28+ x86-64

File details

Details for the file quantpiler-0.3.3.tar.gz.

File metadata

  • Download URL: quantpiler-0.3.3.tar.gz
  • Upload date:
  • Size: 81.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/1.4.0

File hashes

Hashes for quantpiler-0.3.3.tar.gz
Algorithm Hash digest
SHA256 4128834b22a8b5a272e62ffe58fffb71cdd1d4fcb3346c62058687546de3b141
MD5 2b8690bd2a22b98156ca4b8512e501d8
BLAKE2b-256 f5e54b3784092467e3837c2013602e46acbad0ef0f576fa5314a5d226bb38e12

See more details on using hashes here.

File details

Details for the file quantpiler-0.3.3-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl.

File metadata

File hashes

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

See more details on using hashes here.

File details

Details for the file quantpiler-0.3.3-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl.

File metadata

File hashes

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

See more details on using hashes here.

File details

Details for the file quantpiler-0.3.3-pp38-pypy38_pp73-manylinux_2_28_x86_64.whl.

File metadata

File hashes

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

See more details on using hashes here.

File details

Details for the file quantpiler-0.3.3-cp312-none-win_amd64.whl.

File metadata

File hashes

Hashes for quantpiler-0.3.3-cp312-none-win_amd64.whl
Algorithm Hash digest
SHA256 94c44e17fa6f68dce0089cd8aee85a230d5d9aa03c77b73f43de65de0a33f63c
MD5 05260f4c7cd8310171111c798e5c9b55
BLAKE2b-256 08600f5be011cf9f619731c0c8980e9b93949925bc6941d260ae0d625c1fa085

See more details on using hashes here.

File details

Details for the file quantpiler-0.3.3-cp312-none-win32.whl.

File metadata

  • Download URL: quantpiler-0.3.3-cp312-none-win32.whl
  • Upload date:
  • Size: 1.5 MB
  • Tags: CPython 3.12, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/1.4.0

File hashes

Hashes for quantpiler-0.3.3-cp312-none-win32.whl
Algorithm Hash digest
SHA256 4a4b5c1759904349a7153613eb2596211c1ad4ac1aecd7e00402b12e194024e9
MD5 5af5ebb28f90e6848a970b5c2c3c7b37
BLAKE2b-256 88ae1a2927aaeebedd396ae45bef5cd009d8d6181a34f494f7de9c62d7c0c9b3

See more details on using hashes here.

File details

Details for the file quantpiler-0.3.3-cp312-cp312-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for quantpiler-0.3.3-cp312-cp312-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 89cab19660618f929ff704114cc5dd0429b95e526b56cff941e0d0046beffef7
MD5 ad692e53a23e45826bba84e2a03ef1d1
BLAKE2b-256 060917109de72d5ead238a1e953baca6501887f3625b593e04e40f6d970b094f

See more details on using hashes here.

File details

Details for the file quantpiler-0.3.3-cp311-none-win_amd64.whl.

File metadata

File hashes

Hashes for quantpiler-0.3.3-cp311-none-win_amd64.whl
Algorithm Hash digest
SHA256 11ee64b313cf914984706b0dc405c51d48f6cd9dadc29a7c9c31055fff24b1bc
MD5 6c9265619425f91bce4c4ec3f178e245
BLAKE2b-256 8c74df65b6453af739f7ac8ef87c94d3c2c3a935f21473ee1806c2270ebba408

See more details on using hashes here.

File details

Details for the file quantpiler-0.3.3-cp311-none-win32.whl.

File metadata

  • Download URL: quantpiler-0.3.3-cp311-none-win32.whl
  • Upload date:
  • Size: 1.5 MB
  • Tags: CPython 3.11, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/1.4.0

File hashes

Hashes for quantpiler-0.3.3-cp311-none-win32.whl
Algorithm Hash digest
SHA256 a8302702ef267bbddb4d22574104712ef485df35854a8657dabbb3b9acea6a10
MD5 b7730661c1140b16a6a58fccaf43fb85
BLAKE2b-256 6b9eb8cf275213c765fcdb35841dbae18f71303c00f496018102bd4ebd2a5e14

See more details on using hashes here.

File details

Details for the file quantpiler-0.3.3-cp311-cp311-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for quantpiler-0.3.3-cp311-cp311-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 a73154657c9fd276a3ffa9acc8f6e814658050f401e24e1619c44f2b9e93f004
MD5 e3f736d766cf59f28720994b86739f1b
BLAKE2b-256 5b79974736942003368372542882b5a561e70f93fe69629dc9440468bc79aec8

See more details on using hashes here.

File details

Details for the file quantpiler-0.3.3-cp310-none-win_amd64.whl.

File metadata

File hashes

Hashes for quantpiler-0.3.3-cp310-none-win_amd64.whl
Algorithm Hash digest
SHA256 f2b137edde18a0e576ccc6acf43b808eed3a3ff1b3ec1126e1fbd01d65e2468f
MD5 a8636a272b8d2e99c7f285662e2f895a
BLAKE2b-256 aeae24b4c70bc5ad721049e0b304fe8b5fc6a6f9a38052638347f46a66318b51

See more details on using hashes here.

File details

Details for the file quantpiler-0.3.3-cp310-none-win32.whl.

File metadata

  • Download URL: quantpiler-0.3.3-cp310-none-win32.whl
  • Upload date:
  • Size: 1.5 MB
  • Tags: CPython 3.10, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/1.4.0

File hashes

Hashes for quantpiler-0.3.3-cp310-none-win32.whl
Algorithm Hash digest
SHA256 1b65d0c93136b0606fd1ff122f2997c72d20bc3f9121ed03f7c467e5c58e01f0
MD5 23bd99e493db75fd313e38f5094b6ab8
BLAKE2b-256 05b1895ed29220a820fc5bfbf85d913d8f42959a8dce60054427958ae5eb81b4

See more details on using hashes here.

File details

Details for the file quantpiler-0.3.3-cp310-cp310-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for quantpiler-0.3.3-cp310-cp310-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 762226d298e665f07a79b8db64c3361a56e9609e37483e90d71d2fb1d230bba4
MD5 860c8675948d191a2758f80fe7402f03
BLAKE2b-256 3a7f990849830ba09493a8c672e891a15636c3ef60fb7a5f432c61dd52888613

See more details on using hashes here.

File details

Details for the file quantpiler-0.3.3-cp39-none-win_amd64.whl.

File metadata

File hashes

Hashes for quantpiler-0.3.3-cp39-none-win_amd64.whl
Algorithm Hash digest
SHA256 83df67c9ea9302c67e2547e695d5f1326d21b0e5e53e35beef61c6412580acf0
MD5 e7e60714dd5c3eb582b2fed77881b357
BLAKE2b-256 aa5292e19c6e0cfe173c5c1ae0ba0bef7dd7732f18fed4c1b6072f2e23264e2c

See more details on using hashes here.

File details

Details for the file quantpiler-0.3.3-cp39-none-win32.whl.

File metadata

  • Download URL: quantpiler-0.3.3-cp39-none-win32.whl
  • Upload date:
  • Size: 1.5 MB
  • Tags: CPython 3.9, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/1.4.0

File hashes

Hashes for quantpiler-0.3.3-cp39-none-win32.whl
Algorithm Hash digest
SHA256 76248b9b60638a4a7beecf55925173e9c002ba822344daf7c3fda91ab94ba5e9
MD5 2e2acb95593aeebd15c5d0a633b0aa73
BLAKE2b-256 0a5a1eccc5cbf8976963862b2e55860ed665ccb0ddda90252298f84294ac0deb

See more details on using hashes here.

File details

Details for the file quantpiler-0.3.3-cp39-cp39-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for quantpiler-0.3.3-cp39-cp39-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 908f6ea2bff4787eef7a1e1176dcf2bd9d1841edc3b72083f8de37d019f2c56c
MD5 22413e73648890623ea0b3e63c1d5697
BLAKE2b-256 a9bd9938405397d8c38efae3250fc0d41851f7fa3d4388b8f34c6fb9c2a36d2a

See more details on using hashes here.

File details

Details for the file quantpiler-0.3.3-cp38-none-win_amd64.whl.

File metadata

File hashes

Hashes for quantpiler-0.3.3-cp38-none-win_amd64.whl
Algorithm Hash digest
SHA256 ea9b6e2a3ced11c9d6c8ddf6f4b40068e0b718b1dea3f2222084e0af079c4d5a
MD5 74926316d42350e37ba633b9dc0e7bfd
BLAKE2b-256 1cf83eb9e836c6b3fefa7a00a72712b607c253e65d7bb20c0f6fb80265dac3f0

See more details on using hashes here.

File details

Details for the file quantpiler-0.3.3-cp38-none-win32.whl.

File metadata

  • Download URL: quantpiler-0.3.3-cp38-none-win32.whl
  • Upload date:
  • Size: 1.5 MB
  • Tags: CPython 3.8, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/1.4.0

File hashes

Hashes for quantpiler-0.3.3-cp38-none-win32.whl
Algorithm Hash digest
SHA256 aaf27f3678ab28d487037abdc849fd6491591038f874ca1ff3cb91e19c755140
MD5 0e25f9107528a8ab771fce966c03436a
BLAKE2b-256 e22475e49f0019da6610ba6e3bd0596624f5486e0dc698566afa271d1927aaa8

See more details on using hashes here.

File details

Details for the file quantpiler-0.3.3-cp38-cp38-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for quantpiler-0.3.3-cp38-cp38-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 8526417cfcf32d10352476e8e03af862875d03379ced9656ed0d7f7e8d5cbfd4
MD5 5e288c9fcb608d1ef13ba2ba33bdda97
BLAKE2b-256 9db75a5c7618f425637fe928ce1c2888eeae7d772b97641d61832c170112fc1e

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page