{ "info": { "author": "Bj\u00f6rn Dahlgren", "author_email": "bjodah@DELETEMEgmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "License :: OSI Approved :: BSD License", "Operating System :: OS Independent", "Topic :: Scientific/Engineering", "Topic :: Scientific/Engineering :: Mathematics" ], "description": "SymCXX\n======\n\n.. image:: http://hera.physchem.kth.se:9090/api/badges/bjodah/symcxx/status.svg\n :target: http://hera.physchem.kth.se:9090/bjodah/symcxx\n :alt: Build status\n.. image:: https://img.shields.io/pypi/v/symcxx.svg\n :target: https://pypi.python.org/pypi/symcxx\n :alt: PyPI version\n.. image:: https://img.shields.io/badge/python-2.7,3.4,3.5-blue.svg\n :target: https://www.python.org/\n :alt: Python version\n.. image:: https://img.shields.io/pypi/l/symcxx.svg\n :target: https://github.com/bjodah/symcxx/blob/master/LICENSE\n :alt: License\n.. image:: http://img.shields.io/badge/benchmarked%20by-asv-green.svg?style=flat\n :target: http://hera.physchem.kth.se/~symcxx/benchmarks\n :alt: airspeedvelocity\n.. image:: http://hera.physchem.kth.se/~symcxx/branches/master/htmlcov/coverage.svg\n :target: http://hera.physchem.kth.se/~symcxx/branches/master/htmlcov\n :alt: coverage\n\n`SymCXX `_ is an *experimental*\nPython package (with its core implemented in C++) for symbolic manipulation\nwith limited scope (as in minimal).\nIt tries to stay compatible with the API of `SymPy `_.\nIts main goal is to explore designs related to automatic differentiation and\nnumerical evaluation similar to SymEngine's Lambdify functionality.\n\nThe capabilities include:\n\n- Differentiation (including taking the jacobian of a matrix)\n- Numerical evaluation\n\nThe above capabilities are exactly what is needed by\n`pyodesys `_\nand `pyneqsys `_.\n\nNote that **integers in symcxx may overflow**, i.e. if correctness is important \nplease use SymPy/SymEngine.\n\nDocumentation\n-------------\nCurrently users may refer to SymPy's / SymEngine's documentation.\n\n\nInstallation\n------------\nSimplest way to install SymCXX and its (optional) dependencies is to use\nthe `conda package manager `_:\n\n::\n\n $ conda install -c bjodah symcxx pytest\n $ python -m pytest --pyargs symcxx\n\nor pip (requires a C++11 compliant compiler):\n\n::\n\n $ pip install --user symcxx pytest\n $ python -m pytest --pyargs symcxx\n\n\nThere are no requirements outside the Python standard library.\n\nSource distribution is available here:\n``_\n\nExample\n-------\nDifferentiation\n\n.. code:: python\n\n >>> from symcxx import NameSpace\n >>> ns = NameSpace()\n >>> x, y = map(ns.Symbol, 'x y'.split())\n >>> expr = x*y**2 - ns.tan(2*x)\n >>> print(expr.diff(x))\n Sub(Pow(Symbol(y), Integer(2)), Mul2(Integer(2), Add2(Integer(1), Pow(Tan(Mul2(Symbol(x), Integer(2))), Integer(2)))))\n\nLambdify\n\n.. code:: python\n\n >>> lmb = ns.Lambdify([x, y], expr)\n >>> lmb([1.3, 0.2])\n array([[ 0.65359661]])\n\n\nLicense\n-------\nThe source code is Open Source and is released under the simplified 2-clause BSD license. See `LICENSE `_ for further details.\n\nContributors are welcome to suggest improvements at https://github.com/bjodah/symcxx\n\nAuthor\n------\nBj\u00f6rn I. Dahlgren, contact:\n\n- gmail address: bjodah\n- kth.se address: bda", "description_content_type": null, "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/bjodah/symcxx", "keywords": "", "license": "BSD", "maintainer": "", "maintainer_email": "", "name": "symcxx", "package_url": "https://pypi.org/project/symcxx/", "platform": "", "project_url": "https://pypi.org/project/symcxx/", "project_urls": { "Homepage": "https://github.com/bjodah/symcxx" }, "release_url": "https://pypi.org/project/symcxx/0.1.9/", "requires_dist": null, "requires_python": "", "summary": "symcxx is a minimal symbolic manipulation python package written in C++.", "version": "0.1.9" }, "last_serial": 3147986, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "6411813df325202fe7fa022f40ec945c", "sha256": "29a0d0838f78c31250637ab443c6d8595efebb044e075862acb2018c74ba6066" }, "downloads": -1, "filename": "symcxx-0.1.0.tar.gz", "has_sig": false, "md5_digest": "6411813df325202fe7fa022f40ec945c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 175119, "upload_time": "2016-02-08T15:59:48", "url": "https://files.pythonhosted.org/packages/36/8c/42cc2ed16390bc8a82a7f15578bcab1b8da3b9ada9ab4a95325a006523c3/symcxx-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "ecadf0ed0e0f52405cb02aed77ba1d00", "sha256": "325c75679d9bc4eeefd5e8f197bc06dc706bbe13e9fd530ee153d6e010aa0d3a" }, "downloads": -1, "filename": "symcxx-0.1.1.tar.gz", "has_sig": false, "md5_digest": "ecadf0ed0e0f52405cb02aed77ba1d00", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 176340, "upload_time": "2016-02-08T18:01:50", "url": "https://files.pythonhosted.org/packages/0a/99/0e266b51a2a0183863015a0e831c97478386ce1e21e507f0541a2b98f8ed/symcxx-0.1.1.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "7b2aa4367df29aea5053595dc0fed3d8", "sha256": "0145a9420102ae9ae5cc6e99345e7a45df0e77326a2c82bc06183d4b426a74ec" }, "downloads": -1, "filename": "symcxx-0.1.2.tar.gz", "has_sig": false, "md5_digest": "7b2aa4367df29aea5053595dc0fed3d8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 179600, "upload_time": "2016-07-19T11:22:56", "url": "https://files.pythonhosted.org/packages/64/a0/3bf3b0d3be12151d24600182df9a59c0c017109b7a30d16b526a7ef7a550/symcxx-0.1.2.tar.gz" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "0e1113d941133d9c1795e3a8cde24a8a", "sha256": "4d8b2446fc0c148051155f7d0b8beffa248bf4ec6fb47e586772961e5cc94109" }, "downloads": -1, "filename": "symcxx-0.1.3.tar.gz", "has_sig": false, "md5_digest": "0e1113d941133d9c1795e3a8cde24a8a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 180327, "upload_time": "2016-07-19T12:21:52", "url": "https://files.pythonhosted.org/packages/16/6c/45dd8e76ca64a3411256796cf3e0e2b2fb2b5174f792619a2f033aea7b53/symcxx-0.1.3.tar.gz" } ], "0.1.4": [ { "comment_text": "", "digests": { "md5": "0171f344a04588c695f061cc1f1eaa15", "sha256": "eca79691d4cf3e7283ddd4d5c8bc6dca33c158269d9226fd4e0f64566c9a39d1" }, "downloads": -1, "filename": "symcxx-0.1.4.tar.gz", "has_sig": false, "md5_digest": "0171f344a04588c695f061cc1f1eaa15", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 186332, "upload_time": "2016-07-30T12:52:33", "url": "https://files.pythonhosted.org/packages/58/a3/0f305225a27171c7e822109677eed165b4139f0e9efb6ee383d52612eb35/symcxx-0.1.4.tar.gz" } ], "0.1.5": [ { "comment_text": "", "digests": { "md5": "93d5de8eaa35a230121001c1ad37fbb4", "sha256": "8639ac40b5dfb6a04a5e534c0beadc3aa7e2b7d95213d7afdf418e0ba59f579d" }, "downloads": -1, "filename": "symcxx-0.1.5.tar.gz", "has_sig": false, "md5_digest": "93d5de8eaa35a230121001c1ad37fbb4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 184715, "upload_time": "2016-08-07T21:00:01", "url": "https://files.pythonhosted.org/packages/c8/77/3521672f2580d38157c7dcf4e3d28db0e922d27c969c05045f5f3f5c4e1f/symcxx-0.1.5.tar.gz" } ], "0.1.6": [ { "comment_text": "", "digests": { "md5": "08cfcc690db23883b5d107561c91f7f0", "sha256": "c7cc7fd5d000f78ee2d9c0d78039ef84af48842386354c5ad3e213d0de0bdb49" }, "downloads": -1, "filename": "symcxx-0.1.6.tar.gz", "has_sig": false, "md5_digest": "08cfcc690db23883b5d107561c91f7f0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 200099, "upload_time": "2016-10-28T09:24:05", "url": "https://files.pythonhosted.org/packages/68/40/4d9eab3f7e29e5ea8af7232cde6e06ff55b5c470dd0e9806c54ce6aa3439/symcxx-0.1.6.tar.gz" } ], "0.1.7": [ { "comment_text": "", "digests": { "md5": "0deba0a67ddcd28b069f44284cf282df", "sha256": "94279d48dd983a6649abde74f3345d6f00263f27dbc314a824af381bd795fd52" }, "downloads": -1, "filename": "symcxx-0.1.7.tar.gz", "has_sig": false, "md5_digest": "0deba0a67ddcd28b069f44284cf282df", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 200468, "upload_time": "2016-11-03T15:02:36", "url": "https://files.pythonhosted.org/packages/3c/57/e50b6eb00d1005c2a51f114e24d3152b668a270040b8d5a5203b47a02537/symcxx-0.1.7.tar.gz" } ], "0.1.8": [ { "comment_text": "", "digests": { "md5": "42d0c12a5ebb442a02b099ec56f7c565", "sha256": "9126fb119d2ddefb96f56d2311c223c5588208349ac35fcc7d4d89337893453b" }, "downloads": -1, "filename": "symcxx-0.1.8.tar.gz", "has_sig": false, "md5_digest": "42d0c12a5ebb442a02b099ec56f7c565", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 200492, "upload_time": "2016-11-03T15:19:17", "url": "https://files.pythonhosted.org/packages/16/99/f33865d8024b337b3ac4b46acea52c806712131779c57dcc2f52bbcbad44/symcxx-0.1.8.tar.gz" } ], "0.1.9": [ { "comment_text": "", "digests": { "md5": "5a4c23dddb9076ec808bfe082a4654d8", "sha256": "5ac726823920f3b9880fa6e32845aa6fb3d6bd9baebfa0fea2181eb9ed8a27b8" }, "downloads": -1, "filename": "symcxx-0.1.9.tar.gz", "has_sig": false, "md5_digest": "5a4c23dddb9076ec808bfe082a4654d8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 214680, "upload_time": "2017-09-04T16:26:14", "url": "https://files.pythonhosted.org/packages/f9/ff/c08dd171ae414688567bf3d9b93cd9fdbf84a10cfe7de81b0c4ac838a648/symcxx-0.1.9.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "5a4c23dddb9076ec808bfe082a4654d8", "sha256": "5ac726823920f3b9880fa6e32845aa6fb3d6bd9baebfa0fea2181eb9ed8a27b8" }, "downloads": -1, "filename": "symcxx-0.1.9.tar.gz", "has_sig": false, "md5_digest": "5a4c23dddb9076ec808bfe082a4654d8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 214680, "upload_time": "2017-09-04T16:26:14", "url": "https://files.pythonhosted.org/packages/f9/ff/c08dd171ae414688567bf3d9b93cd9fdbf84a10cfe7de81b0c4ac838a648/symcxx-0.1.9.tar.gz" } ] }