COPP C++ API
C++ interface for COPP trajectory optimization
Loading...
Searching...
No Matches
clarabel.hpp
Go to the documentation of this file.
1#pragma once
2
3#include <cstddef>
4#include <cstdint>
5
6#include "copp/core.hpp"
7
8namespace copp::clarabel
9{
10 namespace detail
11 {
12 struct NoInitTag
13 {
14 explicit constexpr NoInitTag() = default;
15 };
16
17 inline constexpr NoInitTag no_init{};
18 } // namespace detail
19
22 {
23 Auto = 0,
24 Qdldl = 1,
25 Faer = 2,
26 Mkl = 3,
27 Panua = 4,
28 };
29
46
49 {
51 std::size_t threads = 0;
52 bool direct = false;
53 std::size_t nnz_a = 0;
54 std::size_t nnz_l = 0;
55 };
56
111
132
133} // namespace copp::clarabel
#define COPP_API
Definition core.hpp:23
Internal construction tags used to fetch Rust-side Clarabel defaults without double-initializing nest...
constexpr NoInitTag no_init
Definition clarabel.hpp:17
Clarabel option, raw setting, status, and linear-solver diagnostic types shared by Clarabel-backed TO...
DirectSolveMethod
Direct linear solver method forwarded to Clarabel.
Definition clarabel.hpp:22
SolverStatus
Clarabel termination status reported by expert SOCP results.
Definition clarabel.hpp:32
Verbosity
Diagnostic verbosity for solver algorithms.
Definition core.hpp:47
Linear solver metadata captured from Clarabel after a solve.
Definition clarabel.hpp:49
Options(detail::NoInitTag) noexcept
Definition clarabel.hpp:119
static Options defaults()
Return COPP's current Rust-side default options.
Advanced raw Clarabel settings.
Definition clarabel.hpp:64
static Settings defaults()
Return COPP's current Rust-side Clarabel defaults.
std::uint32_t max_iter
Definition clarabel.hpp:71
DirectSolveMethod direct_solve_method
Definition clarabel.hpp:96
double iterative_refinement_stop_ratio
Definition clarabel.hpp:107
std::uint32_t iterative_refinement_max_iter
Definition clarabel.hpp:106
std::uint32_t equilibrate_max_iter
Definition clarabel.hpp:88
std::uint32_t max_threads
Definition clarabel.hpp:94
Settings(detail::NoInitTag) noexcept
Definition clarabel.hpp:66
double static_regularization_proportional
Definition clarabel.hpp:99
double static_regularization_constant
Definition clarabel.hpp:98