{ "info": { "author": "Robert Parini", "author_email": "robert.parini@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Science/Research", "License :: OSI Approved :: BSD License", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Topic :: Scientific/Engineering :: Mathematics" ], "description": "|pkg_img| |travis| |pyup|\n\n.. |travis| image:: https://travis-ci.org/rparini/cxroots.svg?branch=master \n :target: https://travis-ci.org/rparini/cxroots/branches\n \n.. |pkg_img| image:: https://badge.fury.io/py/cxroots.svg\n :target: https://badge.fury.io/py/cxroots\n\n.. |pyup| image:: https://pyup.io/repos/github/rparini/cxroots/shield.svg\n :target: https://pyup.io/repos/github/rparini/cxroots/\n\ncxroots\n=======\n\ncxroots is a Python package for finding all the roots of a function, *f(z)*, of a single complex variable within a given contour, *C*, in the complex plane. It requires only that:\n\n- *f(z)* has no roots or poles on *C*\n- *f(z)* is analytic in the interior of *C*\n\nThe implementation is primarily based on [KB]_ and evaluates contour integrals involving *f(z)* and its derivative *f'(z)* to determine the roots. If *f'(z)* is not provided then it is approximated using a finite difference method. The roots are further refined using Newton-Raphson if *f'(z)* is given or Muller's method if not. See the `documentation `_ for a more details and a tutorial.\n\nWith `Python `_ installed you can install cxroots by entering in the terminal/command line\n\n.. code:: bash\n\n pip install cxroots\n\nExample\n-------\n\n.. code:: python\n\n from numpy import exp, cos, sin\n f = lambda z: (exp(2*z)*cos(z)-1-sin(z)+z**5)*(z*(z+2))**2\n \n from cxroots import Circle\n C = Circle(0,3)\n roots = C.roots(f)\n roots.show()\n\n\n.. Relative images do not display on pypi\n.. image:: https://github.com/rparini/cxroots/blob/master/README_resources/readmeEx.png?raw=true\n\n.. code:: python\n\n print(roots)\n\n\n.. literalinclude readmeExOut.txt doesn't work on github\n.. code::\n\n\t Multiplicity | Root \n\t------------------------------------------------\n\t 2 | -2.000000000000 +0.000000000000i\n\t 1 | -0.651114070264 -0.390425719088i\n\t 1 | -0.651114070264 +0.390425719088i\n\t 3 | 0.000000000000 +0.000000000000i\n\t 1 | 0.648578080954 -1.356622683988i\n\t 1 | 0.648578080954 +1.356622683988i\n\t 1 | 2.237557782467 +0.000000000000i\n\n\nSee also\n--------\n\nThe Fortran 90 package `ZEAL `_ is a direct implementation of [KB]_.\n\n----------\n\nReferences\n----------\n\n.. [KB] \\P. Kravanja and M. Van Barel. *Computing the Zeros of Analytic Functions*. Springer, Berlin, Heidelberg, 2000.", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://rparini.github.io/cxroots/", "keywords": "roots zeros complex analytic functions", "license": "BSD", "maintainer": "", "maintainer_email": "", "name": "cxroots", "package_url": "https://pypi.org/project/cxroots/", "platform": "all", "project_url": "https://pypi.org/project/cxroots/", "project_urls": { "Homepage": "https://rparini.github.io/cxroots/" }, "release_url": "https://pypi.org/project/cxroots/1.1.8/", "requires_dist": null, "requires_python": "", "summary": "Find all the roots (zeros) of a complex analytic function within a given contour in the complex plane.", "version": "1.1.8" }, "last_serial": 5167664, "releases": { "1.0.0": [ { "comment_text": "", "digests": { "md5": "3705fc7e3d4476df0e93aa8aad6e4c40", "sha256": "84c9a60f23540a02ce429cd5f7899e5e65f2930716465cd974110d06d0d8bcff" }, "downloads": -1, "filename": "cxroots-1.0.0.tar.gz", "has_sig": false, "md5_digest": "3705fc7e3d4476df0e93aa8aad6e4c40", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 21956, "upload_time": "2017-10-11T20:33:32", "url": "https://files.pythonhosted.org/packages/14/0d/773d0c51c45cfa912539f44ff1b7496a7ba4ec44d1b76943d0803dc518f7/cxroots-1.0.0.tar.gz" } ], "1.0.11": [ { "comment_text": "", "digests": { "md5": "6dfaa2ada9749127d0281a7bef3578df", "sha256": "2d9d5a99d3c4bb6d4f5acd7d89a92a7c70a84b716f4fc67ef6674e32970fd9dd" }, "downloads": -1, "filename": "cxroots-1.0.11.tar.gz", "has_sig": false, "md5_digest": "6dfaa2ada9749127d0281a7bef3578df", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 26779, "upload_time": "2018-04-20T17:48:12", "url": "https://files.pythonhosted.org/packages/68/3c/2442c2458bffd308bbd21ba92b19ede7f175e3db39516eaf3d990fc98ed1/cxroots-1.0.11.tar.gz" } ], "1.0.4": [ { "comment_text": "", "digests": { "md5": "bfd30bf08a9f9823bd3270c122954091", "sha256": "2b20591c21ec704d481c8d2891e863dbdc817a79c9ed749b4a0787491cc7bf7c" }, "downloads": -1, "filename": "cxroots-1.0.4.tar.gz", "has_sig": false, "md5_digest": "bfd30bf08a9f9823bd3270c122954091", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22473, "upload_time": "2017-10-12T14:09:49", "url": "https://files.pythonhosted.org/packages/8b/6a/fdfaa87de1ffef43f247854662bf242fae089e600a5557186420b28e6ea7/cxroots-1.0.4.tar.gz" } ], "1.0.5": [ { "comment_text": "", "digests": { "md5": "0ebdc0a7e1732500036490f5c3436e82", "sha256": "c88b50d3832370582e6c575b9f75de079712994fb00c025c85859a4f23d6a982" }, "downloads": -1, "filename": "cxroots-1.0.5.tar.gz", "has_sig": false, "md5_digest": "0ebdc0a7e1732500036490f5c3436e82", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23239, "upload_time": "2017-10-17T14:26:46", "url": "https://files.pythonhosted.org/packages/3c/d6/1281eeef94ab8be755b9014af6ba99f7513a05663293e629512f4e71714b/cxroots-1.0.5.tar.gz" } ], "1.0.6": [ { "comment_text": "", "digests": { "md5": "eb4cbf689363bc4af098b6bfec863c88", "sha256": "cb237a6ca660704fa95c5bc3161f15c19dc0d4fc73c6c0d324a4d1cabdff5cb2" }, "downloads": -1, "filename": "cxroots-1.0.6.tar.gz", "has_sig": false, "md5_digest": "eb4cbf689363bc4af098b6bfec863c88", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22952, "upload_time": "2017-10-17T15:26:37", "url": "https://files.pythonhosted.org/packages/1d/44/f9dd82cebe144a57a8cd0536e7adbf6e68530a3b126b41136fef223efb48/cxroots-1.0.6.tar.gz" } ], "1.0.7": [ { "comment_text": "", "digests": { "md5": "5aa0237cee3f049d85d4559e66024000", "sha256": "7183ff7b3c1c54db465f91685606500770a0196f3cbf0e62eddc81bdf30d1ce8" }, "downloads": -1, "filename": "cxroots-1.0.7.tar.gz", "has_sig": false, "md5_digest": "5aa0237cee3f049d85d4559e66024000", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 24215, "upload_time": "2017-10-18T18:36:10", "url": "https://files.pythonhosted.org/packages/95/44/9b89da3de7cde24dbf95316c8fb999ddc6dc7adfce60704ec40295455789/cxroots-1.0.7.tar.gz" } ], "1.0.8": [ { "comment_text": "", "digests": { "md5": "fba0a03a8c9811a1953d21bfd5cfb516", "sha256": "0189ec050f2e43bb8d9a70f2764baa7107460671c56d781f9d679447e3fe34ff" }, "downloads": -1, "filename": "cxroots-1.0.8.tar.gz", "has_sig": false, "md5_digest": "fba0a03a8c9811a1953d21bfd5cfb516", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 24653, "upload_time": "2017-11-07T14:33:04", "url": "https://files.pythonhosted.org/packages/e1/7f/0550bca9257eb7eaae1b6640dd7bf2de211e146dbc4f76233f051d67811b/cxroots-1.0.8.tar.gz" } ], "1.0.9": [ { "comment_text": "", "digests": { "md5": "e10be84c678cfe7d2d86bbb9974809cc", "sha256": "3da894015e40710a388213059e4b98f2860a476186f839f2089b6110e20d8240" }, "downloads": -1, "filename": "cxroots-1.0.9.tar.gz", "has_sig": false, "md5_digest": "e10be84c678cfe7d2d86bbb9974809cc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 25737, "upload_time": "2018-04-13T16:49:02", "url": "https://files.pythonhosted.org/packages/89/f2/4657105b5994a9a427d0a40424993d485ccc978ac3f3258d408bb49da845/cxroots-1.0.9.tar.gz" } ], "1.1.0": [ { "comment_text": "", "digests": { "md5": "43b221cbca76a2772d3d33d8322fef87", "sha256": "3d69ead5dad21e6b91b6ee6d03eed75157dbf8ac4e3849d4d6fcd26c3bfc17ae" }, "downloads": -1, "filename": "cxroots-1.1.0.tar.gz", "has_sig": false, "md5_digest": "43b221cbca76a2772d3d33d8322fef87", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5091930, "upload_time": "2018-08-05T08:39:54", "url": "https://files.pythonhosted.org/packages/41/d5/2128afb823ba16285df5b9156496f53eab4e500c3331941f7756595b84b7/cxroots-1.1.0.tar.gz" } ], "1.1.1": [ { "comment_text": "", "digests": { "md5": "bd09558669318ab77fbf2808f15aa688", "sha256": "447b45963e7607a60c7018c68415d1c6b6ad3a23c7ab59a0e30f12aea7e42575" }, "downloads": -1, "filename": "cxroots-1.1.1.tar.gz", "has_sig": false, "md5_digest": "bd09558669318ab77fbf2808f15aa688", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5091957, "upload_time": "2018-08-05T10:36:18", "url": "https://files.pythonhosted.org/packages/d9/67/b2e677b48a80fdadbdfcf89cd5a03d3e6716800b146785ba9a340ecf2790/cxroots-1.1.1.tar.gz" } ], "1.1.2": [ { "comment_text": "", "digests": { "md5": "0175bb820b051fa9c799c4d6a24c174a", "sha256": "9692fec81191131a1fd77cfc317aa2a3270bca7b62c1250f9ac8ab04931ca257" }, "downloads": -1, "filename": "cxroots-1.1.2.tar.gz", "has_sig": false, "md5_digest": "0175bb820b051fa9c799c4d6a24c174a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5091955, "upload_time": "2018-08-05T11:19:34", "url": "https://files.pythonhosted.org/packages/9c/54/b53088f68daef03494cf54fac42dba169b9bd347d439347307ef4eb67aef/cxroots-1.1.2.tar.gz" } ], "1.1.3": [ { "comment_text": "", "digests": { "md5": "9992e34a3b17333fbbc5094332ac048b", "sha256": "2aa9d8eadf891555b56616adbd0e532724a3dd1d470ae161e134397f155a6bb0" }, "downloads": -1, "filename": "cxroots-1.1.3.tar.gz", "has_sig": false, "md5_digest": "9992e34a3b17333fbbc5094332ac048b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5091992, "upload_time": "2018-08-05T12:12:34", "url": "https://files.pythonhosted.org/packages/32/40/7aab6418ec0e8bbcaab2f0c8d96258e2da3b6abb0465a4bcdbceca9baa95/cxroots-1.1.3.tar.gz" } ], "1.1.4": [ { "comment_text": "", "digests": { "md5": "40ac16473f3ab9c7c7a028967a7b8f90", "sha256": "26efa861e6c40565f9ee1c0984277ee41df87de59b2f0989700af68764799e70" }, "downloads": -1, "filename": "cxroots-1.1.4.tar.gz", "has_sig": false, "md5_digest": "40ac16473f3ab9c7c7a028967a7b8f90", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5091965, "upload_time": "2018-08-05T12:21:52", "url": "https://files.pythonhosted.org/packages/88/58/e281dda13ad58c3bd8bae1a4276c4f9d3f35555d1cdaa6ede12c57adaa58/cxroots-1.1.4.tar.gz" } ], "1.1.5": [ { "comment_text": "", "digests": { "md5": "c5b63f6fcc105b48659fb94b3df54011", "sha256": "71ad615a68a0d3fd921fcef73c3671012d64bab5d29d56442962304d1ca68fae" }, "downloads": -1, "filename": "cxroots-1.1.5.tar.gz", "has_sig": false, "md5_digest": "c5b63f6fcc105b48659fb94b3df54011", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5091959, "upload_time": "2018-08-05T17:31:46", "url": "https://files.pythonhosted.org/packages/a0/1d/ddeaa22b0289f60e68646d3d09480f2568f83f1f1b895051ebbaa03a52b6/cxroots-1.1.5.tar.gz" } ], "1.1.6": [ { "comment_text": "", "digests": { "md5": "c76899b1d0af4533d4ed385c1743c6e1", "sha256": "d07010b8f0d466d0b01ac899745fa80b79630438688344b83a3ae0f06ef92d4d" }, "downloads": -1, "filename": "cxroots-1.1.6.tar.gz", "has_sig": false, "md5_digest": "c76899b1d0af4533d4ed385c1743c6e1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5066369, "upload_time": "2018-09-19T21:23:16", "url": "https://files.pythonhosted.org/packages/5f/e4/11fa722a26154a9b70c17a12acb0f129b0cbe7242c75fcdd56faeae08ee1/cxroots-1.1.6.tar.gz" } ], "1.1.7": [ { "comment_text": "", "digests": { "md5": "36f70d1da591656146807ccfe3e60271", "sha256": "760987cf54f5468e1445f9c9bb3ede7df4450248bed4fc9631e4b4d251e5db76" }, "downloads": -1, "filename": "cxroots-1.1.7.tar.gz", "has_sig": false, "md5_digest": "36f70d1da591656146807ccfe3e60271", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 31666, "upload_time": "2019-02-10T14:12:34", "url": "https://files.pythonhosted.org/packages/7d/78/6e0f9dafb79f0dc06f7349bd9ed73614346b87e79e6485b02afcf73f9976/cxroots-1.1.7.tar.gz" } ], "1.1.8": [ { "comment_text": "", "digests": { "md5": "679c0d33442c806bf606a1874a92cab1", "sha256": "78d66b437b5dcfc2bd3026ca8da344a077a85cceaa63e543360b1dd0315b99ae" }, "downloads": -1, "filename": "cxroots-1.1.8.tar.gz", "has_sig": false, "md5_digest": "679c0d33442c806bf606a1874a92cab1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 31706, "upload_time": "2019-04-20T11:17:59", "url": "https://files.pythonhosted.org/packages/64/3f/8601011e0a3d81660616da1fdf4386d6a1fbb4472d331c17b1add361c6bb/cxroots-1.1.8.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "679c0d33442c806bf606a1874a92cab1", "sha256": "78d66b437b5dcfc2bd3026ca8da344a077a85cceaa63e543360b1dd0315b99ae" }, "downloads": -1, "filename": "cxroots-1.1.8.tar.gz", "has_sig": false, "md5_digest": "679c0d33442c806bf606a1874a92cab1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 31706, "upload_time": "2019-04-20T11:17:59", "url": "https://files.pythonhosted.org/packages/64/3f/8601011e0a3d81660616da1fdf4386d6a1fbb4472d331c17b1add361c6bb/cxroots-1.1.8.tar.gz" } ] }