{ "info": { "author": "Recruit Communications Co., Ltd.", "author_email": "rco_pyqubo@ml.cocorou.jp", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: Apache Software License", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7" ], "description": ".. image:: https://img.shields.io/pypi/v/pyqubo.svg\n :target: https://pypi.python.org/pypi/pyqubo\n\n.. image:: https://codecov.io/gh/recruit-communications/pyqubo/branch/master/graph/badge.svg\n :target: https://codecov.io/gh/recruit-communications/pyqubo\n\n.. image:: https://readthedocs.org/projects/pyqubo/badge/?version=latest\n :target: http://pyqubo.readthedocs.io/en/latest/?badge=latest\n\n.. image:: https://circleci.com/gh/recruit-communications/pyqubo.svg?style=svg\n :target: https://circleci.com/gh/recruit-communications/pyqubo\n\n\n.. index-start-marker1\n\nPyQUBO\n======\n\nPyQUBO allows you to create QUBOs or Ising models from flexible mathematical expressions easily.\nSome of the features of PyQUBO are\n\n* **Python-based**.\n* **QUBO generation (compile) is fast.**\n* **Automatic validation of constraints.** (`details `__)\n* **Placeholder** for parameter tuning. (`details `__)\n\nFor more details, see `PyQUBO Documentation `_.\n\nExample Usage\n-------------\n\nThis example constructs a simple expression and compile it to ``model``.\nBy calling ``model.to_qubo()``, we get the resulting QUBO.\n(This example solves `Number Partitioning Problem `_ with a set S = {4, 2, 7, 1})\n\n>>> from pyqubo import Spin\n>>> s1, s2, s3, s4 = Spin(\"s1\"), Spin(\"s2\"), Spin(\"s3\"), Spin(\"s4\")\n>>> H = (4*s1 + 2*s2 + 7*s3 + s4)**2\n>>> model = H.compile()\n>>> qubo, offset = model.to_qubo()\n>>> pprint(qubo)\n{('s1', 's1'): -160.0,\n ('s1', 's2'): 64.0,\n ('s1', 's3'): 224.0,\n ('s1', 's4'): 32.0,\n ('s2', 's2'): -96.0,\n ('s2', 's3'): 112.0,\n ('s2', 's4'): 16.0,\n ('s3', 's3'): -196.0,\n ('s3', 's4'): 56.0,\n ('s4', 's4'): -52.0}\n\nFor more examples, see `example notebooks `_.\n\nInstallation\n------------\n\n.. code-block:: shell\n\n pip install pyqubo\n\nor\n\n.. code-block:: shell\n\n python setup.py install\n\nSupported Python Versions\n-------------------------\n\nPython 2.7, 3.4, 3.5, 3.6 and 3.7 are supported.\n\n.. index-end-marker1\n\nTest\n----\n\nRun all tests.\n\n.. code-block:: shell\n\n python -m unittest discover test\n\nShow coverage report.\n\n.. code-block:: shell\n\n coverage run -m unittest discover\n coverage html\n\nRun test with circleci CLI.\n\n.. code-block:: shell\n\n circleci build --job $JOBNAME\n\nRun doctest.\n\n.. code-block:: shell\n\n make doctest\n\nCitation\n--------\n\nIf you use PyQUBO in your research, please cite `this paper `_.\n\n::\n\n @article{tanahashi2019application,\n title={Application of Ising Machines and a Software Development for Ising Machines},\n author={Tanahashi, Kotaro and Takayanagi, Shinichi and Motohashi, Tomomitsu and Tanaka, Shu},\n journal={Journal of the Physical Society of Japan},\n volume={88},\n number={6},\n pages={061010},\n year={2019},\n publisher={The Physical Society of Japan}\n }\n\n\nOrganization\n------------\n\nRecruit Communications Co., Ltd.\n\nLicence\n-------\n\nReleased under the Apache License 2.0.\n\nContribution\n------------\n\nWe welcome contributions to this project. See `CONTRIBUTING <./CONTRIBUTING.rst>`_.", "description_content_type": "", "docs_url": null, "download_url": "https://github.com/recruit-communications/pyqubo", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/recruit-communications/pyqubo", "keywords": "QUBO,quantum annealing,annealing machine,ising model,optimization", "license": "Apache 2.0", "maintainer": "Recruit Communications Co., Ltd.", "maintainer_email": "rco_pyqubo@ml.cocorou.jp", "name": "pyqubo", "package_url": "https://pypi.org/project/pyqubo/", "platform": "", "project_url": "https://pypi.org/project/pyqubo/", "project_urls": { "Download": "https://github.com/recruit-communications/pyqubo", "Homepage": "https://github.com/recruit-communications/pyqubo" }, "release_url": "https://pypi.org/project/pyqubo/0.4.0/", "requires_dist": null, "requires_python": ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*", "summary": "PyQUBO allows you to create QUBOs or Ising models from mathematical expressions.", "version": "0.4.0" }, "last_serial": 5539236, "releases": { "0.0.4": [ { "comment_text": "", "digests": { "md5": "547d4e8d56d47e717c821b64d5f19580", "sha256": "7ee3f6ebc54db4899d59c58e17d5d0db5f80d95929cb1eae446bf9eab1e0c74f" }, "downloads": -1, "filename": "pyqubo-0.0.4.tar.gz", "has_sig": false, "md5_digest": "547d4e8d56d47e717c821b64d5f19580", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*", "size": 21682, "upload_time": "2018-09-21T15:48:09", "url": "https://files.pythonhosted.org/packages/d3/a7/0d708f326b54e30e9bbdbca9b77de8ef206d622b662311a5866bbfe925f4/pyqubo-0.0.4.tar.gz" } ], "0.0.5": [ { "comment_text": "", "digests": { "md5": "ce8a716063e64c1bfd57e4b33c2f5524", "sha256": "4acf6cd3faf06c962ac89a38916469122eea6a1ce5119183cc114d2fcc8fe5a5" }, "downloads": -1, "filename": "pyqubo-0.0.5.tar.gz", "has_sig": false, "md5_digest": "ce8a716063e64c1bfd57e4b33c2f5524", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*", "size": 21493, "upload_time": "2018-09-21T16:50:46", "url": "https://files.pythonhosted.org/packages/af/f4/eb1869709e10bbbb1ee5b04ac9fec545fe9b3a1fc10e0398b6592bd99420/pyqubo-0.0.5.tar.gz" } ], "0.0.6": [ { "comment_text": "", "digests": { "md5": "bcfc23a16669c7380c5b93ba00d22cd4", "sha256": "fc92575de265597f2a24b083eb507b885fdcb087bdeb2a6341674d9c805df967" }, "downloads": -1, "filename": "pyqubo-0.0.6.tar.gz", "has_sig": false, "md5_digest": "bcfc23a16669c7380c5b93ba00d22cd4", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*", "size": 22116, "upload_time": "2018-09-25T13:41:33", "url": "https://files.pythonhosted.org/packages/11/2f/0b4c9b603eca13074761215ca65ee553e01d03df5cb9a04698dc74d65497/pyqubo-0.0.6.tar.gz" } ], "0.0.7": [ { "comment_text": "", "digests": { "md5": "f886dc5219983371170bdf5b5a26fb70", "sha256": "ddd4525c0f0d8c75e03d0d9a1ec0252604291c8488769a0633926a6614b28f82" }, "downloads": -1, "filename": "pyqubo-0.0.7.tar.gz", "has_sig": false, "md5_digest": "f886dc5219983371170bdf5b5a26fb70", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*", "size": 23477, "upload_time": "2018-10-04T02:35:14", "url": "https://files.pythonhosted.org/packages/9e/2a/5f9e934642df48bef2766d8f43104165726b9178c3d003557172af197fd2/pyqubo-0.0.7.tar.gz" } ], "0.0.8": [ { "comment_text": "", "digests": { "md5": "a92e32ca8dd9f4e84164189e3d69d4c1", "sha256": "1fcd7a2c28aa035bfbb50b788b72a6b7c06b7bfbb4bd4e59e258417916ab13b4" }, "downloads": -1, "filename": "pyqubo-0.0.8.tar.gz", "has_sig": false, "md5_digest": "a92e32ca8dd9f4e84164189e3d69d4c1", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*", "size": 21905, "upload_time": "2018-10-09T16:16:12", "url": "https://files.pythonhosted.org/packages/8d/e8/c3a0a255d060717bc7f93e63f4f1396e8267cac67f1fd8aa668618682363/pyqubo-0.0.8.tar.gz" } ], "0.1.0": [ { "comment_text": "", "digests": { "md5": "86688c0373ea9ec7e728da845d01a0ba", "sha256": "d5196d86f976775dc02f3db00e370d605768280b4525687007cd76ccecb370a8" }, "downloads": -1, "filename": "pyqubo-0.1.0.tar.gz", "has_sig": false, "md5_digest": "86688c0373ea9ec7e728da845d01a0ba", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*", "size": 28770, "upload_time": "2018-10-24T09:55:40", "url": "https://files.pythonhosted.org/packages/e5/72/c31b99de57839f91b4a3fb0d30e0fdcda7185636ca8ca42368c247d216f8/pyqubo-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "8aa8eadd1981b40376afffade0be2400", "sha256": "a214e7fe36998aaa9c9d906c650cbe64faeb354a92d7d7e0769e09b708cef349" }, "downloads": -1, "filename": "pyqubo-0.1.1.tar.gz", "has_sig": false, "md5_digest": "8aa8eadd1981b40376afffade0be2400", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*", "size": 28049, "upload_time": "2018-10-29T16:25:48", "url": "https://files.pythonhosted.org/packages/e2/ec/75a5bc712ab587280a2a46e1470a7e1bbf84c9f35e6830a781ede0e09ad4/pyqubo-0.1.1.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "a722b1e03d791c3403f25e7547c94947", "sha256": "307b510ca3b06186179356a722c0cd181056d162be55029ad57adb455f20a8db" }, "downloads": -1, "filename": "pyqubo-0.1.2.tar.gz", "has_sig": false, "md5_digest": "a722b1e03d791c3403f25e7547c94947", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*", "size": 27711, "upload_time": "2018-12-15T01:33:25", "url": "https://files.pythonhosted.org/packages/62/dc/e4f870ed36d04a5501ad470faecaef80fc2ac1b2af9dcd443b945fdebb4d/pyqubo-0.1.2.tar.gz" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "40f0efba7c77cdc3a31eeca39c439cbf", "sha256": "9609fe4adeb64119bb46aeffbe665f935234c2098b9569abf2777a80f99ab8cd" }, "downloads": -1, "filename": "pyqubo-0.1.3.tar.gz", "has_sig": false, "md5_digest": "40f0efba7c77cdc3a31eeca39c439cbf", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*", "size": 29176, "upload_time": "2019-01-29T15:05:53", "url": "https://files.pythonhosted.org/packages/8b/bf/e8926564963e3ddeef7cdd37f935db99999bc32f123bb04139c7fbd102e5/pyqubo-0.1.3.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "9871f7b854f80b049da58fecc8ebdd95", "sha256": "4ef219f419ca46b5e179339e5e9fc6941a535039d6a11ccfefab4e59cb0d7ba4" }, "downloads": -1, "filename": "pyqubo-0.2.0.tar.gz", "has_sig": false, "md5_digest": "9871f7b854f80b049da58fecc8ebdd95", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*", "size": 28661, "upload_time": "2019-03-25T16:25:48", "url": "https://files.pythonhosted.org/packages/81/ff/be4a92fd98a768ef034cb12af96eb3878065888a2661d871e9c83ba47a40/pyqubo-0.2.0.tar.gz" } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "bc474be1458daa75b36d91b0e3d96d94", "sha256": "9b57fdba4837b76176610664acde05291421a3f80222fd6d43ddd904778578fc" }, "downloads": -1, "filename": "pyqubo-0.3.0.tar.gz", "has_sig": false, "md5_digest": "bc474be1458daa75b36d91b0e3d96d94", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*", "size": 32593, "upload_time": "2019-03-30T15:55:40", "url": "https://files.pythonhosted.org/packages/d1/2a/b7ffc945602980a63aeffbb9f5e900388b96005e8b573e7f1b76993e5608/pyqubo-0.3.0.tar.gz" } ], "0.4.0": [ { "comment_text": "", "digests": { "md5": "bf367784ab4832a6482eb3e102916b7a", "sha256": "60ead0906e69943ce01ffa22045d4bdec6fb95a499a4a860a940f03dbdd9af30" }, "downloads": -1, "filename": "pyqubo-0.4.0.tar.gz", "has_sig": false, "md5_digest": "bf367784ab4832a6482eb3e102916b7a", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*", "size": 33064, "upload_time": "2019-07-16T08:40:43", "url": "https://files.pythonhosted.org/packages/28/57/ba41de3b13ba23e981463aa1daa2ebe6bd9dcddb15571e4c5905463326c7/pyqubo-0.4.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "bf367784ab4832a6482eb3e102916b7a", "sha256": "60ead0906e69943ce01ffa22045d4bdec6fb95a499a4a860a940f03dbdd9af30" }, "downloads": -1, "filename": "pyqubo-0.4.0.tar.gz", "has_sig": false, "md5_digest": "bf367784ab4832a6482eb3e102916b7a", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*", "size": 33064, "upload_time": "2019-07-16T08:40:43", "url": "https://files.pythonhosted.org/packages/28/57/ba41de3b13ba23e981463aa1daa2ebe6bd9dcddb15571e4c5905463326c7/pyqubo-0.4.0.tar.gz" } ] }