diff --git a/dense_qp/d_dense_qcqp_ipm.c b/dense_qp/d_dense_qcqp_ipm.c index 7f30554e..fdf2805d 100644 --- a/dense_qp/d_dense_qcqp_ipm.c +++ b/dense_qp/d_dense_qcqp_ipm.c @@ -200,6 +200,7 @@ #define DENSE_QCQP_IPM_GET_MAX_RES_EQ d_dense_qcqp_ipm_get_max_res_eq #define DENSE_QCQP_IPM_GET_MAX_RES_INEQ d_dense_qcqp_ipm_get_max_res_ineq #define DENSE_QCQP_IPM_GET_MAX_RES_COMP d_dense_qcqp_ipm_get_max_res_comp +#define DENSE_QCQP_IPM_GET_OBJ d_dense_qcqp_ipm_get_obj #define DENSE_QCQP_IPM_GET_STAT d_dense_qcqp_ipm_get_stat #define DENSE_QCQP_IPM_GET_STAT_M d_dense_qcqp_ipm_get_stat_m #define DENSE_QCQP_INIT_VAR d_dense_qcqp_init_var diff --git a/dense_qp/d_dense_qp_ipm.c b/dense_qp/d_dense_qp_ipm.c index 02d65498..9fa02e81 100644 --- a/dense_qp/d_dense_qp_ipm.c +++ b/dense_qp/d_dense_qp_ipm.c @@ -168,6 +168,7 @@ #define DENSE_QP_IPM_GET_MAX_RES_EQ d_dense_qp_ipm_get_max_res_eq #define DENSE_QP_IPM_GET_MAX_RES_INEQ d_dense_qp_ipm_get_max_res_ineq #define DENSE_QP_IPM_GET_MAX_RES_COMP d_dense_qp_ipm_get_max_res_comp +#define DENSE_QP_IPM_GET_OBJ d_dense_qp_ipm_get_obj #define DENSE_QP_IPM_GET_STAT d_dense_qp_ipm_get_stat #define DENSE_QP_IPM_GET_STAT_M d_dense_qp_ipm_get_stat_m #define DENSE_QP_INIT_VAR d_dense_qp_init_var diff --git a/dense_qp/s_dense_qcqp_ipm.c b/dense_qp/s_dense_qcqp_ipm.c index f9f3e867..c5836b44 100644 --- a/dense_qp/s_dense_qcqp_ipm.c +++ b/dense_qp/s_dense_qcqp_ipm.c @@ -199,6 +199,7 @@ #define DENSE_QCQP_IPM_GET_MAX_RES_EQ s_dense_qcqp_ipm_get_max_res_eq #define DENSE_QCQP_IPM_GET_MAX_RES_INEQ s_dense_qcqp_ipm_get_max_res_ineq #define DENSE_QCQP_IPM_GET_MAX_RES_COMP s_dense_qcqp_ipm_get_max_res_comp +#define DENSE_QCQP_IPM_GET_OBJ s_dense_qcqp_ipm_get_obj #define DENSE_QCQP_IPM_GET_STAT s_dense_qcqp_ipm_get_stat #define DENSE_QCQP_IPM_GET_STAT_M s_dense_qcqp_ipm_get_stat_m #define DENSE_QCQP_INIT_VAR s_dense_qcqp_init_var diff --git a/dense_qp/s_dense_qp_ipm.c b/dense_qp/s_dense_qp_ipm.c index 829677ea..eefe4a51 100644 --- a/dense_qp/s_dense_qp_ipm.c +++ b/dense_qp/s_dense_qp_ipm.c @@ -168,6 +168,7 @@ #define DENSE_QP_IPM_GET_MAX_RES_EQ s_dense_qp_ipm_get_max_res_eq #define DENSE_QP_IPM_GET_MAX_RES_INEQ s_dense_qp_ipm_get_max_res_ineq #define DENSE_QP_IPM_GET_MAX_RES_COMP s_dense_qp_ipm_get_max_res_comp +#define DENSE_QP_IPM_GET_OBJ s_dense_qp_ipm_get_obj #define DENSE_QP_IPM_GET_STAT s_dense_qp_ipm_get_stat #define DENSE_QP_IPM_GET_STAT_M s_dense_qp_ipm_get_stat_m #define DENSE_QP_INIT_VAR s_dense_qp_init_var diff --git a/dense_qp/x_dense_qcqp_ipm.c b/dense_qp/x_dense_qcqp_ipm.c index f3c5b030..32714eda 100644 --- a/dense_qp/x_dense_qcqp_ipm.c +++ b/dense_qp/x_dense_qcqp_ipm.c @@ -643,6 +643,10 @@ void DENSE_QCQP_IPM_GET(char *field, struct DENSE_QCQP_IPM_WS *ws, void *value) { DENSE_QCQP_IPM_GET_MAX_RES_COMP(ws, value); } + else if(hpipm_strcmp(field, "obj")) + { + DENSE_QCQP_IPM_GET_OBJ(ws, value); + } else if(hpipm_strcmp(field, "stat")) { DENSE_QCQP_IPM_GET_STAT(ws, value); @@ -709,6 +713,14 @@ void DENSE_QCQP_IPM_GET_MAX_RES_COMP(struct DENSE_QCQP_IPM_WS *ws, REAL *res_com +void DENSE_QCQP_IPM_GET_OBJ(struct DENSE_QCQP_IPM_WS *ws, REAL *obj) + { + *obj = ws->qcqp_res->obj; + return; + } + + + void DENSE_QCQP_IPM_GET_STAT(struct DENSE_QCQP_IPM_WS *ws, REAL **stat) { DENSE_QP_IPM_GET_STAT(ws->qp_ws, stat); @@ -1281,6 +1293,7 @@ void DENSE_QCQP_IPM_SOLVE(struct DENSE_QCQP *qcqp, struct DENSE_QCQP_SOL *qcqp_s stat[7] = qcqp_res_max[1]; stat[8] = qcqp_res_max[2]; stat[9] = qcqp_res_max[3]; + stat[10] = qcqp_res->obj; } cws->mu = qcqp_res->res_mu; } @@ -1383,6 +1396,7 @@ void DENSE_QCQP_IPM_SOLVE(struct DENSE_QCQP *qcqp, struct DENSE_QCQP_SOL *qcqp_s stat[stat_m*(kk+0)+7] = qcqp_res_max[1]; stat[stat_m*(kk+0)+8] = qcqp_res_max[2]; stat[stat_m*(kk+0)+9] = qcqp_res_max[3]; + stat[stat_m*(kk+0)+10] = qcqp_res->obj; } } @@ -1410,6 +1424,7 @@ void DENSE_QCQP_IPM_SOLVE(struct DENSE_QCQP *qcqp, struct DENSE_QCQP_SOL *qcqp_s stat[stat_m*(0)+7] = qcqp_res_max[1]; stat[stat_m*(0)+8] = qcqp_res_max[2]; stat[stat_m*(0)+9] = qcqp_res_max[3]; + stat[stat_m*(0)+10] = qcqp_res->obj; } @@ -1460,6 +1475,7 @@ void DENSE_QCQP_IPM_SOLVE(struct DENSE_QCQP *qcqp, struct DENSE_QCQP_SOL *qcqp_s stat[stat_m*(kk+1)+7] = qcqp_res_max[1]; stat[stat_m*(kk+1)+8] = qcqp_res_max[2]; stat[stat_m*(kk+1)+9] = qcqp_res_max[3]; + stat[stat_m*(kk+1)+10] = qcqp_res->obj; } } diff --git a/dense_qp/x_dense_qp_ipm.c b/dense_qp/x_dense_qp_ipm.c index a7e6624f..16d57670 100644 --- a/dense_qp/x_dense_qp_ipm.c +++ b/dense_qp/x_dense_qp_ipm.c @@ -620,7 +620,7 @@ hpipm_size_t DENSE_QP_IPM_WS_MEMSIZE(struct DENSE_QP_DIM *dim, struct DENSE_QP_I if(arg->stat_maxiter_max) arg->stat_max = arg->iter_max; - int stat_m = 17; + int stat_m = 18; size += stat_m*(1+arg->stat_max)*sizeof(REAL); // stat size += nv*sizeof(int); // ipiv_v @@ -810,7 +810,7 @@ void DENSE_QP_IPM_WS_CREATE(struct DENSE_QP_DIM *dim, struct DENSE_QP_IPM_ARG *a REAL *d_ptr = (REAL *) sv_ptr; workspace->stat = d_ptr; - int stat_m = 17; + int stat_m = 18; d_ptr += stat_m*(1+arg->stat_max); @@ -1091,6 +1091,10 @@ void DENSE_QP_IPM_GET(char *field, struct DENSE_QP_IPM_WS *ws, void *value) { DENSE_QP_IPM_GET_MAX_RES_COMP(ws, value); } + else if(hpipm_strcmp(field, "obj")) + { + DENSE_QP_IPM_GET_OBJ(ws, value); + } else if(hpipm_strcmp(field, "stat")) { DENSE_QP_IPM_GET_STAT(ws, value); @@ -1157,6 +1161,13 @@ void DENSE_QP_IPM_GET_MAX_RES_COMP(struct DENSE_QP_IPM_WS *ws, REAL *res_comp) +void DENSE_QP_IPM_GET_OBJ(struct DENSE_QP_IPM_WS *ws, REAL *obj) + { + *obj = ws->res->obj; + } + + + void DENSE_QP_IPM_GET_STAT(struct DENSE_QP_IPM_WS *ws, REAL **stat) { *stat = ws->stat; @@ -1500,7 +1511,7 @@ void DENSE_QP_IPM_DELTA_STEP(int kk, struct DENSE_QP *qp, struct DENSE_QP_SOL *q VECMUL(cws->nc, qp->d_mask, 0, ws->sol_step->lam, 0, ws->sol_step->lam, 0); } if(kk+1stat_max) - ws->stat[ws->stat_m*(kk+1)+10] = 0; + ws->stat[ws->stat_m*(kk+1)+11] = 0; } else if(ws->lq_fact==1 & force_lq==0) { @@ -1531,7 +1542,7 @@ void DENSE_QP_IPM_DELTA_STEP(int kk, struct DENSE_QP *qp, struct DENSE_QP_SOL *q itref_qp_norm[3] = ws->res_itref->res_max[3]; if(kk+1stat_max) - ws->stat[ws->stat_m*(kk+1)+10] = 0; + ws->stat[ws->stat_m*(kk+1)+11] = 0; //printf("\n%e\t%e\t%e\t%e\n", itref_qp_norm[0], itref_qp_norm[1], itref_qp_norm[2], itref_qp_norm[3]); @@ -1562,7 +1573,7 @@ void DENSE_QP_IPM_DELTA_STEP(int kk, struct DENSE_QP *qp, struct DENSE_QP_SOL *q force_lq = 1; if(kk+1stat_max) - ws->stat[ws->stat_m*(kk+1)+10] = 1; + ws->stat[ws->stat_m*(kk+1)+11] = 1; } } @@ -1586,10 +1597,10 @@ void DENSE_QP_IPM_DELTA_STEP(int kk, struct DENSE_QP *qp, struct DENSE_QP_SOL *q { if(kk+1stat_max) { - ws->stat[ws->stat_m*(kk+1)+13] = 0.0; ws->stat[ws->stat_m*(kk+1)+14] = 0.0; ws->stat[ws->stat_m*(kk+1)+15] = 0.0; ws->stat[ws->stat_m*(kk+1)+16] = 0.0; + ws->stat[ws->stat_m*(kk+1)+17] = 0.0; } } else @@ -1612,10 +1623,10 @@ void DENSE_QP_IPM_DELTA_STEP(int kk, struct DENSE_QP *qp, struct DENSE_QP_SOL *q itref_qp_norm[3] = ws->res_itref->res_max[3]; if(kk+1stat_max) { - ws->stat[ws->stat_m*(kk+1)+13] = itref_qp_norm[0]; - ws->stat[ws->stat_m*(kk+1)+14] = itref_qp_norm[1]; - ws->stat[ws->stat_m*(kk+1)+15] = itref_qp_norm[2]; - ws->stat[ws->stat_m*(kk+1)+16] = itref_qp_norm[3]; + ws->stat[ws->stat_m*(kk+1)+14] = itref_qp_norm[0]; + ws->stat[ws->stat_m*(kk+1)+15] = itref_qp_norm[1]; + ws->stat[ws->stat_m*(kk+1)+16] = itref_qp_norm[2]; + ws->stat[ws->stat_m*(kk+1)+17] = itref_qp_norm[3]; } if(itref0==0) @@ -1667,16 +1678,16 @@ void DENSE_QP_IPM_DELTA_STEP(int kk, struct DENSE_QP *qp, struct DENSE_QP_SOL *q itref_qp_norm[3] = ws->res_itref->res_max[3]; if(kk+1stat_max) { - ws->stat[ws->stat_m*(kk+1)+13] = itref_qp_norm[0]; - ws->stat[ws->stat_m*(kk+1)+14] = itref_qp_norm[1]; - ws->stat[ws->stat_m*(kk+1)+15] = itref_qp_norm[2]; - ws->stat[ws->stat_m*(kk+1)+16] = itref_qp_norm[3]; + ws->stat[ws->stat_m*(kk+1)+14] = itref_qp_norm[0]; + ws->stat[ws->stat_m*(kk+1)+15] = itref_qp_norm[1]; + ws->stat[ws->stat_m*(kk+1)+16] = itref_qp_norm[2]; + ws->stat[ws->stat_m*(kk+1)+17] = itref_qp_norm[3]; } } } if(kk+1stat_max) - ws->stat[ws->stat_m*(kk+1)+11] = itref0; + ws->stat[ws->stat_m*(kk+1)+12] = itref0; #if 0 ndp0 = 0; @@ -1808,10 +1819,10 @@ void DENSE_QP_IPM_DELTA_STEP(int kk, struct DENSE_QP *qp, struct DENSE_QP_SOL *q itref_qp_norm[3] = ws->res_itref->res_max[3]; if(kk+1stat_max) { - ws->stat[ws->stat_m*(kk+1)+13] = itref_qp_norm[0]; - ws->stat[ws->stat_m*(kk+1)+14] = itref_qp_norm[1]; - ws->stat[ws->stat_m*(kk+1)+15] = itref_qp_norm[2]; - ws->stat[ws->stat_m*(kk+1)+16] = itref_qp_norm[3]; + ws->stat[ws->stat_m*(kk+1)+14] = itref_qp_norm[0]; + ws->stat[ws->stat_m*(kk+1)+15] = itref_qp_norm[1]; + ws->stat[ws->stat_m*(kk+1)+16] = itref_qp_norm[2]; + ws->stat[ws->stat_m*(kk+1)+17] = itref_qp_norm[3]; } if(itref1==0) @@ -1864,10 +1875,10 @@ void DENSE_QP_IPM_DELTA_STEP(int kk, struct DENSE_QP *qp, struct DENSE_QP_SOL *q itref_qp_norm[3] = ws->res_itref->res_max[3]; if(kk+1stat_max) { - ws->stat[ws->stat_m*(kk+1)+13] = itref_qp_norm[0]; - ws->stat[ws->stat_m*(kk+1)+14] = itref_qp_norm[1]; - ws->stat[ws->stat_m*(kk+1)+15] = itref_qp_norm[2]; - ws->stat[ws->stat_m*(kk+1)+16] = itref_qp_norm[3]; + ws->stat[ws->stat_m*(kk+1)+14] = itref_qp_norm[0]; + ws->stat[ws->stat_m*(kk+1)+15] = itref_qp_norm[1]; + ws->stat[ws->stat_m*(kk+1)+16] = itref_qp_norm[2]; + ws->stat[ws->stat_m*(kk+1)+17] = itref_qp_norm[3]; } } } @@ -1888,14 +1899,14 @@ void DENSE_QP_IPM_DELTA_STEP(int kk, struct DENSE_QP *qp, struct DENSE_QP_SOL *q { if(kk+1stat_max) { - ws->stat[ws->stat_m*(kk+1)+13] = 0.0; ws->stat[ws->stat_m*(kk+1)+14] = 0.0; ws->stat[ws->stat_m*(kk+1)+15] = 0.0; ws->stat[ws->stat_m*(kk+1)+16] = 0.0; + ws->stat[ws->stat_m*(kk+1)+17] = 0.0; } } if(kk+1stat_max) - ws->stat[ws->stat_m*(kk+1)+12] = itref1; + ws->stat[ws->stat_m*(kk+1)+13] = itref1; // TODO check for step length computation if(1) @@ -2067,6 +2078,7 @@ exit(1); stat[7] = qp_res_max[1]; stat[8] = qp_res_max[2]; stat[9] = qp_res_max[3]; + stat[10] = ws->res->obj; } cws->mu = ws->res->res_mu; } @@ -2170,6 +2182,7 @@ exit(1); stat[stat_m*(kk+0)+7] = qp_res_max[1]; stat[stat_m*(kk+0)+8] = qp_res_max[2]; stat[stat_m*(kk+0)+9] = qp_res_max[3]; + stat[stat_m*(kk+0)+10] = ws->res->obj; } } @@ -2196,6 +2209,7 @@ exit(1); stat[stat_m*(0)+7] = qp_res_max[1]; stat[stat_m*(0)+8] = qp_res_max[2]; stat[stat_m*(0)+9] = qp_res_max[3]; + stat[stat_m*(0)+10] = ws->res->obj; } @@ -2227,14 +2241,15 @@ exit(1); } DENSE_QP_RES_COMPUTE_INF_NORM(ws->res); cws->mu = ws->res->res_mu; + // save infinity norm of residuals if(kk+1stat_max) { - ws->stat[ws->stat_m*(kk+1)+5] = ws->res->res_mu; - // save infinity norm of residuals + stat[ws->stat_m*(kk+1)+5] = ws->res->res_mu; stat[stat_m*(kk+1)+6] = qp_res_max[0]; stat[stat_m*(kk+1)+7] = qp_res_max[1]; stat[stat_m*(kk+1)+8] = qp_res_max[2]; stat[stat_m*(kk+1)+9] = qp_res_max[3]; + stat[stat_m*(kk+1)+10] = ws->res->obj; } } diff --git a/include/hpipm_d_dense_qcqp_ipm.h b/include/hpipm_d_dense_qcqp_ipm.h index fa3f98fa..60b3c1ee 100644 --- a/include/hpipm_d_dense_qcqp_ipm.h +++ b/include/hpipm_d_dense_qcqp_ipm.h @@ -168,6 +168,8 @@ void d_dense_qcqp_ipm_get_max_res_ineq(struct d_dense_qcqp_ipm_ws *ws, double *r // void d_dense_qcqp_ipm_get_max_res_comp(struct d_dense_qcqp_ipm_ws *ws, double *res_comp); // +void d_dense_qcqp_ipm_get_obj(struct d_dense_qcqp_ipm_ws *ws, double *obj); +// void d_dense_qcqp_ipm_get_stat(struct d_dense_qcqp_ipm_ws *ws, double **stat); // void d_dense_qcqp_ipm_get_stat_m(struct d_dense_qcqp_ipm_ws *ws, int *stat_m); diff --git a/include/hpipm_d_dense_qp_ipm.h b/include/hpipm_d_dense_qp_ipm.h index e6e5d5d9..2b37cb45 100644 --- a/include/hpipm_d_dense_qp_ipm.h +++ b/include/hpipm_d_dense_qp_ipm.h @@ -232,6 +232,8 @@ void d_dense_qp_ipm_get_max_res_ineq(struct d_dense_qp_ipm_ws *ws, double *res_i // void d_dense_qp_ipm_get_max_res_comp(struct d_dense_qp_ipm_ws *ws, double *res_comp); // +void d_dense_qp_ipm_get_obj(struct d_dense_qp_ipm_ws *ws, double *obj); +// void d_dense_qp_ipm_get_stat(struct d_dense_qp_ipm_ws *ws, double **stat); // void d_dense_qp_ipm_get_stat_m(struct d_dense_qp_ipm_ws *ws, int *stat_m); diff --git a/include/hpipm_s_dense_qcqp_ipm.h b/include/hpipm_s_dense_qcqp_ipm.h index 8f85768e..da7bc51f 100644 --- a/include/hpipm_s_dense_qcqp_ipm.h +++ b/include/hpipm_s_dense_qcqp_ipm.h @@ -176,6 +176,8 @@ void s_dense_qcqp_ipm_get_max_res_ineq(struct s_dense_qcqp_ipm_ws *ws, float *re // void s_dense_qcqp_ipm_get_max_res_comp(struct s_dense_qcqp_ipm_ws *ws, float *res_comp); // +void s_dense_qcqp_ipm_get_obj(struct s_dense_qcqp_ipm_ws *ws, float *obj); +// void s_dense_qcqp_ipm_get_stat(struct s_dense_qcqp_ipm_ws *ws, float **stat); // void s_dense_qcqp_ipm_get_stat_m(struct s_dense_qcqp_ipm_ws *ws, int *stat_m); diff --git a/include/hpipm_s_dense_qp_ipm.h b/include/hpipm_s_dense_qp_ipm.h index f2d56d45..75d85bee 100644 --- a/include/hpipm_s_dense_qp_ipm.h +++ b/include/hpipm_s_dense_qp_ipm.h @@ -231,6 +231,8 @@ void s_dense_qp_ipm_get_max_res_ineq(struct s_dense_qp_ipm_ws *ws, float *res_in // void s_dense_qp_ipm_get_max_res_comp(struct s_dense_qp_ipm_ws *ws, float *res_comp); // +void s_dense_qp_ipm_get_obj(struct s_dense_qp_ipm_ws *ws, float *obj); +// void s_dense_qp_ipm_get_stat(struct s_dense_qp_ipm_ws *ws, float **stat); // void s_dense_qp_ipm_get_stat_m(struct s_dense_qp_ipm_ws *ws, int *stat_m); diff --git a/test_problems/test_d_cast_qcqp.c b/test_problems/test_d_cast_qcqp.c index e43db042..c3c44428 100644 --- a/test_problems/test_d_cast_qcqp.c +++ b/test_problems/test_d_cast_qcqp.c @@ -930,7 +930,7 @@ int main() double max_res_comp; d_dense_qcqp_ipm_get_max_res_comp(&dense_workspace, &max_res_comp); printf("\nipm max res: stat = %e, eq = %e, ineq = %e, comp = %e\n", max_res_stat, max_res_eq, max_res_ineq, max_res_comp); - printf("\nalpha_aff\tmu_aff\t\tsigma\t\talpha_prim\talpha_dual\tmu\t\tres_stat\tres_eq\t\tres_ineq\tres_comp\tlq fact\t\titref pred\titref corr\tlin res stat\tlin res eq\tlin res ineq\tlin res comp\n"); + printf("\nalpha_aff\tmu_aff\t\tsigma\t\talpha_prim\talpha_dual\tmu\t\tres_stat\tres_eq\t\tres_ineq\tres_comp\tobj\t\tlq fact\t\titref pred\titref corr\tlin res stat\tlin res eq\tlin res ineq\tlin res comp\n"); double *stat; d_dense_qcqp_ipm_get_stat(&dense_workspace, &stat); int stat_m; d_dense_qcqp_ipm_get_stat_m(&dense_workspace, &stat_m); d_print_exp_tran_mat(stat_m, iter+1, stat, stat_m); diff --git a/test_problems/test_d_cond.c b/test_problems/test_d_cond.c index dec5c4cd..aa1516fa 100644 --- a/test_problems/test_d_cond.c +++ b/test_problems/test_d_cond.c @@ -1023,7 +1023,7 @@ int main() printf("\nipm iter = %d\n", iter); printf("\nipm max res: stat = %e, eq = %e, ineq = %e, comp = %e\n", max_res_stat, max_res_eq, max_res_ineq, max_res_comp); - printf("\nalpha_aff\tmu_aff\t\tsigma\t\talpha_prim\talpha_dual\tmu\t\tres_stat\tres_eq\t\tres_ineq\tres_comp\tlq fact\t\titref pred\titref corr\tlin res stat\tlin res eq\tlin res ineq\tlin res comp\n"); + printf("\nalpha_aff\tmu_aff\t\tsigma\t\talpha_prim\talpha_dual\tmu\t\tres_stat\tres_eq\t\tres_ineq\tres_comp\tobj\t\tlq fact\t\titref pred\titref corr\tlin res stat\tlin res eq\tlin res ineq\tlin res comp\n"); d_print_exp_tran_mat(stat_m, iter+1, stat, stat_m); printf("\ncond time = %e [s]\n", time_cond); diff --git a/test_problems/test_d_cond_qcqp.c b/test_problems/test_d_cond_qcqp.c index c1152e1d..f8260a50 100644 --- a/test_problems/test_d_cond_qcqp.c +++ b/test_problems/test_d_cond_qcqp.c @@ -1104,7 +1104,7 @@ int main() printf("\nipm iter = %d\n", iter); printf("\nipm max res: stat = %e, eq = %e, ineq = %e, comp = %e\n", max_res_stat, max_res_eq, max_res_ineq, max_res_comp); - printf("\nalpha_aff\tmu_aff\t\tsigma\t\talpha_prim\talpha_dual\tmu\t\tres_stat\tres_eq\t\tres_ineq\tres_comp\tlq fact\t\titref pred\titref corr\tlin res stat\tlin res eq\tlin res ineq\tlin res comp\n"); + printf("\nalpha_aff\tmu_aff\t\tsigma\t\talpha_prim\talpha_dual\tmu\t\tres_stat\tres_eq\t\tres_ineq\tres_comp\tobj\t\tlq fact\t\titref pred\titref corr\tlin res stat\tlin res eq\tlin res ineq\tlin res comp\n"); d_print_exp_tran_mat(stat_m, iter+1, stat, stat_m); printf("\nred eq dof all time = %e [s]\n", time_red_eq_dof_all); diff --git a/test_problems/test_d_dense.c b/test_problems/test_d_dense.c index 450e66ca..b2885d69 100644 --- a/test_problems/test_d_dense.c +++ b/test_problems/test_d_dense.c @@ -516,7 +516,7 @@ int main() printf("\nipm iter = %d\n", iter); printf("\nipm max res: stat = %e, eq = %e, ineq = %e, comp = %e\n", max_res_stat, max_res_eq, max_res_ineq, max_res_comp); - printf("\nalpha_aff\tmu_aff\t\tsigma\t\talpha_p\t\talpha_d\t\tmu\t\tres_stat\tres_eq\t\tres_ineq\tres_comp\tlq fact\t\titref pred\titref corr\tlin res stat\tlin res eq\tlin res ineq\tlin res comp\n"); + printf("\nalpha_aff\tmu_aff\t\tsigma\t\talpha_p\t\talpha_d\t\tmu\t\tres_stat\tres_eq\t\tres_ineq\tres_comp\tobj\t\tlq fact\t\titref pred\titref corr\tlin res stat\tlin res eq\tlin res ineq\tlin res comp\n"); d_print_exp_tran_mat(stat_m, iter+1, stat, stat_m); printf("\ndense ipm time = %e [s]\n\n", time_dense_ipm); diff --git a/test_problems/test_d_dense_qcqp.c b/test_problems/test_d_dense_qcqp.c index 6de93029..2fe3aa2a 100644 --- a/test_problems/test_d_dense_qcqp.c +++ b/test_problems/test_d_dense_qcqp.c @@ -290,7 +290,7 @@ int main() printf("\nipm iter = %d\n", iter); printf("\nipm max res: stat = %e, eq = %e, ineq = %e, comp = %e\n", max_res_stat, max_res_eq, max_res_ineq, max_res_comp); - printf("\nalpha_aff\tmu_aff\t\tsigma\t\talpha_p\t\talpha_d\t\tmu\t\tres_stat\tres_eq\t\tres_ineq\tres_comp\tlq fact\t\titref pred\titref corr\tlin res stat\tlin res eq\tlin res ineq\tlin res comp\n"); + printf("\nalpha_aff\tmu_aff\t\tsigma\t\talpha_p\t\talpha_d\t\tmu\t\tres_stat\tres_eq\t\tres_ineq\tres_comp\tobj\t\tlq fact\t\titref pred\titref corr\tlin res stat\tlin res eq\tlin res ineq\tlin res comp\n"); d_print_exp_tran_mat(stat_m, iter+1, stat, stat_m); printf("\ndense ipm time = %e [s]\n\n", time_dense_ipm);