{ "info": { "author": "Bruce Spang", "author_email": "bruce@brucespang.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Science/Research", "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.6", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Topic :: Scientific/Engineering :: Mathematics", "Topic :: System :: Networking" ], "description": "# Network Utility Maximization Solver\n\nA tool for solving [Network Utility Maximization](http://www.ifp.illinois.edu/~srikant/ECE567/Fall09/lecture2-num-primal.pdf) problems.\n\n```\n$ pip install num_solver\n```\n\n## Example\n\n```\n$ python\nPython 2.7.11 (default, Jan 22 2016, 08:29:18)\n[GCC 4.2.1 Compatible Apple LLVM 7.0.2 (clang-700.1.81)] on darwin\nType \"help\", \"copyright\", \"credits\" or \"license\" for more information.\n>>> import num_solver\n>>> import numpy as np\n>>> utility = lambda x: np.sum(np.ma.log(x))\n>>> R = np.array([[1., 1.]])\n>>> capacity = np.array([10.])\n>>> num_solver.solve_num_problem(utility, R, capacity)\narray([ 5., 5.])\n```\n\n\n", "description_content_type": null, "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/brucespang/num_solver", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "num-solver", "package_url": "https://pypi.org/project/num-solver/", "platform": "", "project_url": "https://pypi.org/project/num-solver/", "project_urls": { "Homepage": "https://github.com/brucespang/num_solver" }, "release_url": "https://pypi.org/project/num-solver/0.1.9/", "requires_dist": [ "numpy", "scipy" ], "requires_python": "", "summary": "Tool for solving Network Utility Maximization problems", "version": "0.1.9" }, "last_serial": 2955172, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "97d1823161604ceb6ff91148944fcfe2", "sha256": "f47cff97652df1e9bd282451b2be9878cd02236a1390c1bb17c70df446e1922c" }, "downloads": -1, "filename": "num_solver-0.1.0-py2-none-any.whl", "has_sig": false, "md5_digest": "97d1823161604ceb6ff91148944fcfe2", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 4218, "upload_time": "2016-08-02T19:13:35", "url": "https://files.pythonhosted.org/packages/66/e1/73ea1e1f0b63c725cf3cc11903ac679f59c04bef5904a82ab3587a347caf/num_solver-0.1.0-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3dc26d27d45b68a5d44ed16394dc7682", "sha256": "eed1dd2ef923688183afbef8f041266d45e65d3af36d240a12ac3344496b1ec9" }, "downloads": -1, "filename": "num_solver-0.1.0.tar.gz", "has_sig": false, "md5_digest": "3dc26d27d45b68a5d44ed16394dc7682", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3049, "upload_time": "2016-08-02T19:13:37", "url": "https://files.pythonhosted.org/packages/f3/c0/0a0e962d56053413514ae1d4528f352feb00e62fbbb0521ecdb482c11bad/num_solver-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "ca5f39ac1fad9fff3eb3549bae17859a", "sha256": "5b1a2f09092159a0e36c4afe3af09be124cb50782ddb67e834ac0ac543df9050" }, "downloads": -1, "filename": "num_solver-0.1.1-py2-none-any.whl", "has_sig": false, "md5_digest": "ca5f39ac1fad9fff3eb3549bae17859a", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 4230, "upload_time": "2016-08-03T15:45:37", "url": "https://files.pythonhosted.org/packages/fb/14/765c76d53a5b96594caac0328f1842b1b8c522b2fd019a9d4458dc860e98/num_solver-0.1.1-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4924b8c8e48db6dbb6f2ba499d8bce55", "sha256": "a25015fb4e854c358130e36b2385029fa5f4099ccde08f187d4b5c8841b12f5f" }, "downloads": -1, "filename": "num_solver-0.1.1.tar.gz", "has_sig": false, "md5_digest": "4924b8c8e48db6dbb6f2ba499d8bce55", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3122, "upload_time": "2016-08-03T15:45:40", "url": "https://files.pythonhosted.org/packages/42/36/a14cc0d9625e90ae5b73b620a4e48da1a9b1f993860be8f790abc86ed881/num_solver-0.1.1.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "6e3a5cc1eac284f561521bb00e73c06d", "sha256": "5158d75121d5489ec52f7cd2850bf94beb9eccbc123cab9c12d9dde8a7d69520" }, "downloads": -1, "filename": "num_solver-0.1.2-py2-none-any.whl", "has_sig": false, "md5_digest": "6e3a5cc1eac284f561521bb00e73c06d", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 4255, "upload_time": "2016-08-11T13:10:47", "url": "https://files.pythonhosted.org/packages/26/88/bdfc7b36821438f3a24b8dfc99d9921912cbcc9d62628f9eec90b1ced845/num_solver-0.1.2-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f34a27e18da1fbdf494ec4f271e9616b", "sha256": "fd55547a27995db027f424f9113901f252e3871afbc1f7b785c9e281b5609227" }, "downloads": -1, "filename": "num_solver-0.1.2.tar.gz", "has_sig": false, "md5_digest": "f34a27e18da1fbdf494ec4f271e9616b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3156, "upload_time": "2016-08-11T13:10:52", "url": "https://files.pythonhosted.org/packages/36/7c/bfdb5b0fc64b0c2a11d839f6def87d269b0c0efc807749d6991a5d05d66c/num_solver-0.1.2.tar.gz" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "7c1ce2078fa4ecf0251596551f40cec5", "sha256": "5a85f923f320785dce6af8245262891408c0a9d9762cb1d8bb0f473af4a8587a" }, "downloads": -1, "filename": "num_solver-0.1.3-py2-none-any.whl", "has_sig": false, "md5_digest": "7c1ce2078fa4ecf0251596551f40cec5", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 4281, "upload_time": "2016-09-07T15:47:51", "url": "https://files.pythonhosted.org/packages/1c/ee/147a98336efad5739bcd6f8518a5c78e261f2e9b528d1ec8d8ace1d38a75/num_solver-0.1.3-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "dcc89bde0895d110ca5a810226f6d9a6", "sha256": "5f9a49137d234703fd702d9093e8022f170ee60a75b0cd1c80e2d2903beb8a64" }, "downloads": -1, "filename": "num_solver-0.1.3.tar.gz", "has_sig": false, "md5_digest": "dcc89bde0895d110ca5a810226f6d9a6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3188, "upload_time": "2016-09-07T15:47:53", "url": "https://files.pythonhosted.org/packages/d0/a8/96ea02a4d09d25a5c9462ded3cd98be4d9ed9e488bd25e91b5a6b1c86f80/num_solver-0.1.3.tar.gz" } ], "0.1.4": [ { "comment_text": "", "digests": { "md5": "28d84ee47caef996abb3bc20b6bfb18d", "sha256": "43c456e4bc7d9c71de7ba70437c2657b4350086420474432f781b31b1b766f78" }, "downloads": -1, "filename": "num_solver-0.1.4-py2-none-any.whl", "has_sig": false, "md5_digest": "28d84ee47caef996abb3bc20b6bfb18d", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 4888, "upload_time": "2017-03-08T16:08:26", "url": "https://files.pythonhosted.org/packages/04/76/82a02224ef9d878b95b98df950ccbe4ca2d2176b6d596d75c197738b2159/num_solver-0.1.4-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3957909327586b519e58e42a8cbaf7ee", "sha256": "d342f235650be81793a96a84a8f1f2f1c437eda0f9f76062fcfa7d1dab35479b" }, "downloads": -1, "filename": "num_solver-0.1.4.tar.gz", "has_sig": false, "md5_digest": "3957909327586b519e58e42a8cbaf7ee", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3724, "upload_time": "2017-03-08T16:08:28", "url": "https://files.pythonhosted.org/packages/21/e6/74387b19ac5e52a349c5b80e73bf5c12ab75f44fbe731e0113b50b07214d/num_solver-0.1.4.tar.gz" } ], "0.1.5": [ { "comment_text": "", "digests": { "md5": "cd532d5904640766c7da49e5797b765d", "sha256": "31d4812f476533001db17afdf732f9bb60a9bba3cdecd09b0a57eb45f2047a74" }, "downloads": -1, "filename": "num_solver-0.1.5-py2-none-any.whl", "has_sig": false, "md5_digest": "cd532d5904640766c7da49e5797b765d", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 4896, "upload_time": "2017-03-08T21:39:37", "url": "https://files.pythonhosted.org/packages/65/01/f963a11c650674c8266bff8453d09b9dd564a0c3a34500af0aedde6843cb/num_solver-0.1.5-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "cc5fdffc6ef0ace22ac35eb544eb7190", "sha256": "0ac22b82cbbf8642d34d08971ba03f207a1a516df2b1242e56a71ad7ebf7ee0c" }, "downloads": -1, "filename": "num_solver-0.1.5.tar.gz", "has_sig": false, "md5_digest": "cc5fdffc6ef0ace22ac35eb544eb7190", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3741, "upload_time": "2017-03-08T21:39:39", "url": "https://files.pythonhosted.org/packages/1d/f1/20f2a6bffacac9d87f12fe180b7daacdc93a1705ef49ee936c7fd98c83b2/num_solver-0.1.5.tar.gz" } ], "0.1.6": [ { "comment_text": "", "digests": { "md5": "04032fcb3518d46784ed49a50462f864", "sha256": "e7cd3593b17ae1539f4bdb359ff4f21bdb31b6e21dfba8d533a10d60974b5562" }, "downloads": -1, "filename": "num_solver-0.1.6-py2-none-any.whl", "has_sig": false, "md5_digest": "04032fcb3518d46784ed49a50462f864", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 4910, "upload_time": "2017-03-08T21:44:24", "url": "https://files.pythonhosted.org/packages/f4/2a/2fb1d33ff06688f501b26880261d9adfabc2455b5dea0be1f351b251a0d4/num_solver-0.1.6-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a25708465e345b8b2bfa45097fce1144", "sha256": "5eb1d7c442128537956a45e75239fab78aab48a51b9e14a967cfcfd5374d0221" }, "downloads": -1, "filename": "num_solver-0.1.6.tar.gz", "has_sig": false, "md5_digest": "a25708465e345b8b2bfa45097fce1144", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3779, "upload_time": "2017-03-08T21:44:25", "url": "https://files.pythonhosted.org/packages/4e/a9/9faf93fed2ab823bf40897a1a00cc8c21fc149f598149a0f9512393fec46/num_solver-0.1.6.tar.gz" } ], "0.1.7": [ { "comment_text": "", "digests": { "md5": "cb8aa1b6ac1f31fcea7e173edf511612", "sha256": "082bc2770378db5805a34be40b66c2a9b129fe5859bdc38bdcbc6ce2fc518b0d" }, "downloads": -1, "filename": "num_solver-0.1.7-py2-none-any.whl", "has_sig": false, "md5_digest": "cb8aa1b6ac1f31fcea7e173edf511612", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 5340, "upload_time": "2017-05-08T17:04:41", "url": "https://files.pythonhosted.org/packages/b5/98/0e3a474f86ac65a3a5b0d03ee0ce0c3bcfbbfc840713c7a4149f7709d615/num_solver-0.1.7-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "14b834e85b142640c292f90c5f5ca17b", "sha256": "f59aa5c0367aee5c46ea12d3fa308297f3b05e3ce53158c56f490da6404e04dc" }, "downloads": -1, "filename": "num_solver-0.1.7.tar.gz", "has_sig": false, "md5_digest": "14b834e85b142640c292f90c5f5ca17b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3966, "upload_time": "2017-05-08T17:04:45", "url": "https://files.pythonhosted.org/packages/b9/ce/07c9f6ed85dbb0dedee13a81380bfe64bfaf7612b03189b16d223a57ed24/num_solver-0.1.7.tar.gz" } ], "0.1.8": [ { "comment_text": "", "digests": { "md5": "b6658936ea19528289113ba27cac90f6", "sha256": "19f5313bdd7233d1cfd3caca4fb1981fd682a2e1331c5ef9b0ac690663976008" }, "downloads": -1, "filename": "num_solver-0.1.8-py2-none-any.whl", "has_sig": false, "md5_digest": "b6658936ea19528289113ba27cac90f6", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 5347, "upload_time": "2017-05-08T17:08:08", "url": "https://files.pythonhosted.org/packages/6b/71/f8510faa505f8d40c583e552b19597ea4120e55ea6268b5812927d20205a/num_solver-0.1.8-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c86c6be80f46eab725f70af5b1914a92", "sha256": "3746a45367f0ec75888f39ef345e95d5084c902c767b1d0ce116832b056dcba7" }, "downloads": -1, "filename": "num_solver-0.1.8.tar.gz", "has_sig": false, "md5_digest": "c86c6be80f46eab725f70af5b1914a92", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3979, "upload_time": "2017-05-08T17:08:09", "url": "https://files.pythonhosted.org/packages/b3/92/96e32f1b0eeb089b5a401ccbbb54fe36cf1c93aa53e004da506bb51a98fd/num_solver-0.1.8.tar.gz" } ], "0.1.9": [ { "comment_text": "", "digests": { "md5": "9da0842b717136fc106c069a773c9c86", "sha256": "de7ab469c37f64f103031a0fdbc855d98c7133513427c48ddcb39e4b0e68a97a" }, "downloads": -1, "filename": "num_solver-0.1.9-py2-none-any.whl", "has_sig": false, "md5_digest": "9da0842b717136fc106c069a773c9c86", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 6196, "upload_time": "2017-06-16T18:05:35", "url": "https://files.pythonhosted.org/packages/0c/b9/62aad705032ba678b1daac4360a42b704538dcebc58e036d3d76bff2d390/num_solver-0.1.9-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2283a4080d098797be14d49cf272232c", "sha256": "4157b9118ea8868b6451b4e7932cf3a058c6cfeb1e15bc72e2b997cd105c11b4" }, "downloads": -1, "filename": "num_solver-0.1.9.tar.gz", "has_sig": false, "md5_digest": "2283a4080d098797be14d49cf272232c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4890, "upload_time": "2017-06-16T18:05:36", "url": "https://files.pythonhosted.org/packages/5e/58/5fb1dcf09b908bfd48ecb9ac79e25fff2d3a1530f74acbc875f328c91cb9/num_solver-0.1.9.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "9da0842b717136fc106c069a773c9c86", "sha256": "de7ab469c37f64f103031a0fdbc855d98c7133513427c48ddcb39e4b0e68a97a" }, "downloads": -1, "filename": "num_solver-0.1.9-py2-none-any.whl", "has_sig": false, "md5_digest": "9da0842b717136fc106c069a773c9c86", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 6196, "upload_time": "2017-06-16T18:05:35", "url": "https://files.pythonhosted.org/packages/0c/b9/62aad705032ba678b1daac4360a42b704538dcebc58e036d3d76bff2d390/num_solver-0.1.9-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2283a4080d098797be14d49cf272232c", "sha256": "4157b9118ea8868b6451b4e7932cf3a058c6cfeb1e15bc72e2b997cd105c11b4" }, "downloads": -1, "filename": "num_solver-0.1.9.tar.gz", "has_sig": false, "md5_digest": "2283a4080d098797be14d49cf272232c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4890, "upload_time": "2017-06-16T18:05:36", "url": "https://files.pythonhosted.org/packages/5e/58/5fb1dcf09b908bfd48ecb9ac79e25fff2d3a1530f74acbc875f328c91cb9/num_solver-0.1.9.tar.gz" } ] }