Quantum Optimization Toolkit
Project description
Quantum Optimization Toolkit
This repository contains fast CPU and GPU simulators for benchmarking the Quantum Approximate Optimization Algorithm, as well as scripts for generating matching quantum circuits for execution on hardware. See the examples folder for a demo of this package.
Install
Creating a virtual environment is recommended before installing.
python -m venv qokit
source qokit/bin/activate
pip install -U pip
Install requires python>=3.9
and pip >= 23
. It is recommended to update your pip using pip install --upgrade pip
before install.
git clone https://github.com/jpmorganchase/QOKit.git
cd QOKit/
pip install -e .
Some optional parts of the package require additional dependencies.
- Using commercial IP solvers to solve optimizations problems:
pip install qokit[solvers]
- GPU simulation:
pip install qokit[GPU]
- Development:
pip install qokit[dev]
If compilation fails, try installing just the Python version using QOKIT_PYTHON_ONLY=1 pip install -e .
.
Installation can be verified by running tests using pytest
.
MaxCut
For MaxCut, the datasets in qokit/assets/maxcut_datasets
must be inflated
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
Built Distributions
Hashes for qokit-0.1.3-pp310-pypy310_pp73-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 45f4b96708cc5938e590eeaa226d04bb75a492c6751262e80a988b9864c46fe0 |
|
MD5 | af228626cb735c4eeb515bd11a24e98a |
|
BLAKE2b-256 | bd0c344ceb912971addb0d65674f8e3b7c688cb6b55203976547d70f3ca01951 |
Hashes for qokit-0.1.3-pp310-pypy310_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3f16fab0650c044edbb3f4d5730c67849287ca5db73a40550ccc575b108ffc9d |
|
MD5 | 393ec6e08438fd22d9f2c49a3ce052b0 |
|
BLAKE2b-256 | b01a2404f52f06b6fcc8664955ee7f5cdfd2f7a3de2e48a9f5adbf8063b6826f |
Hashes for qokit-0.1.3-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a5aba6408324aed78ce1e326d53e1387224a257c541a3aaf8dab954b36681f9f |
|
MD5 | 4294aa6db536db3ac11ac1f3f5e8ec9f |
|
BLAKE2b-256 | ee1586d5d9428b4336cf8543a599d358a55da54eda715f3251383069968b28b0 |
Hashes for qokit-0.1.3-pp310-pypy310_pp73-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3e4fdb8dcd4fb5100f562abe1ea4b6ac5a6bb2ba2bcaa31b84def362c73c0750 |
|
MD5 | f0954bc8e65282474426d1f1ae675651 |
|
BLAKE2b-256 | e891d28b59eeb9b04fcb895897154273b53b7b41fbf5138f966b09ca97dee1b8 |
Hashes for qokit-0.1.3-pp39-pypy39_pp73-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 266256cbb1f7ccb04c883179bd9be9d9cc45a1d2ecd209caafe581997a7ce150 |
|
MD5 | 7a39db2f5726833aae458884101f27b4 |
|
BLAKE2b-256 | 4bdb8cdc61e45e67b8e63d9824e5516d228226d4c49e57437df16d1480a3cb9f |
Hashes for qokit-0.1.3-pp39-pypy39_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 80c9a6b94ede0d6ed5404a71167824d016630bb876b45d43b5f0b66c2e4cbf44 |
|
MD5 | 2ba1352f31b4470ac7b532eaee94a393 |
|
BLAKE2b-256 | 7de0823bb6f05612d2bb941fff09e34822f53901c28bfe6f80eeef464ace2af2 |
Hashes for qokit-0.1.3-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3c65f641372b1a982dff5c6b9ebb7eacf46b0b4048f739c4dbefe23bd8cf3c07 |
|
MD5 | cce77cd3e1691fd94827001a735a5618 |
|
BLAKE2b-256 | cedf621298431c58e76544c742cf2618d85cbc068b5aa9b855562d5cda900d26 |
Hashes for qokit-0.1.3-pp39-pypy39_pp73-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 44a93865045c30650373b0857b17cb226814ad8ee9d3a088b84a120243baf2ba |
|
MD5 | b1ea00fa2bb32c720ce497edb4c28448 |
|
BLAKE2b-256 | 8bbd64c61a51fe9762084cb3706e1d8ad74cbe9d8087e4e3d4fbcb971d315ced |
Hashes for qokit-0.1.3-cp312-cp312-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1bf4d0396adf355da03cc278ac3cbe2f1a01b3a867788cdcce05808ee3320f52 |
|
MD5 | 7bef206c56eaede14d32fb596861ed1a |
|
BLAKE2b-256 | 41a7e9c28f170f73214b03c5d2e82e5fa72c988dd02fa042870b58f600c70e9a |
Hashes for qokit-0.1.3-cp312-cp312-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f9755af0849498ff6ac6aa3464a5e389245cbc9caf225048a88ea99ccc7abc3a |
|
MD5 | a1d909a5db107768775ac4d4841c12a1 |
|
BLAKE2b-256 | 3834dfefcfc280a680efecc38e7675b4fc42cd866c6bebf6d26b1e887c3d4bf7 |
Hashes for qokit-0.1.3-cp312-cp312-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d13769bc2ae566cb14f20715fbfbda1d564e5344c46a0f45be19ed00fe247d28 |
|
MD5 | 8e819b7989a5e20974213045e549b92c |
|
BLAKE2b-256 | 42a1e63ae1c3d07c8b3d43ad161fac79b45fba4a64d4e869060941203259fc89 |
Hashes for qokit-0.1.3-cp312-cp312-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 59ec2be6c7d34b92c2f3569ab108d9626e0e795680ff496c8f9f641aa7983722 |
|
MD5 | 4d08edfa3e6ad9d39e41f2524d11a050 |
|
BLAKE2b-256 | a885da47af404d0248a7191358e18e43d86e1f9c96e85058c47273d87f999e1b |
Hashes for qokit-0.1.3-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 33d10080086e5b94ba2c1a632e900d350e48bbd35bb48961f661c6e3acd749c9 |
|
MD5 | 54316adee7855fa7e460f3b9d7951975 |
|
BLAKE2b-256 | 900c632c7453226f8990978b1ae900621da98e19219ae0f5ab6333ee9de73ecf |
Hashes for qokit-0.1.3-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8a0fd033648abd0558b655868af8f8fb923fe47d037338863eb4be939e11ba4c |
|
MD5 | 3c94c9c49cad675683cdbad0e29b010d |
|
BLAKE2b-256 | ae02cd9cc4828bfd994a3197cf5ad8540a58da9590cc3b80932cb202420cfd26 |
Hashes for qokit-0.1.3-cp312-cp312-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9696ab191056dd1ee88e0b9ee462fdb1e0396f4609c395443ba0576dbcb662cf |
|
MD5 | e28687ca30cd957e85e2f897992be377 |
|
BLAKE2b-256 | e08b39fbc196fda16ec9ac12eaec8cb2f530c0dfa2f40dfa840b38b1660d1456 |
Hashes for qokit-0.1.3-cp311-cp311-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 56de21c6915d535b7a8881475982acce009d19b07ff9ed5bd9523af6f822b93e |
|
MD5 | c6615052ce5bee602f6e4f9bab5dfd77 |
|
BLAKE2b-256 | 1dbdb7d749242689bd0d678aa24e41051c5d55b15caee0a9e5f01c15d352d144 |
Hashes for qokit-0.1.3-cp311-cp311-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3b6e2a9af092ca44927ca2dacadc367cff077a5af1ecbc42566349be4520c12d |
|
MD5 | fd6877bf3c768b85236a4c3a79e3ff58 |
|
BLAKE2b-256 | 04e27190ce980ede2765ac826d00171e089c231d355678a3ccb56fd60d94c5ff |
Hashes for qokit-0.1.3-cp311-cp311-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3052c2953a5648ea29c45fc4c1f984312430e6288a06a82152c38ad6fbb7337b |
|
MD5 | c512aa12f7705d803d4ae92f43814442 |
|
BLAKE2b-256 | dcf5284a9f1acee470d2ae472b16b338d3f3eb2170de1df3261c078186bf5b67 |
Hashes for qokit-0.1.3-cp311-cp311-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9faea6f7fff0ef6d5a27d31c8ff1926bee18e1207c903cf388faf1236810c96b |
|
MD5 | b78afb925b736999a5a2a03d9663d979 |
|
BLAKE2b-256 | 3f723239a7040ae07c7e85397db516f40bb769fee226a9592bcc5e273e2af4bb |
Hashes for qokit-0.1.3-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 08cfd13aac48a296816230cbf5ca4252f39a65fe3a30f1b5c5938b7ff79b6212 |
|
MD5 | fbf38bfff3ef0086b96959361c251ee6 |
|
BLAKE2b-256 | 75a70d7ebae6fdab684d3d1afe5380f5b05b91ccb31b7260d307b426b2e35be9 |
Hashes for qokit-0.1.3-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2e6476c07202aa084227b8f5eccfb7771e5df053022b1ccc5100cb30aec78dde |
|
MD5 | 93808654328426dc5b917e683cc97363 |
|
BLAKE2b-256 | 90afae557e689d7d9c1df5807331d2d3865518627ada63711c739eb9fb7aabea |
Hashes for qokit-0.1.3-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7c1288c6feb24a1a8a6ba70638e47faaa60efcfd2bd7df9b49275bb8d5a16f3c |
|
MD5 | ff71dbf769b0d4119734078ca40e6d79 |
|
BLAKE2b-256 | 8fe7a0a8f6444c72599b68c7ee32df54c2d804be3b89a27fc42ff050059a6b29 |
Hashes for qokit-0.1.3-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 476f7283eb261d18b58011d51678388c483da20ebc2b42fd392c8daa8d629ac3 |
|
MD5 | 1ebab07fb42fc3dc3f7ed5834715cd67 |
|
BLAKE2b-256 | eab26b5670ff0fdafcd57e5b2c2e55c8d69b988acba3dc2f7378494a183bafec |
Hashes for qokit-0.1.3-cp310-cp310-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8372a1adfd3c368ae194e78089f2f6c8421ee0b819715c9ff7a436205e1c46dc |
|
MD5 | a5df65e4762449e4ac6175c382a07008 |
|
BLAKE2b-256 | a9e0e3347cf1880e727e577feb7bf78a4f84cd02fd8633ac9e8996af3dfde95c |
Hashes for qokit-0.1.3-cp310-cp310-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 91123cbd8740b3dccd6fecf3c94c21a4cbc8bc5b5548e4b6ee8b2041fe2217cd |
|
MD5 | 1fbf6e9b66e9d866113cd2fb4f4bbce8 |
|
BLAKE2b-256 | 4f1a851c315e0c251d1ed81bf44f9ef3625a3377439616308ea6e09a8a0d3173 |
Hashes for qokit-0.1.3-cp310-cp310-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7dc3ced01045d29c5b42da1238e5343a21263622d26aa38e3ee90e67eeb55546 |
|
MD5 | e430b13971159372f3f0a8ef0325a206 |
|
BLAKE2b-256 | 32c30349f0a73c7802ad37d86919864c1e45654b4fdb3e35bbcaf8f382a5f3fc |
Hashes for qokit-0.1.3-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6cb88c02b8ed21a7ffcee5ea7e180d80e1996f823071b60311ff6cfe1d4b6fb1 |
|
MD5 | d72bdf1da4c775038f25aeb2c9d9fdea |
|
BLAKE2b-256 | e47c9a83e65140b863e587c1065fcc46dbc34711f792a3e0121de9f5a42dd1ac |
Hashes for qokit-0.1.3-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bbbfa72058e4132e24b9fd77b0ab8bb5b140fe2825cb39b1897ebbe2b5f2ce30 |
|
MD5 | f294125e0d91050d2c3460911cd93f7d |
|
BLAKE2b-256 | 8350a3fb9e9147b4e441fafb43be2f2467bf6d9dfbeec83053038641e1c26795 |
Hashes for qokit-0.1.3-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d051ddee3ce78b75f2865e8db20ef9fd53d53f3c6e454b65e5f4553ea1df18c6 |
|
MD5 | d5962683a26d3245b4e5b08d450b4cc4 |
|
BLAKE2b-256 | 2be176567b237b716e0c950dbc4c82d5ac91167973249f67534a7f49cba1b524 |
Hashes for qokit-0.1.3-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d460032df1364e4fdc238a5256f0930938556a443adfab492312472cfcb9926b |
|
MD5 | 8e64efb4a83a356007cfb321172fa38e |
|
BLAKE2b-256 | 7a4dcda8951c8dc0a7fc8ec7aaa7fd10797e582cd265333fe910f20db99a496d |
Hashes for qokit-0.1.3-cp39-cp39-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | dcee8f83e13b9d07244a33865f653fb668eede86307f3e9fcb73cdd488138320 |
|
MD5 | 7edef54d70eb430d76a3b4800e2c0de9 |
|
BLAKE2b-256 | b9c73e51d667fb34b77b14ecb554ede1de83ce1e20e58743f511f787e5346093 |
Hashes for qokit-0.1.3-cp39-cp39-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | dd6b7eb9e1935d4917645f768b34c6024440b0a8158d455583f0308479654b9d |
|
MD5 | bee66b3f5d61f49824da06bcc8eb57e1 |
|
BLAKE2b-256 | 46cf11effe55bcbc609239f509be39c3436274af25d8683e0c17af3dce392b25 |
Hashes for qokit-0.1.3-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 53314037a1d38524f3d576a18d2e808eadf353436eb5c02abce3b0cd1926e875 |
|
MD5 | ee0a2849fdb3878c4b98dce437209b86 |
|
BLAKE2b-256 | 6e02ce9e19d235a23eda6306ef3d071424f3cb5b29552cd12563836e3e79abf9 |
Hashes for qokit-0.1.3-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 796489931513c3d133a39ae9f7875f900923c6509ce4070291e8ae4d3fc10345 |
|
MD5 | 6281bd0583f9a04f824710465b17eeb2 |
|
BLAKE2b-256 | 2980ec9a8a3ee1229bde0287a72db1b70b25c83e2a84091579d8138b39fb8a02 |
Hashes for qokit-0.1.3-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 85736b9c144b5d059e3e5cd40e5d345e1598775467a4c6d87f830d5fc97e9d64 |
|
MD5 | 147b309ca9838bb15c53a52280a8d7db |
|
BLAKE2b-256 | 5121ccc982170837770fb058bcf796118a5a87ac583e432905a395d853ed3f5b |