gpcg


Namegpcg JSON
Version 0.0.1 PyPI version JSON
download
home_page
SummaryAn implementation of a conjugate gradient algorithm (GPCG) for solving bound-constrained quadratic programs.
upload_time2023-07-12 05:17:52
maintainer
docs_urlNone
author
requires_python>=3.7
license
keywords quadratic programming conjugate gradient bound constraints
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # gradient-projected-conjugate-gradient

This repository provides a Python implementation of the gradient projected conjugate gradient algorithm (GPCG) presented in [[1]](#1) for solving bound-constrained quadratic programs of the form
```math
\text{argmin}_{ x_i \in [l_i, u_i] \text{ for } i = 1, \ldots, n } \,\, \frac{1}{2} x^T A x - b^T x
```
where $b \in \mathbb{R}^n$ and $A \in \mathbb{R}^{n \times n}$ is a SPD matrix. Here the $l_i$ and/or $u_i$ may be infinite, e.g., we can solve quadratic programs with nonnegativity constraints.

This implementation is still experimental. Install with ``pip install -e .`` or ``python setup.py``.

## References
<a id="1">[1]</a> 
Moré, J., & Toraldo, G. (1991). On the Solution of Large Quadratic Programming Problems with Bound Constraints. SIAM Journal on Optimization, 1(1), 93-113.




            

Raw data

            {
    "_id": null,
    "home_page": "",
    "name": "gpcg",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.7",
    "maintainer_email": "",
    "keywords": "quadratic programming,conjugate gradient,bound constraints",
    "author": "",
    "author_email": "Jonathan Lindbloom <jonathan@lindbloom.com>",
    "download_url": "https://files.pythonhosted.org/packages/5e/22/138648423d7449819395934f76f42bc23b8810b5a4774b6adafdd1e2dedb/gpcg-0.0.1.tar.gz",
    "platform": null,
    "description": "# gradient-projected-conjugate-gradient\n\nThis repository provides a Python implementation of the gradient projected conjugate gradient algorithm (GPCG) presented in [[1]](#1) for solving bound-constrained quadratic programs of the form\n```math\n\\text{argmin}_{ x_i \\in [l_i, u_i] \\text{ for } i = 1, \\ldots, n } \\,\\, \\frac{1}{2} x^T A x - b^T x\n```\nwhere $b \\in \\mathbb{R}^n$ and $A \\in \\mathbb{R}^{n \\times n}$ is a SPD matrix. Here the $l_i$ and/or $u_i$ may be infinite, e.g., we can solve quadratic programs with nonnegativity constraints.\n\nThis implementation is still experimental. Install with ``pip install -e .`` or ``python setup.py``.\n\n## References\n<a id=\"1\">[1]</a> \nMor\u00e9, J., & Toraldo, G. (1991). On the Solution of Large Quadratic Programming Problems with Bound Constraints. SIAM Journal on Optimization, 1(1), 93-113.\n\n\n\n",
    "bugtrack_url": null,
    "license": "",
    "summary": "An implementation of a conjugate gradient algorithm (GPCG) for solving bound-constrained quadratic programs.",
    "version": "0.0.1",
    "project_urls": {
        "Bug Tracker": "https://github.com/jlindbloom/gradient-projected-conjugate-gradient/issues",
        "Homepage": "https://github.com/jlindbloom/gradient-projected-conjugate-gradient"
    },
    "split_keywords": [
        "quadratic programming",
        "conjugate gradient",
        "bound constraints"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "5fec2dd01bf9be503e67ba640877c9a5f936910fe351e2ff7cd5a939a534d7b1",
                "md5": "0bad5cb05d3d82a538238a7efb7272ec",
                "sha256": "4c55648dc0c631000e2dd0a733f74c929dbd3d67dcd4a1210113b818725bc768"
            },
            "downloads": -1,
            "filename": "gpcg-0.0.1-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "0bad5cb05d3d82a538238a7efb7272ec",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.7",
            "size": 9308,
            "upload_time": "2023-07-12T05:17:51",
            "upload_time_iso_8601": "2023-07-12T05:17:51.006626Z",
            "url": "https://files.pythonhosted.org/packages/5f/ec/2dd01bf9be503e67ba640877c9a5f936910fe351e2ff7cd5a939a534d7b1/gpcg-0.0.1-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "5e22138648423d7449819395934f76f42bc23b8810b5a4774b6adafdd1e2dedb",
                "md5": "5d78e2716d5da5988d66791d57d55bd0",
                "sha256": "d4c0717cc4aa4f0060569f5f62532098434210af857497a99b213deb4892ae7c"
            },
            "downloads": -1,
            "filename": "gpcg-0.0.1.tar.gz",
            "has_sig": false,
            "md5_digest": "5d78e2716d5da5988d66791d57d55bd0",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.7",
            "size": 9238,
            "upload_time": "2023-07-12T05:17:52",
            "upload_time_iso_8601": "2023-07-12T05:17:52.431622Z",
            "url": "https://files.pythonhosted.org/packages/5e/22/138648423d7449819395934f76f42bc23b8810b5a4774b6adafdd1e2dedb/gpcg-0.0.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-07-12 05:17:52",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "jlindbloom",
    "github_project": "gradient-projected-conjugate-gradient",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "requirements": [],
    "lcname": "gpcg"
}
        
Elapsed time: 0.11169s