COPP C ABI
C interface for COPP trajectory optimization
Loading...
Searching...
No Matches
Copp3SocpResult Struct Reference

Compact COPP3-SOCP expert result returned to C. More...

#include <copp3.h>

Data Fields

bool has_profile
 Whether profile contains an accepted third-order profile.
struct CoppProfile3rd profile
 Accepted third-order profile, or an empty profile when has_profile == false.
struct CoppVecF64 x
 Raw Clarabel primal solution vector.
struct CoppVecF64 z
 Raw Clarabel dual solution vector.
struct CoppVecF64 s
 Raw Clarabel primal-cone slack vector.
enum CoppClarabelSolverStatus solver_status
 Final Clarabel solver status.
double obj_val
 Primal objective value reported by Clarabel.
double obj_val_dual
 Dual objective value reported by Clarabel.
double solve_time
 Clarabel solve time in seconds.
uint32_t iterations
 Number of interior-point iterations.
double r_prim
 Primal residual reported by Clarabel.
double r_dual
 Dual residual reported by Clarabel.
struct CoppClarabelLinearSolverInfo linsolver
 Linear solver metadata reported by Clarabel.
double objective_value
 Weighted COPP objective value computed from accepted profile; NaN otherwise.
struct CoppVecF64 objective_terms
 Per-objective unweighted values computed from accepted profile.

Detailed Description

Compact COPP3-SOCP expert result returned to C.

Forward declaration for expert TOPP3-SOCP diagnostics.

has_profile is true only when the Clarabel status is accepted by CoppClarabelOptions. When true, profile owns COPP-allocated a and b vectors and the whole result must be released with copp3_socp_result_free. When false, profile is empty and diagnostics still describe the Clarabel run.

Include copp/copp3.h when the full Copp3SocpResult definition or copp3_socp_result_free is needed.

Definition at line 40 of file copp3.h.

Field Documentation

◆ has_profile

bool Copp3SocpResult::has_profile

Whether profile contains an accepted third-order profile.

Definition at line 44 of file copp3.h.

◆ profile

struct CoppProfile3rd Copp3SocpResult::profile

Accepted third-order profile, or an empty profile when has_profile == false.

Definition at line 49 of file copp3.h.

◆ x

struct CoppVecF64 Copp3SocpResult::x

Raw Clarabel primal solution vector.

Definition at line 53 of file copp3.h.

◆ z

struct CoppVecF64 Copp3SocpResult::z

Raw Clarabel dual solution vector.

Definition at line 57 of file copp3.h.

◆ s

struct CoppVecF64 Copp3SocpResult::s

Raw Clarabel primal-cone slack vector.

Definition at line 61 of file copp3.h.

◆ solver_status

enum CoppClarabelSolverStatus Copp3SocpResult::solver_status

Final Clarabel solver status.

Definition at line 65 of file copp3.h.

◆ obj_val

double Copp3SocpResult::obj_val

Primal objective value reported by Clarabel.

Definition at line 69 of file copp3.h.

◆ obj_val_dual

double Copp3SocpResult::obj_val_dual

Dual objective value reported by Clarabel.

Definition at line 73 of file copp3.h.

◆ solve_time

double Copp3SocpResult::solve_time

Clarabel solve time in seconds.

Definition at line 77 of file copp3.h.

◆ iterations

uint32_t Copp3SocpResult::iterations

Number of interior-point iterations.

Definition at line 81 of file copp3.h.

◆ r_prim

double Copp3SocpResult::r_prim

Primal residual reported by Clarabel.

Definition at line 85 of file copp3.h.

◆ r_dual

double Copp3SocpResult::r_dual

Dual residual reported by Clarabel.

Definition at line 89 of file copp3.h.

◆ linsolver

struct CoppClarabelLinearSolverInfo Copp3SocpResult::linsolver

Linear solver metadata reported by Clarabel.

Definition at line 93 of file copp3.h.

◆ objective_value

double Copp3SocpResult::objective_value

Weighted COPP objective value computed from accepted profile; NaN otherwise.

Definition at line 98 of file copp3.h.

◆ objective_terms

struct CoppVecF64 Copp3SocpResult::objective_terms

Per-objective unweighted values computed from accepted profile.

Definition at line 102 of file copp3.h.


The documentation for this struct was generated from the following file: