{ "info": { "author": "Abraham Lee", "author_email": "tisimst@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Intended Audience :: Education", "Intended Audience :: Science/Research", "License :: OSI Approved :: BSD License", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 2.6", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3.0", "Programming Language :: Python :: 3.1", "Programming Language :: Python :: 3.2", "Programming Language :: Python :: 3.3", "Topic :: Education", "Topic :: Scientific/Engineering", "Topic :: Scientific/Engineering :: Mathematics", "Topic :: Scientific/Engineering :: Physics", "Topic :: Software Development", "Topic :: Software Development :: Libraries", "Topic :: Software Development :: Libraries :: Python Modules", "Topic :: Utilities" ], "description": "``ad`` Package Documentation\n============================\n\n.. image:: https://travis-ci.org/tisimst/ad.png?branch=master\n\nOverview\n--------\n\nThe ``ad`` package allows you to **easily** and **transparently** perform \n**first and second-order automatic differentiation**. Advanced math \ninvolving trigonometric, logarithmic, hyperbolic, etc. functions can also \nbe evaluated directly using the ``admath`` sub-module. \n\n**All base numeric types are supported** (``int``, ``float``, ``complex``, \netc.). This package is designed so that the underlying numeric types will \ninteract with each other *as they normally do* when performing any \ncalculations. Thus, this package acts more like a \"wrapper\" that simply helps \nkeep track of derivatives while **maintaining the original functionality** of \nthe numeric calculations.\n\nFrom the Wikipedia entry on `Automatic differentiation`_ (AD):\n\n \"AD exploits the fact that every computer program, no matter how \n complicated, executes a sequence of elementary arithmetic operations \n (addition, subtraction, multiplication, division, etc.) and elementary \n functions (exp, log, sin, cos, etc.). By applying the chain rule \n repeatedly to these operations, derivatives of arbitrary order can be \n computed automatically, and accurate to working precision.\"\n\nSee the `package documentation`_ for details and examples.\n\nMain Features\n-------------\n\n- **Transparent calculations with derivatives: no or little \n modification of existing code** is needed, including when using\n the `Numpy`_ module.\n\n- **Almost all mathematical operations** are supported, including\n functions from the standard math_ module (sin, cos, exp, erf, \n etc.) and cmath_ module (phase, polar, etc.) with additional convenience \n trigonometric, hyperbolic, and logarithmic functions (csc, acoth, ln, etc.).\n Comparison operators follow the **same rules as the underlying numeric \n types**.\n\n- **Real and complex** arithmetic handled seamlessly. Treat objects as you\n normally would using the `math`_ and `cmath`_ functions, but with their new \n ``admath`` counterparts.\n \n- **Automatic gradient and hessian function generator** for optimization \n studies using `scipy.optimize`_ routines with ``gh(your_func_here)``.\n\n- **Compatible Linear Algebra Routines** in the ``ad.linalg`` submodule, \n similar to those found in NumPy's ``linalg`` submodule, that are not \n dependent on LAPACK. There are currently:\n \n a. Decompositions\n \n 1. ``chol``: Cholesky Decomposition\n 2. ``lu``: LU Decomposition\n 3. ``qr``: QR Decomposition\n \n b. Solving equations and inverting matrices\n \n 1. ``solve``: General solver for linear systems of equations\n 2. ``lstsq``: Least-squares solver for linear systems of equations\n 3. ``inv``: Solve for the (multiplicative) inverse of a matrix\n\nInstallation\n------------\n\nYou have several easy, convenient options to install the ``ad`` package \n(administrative privileges may be required):\n\n1. Download the package files below, unzip to any directory, and run \n ``python setup.py install`` from the command-line.\n \n2. Simply copy the unzipped ``ad-XYZ`` directory to any other location \n that python can find it and rename it ``ad``.\n \n3. If ``setuptools`` is installed, run ``easy_install --upgrade ad`` \n from the command-line.\n \n4. If ``pip`` is installed, run ``pip install --upgrade ad`` from the \n command-line.\n\n5. Download the *bleeding-edge* version on GitHub_\n\nContact\n-------\n\nPlease send **feature requests, bug reports, or feedback** to \n`Abraham Lee`_.\n\nAcknowledgements\n----------------\n\nThe author expresses his thanks to :\n\n- `Eric O. LEBIGOT (EOL)`_, author of the `uncertainties`_ package, for providing \n code insight and inspiration\n- Stephen Marks, professor at Pomona College, for useful feedback concerning \n the interface with optimization routines in ``scipy.optimize``.\n- Wendell Smith, for updating testing functionality and numerous other useful\n function updates\n- Jonathan Terhorst, for catching a bug that made derivatives of logarithmic\n functions (base != e) give the wrong answers.\n- GitHub user ``fhgd`` for catching a mis-calculation in ``admath.atan2``\n\n\n.. _NumPy: http://numpy.scipy.org/\n.. _math: http://docs.python.org/library/math.html\n.. _cmath: http://docs.python.org/library/cmath.html\n.. _Automatic differentiation: http://en.wikipedia.org/wiki/Automatic_differentiation\n.. _Eric O. LEBIGOT (EOL): http://www.linkedin.com/pub/eric-lebigot/22/293/277\n.. _uncertainties: http://pypi.python.org/pypi/uncertainties\n.. _scipy.optimize: http://docs.scipy.org/doc/scipy/reference/optimize.html\n.. _Abraham Lee: mailto:tisimst@gmail.com\n.. _package documentation: http://pythonhosted.org/ad\n.. _GitHub: https://github.com/tisimst/ad", "description_content_type": null, "docs_url": "https://pythonhosted.org/ad/", "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://pythonhosted.org/ad", "keywords": "automatic differentiation,first order,second order,derivative,algorithmic differentiation,computational differentiation,optimization,linear algebra", "license": "BSD License", "maintainer": null, "maintainer_email": null, "name": "ad", "package_url": "https://pypi.org/project/ad/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/ad/", "project_urls": { "Download": "UNKNOWN", "Homepage": "http://pythonhosted.org/ad" }, "release_url": "https://pypi.org/project/ad/1.3.2/", "requires_dist": null, "requires_python": null, "summary": "Fast, transparent first- and second-order automatic differentiation", "version": "1.3.2" }, "last_serial": 1686509, "releases": { "1.0": [], "1.0.1": [ { "comment_text": "", "digests": { "md5": "faf1eafd52be4d128632567db85f37dd", "sha256": "ae6762658933f533a67a261ccc47ff8503d2e54948de3c2fc0e90a80f4ffd593" }, "downloads": -1, "filename": "ad-1.0.1.tar.gz", "has_sig": false, "md5_digest": "faf1eafd52be4d128632567db85f37dd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13910, "upload_time": "2013-06-28T21:47:58", "url": "https://files.pythonhosted.org/packages/d3/7b/ef2ca32cbcebd9dd53ab12fd3ac3f701ee123815e1af06f646b09fcc32c9/ad-1.0.1.tar.gz" }, { "comment_text": "", "digests": { "md5": "e4e62c8ca906c60cd242ee977349d9dd", "sha256": "7f1c705cc07e5037f912dd8c833c97ab8ea14bdfa0a92d5cc660ca240824665f" }, "downloads": -1, "filename": "ad-1.0.1.zip", "has_sig": false, "md5_digest": "e4e62c8ca906c60cd242ee977349d9dd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16722, "upload_time": "2013-06-28T21:48:10", "url": "https://files.pythonhosted.org/packages/e5/4b/8f4a9758e48bcb49bf9fb727ed9f1f14d566984610a7b0c319488d7a8ac7/ad-1.0.1.zip" } ], "1.0.2": [ { "comment_text": "", "digests": { "md5": "2889f488dde02db0dc4af69c4b312923", "sha256": "db788fe81c401a1bc52d971292ceda0b2e928d028b37f4e927726c147c328fb9" }, "downloads": -1, "filename": "ad-1.0.2.tar.gz", "has_sig": false, "md5_digest": "2889f488dde02db0dc4af69c4b312923", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13918, "upload_time": "2013-07-11T15:04:05", "url": "https://files.pythonhosted.org/packages/87/21/6d101346431815f5669e6f94a97b0f0eb97304847a7a7a03f6eadc13bcec/ad-1.0.2.tar.gz" }, { "comment_text": "", "digests": { "md5": "deb8a01b7d13b3722ff5e1f6ddf7f4ac", "sha256": "440465a34f0a880e25ba485d2e4eae805fd5848749ef7b277dcee7ae8908da1d" }, "downloads": -1, "filename": "ad-1.0.2.zip", "has_sig": false, "md5_digest": "deb8a01b7d13b3722ff5e1f6ddf7f4ac", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16835, "upload_time": "2013-07-11T15:04:35", "url": "https://files.pythonhosted.org/packages/5d/96/5fe116bba3d541194e79091e49a2ccd4d990e4727124faf37169dd10d592/ad-1.0.2.zip" } ], "1.0.3": [ { "comment_text": "", "digests": { "md5": "af4093f9694616c63c6934feb2368db7", "sha256": "9e554e5afe1a7848a6cdcdf689e80aa2ce2986638d8e5a7324b6e3db4a081ea4" }, "downloads": -1, "filename": "ad-1.0.3.tar.gz", "has_sig": false, "md5_digest": "af4093f9694616c63c6934feb2368db7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14257, "upload_time": "2013-07-13T22:43:25", "url": "https://files.pythonhosted.org/packages/ba/33/1c0f8c9b2a627edd8e477ca265a6ed1ec1ed6bb265805be53c959132a1b6/ad-1.0.3.tar.gz" }, { "comment_text": "", "digests": { "md5": "b7e719a6bf29d6384a4823ce9ed06ebe", "sha256": "6d737ca1f58bbfc635383174e3ea221e795b1f357bd7efc08072dd32cb068238" }, "downloads": -1, "filename": "ad-1.0.3.zip", "has_sig": false, "md5_digest": "b7e719a6bf29d6384a4823ce9ed06ebe", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17247, "upload_time": "2013-07-13T22:43:42", "url": "https://files.pythonhosted.org/packages/6c/01/5392b56609075420bc5fa229d460b1ed62b866df675e2f1ba5ea2876b964/ad-1.0.3.zip" } ], "1.1": [ { "comment_text": "", "digests": { "md5": "3325d29a473c82ef717e2f3e02cdc656", "sha256": "6c181c553879f41ff6cbbf097b68be9bf87755782cb46fe0ef9964708da7c2c1" }, "downloads": -1, "filename": "ad-1.1.tar.gz", "has_sig": false, "md5_digest": "3325d29a473c82ef717e2f3e02cdc656", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19080, "upload_time": "2013-07-18T23:03:38", "url": "https://files.pythonhosted.org/packages/67/4d/0d729b929a3f2add397b00360c94adc5c630c6eea72bef1bc2df38848661/ad-1.1.tar.gz" }, { "comment_text": "", "digests": { "md5": "b4435004d3543c8f4270b77fff0a77e6", "sha256": "b587c9eb6ae10022acb8acff22e903e21b1b7dd050af7bcf09380794bbc96165" }, "downloads": -1, "filename": "ad-1.1.zip", "has_sig": false, "md5_digest": "b4435004d3543c8f4270b77fff0a77e6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22820, "upload_time": "2013-07-18T23:03:52", "url": "https://files.pythonhosted.org/packages/fe/7e/8d601a1b20f3720ba890c415ec26405c31076c73138f99aa5a36e6240358/ad-1.1.zip" } ], "1.1.1": [], "1.1.2": [ { "comment_text": "", "digests": { "md5": "ee1da689890be2748e1773b2cdec4e2c", "sha256": "896ff834b3d992739b7d52d952086c482026b812f3e02de902586574449a5ffd" }, "downloads": -1, "filename": "ad-1.1.2.tar.gz", "has_sig": false, "md5_digest": "ee1da689890be2748e1773b2cdec4e2c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19719, "upload_time": "2013-08-16T23:13:08", "url": "https://files.pythonhosted.org/packages/a8/e3/2ebd712c461e50afc0fa58a8d5c05c1ae588b0315d0bfacec766a0814ca9/ad-1.1.2.tar.gz" } ], "1.1.3": [ { "comment_text": "", "digests": { "md5": "2a9ac49a14cd2deab5e021a5d5793476", "sha256": "f4f1b00f1c535b0aaf017a37de9c5c7982a6b15b34e842595fff48aed288ba64" }, "downloads": -1, "filename": "ad-1.1.3.tar.gz", "has_sig": false, "md5_digest": "2a9ac49a14cd2deab5e021a5d5793476", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20232, "upload_time": "2013-08-27T18:53:48", "url": "https://files.pythonhosted.org/packages/5b/79/7bdfd480fbbb12534edac59d7fe41a401b86eb5886d309d2c383ce41d72d/ad-1.1.3.tar.gz" } ], "1.1.5": [ { "comment_text": "", "digests": { "md5": "f48cfca5e9506a7d7edcc1e936a18fdc", "sha256": "124f64909bc97c8e3b6036571a299983f7ba15ecc73d5ec6c003b904562ab004" }, "downloads": -1, "filename": "ad-1.1.5.tar.gz", "has_sig": false, "md5_digest": "f48cfca5e9506a7d7edcc1e936a18fdc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18695, "upload_time": "2013-09-06T15:53:35", "url": "https://files.pythonhosted.org/packages/e0/74/bdee33dd2c11cb61fcda508d9d5cc4af521ae2e9e6524b540fa41585018f/ad-1.1.5.tar.gz" } ], "1.1.6": [ { "comment_text": "", "digests": { "md5": "4a658a89e85f49f90a44c9a3f87ca9e2", "sha256": "c1a1298d55cdbd1e9bead7a312fbfac73be063cffd506bac3f8e885df08cabfe" }, "downloads": -1, "filename": "ad-1.1.6.tar.gz", "has_sig": false, "md5_digest": "4a658a89e85f49f90a44c9a3f87ca9e2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18684, "upload_time": "2013-09-06T21:33:35", "url": "https://files.pythonhosted.org/packages/c7/cc/287a5a31d5b1258f1824b8d3160aadc7b70756821ecb8f70e07f283378ef/ad-1.1.6.tar.gz" } ], "1.1.7": [ { "comment_text": "", "digests": { "md5": "d97763d3ef2caf7c11bf1dd49684eade", "sha256": "c7f60f1da469f45fbc33d7a75fec972bde12884b5de58060151b59e2f0d271ec" }, "downloads": -1, "filename": "ad-1.1.7.tar.gz", "has_sig": false, "md5_digest": "d97763d3ef2caf7c11bf1dd49684eade", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19421, "upload_time": "2013-09-26T21:14:23", "url": "https://files.pythonhosted.org/packages/b7/00/0d8388fc863a9751b4d2b97dcd158a7d33165bde20441627f8988847d013/ad-1.1.7.tar.gz" } ], "1.2.0": [ { "comment_text": "", "digests": { "md5": "806f2c412907e250694fdd74d9c04493", "sha256": "9a10c15fa6c49c833d9770b63975668320befc66c24493003221034393010ad9" }, "downloads": -1, "filename": "ad-1.2.0.tar.gz", "has_sig": false, "md5_digest": "806f2c412907e250694fdd74d9c04493", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 24173, "upload_time": "2013-10-16T01:35:16", "url": "https://files.pythonhosted.org/packages/f0/b5/5eb43b79bc025347a524c40833566d1090992ae111b5856d98b1b7d70e26/ad-1.2.0.tar.gz" } ], "1.2.1": [ { "comment_text": "", "digests": { "md5": "a7f8ee6a3677925d8a2e68f0d890e28d", "sha256": "494f09495264febc8b35228c1aad5fb7aa6f81e52b91a15bdcd4329105552fb0" }, "downloads": -1, "filename": "ad-1.2.1.tar.gz", "has_sig": false, "md5_digest": "a7f8ee6a3677925d8a2e68f0d890e28d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 24212, "upload_time": "2013-11-19T22:37:22", "url": "https://files.pythonhosted.org/packages/6b/97/b4ff026688eb25c3ae0a14ab902460ca6a4de08559c94631b66b7f708fe1/ad-1.2.1.tar.gz" } ], "1.2.2": [ { "comment_text": "", "digests": { "md5": "a4d374eface9fc2969bfb874c0e81d68", "sha256": "b47ee70b8d081d1cb1e64dc1850db28776a8be203600caa5f3f5b6c2acd35351" }, "downloads": -1, "filename": "ad-1.2.2.tar.gz", "has_sig": false, "md5_digest": "a4d374eface9fc2969bfb874c0e81d68", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 24124, "upload_time": "2013-11-28T12:33:26", "url": "https://files.pythonhosted.org/packages/f6/39/8eb1d223e132b089138ad3f3517335e19a49769496254ae28b31a8cc0570/ad-1.2.2.tar.gz" } ], "1.2.3": [ { "comment_text": "", "digests": { "md5": "603da7acb87f8d4aa848d8c7e655ad56", "sha256": "45cf23d4014146f064003fa2bb2a68744628ecef47878763a789d9e7cc4a259d" }, "downloads": -1, "filename": "ad-1.2.3.tar.gz", "has_sig": false, "md5_digest": "603da7acb87f8d4aa848d8c7e655ad56", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 24123, "upload_time": "2014-07-04T20:22:25", "url": "https://files.pythonhosted.org/packages/fd/d5/c9af093daf40ffc04d64e9d1606882e62de88674be8bcd9022ab00e1b95c/ad-1.2.3.tar.gz" } ], "1.3": [ { "comment_text": "", "digests": { "md5": "4e3588233cb1620b3e7f59c6f42a831d", "sha256": "88771435b2ca216c0dac9d56257de199b35620ff4baa455f0bc64c81cc0f357e" }, "downloads": -1, "filename": "ad-1.3.tar.gz", "has_sig": false, "md5_digest": "4e3588233cb1620b3e7f59c6f42a831d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 24656, "upload_time": "2015-04-17T19:36:19", "url": "https://files.pythonhosted.org/packages/a0/f2/14941a5be9a4e3a2077c8b3644d52126a374b11fda6958b7bd5a64931495/ad-1.3.tar.gz" } ], "1.3.1": [ { "comment_text": "", "digests": { "md5": "6a01e6dd3b18f34e41e6c1ece7778fda", "sha256": "59fb8b63f48c45a4d8089e58d0f0b54f94658929295779a2f7ea91b5d9416ace" }, "downloads": -1, "filename": "ad-1.3.1.tar.gz", "has_sig": false, "md5_digest": "6a01e6dd3b18f34e41e6c1ece7778fda", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 24660, "upload_time": "2015-04-17T19:43:11", "url": "https://files.pythonhosted.org/packages/4c/7a/73e1b9552e46b23604937ae6eecaa7287ad7feb4941906f66185400455a5/ad-1.3.1.tar.gz" } ], "1.3.2": [ { "comment_text": "", "digests": { "md5": "f635089ab0965ffe984ed46b0418c1a3", "sha256": "798e0c4e3318d74bacfbabaeb904e93de75a4f332dbf569e9ba806441fbc56e2" }, "downloads": -1, "filename": "ad-1.3.2.zip", "has_sig": false, "md5_digest": "f635089ab0965ffe984ed46b0418c1a3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 26936, "upload_time": "2015-08-20T21:56:13", "url": "https://files.pythonhosted.org/packages/3b/f0/16776411190d53745d0d020a242e2890a59c0752b133a3476d35aa63e4a2/ad-1.3.2.zip" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "f635089ab0965ffe984ed46b0418c1a3", "sha256": "798e0c4e3318d74bacfbabaeb904e93de75a4f332dbf569e9ba806441fbc56e2" }, "downloads": -1, "filename": "ad-1.3.2.zip", "has_sig": false, "md5_digest": "f635089ab0965ffe984ed46b0418c1a3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 26936, "upload_time": "2015-08-20T21:56:13", "url": "https://files.pythonhosted.org/packages/3b/f0/16776411190d53745d0d020a242e2890a59c0752b133a3476d35aa63e4a2/ad-1.3.2.zip" } ] }