1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- /**
- * @file struct_cone.h
- * @brief 定义锥结构体
- * This is definition of cone module
- * @version 0.1
- * @date 2021-09-17
- *
- * @copyright Copyright (c) 2021
- *
- */
- #ifndef __STRUCT_CONE_H__
- #define __STRUCT_CONE_H__
- #include "csocp_config.h"
- /** 线性锥(非负象限)结构体 Structure for LP cone */
- struct c_lp_s {
- c_int ndim; /**< 线性锥的维度 dimension of cone */
- c_int *idxmap; /**< indices of KKT matrix scales w^2 map */
- c_real *w; /**< scalings */
- c_real *v; /**< = w^2 - saves multiplications */
- };
- /** 二阶锥结构体 Structure for SOC cone */
- struct c_soc_s {
- c_int ndim; /**< 二阶锥的维度 dimension of SOC cones */
- c_int *idxmap; /**< */
- c_real *q; /**< */
- c_real *sk; /**< tmp var */
- c_real *zk; /**< tmp var */
- c_real eta; /**< eta */
- c_real eta_q; /**< eta^2 */
- c_real d1; /**< first elem of D */
- c_real u0; /**< eta */
- c_real u1; /**< u = [u0; u1*q] */
- c_real v1; /**< v = [0; v1*q] */
- };
- /** 锥结构的主结构体 The main cone structure */
- struct c_cone_s {
- c_lp *lp; /**< 线性锥 LP cone */
- c_int nsoc; /**< 二阶锥的数量 Number of SOC cones */
- c_soc **soc; /**< 二阶锥 SOC cones */
- };
- #endif
|