clarabel


Nameclarabel JSON
Version 0.7.1 PyPI version JSON
download
home_page
SummaryClarabel Conic Interior Point Solver for Rust / Python
upload_time2024-03-01 23:17:13
maintainer
docs_urlNone
authorPaul Goulart <paul.goulart@eng.ox.ac.uk>
requires_python>=3.7
licenseApache-2.0
keywords convex optimization conic solver linear-programming
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            <p align="center">
<picture>
  <source media="(prefers-color-scheme: dark)" srcset="https://github.com/oxfordcontrol/ClarabelDocs/blob/main/docs/src/assets/logo-banner-dark-rs.png" width=60%>
  <source media="(prefers-color-scheme: light)" srcset="https://github.com/oxfordcontrol/ClarabelDocs/blob/main/docs/src/assets/logo-banner-light-rs.png" width=60%>
  <img alt="Clarabel.jl logo" src="https://github.com/oxfordcontrol/ClarabelDocs/blob/main/docs/src/assets/logo-banner-light-rs.png" height="25">
</picture>
<h1 align="center" margin=0px>
Interior Point Conic Optimization for Rust and Python
</h1>
<p align="center">
   <a href="https://github.com/oxfordcontrol/Clarabel.rs/actions"><img src="https://github.com/oxfordcontrol/Clarabel.rs/workflows/ci/badge.svg?branch=main"></a>
  <a href="https://codecov.io/gh/oxfordcontrol/Clarabel.rs"><img src="https://codecov.io/gh/oxfordcontrol/Clarabel.rs/branch/main/graph/badge.svg"></a>
  <a href="https://oxfordcontrol.github.io/ClarabelDocs/stable"><img src="https://img.shields.io/badge/Documentation-stable-purple.svg"></a>
  <a href="https://opensource.org/licenses/Apache-2.0"><img src="https://img.shields.io/badge/License-Apache%202.0-blue.svg"></a>
  <a href="https://github.com/oxfordcontrol/Clarabel.rs/releases"><img src="https://img.shields.io/badge/Release-v0.7.1-blue.svg"></a>
</p>

<p align="center">
  <a href="#features">Features</a> •
  <a href="#installation">Installation</a> •
  <a href="#license-">License</a> •
  <a href="https://oxfordcontrol.github.io/ClarabelDocs/stable">Documentation</a>
</p>

__Clarabel.rs__ is a Rust implementation of an interior point numerical solver for convex optimization problems using a novel homogeneous embedding.  Clarabel.rs solves the following problem:

$$
\begin{array}{r}
\text{minimize} & \frac{1}{2}x^T P x + q^T x\\\\[2ex]
 \text{subject to} & Ax + s = b \\\\[1ex]
        & s \in \mathcal{K}
 \end{array}
$$

with decision variables
$x \in \mathbb{R}^n$,
$s \in \mathbb{R}^m$
and data matrices
$P=P^\top \succeq 0$,
$q \in \mathbb{R}^n$,
$A \in \mathbb{R}^{m \times n}$, and
$b \in \mathbb{R}^m$.
The convex set $\mathcal{K}$ is a composition of convex cones.

