{ "info": { "author": "Marek Zdzislaw Szymanski", "author_email": "marek@marekszymanski.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Intended Audience :: Science/Research", "License :: OSI Approved :: GNU Affero General Public License v3", "Natural Language :: English", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 2", "Programming Language :: Python :: 3", "Topic :: Scientific/Engineering :: Mathematics" ], "description": "sparsegrad\n==========\n\n|Travis-CI-badge| |Readthedocs-badge|\n\n\n``sparsegrad`` automatically and efficiently calculates analytical sparse Jacobian of arbitrary ``numpy`` vector valued functions. It is designed to be useful for solving large systems of non-linear equations. ``sparsegrad`` is memory efficient because it does not use the graph of computation. Arbitrary computations are supported through indexing, matrix multiplication, branching, and custom functions. \n\nTaking Jacobian with respect to variable `x` is done by replacing numerical value of `x` with sparsegrad `seed`\n\n.. code:: python\n\n >>> import numpy as np\n >>> import sparsegrad.forward as ad\n >>> def f(x):\n ... return x-x[::-1]\n >>> x=np.linspace(0,1,3)\n >>> print(f(ad.seed(x)).dvalue)\n (0, 0)\t1.0\n (0, 2)\t-1.0\n (2, 0)\t-1.0\n (2, 2)\t1.0\n\n``sparsegrad`` is written in pure Python. For easy installation and best portability, it does not contain extension modules. In realistic problems, it can provide similar or better performance than ADOL-C best case of `repeated calculation`. This is possible thanks to algorithmic optimizations and optimizations to avoid slow parts of ``scipy.sparse``. \n\n``sparsegrad`` relies on ``numpy`` and ``scipy`` for computations. It is compatible with both Python 2.7 and 3.x.\n\nInstallation\n------------\n\n.. code:: bash\n\n pip install sparsegrad\n\nIt is recommended to run test suite after installing\n\n.. code:: bash\n\n python -c \"import sparsegrad; sparsegrad.test()\"\n\n.. |Travis-CI-badge| image:: https://travis-ci.org/mzszym/sparsegrad.svg?branch=master\n :target: https://travis-ci.org/mzszym/sparsegrad\n\n.. |Readthedocs-badge| image:: https://readthedocs.org/projects/sparsegrad/badge/?version=latest\n :target: http://sparsegrad.readthedocs.io/en/latest/?badge=latest", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://www.marekszymanski.com/software/sparsegrad", "keywords": "", "license": "GNU Affero General Public License v3", "maintainer": "", "maintainer_email": "", "name": "sparsegrad", "package_url": "https://pypi.org/project/sparsegrad/", "platform": "any", "project_url": "https://pypi.org/project/sparsegrad/", "project_urls": { "Homepage": "http://www.marekszymanski.com/software/sparsegrad" }, "release_url": "https://pypi.org/project/sparsegrad/0.0.15/", "requires_dist": null, "requires_python": "", "summary": "fast calculation of sparse gradients and Jacobian matrices in Python", "version": "0.0.15" }, "last_serial": 5406838, "releases": { "0.0.10": [ { "comment_text": "", "digests": { "md5": "d35b64e49e35dd4a31316b911f78deaf", "sha256": "a9a1045ad6507c65e872d8d1ec1885205b3fd900f18c43c227f8c1d8d007e355" }, "downloads": -1, "filename": "sparsegrad-0.0.10.tar.gz", "has_sig": false, "md5_digest": "d35b64e49e35dd4a31316b911f78deaf", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 91903, "upload_time": "2018-05-09T22:19:02", "url": "https://files.pythonhosted.org/packages/6d/2f/0b92b2084eb8574f937313284acd3b0ecf1e14cd1e9443c3ddcf798aa0aa/sparsegrad-0.0.10.tar.gz" } ], "0.0.11": [ { "comment_text": "", "digests": { "md5": "93b5fab3a1976483e5d95b74c7778114", "sha256": "fea1d9ee71015d0b573d9c6d6bdf142dd18b7c3987af123a8fb5de2fcddc897f" }, "downloads": -1, "filename": "sparsegrad-0.0.11.tar.gz", "has_sig": false, "md5_digest": "93b5fab3a1976483e5d95b74c7778114", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 94955, "upload_time": "2018-12-04T21:18:50", "url": "https://files.pythonhosted.org/packages/03/99/c9bc036601589dd031dfebd85a2ad1ce9f5088c1139e0b32bfb6acfbbadd/sparsegrad-0.0.11.tar.gz" } ], "0.0.12": [ { "comment_text": "", "digests": { "md5": "23daef7205970f0333d0a52d894beca0", "sha256": "145f12f54819c3f6e02855d1504facf951496777de1d7e2dc9da5246f223f5e6" }, "downloads": -1, "filename": "sparsegrad-0.0.12.tar.gz", "has_sig": false, "md5_digest": "23daef7205970f0333d0a52d894beca0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 94975, "upload_time": "2019-01-13T20:50:26", "url": "https://files.pythonhosted.org/packages/c6/dd/9497d2c02d300a2e701d54e67ff606a0a5c20f57009ac8c1b2a983a09419/sparsegrad-0.0.12.tar.gz" } ], "0.0.13": [ { "comment_text": "", "digests": { "md5": "d0f222b1c12b1dd65c5a8f1da896e542", "sha256": "8fafde52433ae0b2ff6fd1519b6dff1fb3291a866289c175013e7f761d868725" }, "downloads": -1, "filename": "sparsegrad-0.0.13.tar.gz", "has_sig": false, "md5_digest": "d0f222b1c12b1dd65c5a8f1da896e542", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 94771, "upload_time": "2019-01-19T07:48:28", "url": "https://files.pythonhosted.org/packages/95/06/c8d2d632259f96acfc4b0d4da7c01733397c3db4be09c66a03f84025f1cc/sparsegrad-0.0.13.tar.gz" } ], "0.0.14": [ { "comment_text": "", "digests": { "md5": "9a16b6abcfe43f69acd802b64799e56a", "sha256": "a5a8986a969e499e17816f16a2c538e5f8d2a57310489235309f449713784f97" }, "downloads": -1, "filename": "sparsegrad-0.0.14.tar.gz", "has_sig": false, "md5_digest": "9a16b6abcfe43f69acd802b64799e56a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 94654, "upload_time": "2019-05-29T11:09:12", "url": "https://files.pythonhosted.org/packages/52/55/6defda2652b8058e6d23e0b8c6ad0e91a8b6de6ef478eb7aba2af74cddc0/sparsegrad-0.0.14.tar.gz" } ], "0.0.15": [ { "comment_text": "", "digests": { "md5": "077eb7e302d3000c9260119faafe7406", "sha256": "ab202f2bb8561b774b8d0a8b9142d65a07acff82f8bc2ed84d734621c4096ac4" }, "downloads": -1, "filename": "sparsegrad-0.0.15.tar.gz", "has_sig": false, "md5_digest": "077eb7e302d3000c9260119faafe7406", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 95421, "upload_time": "2019-06-16T15:54:21", "url": "https://files.pythonhosted.org/packages/fb/e9/e7f507dc7d6bd0c1f61742d695227853a48797e81dd7628af5bfbab578fd/sparsegrad-0.0.15.tar.gz" } ], "0.0.2": [ { "comment_text": "", "digests": { "md5": "fabee409ba5adf9769236f35a7f46f2a", "sha256": "6e44724ea9c3ccd600e314dd2e3e0713e1a1ed3b76483264b75c545481e84706" }, "downloads": -1, "filename": "sparsegrad-0.0.2.tar.gz", "has_sig": false, "md5_digest": "fabee409ba5adf9769236f35a7f46f2a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 24266, "upload_time": "2016-11-22T00:31:50", "url": "https://files.pythonhosted.org/packages/e2/52/9a09dcf4f4caec36bdeb3639464e4a3fd79c036b41ccda03c1f88594f2fe/sparsegrad-0.0.2.tar.gz" } ], "0.0.3": [ { "comment_text": "", "digests": { "md5": "3d08bbd51e7f29403f07a67d2703461a", "sha256": "3d5a2523216bc5ac8f05d1ff75f9f466cb631f0d3141326e6b40c9bd396e5610" }, "downloads": -1, "filename": "sparsegrad-0.0.3.tar.gz", "has_sig": false, "md5_digest": "3d08bbd51e7f29403f07a67d2703461a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 24777, "upload_time": "2017-10-30T20:08:37", "url": "https://files.pythonhosted.org/packages/13/ca/3d2dac5c731f18c2e9d7817015156593213bdaf547821f0a9828c8987933/sparsegrad-0.0.3.tar.gz" } ], "0.0.4": [ { "comment_text": "", "digests": { "md5": "c45ed8af2a6c3d3746ef0d347deca491", "sha256": "4bbcdcda6560d3c18bd9f9c55e3ec7f8f4d3a8f05ea1d67d94c1e6b2caa2a6e6" }, "downloads": -1, "filename": "sparsegrad-0.0.4.tar.gz", "has_sig": false, "md5_digest": "c45ed8af2a6c3d3746ef0d347deca491", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 25726, "upload_time": "2017-12-15T18:14:42", "url": "https://files.pythonhosted.org/packages/36/56/2cf5c1ff77fedc5b91c6d18851e01a2ea9f9685724bb2c96b715893fa459/sparsegrad-0.0.4.tar.gz" } ], "0.0.6": [ { "comment_text": "", "digests": { "md5": "3ba02b91ac49a4637a827e9a31959e75", "sha256": "4e1f425b884e301da82c9c15281eb4d9cf0b4474a50e4f0c1d3e6ea127588875" }, "downloads": -1, "filename": "sparsegrad-0.0.6.tar.gz", "has_sig": false, "md5_digest": "3ba02b91ac49a4637a827e9a31959e75", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 84010, "upload_time": "2018-02-03T18:02:46", "url": "https://files.pythonhosted.org/packages/d0/57/a57dd49e2c862cccf2ce8f240cd2db4af76b948ad7153ba6381ca01e738f/sparsegrad-0.0.6.tar.gz" } ], "0.0.7": [ { "comment_text": "", "digests": { "md5": "d3c9169c2dd12ad4c539c8c2ec5b11ba", "sha256": "fe98dcb1864ee24fcb85d8b0e44df82b312083b120ad4ff2dde2b05ec66dab4b" }, "downloads": -1, "filename": "sparsegrad-0.0.7.tar.gz", "has_sig": false, "md5_digest": "d3c9169c2dd12ad4c539c8c2ec5b11ba", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 26839, "upload_time": "2018-03-14T13:13:25", "url": "https://files.pythonhosted.org/packages/13/cb/1c2161809e8497a9b088caa3fe7c741e93cee776746684f914f9b44a9cd6/sparsegrad-0.0.7.tar.gz" } ], "0.0.8": [ { "comment_text": "", "digests": { "md5": "3c8b9611b768a0b6374c3f0ae99a1577", "sha256": "b5d09ee8e4e5b72489df6202c2918ac395e1c832295423d4d9e520d6a51cb33a" }, "downloads": -1, "filename": "sparsegrad-0.0.8.tar.gz", "has_sig": false, "md5_digest": "3c8b9611b768a0b6374c3f0ae99a1577", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 91618, "upload_time": "2018-03-14T13:22:31", "url": "https://files.pythonhosted.org/packages/e9/85/22d09c3efb539ebc5f7d90b8ed60702141bd0f0973d85bdced810351e0fa/sparsegrad-0.0.8.tar.gz" } ], "0.0.9": [ { "comment_text": "", "digests": { "md5": "3756b79d4116f7a3b253bc268a2971b6", "sha256": "6feded23e00d6abb25d2cd22f0daf16ea10a0ad7cda49eb81ecc022f5573c52f" }, "downloads": -1, "filename": "sparsegrad-0.0.9.tar.gz", "has_sig": false, "md5_digest": "3756b79d4116f7a3b253bc268a2971b6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 92260, "upload_time": "2018-04-12T19:50:56", "url": "https://files.pythonhosted.org/packages/0a/fc/9450442d28fa1c13a15f25cc3d74b86d66374c0f6f18d79a59e01914ca40/sparsegrad-0.0.9.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "077eb7e302d3000c9260119faafe7406", "sha256": "ab202f2bb8561b774b8d0a8b9142d65a07acff82f8bc2ed84d734621c4096ac4" }, "downloads": -1, "filename": "sparsegrad-0.0.15.tar.gz", "has_sig": false, "md5_digest": "077eb7e302d3000c9260119faafe7406", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 95421, "upload_time": "2019-06-16T15:54:21", "url": "https://files.pythonhosted.org/packages/fb/e9/e7f507dc7d6bd0c1f61742d695227853a48797e81dd7628af5bfbab578fd/sparsegrad-0.0.15.tar.gz" } ] }