{ "info": { "author": "Thomas G. Close", "author_email": "tom.g.close@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Environment :: Console", "Intended Audience :: Science/Research", "License :: OSI Approved :: MIT License", "Natural Language :: English", "Operating System :: OS Independent", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Topic :: Scientific/Engineering" ], "description": "Diophantine\n===========\n\n.. image:: https://travis-ci.org/tclose/Diophantine.svg?branch=master\n :target: https://travis-ci.org/tclose/Diophantine\n :alt: Unit Test Status\n.. image:: https://coveralls.io/repos/github/tclose/Diophantine/badge.svg?branch=master\n :target: https://coveralls.io/github/tclose/Diophantine?branch=master\n :alt: Unit Test Coverage\n\nAuthor: Thomas G. Close (tom.g.close@gmail.com)\n\nDiophantine (http://github.com/tclose/Diophantine) is a Python package for\nfinding small (integer) solutions of systems of diophantine equations\n(see http://en.wikipedia.org/wiki/Diophantine_equation). It is based on PHP\ncode by Keith Matthews (see www.number-theory.org) that implements the\nalgorithm described in https://github.com/tclose/Diophantine/blob/master/algorithm.pdf\n(see http://www.numbertheory.org/lll.html for a list of associated publications),\nwhich uses the LLL algorithm to calculate the Hermite-normal-form described in\nthe paper:\n\nExtended gcd and Hermite normal form algorithms via lattice basis reduction,\nG. Havas, B.S. Majewski, K.R. Matthews, Experimental Mathematics, Vol 7 (1998) 125-136\n\n(please cite this paper if you use this code in a scientific publication)\n\nThere are two branches of this code in the GitHub repository \n(see https://github.com/tclose/Diophantine.git), 'master', which uses the\nsympy library and therefore uses arbitrarily long integer representations, and \n'numpy', which uses the numpy library, which is faster but can suffer from\ninteger overflow errors despite using int64 representations\n\nTo find small solutions to a system of diophantine equations, A x = b, where A\nis a M x N matrix of coefficents, b is a M x 1 vector and x is the\nN x 1 vector, use the 'solve' method in the module, e.g.\n\n >>> from sympy import Matrix\n >>> from diophantine import solve\n >>> A = Matrix([[1, 0, 0, 2], [0, 2, 3, 5], [2, 0, 3, 1], [-6, -1, 0, 2],\n [0, 1, 1, 1], [-1, 2, 0,1], [-1, -2, 1, 0]]).T\n >>> b = Matrix([1, 1, 1, 1])\n >>> solve(A, b)\n [Matrix([\n [-1],\n [ 1],\n [ 0],\n [ 0],\n [-1],\n [-1],\n [-1]])]\n\nThe returned solution vector will tend to be one with the smallest norms. If multiple solutions with the same norm are found they will all be returned. If there are no solutions the empty list will be returned.\n\nDiophantine is released under the MIT Licence (see Licence for details)\n\nInstallation\n------------\n\nDiophantine is available from the Python Package Index (http://pypi.python.org) and can be installed with the command\n\n pip install diophantine\n\nAlternatively, the master branch can be installed from using the setuptools install command\n\n python setup.py install\n\n from a clone of the GitHub repository (https://github.com/tclose/Diophantine) or simply adding the cloned directory to your PYTHONPATH.\n\n\n", "description_content_type": null, "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "", "keywords": "mathematics,diophantine,algebra,integer,systems", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "Diophantine", "package_url": "https://pypi.org/project/Diophantine/", "platform": "", "project_url": "https://pypi.org/project/Diophantine/", "project_urls": null, "release_url": "https://pypi.org/project/Diophantine/0.2.0/", "requires_dist": [ "sympy (>=1.1)", "future (>=0.16)" ], "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, <4", "summary": "A python package for finding small solutions of systems of diophantine (integer algebra) equations", "version": "0.2.0" }, "last_serial": 3347223, "releases": { "0.1": [ { "comment_text": "", "digests": { "md5": "f729dee83635aa7d63c8df2b7d29090c", "sha256": "0adc69c2ef3d30212f12167eda131fd3c6632e90fba57deecf324cab90c915b6" }, "downloads": -1, "filename": "Diophantine-0.1.tar.gz", "has_sig": false, "md5_digest": "f729dee83635aa7d63c8df2b7d29090c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6622, "upload_time": "2016-07-29T01:49:16", "url": "https://files.pythonhosted.org/packages/97/7d/28cd3cdd94e5724566e373d71d5249983d3549fec0c1e4c02bc680998eeb/Diophantine-0.1.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "01024f0e5513cc745b515f35e6273fa3", "sha256": "2559d448a7fe0dc1e03a54896004ad4a0b3af6a4903a31dedc83c4037129be5f" }, "downloads": -1, "filename": "Diophantine-0.1.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "01024f0e5513cc745b515f35e6273fa3", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, <4", "size": 9769, "upload_time": "2017-11-20T02:24:11", "url": "https://files.pythonhosted.org/packages/ef/52/cd4769e8ae73f24f662c9fbac72cf4c9b8f5b85c41b49ab72d8e519b5c8d/Diophantine-0.1.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4876fd2a28ec89903e4aafcb53327338", "sha256": "4394f7589f8c83dc88a1040cf0a471eacb73f9292d55cfe06342cc9992c75590" }, "downloads": -1, "filename": "Diophantine-0.1.1.tar.gz", "has_sig": false, "md5_digest": "4876fd2a28ec89903e4aafcb53327338", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, <4", "size": 7127, "upload_time": "2017-11-20T02:24:12", "url": "https://files.pythonhosted.org/packages/f5/9c/0d7f65415f839e31afe3109d9fbd8c7ed1548c2c7b2f27caacd9d340b485/Diophantine-0.1.1.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "9a0541d62f6f175b6315fdc44803c620", "sha256": "70e00e728ebfb2ed426ef98591a78edf8e3c87fbd5f1080b26494ae65ec83d5d" }, "downloads": -1, "filename": "Diophantine-0.2.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "9a0541d62f6f175b6315fdc44803c620", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, <4", "size": 9805, "upload_time": "2017-11-20T02:29:52", "url": "https://files.pythonhosted.org/packages/bd/db/92ebaf5f25d87b181139846b9452a94fa7f14c3b664fbdc320c4b106288f/Diophantine-0.2.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e80f741d7c3eddc5cb4762cb3b961cb2", "sha256": "c9ad7026ca0d26dffd3e5754bf550020789212b892d80c4a5ce6ae6548ffa196" }, "downloads": -1, "filename": "Diophantine-0.2.0.tar.gz", "has_sig": false, "md5_digest": "e80f741d7c3eddc5cb4762cb3b961cb2", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, <4", "size": 7152, "upload_time": "2017-11-20T02:29:54", "url": "https://files.pythonhosted.org/packages/e1/78/c95b809d675dc1bda65e547a7a53ba9c8ad6053644b56500fd959ac9d1fc/Diophantine-0.2.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "9a0541d62f6f175b6315fdc44803c620", "sha256": "70e00e728ebfb2ed426ef98591a78edf8e3c87fbd5f1080b26494ae65ec83d5d" }, "downloads": -1, "filename": "Diophantine-0.2.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "9a0541d62f6f175b6315fdc44803c620", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, <4", "size": 9805, "upload_time": "2017-11-20T02:29:52", "url": "https://files.pythonhosted.org/packages/bd/db/92ebaf5f25d87b181139846b9452a94fa7f14c3b664fbdc320c4b106288f/Diophantine-0.2.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e80f741d7c3eddc5cb4762cb3b961cb2", "sha256": "c9ad7026ca0d26dffd3e5754bf550020789212b892d80c4a5ce6ae6548ffa196" }, "downloads": -1, "filename": "Diophantine-0.2.0.tar.gz", "has_sig": false, "md5_digest": "e80f741d7c3eddc5cb4762cb3b961cb2", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, <4", "size": 7152, "upload_time": "2017-11-20T02:29:54", "url": "https://files.pythonhosted.org/packages/e1/78/c95b809d675dc1bda65e547a7a53ba9c8ad6053644b56500fd959ac9d1fc/Diophantine-0.2.0.tar.gz" } ] }