__For more information see the Clarabel Documentation ([stable](https://oxfordcontrol.github.io/ClarabelDocs/stable) |  [dev](https://oxfordcontrol.github.io/ClarabelDocs/dev)).__

Clarabel is also available in a Julia implementation.  See [here](https://github.com/oxfordcontrol/Clarabel.jl).
 

## Features

* __Versatile__: Clarabel.rs solves linear programs (LPs), quadratic programs (QPs), second-order cone programs (SOCPs) and semidefinite programs (SDPs). It also solves problems with exponential, power cone and generalized power cone constraints.
* __Quadratic objectives__: Unlike interior point solvers based on the standard homogeneous self-dual embedding (HSDE), Clarabel.rs handles quadratic objectives without requiring any epigraphical reformulation of the objective.   It can therefore be significantly faster than other HSDE-based solvers for problems with quadratic objective functions.
* __Infeasibility detection__: Infeasible problems are detected using a homogeneous embedding technique.
* __Open Source__: Our code is available on [GitHub](https://github.com/oxfordcontrol/Clarabel.rs) and distributed under the Apache 2.0 License

# Installation

Clarabel can be imported to Cargo based Rust projects by adding
```rust
[dependencies]
clarabel = "0"  
```
to the project's `Cargo.toml` file.   To install from source, see the [Rust Installation Documentation](https://oxfordcontrol.github.io/ClarabelDocs/stable/rust/installation_rs/).

To use the Python interface to the solver:
```
pip install clarabel
```

To install the Python interface from source, see the [Python Installation Documentation](https://oxfordcontrol.github.io/ClarabelDocs/stable/python/installation_py/).

## License 🔍
This project is licensed under the Apache License 2.0 - see the [LICENSE.md](LICENSE.md) file for details.


            

Raw data

            {
    "_id": null,
    "home_page": "",
    "name": "clarabel",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.7",
    "maintainer_email": "",
    "keywords": "convex,optimization,conic,solver,linear-programming",
    "author": "Paul Goulart <paul.goulart@eng.ox.ac.uk>",
    "author_email": "Paul Goulart <paul.goulart@eng.ox.ac.uk>",
    "download_url": "https://files.pythonhosted.org/packages/a2/1b/571478ec8a425cce3736eb51de8db45a9ea6a6a5c8be4705711306a6baea/clarabel-0.7.1.tar.gz",
    "platform": null,
    "description": "<p align=\"center\">\n<picture>\n  <source media=\"(prefers-color-scheme: dark)\" srcset=\"https://github.com/oxfordcontrol/ClarabelDocs/blob/main/docs/src/assets/logo-banner-dark-rs.png\" width=60%>\n  <source media=\"(prefers-color-scheme: light)\" srcset=\"https://github.com/oxfordcontrol/ClarabelDocs/blob/main/docs/src/assets/logo-banner-light-rs.png\" width=60%>\n  <img alt=\"Clarabel.jl logo\" src=\"https://github.com/oxfordcontrol/ClarabelDocs/blob/main/docs/src/assets/logo-banner-light-rs.png\" height=\"25\">\n</picture>\n<h1 align=\"center\" margin=0px>\nInterior Point Conic Optimization for Rust and Python\n</h1>\n<p align=\"center\">\n   <a href=\"https://github.com/oxfordcontrol/Clarabel.rs/actions\"><img src=\"https://github.com/oxfordcontrol/Clarabel.rs/workflows/ci/badge.svg?branch=main\"></a>\n  <a href=\"https://codecov.io/gh/oxfordcontrol/Clarabel.rs\"><img src=\"https://codecov.io/gh/oxfordcontrol/Clarabel.rs/branch/main/graph/badge.svg\"></a>\n  <a href=\"https://oxfordcontrol.github.io/ClarabelDocs/stable\"><img src=\"https://img.shields.io/badge/Documentation-stable-purple.svg\"></a>\n  <a href=\"https://opensource.org/licenses/Apache-2.0\"><img src=\"https://img.shields.io/badge/License-Apache%202.0-blue.svg\"></a>\n  <a href=\"https://github.com/oxfordcontrol/Clarabel.rs/releases\"><img src=\"https://img.shields.io/badge/Release-v0.7.1-blue.svg\"></a>\n</p>\n\n<p align=\"center\">\n  <a href=\"#features\">Features</a> \u2022\n  <a href=\"#installation\">Installation</a> \u2022\n  <a href=\"#license-\">License</a> \u2022\n  <a href=\"https://oxfordcontrol.github.io/ClarabelDocs/stable\">Documentation</a>\n</p>\n\n__Clarabel.rs__ is a Rust implementation of an interior point numerical solver for convex optimization problems using a novel homogeneous embedding.  Clarabel.rs solves the following problem:\n\n$$\n\\begin{array}{r}\n\\text{minimize} & \\frac{1}{2}x^T P x + q^T x\\\\\\\\[2ex]\n \\text{subject to} & Ax + s = b \\\\\\\\[1ex]\n        & s \\in \\mathcal{K}\n \\end{array}\n$$\n\nwith decision variables\n$x \\in \\mathbb{R}^n$,\n$s \\in \\mathbb{R}^m$\nand data matrices\n$P=P^\\top \\succeq 0$,\n$q \\in \\mathbb{R}^n$,\n$A \\in \\mathbb{R}^{m \\times n}$, and\n$b \\in \\mathbb{R}^m$.\nThe convex set $\\mathcal{K}$ is a composition of convex cones.\n\n__For more information see the Clarabel Documentation ([stable](https://oxfordcontrol.github.io/ClarabelDocs/stable) |  [dev](https://oxfordcontrol.github.io/ClarabelDocs/dev)).__\n\nClarabel is also available in a Julia implementation.  See [here](https://github.com/oxfordcontrol/Clarabel.jl).\n \n\n## Features\n\n* __Versatile__: Clarabel.rs solves linear programs (LPs), quadratic programs (QPs), second-order cone programs (SOCPs) and semidefinite programs (SDPs). It also solves problems with exponential, power cone and generalized power cone constraints.\n* __Quadratic objectives__: Unlike interior point solvers based on the standard homogeneous self-dual embedding (HSDE), Clarabel.rs handles quadratic objectives without requiring any epigraphical reformulation of the objective.   It can therefore be significantly faster than other HSDE-based solvers for problems with quadratic objective functions.\n* __Infeasibility detection__: Infeasible problems are detected using a homogeneous embedding technique.\n* __Open Source__: Our code is available on [GitHub](https://github.com/oxfordcontrol/Clarabel.rs) and distributed under the Apache 2.0 License\n\n# Installation\n\nClarabel can be imported to Cargo based Rust projects by adding\n```rust\n[dependencies]\nclarabel = \"0\"  \n```\nto the project's `Cargo.toml` file.   To install from source, see the [Rust Installation Documentation](https://oxfordcontrol.github.io/ClarabelDocs/stable/rust/installation_rs/).\n\nTo use the Python interface to the solver:\n```\npip install clarabel\n```\n\nTo install the Python interface from source, see the [Python Installation Documentation](https://oxfordcontrol.github.io/ClarabelDocs/stable/python/installation_py/).\n\n## License \ud83d\udd0d\nThis project is licensed under the Apache License 2.0 - see the [LICENSE.md](LICENSE.md) file for details.\n\n",
    "bugtrack_url": null,
    "license": "Apache-2.0",
    "summary": "Clarabel Conic Interior Point Solver for Rust / Python",
    "version": "0.7.1",
    "project_urls": {
        "Source Code": "https://github.com/oxfordcontrol/Clarabel.rs"
    },
    "split_keywords": [
        "convex",
        "optimization",
        "conic",
        "solver",
        "linear-programming"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "30e06fd507d8e6be78a1ded2c076f10c30016c137e6a5eed46336de9875d1708",
                "md5": "2e9c54c4737ba1164247d66baf18374c",
                "sha256": "32980b578842d17abe3d277df2d31a6b8bff3facf33b169c74d59b2ada10b61b"
            },
            "downloads": -1,
            "filename": "clarabel-0.7.1-cp37-abi3-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl",
            "has_sig": false,
            "md5_digest": "2e9c54c4737ba1164247d66baf18374c",
            "packagetype": "bdist_wheel",
            "python_version": "cp37",
            "requires_python": ">=3.7",
            "size": 900610,
            "upload_time": "2024-03-01T23:17:00",
            "upload_time_iso_8601": "2024-03-01T23:17:00.834838Z",
            "url": "https://files.pythonhosted.org/packages/30/e0/6fd507d8e6be78a1ded2c076f10c30016c137e6a5eed46336de9875d1708/clarabel-0.7.1-cp37-abi3-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "2c498c141961a18690d3ecc1912723c868aaef175f7c403168a2b3e00117e368",
                "md5": "4330c9db449d36a2d3a31c7c101f477c",
                "sha256": "b4d414b9db040effa186f9e048de2c7d3e38b6edcadaaa2432a52b6451ba9999"
            },
            "downloads": -1,
            "filename": "clarabel-0.7.1-cp37-abi3-macosx_10_12_x86_64.whl",
            "has_sig": false,
            "md5_digest": "4330c9db449d36a2d3a31c7c101f477c",
            "packagetype": "bdist_wheel",
            "python_version": "cp37",
            "requires_python": ">=3.7",
            "size": 456793,
            "upload_time": "2024-03-01T23:17:03",
            "upload_time_iso_8601": "2024-03-01T23:17:03.025641Z",
            "url": "https://files.pythonhosted.org/packages/2c/49/8c141961a18690d3ecc1912723c868aaef175f7c403168a2b3e00117e368/clarabel-0.7.1-cp37-abi3-macosx_10_12_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "4d9416c891a59fec55cec953b1b9efaf49d54ef9e5f08c44ec7efc47dac532bc",
                "md5": "b38d28dbb6c23675653a31de193116ee",
                "sha256": "ec0fde90a467e07010176b0bd159ab8cb11c59c8ff0a09580af1ac77d7861971"
            },
            "downloads": -1,
            "filename": "clarabel-0.7.1-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "has_sig": false,
            "md5_digest": "b38d28dbb6c23675653a31de193116ee",
            "packagetype": "bdist_wheel",
            "python_version": "cp37",
            "requires_python": ">=3.7",
            "size": 1237505,
            "upload_time": "2024-03-01T23:17:04",
            "upload_time_iso_8601": "2024-03-01T23:17:04.882508Z",
            "url": "https://files.pythonhosted.org/packages/4d/94/16c891a59fec55cec953b1b9efaf49d54ef9e5f08c44ec7efc47dac532bc/clarabel-0.7.1-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "4e7f79f346a5f9afb945325a4ed2627edd1c6f5560c70ec41d03af097326f25a",
                "md5": "8861b77b51c0e6d8764ffc35e173f3cc",
                "sha256": "754e2681eb74e7f6fc35612ae58219d76819a0bc1b67771752b6f5425f72c1f8"
            },
            "downloads": -1,
            "filename": "clarabel-0.7.1-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "8861b77b51c0e6d8764ffc35e173f3cc",
            "packagetype": "bdist_wheel",
            "python_version": "cp37",
            "requires_python": ">=3.7",
            "size": 1251706,
            "upload_time": "2024-03-01T23:17:06",
            "upload_time_iso_8601": "2024-03-01T23:17:06.865550Z",
            "url": "https://files.pythonhosted.org/packages/4e/7f/79f346a5f9afb945325a4ed2627edd1c6f5560c70ec41d03af097326f25a/clarabel-0.7.1-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "23a81ad08663e330386479d1f8cf24119bc8740bf1fd8ef963ca32dcc8260ab5",
                "md5": "a94ac38734611a4c2454683a657c0e97",
                "sha256": "33283d190f1e2a3b8559c928f0eb0d1fefc45aad334fd0566cdf5eaa94606a13"
            },
            "downloads": -1,
            "filename": "clarabel-0.7.1-cp37-abi3-manylinux_2_5_i686.manylinux1_i686.whl",
            "has_sig": false,
            "md5_digest": "a94ac38734611a4c2454683a657c0e97",
            "packagetype": "bdist_wheel",
            "python_version": "cp37",
            "requires_python": ">=3.7",
            "size": 1281596,
            "upload_time": "2024-03-01T23:17:08",
            "upload_time_iso_8601": "2024-03-01T23:17:08.686931Z",
            "url": "https://files.pythonhosted.org/packages/23/a8/1ad08663e330386479d1f8cf24119bc8740bf1fd8ef963ca32dcc8260ab5/clarabel-0.7.1-cp37-abi3-manylinux_2_5_i686.manylinux1_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "2b86a360bcbbb48b3a707e9fb28d5136ac0e5faf423e2b20526ae974e2af61d1",
                "md5": "dcb56e5c46d35275f691d7dd57ce0c6d",
                "sha256": "519f9b1daba08f909c106da8b5fd52937cfbc4ba27086c4cbd9728d168cfbc5c"
            },
            "downloads": -1,
            "filename": "clarabel-0.7.1-cp37-abi3-win32.whl",
            "has_sig": false,
            "md5_digest": "dcb56e5c46d35275f691d7dd57ce0c6d",
            "packagetype": "bdist_wheel",
            "python_version": "cp37",
            "requires_python": ">=3.7",
            "size": 304462,
            "upload_time": "2024-03-01T23:17:10",
            "upload_time_iso_8601": "2024-03-01T23:17:10.657318Z",
            "url": "https://files.pythonhosted.org/packages/2b/86/a360bcbbb48b3a707e9fb28d5136ac0e5faf423e2b20526ae974e2af61d1/clarabel-0.7.1-cp37-abi3-win32.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "3fcefd1b75023d321164d2bf9fa4cc5e78d9057e4f2366baac275e830507a846",
                "md5": "93b309fc903d681f1b170ce4fb7fa944",
                "sha256": "33faf5a02465eb5f7f7380d892ce3cf1d293a3efefcea18d637c618f012f5f36"
            },
            "downloads": -1,
            "filename": "clarabel-0.7.1-cp37-abi3-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "93b309fc903d681f1b170ce4fb7fa944",
            "packagetype": "bdist_wheel",
            "python_version": "cp37",
            "requires_python": ">=3.7",
            "size": 321454,
            "upload_time": "2024-03-01T23:17:11",
            "upload_time_iso_8601": "2024-03-01T23:17:11.823970Z",
            "url": "https://files.pythonhosted.org/packages/3f/ce/fd1b75023d321164d2bf9fa4cc5e78d9057e4f2366baac275e830507a846/clarabel-0.7.1-cp37-abi3-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "a21b571478ec8a425cce3736eb51de8db45a9ea6a6a5c8be4705711306a6baea",
                "md5": "b3d8d147f64f27a267c0cf5d93ccb768",
                "sha256": "a30ab135f475c5bc78329fd7df575291155e6055bcaf02124eb610b8ad176396"
            },
            "downloads": -1,
            "filename": "clarabel-0.7.1.tar.gz",
            "has_sig": false,
            "md5_digest": "b3d8d147f64f27a267c0cf5d93ccb768",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.7",
            "size": 147943,
            "upload_time": "2024-03-01T23:17:13",
            "upload_time_iso_8601": "2024-03-01T23:17:13.364573Z",
            "url": "https://files.pythonhosted.org/packages/a2/1b/571478ec8a425cce3736eb51de8db45a9ea6a6a5c8be4705711306a6baea/clarabel-0.7.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-03-01 23:17:13",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "oxfordcontrol",
    "github_project": "Clarabel.rs",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "clarabel"
}
        
Elapsed time: 0.40230s