Clarabel is an interior point numerical solver for convex optimization problems using a novel homogeneous embedding. The Clarabel package 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.

Clarabel is available in either a native Julia or a native Rust implementation. Additional language interfaces (Python, C/C++ and R) are available for the Rust version.

## Features

• Versatile: Clarabel 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) model, Clarabel handles quadratic objective without requiring any epigraphical reformulation of its objective function. It can therefore be significantly faster than other HSDE-based solvers for problems with quadratic objective functions.
• Infeasibility detection: Infeasible problems are detected using using a homogeneous embedding technique.
• Arbitrary precision types: You can solve problems with any floating point precision, e.g. Float32 or Julia's BigFloat type in Julia and f32 or f64 types in Rust.
• Open Source: Our code is available on GitHub and distributed under the Apache 2.0 License. The Julia implementation is here. The Rust implementation and Python interface is here.

## Credits

The following people are involved in the development of Clarabel:

• Paul Goulart (main development, maths and algorithms)
• Yuwen Chen (maths and algorithms)

All contributors are affiliated with the Control Group of the Department of Engineering Science at the University of Oxford.