{ "info": { "author": "Nico Schl\u00f6mer", "author_email": "nico.schloemer@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 2", "Programming Language :: Python :: 3", "Topic :: Scientific/Engineering", "Topic :: Scientific/Engineering :: Mathematics" ], "description": "# pykry\n\n[![CircleCI](https://img.shields.io/circleci/project/github/nschloe/pykry/master.svg)](https://circleci.com/gh/nschloe/pykry/tree/master)\n[![codecov](https://img.shields.io/codecov/c/github/nschloe/pykry.svg)](https://codecov.io/gh/nschloe/pykry)\n[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/ambv/black)\n[![PyPi Version](https://img.shields.io/pypi/v/pykry.svg)](https://pypi.org/project/pykry)\n[![GitHub stars](https://img.shields.io/github/stars/nschloe/pykry.svg?logo=github&label=Stars&logoColor=white)](https://github.com/nschloe/pykry)\n\npykry is a thin wrapper around [KryPy](https://github.com/andrenarchy/krypy) that makes\nusing Krylov subspace methods in Python a little more convenient. Simply create the\nmatrix and the right-hand side, then fire it up:\n```python\nimport numpy\nimport pykry\n\nA = numpy.diag([1.0e-3] + list(range(2, 101)))\nb = numpy.ones(100)\n\n# out = pykry.cg(A, b)\n# out = pykry.minres(A, b)\nout = pykry.gmres(A, b)\n\n# out.xk contains the last iterate (ideally the solution),\n# out.resnorms the relative residual norms;\n# there's plenty more\n```\n![convergence](https://nschloe.github.io/pykry/conv.png)\n\nOwing to KryPy, pykry has a plethora of extra parameters to hand to either one of the\nmethods.\n\nGetting more fancy with linear operators is as easy as defining a matrix-vector\nmultiplication:\n```python\nimport numpy\nimport pykry\n\nn = 100\nA = numpy.diag([1.0e-3] + list(range(2, n + 1)))\n\ndef dot(x):\n return A.dot(x)\n\nlinear_operator = pykry.LinearOperator((n, n), float, dot=lambda x: dot, dot_adj=dot)\nb = numpy.ones(n)\nout = pykry.cg(linear_operator, b)\n```\n\n\n\n### Installation\n\npykry is [available from the Python Package\nIndex](https://pypi.org/project/pykry/), so simply type\n```\npip install -U pykry\n```\nto install or upgrade.\n\n### Testing\n\nTo run the pykry unit tests, check out this repository and type\n```\npytest\n```\n\n### Distribution\n\nTo create a new release\n\n1. bump the `__version__` number,\n\n2. publish to PyPi and GitHub:\n ```\n make publish\n ```\n\n### License\n\npykry is published under the [MIT license](https://en.wikipedia.org/wiki/MIT_License).\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/nschloe/pykry", "keywords": "", "license": "License :: OSI Approved :: MIT License", "maintainer": "", "maintainer_email": "", "name": "pykry", "package_url": "https://pypi.org/project/pykry/", "platform": "", "project_url": "https://pypi.org/project/pykry/", "project_urls": { "Homepage": "https://github.com/nschloe/pykry" }, "release_url": "https://pypi.org/project/pykry/0.1.5/", "requires_dist": [ "krypy", "numpy" ], "requires_python": "", "summary": "Convenience wrapper for KryPy", "version": "0.1.5" }, "last_serial": 4230610, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "93209e4c2c7c594fa4ea57793faeca64", "sha256": "bff9445510f1357baded32d25d4ae3f8a7db0ac05b701860d05cb02edc13a070" }, "downloads": -1, "filename": "pykry-0.1.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "93209e4c2c7c594fa4ea57793faeca64", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 6178, "upload_time": "2018-09-01T06:58:03", "url": "https://files.pythonhosted.org/packages/53/ce/076f6d8e72ed75055f4b49ffe6c61b22f6935eb3e401dcf6ac5583473f76/pykry-0.1.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5585506cecdd798df467dcf138823d09", "sha256": "a755237383ac3c794e95220d5ac118ad2768157a3ee0d06743bffaa54a2f84bb" }, "downloads": -1, "filename": "pykry-0.1.0.tar.gz", "has_sig": false, "md5_digest": "5585506cecdd798df467dcf138823d09", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4631, "upload_time": "2018-09-01T06:58:05", "url": "https://files.pythonhosted.org/packages/07/7b/926e83327846a4cf285fe1c80705ad476f74b05bf7b200c6498fb780e225/pykry-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "c9b25f4b7cfa5bebc56066f75d08d868", "sha256": "6a06d593b2d324c9caae1e4ee53363a015e421c3b1e6db041414d942b1e678e8" }, "downloads": -1, "filename": "pykry-0.1.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "c9b25f4b7cfa5bebc56066f75d08d868", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 6168, "upload_time": "2018-09-01T07:04:14", "url": "https://files.pythonhosted.org/packages/24/d6/aa7d095780c44e3e5dc2ee40858c4461cfad6cb9e990c5b2655e2eb3e1e2/pykry-0.1.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3553a1017392d12cec673971a6f3d8a9", "sha256": "45877a7f969a0811a6cdbb6cf794d8793b31352c592c0d0006e9b35e72b65c2e" }, "downloads": -1, "filename": "pykry-0.1.1.tar.gz", "has_sig": false, "md5_digest": "3553a1017392d12cec673971a6f3d8a9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4614, "upload_time": "2018-09-01T07:04:15", "url": "https://files.pythonhosted.org/packages/09/16/5520bbc97473025c8549e2e294b23bfad4f558c96a604ef9267581e1a39b/pykry-0.1.1.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "92726209ca7cd71771378dc512450d17", "sha256": "2d88c0af4bbc8de8ab58bbef1d3fa2152edcbc8007b1d2e7c06249badf4d3b6e" }, "downloads": -1, "filename": "pykry-0.1.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "92726209ca7cd71771378dc512450d17", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 6390, "upload_time": "2018-09-01T07:20:58", "url": "https://files.pythonhosted.org/packages/d7/b5/50c159ed035619b1de2556f25e02028dba85496b570d0d05e5b3c323aad2/pykry-0.1.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "971ec6317ae738c6d2fe118f59181f2b", "sha256": "2d7bc83d59fad8271a7e40a0ff6f5dc5989c831b5da9fb39781064c52a09b9b8" }, "downloads": -1, "filename": "pykry-0.1.2.tar.gz", "has_sig": false, "md5_digest": "971ec6317ae738c6d2fe118f59181f2b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4721, "upload_time": "2018-09-01T07:20:59", "url": "https://files.pythonhosted.org/packages/32/e4/9387897e15d9489948bbf3bda7c1ecb205edac878ea9f3c666bbc9ccad2b/pykry-0.1.2.tar.gz" } ], "0.1.4": [ { "comment_text": "", "digests": { "md5": "e546a3b1c6c6ad5cc7e899be2edbf569", "sha256": "af05a355afd3cbe7f79b9f1d6cc4789356853070185fdf9065ec94b60f0921b6" }, "downloads": -1, "filename": "pykry-0.1.4-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "e546a3b1c6c6ad5cc7e899be2edbf569", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 6502, "upload_time": "2018-09-01T08:24:00", "url": "https://files.pythonhosted.org/packages/a9/a5/390a2e4cfc16ecbaa4b628275873ea5df30a75f7f6e275ad43fa3fa89a8e/pykry-0.1.4-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "8b13e7c9b0542bd765bc588df12cdc0c", "sha256": "96047627a2ac9412c3a3708c9fd5f7704bf09878ffadcf61f8819f98e535da01" }, "downloads": -1, "filename": "pykry-0.1.4.tar.gz", "has_sig": false, "md5_digest": "8b13e7c9b0542bd765bc588df12cdc0c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4872, "upload_time": "2018-09-01T08:24:02", "url": "https://files.pythonhosted.org/packages/8a/78/49f602638905d33adc2ea99f5b8ef7dbc1451d3759c017a25b22399c532b/pykry-0.1.4.tar.gz" } ], "0.1.5": [ { "comment_text": "", "digests": { "md5": "47ab4893e8c4e07e363c74123a38e735", "sha256": "c98c1ccc08264dfc288555ead9d7c91e4955d4b6fa65487cb74c908a25ca7840" }, "downloads": -1, "filename": "pykry-0.1.5-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "47ab4893e8c4e07e363c74123a38e735", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 6997, "upload_time": "2018-09-02T05:50:15", "url": "https://files.pythonhosted.org/packages/a0/89/6ca016ddb59643ec403982f1bc502ed667d36c33d9ef16ec5ee80737f567/pykry-0.1.5-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "77f64b82d62b61f1d8e0cc89dd1655d3", "sha256": "cd7dcd256d08e04ac9144cfd2b1dc8ca59d94fcab620cd3812d3016145292252" }, "downloads": -1, "filename": "pykry-0.1.5.tar.gz", "has_sig": false, "md5_digest": "77f64b82d62b61f1d8e0cc89dd1655d3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5044, "upload_time": "2018-09-02T05:50:16", "url": "https://files.pythonhosted.org/packages/55/87/c2827fbd5cfbbb71d7a8e5a021f187048a5b5f898401b050a1506a5c029e/pykry-0.1.5.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "47ab4893e8c4e07e363c74123a38e735", "sha256": "c98c1ccc08264dfc288555ead9d7c91e4955d4b6fa65487cb74c908a25ca7840" }, "downloads": -1, "filename": "pykry-0.1.5-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "47ab4893e8c4e07e363c74123a38e735", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 6997, "upload_time": "2018-09-02T05:50:15", "url": "https://files.pythonhosted.org/packages/a0/89/6ca016ddb59643ec403982f1bc502ed667d36c33d9ef16ec5ee80737f567/pykry-0.1.5-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "77f64b82d62b61f1d8e0cc89dd1655d3", "sha256": "cd7dcd256d08e04ac9144cfd2b1dc8ca59d94fcab620cd3812d3016145292252" }, "downloads": -1, "filename": "pykry-0.1.5.tar.gz", "has_sig": false, "md5_digest": "77f64b82d62b61f1d8e0cc89dd1655d3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5044, "upload_time": "2018-09-02T05:50:16", "url": "https://files.pythonhosted.org/packages/55/87/c2827fbd5cfbbb71d7a8e5a021f187048a5b5f898401b050a1506a5c029e/pykry-0.1.5.tar.gz" } ] }