{ "info": { "author": "Dmitry E. Kislov", "author_email": "kislov@easydan.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Intended Audience :: Science/Research", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 3", "Topic :: Scientific/Engineering :: Mathematics" ], "description": "Mpseudo |Build Status|\n======================\n\nMpseudo performs multicore and precise computation of pseudospectra of\n(square or rectangular) matricies. It uses pseudospectra definition and\nfind epsilon-values on a regular grid of a complex plane. It uses\n``multiprocessing`` module to share computations between cpu-cores, and\n``mpmath`` module to make calculations with high precision.\n\nDependencies\n------------\n\n``Mpmath`` module is needed to perform computations with high precision.\n\n``pip install mpmath``\n\nIf you don't need ability of high precision pseudospectra computation\n(more than 15 digits), the ``mpseudo`` can work without ``mpmath``. The\nonly requirement - `NumPy `__. It should be installed\non your system or in virtual environment.\n\nInstallation\n------------\n\n``git clone https://github.com/scidam/mpseudo.git``\n\nExample\n-------\n\nThe pseudospectrum of the gallery(5) MatLab matrix looks like this (up\nto 100-digits of accuracy used for a matrix resolvent computation):\n\n.. figure:: gal5pseudo.png\n :alt: Pseudospectrum of gallery(5) MatLab matrix\n\n Pseudospectrum of gallery(5) MatLab matrix\n\nThe pseudospectra above is obtained via the following lines of code:\n\n.. code:: python\n\n from matplotlib import pyplot\n from mpseudo import pseudo\n\n # Gallery(5) MatLab matrix (exact eigenvalue is 0 (the only!))\n A = [[-9, 11, -21, 63, -252],\n [70, -69, 141, -421, 1684],\n [-575, 575, -1149, 3451, -13801],\n [3891, -3891, 7782, -23345, 93365],\n [1024, -1024, 2048, -6144, 24572]]\n\n # compute pseudospectrum in the bounding box [-0.05,0.05,-0.05,0.05] with \n # resolution 100x100 (ncpu = 2 processes) and 50-digits precision.\n psa, X, Y = pseudo(A, ncpu=2, digits=50, ppd=100, bbox=[-0.05,0.05,-0.05,0.05])\n\n # show results\n pyplot.conourf(X, Y, psa)\n pyplot.show()\n\nNote, if ``mpmath`` module is not installed, pseudospectrum of the\nmatrix will be computed with standard (double, 15-digits) precision,\nwhich is not sufficient for this case.\n\nInteresting, but\n`Eigtool `__ or\n`PseudoPy `__ tools (along with\n``scipy eigvals`` function) applied to the matrix A in the example above\nlead to inaccurate results (due to insufficient (double) precision):\n\n.. figure:: inacpseudo.png\n :alt: Pseudospectrum of gallery(5) MatLab matrix plotted via PseudoPy\n\n Pseudospectrum of gallery(5) MatLab matrix plotted via PseudoPy\n\nRead about this script in Russian\n`here `__.\n\nLicense\n-------\n\nMpseudo is free software licensed under the `MIT\nLicense `__.\n\n.. |Build Status| image:: https://travis-ci.org/scidam/mpseudo.svg?branch=master\n :target: https://travis-ci.org/scidam/mpseudo", "description_content_type": null, "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/scidam/mpseudo", "keywords": "matrix pseudospectra,eigenvalue problem,computational algebra,rectangular matricies", "license": "", "maintainer": "", "maintainer_email": "", "name": "mpseudo", "package_url": "https://pypi.org/project/mpseudo/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/mpseudo/", "project_urls": { "Homepage": "https://github.com/scidam/mpseudo" }, "release_url": "https://pypi.org/project/mpseudo/0.1.4/", "requires_dist": null, "requires_python": "", "summary": "Computation of pseudospectra of matrices in parallel", "version": "0.1.4" }, "last_serial": 1832331, "releases": { "0.1.3.post1": [ { "comment_text": "", "digests": { "md5": "b94944589065a239b8195384f81f3f5a", "sha256": "1f7edc3356c7a914c7df2bc1555d6ab9879797412b0c55c1da2586a9348f7d09" }, "downloads": -1, "filename": "mpseudo-0.1.3.post1.tar.gz", "has_sig": false, "md5_digest": "b94944589065a239b8195384f81f3f5a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5721, "upload_time": "2015-11-01T05:01:55", "url": "https://files.pythonhosted.org/packages/88/f8/4ce7cb14839678743eeed8aa2ad06654bece7c682c23740e1e420b52cc64/mpseudo-0.1.3.post1.tar.gz" } ], "0.1.4": [ { "comment_text": "", "digests": { "md5": "d57d3e918969e3fb3b9b959aed89fc3c", "sha256": "7b182104e400b6b2acc4fbbdbeafd7e499b5c962ffb513f607e2587ea2d54567" }, "downloads": -1, "filename": "mpseudo-0.1.4.tar.gz", "has_sig": false, "md5_digest": "d57d3e918969e3fb3b9b959aed89fc3c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6321, "upload_time": "2015-11-25T01:22:08", "url": "https://files.pythonhosted.org/packages/9e/95/25ce4728dd6ddd1354fc200d998ef969c3d6013aaa1058541232a8e8cc1f/mpseudo-0.1.4.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "d57d3e918969e3fb3b9b959aed89fc3c", "sha256": "7b182104e400b6b2acc4fbbdbeafd7e499b5c962ffb513f607e2587ea2d54567" }, "downloads": -1, "filename": "mpseudo-0.1.4.tar.gz", "has_sig": false, "md5_digest": "d57d3e918969e3fb3b9b959aed89fc3c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6321, "upload_time": "2015-11-25T01:22:08", "url": "https://files.pythonhosted.org/packages/9e/95/25ce4728dd6ddd1354fc200d998ef969c3d6013aaa1058541232a8e8cc1f/mpseudo-0.1.4.tar.gz" } ] }