Drake

The CSDP solver details after calling Solve() function.
The user can call MathematicalProgramResult::get_solver_details<CsdpSolver>() to obtain the details.
#include <drake/solvers/csdp_solver.h>
Public Attributes  
int  return_code {} 
Refer to the Return Codes section of CSDP 6.2.0 User's Guide for explanation on the return code. More...  
double  primal_objective {} 
The primal objective value. More...  
double  dual_objective {} 
The dual objective value. More...  
Eigen::VectorXd  y_val 
CSDP solves a primal problem of the form. More...  
Eigen::SparseMatrix< double >  Z_val 
double dual_objective {} 
The dual objective value.
double primal_objective {} 
The primal objective value.
int return_code {} 
Refer to the Return Codes section of CSDP 6.2.0 User's Guide for explanation on the return code.
Some of the common return codes are
0 Problem is solved to optimality. 1 Problem is primal infeasible. 2 Problem is dual infeasible. 3 Problem solved to near optimality. 4 Maximum iterations reached.
Eigen::VectorXd y_val 
CSDP solves a primal problem of the form.
max tr(C*X) s.t tr(Aᵢ*X) = aᵢ X ≽ 0
The dual form is
min aᵀy s.t ∑ᵢ yᵢAᵢ  C = Z Z ≽ 0
y, Z are the variables for the dual problem. y_val, Z_val are the solutions to the dual problem.
Eigen::SparseMatrix<double> Z_val 