Installation

Using Cargo

Clarabel.rs is available through the Rust registry at crates.io and can be imported directly as a dependency in your project. Just add

[dependencies]
clarabel = "0"  

in your project's Cargo.toml file to obtain the latest version.

Direct from source

You can also download and build the repository directly from Github:

git clone https://github.com/oxfordcontrol/Clarabel.rs
cd Clarabel.rs
cargo build --release

To check that your installation worked, you can run

cargo run --example qp

Optional build features

The solver comes with several optional build features that are not enabled by default. Build features that are intended for users include :

featuredescription
serdeenables read/write of problem instances to .json files (enabled by default)
faer-sparseenables "faer" as an optional direct_solve_method
pardiso-mklenables "mkl" as an optional direct_solve_method (intel only)
pardiso-panuaenabled "panua" as an optional direct_solve_method) (requires separate license)
pardisoenables both the "mkl" and "panua" options
sdp-accelerateenables solution of SDPs using Apple's "accelerate" BLAS/LAPACK implementation (OSX only)
sdp-mklenables solution of SDPs using Intel's BLAS/LAPACK implementation (OSX only)
sdp-openblasenables solution of SDPs using OpenBlas
sdp-netlibenables solution of SDPs using the Netlib reference BLAS/LAPACK (not recommended)
buildinfoadds a buildinfo function to the package that reports on the build configuration