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 and 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 Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

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

clarabel-0.5.0-cp37-abi3-win_amd64.whl (331.3 kB view details)

Uploaded CPython 3.7+Windows x86-64

clarabel-0.5.0-cp37-abi3-win32.whl (307.6 kB view details)

Uploaded CPython 3.7+Windows x86

clarabel-0.5.0-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.3 MB view details)

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

clarabel-0.5.0-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.3 MB view details)

Uploaded CPython 3.7+manylinux: glibc 2.17+ ARM64

clarabel-0.5.0-cp37-abi3-manylinux_2_5_i686.manylinux1_i686.whl (1.3 MB view details)

Uploaded CPython 3.7+manylinux: glibc 2.5+ i686

clarabel-0.5.0-cp37-abi3-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl (921.0 kB view details)

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

clarabel-0.5.0-cp37-abi3-macosx_10_7_x86_64.whl (473.9 kB view details)

Uploaded CPython 3.7+macOS 10.7+ x86-64

File details

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

File metadata

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

File hashes

Hashes for clarabel-0.5.0-cp37-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 84e6ddcc0d3c829568f4c7311aafa0d5c295af2cbd1b9a85afbfa18eff84bd1e
MD5 000eec6e30780ac7a9cb68b05d737034
BLAKE2b-256 89f170b536984898d323b867b33d480f0946a06ebffd3b32c0e524e197a0c58f

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for clarabel-0.5.0-cp37-abi3-win32.whl
Algorithm Hash digest
SHA256 42e38f32fdb9d0f5e58cd94d93d5c49a6249087ef1c8fe1c4f12eea5ada6a12a
MD5 e2810a15bf9a53ee11785d9b82fcd164
BLAKE2b-256 fdac8c30d7f7fffd416ed5c8e7f96eb4bea1f6a7fa12b30e7fbf182e8ee8cc5d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for clarabel-0.5.0-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 38e49b949cd99de03376958339c61bd5cd9f036a63a0690294fa5d0bf9cd13f9
MD5 05cafbd9323dee50626b1909104c143f
BLAKE2b-256 bd2557486d424d4d806207c18d67ec8b60d24cd4560180f6e4e5f88e46734c49

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for clarabel-0.5.0-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 7d107b5aaaff7c3c853208077dd2b6aa4501e374e47723ce6955212f08ccef00
MD5 e42dd81026639afe16dfef362235597a
BLAKE2b-256 75a4145b309ae9e99dff005dc0a3b522046d19cd9ac3b8029023bc79f6f2c68b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for clarabel-0.5.0-cp37-abi3-manylinux_2_5_i686.manylinux1_i686.whl
Algorithm Hash digest
SHA256 4a9bfc72699c3a511cddfdc189201fa7af0c9e3a6e807085a6aebcd1a990a599
MD5 18a2516d4c70ef9609acbaec06eb5c2c
BLAKE2b-256 2962700acdc3d005500a04d607829687b9e41f2485e1e08cac16f0b9d3233819

See more details on using hashes here.

File details

Details for the file clarabel-0.5.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.5.0-cp37-abi3-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 2b3dfe54a9ac90483e0c683f194b01b089c1ad275f4163799cd16ddc439e5a00
MD5 bea0a8eecb290ba268f7513d2e3ecc83
BLAKE2b-256 5593f1325863a9965e8d95f6b21b2e850d3a0a5ebc1a5e7c9ab59c9692b18990

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for clarabel-0.5.0-cp37-abi3-macosx_10_7_x86_64.whl
Algorithm Hash digest
SHA256 3b3faca8a035a6f50c39170cad6239b8452e7e8c743135a53e44768a2cc9ed3b
MD5 dd7dafabee35799158347e46d24a765e
BLAKE2b-256 8cab52bb17aaf7fe8e825ced175542a28384a3fc0b9502a86dfa74fe95b38eae

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