Skip to main content

Clarabel Conic Interior Point Solver for Rust / Python

Project description


Interior Point Conic Optimization for Rust and Python

FeaturesInstallationLicenseDocumentation

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 | dev).

Clarabel is also available in a Julia implementation. See here.

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 and distributed under the Apache 2.0 License

Installation

Clarabel can be imported to Cargo based Rust projects by adding

[dependencies]
clarabel = "0"  

to the project's Cargo.toml file. To install from source, see the Rust Installation Documentation.

To use the Python interface to the solver:

pip install clarabel

To install the Python interface from source, see the Python Installation Documentation.

License 🔍

This project is licensed under the Apache License 2.0 - see the LICENSE.md file for details.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

clarabel-0.6.0.tar.gz (141.5 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

clarabel-0.6.0-cp37-abi3-win_amd64.whl (355.1 kB view details)

Uploaded CPython 3.7+Windows x86-64

clarabel-0.6.0-cp37-abi3-win32.whl (324.5 kB view details)

Uploaded CPython 3.7+Windows x86

clarabel-0.6.0-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.4 MB view details)

Uploaded CPython 3.7+manylinux: glibc 2.17+ x86-64

clarabel-0.6.0-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.4 MB view details)

Uploaded CPython 3.7+manylinux: glibc 2.17+ ARM64

clarabel-0.6.0-cp37-abi3-manylinux_2_5_i686.manylinux1_i686.whl (1.4 MB view details)

Uploaded CPython 3.7+manylinux: glibc 2.5+ i686

clarabel-0.6.0-cp37-abi3-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl (987.4 kB view details)

Uploaded CPython 3.7+macOS 10.9+ universal2 (ARM64, x86-64)macOS 10.9+ x86-64macOS 11.0+ ARM64

clarabel-0.6.0-cp37-abi3-macosx_10_7_x86_64.whl (506.4 kB view details)

Uploaded CPython 3.7+macOS 10.7+ x86-64

File details

Details for the file clarabel-0.6.0.tar.gz.

File metadata

  • Download URL: clarabel-0.6.0.tar.gz
  • Upload date:
  • Size: 141.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.7.17

File hashes

Hashes for clarabel-0.6.0.tar.gz
Algorithm Hash digest
SHA256 ef909a393e72981ca10b1d866d9cc7fb6295ece20ae035def764338894961184
MD5 533c5c435cfb11a049a4efbfb1bc9c07
BLAKE2b-256 6052afe66ba4b0c39ce3dc5d06e1b267a0d7dd9fbfc03e8e797bd0f06fd2c1b5

See more details on using hashes here.

File details

Details for the file clarabel-0.6.0-cp37-abi3-win_amd64.whl.

File metadata

  • Download URL: clarabel-0.6.0-cp37-abi3-win_amd64.whl
  • Upload date:
  • Size: 355.1 kB
  • Tags: CPython 3.7+, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.7.17

File hashes

Hashes for clarabel-0.6.0-cp37-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 5a6be4df9fed98b6f73f034836def913a1ecd52e8b79ca230ddf7cd66ebcdee7
MD5 e7c591e75a9e25606d07a5a99947db50
BLAKE2b-256 a86b0f04f31c1528ab1f6bbc9e6ff83d019386941db4c9e0a7ddd7d16f5a85d2

See more details on using hashes here.

File details

Details for the file clarabel-0.6.0-cp37-abi3-win32.whl.

File metadata

  • Download URL: clarabel-0.6.0-cp37-abi3-win32.whl
  • Upload date:
  • Size: 324.5 kB
  • Tags: CPython 3.7+, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.7.17

File hashes

Hashes for clarabel-0.6.0-cp37-abi3-win32.whl
Algorithm Hash digest
SHA256 73ed408c975a8ea021c3d8262d5d023a18e1ac3f6bb59a37cd69a11dba8f86ed
MD5 c262d42f85f4e3554646a461bd925f1a
BLAKE2b-256 3725d3e9b6c9b936a7a80c93e44fd305ff1ef809791cc69e70a217b3167f384b

See more details on using hashes here.

File details

Details for the file clarabel-0.6.0-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for clarabel-0.6.0-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 2e0b1891d8e507eb0bfc7e0b981584c388b2ab28658056e600997dbbc23f1ab4
MD5 cd621f96071e429fce393dd73f96e73e
BLAKE2b-256 8c9b3bfc692407c6a5b3975e5075e3b7f16f4e3a9a6c72191d342a1232476d95

See more details on using hashes here.

File details

Details for the file clarabel-0.6.0-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for clarabel-0.6.0-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 e737d2818b9ca10e92ccd3fa9ad1a805b039976016415a0c45adef3427d70792
MD5 2d8aa1e9ac10b9049ad313dceb4096fc
BLAKE2b-256 1b3f6bf52b121b2009f1ad4470174cf189022fe31991cb732eff96a4a9338d91

See more details on using hashes here.

File details

Details for the file clarabel-0.6.0-cp37-abi3-manylinux_2_5_i686.manylinux1_i686.whl.

File metadata

File hashes

Hashes for clarabel-0.6.0-cp37-abi3-manylinux_2_5_i686.manylinux1_i686.whl
Algorithm Hash digest
SHA256 9946d3b5db346421b6d839d868e7b1151b590f871344fe95113bfd55b5be2433
MD5 6e66f5657c44d7d0ceb22e9d8aeec779
BLAKE2b-256 eebdab3e4461ede415ae8949e79e42c30dccec0c3b13e20eaf1530892c6b8de3

See more details on using hashes here.

File details

Details for the file clarabel-0.6.0-cp37-abi3-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for clarabel-0.6.0-cp37-abi3-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 edcebbfc14073cd32bfb664317fd2555716c96be8b2a54efdb2b728453582bea
MD5 555207f06d0437092570eb2de44218ba
BLAKE2b-256 551e16864d79381d95d5c1eea427295b8d927c7964f1b5a388ad8c3d5b75ab3a

See more details on using hashes here.

File details

Details for the file clarabel-0.6.0-cp37-abi3-macosx_10_7_x86_64.whl.

File metadata

File hashes

Hashes for clarabel-0.6.0-cp37-abi3-macosx_10_7_x86_64.whl
Algorithm Hash digest
SHA256 4f366de79b8bc66bef8dc170987840b672ccab9222e710c09536d78ef47f606d
MD5 bf906bd13b380bcc43583b07d7c8f041
BLAKE2b-256 a30042ae6e59d821f437572cc5c4358075641e723a29f9c0fb9cc476946d2bee

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page