63 double a_linearization_floor = 1.0e-10);
70 std::size_t symmetric_num_stationary_max,
74 const std::vector<double> &
a_linearization() const noexcept {
return a_linearization_; }
75 std::size_t
idx_s_start() const noexcept {
return idx_s_start_; }
76 std::size_t
idx_s_final() const noexcept {
return idx_s_final_; }
81 std::size_t
s_len() const noexcept {
return a_linearization_.size(); }
85 std::vector<double> a_linearization_;
86 std::size_t idx_s_start_ = 0;
87 std::size_t idx_s_final_ = 0;
91 double a_linearization_floor_ = 1.0e-10;
107 std::vector<double>
x;
108 std::vector<double>
z;
109 std::vector<double>
s;
Non-owning view of a Rust-backed constraint buffer.
Non-owning view of a contiguous one-dimensional array.
double a_linearization_floor() const noexcept
std::size_t idx_s_start() const noexcept
Boundary3 boundary() const noexcept
Problem(ConstraintsRef constraints, Span< const double > a_linearization, std::size_t idx_s_start=0, Boundary3 boundary={}, StationaryBounds num_stationary_max={}, double a_linearization_floor=1.0e-10)
Prepare a third-order problem and immediately linearize constraints.
Problem(ConstraintsRef constraints, Span< const double > a_linearization, std::size_t idx_s_start, Boundary3 boundary, std::size_t symmetric_num_stationary_max, double a_linearization_floor=1.0e-10)
StationaryBounds num_stationary_max() const noexcept
std::size_t s_len() const noexcept
const std::vector< double > & a_linearization() const noexcept
StationaryBounds num_stationary() const noexcept
std::size_t idx_s_final() const noexcept
ConstraintsRef constraints() const noexcept
SolverStatus
Clarabel termination status reported by expert SOCP results.
Shared third-order problem, boundary, stationary-bound, and expert result types used by TOPP3-LP,...
Third-order endpoint boundary values.
Linear solver metadata captured from Clarabel after a solve.
Expert third-order Clarabel result.
std::vector< double > objective_terms
bool has_profile() const noexcept
std::optional< Profile3rd > profile
std::optional< double > objective_value
clarabel::LinearSolverInfo linsolver
clarabel::SolverStatus solver_status
User-supplied upper bound for stationary boundary intervals.
static constexpr StationaryBounds both(std::size_t value) noexcept