From 8502a16866d7985bb26357bea761236629342e88 Mon Sep 17 00:00:00 2001 From: Pantelis Sopasakis Date: Sat, 21 Apr 2018 11:26:46 +0300 Subject: [PATCH] :memo: updated docs --- docs/amatrix_8h.html | 25 +- docs/amatrix_8h_source.html | 61 +- docs/annotated.html | 47 +- docs/basic__doc__page_8h.html | 21 +- docs/basic__doc__page_8h_source.html | 21 +- docs/benchmarks__page_8h.html | 21 +- docs/benchmarks__page_8h_source.html | 21 +- docs/classes.html | 42 +- docs/cones_8h.html | 131 ++- docs/cones_8h_source.html | 233 +++-- docs/cones__page_8h.html | 21 +- docs/cones__page_8h_source.html | 21 +- docs/constants_8h.html | 340 +++---- docs/constants_8h_source.html | 205 +++-- docs/contributing__page_8h.html | 121 +++ docs/contributing__page_8h_source.html | 120 +++ docs/cs_8h.html | 119 +-- docs/cs_8h_source.html | 153 +++- docs/ctrlc_8h.html | 21 +- docs/ctrlc_8h_source.html | 133 ++- docs/cvx__examples__page_8h.html | 21 +- docs/cvx__examples__page_8h_source.html | 21 +- .../dir_208d2690607c4e3d3fabfa1d18673d36.html | 25 +- .../dir_d44c64559bbebec7f509842c48db8b23.html | 21 +- .../dir_fb0086aade6051f3295c491b7001283a.html | 21 +- docs/directions_8h.html | 165 ++-- docs/directions_8h_source.html | 138 ++- docs/directions__page_8h.html | 21 +- docs/directions__page_8h_source.html | 21 +- docs/dox_extra.css | 4 + docs/files.html | 45 +- docs/functions.html | 334 +++---- docs/functions_vars.html | 334 +++---- docs/glbopts_8h.html | 266 +++--- docs/glbopts_8h_source.html | 377 ++++---- docs/globals.html | 842 +++++++++--------- docs/globals_defs.html | 313 +++---- docs/globals_enum.html | 21 +- docs/globals_eval.html | 21 +- docs/globals_func.html | 417 ++++----- docs/globals_type.html | 87 +- docs/globals_vars.html | 21 +- docs/index.html | 35 +- docs/installation__page_8h.html | 21 +- docs/installation__page_8h_source.html | 21 +- docs/lin_alg_8h.html | 701 ++++++--------- docs/lin_alg_8h_source.html | 402 +++++---- docs/lin_sys_8h.html | 248 +++--- docs/lin_sys_8h_source.html | 226 +++-- docs/logging__page_8h.html | 21 +- docs/logging__page_8h_source.html | 21 +- docs/logo.png | Bin 0 -> 38428 bytes docs/mainpage_8h.html | 21 +- docs/mainpage_8h_source.html | 21 +- docs/maros__meszaros__page_8h.html | 121 +++ docs/maros__meszaros__page_8h_source.html | 120 +++ docs/normalize_8h.html | 81 +- docs/normalize_8h_source.html | 342 +++---- docs/page_benchmark_results.html | 138 ++- docs/page_cones.html | 49 +- docs/page_contributing.html | 365 ++++++++ docs/page_cvx_examples.html | 57 +- docs/page_directions.html | 23 +- docs/page_doc.html | 27 +- docs/page_installation.html | 56 +- docs/page_logging.html | 43 +- docs/page_maros_meszaros_results.html | 325 +++++++ docs/page_profiling.html | 27 +- docs/page_save_load.html | 59 +- docs/page_socp.html | 175 ++-- docs/page_sparse_matrices.html | 21 +- docs/page_superscs.html | 21 +- docs/page_warm_starting.html | 27 +- docs/pages.html | 43 +- docs/profiling__page_8h.html | 21 +- docs/profiling__page_8h_source.html | 21 +- docs/save__load__page_8h.html | 21 +- docs/save__load__page_8h_source.html | 21 +- docs/scs-html-extra.html | 36 + docs/scs_8h.html | 317 +++++-- docs/scs_8h_source.html | 803 +++++++++-------- docs/scs__blas_8h.html | 21 +- docs/scs__blas_8h_source.html | 150 ++-- docs/search/all_0.js | 14 +- docs/search/all_1.js | 31 +- docs/search/all_10.js | 16 +- docs/search/all_11.js | 209 ++++- docs/search/all_12.js | 89 +- docs/search/all_13.js | 26 +- docs/search/all_14.js | 12 +- docs/search/all_15.js | 11 +- docs/search/all_16.js | 9 +- docs/search/all_17.js | 4 +- docs/search/all_2.js | 26 +- docs/search/all_3.js | 54 +- docs/search/all_4.js | 33 +- docs/search/all_5.js | 13 +- docs/search/all_6.js | 17 +- docs/search/all_7.js | 10 +- docs/search/all_8.js | 9 +- docs/search/all_9.js | 17 +- docs/search/all_a.js | 17 +- docs/search/all_b.js | 26 +- docs/search/all_c.js | 28 +- docs/search/all_d.js | 16 +- docs/search/all_e.js | 22 +- docs/search/all_f.js | 27 +- docs/search/classes_0.js | 13 +- docs/search/classes_1.js | 3 +- docs/search/defines_0.js | 9 +- docs/search/defines_1.js | 9 +- docs/search/defines_2.js | 4 +- docs/search/defines_3.js | 5 +- docs/search/defines_4.js | 14 +- docs/search/defines_5.js | 3 +- docs/search/defines_6.js | 3 +- docs/search/defines_7.js | 3 +- docs/search/defines_8.js | 63 +- docs/search/defines_9.js | 8 +- docs/search/files_2.js | 1 + docs/search/files_7.js | 3 +- docs/search/functions_0.js | 10 +- docs/search/functions_1.js | 99 +- docs/search/pages_1.js | 3 +- docs/search/pages_6.js | 2 +- docs/search/pages_7.js | 4 +- docs/search/pages_8.js | 4 +- docs/search/pages_9.js | 2 +- docs/search/pages_a.js | 2 +- docs/search/pages_b.html | 26 + docs/search/pages_b.js | 4 + docs/search/search.js | 12 +- docs/search/typedefs_0.js | 2 +- docs/search/typedefs_1.js | 17 +- docs/search/typedefs_2.js | 3 +- docs/search/typedefs_3.js | 4 +- docs/search/variables_0.js | 6 +- docs/search/variables_1.js | 7 +- docs/search/variables_10.js | 18 +- docs/search/variables_11.js | 34 +- docs/search/variables_12.js | 9 +- docs/search/variables_13.js | 8 +- docs/search/variables_14.js | 4 +- docs/search/variables_15.js | 8 +- docs/search/variables_16.js | 2 +- docs/search/variables_17.js | 5 +- docs/search/variables_2.js | 14 +- docs/search/variables_3.js | 21 +- docs/search/variables_4.js | 8 +- docs/search/variables_5.js | 2 +- docs/search/variables_6.js | 4 +- docs/search/variables_7.js | 4 +- docs/search/variables_8.js | 5 +- docs/search/variables_9.js | 9 +- docs/search/variables_a.js | 10 +- docs/search/variables_b.js | 15 +- docs/search/variables_c.js | 14 +- docs/search/variables_d.js | 2 +- docs/search/variables_e.js | 31 +- docs/search/variables_f.js | 4 +- docs/socp__page_8h.html | 21 +- docs/socp__page_8h_source.html | 21 +- docs/sparse__martrices__page_8h.html | 21 +- docs/sparse__martrices__page_8h_source.html | 21 +- docs/struct_conic_problem_metadata.html | 228 +++++ docs/struct_direction_cache.html | 277 ++++++ docs/struct_scs_cone.html | 310 +++++++ docs/struct_scs_conic_problem_metadata.html | 230 +++++ docs/struct_scs_data.html | 211 +++++ docs/struct_scs_info.html | 531 +++++++++++ docs/struct_scs_scaling.html | 178 ++++ docs/struct_scs_settings.html | 581 ++++++++++++ docs/struct_scs_solution.html | 167 ++++ docs/struct_scs_work.html | 811 +++++++++++++++++ docs/structcone__work.html | 137 +++ docs/structscs__a__data__matrix.html | 222 +++++ docs/structscs__cone.html | 321 +++++++ docs/structscs__cone__work.html | 148 +++ docs/structscs__conic__probem__metadata.html | 241 +++++ docs/structscs__cs__sparse.html | 254 ++++++ docs/structscs__data.html | 223 +++++ docs/structscs__direction__cache.html | 288 ++++++ docs/structscs__info.html | 542 +++++++++++ docs/structscs__residuals.html | 297 ++++++ docs/structscs__scaling.html | 189 ++++ docs/structscs__settings.html | 593 ++++++++++++ docs/structscs__solution.html | 178 ++++ docs/structscs__work.html | 822 +++++++++++++++++ docs/structtimer.html | 25 +- docs/superscs__page_8h.html | 21 +- docs/superscs__page_8h_source.html | 21 +- docs/unit__test__util_8h.html | 149 ++-- docs/unit__test__util_8h_source.html | 311 ++++--- docs/util_8h.html | 349 ++++---- docs/util_8h_source.html | 246 ++--- docs/warm__starting__page_8h.html | 21 +- docs/warm__starting__page_8h_source.html | 21 +- 197 files changed, 16087 insertions(+), 5137 deletions(-) create mode 100644 docs/contributing__page_8h.html create mode 100644 docs/contributing__page_8h_source.html create mode 100644 docs/logo.png create mode 100644 docs/maros__meszaros__page_8h.html create mode 100644 docs/maros__meszaros__page_8h_source.html create mode 100644 docs/page_contributing.html create mode 100644 docs/page_maros_meszaros_results.html create mode 100644 docs/scs-html-extra.html create mode 100644 docs/search/pages_b.html create mode 100644 docs/search/pages_b.js create mode 100644 docs/struct_conic_problem_metadata.html create mode 100644 docs/struct_direction_cache.html create mode 100644 docs/struct_scs_cone.html create mode 100644 docs/struct_scs_conic_problem_metadata.html create mode 100644 docs/struct_scs_data.html create mode 100644 docs/struct_scs_info.html create mode 100644 docs/struct_scs_scaling.html create mode 100644 docs/struct_scs_settings.html create mode 100644 docs/struct_scs_solution.html create mode 100644 docs/struct_scs_work.html create mode 100644 docs/structcone__work.html create mode 100644 docs/structscs__a__data__matrix.html create mode 100644 docs/structscs__cone.html create mode 100644 docs/structscs__cone__work.html create mode 100644 docs/structscs__conic__probem__metadata.html create mode 100644 docs/structscs__cs__sparse.html create mode 100644 docs/structscs__data.html create mode 100644 docs/structscs__direction__cache.html create mode 100644 docs/structscs__info.html create mode 100644 docs/structscs__residuals.html create mode 100644 docs/structscs__scaling.html create mode 100644 docs/structscs__settings.html create mode 100644 docs/structscs__solution.html create mode 100644 docs/structscs__work.html diff --git a/docs/amatrix_8h.html b/docs/amatrix_8h.html index 14210d6dc..9be2e2c0e 100644 --- a/docs/amatrix_8h.html +++ b/docs/amatrix_8h.html @@ -1,10 +1,13 @@ - - + + + + + -SuperSCS: linsys/amatrix.h File Reference +SuperSCS: SuperSCS: Fast & Accurate conic programming @@ -21,6 +24,14 @@ + + +
@@ -28,8 +39,10 @@ + @@ -102,14 +115,14 @@
SuperSCS +  1.3.2
- - + +

Data Structures

struct  A_DATA_MATRIX
 The sparse matrix A of the conic optimization problem. More...
struct  scs_a_data_matrix
 The sparse matrix A of the conic optimization problem. More...
 
diff --git a/docs/amatrix_8h_source.html b/docs/amatrix_8h_source.html index 239787467..51d8d1d53 100644 --- a/docs/amatrix_8h_source.html +++ b/docs/amatrix_8h_source.html @@ -1,10 +1,13 @@ - - + + + + + -SuperSCS: linsys/amatrix.h Source File +SuperSCS: SuperSCS: Fast & Accurate conic programming @@ -21,6 +24,14 @@ + + +
@@ -28,8 +39,10 @@ + @@ -104,31 +117,31 @@
7 
8 /* this struct defines the data matrix A */
9 
-
17 struct A_DATA_MATRIX {
+
18  /* A is supplied in column compressed format */
-
19  scs_float *x; /* A values, size: NNZ A */
- - - - -
40 };
-
41 
-
42 #ifdef __cplusplus
-
43 }
-
44 #endif
-
45 #endif
-
scs_int m
Number of rows ( ).
Definition: amatrix.h:35
-
scs_int n
Number of columns ( ).
Definition: amatrix.h:39
-
scs_int * i
The row-index of the matrix ( ).
Definition: amatrix.h:25
-
scs_float * x
Definition: amatrix.h:19
-
int scs_int
Definition: glbopts.h:65
-
The sparse matrix A of the conic optimization problem.
Definition: amatrix.h:17
-
scs_int * p
Array of column pointers of A in CSC format ( ).
Definition: amatrix.h:31
-
double scs_float
Definition: glbopts.h:70
+
22  scs_float *x; /* A values, size: NNZ A */
+ + + + +
45 };
+
46 
+
47 #ifdef __cplusplus
+
48 }
+
49 #endif
+
50 #endif
+
scs_int * i
The row-index of the matrix ( ).
Definition: amatrix.h:28
+
scs_float * x
Values of A.
Definition: amatrix.h:22
+
The sparse matrix A of the conic optimization problem.
Definition: amatrix.h:17
+
scs_int * p
Array of column pointers of A in CSC format ( ).
Definition: amatrix.h:36
+
int scs_int
Definition: glbopts.h:92
+
scs_int n
Number of columns ( ).
Definition: amatrix.h:44
+
scs_int m
Number of rows ( ).
Definition: amatrix.h:40
+
double scs_float
Definition: glbopts.h:96
diff --git a/docs/annotated.html b/docs/annotated.html index bd89fd4d0..86800d84d 100644 --- a/docs/annotated.html +++ b/docs/annotated.html @@ -1,10 +1,13 @@ - - + + + + + -SuperSCS: Data Structures +SuperSCS: SuperSCS: Fast & Accurate conic programming @@ -21,6 +24,14 @@ + + +
@@ -28,8 +39,10 @@
SuperSCS +  1.3.2
+ @@ -94,25 +107,25 @@
Here are the data structures with brief descriptions:
SuperSCS +  1.3.2
- - - - - - - - - - - - - + + + + + + + + + + + + +
oCA_DATA_MATRIXThe sparse matrix A of the conic optimization problem
oCConeWorkWorkspace for cones
oCcs_sparseMatrix in compressed-column or triplet form
oCresidualsStructure to hold residual information (unnormalized)
oCSCS_CONECone structure
oCSCS_DIRECTION_MEMORYMemory for the computation of directions (Broyden and Anderson's methods)
oCSCS_INFOTerminating information
oCSCS_PROBLEM_DATAStruct containing problem data
oCSCS_SCALINGNormalization variables
oCSCS_SETTINGSSettings structure
oCSCS_SOL_VARSPrimal-dual solution arrays
oCSCS_WORKWorkspace for SCS
\CtimerSCS timer timer timer
oCscs_a_data_matrixThe sparse matrix A of the conic optimization problem
oCscs_coneCone structure
oCscs_cone_workWorkspace for cones
oCscs_conic_probem_metadataMetadata for conic optimization problems
oCscs_cs_sparseMatrix in compressed-column or triplet form
oCscs_dataStruct containing problem data
oCscs_direction_cacheMemory for the computation of directions (Broyden and Anderson's methods)
oCscs_infoTerminating information
oCscs_scalingNormalization variables
oCscs_settingsSettings structure
oCscs_solutionPrimal-dual solution arrays
oCscs_workWorkspace for SCS
\CtimerSCS timer
diff --git a/docs/basic__doc__page_8h.html b/docs/basic__doc__page_8h.html index 39ec12ec9..5e68c13cb 100644 --- a/docs/basic__doc__page_8h.html +++ b/docs/basic__doc__page_8h.html @@ -1,10 +1,13 @@ - - + + + + + -SuperSCS: pages/basic_doc_page.h File Reference +SuperSCS: SuperSCS: Fast & Accurate conic programming @@ -21,6 +24,14 @@ + + +
@@ -28,8 +39,10 @@ + @@ -100,7 +113,7 @@ diff --git a/docs/basic__doc__page_8h_source.html b/docs/basic__doc__page_8h_source.html index 0e705975f..115970491 100644 --- a/docs/basic__doc__page_8h_source.html +++ b/docs/basic__doc__page_8h_source.html @@ -1,10 +1,13 @@ - - + + + + + -SuperSCS: pages/basic_doc_page.h Source File +SuperSCS: SuperSCS: Fast & Accurate conic programming @@ -21,6 +24,14 @@ + + +
@@ -28,8 +39,10 @@
SuperSCS +  1.3.2
+ @@ -99,7 +112,7 @@ diff --git a/docs/benchmarks__page_8h.html b/docs/benchmarks__page_8h.html index 784b97ddb..b2cbeb481 100644 --- a/docs/benchmarks__page_8h.html +++ b/docs/benchmarks__page_8h.html @@ -1,10 +1,13 @@ - - + + + + + -SuperSCS: pages/benchmarks_page.h File Reference +SuperSCS: SuperSCS: Fast & Accurate conic programming @@ -21,6 +24,14 @@ + + +
@@ -28,8 +39,10 @@
SuperSCS +  1.3.2
+ @@ -100,7 +113,7 @@ diff --git a/docs/benchmarks__page_8h_source.html b/docs/benchmarks__page_8h_source.html index 9f913ad91..d1f2fa199 100644 --- a/docs/benchmarks__page_8h_source.html +++ b/docs/benchmarks__page_8h_source.html @@ -1,10 +1,13 @@ - - + + + + + -SuperSCS: pages/benchmarks_page.h Source File +SuperSCS: SuperSCS: Fast & Accurate conic programming @@ -21,6 +24,14 @@ + + +
@@ -28,8 +39,10 @@
SuperSCS +  1.3.2
+ @@ -99,7 +112,7 @@ diff --git a/docs/classes.html b/docs/classes.html index bf629db97..bd07c7ed9 100644 --- a/docs/classes.html +++ b/docs/classes.html @@ -1,10 +1,13 @@ - - + + + + + -SuperSCS: Data Structure Index +SuperSCS: SuperSCS: Fast & Accurate conic programming @@ -21,6 +24,14 @@ + + +
@@ -28,8 +39,10 @@
SuperSCS +  1.3.2
+ @@ -92,27 +105,22 @@
Data Structure Index
-
A | C | R | S | T
+
S | T
SuperSCS +  1.3.2
- - - - + + - - + +
  A  
-
  S  
-
SCS_PROBLEM_DATA   
  c  
-
  t  
-
SCS_SCALING   
A_DATA_MATRIX   SCS_CONE   SCS_SETTINGS   cs_sparse   timer   
  C  
-
SCS_DIRECTION_MEMORY   SCS_SOL_VARS   
  r  
+
  s  
+
scs_cone_work   scs_direction_cache   scs_solution   
scs_conic_probem_metadata   scs_info   scs_work   
scs_a_data_matrix   scs_cs_sparse   scs_scaling   
  t  
SCS_INFO   SCS_WORK   
ConeWork   residuals   
scs_cone   scs_data   scs_settings   
timer   
-
A | C | R | S | T
+
S | T
diff --git a/docs/cones_8h.html b/docs/cones_8h.html index 0a5dbfc35..836d5061c 100644 --- a/docs/cones_8h.html +++ b/docs/cones_8h.html @@ -1,10 +1,13 @@ - - + + + + + -SuperSCS: include/cones.h File Reference +SuperSCS: SuperSCS: Fast & Accurate conic programming @@ -21,6 +24,14 @@ + + +
@@ -28,8 +39,10 @@ + @@ -93,6 +106,7 @@
cones.h File Reference
@@ -105,39 +119,61 @@
SuperSCS +  1.3.2
- - + + - - + +

Data Structures

struct  SCS_CONE
 Cone structure. More...
struct  scs_cone
 Cone structure. More...
 
struct  ConeWork
 Workspace for cones. More...
struct  scs_cone_work
 Workspace for cones. More...
 
+ + + + +

+Typedefs

typedef struct scs_cone_work ScsConeWork
 Workspace for cones. More...
 
- - - - - - - - - - - - - - + + + + + + + + + + + + + +

Functions

scs_int getConeBoundaries (const Cone *RESTRICT k, scs_int **RESTRICT boundaries)
 
ConeWorkinitCone (const Cone *RESTRICT k)
 
char * getConeHeader (const Cone *k)
 
scs_int validateCones (const Data *RESTRICT d, const Cone *RESTRICT k)
 
scs_int projDualCone (scs_float *RESTRICT x, const Cone *RESTRICT k, ConeWork *RESTRICT c, const scs_float *RESTRICT warm_start, scs_int iter)
 
void finishCone (ConeWork *RESTRICT coneWork)
 
char * getConeSummary (const Info *RESTRICT info, ConeWork *RESTRICT c)
 
scs_int scs_get_cone_boundaries (const ScsCone *RESTRICT k, scs_int **RESTRICT boundaries)
 
ScsConeWorkscs_init_conework (const ScsCone *RESTRICT k)
 
char * scs_get_cone_header (const ScsCone *k)
 
scs_int scs_validate_cones (const ScsData *RESTRICT d, const ScsCone *RESTRICT k)
 
scs_int scs_project_dual_cone (scs_float *RESTRICT x, const ScsCone *RESTRICT k, ScsConeWork *RESTRICT c, const scs_float *RESTRICT warm_start, scs_int iter)
 
void scs_finish_cone (ScsConeWork *RESTRICT coneWork)
 
char * scs_get_cone_summary (const ScsInfo *RESTRICT info, ScsConeWork *RESTRICT c)
 
+

Typedef Documentation

+ +
+
+ + + + +
typedef struct scs_cone_work ScsConeWork
+
+ +

Workspace for cones.

+

private data to help cone projection step

+ +
+

Function Documentation

- +
- + - + @@ -146,14 +182,14 @@

Function Documentation

- +
void finishCone void scs_finish_cone (ConeWork *RESTRICT ScsConeWork *RESTRICT  coneWork)
- + - + @@ -169,18 +205,19 @@

Function Documentation

scs_int getConeBoundaries scs_int scs_get_cone_boundaries (const Cone *RESTRICT const ScsCone *RESTRICT  k,
-

boundaries will contain array of indices of rows of A corresponding to cone boundaries, boundaries[0] is starting index for cones of size larger than 1 returns length of boundaries array, boundaries malloc-ed here so should be freed

+

boundaries will contain array of indices of rows of A corresponding to cone boundaries, boundaries[0] is starting index for cones of size larger than 1

+
Returns
returns length of boundaries array, boundaries malloc-ed here so should be freed
- +
- + - + @@ -189,20 +226,20 @@

Function Documentation

- +
char* getConeHeader char* scs_get_cone_header (const Coneconst ScsCone k)
- + - + - + @@ -215,14 +252,14 @@

Function Documentation

- +
char* getConeSummary char* scs_get_cone_summary (const Info *RESTRICT const ScsInfo *RESTRICT  info,
ConeWork *RESTRICT ScsConeWork *RESTRICT  c 
- + - + @@ -231,12 +268,12 @@

Function Documentation

- +
ConeWork* initCone ScsConeWork* scs_init_conework (const Cone *RESTRICT const ScsCone *RESTRICT  k)
- + @@ -244,13 +281,13 @@

Function Documentation

- + - + @@ -276,20 +313,20 @@

Function Documentation

- +
scs_int projDualCone scs_int scs_project_dual_cone ( scs_float *RESTRICT  x,
const Cone *RESTRICT const ScsCone *RESTRICT  k,
ConeWork *RESTRICT ScsConeWork *RESTRICT  c,
- + - + - + @@ -305,7 +342,7 @@

Function Documentation

diff --git a/docs/cones_8h_source.html b/docs/cones_8h_source.html index 3f9a1d529..5755c9cd3 100644 --- a/docs/cones_8h_source.html +++ b/docs/cones_8h_source.html @@ -1,10 +1,13 @@ - - + + + + + -SuperSCS: include/cones.h Source File +SuperSCS: SuperSCS: Fast & Accurate conic programming @@ -21,6 +24,14 @@ + + +
@@ -28,8 +39,10 @@
scs_int validateCones scs_int scs_validate_cones (const Data *RESTRICT const ScsData *RESTRICT  d,
const Cone *RESTRICT const ScsCone *RESTRICT  k 
+ @@ -95,104 +108,132 @@
cones.h
-Go to the documentation of this file.
1 #ifndef CONES_H_GUARD
-
2 #define CONES_H_GUARD
-
3 
-
4 #ifdef __cplusplus
-
5 extern "C" {
-
6 #endif
-
7 
-
8 #include "glbopts.h"
-
9 #include "scs_blas.h"
-
10 
-
11  /* NB: rows of data matrix A must be specified in this exact order */
-
12 
-
21  struct SCS_CONE {
- - - - - - - - - - -
99  };
-
100 
-
104  typedef struct {
-
105 #ifdef LAPACK_LIB_FOUND
-
106  /* workspace for eigenvector decompositions: */
-
107  scs_float * RESTRICT Xs;
-
108  scs_float * RESTRICT Z;
-
109  scs_float * RESTRICT e;
-
110  scs_float * RESTRICT work;
-
111  blasint * RESTRICT iwork, lwork, liwork;
-
112 #endif
- -
114  } ConeWork;
-
115 
- -
124  const Cone * RESTRICT k,
-
125  scs_int ** RESTRICT boundaries);
-
126 
-
127  ConeWork *initCone(const Cone * RESTRICT k);
-
128 
-
129  char *getConeHeader(const Cone *k);
-
130 
- -
132  const Data * RESTRICT d,
-
133  const Cone * RESTRICT k);
-
134 
- -
141  scs_float * RESTRICT x,
-
142  const Cone * RESTRICT k,
-
143  ConeWork * RESTRICT c,
-
144  const scs_float * RESTRICT warm_start,
-
145  scs_int iter);
-
146 
-
147  void finishCone(
-
148  ConeWork * RESTRICT coneWork);
-
149 
-
150  char *getConeSummary(
-
151  const Info * RESTRICT info,
-
152  ConeWork * RESTRICT c);
-
153 
-
154 #ifdef __cplusplus
-
155 }
-
156 #endif
-
157 #endif
-
scs_int validateCones(const Data *RESTRICT d, const Cone *RESTRICT k)
-
#define RESTRICT
Definition: glbopts.h:13
-
struct containing problem data
Definition: scs.h:284
-
Cone structure.
Definition: cones.h:21
-
char * getConeSummary(const Info *RESTRICT info, ConeWork *RESTRICT c)
-
scs_int *RESTRICT q
Array of SOC constraints .
Definition: cones.h:53
-
Terminating information.
Definition: scs.h:487
-
scs_int getConeBoundaries(const Cone *RESTRICT k, scs_int **RESTRICT boundaries)
-
scs_float * p
Array of power cone params .
Definition: cones.h:93
-
scs_int l
Dimension of LP cone .
Definition: cones.h:38
-
scs_int psize
Number of (primal and dual) power cone tuples .
Definition: cones.h:98
-
ConeWork * initCone(const Cone *RESTRICT k)
+Go to the documentation of this file.
1 /*
+
2  * The MIT License (MIT)
+
3  *
+
4  * Copyright (c) 2017 Pantelis Sopasakis (https://alphaville.github.io),
+
5  * Krina Menounou (https://www.linkedin.com/in/krinamenounou),
+
6  * Panagiotis Patrinos (http://homes.esat.kuleuven.be/~ppatrino)
+
7  * Copyright (c) 2012 Brendan O'Donoghue (bodonoghue85@gmail.com)
+
8  *
+
9  * Permission is hereby granted, free of charge, to any person obtaining a copy
+
10  * of this software and associated documentation files (the "Software"), to deal
+
11  * in the Software without restriction, including without limitation the rights
+
12  * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+
13  * copies of the Software, and to permit persons to whom the Software is
+
14  * furnished to do so, subject to the following conditions:
+
15  *
+
16  * The above copyright notice and this permission notice shall be included in all
+
17  * copies or substantial portions of the Software.
+
18  *
+
19  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+
20  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+
21  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+
22  * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+
23  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+
24  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+
25  * SOFTWARE.
+
26  *
+
27  */
+
28 #ifndef SCS_CONES_H_GUARD
+
29 #define SCS_CONES_H_GUARD
+
30 
+
31 #ifdef __cplusplus
+
32 extern "C" {
+
33 #endif
+
34 
+
35 #include "glbopts.h"
+
36 #include "scs_blas.h"
+
37 
+
38  /* NB: rows of data matrix A must be specified in this exact order */
+
39 
+
48  struct scs_cone {
+ + + + + + + + + + +
126  };
+
127 
+
131  typedef struct scs_cone_work {
+
132 #ifdef LAPACK_LIB_FOUND
+
133  /* workspace for eigenvector decompositions: */
+
134  scs_float * RESTRICT Xs;
+
135  scs_float * RESTRICT Z;
+
136  scs_float * RESTRICT e;
+
137  scs_float * RESTRICT work;
+
138  blasint * RESTRICT iwork, lwork, liwork;
+
139 #endif
+ +
141  } ScsConeWork;
+
142 
+ +
152  const ScsCone * RESTRICT k,
+
153  scs_int ** RESTRICT boundaries);
+
154 
+ +
156 
+
157  char *scs_get_cone_header(const ScsCone *k);
+
158 
+ +
160  const ScsData * RESTRICT d,
+
161  const ScsCone * RESTRICT k);
+
162 
+ +
169  scs_float * RESTRICT x,
+
170  const ScsCone * RESTRICT k,
+
171  ScsConeWork * RESTRICT c,
+
172  const scs_float * RESTRICT warm_start,
+
173  scs_int iter);
+
174 
+
175  void scs_finish_cone(
+
176  ScsConeWork * RESTRICT coneWork);
+
177 
+
178  char *scs_get_cone_summary(
+
179  const ScsInfo * RESTRICT info,
+
180  ScsConeWork * RESTRICT c);
+
181 
+
182 #ifdef __cplusplus
+
183 }
+
184 #endif
+
185 #endif
+
scs_int f
Number of linear equality constraints .
Definition: cones.h:55
+
scs_int l
Dimension of LP cone .
Definition: cones.h:65
+
scs_float total_cone_time
Definition: cones.h:140
+
Terminating information.
Definition: scs.h:556
+
#define RESTRICT
Definition: glbopts.h:40
+
scs_int scs_validate_cones(const ScsData *RESTRICT d, const ScsCone *RESTRICT k)
+
scs_int scs_project_dual_cone(scs_float *RESTRICT x, const ScsCone *RESTRICT k, ScsConeWork *RESTRICT c, const scs_float *RESTRICT warm_start, scs_int iter)
+
char * scs_get_cone_summary(const ScsInfo *RESTRICT info, ScsConeWork *RESTRICT c)
+
scs_int *RESTRICT q
Array of SOC constraints .
Definition: cones.h:80
+
scs_int psize
Number of (primal and dual) power cone tuples .
Definition: cones.h:125
+
ScsConeWork * scs_init_conework(const ScsCone *RESTRICT k)
+
char * scs_get_cone_header(const ScsCone *k)
-
int scs_int
Definition: glbopts.h:65
-
void finishCone(ConeWork *RESTRICT coneWork)
-
scs_int ep
Number of primal exponential cone triples .
Definition: cones.h:80
-
scs_int ed
number of dual exponential cone triples
Definition: cones.h:86
+
int scs_int
Definition: glbopts.h:92
+
struct scs_cone_work ScsConeWork
Workspace for cones.
+
scs_int scs_get_cone_boundaries(const ScsCone *RESTRICT k, scs_int **RESTRICT boundaries)
-
scs_int projDualCone(scs_float *RESTRICT x, const Cone *RESTRICT k, ConeWork *RESTRICT c, const scs_float *RESTRICT warm_start, scs_int iter)
-
scs_int f
Number of linear equality constraints .
Definition: cones.h:28
-
Workspace for cones.
Definition: cones.h:104
-
double scs_float
Definition: glbopts.h:70
-
scs_int qsize
Length of SOC array, i.e., number of second-order cones .
Definition: cones.h:60
-
scs_float totalConeTime
Definition: cones.h:113
-
char * getConeHeader(const Cone *k)
-
scs_int *RESTRICT s
array of PSD constraints
Definition: cones.h:68
-
scs_int ssize
length of PSD array
Definition: cones.h:74
+
Cone structure.
Definition: cones.h:48
+
void scs_finish_cone(ScsConeWork *RESTRICT coneWork)
+
scs_int ssize
length of PSD array
Definition: cones.h:101
+
double scs_float
Definition: glbopts.h:96
+
scs_int ep
Number of primal exponential cone triples .
Definition: cones.h:107
+
struct containing problem data
Definition: scs.h:316
+
scs_int qsize
Length of SOC array, i.e., number of second-order cones .
Definition: cones.h:87
+
scs_float * p
Array of power cone params .
Definition: cones.h:120
+
scs_int ed
number of dual exponential cone triples
Definition: cones.h:113
+
scs_int *RESTRICT s
array of PSD constraints
Definition: cones.h:95
+
Workspace for cones.
Definition: cones.h:131
diff --git a/docs/cones__page_8h.html b/docs/cones__page_8h.html index d88e38c6c..d95e9da2c 100644 --- a/docs/cones__page_8h.html +++ b/docs/cones__page_8h.html @@ -1,10 +1,13 @@ - - + + + + + -SuperSCS: pages/cones_page.h File Reference +SuperSCS: SuperSCS: Fast & Accurate conic programming @@ -21,6 +24,14 @@ + + +
@@ -28,8 +39,10 @@
SuperSCS +  1.3.2
+ @@ -100,7 +113,7 @@ diff --git a/docs/cones__page_8h_source.html b/docs/cones__page_8h_source.html index 69f391ed1..25fe884cb 100644 --- a/docs/cones__page_8h_source.html +++ b/docs/cones__page_8h_source.html @@ -1,10 +1,13 @@ - - + + + + + -SuperSCS: pages/cones_page.h Source File +SuperSCS: SuperSCS: Fast & Accurate conic programming @@ -21,6 +24,14 @@ + + +
@@ -28,8 +39,10 @@
SuperSCS +  1.3.2
+ @@ -99,7 +112,7 @@ diff --git a/docs/constants_8h.html b/docs/constants_8h.html index 9830da442..18cef43ed 100644 --- a/docs/constants_8h.html +++ b/docs/constants_8h.html @@ -1,10 +1,13 @@ - - + + + + + -SuperSCS: include/constants.h File Reference +SuperSCS: SuperSCS: Fast & Accurate conic programming @@ -21,6 +24,14 @@ + + +
@@ -28,8 +39,10 @@
SuperSCS +  1.3.2
+ @@ -103,7 +116,7 @@
SuperSCS +  1.3.2
- + @@ -115,436 +128,443 @@ - + - + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Macros

#define SCS_VERSION   ("1.2.6-KUL-SuperMann")
#define SCS_VERSION   ("1.3.2-DEV")
 
#define SCS_INFEASIBLE_INACCURATE   (-7)
 
 
#define SCS_INDETERMINATE   (-3)
 
#define SCS_INFEASIBLE   (-2) /* primal infeasible, dual unbounded */
#define SCS_INFEASIBLE   (-2)
 
#define SCS_UNBOUNDED   (-1) /* primal unbounded, dual infeasible */
#define SCS_UNBOUNDED   (-1)
 
#define SCS_UNFINISHED   (0) /* never returned, used as placeholder */
#define SCS_UNFINISHED   (0)
 
#define SCS_SOLVED   (1)
 
#define SCS_SOLVED_INACCURATE   (2)
 
#define MAX_ITERS_DEFAULT   (2500)
 
#define EPS_DEFAULT   (1E-3)
 
#define ALPHA_DEFAULT   (1.5)
 
#define RHO_X_DEFAULT   (0.001)
 
#define SCALE_DEFAULT   (1.0)
 
#define CG_RATE_DEFAULT   (2.0)
 
#define VERBOSE_DEFAULT   (1)
 
#define NORMALIZE_DEFAULT   (1)
 
#define DO_RECORD_PROGRESS_DEFAULT   (0)
 
#define WARM_START_DEFAULT   (0)
 
#define DO_SUPERSCS_DEFAULT   (1)
 
#define K0_DEFAULT   (0)
 
#define K1_DEFAULT   (1)
 
#define K2_DEFAULT   (1)
 
#define NOMINAL_DEFAULT   (1)
 
#define C_BL_DEFAULT   (0.999)
 
#define C1_DEFAULT   (1.0-1E-4)
 
#define SSE_DEFAULT   (1.0-1E-3)
 
#define LS_DEFAULT   (10)
 
#define BETA_DEFAULT   (0.5)
 
#define SIGMA_DEFAULT   (1E-2)
 
#define DIRECTION_DEFAULT   (restarted_broyden)
 
#define TRULE_DEFAULT   (3)
 
#define DELTA_DEFAULT   (0.5)
 
#define THETABAR_DEFAULT   (1E-1)
 
#define ALPHAC_DEFAULT   (1E-2)
 
#define MEMORY_DEFAULT   (10)
 
#define SC_INIT_DEFAULT   (0)
 
#define BROYDEN_ISCALE_DEFAULT   (1)
 
#define OVERRIDE_STREAMS_DEFAULT   (0)
 
#define OUT_STREAM_DEFAULT   (stdout)
 
#define PMAXITER_DEFAULT   (-1)
 
#define SCS_MAX_TIME_MILLISECONDS   (300000.)
 
#define SCS_MAX_ITERS_DEFAULT   (10000)
 
#define SCS_EPS_DEFAULT   (1E-3)
 
#define SCS_ALPHA_DEFAULT   (1.5)
 
#define SCS_RHO_X_DEFAULT   (0.001)
 
#define SCS_SCALE_DEFAULT   (1.0)
 
#define SCS_CG_RATE_DEFAULT   (2.0)
 
#define SCS_VERBOSE_DEFAULT   (1)
 
#define SCS_NORMALIZE_DEFAULT   (1)
 
#define SCS_DO_RECORD_PROGRESS_DEFAULT   (0)
 
#define SCS_WARM_START_DEFAULT   (0)
 
#define SCS_DO_SUPERSCS_DEFAULT   (1)
 
#define SCS_K0_DEFAULT   (0)
 
#define SCS_K1_DEFAULT   (1)
 
#define SCS_K2_DEFAULT   (1)
 
#define SCS_NOMINAL_DEFAULT   (1)
 
#define SCS_C_BL_DEFAULT   (0.999)
 
#define SCS_C1_DEFAULT   (1.0-1E-4)
 
#define SCS_SSE_DEFAULT   (1.0-1E-3)
 
#define SCS_LS_DEFAULT   (10)
 
#define SCS_BETA_DEFAULT   (0.5)
 
#define SCS_SIGMA_DEFAULT   (1E-2)
 
#define SCS_DIRECTION_DEFAULT   (restarted_broyden)
 
#define SCS_TRULE_DEFAULT   (3)
 
#define SCS_THETABAR_DEFAULT   (1E-1)
 
#define SCS_ALPHAC_DEFAULT   (1E-2)
 
#define SCS_MEMORY_DEFAULT   (10)
 
#define SCS_SC_INIT_DEFAULT   (0)
 
#define SCS_BROYDEN_ISCS_SCALE_DEFAULT   (1)
 
#define SCS_OVERRIDE_STREAMS_DEFAULT   (0)
 
#define SCS_OUT_STREAM_DEFAULT   (stdout)
 
#define SCS_PMAXITER_DEFAULT   (-1)
 

Macro Definition Documentation

- +
- +
#define ALPHA_DEFAULT   (1.5)#define SCS_ALPHA_DEFAULT   (1.5)
- +
- +
#define ALPHAC_DEFAULT   (1E-2)#define SCS_ALPHAC_DEFAULT   (1E-2)
- +
- +
#define BETA_DEFAULT   (0.5)#define SCS_BETA_DEFAULT   (0.5)
- +
- +
#define BROYDEN_ISCALE_DEFAULT   (1)#define SCS_BROYDEN_ISCS_SCALE_DEFAULT   (1)
- +
- +
#define C1_DEFAULT   (1.0-1E-4)#define SCS_C1_DEFAULT   (1.0-1E-4)
- +
- +
#define C_BL_DEFAULT   (0.999)#define SCS_C_BL_DEFAULT   (0.999)
- +
- +
#define CG_RATE_DEFAULT   (2.0)#define SCS_CG_RATE_DEFAULT   (2.0)
- +
- +
#define DELTA_DEFAULT   (0.5)#define SCS_DIRECTION_DEFAULT   (restarted_broyden)
- +
- +
#define DIRECTION_DEFAULT   (restarted_broyden)#define SCS_DO_RECORD_PROGRESS_DEFAULT   (0)
- +
- +
#define DO_RECORD_PROGRESS_DEFAULT   (0)#define SCS_DO_SUPERSCS_DEFAULT   (1)
- +
- +
#define DO_SUPERSCS_DEFAULT   (1)#define SCS_EPS_DEFAULT   (1E-3)
- +
- +
#define EPS_DEFAULT   (1E-3)#define SCS_FAILED   (-4)
+

SCS solver failed

- +
- +
#define K0_DEFAULT   (0)#define SCS_INDETERMINATE   (-3)
+

indeterminate solution

- +
- +
#define K1_DEFAULT   (1)#define SCS_INFEASIBLE   (-2)
+

primal infeasible, dual unbounded

- +
- +
#define K2_DEFAULT   (1)#define SCS_INFEASIBLE_INACCURATE   (-7)
+

Potentially infeasible (inaccurate solution)

- +
- +
#define LS_DEFAULT   (10)#define SCS_K0_DEFAULT   (0)
- +
- +
#define MAX_ITERS_DEFAULT   (2500)#define SCS_K1_DEFAULT   (1)
- +
- +
#define MEMORY_DEFAULT   (10)#define SCS_K2_DEFAULT   (1)
- +
- +
#define NOMINAL_DEFAULT   (1)#define SCS_LS_DEFAULT   (10)
- +
- +
#define NORMALIZE_DEFAULT   (1)#define SCS_MAX_ITERS_DEFAULT   (10000)
+

Default maximum number of iterations.

- +
- +
#define OUT_STREAM_DEFAULT   (stdout)#define SCS_MAX_TIME_MILLISECONDS   (300000.)
+

Default maximum allowed runtime for (Super)SCS.

- +
- +
#define OVERRIDE_STREAMS_DEFAULT   (0)#define SCS_MEMORY_DEFAULT   (10)
- +
- +
#define PMAXITER_DEFAULT   (-1)#define SCS_NOMINAL_DEFAULT   (1)
- +
- +
#define RHO_X_DEFAULT   (0.001)#define SCS_NORMALIZE_DEFAULT   (1)
- +
- +
#define SC_INIT_DEFAULT   (0)#define SCS_OUT_STREAM_DEFAULT   (stdout)
- +
- +
#define SCALE_DEFAULT   (1.0)#define SCS_OVERRIDE_STREAMS_DEFAULT   (0)
- +
- +
#define SCS_FAILED   (-4)#define SCS_PMAXITER_DEFAULT   (-1)
- +
- +
#define SCS_INDETERMINATE   (-3)#define SCS_RHO_X_DEFAULT   (0.001)
- +
- +
#define SCS_INFEASIBLE   (-2) /* primal infeasible, dual unbounded */#define SCS_SC_INIT_DEFAULT   (0)
- +
- +
#define SCS_INFEASIBLE_INACCURATE   (-7)#define SCS_SCALE_DEFAULT   (1.0)
@@ -560,148 +580,154 @@

Macro Definition Documentation

+

Solver interrupted by SIGINT.

- +
- +
#define SCS_SOLVED   (1)#define SCS_SIGMA_DEFAULT   (1E-2)
- +
- +
#define SCS_SOLVED_INACCURATE   (2)#define SCS_SOLVED   (1)
+

Problem successfully solved within the prescribed tolerance.

- +
- +
#define SCS_UNBOUNDED   (-1) /* primal unbounded, dual infeasible */#define SCS_SOLVED_INACCURATE   (2)
+

Problem seems to be feasible; suboptimal solution found.

- +
- +
#define SCS_UNBOUNDED_INACCURATE   (-6)#define SCS_SSE_DEFAULT   (1.0-1E-3)
- +
- +
#define SCS_UNFINISHED   (0) /* never returned, used as placeholder */#define SCS_THETABAR_DEFAULT   (1E-1)
- +
- +
#define SCS_VERSION   ("1.2.6-KUL-SuperMann")#define SCS_TRULE_DEFAULT   (3)
-

Version of SCS

- +
- +
#define SIGMA_DEFAULT   (1E-2)#define SCS_UNBOUNDED   (-1)
+

primal unbounded, dual infeasible

- +
- +
#define SSE_DEFAULT   (1.0-1E-3)#define SCS_UNBOUNDED_INACCURATE   (-6)
+

Potentially unbounded (inaccurate solution)

- +
- +
#define THETABAR_DEFAULT   (1E-1)#define SCS_UNFINISHED   (0)
+

This status code never returned, used as placeholder

- +
- +
#define TRULE_DEFAULT   (3)#define SCS_VERBOSE_DEFAULT   (1)
- +
- +
#define VERBOSE_DEFAULT   (1)#define SCS_VERSION   ("1.3.2-DEV")
+

Version of SCS

- +
- +
#define WARM_START_DEFAULT   (0)#define SCS_WARM_START_DEFAULT   (0)
@@ -711,7 +737,7 @@

Macro Definition Documentation

diff --git a/docs/constants_8h_source.html b/docs/constants_8h_source.html index 6cf1818e4..182404d2c 100644 --- a/docs/constants_8h_source.html +++ b/docs/constants_8h_source.html @@ -1,10 +1,13 @@ - - + + + + + -SuperSCS: include/constants.h Source File +SuperSCS: SuperSCS: Fast & Accurate conic programming @@ -21,6 +24,14 @@ + + +
@@ -28,8 +39,10 @@ + @@ -95,84 +108,124 @@
constants.h
-Go to the documentation of this file.
1 #ifndef CONSTANTS_H_GUARD
-
2 #define CONSTANTS_H_GUARD
-
3 
-
4 #include "glbopts.h"
-
5 
-
6 
-
7 #ifdef __cplusplus
-
8 extern "C" {
-
9 #endif
-
10 
-
11  /* SCS VERSION NUMBER ---------------------------------------------- */
-
12  /* string literals automatically null-terminated */
-
16 #define SCS_VERSION \
-
17  ("1.2.6-KUL-SuperMann")
-
18 
-
19 
-
20  /* SCS returns one of the following integers: */
-
21 #define SCS_INFEASIBLE_INACCURATE (-7)
-
22 #define SCS_UNBOUNDED_INACCURATE (-6)
-
23 #define SCS_SIGINT (-5)
-
24 #define SCS_FAILED (-4)
-
25 #define SCS_INDETERMINATE (-3)
-
26 #define SCS_INFEASIBLE (-2) /* primal infeasible, dual unbounded */
-
27 #define SCS_UNBOUNDED (-1) /* primal unbounded, dual infeasible */
-
28 #define SCS_UNFINISHED (0) /* never returned, used as placeholder */
-
29 #define SCS_SOLVED (1)
-
30 #define SCS_SOLVED_INACCURATE (2)
-
31 
-
32  /* DEFAULT SOLVER PARAMETERS AND SETTINGS -------------------------- */
-
33 #define MAX_ITERS_DEFAULT (2500)
-
34 #define EPS_DEFAULT (1E-3)
-
35 #define ALPHA_DEFAULT (1.5)
-
36 #define RHO_X_DEFAULT (0.001)
-
37 #define SCALE_DEFAULT (1.0)
-
38 #define CG_RATE_DEFAULT (2.0)
-
39 #define VERBOSE_DEFAULT (1)
-
40 #define NORMALIZE_DEFAULT (1)
-
41 #define DO_RECORD_PROGRESS_DEFAULT (0)
-
42 #define WARM_START_DEFAULT (0)
-
43 
-
44  /* Parameters for Superscs*/
-
45 #define DO_SUPERSCS_DEFAULT (1)
-
46 #define K0_DEFAULT (0)
-
47 #define K1_DEFAULT (1)
-
48 #define K2_DEFAULT (1)
-
49 #define NOMINAL_DEFAULT (1)
-
50 #define C_BL_DEFAULT (0.999)
-
51 #define C1_DEFAULT (1.0-1E-4)
-
52 #define SSE_DEFAULT (1.0-1E-3)
+Go to the documentation of this file.
1 /*
+
2  * The MIT License (MIT)
+
3  *
+
4  * Copyright (c) 2017 Pantelis Sopasakis (https://alphaville.github.io),
+
5  * Krina Menounou (https://www.linkedin.com/in/krinamenounou),
+
6  * Panagiotis Patrinos (http://homes.esat.kuleuven.be/~ppatrino)
+
7  * Copyright (c) 2012 Brendan O'Donoghue (bodonoghue85@gmail.com)
+
8  *
+
9  * Permission is hereby granted, free of charge, to any person obtaining a copy
+
10  * of this software and associated documentation files (the "Software"), to deal
+
11  * in the Software without restriction, including without limitation the rights
+
12  * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+
13  * copies of the Software, and to permit persons to whom the Software is
+
14  * furnished to do so, subject to the following conditions:
+
15  *
+
16  * The above copyright notice and this permission notice shall be included in all
+
17  * copies or substantial portions of the Software.
+
18  *
+
19  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+
20  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+
21  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+
22  * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+
23  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+
24  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+
25  * SOFTWARE.
+
26  *
+
27  */
+
28 #ifndef SCS_CONSTANTS_H_GUARD
+
29 #define SCS_CONSTANTS_H_GUARD
+
30 
+
31 #include "glbopts.h"
+
32 
+
33 
+
34 #ifdef __cplusplus
+
35 extern "C" {
+
36 #endif
+
37 
+
38  /* SCS VERSION NUMBER ---------------------------------------------- */
+
39  /* string literals automatically null-terminated */
+
43 #define SCS_VERSION \
+
44  ("1.3.2-DEV")
+
45 
+
46 
+
47  /* SCS returns one of the following integers: */
+
48 
+
52 #define SCS_INFEASIBLE_INACCURATE (-7)
53 
-
54  /* Line-search defaults */
-
55 #define LS_DEFAULT (10)
-
56 #define BETA_DEFAULT (0.5)
-
57 #define SIGMA_DEFAULT (1E-2)
-
58 
-
59  /* Direction Defaults */
-
60 #define DIRECTION_DEFAULT (restarted_broyden)
-
61 #define TRULE_DEFAULT (3)
-
62 #define DELTA_DEFAULT (0.5)
-
63 #define THETABAR_DEFAULT (1E-1)
-
64 #define ALPHAC_DEFAULT (1E-2)
-
65 #define MEMORY_DEFAULT (10)
-
66 #define SC_INIT_DEFAULT (0)
-
67 #define BROYDEN_ISCALE_DEFAULT (1)
-
68 #define OVERRIDE_STREAMS_DEFAULT (0)
-
69 
-
70  /* Other */
-
71 #define OUT_STREAM_DEFAULT (stdout)
-
72 #define PMAXITER_DEFAULT (-1)
-
73 #ifdef __cplusplus
-
74 }
-
75 #endif
-
76 #endif
+
56 #define SCS_UNBOUNDED_INACCURATE (-6)
+
57 
+
60 #define SCS_SIGINT (-5)
+
61 
+
64 #define SCS_FAILED (-4)
+
65 
+
68 #define SCS_INDETERMINATE (-3)
+
69 
+
72 #define SCS_INFEASIBLE (-2)
+
73 
+
76 #define SCS_UNBOUNDED (-1)
+
77 
+
80 #define SCS_UNFINISHED (0)
+
81 
+
84 #define SCS_SOLVED (1)
+
85 
+
88 #define SCS_SOLVED_INACCURATE (2)
+
89 
+
90  /* DEFAULT SOLVER PARAMETERS AND SETTINGS -------------------------- */
+
91 
+
95 #define SCS_MAX_TIME_MILLISECONDS (300000.)
+
96 
+
99 #define SCS_MAX_ITERS_DEFAULT (10000)
+
100 #define SCS_EPS_DEFAULT (1E-3)
+
101 #define SCS_ALPHA_DEFAULT (1.5)
+
102 #define SCS_RHO_X_DEFAULT (0.001)
+
103 #define SCS_SCALE_DEFAULT (1.0)
+
104 #define SCS_CG_RATE_DEFAULT (2.0)
+
105 #define SCS_VERBOSE_DEFAULT (1)
+
106 #define SCS_NORMALIZE_DEFAULT (1)
+
107 #define SCS_DO_RECORD_PROGRESS_DEFAULT (0)
+
108 #define SCS_WARM_START_DEFAULT (0)
+
109 
+
110  /* Parameters for Superscs*/
+
111 #define SCS_DO_SUPERSCS_DEFAULT (1)
+
112 #define SCS_K0_DEFAULT (0)
+
113 #define SCS_K1_DEFAULT (1)
+
114 #define SCS_K2_DEFAULT (1)
+
115 #define SCS_NOMINAL_DEFAULT (1)
+
116 #define SCS_C_BL_DEFAULT (0.999)
+
117 #define SCS_C1_DEFAULT (1.0-1E-4)
+
118 #define SCS_SSE_DEFAULT (1.0-1E-3)
+
119 
+
120  /* Line-search defaults */
+
121 #define SCS_LS_DEFAULT (10)
+
122 #define SCS_BETA_DEFAULT (0.5)
+
123 #define SCS_SIGMA_DEFAULT (1E-2)
+
124 
+
125  /* Direction Defaults */
+
126 #define SCS_DIRECTION_DEFAULT (restarted_broyden)
+
127 #define SCS_TRULE_DEFAULT (3)
+
128 #define SCS_THETABAR_DEFAULT (1E-1)
+
129 #define SCS_ALPHAC_DEFAULT (1E-2)
+
130 #define SCS_MEMORY_DEFAULT (10)
+
131 #define SCS_SC_INIT_DEFAULT (0)
+
132 #define SCS_BROYDEN_ISCS_SCALE_DEFAULT (1)
+
133 #define SCS_OVERRIDE_STREAMS_DEFAULT (0)
+
134 
+
135  /* Other */
+
136 #define SCS_OUT_STREAM_DEFAULT (stdout)
+
137 
+
140 #define SCS_PMAXITER_DEFAULT (-1)
+
141 #ifdef __cplusplus
+
142 }
+
143 #endif
+
144 #endif
diff --git a/docs/contributing__page_8h.html b/docs/contributing__page_8h.html new file mode 100644 index 000000000..a074f8e91 --- /dev/null +++ b/docs/contributing__page_8h.html @@ -0,0 +1,121 @@ + + + + + + + + + +SuperSCS: SuperSCS: Fast & Accurate conic programming + + + + + + + + + + + + + + +
+
+
SuperSCS +  1.3.2
+ + + + + + +
+
SuperSCS +  1.3.2 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
contributing_page.h File Reference
+
+ + + + + diff --git a/docs/contributing__page_8h_source.html b/docs/contributing__page_8h_source.html new file mode 100644 index 000000000..eade5abcf --- /dev/null +++ b/docs/contributing__page_8h_source.html @@ -0,0 +1,120 @@ + + + + + + + + + +SuperSCS: SuperSCS: Fast & Accurate conic programming + + + + + + + + + + + + + + +
+
+ + + + + + + +
+
SuperSCS +  1.3.2 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
contributing_page.h
+
+ + + + + diff --git a/docs/cs_8h.html b/docs/cs_8h.html index 22b8604ca..7e3d96e7c 100644 --- a/docs/cs_8h.html +++ b/docs/cs_8h.html @@ -1,10 +1,13 @@ - - + + + + + -SuperSCS: include/cs.h File Reference +SuperSCS: SuperSCS: Fast & Accurate conic programming @@ -21,6 +24,14 @@ + + +
@@ -28,8 +39,10 @@ + @@ -105,60 +118,62 @@
SuperSCS +  1.3.2
- - + +

Data Structures

struct  cs_sparse
 Matrix in compressed-column or triplet form. More...
struct  scs_cs_sparse
 Matrix in compressed-column or triplet form. More...
 
- - - + + +

Typedefs

typedef struct cs_sparse cs
 Matrix in compressed-column or triplet form. More...
 
typedef struct scs_cs_sparse scs_cs
 Matrix in compressed-column or triplet form. More...
 
- - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + +

Functions

cscs_compress (const cs *T)
 Compress a triplet matrix into a column-packed representation. More...
 
cscs_done (cs *C, void *w, void *x, scs_int ok)
 Frees the memory of x and w>. More...
 
cscs_spalloc (scs_int m, scs_int n, scs_int nzmax, scs_int values, scs_int triplet)
 Allocates a sparse matrix of given dimensions. More...
 
cscs_spfree (cs *A)
 
scs_float cs_cumsum (scs_int *p, scs_int *c, scs_int n)
 
scs_intcs_pinv (scs_int const *p, scs_int n)
 
cscs_symperm (const cs *A, const scs_int *pinv, scs_int values)
 
scs_csscs_cs_compress (const scs_cs *T)
 Compress a triplet matrix into a column-packed representation. More...
 
scs_csscs_cs_done (scs_cs *C, void *w, void *x, scs_int ok)
 Frees the memory of x and w>. More...
 
scs_csscs_cs_spalloc (scs_int m, scs_int n, scs_int nzmax, scs_int values, scs_int triplet)
 Allocates a sparse matrix of given dimensions. More...
 
scs_csscs_cs_spfree (scs_cs *A)
 
scs_float scs_cs_cumsum (scs_int *p, scs_int *c, scs_int n)
 
scs_intscs_cs_pinv (scs_int const *p, scs_int n)
 
scs_csscs_cs_symperm (const scs_cs *A, const scs_int *pinv, scs_int values)
 

Typedef Documentation

- +
- +
typedef struct cs_sparse cstypedef struct scs_cs_sparse scs_cs

Matrix in compressed-column or triplet form.

+

This is a subset of the routines in the CSPARSE package by Tim Davis et. al. For the full package please visit http://www.cise.ufl.edu/research/sparse/CSparse/.

+
Note
In order to avoid conflicts in case some users want to load both SuperSCS and CSPARSE in their project, we have prepended the prefix scs_ in all function names here (although not necessary, we did it in static functions for uniformity.

Function Documentation

- +
- + - + @@ -169,12 +184,12 @@

Function Documentation

- +
cs* cs_compress scs_cs* scs_cs_compress (const csconst scs_cs T)
- + @@ -201,14 +216,14 @@

Function Documentation

- +
scs_float cs_cumsum scs_float scs_cs_cumsum ( scs_int p,
- + - + @@ -238,7 +253,7 @@

Function Documentation

Frees the memory of x and w>.

-

If ok is nonzero, it returns C, otherwise it frees C (it calls cs_spfree) and returns SCS_NULL.

+

If ok is nonzero, it returns C, otherwise it frees C (it calls scs_cs_spfree) and returns SCS_NULL.

Parameters
cs* cs_done scs_cs* scs_cs_done (csscs_cs C,
@@ -252,12 +267,12 @@

Function Documentation

- +
C
- + @@ -278,12 +293,12 @@

Function Documentation

- +
scs_int* cs_pinv scs_int* scs_cs_pinv ( scs_int const *  p,
- + @@ -323,11 +338,11 @@

Function Documentation

Allocates a sparse matrix of given dimensions.

Parameters
cs* cs_spalloc scs_cs* scs_cs_spalloc ( scs_int  m,
- - - - - + + + + +
m
n
nzmax
values
triplet
mnumber of rows
nnumber of columns
nzmaxmaximum number of nonzero elements
valueswhether to allocate memory for the matrix values
tripletwhether the triplet representation is used
@@ -335,14 +350,14 @@

Function Documentation

- +
- + - + @@ -351,14 +366,14 @@

Function Documentation

- +
cs* cs_spfree scs_cs* scs_cs_spfree (csscs_cs A)
- + - + @@ -386,7 +401,7 @@

Function Documentation

diff --git a/docs/cs_8h_source.html b/docs/cs_8h_source.html index 0832e87c2..02dbf57e7 100644 --- a/docs/cs_8h_source.html +++ b/docs/cs_8h_source.html @@ -1,10 +1,13 @@ - - + + + + + -SuperSCS: include/cs.h Source File +SuperSCS: SuperSCS: Fast & Accurate conic programming @@ -21,6 +24,14 @@ + + +
@@ -28,8 +39,10 @@
cs* cs_symperm scs_cs* scs_cs_symperm (const csconst scs_cs A,
+ @@ -95,54 +108,100 @@
cs.h
-Go to the documentation of this file.
1 #ifndef CS_H_GUARD
-
2 #define CS_H_GUARD
-
3 
-
4 #include "glbopts.h"
-
5 
-
10 typedef struct cs_sparse
-
11  {
- - - - - - - -
19 } cs;
-
20 
-
24 cs *cs_compress(const cs *T);
-
37 cs *cs_done(cs *C, void *w, void *x, scs_int ok);
-
48 cs *cs_spalloc(scs_int m, scs_int n, scs_int nzmax, scs_int values,
-
49  scs_int triplet);
-
50 cs *cs_spfree(cs *A);
- -
52 scs_int *cs_pinv(scs_int const *p, scs_int n);
-
53 cs *cs_symperm(const cs *A, const scs_int *pinv, scs_int values);
-
54 #endif
-
scs_float cs_cumsum(scs_int *p, scs_int *c, scs_int n)
-
scs_int * cs_pinv(scs_int const *p, scs_int n)
-
cs * cs_spfree(cs *A)
-
scs_int m
number of rows
Definition: cs.h:13
-
scs_int nzmax
maximum number of entries
Definition: cs.h:12
-
cs * cs_spalloc(scs_int m, scs_int n, scs_int nzmax, scs_int values, scs_int triplet)
Allocates a sparse matrix of given dimensions.
-
struct cs_sparse cs
Matrix in compressed-column or triplet form.
-
scs_int nz
Number of entries in triplet matrix, -1 for compressed-col.
Definition: cs.h:18
+Go to the documentation of this file.
1 /*
+
2  * The MIT License (MIT)
+
3  *
+
4  * Copyright (c) 2017 Pantelis Sopasakis (https://alphaville.github.io),
+
5  * Krina Menounou (https://www.linkedin.com/in/krinamenounou),
+
6  * Panagiotis Patrinos (http://homes.esat.kuleuven.be/~ppatrino)
+
7  * Copyright (c) 2012 Brendan O'Donoghue (bodonoghue85@gmail.com)
+
8  *
+
9  * Permission is hereby granted, free of charge, to any person obtaining a copy
+
10  * of this software and associated documentation files (the "Software"), to deal
+
11  * in the Software without restriction, including without limitation the rights
+
12  * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+
13  * copies of the Software, and to permit persons to whom the Software is
+
14  * furnished to do so, subject to the following conditions:
+
15  *
+
16  * The above copyright notice and this permission notice shall be included in all
+
17  * copies or substantial portions of the Software.
+
18  *
+
19  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+
20  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+
21  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+
22  * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+
23  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+
24  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+
25  * SOFTWARE.
+
26  *
+
27  */
+
28 #ifndef SCS_CS_H_GUARD
+
29 #define SCS_CS_H_GUARD
+
30 
+
31 #include "glbopts.h"
+
32 
+
46 typedef struct scs_cs_sparse {
+ + + + + + + +
54 } scs_cs;
+
55 
+
59 scs_cs *scs_cs_compress(const scs_cs *T);
+
60 
+
61 
+
74 scs_cs *scs_cs_done(scs_cs *C, void *w, void *x, scs_int ok);
+
75 
+ +
87  scs_int m,
+
88  scs_int n,
+
89  scs_int nzmax,
+
90  scs_int values,
+
91  scs_int triplet);
+
92 
+ +
94 
+ +
96  scs_int *p,
+
97  scs_int *c,
+
98  scs_int n);
+
99 
+ +
101  scs_int const *p,
+
102  scs_int n);
+
103 
+ +
105  const scs_cs *A,
+
106  const scs_int *pinv,
+
107  scs_int values);
+
108 
+
109 #endif
+
scs_float * x
numerical values, size nzmax
Definition: cs.h:52
+
scs_int * p
column pointers (size n+1) or col indices (size nzmax)
Definition: cs.h:50
+
scs_int nzmax
maximum number of entries
Definition: cs.h:47
+
scs_int * scs_cs_pinv(scs_int const *p, scs_int n)
+
scs_cs * scs_cs_done(scs_cs *C, void *w, void *x, scs_int ok)
Frees the memory of x and w>.
+
scs_float scs_cs_cumsum(scs_int *p, scs_int *c, scs_int n)
-
cs * cs_symperm(const cs *A, const scs_int *pinv, scs_int values)
-
int scs_int
Definition: glbopts.h:65
-
Matrix in compressed-column or triplet form.
Definition: cs.h:10
-
scs_int * p
column pointers (size n+1) or col indices (size nzmax)
Definition: cs.h:15
-
cs * cs_done(cs *C, void *w, void *x, scs_int ok)
Frees the memory of x and w>.
-
scs_int n
number of columns
Definition: cs.h:14
-
cs * cs_compress(const cs *T)
Compress a triplet matrix into a column-packed representation.
-
scs_float * x
numerical values, size nzmax
Definition: cs.h:17
-
double scs_float
Definition: glbopts.h:70
-
scs_int * i
row indices, size nzmax
Definition: cs.h:16
+
int scs_int
Definition: glbopts.h:92
+
scs_int m
number of rows
Definition: cs.h:48
+
scs_cs * scs_cs_symperm(const scs_cs *A, const scs_int *pinv, scs_int values)
+
scs_int n
number of columns
Definition: cs.h:49
+
scs_cs * scs_cs_spfree(scs_cs *A)
+
double scs_float
Definition: glbopts.h:96
+
scs_int nz
Number of entries in triplet matrix, -1 for compressed-col.
Definition: cs.h:53
+
Matrix in compressed-column or triplet form.
Definition: cs.h:46
+
scs_cs * scs_cs_compress(const scs_cs *T)
Compress a triplet matrix into a column-packed representation.
+
struct scs_cs_sparse scs_cs
Matrix in compressed-column or triplet form.
+
scs_cs * scs_cs_spalloc(scs_int m, scs_int n, scs_int nzmax, scs_int values, scs_int triplet)
Allocates a sparse matrix of given dimensions.
+
scs_int * i
row indices, size nzmax
Definition: cs.h:51
diff --git a/docs/ctrlc_8h.html b/docs/ctrlc_8h.html index 5aa697d94..402dda1ce 100644 --- a/docs/ctrlc_8h.html +++ b/docs/ctrlc_8h.html @@ -1,10 +1,13 @@ - - + + + + + -SuperSCS: include/ctrlc.h File Reference +SuperSCS: SuperSCS: Fast & Accurate conic programming @@ -21,6 +24,14 @@ + + +
@@ -28,8 +39,10 @@
SuperSCS +  1.3.2
+ @@ -158,7 +171,7 @@

Macro Definition Documentation

diff --git a/docs/ctrlc_8h_source.html b/docs/ctrlc_8h_source.html index 6c5bc2337..50a629645 100644 --- a/docs/ctrlc_8h_source.html +++ b/docs/ctrlc_8h_source.html @@ -1,10 +1,13 @@ - - + + + + + -SuperSCS: include/ctrlc.h Source File +SuperSCS: SuperSCS: Fast & Accurate conic programming @@ -21,6 +24,14 @@ + + +
@@ -28,8 +39,10 @@
SuperSCS +  1.3.2
+ @@ -96,54 +109,82 @@
Go to the documentation of this file.
1 /*
-
2  * Interface for SCS signal handling.
-
3  */
-
4 
-
5 #ifndef CTRLC_H_GUARD
-
6 #define CTRLC_H_GUARD
-
7 
-
8 #if CTRLC > 0
-
9 
-
10 #if defined MATLAB_MEX_FILE
-
11 
-
12 /* No header file available here; define the prototypes ourselves */
-
13 extern int utIsInterruptPending();
-
14 extern int utSetInterruptEnabled(int);
-
15 
-
16 #elif(defined _WIN32 || defined _WIN64 || defined _WINDLL)
-
17 
-
18 /* Use Windows SetConsoleCtrlHandler for signal handling */
-
19 #include <windows.h>
-
20 
-
21 #else
-
22 
-
23 /* Use POSIX clocl_gettime() for timing on non-Windows machines */
-
24 #include <signal.h>
-
25 
-
26 #endif
-
27 
-
28 /* METHODS are the same for both */
-
29 void startInterruptListener(void);
-
30 void endInterruptListener(void);
-
31 int isInterrupted(void);
+
2  * The MIT License (MIT)
+
3  *
+
4  * Copyright (c) 2017 Pantelis Sopasakis (https://alphaville.github.io),
+
5  * Krina Menounou (https://www.linkedin.com/in/krinamenounou),
+
6  * Panagiotis Patrinos (http://homes.esat.kuleuven.be/~ppatrino)
+
7  * Copyright (c) 2012 Brendan O'Donoghue (bodonoghue85@gmail.com)
+
8  *
+
9  * Permission is hereby granted, free of charge, to any person obtaining a copy
+
10  * of this software and associated documentation files (the "Software"), to deal
+
11  * in the Software without restriction, including without limitation the rights
+
12  * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+
13  * copies of the Software, and to permit persons to whom the Software is
+
14  * furnished to do so, subject to the following conditions:
+
15  *
+
16  * The above copyright notice and this permission notice shall be included in all
+
17  * copies or substantial portions of the Software.
+
18  *
+
19  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+
20  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+
21  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+
22  * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+
23  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+
24  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+
25  * SOFTWARE.
+
26  *
+
27  */
+
28 
+
29 /*
+
30  * Interface for SCS signal handling.
+
31  */
32 
-
33 #else /* CTRLC = 0 */
-
34 
-
35 /* No signal handling. */
-
36 #define startInterruptListener()
-
37 #define endInterruptListener()
-
38 #define isInterrupted() 0
+
33 #ifndef CTRLC_H_GUARD
+
34 #define CTRLC_H_GUARD
+
35 
+
36 #if CTRLC > 0
+
37 
+
38 #if defined MATLAB_MEX_FILE
39 
-
40 #endif /* END IF CTRLC > 0 */
-
41 
-
42 #endif /* END IFDEF __TIMER_H__ */
-
#define endInterruptListener()
Definition: ctrlc.h:37
-
#define startInterruptListener()
Definition: ctrlc.h:36
-
#define isInterrupted()
Definition: ctrlc.h:38
+
40 /* No header file available here; define the prototypes ourselves */
+
41 extern int utIsInterruptPending();
+
42 extern int utSetInterruptEnabled(int);
+
43 
+
44 #elif(defined _WIN32 || defined _WIN64 || defined _WINDLL)
+
45 
+
46 /* Use Windows SetConsoleCtrlHandler for signal handling */
+
47 #include <windows.h>
+
48 
+
49 #else
+
50 
+
51 /* Use POSIX clocl_gettime() for timing on non-Windows machines */
+
52 #include <signal.h>
+
53 
+
54 #endif
+
55 
+
56 /* METHODS are the same for both */
+
57 void startInterruptListener(void);
+
58 void endInterruptListener(void);
+
59 int isInterrupted(void);
+
60 
+
61 #else /* CTRLC = 0 */
+
62 
+
63 /* No signal handling. */
+
64 #define startInterruptListener()
+
65 #define endInterruptListener()
+
66 #define isInterrupted() 0
+
67 
+
68 #endif /* END IF CTRLC > 0 */
+
69 
+
70 #endif /* END IFDEF __TIMER_H__ */
+
#define endInterruptListener()
Definition: ctrlc.h:65
+
#define startInterruptListener()
Definition: ctrlc.h:64
+
#define isInterrupted()
Definition: ctrlc.h:66
diff --git a/docs/cvx__examples__page_8h.html b/docs/cvx__examples__page_8h.html index a535f48f8..a58d600c3 100644 --- a/docs/cvx__examples__page_8h.html +++ b/docs/cvx__examples__page_8h.html @@ -1,10 +1,13 @@ - - + + + + + -SuperSCS: pages/cvx_examples_page.h File Reference +SuperSCS: SuperSCS: Fast & Accurate conic programming @@ -21,6 +24,14 @@ + + +
@@ -28,8 +39,10 @@
SuperSCS +  1.3.2
+ @@ -100,7 +113,7 @@ diff --git a/docs/cvx__examples__page_8h_source.html b/docs/cvx__examples__page_8h_source.html index b90c0b8c6..4be0e2d68 100644 --- a/docs/cvx__examples__page_8h_source.html +++ b/docs/cvx__examples__page_8h_source.html @@ -1,10 +1,13 @@ - - + + + + + -SuperSCS: pages/cvx_examples_page.h Source File +SuperSCS: SuperSCS: Fast & Accurate conic programming @@ -21,6 +24,14 @@ + + +
@@ -28,8 +39,10 @@
SuperSCS +  1.3.2
+ @@ -99,7 +112,7 @@ diff --git a/docs/dir_208d2690607c4e3d3fabfa1d18673d36.html b/docs/dir_208d2690607c4e3d3fabfa1d18673d36.html index d376decff..d23da67e6 100644 --- a/docs/dir_208d2690607c4e3d3fabfa1d18673d36.html +++ b/docs/dir_208d2690607c4e3d3fabfa1d18673d36.html @@ -1,10 +1,13 @@ - - + + + + + -SuperSCS: pages Directory Reference +SuperSCS: SuperSCS: Fast & Accurate conic programming @@ -21,6 +24,14 @@ + + +
@@ -28,8 +39,10 @@
SuperSCS +  1.3.2
+ @@ -98,6 +111,8 @@ + + @@ -108,6 +123,8 @@ + + @@ -124,7 +141,7 @@ diff --git a/docs/dir_d44c64559bbebec7f509842c48db8b23.html b/docs/dir_d44c64559bbebec7f509842c48db8b23.html index 080f86855..5f39beb47 100644 --- a/docs/dir_d44c64559bbebec7f509842c48db8b23.html +++ b/docs/dir_d44c64559bbebec7f509842c48db8b23.html @@ -1,10 +1,13 @@ - - + + + + + -SuperSCS: include Directory Reference +SuperSCS: SuperSCS: Fast & Accurate conic programming @@ -21,6 +24,14 @@ + + +
@@ -28,8 +39,10 @@
SuperSCS +  1.3.2
 
file  cones_page.h [code]
 
file  contributing_page.h [code]
 
file  cvx_examples_page.h [code]
 
file  directions_page.h [code]
 
file  mainpage.h [code]
 
file  maros_meszaros_page.h [code]
 
file  profiling_page.h [code]
 
file  save_load_page.h [code]
+ @@ -122,7 +135,7 @@ diff --git a/docs/dir_fb0086aade6051f3295c491b7001283a.html b/docs/dir_fb0086aade6051f3295c491b7001283a.html index 3c4feb111..211aa5d65 100644 --- a/docs/dir_fb0086aade6051f3295c491b7001283a.html +++ b/docs/dir_fb0086aade6051f3295c491b7001283a.html @@ -1,10 +1,13 @@ - - + + + + + -SuperSCS: linsys Directory Reference +SuperSCS: SuperSCS: Fast & Accurate conic programming @@ -21,6 +24,14 @@ + + +
@@ -28,8 +39,10 @@
SuperSCS +  1.3.2
+ @@ -98,7 +111,7 @@ diff --git a/docs/directions_8h.html b/docs/directions_8h.html index 45e3c764b..5dc295927 100644 --- a/docs/directions_8h.html +++ b/docs/directions_8h.html @@ -1,10 +1,13 @@ - - + + + + + -SuperSCS: include/directions.h File Reference +SuperSCS: SuperSCS: Fast & Accurate conic programming @@ -21,6 +24,14 @@ + + +
@@ -28,8 +39,10 @@
SuperSCS +  1.3.2
+ @@ -104,37 +117,37 @@
SuperSCS +  1.3.2
- - - - - - - - + + + + + + + +

Macros

#define DIRECTION_CACHE_INCREMENT   101
 
#define DIRECTION_CACHE_RESET   100
 
#define DIRECTION_ERROR   -1
 
#define DIRECTION_SUCCESS   0
 
#define SCS_DIRECTION_CACHE_INCREMENT   101
 
#define SCS_DIRECTION_CACHE_RESET   100
 
#define SCS_DIRECTION_ERROR   -1
 
#define SCS_DIRECTION_SUCCESS   0
 
- - - - - - - - - - - - + + + + + + + + + + + +

Functions

scs_int resetDirectionCache (DirectionCache *cache)
 
scs_int computeLSBroyden (Work *work)
 
scs_int computeAndersonDirection (Work *work)
 
scs_int computeFullBroyden (Work *work, scs_int i)
 
void freeFullBroyden (void)
 
scs_int computeDirection (Work *work, scs_int i)
 
scs_int scs_reset_direction_cache (ScsDirectionCache *cache)
 
scs_int scs_compute_dir_restarted_broyden (ScsWork *work)
 
scs_int scs_compute_dir_anderson (ScsWork *work)
 
scs_int scs_compute_dir_full_broyden (ScsWork *work, scs_int i)
 
void scs_free_full_broyden (void)
 
scs_int scs_compute_direction (ScsWork *work, scs_int i)
 

Macro Definition Documentation

- +
- +
#define DIRECTION_CACHE_INCREMENT   101#define SCS_DIRECTION_CACHE_INCREMENT   101
@@ -142,12 +155,12 @@

Macro Definition Documentation

- +
- +
#define DIRECTION_CACHE_RESET   100#define SCS_DIRECTION_CACHE_RESET   100
@@ -155,12 +168,12 @@

Macro Definition Documentation

- +
- +
#define DIRECTION_ERROR   -1#define SCS_DIRECTION_ERROR   -1
@@ -168,12 +181,12 @@

Macro Definition Documentation

- +
- +
#define DIRECTION_SUCCESS   0#define SCS_DIRECTION_SUCCESS   0
@@ -183,14 +196,14 @@

Macro Definition Documentation

Function Documentation

- +
- + - + @@ -207,14 +220,14 @@

Function Documentation

- +
scs_int computeAndersonDirection scs_int scs_compute_dir_anderson (WorkScsWork work)
- + - + @@ -230,87 +243,87 @@

Function Documentation

scs_int computeDirection scs_int scs_compute_dir_full_broyden (WorkScsWork work,
-

Computes a direction according to the value of work->stgs->direction.

+

Full Broyden method.

Parameters
- - + +
workworkspace structure
iiteration count
work
i
-
Returns
status code; negative status corresponds to error.
-
See Also
direction_type
+
Returns
status code of the method.
+
See Also
Full Broyden Algorithm
+
Warning
Not implemented yet
- +
- + - - - - - - - - - - + + - -
scs_int computeFullBroyden scs_int scs_compute_dir_restarted_broyden (Workwork,
scs_int i 
ScsWorkwork) )
-

Full Broyden method.

+

Restarted Broyden (as it is reported in the paper).

Parameters
- - +
work
i
workWork structure with all available information about the current iteration (current FPR, values of \(s_k\), \(y_k\) etc).
Returns
status code of the method.
-
See Also
Full Broyden Algorithm
-
Warning
Not implemented yet
+
See Also
Restarted Broyden Algorithm
- +
- + - - + + + + + + + + + + + +
scs_int computeLSBroyden scs_int scs_compute_direction (Workwork)ScsWorkwork,
scs_int i 
)
-

Restarted Broyden (as it is reported in the paper).

+

Computes a direction according to the value of work->stgs->direction.

Parameters
- + +
workWork structure with all available information about the current iteration (current FPR, values of \(s_k\), \(y_k\) etc).
workworkspace structure
iiteration count
-
Returns
status code of the method.
-
See Also
Restarted Broyden Algorithm
+
Returns
status code; negative status corresponds to error.
+
See Also
ScsDirectionType
- +
- + @@ -322,14 +335,14 @@

Function Documentation

- +
void freeFullBroyden void scs_free_full_broyden ( void  )
- + - + @@ -342,14 +355,14 @@

Function Documentation

scs_int resetDirectionCache scs_int scs_reset_direction_cache (DirectionCacheScsDirectionCache cache)
-
Returns
status code (returns DIRECTION_CACHE_RESET)
+
Returns
status code (returns SCS_DIRECTION_CACHE_RESET)
diff --git a/docs/directions_8h_source.html b/docs/directions_8h_source.html index 9a1047798..d9ee785e2 100644 --- a/docs/directions_8h_source.html +++ b/docs/directions_8h_source.html @@ -1,10 +1,13 @@ - - + + + + + -SuperSCS: include/directions.h Source File +SuperSCS: SuperSCS: Fast & Accurate conic programming @@ -21,6 +24,14 @@ + + +
@@ -28,8 +39,10 @@ + @@ -95,56 +108,83 @@
directions.h
-Go to the documentation of this file.
1 #ifndef DIRECTIONS_H
-
2 #define DIRECTIONS_H
-
3 
-
4 #ifdef __cplusplus
-
5 extern "C" {
-
6 #endif
-
7 
-
8 #include "scs.h"
-
9 
-
13 #define DIRECTION_CACHE_INCREMENT 101
-
14 
-
17 #define DIRECTION_CACHE_RESET 100
-
18 
-
21 #define DIRECTION_ERROR -1
-
22 
-
27 #define DIRECTION_SUCCESS 0
-
28 
- -
39 
- -
51 
- -
61 
- -
75 
-
79  void freeFullBroyden(void);
-
80 
- -
92 
-
93 
-
94 #ifdef __cplusplus
-
95 }
-
96 #endif
-
97 
-
98 #endif /* DIRECTIONS_H */
-
99 
-
scs_int computeFullBroyden(Work *work, scs_int i)
+Go to the documentation of this file.
1 /*
+
2  * The MIT License (MIT)
+
3  *
+
4  * Copyright (c) 2017 Pantelis Sopasakis (https://alphaville.github.io),
+
5  * Krina Menounou (https://www.linkedin.com/in/krinamenounou),
+
6  * Panagiotis Patrinos (http://homes.esat.kuleuven.be/~ppatrino)
+
7  * Copyright (c) 2012 Brendan O'Donoghue (bodonoghue85@gmail.com)
+
8  *
+
9  * Permission is hereby granted, free of charge, to any person obtaining a copy
+
10  * of this software and associated documentation files (the "Software"), to deal
+
11  * in the Software without restriction, including without limitation the rights
+
12  * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+
13  * copies of the Software, and to permit persons to whom the Software is
+
14  * furnished to do so, subject to the following conditions:
+
15  *
+
16  * The above copyright notice and this permission notice shall be included in all
+
17  * copies or substantial portions of the Software.
+
18  *
+
19  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+
20  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+
21  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+
22  * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+
23  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+
24  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+
25  * SOFTWARE.
+
26  *
+
27  */
+
28 #ifndef SCS_DIRECTIONS_H
+
29 #define SCS_DIRECTIONS_H
+
30 
+
31 #ifdef __cplusplus
+
32 extern "C" {
+
33 #endif
+
34 
+
35 #include "scs.h"
+
36 
+
40 #define SCS_DIRECTION_CACHE_INCREMENT 101
+
41 
+
44 #define SCS_DIRECTION_CACHE_RESET 100
+
45 
+
48 #define SCS_DIRECTION_ERROR -1
+
49 
+
54 #define SCS_DIRECTION_SUCCESS 0
+
55 
+ +
66 
+ +
78 
+ +
88 
+ +
102 
+
106  void scs_free_full_broyden(void);
+
107 
+ +
119 
+
120 
+
121 #ifdef __cplusplus
+
122 }
+
123 #endif
+
124 
+
125 #endif /* DIRECTIONS_H */
+
126 
-
Workspace for SCS.
Definition: scs.h:45
-
scs_int computeDirection(Work *work, scs_int i)
-
scs_int computeLSBroyden(Work *work)
-
scs_int resetDirectionCache(DirectionCache *cache)
-
Memory for the computation of directions (Broyden and Anderson's methods).
Definition: scs.h:30
-
int scs_int
Definition: glbopts.h:65
-
scs_int computeAndersonDirection(Work *work)
-
void freeFullBroyden(void)
+
scs_int scs_reset_direction_cache(ScsDirectionCache *cache)
+
scs_int scs_compute_direction(ScsWork *work, scs_int i)
+
scs_int scs_compute_dir_restarted_broyden(ScsWork *work)
+
scs_int scs_compute_dir_anderson(ScsWork *work)
+
void scs_free_full_broyden(void)
+
int scs_int
Definition: glbopts.h:92
+
scs_int scs_compute_dir_full_broyden(ScsWork *work, scs_int i)
+
Workspace for SCS.
Definition: scs.h:137
+
Memory for the computation of directions (Broyden and Anderson's methods).
Definition: scs.h:122
diff --git a/docs/directions__page_8h.html b/docs/directions__page_8h.html index aa758933b..5c9be1c87 100644 --- a/docs/directions__page_8h.html +++ b/docs/directions__page_8h.html @@ -1,10 +1,13 @@ - - + + + + + -SuperSCS: pages/directions_page.h File Reference +SuperSCS: SuperSCS: Fast & Accurate conic programming @@ -21,6 +24,14 @@ + + +
@@ -28,8 +39,10 @@
SuperSCS +  1.3.2
+ @@ -100,7 +113,7 @@ diff --git a/docs/directions__page_8h_source.html b/docs/directions__page_8h_source.html index 2e2e472ec..0a4588713 100644 --- a/docs/directions__page_8h_source.html +++ b/docs/directions__page_8h_source.html @@ -1,10 +1,13 @@ - - + + + + + -SuperSCS: pages/directions_page.h Source File +SuperSCS: SuperSCS: Fast & Accurate conic programming @@ -21,6 +24,14 @@ + + +
@@ -28,8 +39,10 @@
SuperSCS +  1.3.2
+ @@ -99,7 +112,7 @@ diff --git a/docs/dox_extra.css b/docs/dox_extra.css index 9a67097cb..0317d45ca 100644 --- a/docs/dox_extra.css +++ b/docs/dox_extra.css @@ -1,3 +1,7 @@ +code { + color: DarkOliveGreen; +} + body, table, div, p, dl { color: #332; font: 400 19px/22px Roboto,sans-serif; diff --git a/docs/files.html b/docs/files.html index d153fb2d4..0675d7436 100644 --- a/docs/files.html +++ b/docs/files.html @@ -1,10 +1,13 @@ - - + + + + + -SuperSCS: File List +SuperSCS: SuperSCS: Fast & Accurate conic programming @@ -21,6 +24,14 @@ + + +
@@ -28,8 +39,10 @@
SuperSCS +  1.3.2
+ @@ -113,23 +126,25 @@ - - - - - - - - - - - + + + + + + + + + + + + +
SuperSCS +  1.3.2
 o*basic_doc_page.h
 o*benchmarks_page.h
 o*cones_page.h
 o*cvx_examples_page.h
 o*directions_page.h
 o*installation_page.h
 o*logging_page.h
 o*mainpage.h
 o*profiling_page.h
 o*save_load_page.h
 o*socp_page.h
 o*sparse_martrices_page.h
 o*superscs_page.h
 \*warm_starting_page.h
 o*contributing_page.h
 o*cvx_examples_page.h
 o*directions_page.h
 o*installation_page.h
 o*logging_page.h
 o*mainpage.h
 o*maros_meszaros_page.h
 o*profiling_page.h
 o*save_load_page.h
 o*socp_page.h
 o*sparse_martrices_page.h
 o*superscs_page.h
 \*warm_starting_page.h
diff --git a/docs/functions.html b/docs/functions.html index 4a2ea37f8..513212d52 100644 --- a/docs/functions.html +++ b/docs/functions.html @@ -1,10 +1,13 @@ - - + + + + + -SuperSCS: Data Fields +SuperSCS: SuperSCS: Fast & Accurate conic programming @@ -21,6 +24,14 @@ + + +
@@ -28,8 +39,10 @@ + @@ -126,423 +139,421 @@

- a -

- b -

- c -

- d -

- e -

- f -

- g -

- h -

- i -

- k -

- l -

- m -

- n -

- o -

- p -

- q -

- r -

- s -

- t -

SuperSCS +  1.3.2
+ @@ -126,423 +139,421 @@

- a -

- b -

- c -

- d -

- e -

- f -

- g -

- h -

- i -

- k -

- l -

- m -

- n -

- o -

- p -

- q -

- r -

- s -

- t -

SuperSCS +  1.3.2
+ @@ -111,17 +124,17 @@ - - - - - - - + + + + + + + - + - + @@ -141,10 +154,6 @@ - - - -
SuperSCS +  1.3.2
 
#define scs_printf   printf
 
#define _scs_free   free
 
#define _scs_malloc   malloc
 
#define _scs_calloc   calloc
 
#define scs_free(x)   if ((x)!=NULL) { _scs_free(x); x = SCS_NULL; }
#define scs_free_   free
 
#define scs_malloc_   malloc
 
#define scs_calloc_   calloc
 
#define scs_free(x)   if ((x)!=NULL) { scs_free_(x); x = SCS_NULL; }
 
#define scs_malloc(x)   (((x) > 0) ? _scs_malloc(x) : SCS_NULL)
#define scs_malloc(x)   (((x) > 0) ? scs_malloc_(x) : SCS_NULL)
 
#define scs_calloc(x, y)   _scs_calloc(x, y)
#define scs_calloc(x, y)   scs_calloc_(x, y)
 
#define NAN   ((scs_float)0x7ff8000000000000)
 
 
#define SQRTF   sqrt
 
#define DEBUG_FUNC
 
#define RETURN   return
 
@@ -152,25 +161,32 @@ - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + +

Typedefs

 
typedef double scs_float
 
typedef struct SCS_PROBLEM_DATA Data
 
typedef struct SCS_SETTINGS Settings
 
typedef struct SCS_SOL_VARS Sol
 
typedef struct SCS_INFO Info
 
typedef struct SCS_SCALING Scaling
 
typedef struct SCS_WORK Work
 
typedef struct SCS_CONE Cone
 Cartesian product of cones. More...
 
typedef struct SCS_DIRECTION_MEMORY DirectionCache
 
typedef enum direction_enum direction_type
 
typedef struct scs_data ScsData
 Data of a conic optimization problem. More...
 
typedef struct scs_settings ScsSettings
 Solver settings. More...
 
typedef struct scs_solution ScsSolution
 Primal and dual solution. More...
 
typedef struct scs_info ScsInfo
 Solver statistics and information. More...
 
typedef struct scs_scaling ScsScaling
 Scaling/normalization matrices. More...
 
typedef struct scs_work ScsWork
 SuperSCS Workspace structure. More...
 
typedef struct scs_cone ScsCone
 Cartesian product of cones. More...
 
typedef struct scs_direction_cache ScsDirectionCache
 
typedef enum direction_enum ScsDirectionType
 Direction computation method (in SuperSCS) More...
 
@@ -183,45 +199,10 @@   full_broyden = 300
} +

Enumerations

 Direction computation method (in SuperSCS) More...
 

Macro Definition Documentation

- -
-
- - - - -
#define _scs_calloc   calloc
-
- -
-
- -
-
- - - - -
#define _scs_free   free
-
- -
-
- -
-
- - - - -
#define _scs_malloc   malloc
-
- -
-
@@ -235,18 +216,7 @@

Macro Definition Documentation

- -
-
- -
-
- - - - -
#define DEBUG_FUNC
-
+

Absolute value of a number

@@ -285,6 +255,7 @@

Macro Definition Documentation

+

Maximum value of two scalars

@@ -311,6 +282,7 @@

Macro Definition Documentation

+

Minimum value of two scalars

@@ -348,18 +320,6 @@

Macro Definition Documentation

-
- - -
-
- - - - -
#define RETURN   return
-
-
@@ -381,7 +341,19 @@

Macro Definition Documentation

) -    _scs_calloc(x, y) +    scs_calloc_(x, y) + + +
+ +
+ + +
+
+ + +
#define scs_calloc_   calloc
@@ -397,7 +369,19 @@

Macro Definition Documentation

(   x) -    if ((x)!=NULL) { _scs_free(x); x = SCS_NULL; } +    if ((x)!=NULL) { scs_free_(x); x = SCS_NULL; } + + +
+ +
+
+ +
+
+ + +
#define scs_free_   free
@@ -413,7 +397,19 @@

Macro Definition Documentation

(   x) -    (((x) > 0) ? _scs_malloc(x) : SCS_NULL) +    (((x) > 0) ? scs_malloc_(x) : SCS_NULL) + + +
+ +
+
+ +
+
+ + +
#define scs_malloc_   malloc
@@ -457,6 +453,7 @@

Macro Definition Documentation

+

Sign of a number

@@ -473,141 +470,156 @@

Macro Definition Documentation

Typedef Documentation

- +
- +
typedef struct SCS_CONE Conetypedef double scs_float
-

Cartesian product of cones.

-
See Also
Cones documentation
-
- +
- +
typedef struct SCS_PROBLEM_DATA Datatypedef int scs_int
- +
- +
typedef enum direction_enum - direction_typetypedef struct scs_cone ScsCone
+

Cartesian product of cones.

+
See Also
Cones documentation
+
- +
- +
typedef struct SCS_DIRECTION_MEMORY DirectionCachetypedef struct scs_data ScsData
-

A finite-memory cache where \((Y, U)\) are stored.

+ +

Data of a conic optimization problem.

+

Problem dimensions, matrix \(A\), vectors \(b\) and \(c\) and settings.

- +
- +
typedef struct SCS_INFO Infotypedef struct scs_direction_cache ScsDirectionCache
+

A finite-memory cache where \((Y, U)\) are stored.

- +
- +
typedef struct SCS_SCALING Scalingtypedef enum direction_enum + ScsDirectionType
+

Direction computation method (in SuperSCS)

+
- +
- +
typedef double scs_floattypedef struct scs_info ScsInfo
+

Solver statistics and information.

+
- +
- +
typedef int scs_inttypedef struct scs_scaling ScsScaling
+

Scaling/normalization matrices.

+
- +
- +
typedef struct SCS_SETTINGS Settingstypedef struct scs_settings ScsSettings
+

Solver settings.

+
- +
- +
typedef struct SCS_SOL_VARS Soltypedef struct scs_solution ScsSolution
+

Primal and dual solution.

+
- +
- +
typedef struct SCS_WORK Worktypedef struct scs_work ScsWork
+

SuperSCS Workspace structure.

+

Enumeration Type Documentation

@@ -620,6 +632,8 @@

Enumeration Type Documentation

+ +

Direction computation method (in SuperSCS)

Enumerator
restarted_broyden 

Restarted Broyden method

@@ -643,7 +657,7 @@

Enumeration Type Documentation

diff --git a/docs/glbopts_8h_source.html b/docs/glbopts_8h_source.html index c8e6331b4..e7924a9b5 100644 --- a/docs/glbopts_8h_source.html +++ b/docs/glbopts_8h_source.html @@ -1,10 +1,13 @@ - - + + + + + -SuperSCS: include/glbopts.h Source File +SuperSCS: SuperSCS: Fast & Accurate conic programming @@ -21,6 +24,14 @@ + + +
@@ -28,8 +39,10 @@ + @@ -95,183 +108,201 @@
glbopts.h
-Go to the documentation of this file.
1 #ifndef GLB_H_GUARD
-
2 #define GLB_H_GUARD
-
3 
-
4 #ifdef __cplusplus
-
5 extern "C" {
-
6 #endif
-
7 
-
8 #include <math.h>
-
9 
-
10 #ifdef RESTRICT
-
11 #undef RESTRICT
-
12 #endif
-
13 #define RESTRICT __restrict
-
14 
-
15 
-
16  /* redefine printfs and memory allocators as needed */
-
17 #ifdef MATLAB_MEX_FILE
-
18 #include "mex.h"
-
19 #define scs_printf mexPrintf
-
20 #define _scs_free mxFree
-
21 #define _scs_malloc mxMalloc
-
22 #define _scs_calloc mxCalloc
-
23 #elif defined PYTHON
-
24 #include <Python.h>
-
25 #include <stdlib.h>
-
26 #define scs_printf(...) \
-
27  { \
-
28  PyGILState_STATE gilstate = PyGILState_Ensure(); \
-
29  PySys_WriteStdout(__VA_ARGS__); \
-
30  PyGILState_Release(gilstate); \
-
31  }
-
32 #define _scs_free free
-
33 #define _scs_malloc malloc
-
34 #define _scs_calloc calloc
-
35 #elif(defined(USING_R))
-
36 #include <stdlib.h>
-
37 #include <stdio.h>
-
38 #include <R_ext/Print.h> /* Rprintf etc */
-
39 #define scs_printf Rprintf
-
40 #define _scs_free free
-
41 #define _scs_malloc malloc
-
42 #define _scs_calloc calloc
-
43 #else
-
44 #include <stdio.h>
-
45 #include <stdlib.h>
-
46 #define scs_printf printf
-
47 #define _scs_free free
-
48 #define _scs_malloc malloc
-
49 #define _scs_calloc calloc
-
50 #endif
-
51 
-
52 #define scs_free(x) if ((x)!=NULL) { _scs_free(x); x = SCS_NULL; }
-
53 #define scs_malloc(x) (((x) > 0) ? _scs_malloc(x) : SCS_NULL)
-
54 #define scs_calloc(x, y) _scs_calloc(x, y)
-
55 
-
56 #ifdef DLONG
-
57 #ifdef _WIN64
-
58  typedef __int64 scs_int;
-
59  /* #define scs_int __int64 */
-
60 #else
-
61  typedef long scs_int;
-
62  /* #define scs_int long */
-
63 #endif
-
64 #else
-
65  typedef int scs_int;
-
66  /* #define scs_int int */
-
67 #endif
-
68 
-
69 #ifndef FLOAT
-
70  typedef double scs_float;
-
71 #ifndef NAN
-
72 #define NAN ((scs_float)0x7ff8000000000000)
-
73 #endif
-
74 #ifndef INFINITY
-
75 #define INFINITY NAN
-
76 #endif
-
77 #else
-
78  typedef float scs_float;
-
79 #ifndef NAN
-
80 #define NAN ((float)0x7fc00000)
-
81 #endif
-
82 #ifndef INFINITY
-
83 #define INFINITY NAN
-
84 #endif
-
85 #endif
-
86 
-
87 #define SCS_NULL 0
-
88 
-
89 #ifndef MAX
-
90 #define MAX(a, b) (((a) > (b)) ? (a) : (b))
-
91 #endif
-
92 
-
93 #ifndef MIN
-
94 #define MIN(a, b) (((a) < (b)) ? (a) : (b))
-
95 #endif
-
96 
-
97 #ifndef ABS
-
98 #define ABS(x) (((x) < 0) ? -(x) : (x))
+Go to the documentation of this file.
1 /*
+
2  * The MIT License (MIT)
+
3  *
+
4  * Copyright (c) 2017 Pantelis Sopasakis (https://alphaville.github.io),
+
5  * Krina Menounou (https://www.linkedin.com/in/krinamenounou),
+
6  * Panagiotis Patrinos (http://homes.esat.kuleuven.be/~ppatrino)
+
7  * Copyright (c) 2012 Brendan O'Donoghue (bodonoghue85@gmail.com)
+
8  *
+
9  * Permission is hereby granted, free of charge, to any person obtaining a copy
+
10  * of this software and associated documentation files (the "Software"), to deal
+
11  * in the Software without restriction, including without limitation the rights
+
12  * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+
13  * copies of the Software, and to permit persons to whom the Software is
+
14  * furnished to do so, subject to the following conditions:
+
15  *
+
16  * The above copyright notice and this permission notice shall be included in all
+
17  * copies or substantial portions of the Software.
+
18  *
+
19  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+
20  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+
21  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+
22  * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+
23  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+
24  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+
25  * SOFTWARE.
+
26  *
+
27  */
+
28 #ifndef SCS_GLB_H_GUARD
+
29 #define SCS_GLB_H_GUARD
+
30 
+
31 #ifdef __cplusplus
+
32 extern "C" {
+
33 #endif
+
34 
+
35 #include <math.h>
+
36 
+
37 #ifdef RESTRICT
+
38 #undef RESTRICT
+
39 #endif
+
40 #define RESTRICT __restrict
+
41 
+
42 
+
43  /* redefine printfs and memory allocators as needed */
+
44 #ifdef MATLAB_MEX_FILE
+
45 #include "mex.h"
+
46 #define scs_printf mexPrintf
+
47 #define scs_free_ mxFree
+
48 #define scs_malloc_ mxMalloc
+
49 #define scs_calloc_ mxCalloc
+
50 #elif defined PYTHON
+
51 #include <Python.h>
+
52 #include <stdlib.h>
+
53 #define scs_printf(...) \
+
54  { \
+
55  PyGILState_STATE gilstate = PyGILState_Ensure(); \
+
56  PySys_WriteStdout(__VA_ARGS__); \
+
57  PyGILState_Release(gilstate); \
+
58  }
+
59 #define scs_free_ free
+
60 #define scs_malloc_ malloc
+
61 #define scs_calloc_ calloc
+
62 #elif(defined(USING_R))
+
63 #include <stdlib.h>
+
64 #include <stdio.h>
+
65 #include <R_ext/Print.h> /* Rprintf etc */
+
66 #define scs_printf Rprintf
+
67 #define scs_free_ free
+
68 #define scs_malloc_ malloc
+
69 #define scs_calloc_ calloc
+
70 #else
+
71 #include <stdio.h>
+
72 #include <stdlib.h>
+
73 #define scs_printf printf
+
74 #define scs_free_ free
+
75 #define scs_malloc_ malloc
+
76 #define scs_calloc_ calloc
+
77 #endif
+
78 
+
79 #define scs_free(x) if ((x)!=NULL) { scs_free_(x); x = SCS_NULL; }
+
80 #define scs_malloc(x) (((x) > 0) ? scs_malloc_(x) : SCS_NULL)
+
81 #define scs_calloc(x, y) scs_calloc_(x, y)
+
82 
+
83 #ifdef DLONG
+
84 #ifdef _WIN64
+
85  typedef __int64 scs_int;
+
86  /* #define scs_int __int64 */
+
87 #else
+
88  typedef long scs_int;
+
89  /* #define scs_int long */
+
90 #endif
+
91 #else
+
92  typedef int scs_int;
+
93 #endif
+
94 
+
95 #ifndef FLOAT
+
96  typedef double scs_float;
+
97 #ifndef NAN
+
98 #define NAN ((scs_float)0x7ff8000000000000)
99 #endif
-
100 
-
101 #ifndef SGN
-
102 #define SGN(x) (((x) >= 0) ? 1.0 : -1.0)
-
103 #endif
-
104 
-
105 #ifndef POWF
-
106 #ifdef FLOAT
-
107 #define POWF powf
-
108 #else
-
109 #define POWF pow
+
100 #ifndef INFINITY
+
101 #define INFINITY NAN
+
102 #endif
+
103 #else
+
104  typedef float scs_float;
+
105 #ifndef NAN
+
106 #define NAN ((float)0x7fc00000)
+
107 #endif
+
108 #ifndef INFINITY
+
109 #define INFINITY NAN
110 #endif
111 #endif
112 
-
113 #ifndef SQRTF
-
114 #ifdef FLOAT
-
115 #define SQRTF sqrtf
-
116 #else
-
117 #define SQRTF sqrt
-
118 #endif
-
119 #endif
-
120 
-
121 #if EXTRAVERBOSE > 1
-
122 #define DEBUG_FUNC \
-
123  scs_printf("IN function: %s, time: %4f ms, file: %s, line: %i\n", \
-
124  __func__, tocq(&globalTimer), __FILE__, __LINE__);
-
125 #define RETURN \
-
126  scs_printf("EXIT function: %s, time: %4f ms, file: %s, line: %i\n", \
-
127  __func__, tocq(&globalTimer), __FILE__, __LINE__); \
-
128  return
-
129 #else
-
130 #define DEBUG_FUNC
-
131 #define RETURN return
-
132 #endif
-
133 
-
134  typedef struct SCS_PROBLEM_DATA Data;
-
135  typedef struct SCS_SETTINGS Settings;
-
136  typedef struct SCS_SOL_VARS Sol;
-
137  typedef struct SCS_INFO Info;
-
138  typedef struct SCS_SCALING Scaling;
-
139  typedef struct SCS_WORK Work;
-
145  typedef struct SCS_CONE Cone;
- -
150 
-
151  typedef
-
152  enum direction_enum {
- - - - - -
173  }
- -
175 
-
176 #ifdef __cplusplus
-
177 }
-
178 #endif
-
179 #endif
-
Definition: glbopts.h:156
-
Workspace for SCS.
Definition: scs.h:45
-
struct containing problem data
Definition: scs.h:284
-
Cone structure.
Definition: cones.h:21
-
Primal-dual solution arrays.
Definition: scs.h:476
-
Definition: glbopts.h:160
-
direction_enum
Definition: glbopts.h:151
-
Terminating information.
Definition: scs.h:487
-
Memory for the computation of directions (Broyden and Anderson's methods).
Definition: scs.h:30
-
Settings structure.
Definition: scs.h:305
-
Definition: glbopts.h:172
-
Definition: glbopts.h:164
-
int scs_int
Definition: glbopts.h:65
-
enum direction_enum direction_type
-
double scs_float
Definition: glbopts.h:70
-
Definition: glbopts.h:168
-
Normalization variables.
Definition: scs.h:517
+
113 #define SCS_NULL 0
+
114 
+
115 #ifndef MAX
+
116 
+
119 #define MAX(a, b) (((a) > (b)) ? (a) : (b))
+
120 #endif
+
121 
+
122 #ifndef MIN
+
123 
+
126 #define MIN(a, b) (((a) < (b)) ? (a) : (b))
+
127 #endif
+
128 
+
129 #ifndef ABS
+
130 
+
133 #define ABS(x) (((x) < 0) ? -(x) : (x))
+
134 #endif
+
135 
+
136 #ifndef SGN
+
137 
+
140 #define SGN(x) (((x) >= 0) ? 1.0 : -1.0)
+
141 #endif
+
142 
+
143 #ifndef POWF
+
144 #ifdef FLOAT
+
145 #define POWF powf
+
146 #else
+
147 #define POWF pow
+
148 #endif
+
149 #endif
+
150 
+
151 #ifndef SQRTF
+
152 #ifdef FLOAT
+
153 #define SQRTF sqrtf
+
154 #else
+
155 #define SQRTF sqrt
+
156 #endif
+
157 #endif
+
158 
+
159 
+
166  typedef struct scs_data ScsData;
+
170  typedef struct scs_settings ScsSettings;
+
174  typedef struct scs_solution ScsSolution;
+
178  typedef struct scs_info ScsInfo;
+
182  typedef struct scs_scaling ScsScaling;
+
186  typedef struct scs_work ScsWork;
+
192  typedef struct scs_cone ScsCone;
+ +
197 
+
201  typedef
+
202  enum direction_enum {
+ + + + + +
223  }
+ +
225 
+
226 #ifdef __cplusplus
+
227 }
+
228 #endif
+
229 #endif
+
Definition: glbopts.h:206
+
Terminating information.
Definition: scs.h:556
+
Definition: glbopts.h:210
+
enum direction_enum ScsDirectionType
Direction computation method (in SuperSCS)
+
direction_enum
Direction computation method (in SuperSCS)
Definition: glbopts.h:201
+
Definition: glbopts.h:222
+
Definition: glbopts.h:214
+
int scs_int
Definition: glbopts.h:92
+
Cone structure.
Definition: cones.h:48
+
double scs_float
Definition: glbopts.h:96
+
struct containing problem data
Definition: scs.h:316
+
Workspace for SCS.
Definition: scs.h:137
+
Definition: glbopts.h:218
+
Memory for the computation of directions (Broyden and Anderson's methods).
Definition: scs.h:122
+
Settings structure.
Definition: scs.h:352
+
Normalization variables.
Definition: scs.h:586
+
Primal-dual solution arrays.
Definition: scs.h:536
diff --git a/docs/globals.html b/docs/globals.html index 69b39da43..6eecfb7e5 100644 --- a/docs/globals.html +++ b/docs/globals.html @@ -1,10 +1,13 @@ - - + + + + + -SuperSCS: Globals +SuperSCS: SuperSCS: Fast & Accurate conic programming @@ -21,6 +24,14 @@ + + +
@@ -28,8 +39,10 @@
SuperSCS +  1.3.2
+ @@ -84,28 +97,20 @@ @@ -126,44 +131,10 @@
Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:
-

- _ -

- -

- a -

diff --git a/docs/globals_defs.html b/docs/globals_defs.html index d65ce4010..1f5352838 100644 --- a/docs/globals_defs.html +++ b/docs/globals_defs.html @@ -1,10 +1,13 @@ - - + + + + + -SuperSCS: Globals +SuperSCS: SuperSCS: Fast & Accurate conic programming @@ -21,6 +24,14 @@ + + +
@@ -28,8 +39,10 @@
SuperSCS +  1.3.2
+ @@ -84,25 +97,16 @@ @@ -123,29 +127,10 @@
  -

- _ -

- -

- a -

diff --git a/docs/globals_enum.html b/docs/globals_enum.html index ab08d563a..bb954cf91 100644 --- a/docs/globals_enum.html +++ b/docs/globals_enum.html @@ -1,10 +1,13 @@ - - + + + + + -SuperSCS: Globals +SuperSCS: SuperSCS: Fast & Accurate conic programming @@ -21,6 +24,14 @@ + + +
@@ -28,8 +39,10 @@
SuperSCS +  1.3.2
+ @@ -106,7 +119,7 @@ diff --git a/docs/globals_eval.html b/docs/globals_eval.html index d030718db..03a2530c7 100644 --- a/docs/globals_eval.html +++ b/docs/globals_eval.html @@ -1,10 +1,13 @@ - - + + + + + -SuperSCS: Globals +SuperSCS: SuperSCS: Fast & Accurate conic programming @@ -21,6 +24,14 @@ + + +
@@ -28,8 +39,10 @@
SuperSCS +  1.3.2
+ @@ -118,7 +131,7 @@ diff --git a/docs/globals_func.html b/docs/globals_func.html index 05ffc01e2..3d03940cd 100644 --- a/docs/globals_func.html +++ b/docs/globals_func.html @@ -1,10 +1,13 @@ - - + + + + + -SuperSCS: Globals +SuperSCS: SuperSCS: Fast & Accurate conic programming @@ -21,6 +24,14 @@ + + +
@@ -28,8 +39,10 @@
SuperSCS +  1.3.2
+ @@ -84,20 +97,8 @@ @@ -118,307 +119,259 @@
  -

- a -

diff --git a/docs/globals_type.html b/docs/globals_type.html index b7a6d0ab5..bf82a6c48 100644 --- a/docs/globals_type.html +++ b/docs/globals_type.html @@ -1,10 +1,13 @@ - - + + + + + -SuperSCS: Globals +SuperSCS: SuperSCS: Fast & Accurate conic programming @@ -21,6 +24,14 @@ + + +
@@ -28,8 +39,10 @@
SuperSCS +  1.3.2
+ @@ -99,47 +112,56 @@
 
diff --git a/docs/globals_vars.html b/docs/globals_vars.html index eac8eb5f6..558eeef28 100644 --- a/docs/globals_vars.html +++ b/docs/globals_vars.html @@ -1,10 +1,13 @@ - - + + + + + -SuperSCS: Globals +SuperSCS: SuperSCS: Fast & Accurate conic programming @@ -21,6 +24,14 @@ + + +
@@ -28,8 +39,10 @@
SuperSCS +  1.3.2
+ @@ -106,7 +119,7 @@ diff --git a/docs/index.html b/docs/index.html index e70926e30..83d0103bf 100644 --- a/docs/index.html +++ b/docs/index.html @@ -1,6 +1,9 @@ - - + + + + + @@ -21,6 +24,14 @@ + + +
@@ -28,8 +39,10 @@
SuperSCS +  1.3.2
+ @@ -130,7 +143,7 @@

  • Under the hood:
  • @@ -147,16 +160,26 @@

  • continuous integration on Travis CI
  • coverage reports on Codecov
  • code quality reports on codacy
  • -
  • lcov report using make cov
  • +
  • lcov report using make cov COV=1
  • +

    +Contributing

    +

    SuperSCS is an open-source project to which you may contribute.

    +

    Before contributing or filing an issue, please read this guide.

    +

    +License

    +

    SuperSCS is licensed with an MIT license.

    +

    The MIT license is a short and simple permissive license with conditions only requiring preservation of copyright and license notices.

    +

    Licensed works, modifications, and larger works may be distributed under different terms and without source code.

    +

    You only need to keep LICENSE.txt and, if you redistribute the source code, the copyright notices therein.

    Cite SuperSCS

    SuperSCS is based on the algorithmic scheme presented in:

    -

    A. Themelis and P. Patrinos, SuperMann: a superlinearly convergent algorithm for finding fixed points of nonexpansive operators, arXiv:1609.06955, 2017.

    +

    A. Themelis and P. Patrinos, SuperMann: a superlinearly convergent algorithm for finding fixed points of nonexpansive operators, arXiv:1609.06955, 2017.

    diff --git a/docs/installation__page_8h.html b/docs/installation__page_8h.html index 63b5d9e4a..de2f4d95b 100644 --- a/docs/installation__page_8h.html +++ b/docs/installation__page_8h.html @@ -1,10 +1,13 @@ - - + + + + + -SuperSCS: pages/installation_page.h File Reference +SuperSCS: SuperSCS: Fast & Accurate conic programming @@ -21,6 +24,14 @@ + + +
    @@ -28,8 +39,10 @@
    SuperSCS +  1.3.2
    + @@ -100,7 +113,7 @@ diff --git a/docs/installation__page_8h_source.html b/docs/installation__page_8h_source.html index b86883681..964f6e97a 100644 --- a/docs/installation__page_8h_source.html +++ b/docs/installation__page_8h_source.html @@ -1,10 +1,13 @@ - - + + + + + -SuperSCS: pages/installation_page.h Source File +SuperSCS: SuperSCS: Fast & Accurate conic programming @@ -21,6 +24,14 @@ + + +
    @@ -28,8 +39,10 @@
    SuperSCS +  1.3.2
    + @@ -99,7 +112,7 @@ diff --git a/docs/lin_alg_8h.html b/docs/lin_alg_8h.html index c6f0bd932..556866452 100644 --- a/docs/lin_alg_8h.html +++ b/docs/lin_alg_8h.html @@ -1,10 +1,13 @@ - - + + + + + -SuperSCS: include/linAlg.h File Reference +SuperSCS: SuperSCS: Fast & Accurate conic programming @@ -21,6 +24,14 @@ + + +
    @@ -28,8 +39,10 @@
    SuperSCS +  1.3.2
    + @@ -104,60 +117,58 @@
    SuperSCS +  1.3.2
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    Functions

    scs_int svd_workspace_size (scs_int m, scs_int n)
     Computes the optimal workspace size for svdls. More...
     
    scs_int qr_workspace_size (scs_int m, scs_int n)
     Compute the optimal size of workspace for qrls. More...
     
    scs_int qrls (scs_int m, scs_int n, scs_float *RESTRICT A, scs_float *RESTRICT b, scs_float *RESTRICT wspace, scs_int wsize)
     Solves a least squares problem using the QR factorization. More...
     
    scs_int svdls (scs_int m, scs_int n, scs_float *RESTRICT A, scs_float *RESTRICT b, scs_float *RESTRICT wspace, scs_int wsize, scs_float rcond, scs_float *RESTRICT singular_values, scs_int *RESTRICT rank)
     Solves a least squares problem using the SVD factorization. More...
     
    void setAsScaledArray (scs_float *RESTRICT x, const scs_float *RESTRICT a, const scs_float b, scs_int len)
     
    void scaleArray (scs_float *RESTRICT a, const scs_float b, scs_int len)
     
    scs_float innerProd (const scs_float *RESTRICT x, const scs_float *RESTRICT y, scs_int len)
     
    scs_float calcNormSq (const scs_float *RESTRICT v, scs_int len)
     
    scs_float calcNorm (const scs_float *RESTRICT v, scs_int len)
     
    scs_float calcNormInf (const scs_float *RESTRICT a, scs_int l)
     
    void addScaledArray (scs_float *RESTRICT a, const scs_float *RESTRICT b, scs_int n, const scs_float sc)
     
    void addArray (scs_float *RESTRICT a, const scs_float *RESTRICT b, scs_int n)
     
    void axpy2 (scs_float *RESTRICT x, const scs_float *RESTRICT u, const scs_float *RESTRICT v, scs_float a, scs_float b, scs_int n)
     
    void subtractArray (scs_float *RESTRICT a, const scs_float *RESTRICT b, scs_int n)
     
    scs_float calcNormDiff (const scs_float *RESTRICT a, const scs_float *RESTRICT b, scs_int l)
     
    scs_float calcNormInfDiff (const scs_float *RESTRICT a, const scs_float *RESTRICT b, scs_int l)
     
    void scs_dgemm_nn (int m, int n, int k, double alpha, const double *A, int incRowA, int incColA, const double *B, int incRowB, int incColB, double beta, double *C, int incRowC, int incColC)
     
    void matrixMultiplicationColumnPacked (int m, int n, int k, scs_float alpha, const scs_float *RESTRICT A, scs_float beta, const scs_float *RESTRICT B, scs_float *C)
     
    void matrixMultiplicationTransColumnPacked (int m, int n, int k, scs_float alpha, const scs_float *RESTRICT A, scs_float beta, const scs_float *RESTRICT B, scs_float *C)
     
    scs_floatcgls_malloc_workspace (scs_int m, scs_int n)
     
    scs_int cgls (scs_int m, scs_int n, const scs_float *RESTRICT A, const scs_float *RESTRICT b, scs_float *RESTRICT x, scs_float tol, scs_int *RESTRICT maxiter, scs_float *RESTRICT wspace)
     
    scs_int scs_svd_workspace_size (scs_int m, scs_int n)
     Computes the optimal workspace size for scs_svdls. More...
     
    scs_int scs_qr_workspace_size (scs_int m, scs_int n)
     Compute the optimal size of workspace for scs_qrls. More...
     
    scs_int scs_qrls (scs_int m, scs_int n, scs_float *RESTRICT A, scs_float *RESTRICT b, scs_float *RESTRICT wspace, scs_int wsize)
     Solves a least squares problem using the QR factorization. More...
     
    scs_int scs_svdls (scs_int m, scs_int n, scs_float *RESTRICT A, scs_float *RESTRICT b, scs_float *RESTRICT wspace, scs_int wsize, scs_float rcond, scs_float *RESTRICT singular_values, scs_int *RESTRICT rank)
     Solves a least squares problem using the SVD factorization. More...
     
    void scs_set_as_scaled_array (scs_float *RESTRICT x, const scs_float *RESTRICT a, const scs_float b, scs_int len)
     
    void scs_scale_array (scs_float *RESTRICT a, const scs_float b, scs_int len)
     
    scs_float scs_inner_product (const scs_float *RESTRICT x, const scs_float *RESTRICT y, scs_int len)
     
    scs_float scs_norm_squared (const scs_float *RESTRICT v, scs_int len)
     
    scs_float scs_norm (const scs_float *RESTRICT v, scs_int len)
     
    scs_float scs_norm_infinity (const scs_float *RESTRICT a, scs_int l)
     
    void scs_add_scaled_array (scs_float *RESTRICT a, const scs_float *RESTRICT b, scs_int n, const scs_float sc)
     
    void scs_add_array (scs_float *RESTRICT a, const scs_float *RESTRICT b, scs_int n)
     
    void scs_axpy (scs_float *RESTRICT x, const scs_float *RESTRICT u, const scs_float *RESTRICT v, scs_float a, scs_float b, scs_int n)
     
    void scs_subtract_array (scs_float *RESTRICT a, const scs_float *RESTRICT b, scs_int n)
     
    scs_float scs_norm_difference (const scs_float *RESTRICT a, const scs_float *RESTRICT b, scs_int l)
     
    scs_float scs_norm_infinity_difference (const scs_float *RESTRICT a, const scs_float *RESTRICT b, scs_int l)
     
    void scs_matrix_multiply (int rows_A, int cols_B, int cols_A, scs_float alpha, const scs_float *RESTRICT A, scs_float beta, const scs_float *RESTRICT B, scs_float *C)
     
    void scs_matrix_transpose_multiply (int rows_A, int cols_B, int cols_A, scs_float alpha, const scs_float *RESTRICT A, scs_float beta, const scs_float *RESTRICT B, scs_float *C)
     
    scs_floatscs_cgls_malloc_workspace (scs_int m, scs_int n)
     
    scs_int scs_cgls (scs_int m, scs_int n, const scs_float *RESTRICT A, const scs_float *RESTRICT b, scs_float *RESTRICT x, scs_float tol, scs_int *RESTRICT maxiter, scs_float *RESTRICT wspace)
     

    Function Documentation

    - +
    - + @@ -189,7 +200,7 @@

    Function Documentation

    void addArray void scs_add_array ( scs_float *RESTRICT  a,
    - +
    avector a
    bvector b
    nlength of a
    nlength of a
    @@ -197,12 +208,12 @@

    Function Documentation

    - +
    - + @@ -249,12 +260,12 @@

    Function Documentation

    - +
    void addScaledArray void scs_add_scaled_array ( scs_float *RESTRICT  a,
    - + @@ -301,202 +312,12 @@

    Function Documentation

    - +
    void axpy2 void scs_axpy ( scs_float *RESTRICT  x,
    - - - - - - - - - - - - - - - - -
    scs_float calcNorm (const scs_float *RESTRICT v,
    scs_int len 
    )
    -
    -

    Returns the Euclidean norm of a vector.

    -
    Parameters
    - - - -
    v
    len
    -
    -
    -
    Returns
    - -
    -
    - -
    -
    - - - - - - - - - - - - - - - - - - - - - - - - -
    scs_float calcNormDiff (const scs_float *RESTRICT a,
    const scs_float *RESTRICT b,
    scs_int l 
    )
    -
    -

    Returns the Euclidean norm of the difference of two vectors

    -
    Parameters
    - - - - -
    a
    b
    l
    -
    -
    -
    Returns
    - -
    -
    - -
    -
    - - - - - - - - - - - - - - - - - - -
    scs_float calcNormInf (const scs_float *RESTRICT a,
    scs_int l 
    )
    -
    -

    Returns the infinity norm of a vector.

    -
    Parameters
    - - - -
    a
    l
    -
    -
    -
    Returns
    - -
    -
    - -
    -
    - - - - - - - - - - - - - - - - - - - - - - - - -
    scs_float calcNormInfDiff (const scs_float *RESTRICT a,
    const scs_float *RESTRICT b,
    scs_int l 
    )
    -
    -

    Returns the infinity norm of the difference of two vectors

    -
    Parameters
    - - - - -
    a
    b
    l
    -
    -
    -
    Returns
    - -
    -
    - -
    -
    - - - - - - - - - - - - - - - - - - -
    scs_float calcNormSq (const scs_float *RESTRICT v,
    scs_int len 
    )
    -
    -

    Returns the square Euclidean norm of a vector.

    -
    Parameters
    - - - -
    v
    len
    -
    -
    -
    Returns
    -
    Note
    uses innerProd
    - -
    -
    - -
    -
    - - - + @@ -555,28 +376,28 @@

    Function Documentation

    The iterations are terminated when the Euclidean norm of the residual, \(r = A^{\top}(b - Ax)\) becomes smaller than the specified tolerance.

    Parameters
    scs_int cgls scs_int scs_cgls ( scs_int  m,
    - - - - + + + + - +
    mNumber of rows of matrix A
    nNumber of columns of A
    AMatrix A (column-packed)
    bRight-hand side vector b
    mNumber of rows of matrix A
    nNumber of columns of A
    AMatrix A (column-packed)
    bRight-hand side vector b
    xSolution (on entry: initial guess)
    tolTolerance
    maxiterMaximum number of CG iterations (on exit: number of iterations)
    wspaceExternally allocated memory space serving as workspace. This must be of size (max(m,n) + m + 2 * n) * sizeof(scs_float). On exit, the first n memory positions store the residual. You may use cgls_malloc_workspace to allocate the workspace.
    wspaceExternally allocated memory space serving as workspace. This must be of size (max(m,n) + m + 2 * n) * sizeof(scs_float). On exit, the first n memory positions store the residual. You may use scs_cgls_malloc_workspace to allocate the workspace.
    Returns
    status code (0: success, 1: maximum number of iterations reached).
    -
    See Also
    cgls_malloc_workspace
    +
    See Also
    scs_cgls_malloc_workspace
    - +
    - + @@ -594,13 +415,13 @@

    Function Documentation

    scs_float* cgls_malloc_workspace scs_float* scs_cgls_malloc_workspace ( scs_int  m,
    -

    Allocates memory to be used as workspace in cgls (see documentation of cgls for details).

    +

    Allocates memory to be used as workspace in scs_cgls (see documentation of scs_cgls for details).

    If either m or n are negative or zero, it returns SCS_NULL.

    Note
    The caller should always check whether the returned pointer is SCS_NULL.
    Warning
    The caller should free the memory allocated by this function. Example:
    scs_int m = 10;
    scs_int n = 2;
    scs_float * ws;
    - +
    if (ws == SCS_NULL) {
    // memory not allocated, take necessary action
    }
    @@ -615,16 +436,16 @@

    Function Documentation

    Returns
    pointer to allocated
    -
    See Also
    cgls
    +
    See Also
    scs_cgls
    - +
    - + @@ -654,38 +475,37 @@

    Function Documentation

    Parameters
    scs_float innerProd scs_float scs_inner_product ( const scs_float *RESTRICT  x,
    - - - + + +
    x
    y
    len
    xvector \(x\)
    yvector \(y\)
    lenlength of vectors
    -
    Returns
    -
    Note
    with loop unrolling for speed
    +
    Returns
    inner product of \(x\) with \(y\)
    - +
    - + - + - + - + @@ -725,46 +545,43 @@

    Function Documentation

    void matrixMultiplicationColumnPacked void scs_matrix_multiply ( int m, rows_A,
    int n, cols_B,
    int k, cols_A,

    Perofrms the operation \(C \leftarrow \beta C + \alpha A B,\) where \(A\), \(B\) and \(C\) are column-packed matrices.

    -

    This method is a proxy to ::dgemm_nn.

    Parameters
    - - - + + + - +
    mnumber of rows of matrix \(A\)
    nnumber of columns of matrix \(B\)
    knumber of rows of matrix \(B\) (columns of \(A\))
    rows_Anumber of rows of matrix \(A\)
    cols_Bnumber of columns of matrix \(B\)
    cols_Anumber of rows of matrix \(B\) (columns of \(A\))
    alphacoefficient \(\alpha\)
    Apointer to matrix \(A\) in column-packed form
    betacoefficient \(\beta\)
    Bpointer to matrix \(B\) in column-packed form
    Cpointer to matrix \(C\) in column-packed form
    Cpointer to matrix \(C\) in column-packed form
    -
    See Also
    ::dgemm_nn
    -
    Note
    This is a wrapper for #dgemm_nn
    - +
    - + - + - + - + @@ -804,40 +621,37 @@

    Function Documentation

    void matrixMultiplicationTransColumnPacked void scs_matrix_transpose_multiply ( int m, rows_A,
    int n, cols_B,
    int k, cols_A,

    Perofrms the operation \(C \leftarrow \beta C + \alpha A^{\top} B,\) where \(A\), \(B\) and \(C\) are column-packed matrices.

    -

    This method is a proxy to ::dgemm_nn.

    Parameters
    - - - + + + - +
    mnumber of rows of matrix \(A^\top\)
    nnumber of columns of matrix \(B\)
    knumber of rows of matrix \(B\) (columns of \(A^\top\))
    rows_Anumber of rows of matrix \(A\)
    cols_Bnumber of columns of matrix \(B\)
    cols_Anumber of rows of matrix \(B\) (columns of \(A\))
    alphacoefficient \(\alpha\)
    Apointer to matrix \(A\) in column-packed form
    betacoefficient \(\beta\)
    Bpointer to matrix \(B\) in column-packed form
    Cpointer to matrix \(C\) in column-packed form
    Cpointer to matrix \(C\) in column-packed form
    -
    See Also
    ::dgemm_nn
    -
    Note
    This is a wrapper for #dgemm_nn
    - +
    - + - - + + - + @@ -846,59 +660,75 @@

    Function Documentation

    scs_int qr_workspace_size scs_float scs_norm (scs_int m, const scs_float *RESTRICT v,
    scs_int n len 
    - -

    Compute the optimal size of workspace for qrls.

    +

    Returns the Euclidean norm of a vector.

    Parameters
    - - + +
    mrows of A
    ncolumns of A
    v
    len
    -
    Returns
    optimal size of workspace
    -
    Note
    To use this function, you need to compile with USE_LAPACK=1 (recommended).
    +
    Returns
    - +
    - + - - + + - - + + - - + + - - - + + +
    scs_int qrls scs_float scs_norm_difference (scs_int m, const scs_float *RESTRICT a,
    scs_int n, const scs_float *RESTRICT b,
    scs_float *RESTRICT A, scs_int l 
    scs_float *RESTRICT b, )
    +
    +

    Returns the Euclidean norm of the difference of two vectors

    +
    Parameters
    + + + + +
    a
    b
    l
    +
    +
    +
    Returns
    + +
    +
    + +
    +
    + - - - - + + + + - + @@ -907,48 +737,39 @@

    Function Documentation

    scs_float *RESTRICT wspace, scs_float scs_norm_infinity (const scs_float *RESTRICT a,
    scs_int wsize l 
    - -

    Solves a least squares problem using the QR factorization.

    +

    Returns the infinity norm of a vector.

    Parameters
    - - - - - - + +
    mrows of A
    ncolumns of A
    AOn entry, matrix A (column-packed). On exit, if \(m\geq n\), A is overwritten by details of its QR factorization as returned by lapack's DGEQRF; otherwise, A is overwritten by details of its LQ factorization as returned by DGELQF.
    bOn entry: vector b, On exit: solution
    wspaceworkspace
    wsizeworkspace size
    a
    l
    -
    Returns
    status code (0: success)
    -
    See Also
    qr_workspace_size
    -
    Note
    This is a wrapper for lapack's ?gels
    -
    Warning
    It is assumed that matrix \(A\) has full rank. If not, use svdls.
    -
    Note
    To use this function, you need to compile with USE_LAPACK=1 (recommended).
    +
    Returns
    - +
    - + - + - + - + @@ -957,109 +778,181 @@

    Function Documentation

    void scaleArray scs_float scs_norm_infinity_difference (scs_float *RESTRICT const scs_float *RESTRICT  a,
    const scs_float const scs_float *RESTRICT  b,
    scs_int len l 
    -

    Performs the operation

    -

    -\[ a \leftarrow b\cdot a \] -

    -
    Parameters
    +

    Returns the infinity norm of the difference of two vectors

    +
    Parameters
    - +
    a
    b
    len
    l
    -
    Note
    with loop unrolling for speed
    +
    Returns
    - +
    - + - - + + - - + + - - - + + +
    void scs_dgemm_nn scs_float scs_norm_squared (int m, const scs_float *RESTRICT v,
    int n, scs_int len 
    int k, )
    +
    +

    Returns the square Euclidean norm of a vector \(v\).

    +
    Parameters
    + + + +
    vvector \(v\)
    lenlength of vector
    +
    +
    +
    Returns
    norm of vector \(v\)
    +
    Note
    uses scs_inner_product
    + +
    +
    + +
    +
    + - - - - + + + + - - + + - - - + + + +
    double alpha, scs_int scs_qr_workspace_size (scs_int m,
    const double * A, scs_int n 
    int incRowA, )
    +
    + +

    Compute the optimal size of workspace for scs_qrls.

    +
    Parameters
    + + + +
    mrows of A
    ncolumns of A
    +
    +
    +
    Returns
    optimal size of workspace
    +
    Note
    To use this function, you need to compile with USE_LAPACK=1 (recommended).
    + +
    +
    + +
    +
    + + + + + + - - + + - - + + - - + + - - + + - - + + - - - + + + +
    scs_int scs_qrls (scs_int m,
    int incColA, scs_int n,
    const double * B, scs_float *RESTRICT A,
    int incRowB, scs_float *RESTRICT b,
    int incColB, scs_float *RESTRICT wspace,
    double beta, scs_int wsize 
    double * C, )
    +
    + +

    Solves a least squares problem using the QR factorization.

    +
    Parameters
    + + + + + + + +
    mrows of A
    ncolumns of A
    AOn entry, matrix A (column-packed). On exit, if \(m\geq n\), A is overwritten by details of its QR factorization as returned by lapack's DGEQRF; otherwise, A is overwritten by details of its LQ factorization as returned by DGELQF.
    bOn entry: vector b, On exit: solution
    wspaceworkspace
    wsizeworkspace size
    +
    +
    +
    Returns
    status code (0: success)
    +
    See Also
    scs_qr_workspace_size
    +
    Note
    This is a wrapper for lapack's ?gels
    +
    Warning
    It is assumed that matrix \(A\) has full rank. If not, use scs_svdls.
    +
    Note
    To use this function, you need to compile with USE_LAPACK=1 (recommended).
    + +
    +
    + +
    +
    + + + + + + - - + + - - + + @@ -1068,45 +961,27 @@

    Function Documentation

    void scs_scale_array (scs_float *RESTRICT a,
    int incRowC, const scs_float b,
    int incColC scs_int len 
    -

    Perofrms the operation

    +

    Performs the operation

    -\[ C \leftarrow \beta C + \alpha A B \] +\[ a \leftarrow b\cdot a \]

    -
    Parameters
    +
    Parameters
    - - - - - - - - - - - - - - + + +
    mnumber of rows of matrix \(A\)
    nnumber of columns of matrix \(B\)
    knumber of rows of matrix \(B\) (columns of \(A\))
    alphacoefficient \(\alpha\)
    Apointer to matrix \(A\)
    incRowAincrement in traversing the rows of \(A\)
    incColAincrement in traversing the columns of \(A\)
    Bpointer to matrix \(B\)
    incRowBincrement in traversing the rows of \(B\)
    incColBincrement in traversing the columns of \(B\)
    betacoefficient \(\beta\)
    Cpointer to matrix \(C\)
    incRowCincrement in traversing the rows of \(C\)
    incColCincrement in traversing the columns of \(C\)
    avector \(a\)
    bvector \(b\)
    lenlength of vectors
    -
    See Also
    matrixMultiplicationColumnPacked
    -
    Note
    The implementation of this method is that of ULMBLAS.
    -
    -The original source code is available at this link.
    -
    -The ULMBLAS project is available on github and is licensed with the new BSD licence.
    -
    Warning
    This function works only with double precision data.
    - +
    - + @@ -1154,12 +1029,12 @@

    Function Documentation

    - +
    void setAsScaledArray void scs_set_as_scaled_array ( scs_float *RESTRICT  x,
    - + @@ -1191,7 +1066,7 @@

    Function Documentation

    void subtractArray void scs_subtract_array ( scs_float *RESTRICT  a,
    - +
    avector a
    bvector b
    nlength of a
    nlength of a
    @@ -1199,12 +1074,12 @@

    Function Documentation

    - +
    - + @@ -1223,7 +1098,7 @@

    Function Documentation

    scs_int svd_workspace_size scs_int scs_svd_workspace_size ( scs_int  m,
    -

    Computes the optimal workspace size for svdls.

    +

    Computes the optimal workspace size for scs_svdls.

    Parameters
    @@ -1236,12 +1111,12 @@

    Function Documentation

    - +
    mnumber of rows of matrix A
    - + @@ -1311,7 +1186,7 @@

    Function Documentation

    - + @@ -1328,7 +1203,7 @@

    Function Documentation

    diff --git a/docs/lin_alg_8h_source.html b/docs/lin_alg_8h_source.html index 68e8575ac..e04da9b4d 100644 --- a/docs/lin_alg_8h_source.html +++ b/docs/lin_alg_8h_source.html @@ -1,10 +1,13 @@ - - + + + + + -SuperSCS: include/linAlg.h Source File +SuperSCS: SuperSCS: Fast & Accurate conic programming @@ -21,6 +24,14 @@ + + +
    @@ -28,8 +39,10 @@
    scs_int svdls scs_int scs_svdls ( scs_int  m,
    AOn entry, matrix A. On exit, the first min(m,n) rows of A are overwritten with its right singular vectors, stored row-wise.
    bOn entry, vector b, On exit, solution
    wspaceworkspace
    wsizesize of the workspace (its size is returned by svd_workspace_size)
    wsizesize of the workspace (its size is returned by scs_svd_workspace_size)
    rcondrcond is used to determine the effective rank of A. singular values \( \sigma_i \leq \mathrm{rcond} \cdot \sigma_1\) are treated as zero.
    singular_valuesthis function computes the singular values of \(A\)
    rankthe effective rank of matrix \(A\), that is, the number of singular values which are greater than \(\mathrm{rcond} \cdot \sigma_1\).
    + @@ -95,196 +108,207 @@
    linAlg.h
    -Go to the documentation of this file.
    1 #ifndef LINALG_H_GUARD
    -
    2 #define LINALG_H_GUARD
    -
    3 
    -
    4 #ifdef __cplusplus
    -
    5 extern "C" {
    -
    6 #endif
    -
    7 
    -
    8 #include "scs.h"
    -
    9 #include <math.h>
    -
    10 
    - -
    21  scs_int m,
    -
    22  scs_int n
    -
    23  );
    -
    24 
    - -
    36  scs_int m,
    -
    37  scs_int n
    -
    38  );
    -
    39 
    -
    63  scs_int qrls(
    -
    64  scs_int m,
    -
    65  scs_int n,
    -
    66  scs_float * RESTRICT A,
    -
    67  scs_float * RESTRICT b,
    -
    68  scs_float * RESTRICT wspace,
    -
    69  scs_int wsize
    -
    70  );
    -
    71 
    -
    99  scs_int svdls(
    -
    100  scs_int m,
    -
    101  scs_int n,
    -
    102  scs_float * RESTRICT A,
    -
    103  scs_float * RESTRICT b,
    -
    104  scs_float * RESTRICT wspace,
    -
    105  scs_int wsize,
    -
    106  scs_float rcond,
    -
    107  scs_float * RESTRICT singular_values,
    -
    108  scs_int * RESTRICT rank
    -
    109  );
    -
    110 
    -
    111 
    -
    126  void setAsScaledArray(
    -
    127  scs_float * RESTRICT x,
    -
    128  const scs_float * RESTRICT a,
    -
    129  const scs_float b,
    -
    130  scs_int len);
    -
    131 
    -
    143  void scaleArray(
    -
    144  scs_float * RESTRICT a,
    -
    145  const scs_float b,
    -
    146  scs_int len);
    -
    147 
    - -
    161  const scs_float * RESTRICT x,
    -
    162  const scs_float * RESTRICT y,
    -
    163  scs_int len);
    -
    164 
    - -
    174  const scs_float * RESTRICT v,
    -
    175  scs_int len);
    -
    176 
    - -
    184  const scs_float * RESTRICT v,
    -
    185  scs_int len);
    -
    186 
    - -
    194  const scs_float * RESTRICT a,
    -
    195  scs_int l);
    -
    196 
    -
    197 
    -
    210  void addScaledArray(
    -
    211  scs_float * RESTRICT a,
    -
    212  const scs_float * RESTRICT b,
    -
    213  scs_int n,
    -
    214  const scs_float sc);
    -
    215 
    -
    227  void addArray(
    -
    228  scs_float * RESTRICT a,
    -
    229  const scs_float * RESTRICT b,
    -
    230  scs_int n);
    -
    231 
    -
    238  void axpy2(
    -
    239  scs_float * RESTRICT x,
    -
    240  const scs_float * RESTRICT u,
    -
    241  const scs_float * RESTRICT v,
    -
    242  scs_float a,
    -
    243  scs_float b,
    -
    244  scs_int n);
    -
    245 
    -
    257  void subtractArray(
    -
    258  scs_float * RESTRICT a,
    -
    259  const scs_float * RESTRICT b,
    -
    260  scs_int n);
    -
    261 
    - -
    270  const scs_float * RESTRICT a,
    -
    271  const scs_float * RESTRICT b,
    -
    272  scs_int l);
    -
    273 
    - -
    282  const scs_float * RESTRICT a,
    -
    283  const scs_float * RESTRICT b,
    -
    284  scs_int l);
    -
    285 
    -
    286 
    -
    323  void scs_dgemm_nn(
    -
    324  int m,
    -
    325  int n,
    -
    326  int k,
    -
    327  double alpha,
    -
    328  const double *A,
    -
    329  int incRowA,
    -
    330  int incColA,
    -
    331  const double *B,
    -
    332  int incRowB,
    -
    333  int incColB,
    -
    334  double beta,
    -
    335  double *C,
    -
    336  int incRowC,
    -
    337  int incColC);
    -
    338 
    - -
    359  int m,
    -
    360  int n,
    -
    361  int k,
    -
    362  scs_float alpha,
    -
    363  const scs_float * RESTRICT A,
    -
    364  scs_float beta,
    -
    365  const scs_float * RESTRICT B,
    -
    366  scs_float *C);
    -
    367 
    - -
    388  int m,
    -
    389  int n,
    -
    390  int k,
    -
    391  scs_float alpha,
    -
    392  const scs_float * RESTRICT A,
    -
    393  scs_float beta,
    -
    394  const scs_float * RESTRICT B,
    -
    395  scs_float *C);
    -
    396 
    -
    397 
    - -
    426 
    -
    453  scs_int cgls(
    -
    454  scs_int m,
    -
    455  scs_int n,
    -
    456  const scs_float * RESTRICT A,
    -
    457  const scs_float * RESTRICT b,
    - -
    459  scs_float tol,
    -
    460  scs_int*RESTRICT maxiter,
    -
    461  scs_float *RESTRICT wspace
    -
    462  );
    -
    463 
    -
    464 
    -
    465 #ifdef __cplusplus
    -
    466 }
    -
    467 #endif
    -
    468 #endif
    -
    void setAsScaledArray(scs_float *RESTRICT x, const scs_float *RESTRICT a, const scs_float b, scs_int len)
    +Go to the documentation of this file.
    1 /*
    +
    2  * The MIT License (MIT)
    +
    3  *
    +
    4  * Copyright (c) 2017 Pantelis Sopasakis (https://alphaville.github.io),
    +
    5  * Krina Menounou (https://www.linkedin.com/in/krinamenounou),
    +
    6  * Panagiotis Patrinos (http://homes.esat.kuleuven.be/~ppatrino)
    +
    7  * Copyright (c) 2012 Brendan O'Donoghue (bodonoghue85@gmail.com)
    +
    8  *
    +
    9  * Permission is hereby granted, free of charge, to any person obtaining a copy
    +
    10  * of this software and associated documentation files (the "Software"), to deal
    +
    11  * in the Software without restriction, including without limitation the rights
    +
    12  * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
    +
    13  * copies of the Software, and to permit persons to whom the Software is
    +
    14  * furnished to do so, subject to the following conditions:
    +
    15  *
    +
    16  * The above copyright notice and this permission notice shall be included in all
    +
    17  * copies or substantial portions of the Software.
    +
    18  *
    +
    19  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
    +
    20  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
    +
    21  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
    +
    22  * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
    +
    23  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
    +
    24  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
    +
    25  * SOFTWARE.
    +
    26  *
    +
    27  */
    +
    28 #ifndef SCS_LINALG_H_GUARD
    +
    29 #define SCS_LINALG_H_GUARD
    +
    30 
    +
    31 #ifdef __cplusplus
    +
    32 extern "C" {
    +
    33 #endif
    +
    34 
    +
    35 #include "scs.h"
    +
    36 #include <math.h>
    +
    37 
    + +
    48  scs_int m,
    +
    49  scs_int n
    +
    50  );
    +
    51 
    + +
    63  scs_int m,
    +
    64  scs_int n
    +
    65  );
    +
    66 
    + +
    91  scs_int m,
    +
    92  scs_int n,
    +
    93  scs_float * RESTRICT A,
    +
    94  scs_float * RESTRICT b,
    +
    95  scs_float * RESTRICT wspace,
    +
    96  scs_int wsize
    +
    97  );
    +
    98 
    + +
    128  scs_int m,
    +
    129  scs_int n,
    +
    130  scs_float * RESTRICT A,
    +
    131  scs_float * RESTRICT b,
    +
    132  scs_float * RESTRICT wspace,
    +
    133  scs_int wsize,
    +
    134  scs_float rcond,
    +
    135  scs_float * RESTRICT singular_values,
    +
    136  scs_int * RESTRICT rank
    +
    137  );
    +
    138 
    +
    139 
    + +
    155  scs_float * RESTRICT x,
    +
    156  const scs_float * RESTRICT a,
    +
    157  const scs_float b,
    +
    158  scs_int len);
    +
    159 
    +
    170  void scs_scale_array(
    +
    171  scs_float * RESTRICT a,
    +
    172  const scs_float b,
    +
    173  scs_int len);
    +
    174 
    + +
    187  const scs_float * RESTRICT x,
    +
    188  const scs_float * RESTRICT y,
    +
    189  scs_int len);
    +
    190 
    + +
    200  const scs_float * RESTRICT v,
    +
    201  scs_int len);
    +
    202 
    + +
    210  const scs_float * RESTRICT v,
    +
    211  scs_int len);
    +
    212 
    + +
    220  const scs_float * RESTRICT a,
    +
    221  scs_int l);
    +
    222 
    +
    223 
    + +
    237  scs_float * RESTRICT a,
    +
    238  const scs_float * RESTRICT b,
    +
    239  scs_int n,
    +
    240  const scs_float sc);
    +
    241 
    +
    253  void scs_add_array(
    +
    254  scs_float * RESTRICT a,
    +
    255  const scs_float * RESTRICT b,
    +
    256  scs_int n);
    +
    257 
    +
    265  void scs_axpy(
    +
    266  scs_float * RESTRICT x,
    +
    267  const scs_float * RESTRICT u,
    +
    268  const scs_float * RESTRICT v,
    +
    269  scs_float a,
    +
    270  scs_float b,
    +
    271  scs_int n);
    +
    272 
    +
    284  void scs_subtract_array(
    +
    285  scs_float * RESTRICT a,
    +
    286  const scs_float * RESTRICT b,
    +
    287  scs_int n);
    +
    288 
    + +
    297  const scs_float * RESTRICT a,
    +
    298  const scs_float * RESTRICT b,
    +
    299  scs_int l);
    +
    300 
    + +
    309  const scs_float * RESTRICT a,
    +
    310  const scs_float * RESTRICT b,
    +
    311  scs_int l);
    +
    312 
    +
    313 
    +
    314 
    +
    330  void scs_matrix_multiply(
    +
    331  int rows_A,
    +
    332  int cols_B,
    +
    333  int cols_A,
    +
    334  scs_float alpha,
    +
    335  const scs_float * RESTRICT A,
    +
    336  scs_float beta,
    +
    337  const scs_float * RESTRICT B,
    +
    338  scs_float *C);
    +
    339 
    + +
    357  int rows_A,
    +
    358  int cols_B,
    +
    359  int cols_A,
    +
    360  scs_float alpha,
    +
    361  const scs_float * RESTRICT A,
    +
    362  scs_float beta,
    +
    363  const scs_float * RESTRICT B,
    +
    364  scs_float *C);
    +
    365 
    +
    366 
    + +
    395 
    + +
    423  scs_int m,
    +
    424  scs_int n,
    +
    425  const scs_float * RESTRICT A,
    +
    426  const scs_float * RESTRICT b,
    + +
    428  scs_float tol,
    +
    429  scs_int*RESTRICT maxiter,
    +
    430  scs_float *RESTRICT wspace
    +
    431  );
    +
    432 
    +
    433 
    +
    434 #ifdef __cplusplus
    +
    435 }
    +
    436 #endif
    +
    437 #endif
    +
    scs_int scs_qr_workspace_size(scs_int m, scs_int n)
    Compute the optimal size of workspace for scs_qrls.
    -
    scs_float calcNormInfDiff(const scs_float *RESTRICT a, const scs_float *RESTRICT b, scs_int l)
    -
    #define RESTRICT
    Definition: glbopts.h:13
    -
    scs_int qr_workspace_size(scs_int m, scs_int n)
    Compute the optimal size of workspace for qrls.
    -
    scs_int svdls(scs_int m, scs_int n, scs_float *RESTRICT A, scs_float *RESTRICT b, scs_float *RESTRICT wspace, scs_int wsize, scs_float rcond, scs_float *RESTRICT singular_values, scs_int *RESTRICT rank)
    Solves a least squares problem using the SVD factorization.
    -
    void matrixMultiplicationColumnPacked(int m, int n, int k, scs_float alpha, const scs_float *RESTRICT A, scs_float beta, const scs_float *RESTRICT B, scs_float *C)
    -
    void subtractArray(scs_float *RESTRICT a, const scs_float *RESTRICT b, scs_int n)
    -
    void matrixMultiplicationTransColumnPacked(int m, int n, int k, scs_float alpha, const scs_float *RESTRICT A, scs_float beta, const scs_float *RESTRICT B, scs_float *C)
    -
    scs_int svd_workspace_size(scs_int m, scs_int n)
    Computes the optimal workspace size for svdls.
    -
    void scs_dgemm_nn(int m, int n, int k, double alpha, const double *A, int incRowA, int incColA, const double *B, int incRowB, int incColB, double beta, double *C, int incRowC, int incColC)
    -
    scs_float calcNormSq(const scs_float *RESTRICT v, scs_int len)
    -
    int scs_int
    Definition: glbopts.h:65
    -
    scs_float * cgls_malloc_workspace(scs_int m, scs_int n)
    -
    void addScaledArray(scs_float *RESTRICT a, const scs_float *RESTRICT b, scs_int n, const scs_float sc)
    -
    void addArray(scs_float *RESTRICT a, const scs_float *RESTRICT b, scs_int n)
    -
    scs_float calcNorm(const scs_float *RESTRICT v, scs_int len)
    -
    scs_int qrls(scs_int m, scs_int n, scs_float *RESTRICT A, scs_float *RESTRICT b, scs_float *RESTRICT wspace, scs_int wsize)
    Solves a least squares problem using the QR factorization.
    -
    double scs_float
    Definition: glbopts.h:70
    -
    scs_float calcNormInf(const scs_float *RESTRICT a, scs_int l)
    -
    scs_float innerProd(const scs_float *RESTRICT x, const scs_float *RESTRICT y, scs_int len)
    -
    void scaleArray(scs_float *RESTRICT a, const scs_float b, scs_int len)
    -
    void axpy2(scs_float *RESTRICT x, const scs_float *RESTRICT u, const scs_float *RESTRICT v, scs_float a, scs_float b, scs_int n)
    -
    scs_int cgls(scs_int m, scs_int n, const scs_float *RESTRICT A, const scs_float *RESTRICT b, scs_float *RESTRICT x, scs_float tol, scs_int *RESTRICT maxiter, scs_float *RESTRICT wspace)
    -
    scs_float calcNormDiff(const scs_float *RESTRICT a, const scs_float *RESTRICT b, scs_int l)
    +
    scs_int scs_svdls(scs_int m, scs_int n, scs_float *RESTRICT A, scs_float *RESTRICT b, scs_float *RESTRICT wspace, scs_int wsize, scs_float rcond, scs_float *RESTRICT singular_values, scs_int *RESTRICT rank)
    Solves a least squares problem using the SVD factorization.
    +
    #define RESTRICT
    Definition: glbopts.h:40
    +
    void scs_matrix_multiply(int rows_A, int cols_B, int cols_A, scs_float alpha, const scs_float *RESTRICT A, scs_float beta, const scs_float *RESTRICT B, scs_float *C)
    +
    scs_int scs_cgls(scs_int m, scs_int n, const scs_float *RESTRICT A, const scs_float *RESTRICT b, scs_float *RESTRICT x, scs_float tol, scs_int *RESTRICT maxiter, scs_float *RESTRICT wspace)
    +
    void scs_add_array(scs_float *RESTRICT a, const scs_float *RESTRICT b, scs_int n)
    +
    void scs_add_scaled_array(scs_float *RESTRICT a, const scs_float *RESTRICT b, scs_int n, const scs_float sc)
    +
    void scs_axpy(scs_float *RESTRICT x, const scs_float *RESTRICT u, const scs_float *RESTRICT v, scs_float a, scs_float b, scs_int n)
    +
    scs_float scs_norm_infinity(const scs_float *RESTRICT a, scs_int l)
    +
    void scs_set_as_scaled_array(scs_float *RESTRICT x, const scs_float *RESTRICT a, const scs_float b, scs_int len)
    +
    scs_float scs_norm_infinity_difference(const scs_float *RESTRICT a, const scs_float *RESTRICT b, scs_int l)
    +
    int scs_int
    Definition: glbopts.h:92
    +
    scs_float scs_norm_difference(const scs_float *RESTRICT a, const scs_float *RESTRICT b, scs_int l)
    +
    void scs_subtract_array(scs_float *RESTRICT a, const scs_float *RESTRICT b, scs_int n)
    +
    scs_int scs_svd_workspace_size(scs_int m, scs_int n)
    Computes the optimal workspace size for scs_svdls.
    +
    void scs_matrix_transpose_multiply(int rows_A, int cols_B, int cols_A, scs_float alpha, const scs_float *RESTRICT A, scs_float beta, const scs_float *RESTRICT B, scs_float *C)
    +
    scs_float scs_inner_product(const scs_float *RESTRICT x, const scs_float *RESTRICT y, scs_int len)
    +
    double scs_float
    Definition: glbopts.h:96
    +
    scs_int scs_qrls(scs_int m, scs_int n, scs_float *RESTRICT A, scs_float *RESTRICT b, scs_float *RESTRICT wspace, scs_int wsize)
    Solves a least squares problem using the QR factorization.
    +
    scs_float scs_norm(const scs_float *RESTRICT v, scs_int len)
    +
    scs_float scs_norm_squared(const scs_float *RESTRICT v, scs_int len)
    +
    scs_float * scs_cgls_malloc_workspace(scs_int m, scs_int n)
    +
    void scs_scale_array(scs_float *RESTRICT a, const scs_float b, scs_int len)
    diff --git a/docs/lin_sys_8h.html b/docs/lin_sys_8h.html index ebcd1dc20..55b71009d 100644 --- a/docs/lin_sys_8h.html +++ b/docs/lin_sys_8h.html @@ -1,10 +1,13 @@ - - + + + + + -SuperSCS: include/linSys.h File Reference +SuperSCS: SuperSCS: Fast & Accurate conic programming @@ -21,6 +24,14 @@ + + +
    @@ -28,8 +39,10 @@
    SuperSCS +  1.3.2
    + @@ -103,43 +116,43 @@
    SuperSCS +  1.3.2
    - - - - + + + +

    Typedefs

    typedef struct A_DATA_MATRIX AMatrix
     
    typedef struct PRIVATE_DATA Priv
     
    typedef struct scs_a_data_matrix ScsAMatrix
     
    typedef struct scs_private_data ScsPrivWorkspace
     
    - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + +

    Functions

    PrivinitPriv (const AMatrix *A, const Settings *stgs)
     
    scs_int solveLinSys (const AMatrix *A, const Settings *stgs, Priv *p, scs_float *b, const scs_float *s, scs_int iter)
     
    void freePriv (Priv *p)
     
    void accumByAtrans (const AMatrix *A, Priv *p, const scs_float *x, scs_float *y)
     
    void accumByA (const AMatrix *A, Priv *p, const scs_float *x, scs_float *y)
     
    scs_int validateLinSys (const AMatrix *A)
     
    char * getLinSysMethod (const AMatrix *A, const Settings *stgs)
     
    char * getLinSysSummary (Priv *p, const Info *info)
     
    void normalizeA (AMatrix *A, const Settings *stgs, const Cone *k, Scaling *scal)
     
    void unNormalizeA (AMatrix *A, const Settings *stgs, const Scaling *scal)
     
    void freeAMatrix (AMatrix *A)
     
    ScsPrivWorkspacescs_init_priv (const ScsAMatrix *A, const ScsSettings *stgs)
     
    scs_int scs_solve_lin_sys (const ScsAMatrix *A, const ScsSettings *stgs, ScsPrivWorkspace *p, scs_float *b, const scs_float *s, scs_int iter)
     
    void scs_free_priv (ScsPrivWorkspace *p)
     
    void scs_accum_by_a_trans (const ScsAMatrix *A, ScsPrivWorkspace *p, const scs_float *x, scs_float *y)
     
    void scs_accum_by_a (const ScsAMatrix *A, ScsPrivWorkspace *p, const scs_float *x, scs_float *y)
     
    scs_int scs_validate_linsys (const ScsAMatrix *A)
     
    char * scs_get_linsys_method (const ScsAMatrix *A, const ScsSettings *stgs)
     
    char * getLinSysSummary (ScsPrivWorkspace *p, const ScsInfo *info)
     
    void scs_normalize_a (ScsAMatrix *A, const ScsSettings *stgs, const ScsCone *k, ScsScaling *scal)
     
    void scs_unnormalize_a (ScsAMatrix *A, const ScsSettings *stgs, const ScsScaling *scal)
     
    void scs_free_a_matrix (ScsAMatrix *A)
     

    Typedef Documentation

    - +
    - +
    typedef struct A_DATA_MATRIX AMatrixtypedef struct scs_a_data_matrix ScsAMatrix
    @@ -148,33 +161,61 @@

    Typedef Documentation

    - +
    - +
    typedef struct PRIVATE_DATA Privtypedef struct scs_private_data ScsPrivWorkspace
    +

    Stores the necessary private workspace, only the linear system solver interacts with this struct

    Function Documentation

    - + +
    +
    + + + + + + + + + + + + + + + + + + +
    char* getLinSysSummary (ScsPrivWorkspacep,
    const ScsInfoinfo 
    )
    +
    +

    Returns string containing summary information about linear system solves, can return null, if not null free will be called on output

    + +
    +
    +
    - + - + - + @@ -196,24 +237,24 @@

    Function Documentation

    void accumByA void scs_accum_by_a (const AMatrixconst ScsAMatrix A,
    PrivScsPrivWorkspace p,
    -

    forms y += A*x

    +

    Performs y += A*x

    - +
    - + - + - + @@ -235,58 +276,58 @@

    Function Documentation

    void accumByAtrans void scs_accum_by_a_trans (const AMatrixconst ScsAMatrix A,
    PrivScsPrivWorkspace p,
    -

    forms y += A'*x

    +

    Performs y += A'*x

    - +
    - + - +
    void freeAMatrix void scs_free_a_matrix (AMatrixScsAMatrix A)
    -

    to free the memory allocated in AMatrix

    +

    Frees the memory allocated in ScsAMatrix.

    - +
    - + - +
    void freePriv void scs_free_priv (PrivScsPrivWorkspace p)
    -

    frees Priv structure and allocated memory in Priv

    +

    Frees scs_linsys_priv_workspace structure and allocated memory in it.

    - +
    - + - + - + @@ -296,51 +337,24 @@

    Function Documentation

    char* getLinSysMethod char* scs_get_linsys_method (const AMatrixconst ScsAMatrix A,
    const Settingsconst ScsSettings stgs 
    -

    returns string describing method, can return null, if not null free will be called on output

    - -
    -
    - -
    -
    - - - - - - - - - - - - - - - - - - -
    char* getLinSysSummary (Privp,
    const Infoinfo 
    )
    -
    -

    returns string containing summary information about linear system solves, can return null, if not null free will be called on output

    +

    Returns string describing method, can return null, if not null free will be called on output

    - +
    - + - + - + @@ -350,36 +364,36 @@

    Function Documentation

    Priv* initPriv ScsPrivWorkspace* scs_init_priv (const AMatrixconst ScsAMatrix A,
    const Settingsconst ScsSettings stgs 
    -

    initialize Priv structure and perform any necessary preprocessing

    +

    initialize scs_linsys_priv_workspace structure and perform any necessary preprocessing

    - +
    - + - + - + - + - + @@ -389,30 +403,30 @@

    Function Documentation

    void normalizeA void scs_normalize_a (AMatrixScsAMatrix A,
    const Settingsconst ScsSettings stgs,
    const Coneconst ScsCone k,
    ScalingScsScaling scal 
    -

    normalizes A matrix, sets w->E and w->D diagonal scaling matrices, Anew = d->SCALE * (D^-1)*A*(E^-1) (different to paper which is D*A*E) D and E must be all positive entries, D must satisfy cone boundaries must set (w->meanNormRowA = mean of norms of rows of normalized A) THEN scale resulting A by d->SCALE.

    +

    normalizes A matrix, sets w->E and w->D diagonal scaling matrices,Anew = d->SCALE * (D^-1)*A*(E^-1) (different to paper which is D*A*E) D and E must be all positive entries, D must satisfy cone boundaries must set (w->meanNormRowA = mean of norms of rows of normalized A) THEN scale resulting A by d->SCALE.

    - +
    - + - + - + - + @@ -440,30 +454,42 @@

    Function Documentation

    scs_int solveLinSys scs_int scs_solve_lin_sys (const AMatrixconst ScsAMatrix A,
    const Settingsconst ScsSettings stgs,
    PrivScsPrivWorkspace p,
    -

    solves [d->RHO_X * I A' ; A -I] x = b for x, stores result in b, s contains warm-start, iter is current scs iteration count

    +

    Solves [d->RHO_X * I A' ; A -I] x = b for x, stores result in b, s contains warm-start, iter is current scs iteration count

    +
    Parameters
    + + + + + + + +
    Asparse matrix A
    stgsuser-specified settings
    pprivate structure
    bright hand side
    sinitial guess
    iter
    +
    +
    +
    Returns
    on success, returns 0
    - +
    - + - + - + - + @@ -477,27 +503,27 @@

    Function Documentation

    - +
    void unNormalizeA void scs_unnormalize_a (AMatrixScsAMatrix A,
    const Settingsconst ScsSettings stgs,
    const Scalingconst ScsScaling scal 
    - + - +
    scs_int validateLinSys scs_int scs_validate_linsys (const AMatrixconst ScsAMatrix A)
    -

    returns negative num if input data is invalid

    +

    Returns negative num if input data is invalid

    diff --git a/docs/lin_sys_8h_source.html b/docs/lin_sys_8h_source.html index a6eb0ff6c..5013c6979 100644 --- a/docs/lin_sys_8h_source.html +++ b/docs/lin_sys_8h_source.html @@ -1,10 +1,13 @@ - - + + + + + -SuperSCS: include/linSys.h Source File +SuperSCS: SuperSCS: Fast & Accurate conic programming @@ -21,6 +24,14 @@ + + +
    @@ -28,8 +39,10 @@ + @@ -95,81 +108,144 @@
    linSys.h
    -Go to the documentation of this file.
    1 #ifndef LINSYS_H_GUARD
    -
    2 #define LINSYS_H_GUARD
    -
    3 
    -
    4 #ifdef __cplusplus
    -
    5 extern "C" {
    -
    6 #endif
    -
    7 
    -
    8 /* YOUR LINEAR SYSTEM SOLVER MUST IMPLEMENT THESE METHODS AND PRIVATE_DATA
    -
    9  * STRUCT */
    -
    10 
    -
    11 /* private data structs (that you define) containing any necessary data to solve
    -
    12  * linear system, etc. */
    -
    13 /* this defines the matrix A, only the linear system solver interacts with this
    -
    14  * struct */
    -
    20 typedef struct A_DATA_MATRIX AMatrix;
    -
    21 /* stores the necessary private workspace, only the linear system solver
    -
    22  * interacts with this struct */
    -
    23 typedef struct PRIVATE_DATA Priv;
    -
    24 
    -
    28 Priv *initPriv(const AMatrix *A, const Settings *stgs);
    -
    29 
    -
    34 scs_int solveLinSys(const AMatrix *A, const Settings *stgs, Priv *p,
    -
    35  scs_float *b, const scs_float *s, scs_int iter);
    -
    39 void freePriv(Priv *p);
    -
    40 
    -
    44 void accumByAtrans(const AMatrix *A, Priv *p, const scs_float *x, scs_float *y);
    -
    45 
    -
    49 void accumByA(const AMatrix *A, Priv *p, const scs_float *x, scs_float *y);
    -
    50 
    - -
    55 
    -
    59 char *getLinSysMethod(const AMatrix *A, const Settings *stgs);
    -
    60 
    -
    64 char *getLinSysSummary(Priv *p, const Info *info);
    -
    65 
    -
    66 /* Normalization routines, used if d->NORMALIZE is true */
    -
    73 void normalizeA(AMatrix *A, const Settings *stgs, const Cone *k, Scaling *scal);
    -
    74 
    -
    79 void unNormalizeA(AMatrix *A, const Settings *stgs, const Scaling *scal);
    -
    80 
    -
    84 void freeAMatrix(AMatrix *A);
    -
    85 
    -
    86 #ifdef COPYAMATRIX
    -
    87 
    -
    92 scs_int copyAMatrix(AMatrix **dstp, const AMatrix *src);
    -
    93 #endif
    -
    94 
    -
    95 #ifdef __cplusplus
    -
    96 }
    -
    97 #endif
    -
    98 
    -
    99 #endif
    -
    void accumByA(const AMatrix *A, Priv *p, const scs_float *x, scs_float *y)
    -
    void normalizeA(AMatrix *A, const Settings *stgs, const Cone *k, Scaling *scal)
    -
    Cone structure.
    Definition: cones.h:21
    -
    char * getLinSysSummary(Priv *p, const Info *info)
    -
    Terminating information.
    Definition: scs.h:487
    -
    char * getLinSysMethod(const AMatrix *A, const Settings *stgs)
    -
    Settings structure.
    Definition: scs.h:305
    -
    int scs_int
    Definition: glbopts.h:65
    -
    The sparse matrix A of the conic optimization problem.
    Definition: amatrix.h:17
    -
    void freeAMatrix(AMatrix *A)
    -
    void accumByAtrans(const AMatrix *A, Priv *p, const scs_float *x, scs_float *y)
    -
    scs_int validateLinSys(const AMatrix *A)
    -
    double scs_float
    Definition: glbopts.h:70
    -
    void freePriv(Priv *p)
    -
    Priv * initPriv(const AMatrix *A, const Settings *stgs)
    -
    Normalization variables.
    Definition: scs.h:517
    -
    struct PRIVATE_DATA Priv
    Definition: linSys.h:23
    -
    void unNormalizeA(AMatrix *A, const Settings *stgs, const Scaling *scal)
    -
    scs_int solveLinSys(const AMatrix *A, const Settings *stgs, Priv *p, scs_float *b, const scs_float *s, scs_int iter)
    +Go to the documentation of this file.
    1 /*
    +
    2  * The MIT License (MIT)
    +
    3  *
    +
    4  * Copyright (c) 2017 Pantelis Sopasakis (https://alphaville.github.io),
    +
    5  * Krina Menounou (https://www.linkedin.com/in/krinamenounou),
    +
    6  * Panagiotis Patrinos (http://homes.esat.kuleuven.be/~ppatrino)
    +
    7  * Copyright (c) 2012 Brendan O'Donoghue (bodonoghue85@gmail.com)
    +
    8  *
    +
    9  * Permission is hereby granted, free of charge, to any person obtaining a copy
    +
    10  * of this software and associated documentation files (the "Software"), to deal
    +
    11  * in the Software without restriction, including without limitation the rights
    +
    12  * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
    +
    13  * copies of the Software, and to permit persons to whom the Software is
    +
    14  * furnished to do so, subject to the following conditions:
    +
    15  *
    +
    16  * The above copyright notice and this permission notice shall be included in all
    +
    17  * copies or substantial portions of the Software.
    +
    18  *
    +
    19  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
    +
    20  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
    +
    21  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
    +
    22  * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
    +
    23  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
    +
    24  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
    +
    25  * SOFTWARE.
    +
    26  *
    +
    27  */
    +
    28 #ifndef LINSYS_H_GUARD
    +
    29 #define LINSYS_H_GUARD
    +
    30 
    +
    31 #ifdef __cplusplus
    +
    32 extern "C" {
    +
    33 #endif
    +
    34 
    +
    35  /*
    +
    36  * YOUR LINEAR SYSTEM SOLVER MUST IMPLEMENT THESE METHODS AND scs_private_data
    +
    37  * STRUCT
    +
    38  */
    +
    39 
    +
    40  /*
    +
    41  * private data structs (that you define) containing any necessary data to solve
    +
    42  * linear system, etc.
    +
    43  */
    +
    44 
    +
    45  /*
    +
    46  * this defines the matrix A, only the linear system solver interacts with this
    +
    47  * struct
    +
    48  */
    +
    49 
    +
    55  typedef struct scs_a_data_matrix ScsAMatrix;
    +
    56 
    +
    61  typedef struct scs_private_data ScsPrivWorkspace;
    +
    62 
    + +
    67  const ScsAMatrix *A,
    +
    68  const ScsSettings *stgs);
    +
    69 
    + +
    85  const ScsAMatrix *A,
    +
    86  const ScsSettings *stgs,
    + +
    88  scs_float *b,
    +
    89  const scs_float *s,
    +
    90  scs_int iter);
    + +
    95 
    + +
    100  const ScsAMatrix *A,
    +
    101  ScsPrivWorkspace *p,
    +
    102  const scs_float *x,
    +
    103  scs_float *y);
    +
    104 
    +
    108  void scs_accum_by_a(
    +
    109  const ScsAMatrix *A,
    +
    110  ScsPrivWorkspace *p,
    +
    111  const scs_float *x,
    +
    112  scs_float *y);
    +
    113 
    + +
    118  const ScsAMatrix *A);
    +
    119 
    +
    124  char *scs_get_linsys_method(
    +
    125  const ScsAMatrix *A,
    +
    126  const ScsSettings *stgs);
    +
    127 
    +
    132  char *getLinSysSummary(
    +
    133  ScsPrivWorkspace *p,
    +
    134  const ScsInfo *info);
    +
    135 
    +
    136  /* Normalization routines, used if d->NORMALIZE is true */
    +
    145  void scs_normalize_a(
    +
    146  ScsAMatrix *A,
    +
    147  const ScsSettings *stgs,
    +
    148  const ScsCone *k,
    +
    149  ScsScaling *scal);
    +
    150 
    +
    155  void scs_unnormalize_a(
    +
    156  ScsAMatrix *A,
    +
    157  const ScsSettings *stgs,
    +
    158  const ScsScaling *scal);
    +
    159 
    +
    163  void scs_free_a_matrix(ScsAMatrix *A);
    +
    164 
    +
    165 #ifdef COPYAMATRIX
    +
    166 
    +
    171  scs_int scs_copy_a_matrix(
    +
    172  ScsAMatrix **dstp,
    +
    173  const ScsAMatrix *src);
    +
    174 #endif
    +
    175 
    +
    176 #ifdef __cplusplus
    +
    177 }
    +
    178 #endif
    +
    179 
    +
    180 #endif
    +
    void scs_normalize_a(ScsAMatrix *A, const ScsSettings *stgs, const ScsCone *k, ScsScaling *scal)
    +
    Terminating information.
    Definition: scs.h:556
    +
    ScsPrivWorkspace * scs_init_priv(const ScsAMatrix *A, const ScsSettings *stgs)
    +
    struct scs_private_data ScsPrivWorkspace
    Definition: linSys.h:61
    +
    void scs_free_priv(ScsPrivWorkspace *p)
    +
    scs_int scs_solve_lin_sys(const ScsAMatrix *A, const ScsSettings *stgs, ScsPrivWorkspace *p, scs_float *b, const scs_float *s, scs_int iter)
    +
    The sparse matrix A of the conic optimization problem.
    Definition: amatrix.h:17
    +
    char * scs_get_linsys_method(const ScsAMatrix *A, const ScsSettings *stgs)
    +
    void scs_free_a_matrix(ScsAMatrix *A)
    +
    scs_int scs_validate_linsys(const ScsAMatrix *A)
    +
    void scs_accum_by_a(const ScsAMatrix *A, ScsPrivWorkspace *p, const scs_float *x, scs_float *y)
    +
    int scs_int
    Definition: glbopts.h:92
    +
    void scs_accum_by_a_trans(const ScsAMatrix *A, ScsPrivWorkspace *p, const scs_float *x, scs_float *y)
    +
    Cone structure.
    Definition: cones.h:48
    +
    void scs_unnormalize_a(ScsAMatrix *A, const ScsSettings *stgs, const ScsScaling *scal)
    +
    double scs_float
    Definition: glbopts.h:96
    +
    Settings structure.
    Definition: scs.h:352
    +
    Normalization variables.
    Definition: scs.h:586
    +
    char * getLinSysSummary(ScsPrivWorkspace *p, const ScsInfo *info)
    diff --git a/docs/logging__page_8h.html b/docs/logging__page_8h.html index ead793f51..84c293fb9 100644 --- a/docs/logging__page_8h.html +++ b/docs/logging__page_8h.html @@ -1,10 +1,13 @@ - - + + + + + -SuperSCS: pages/logging_page.h File Reference +SuperSCS: SuperSCS: Fast & Accurate conic programming @@ -21,6 +24,14 @@ + + +
    @@ -28,8 +39,10 @@
    SuperSCS +  1.3.2
    + @@ -100,7 +113,7 @@ diff --git a/docs/logging__page_8h_source.html b/docs/logging__page_8h_source.html index 9df72d0b3..4a624ce2e 100644 --- a/docs/logging__page_8h_source.html +++ b/docs/logging__page_8h_source.html @@ -1,10 +1,13 @@ - - + + + + + -SuperSCS: pages/logging_page.h Source File +SuperSCS: SuperSCS: Fast & Accurate conic programming @@ -21,6 +24,14 @@ + + +
    @@ -28,8 +39,10 @@
    SuperSCS +  1.3.2
    + @@ -99,7 +112,7 @@ diff --git a/docs/logo.png b/docs/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..ce1f2763b516d9676a4f1e9d26dff22b1345428b GIT binary patch literal 38428 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 - + + + + + -SuperSCS: pages/mainpage.h File Reference +SuperSCS: SuperSCS: Fast & Accurate conic programming @@ -21,6 +24,14 @@ + + +
    @@ -28,8 +39,10 @@
    SuperSCS +  1.3.2
    + @@ -100,7 +113,7 @@ diff --git a/docs/mainpage_8h_source.html b/docs/mainpage_8h_source.html index f0c2ec7cf..f956a0aaa 100644 --- a/docs/mainpage_8h_source.html +++ b/docs/mainpage_8h_source.html @@ -1,10 +1,13 @@ - - + + + + + -SuperSCS: pages/mainpage.h Source File +SuperSCS: SuperSCS: Fast & Accurate conic programming @@ -21,6 +24,14 @@ + + +
    @@ -28,8 +39,10 @@
    SuperSCS +  1.3.2
    + @@ -99,7 +112,7 @@ diff --git a/docs/maros__meszaros__page_8h.html b/docs/maros__meszaros__page_8h.html new file mode 100644 index 000000000..c3179680b --- /dev/null +++ b/docs/maros__meszaros__page_8h.html @@ -0,0 +1,121 @@ + + + + + + + + + +SuperSCS: SuperSCS: Fast & Accurate conic programming + + + + + + + + + + + + + + +
    +
    +
    SuperSCS +  1.3.2
    + + + + + + +
    +
    SuperSCS +  1.3.2 +
    +
    +
    + + + + + + + + + +
    + +
    + + +
    +
    +
    +
    maros_meszaros_page.h File Reference
    +
    + + + + + diff --git a/docs/maros__meszaros__page_8h_source.html b/docs/maros__meszaros__page_8h_source.html new file mode 100644 index 000000000..04a78cad5 --- /dev/null +++ b/docs/maros__meszaros__page_8h_source.html @@ -0,0 +1,120 @@ + + + + + + + + + +SuperSCS: SuperSCS: Fast & Accurate conic programming + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    SuperSCS +  1.3.2 +
    +
    +
    + + + + + + + + + +
    + +
    + + +
    +
    +
    +
    maros_meszaros_page.h
    +
    + + + + + diff --git a/docs/normalize_8h.html b/docs/normalize_8h.html index c2688d3ac..747d6013c 100644 --- a/docs/normalize_8h.html +++ b/docs/normalize_8h.html @@ -1,10 +1,13 @@ - - + + + + + -SuperSCS: include/normalize.h File Reference +SuperSCS: SuperSCS: Fast & Accurate conic programming @@ -21,6 +24,14 @@ + + +
    @@ -28,8 +39,10 @@ + @@ -111,14 +124,12 @@
    SuperSCS +  1.3.2
    - - - - - - - - + + + + + +

    Functions

    void normalizeBC (Work *w)
     
    void calcScaledResids (Work *w, struct residuals *r)
     
    void normalizeWarmStart (Work *w)
     
    void unNormalizeSol (Work *w, Sol *sol)
     
    void scs_normalize_bc (ScsWork *w)
     
    void scs_normalize_warm_start (ScsWork *w)
     
    void scs_unnormalize_sol (ScsWork *w, ScsSolution *sol)
     

    Macro Definition Documentation

    @@ -146,40 +157,14 @@

    Macro Definition Documentation

    Function Documentation

    - -
    -
    - - - - - - - - - - - - - - - - - - -
    void calcScaledResids (Workw,
    struct residualsr 
    )
    -
    - -
    -
    - +
    - + - + @@ -188,14 +173,14 @@

    Function Documentation

    - +
    void normalizeBC void scs_normalize_bc (WorkScsWork w)
    - + - + @@ -204,20 +189,20 @@

    Function Documentation

    - +
    void normalizeWarmStart void scs_normalize_warm_start (WorkScsWork w)
    - + - + - + @@ -233,7 +218,7 @@

    Function Documentation

    diff --git a/docs/normalize_8h_source.html b/docs/normalize_8h_source.html index a9b35ed1c..8076c7e4a 100644 --- a/docs/normalize_8h_source.html +++ b/docs/normalize_8h_source.html @@ -1,10 +1,13 @@ - - + + + + + -SuperSCS: include/normalize.h Source File +SuperSCS: SuperSCS: Fast & Accurate conic programming @@ -21,6 +24,14 @@ + + +
    @@ -28,8 +39,10 @@
    void unNormalizeSol void scs_unnormalize_sol (WorkScsWork w,
    SolScsSolution sol 
    + @@ -95,168 +108,179 @@
    normalize.h
    -Go to the documentation of this file.
    1 #ifndef NORMALIZE_H_GUARD
    -
    2 #define NORMALIZE_H_GUARD
    -
    3 
    -
    4 #include "scs.h"
    -
    5 
    -
    6 
    -
    7 #define MIN_SCALE (1e-3)
    -
    8 #define MAX_SCALE (1e3)
    -
    9 
    -
    10 void normalizeBC(Work *w) {
    -
    11  scs_int i;
    -
    12  scs_float nm, *D = w->scal->D, *E = w->scal->E, *b = w->b, *c = w->c;
    -
    13  /* scale b */
    -
    14  for (i = 0; i < w->m; ++i) {
    -
    15  b[i] /= D[i];
    -
    16  }
    -
    17  nm = calcNorm(b, w->m);
    -
    18  w->sc_b = w->scal->meanNormColA / MAX(nm, MIN_SCALE);
    -
    19  /* scale c */
    -
    20  for (i = 0; i < w->n; ++i) {
    -
    21  c[i] /= E[i];
    -
    22  }
    -
    23  nm = calcNorm(c, w->n);
    -
    24  w->sc_c = w->scal->meanNormRowA / MAX(nm, MIN_SCALE);
    -
    25  scaleArray(b, w->sc_b * w->stgs->scale, w->m);
    -
    26  scaleArray(c, w->sc_c * w->stgs->scale, w->n);
    -
    27 }
    -
    28 
    -
    29 void calcScaledResids(Work *w, struct residuals *r) {
    -
    30  scs_float *D = w->scal->D;
    -
    31  scs_float *E = w->scal->E;
    -
    32  scs_float *u = w->u;
    -
    33  scs_float *u_t = w->u_t;
    -
    34  scs_float *u_prev = w->u_prev;
    -
    35  scs_float tmp;
    -
    36  scs_int i, n = w->n, m = w->m;
    -
    37 
    -
    38  r->resPri = 0;
    -
    39  for (i = 0; i < n; ++i) {
    -
    40  tmp = (u[i] - u_t[i]) / (E[i] * w->sc_b);
    -
    41  r->resPri += tmp * tmp;
    -
    42  }
    -
    43  for (i = 0; i < m; ++i) {
    -
    44  tmp = (u[i + n] - u_t[i + n]) / (D[i] * w->sc_c);
    -
    45  r->resPri += tmp * tmp;
    -
    46  }
    -
    47  tmp = u[n + m] - u_t[n + m];
    -
    48  r->resPri += tmp * tmp;
    -
    49  r->resPri = sqrt(r->resPri);
    -
    50 
    -
    51  r->resDual = 0;
    -
    52  for (i = 0; i < n; ++i) {
    -
    53  tmp = (u[i] - u_prev[i]) * E[i] / w->sc_b;
    -
    54  r->resDual += tmp * tmp;
    -
    55  }
    -
    56  for (i = 0; i < m; ++i) {
    -
    57  tmp = (u[i + n] - u_prev[i + n]) * D[i] / w->sc_c;
    -
    58  r->resDual += tmp * tmp;
    -
    59  }
    -
    60  tmp = u[n + m] - u_t[n + m];
    -
    61  r->resDual += tmp * tmp;
    -
    62  r->resDual = sqrt(r->resDual);
    -
    63 }
    -
    64 
    - -
    66  scs_int i;
    -
    67  scs_float *D;
    -
    68  scs_float *E;
    -
    69  scs_float *x;
    -
    70  scs_float *y;
    -
    71 
    -
    72  D = w->scal->D;
    -
    73  E = w->scal->E;
    -
    74  if (!w->stgs->do_super_scs) {
    -
    75  scs_float *s;
    -
    76  x = w->u;
    -
    77  y = &(w->u[w->n]);
    -
    78  s = &(w->u[w->n]);
    -
    79  for (i = 0; i < w->m; ++i) {
    -
    80  s[i] /= (D[i] / (w->sc_b * w->stgs->scale));
    -
    81  }
    -
    82  } else {
    -
    83  x = w->u_t;
    -
    84  y = &(w->u_t[w->n]);
    -
    85  }
    -
    86  for (i = 0; i < w->n; ++i) {
    -
    87  x[i] *= (E[i] * w->sc_b);
    -
    88  }
    -
    89  for (i = 0; i < w->m; ++i) {
    -
    90  y[i] *= (D[i] * w->sc_c);
    -
    91  }
    -
    92 }
    +Go to the documentation of this file.
    1 /*
    +
    2  * The MIT License (MIT)
    +
    3  *
    +
    4  * Copyright (c) 2017 Pantelis Sopasakis (https://alphaville.github.io),
    +
    5  * Krina Menounou (https://www.linkedin.com/in/krinamenounou),
    +
    6  * Panagiotis Patrinos (http://homes.esat.kuleuven.be/~ppatrino)
    +
    7  * Copyright (c) 2012 Brendan O'Donoghue (bodonoghue85@gmail.com)
    +
    8  *
    +
    9  * Permission is hereby granted, free of charge, to any person obtaining a copy
    +
    10  * of this software and associated documentation files (the "Software"), to deal
    +
    11  * in the Software without restriction, including without limitation the rights
    +
    12  * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
    +
    13  * copies of the Software, and to permit persons to whom the Software is
    +
    14  * furnished to do so, subject to the following conditions:
    +
    15  *
    +
    16  * The above copyright notice and this permission notice shall be included in all
    +
    17  * copies or substantial portions of the Software.
    +
    18  *
    +
    19  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
    +
    20  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
    +
    21  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
    +
    22  * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
    +
    23  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
    +
    24  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
    +
    25  * SOFTWARE.
    +
    26  *
    +
    27  */
    +
    28 #ifndef SCS_NORMALIZE_H_GUARD
    +
    29 #define SCS_NORMALIZE_H_GUARD
    +
    30 
    +
    31 #include "scs.h"
    +
    32 
    +
    33 
    +
    34 #define MIN_SCALE (1e-3)
    +
    35 #define MAX_SCALE (1e3)
    +
    36 
    + +
    38  scs_int i;
    +
    39  scs_float nm, *D = w->scal->D, *E = w->scal->E, *b = w->b, *c = w->c;
    +
    40  /* scale b */
    +
    41  for (i = 0; i < w->m; ++i) {
    +
    42  b[i] /= D[i];
    +
    43  }
    +
    44  nm = scs_norm(b, w->m);
    +
    45  w->sc_b = w->scal->meanNormColA / MAX(nm, MIN_SCALE);
    +
    46  /* scale c */
    +
    47  for (i = 0; i < w->n; ++i) {
    +
    48  c[i] /= E[i];
    +
    49  }
    +
    50  nm = scs_norm(c, w->n);
    +
    51  w->sc_c = w->scal->meanNormRowA / MAX(nm, MIN_SCALE);
    +
    52  scs_scale_array(b, w->sc_b * w->stgs->scale, w->m);
    +
    53  scs_scale_array(c, w->sc_c * w->stgs->scale, w->n);
    +
    54 }
    +
    55 
    +
    56 /* TENTATIVELY REMOVE THIS FUNCTION
    +
    57 void scs_calculate_scaled_residuals(ScsWork *w, struct scs_residuals *r) {
    +
    58  scs_float *D = w->scal->D;
    +
    59  scs_float *E = w->scal->E;
    +
    60  scs_float *u = w->u;
    +
    61  scs_float *u_t = w->u_t;
    +
    62  scs_float *u_prev = w->u_prev;
    +
    63  scs_float tmp;
    +
    64  scs_int i, n = w->n, m = w->m;
    +
    65 
    +
    66  r->res_pri = 0;
    +
    67  for (i = 0; i < n; ++i) {
    +
    68  tmp = (u[i] - u_t[i]) / (E[i] * w->sc_b);
    +
    69  r->res_pri += tmp * tmp;
    +
    70  }
    +
    71  for (i = 0; i < m; ++i) {
    +
    72  tmp = (u[i + n] - u_t[i + n]) / (D[i] * w->sc_c);
    +
    73  r->res_pri += tmp * tmp;
    +
    74  }
    +
    75  tmp = u[n + m] - u_t[n + m];
    +
    76  r->res_pri += tmp * tmp;
    +
    77  r->res_pri = sqrt(r->res_pri);
    +
    78 
    +
    79  r->res_dual = 0;
    +
    80  for (i = 0; i < n; ++i) {
    +
    81  tmp = (u[i] - u_prev[i]) * E[i] / w->sc_b;
    +
    82  r->res_dual += tmp * tmp;
    +
    83  }
    +
    84  for (i = 0; i < m; ++i) {
    +
    85  tmp = (u[i + n] - u_prev[i + n]) * D[i] / w->sc_c;
    +
    86  r->res_dual += tmp * tmp;
    +
    87  }
    +
    88  tmp = u[n + m] - u_t[n + m];
    +
    89  r->res_dual += tmp * tmp;
    +
    90  r->res_dual = sqrt(r->res_dual);
    +
    91 }
    +
    92 */
    93 
    -
    94 void unNormalizeSol(Work *w, Sol *sol) {
    +
    95  scs_int i;
    -
    96  scs_float *D = w->scal->D;
    -
    97  scs_float *E = w->scal->E;
    -
    98  for (i = 0; i < w->n; ++i) {
    -
    99  sol->x[i] /= (E[i] * w->sc_b);
    -
    100  }
    -
    101  for (i = 0; i < w->m; ++i) {
    -
    102  sol->y[i] /= (D[i] * w->sc_c);
    -
    103  }
    -
    104  for (i = 0; i < w->m; ++i) {
    -
    105  sol->s[i] *= D[i] / (w->sc_b * w->stgs->scale);
    -
    106  }
    -
    107 }
    -
    108 
    -
    109 /* unused:
    -
    110 void unNormalizeBC(Work * w, Sol * sol) {
    -
    111  scs_int i;
    -
    112  scs_float * D = w->D;
    -
    113  scs_float * E = w->E;
    -
    114  for (i = 0; i < w->n; ++i) {
    -
    115  w->c[i] *= E[i] / (w->sc_c * w->scale);
    -
    116  }
    -
    117  for (i = 0; i < w->m; ++i) {
    -
    118  w->b[i] *= D[i] / (w->sc_b * w->scale);
    -
    119  }
    -
    120 }
    -
    121  */
    -
    122 #endif
    -
    #define MIN_SCALE
    Definition: normalize.h:7
    +
    96  scs_float *D;
    +
    97  scs_float *E;
    +
    98  scs_float *x;
    +
    99  scs_float *y;
    +
    100 
    +
    101  D = w->scal->D;
    +
    102  E = w->scal->E;
    +
    103  if (!w->stgs->do_super_scs) {
    +
    104  scs_float *s;
    +
    105  x = w->u;
    +
    106  y = &(w->u[w->n]);
    +
    107  s = &(w->u[w->n]);
    +
    108  for (i = 0; i < w->m; ++i) {
    +
    109  s[i] /= (D[i] / (w->sc_b * w->stgs->scale));
    +
    110  }
    +
    111  } else {
    +
    112  x = w->u_t;
    +
    113  y = &(w->u_t[w->n]);
    +
    114  }
    +
    115  for (i = 0; i < w->n; ++i) {
    +
    116  x[i] *= (E[i] * w->sc_b);
    +
    117  }
    +
    118  for (i = 0; i < w->m; ++i) {
    +
    119  y[i] *= (D[i] * w->sc_c);
    +
    120  }
    +
    121 }
    +
    122 
    + +
    124  scs_int i;
    +
    125  scs_float *D = w->scal->D;
    +
    126  scs_float *E = w->scal->E;
    +
    127  for (i = 0; i < w->n; ++i) {
    +
    128  sol->x[i] /= (E[i] * w->sc_b);
    +
    129  }
    +
    130  for (i = 0; i < w->m; ++i) {
    +
    131  sol->y[i] /= (D[i] * w->sc_c);
    +
    132  }
    +
    133  for (i = 0; i < w->m; ++i) {
    +
    134  sol->s[i] *= D[i] / (w->sc_b * w->stgs->scale);
    +
    135  }
    +
    136 }
    +
    137 
    +
    138 #endif
    +
    #define MIN_SCALE
    Definition: normalize.h:34
    -
    Workspace for SCS.
    Definition: scs.h:45
    -
    scs_float meanNormColA
    Definition: scs.h:519
    -
    scs_float *RESTRICT x
    Definition: scs.h:477
    -
    Primal-dual solution arrays.
    Definition: scs.h:476
    -
    scs_float *RESTRICT *RESTRICT E
    Definition: scs.h:518
    -
    scs_float *RESTRICT u
    Vector .
    Definition: scs.h:61
    -
    scs_float resPri
    Primal residual.
    Definition: scs.h:244
    -
    scs_float *RESTRICT b
    The (possibly normalized) vector .
    Definition: scs.h:108
    -
    scs_float scale
    Definition: scs.h:323
    -
    scs_float *RESTRICT y
    Definition: scs.h:478
    -
    scs_float resDual
    Dual residual.
    Definition: scs.h:236
    -
    scs_float *RESTRICT u_t
    Vector .
    Definition: scs.h:69
    -
    Scaling *RESTRICT scal
    contains the re-scaling data
    Definition: scs.h:210
    -
    #define MAX(a, b)
    Definition: glbopts.h:90
    -
    scs_float sc_b
    Scaling factor corresponding to .
    Definition: scs.h:178
    -
    scs_float meanNormRowA
    Definition: scs.h:519
    -
    scs_int m
    Row dimension of .
    Definition: scs.h:49
    -
    scs_int do_super_scs
    Definition: scs.h:379
    -
    void calcScaledResids(Work *w, struct residuals *r)
    Definition: normalize.h:29
    -
    int scs_int
    Definition: glbopts.h:65
    -
    scs_float *RESTRICT u_prev
    Vector of the previous iteration.
    Definition: scs.h:73
    -
    scs_float *RESTRICT c
    The (possibly normalized) vector .
    Definition: scs.h:112
    -
    void normalizeWarmStart(Work *w)
    Definition: normalize.h:65
    -
    void unNormalizeSol(Work *w, Sol *sol)
    Definition: normalize.h:94
    -
    scs_float calcNorm(const scs_float *RESTRICT v, scs_int len)
    -
    Settings *RESTRICT stgs
    contains solver settings specified by user
    Definition: scs.h:206
    -
    double scs_float
    Definition: glbopts.h:70
    -
    scs_float *RESTRICT D
    Definition: scs.h:518
    -
    scs_float sc_c
    Scaling factor corresponding to .
    Definition: scs.h:182
    -
    void scaleArray(scs_float *RESTRICT a, const scs_float b, scs_int len)
    -
    Structure to hold residual information (unnormalized)
    Definition: scs.h:224
    -
    void normalizeBC(Work *w)
    Definition: normalize.h:10
    -
    scs_int n
    Column dimension of .
    Definition: scs.h:53
    -
    scs_float *RESTRICT s
    Definition: scs.h:479
    +
    scs_int m
    Row dimension of .
    Definition: scs.h:141
    +
    scs_float *RESTRICT c
    The (possibly normalized) vector .
    Definition: scs.h:204
    +
    scs_float scale
    Definition: scs.h:370
    +
    scs_int do_super_scs
    Definition: scs.h:438
    +
    void scs_normalize_bc(ScsWork *w)
    Definition: normalize.h:37
    +
    scs_float sc_c
    Scaling factor corresponding to .
    Definition: scs.h:274
    +
    scs_float *RESTRICT s
    Definition: scs.h:548
    +
    scs_float *RESTRICT u_t
    Vector .
    Definition: scs.h:161
    +
    scs_float *RESTRICT x
    Definition: scs.h:540
    +
    void scs_unnormalize_sol(ScsWork *w, ScsSolution *sol)
    Definition: normalize.h:123
    +
    #define MAX(a, b)
    Definition: glbopts.h:119
    +
    scs_float meanNormRowA
    Definition: scs.h:588
    +
    scs_float *RESTRICT *RESTRICT E
    Definition: scs.h:587
    +
    scs_float *RESTRICT b
    The (possibly normalized) vector .
    Definition: scs.h:200
    +
    int scs_int
    Definition: glbopts.h:92
    +
    scs_float sc_b
    Scaling factor corresponding to .
    Definition: scs.h:270
    +
    void scs_normalize_warm_start(ScsWork *w)
    Definition: normalize.h:94
    +
    scs_float meanNormColA
    Definition: scs.h:588
    +
    double scs_float
    Definition: glbopts.h:96
    +
    scs_float *RESTRICT u
    Vector .
    Definition: scs.h:153
    +
    Workspace for SCS.
    Definition: scs.h:137
    +
    scs_float *RESTRICT D
    Definition: scs.h:587
    +
    scs_float scs_norm(const scs_float *RESTRICT v, scs_int len)
    +
    scs_int n
    Column dimension of .
    Definition: scs.h:145
    +
    scs_float *RESTRICT y
    Definition: scs.h:544
    +
    void scs_scale_array(scs_float *RESTRICT a, const scs_float b, scs_int len)
    +
    ScsScaling *RESTRICT scal
    contains the re-scaling data
    Definition: scs.h:302
    +
    Primal-dual solution arrays.
    Definition: scs.h:536
    +
    ScsSettings *RESTRICT stgs
    contains solver settings specified by user
    Definition: scs.h:298
    diff --git a/docs/page_benchmark_results.html b/docs/page_benchmark_results.html index d245549af..a9a85b21a 100644 --- a/docs/page_benchmark_results.html +++ b/docs/page_benchmark_results.html @@ -1,10 +1,13 @@ - - + + + + + -SuperSCS: Benchmarks +SuperSCS: SuperSCS: Fast & Accurate conic programming @@ -21,6 +24,14 @@ + + +
    @@ -28,8 +39,10 @@
    SuperSCS +  1.3.2
    + @@ -87,10 +100,12 @@

    Table of Contents

    + +
    SuperSCS +  1.3.2
    -lasso-anderson-10-15 +lasso-anderson-5 +
    +
    +lasso-anderson-10 +
    +
    +lasso-anderson-15 +
    +
    +lasso-anderson-20
    @@ -156,23 +191,45 @@

    + +
    -logreg-broyden-50-100 +logreg-broyden-50
    -logreg-anderson-5 +logreg-broyden-100
    +logreg-anderson-5 +
    +
    logreg-anderson-10 +
    +
    +logreg-anderson-15 +
    +
    +logreg-anderson-cmp

    Semidefinite programming

    -

    36 SDP problems

    +

    48 SDP problems

    + +
    sdp-broyden-50 +
    +
    +sdp2-broyden-100 +
    +
    +sdp2-anderson-3 +
    +
    +sdp2-anderson-5
    sdp2-anderson-10 @@ -182,30 +239,81 @@

    +

    +Ill-conditioned SDPs

    +

    48 ill-conditioned SDP problems

    +
    + + + + +
    +sdp2b-aa-5 +
    +
    +sdp2b-aa-5 +
    +
    +sdp2b-aa-10 +
    +
    +sdp2b-aa-15 +
    +
    +sdp2b-bro-50 +
    +
    +sdp2b-bro-100 +
    +

    Norm-constrained norm minimization

    -

    384 norm-constrained problems

    +

    256 norm-constrained problems

    + +
    -normcon-broyden-50 +normcon-broyden-50 +
    +
    +normcon-broyden-100 +
    +
    +normcon-anderson-5 +
    +
    +normcon-broyden-50
    -normcon-broyden-100 +normcon-broyden-50
    -normcon-anderson-5 +normcon-broyden-50

    Maros-Meszaros Problems

    We tested SuperSCS on the Maros-Meszaros collection of QP problems.

    -

    [RAW DATA]

    +
    + + +
    +Maros-Meszaros: SCS vs SuperSCS/Broyden +
    +
    +Maros-Meszaros: SCS vs SuperSCS/AA +
    +
    +Maros-Meszaros: SuperSCS Broyden vs AA +
    +
    +

    Find details here.

    diff --git a/docs/page_cones.html b/docs/page_cones.html index c5fe189a6..2e1811122 100644 --- a/docs/page_cones.html +++ b/docs/page_cones.html @@ -1,10 +1,13 @@ - - + + + + + -SuperSCS: Cones +SuperSCS: SuperSCS: Fast & Accurate conic programming @@ -21,6 +24,14 @@ + + +
    @@ -28,8 +39,10 @@ + @@ -229,33 +242,31 @@

    K.p = [];

    C

    -

    In C, cones are supported by the structure Cone.

    +

    In C, cones are supported by the structure ScsCone.

    In order to construct \(\mathcal{K}^{\mathrm{s}}_{k_1,\ldots, k_{N_{\mathrm{s}}}}\), \(\mathcal{K}^{\mathrm{p}}_{\alpha_1,\ldots, \alpha_{N_{\mathrm{p}}}}\) and/or \(\mathcal{K}^{\mathrm{q}}_{n_{\mathrm{q},1},\ldots, n_{\mathrm{q},N_{\mathrm{q}}}}\), we also need to specify the lengths of the corresponding arrays.

    For example, in order to define \(\mathcal{K}^{\mathrm{q}}_{3,7,9}\) we do

    -
    Cone * cone;
    +
    ScsCone * cone;
    scs_int number_of_soc_cones = 3;
    cone = scs_malloc(sizeof(*cone));
    -
    cone->qsize = number_of_soc_cones;
    -
    cone->q = scs_malloc(number_of_soc_cones * sizeof(*cone->q));
    -
    cone->q[0] = 3;
    -
    cone->q[0] = 7;
    -
    cone->q[0] = 9;
    +
    cone->qsize = number_of_soc_cones;
    +
    cone->q = scs_malloc(number_of_soc_cones * sizeof(*cone->q));
    +
    cone->q[0] = 3;
    +
    cone->q[0] = 7;
    +
    cone->q[0] = 9;
    -
    // at the end, don't forget to free the cone (e.g., using #freeData)
    +
    // at the end, don't forget to free the cone (e.g., using #scs_free_data)

    The zero cone, the linear cone and the primal and dual exponential cones are defined very easily as follows:

    -
    cone->f = 2;
    -
    cone->l = 5;
    -
    cone->ep = 10;
    -
    cone->ed = 4;
    -
    See Also
    Cone
    -
    -SCS_CONE
    +
    cone->f = 2;
    +
    cone->l = 5;
    +
    cone->ep = 10;
    +
    cone->ed = 4;
    +
    See Also
    ScsCone
    Saving/loading problems
    diff --git a/docs/page_contributing.html b/docs/page_contributing.html new file mode 100644 index 000000000..f71883515 --- /dev/null +++ b/docs/page_contributing.html @@ -0,0 +1,365 @@ + + + + + + + + + +SuperSCS: SuperSCS: Fast & Accurate conic programming + + + + + + + + + + + + + + +
    +
    +
    SuperSCS +  1.3.2
    + + + + + + +
    +
    SuperSCS +  1.3.2 +
    +
    +
    + + + + + + + + +
    + +
    + + +
    +
    +
    Contributing to SuperSCS
    +
    +
    + +

    Thank you for considering contributing to SuperSCS!

    +

    Please, read the following guide before you fork this repository, or before you file a new issue.

    +

    +Style guide

    +

    +C coding style

    +

    SuperSCS follows the following naming convention:

    +
      +
    • Typed structures are camel-case, e.g., ScsCone and ScsData
    • +
    • All functions start with scs_ or superscs_; this is because C lacks namespaces, so we need to avoid name clashes with other libraries
    • +
    • Guards in header files should start with SCS_
    • +
    • All function names are lowercare, e.g., scs_init_data. Don't use names like iCantReadThis.
    • +
    • Function names must be as informative as possible about the underlying functionality, e.g., scs_matrix_multiply
    • +
    • Variables defined via preprocessor directives are all uppercase and start with SCS_ (e.g., SCS_SOLVED)
    • +
    • Names of unit tests start with test_
    • +
    • No function or variable names are allowed to start with an underscore
    • +
    • Give all variables, even local ones, names that reveal their designation, e.g., norm_E_Atran_yb instead of t.
    • +
    • Static variables are all-lowercase and separated by underscores
    • +
    • Write one statement per line, e.g., avoid int a=1, b=2, c;
    • +
    • Do not default if tests for nonzero, i.e., use if (a != 0) instead of if (a); the same holds for non-NULL tests
    • +
    • Write short functions (we still need to do some work towards that direction)
    • +
    • Prefer #if defined() instead of #ifdef
    • +
    • Do not hard code any data in the code; use preprocessor directives
    • +
    +

    In particular, in regard to structures, they should be written like that:

    + +
    +
    struct scs_structure {
    +
    /* fields go here */
    +
    };
    +
    +
    typedef struct scs_structure ScsStructure;
    +
    +

    +API Documentation in C

    +

    All non-static functions in C must be documented using the Doxygen style.

    + +
    +
    /**
    +
    * \brief Give a brief description here
    +
    *
    +
    * Give a more detailed description here
    +
    *
    +
    * @param data explain what this parameter is about
    +
    * @param cone explanation...
    +
    *
    +
    * @return returns 0 if ... and 1 if ...
    +
    *
    +
    */
    +
    +
    scs_int scs_function(ScsData * data, ScsCone * cone);
    +

    Installation instructions, mathematical documentation and other non-API documentation should not be part of function/variable documentation.

    +

    Instead, you should contribute to an existing page in pages/.

    +

    +Comments in C

    +

    Comments in C should be like that:

    + +
    +
    /* comment goes here */
    +
    +

    Multi-line comments should be like that:

    + +
    +
    /*
    +
    * this is a multiple-line comment
    +
    * which continues into the next line
    +
    */
    +
    +

    +Version Numbers

    +

    SuperSCS uses a 3-digit version number with a major, a minor and a build number.

    +

    Version numbers are updated every time dev is merged into master.

    +

    +Git

    +

    +Using/creating branches

    +

    We use a simple collaboration model with two branches:

    +
      +
    • The master branch into which we merge to create a new release,
    • +
    • The dev (development) branch where the development takes place
    • +
    +

    Experimental branches can be created, branching out of dev.

    +

    If you need to provide some new functionality, or solve an issue:

    +
      +
    • Checkout dev
    • +
    • Create a new branch out of dev - give it a name like feature/parser or hotfix-issue-183
    • +
    • Work on that branch, write unit tests for your new functionality or tests to verify that the problem has been resolved
    • +
    • Create a new pull request on github and ask for someone else to have a look at your changes and merge it.
    • +
    +

    +Creating an issue

    +

    +Issues: code of conduct

    +

    Before creating a new issue, please make sure that the same or a very similar issue has already been filed.

    +

    In general, you shouldn't file an issue to ask a question unless:

    +
      +
    • You need to report that the documentation is unclear, wrong, outdated or insufficient (label: documentation),
    • +
    • You want to contribute to SuperSCS and part of the code or its sturcture is not clear (label: help-wanted).
    • +
    +

    If you simply need a clarification, ...

    +

    +Reporting an issue

    +

    You may report your issue using the project's issue tracker on github

    +

    In your issue report, please include the following information:

    +
      +
    • explanatory title: a clear title
    • +
    • description: a detailed description of the issue
    • +
    • steps to reproduce the issue: make a list of steps
        +
      • report the expected and actual behavior
      • +
      • provide logs and the output of SuperSCS
      • +
      • if logs are too lengthy, use pastebin or a similar service
      • +
      • if you need to paste code, use github's markdown syntax
      • +
      +
    • +
    • SuperSCS: report your SuperSCS version
    • +
    • Platform information: what is your operating system, Python/MATLAB version or other relevant information
    • +
    +

    Alongside, provide any additional information that will help reproduce and resolve the issue.

    +

    If possible, write a test that reproduces the error.

    +

    +Labels of issues

    +

    Labels:

    +
      +
    • bug: bug report
    • +
    • documentation: insufficient/unclear/wrong documentation
    • +
    • duplicate: the same or really similar issue has been filed
    • +
    • enhancement: proposal for enchancement
    • +
    • help-wanted: a user or developer needs help or guidance with the code
    • +
    • invalid: invalid issue
    • +
    • linux: linux operating system
    • +
    • maxosx: Mac OS X operating system
    • +
    • matlab: issue related to MATLAB
    • +
    • memory-leak: memory leak or other memory issue
    • +
    • python: issue related to python
    • +
    • serializer-parser: issue related to the YAML serializer/parser
    • +
    • testing: wrong/insufficient testing
    • +
    • windows: windows operating system
    • +
    • wontfix: this issue will not be fixed
    • +
    +

    +Committing to github

    +

    The following commit guidelines were inspired by the guidelines of Atom...

    +
      +
    • Use [ci skip] in the first line of your commit message to skip the CI testing
    • +
    • Annotate your commit message as follows (will create an emoji):
        +
      • :art: when improving the format/structure of the code
      • +
      • :memo: when writing docs
      • +
      • :beetle: when fixing a bug
      • +
      • :racehorse: when improving performance
      • +
      • :white_check_mark: when adding tests
      • +
      • :wrench: when benchmarking or profiling
      • +
      • :hammer: improved code or implemented new feature
      • +
      • :construction: work in progress
      • +
      +
    • +
    +

    +Contributing to SuperSCS

    +

    In order to contribute and actively participate in the development of SuperSCS, you first need to fork the repository on github:

    + + +

    This way you will obtain a copy of SuperSCS in your user account.

    +

    You will be able to work there and submit a pull request once you complete your changes.

    +

    +Before merging into master

    +

    Before merging into master, use the following checklist:

    +
      +
    • Make sure there is adequate testing. Code coverage can be of assistance.
    • +
    • All unit tests pass on travis CI
    • +
    • Valgrind does not return any errors
    • +
    • The profiler (make PF=1 profile) works
    • +
    • The Python interface compiles and works correctly
    • +
    • The MEX interface works properly
    • +
    • All necessary files (e.g., images) have been committed
    • +
    • The version number has been updated in the C code
    • +
    • The version number has been updated in Doxygen
    • +
    • A pull request has preferably been created
    • +
    • Changelog has been updated
    • +
    • Make sure there are no important issues
    • +
    • Check out Trello
    • +
    +

    After the pull request has been merged:

    +
      +
    • Build the documentation in master and push (make docs)
    • +
    • If necessary, create a release
    • +
    • Switch back to the development branch to continue
    • +
    +

    +Benchmarking

    +

    Additional benchmarks are always welcome.

    +

    The standard way to report benchmarking results in SuperSCS is the Dolan-Moré plot.

    +

    +Benchmarking in MATLAB

    +

    Benchmarking scripts are found in tests/profiling_matlab.

    +

    The files are organised in three main subfolders:

    +
      +
    • experimenters/ experimenters call the profile runners with different solver parameters.
    • +
    • profile_helpers/ functions used to run profiling problems
    • +
    • profile_runners/ functions which call the profile helpers with different problem parameters; these define a suite of numerical experiments
    • +
    +

    +Helpers

    +

    Profile helpers are functions of the following form:

    +
    out = profile_lasso(problem, solver_options);
    +

    These accept two arguments: a problem structure with the problem parameters and a solver_options with the solver configuration (as instance of SuperScsConfig).

    +

    +Runners

    +

    Runners are saved in profile_runners/. Profile runners execute a diverse collection of problems by invoking profile helper functions.

    +

    Profile runners are functions of the form:

    +
    profile_runner_logreg(solver_options, id, runner_options);
    +

    The first argument is an instance of SuperSCSConfig which is passed to all invocations of profile_runner_*.

    +

    The second argument is an (integer) identifier of the runner. The results will be stored in a .mat file at profile_results/{id}.mat.

    +

    These mat files are not put under version control.

    +

    The third argument is a structure with runner configuration parameters.

    +

    These typically are ranges of the problem parameters to be tested, number of repetitions of each run and more.

    +

    Profile runners store some general statistics in the CSV file register.csv which can be used for look-up purposes.

    +

    +Experimenters

    +

    Lastly, we have the experimenters. These are stored in experimenters/.

    +

    An experimenter is a MATLAB script that calls a profile runner with different solver parameters.

    +

    +Plotting results

    +

    Once an experimenter has completed successfully, we may create performance plots using perf_profile_plot

    +

    +Benchmarking in Python

    +
    + + + + diff --git a/docs/page_cvx_examples.html b/docs/page_cvx_examples.html index de92171fd..81652e82e 100644 --- a/docs/page_cvx_examples.html +++ b/docs/page_cvx_examples.html @@ -1,10 +1,13 @@ - - + + + + + -SuperSCS: Examples in CVX MATLAB +SuperSCS: SuperSCS: Fast & Accurate conic programming @@ -21,6 +24,14 @@ + + +
    @@ -28,8 +39,10 @@ + @@ -132,9 +145,9 @@

    We solve it using SuperSCS with restarted Broyden directions with memory \(100\) and using \(k_0=0\):

    do_super_scs = 0;
    - +
    tic;
    cvx_begin
    -
    cvx_solver scs
    +
    cvx_solver scs
    cvx_solver_settings('eps', 1e-4,...
    'do_super_scs',do_super_scs,...
    'direction', 100,...
    @@ -142,12 +155,12 @@
    variable x_c(n)
    minimize(0.5*sum_square(A*x_c - b) + mu*norm(x_c,1))
    cvx_end
    - +
    toc

    Notice that we may pass any parameters to SCS using CVX's cvx_solver_settings.

    SuperSCS with the above options terminates after \(169\) iterations and \(85.1\) s.

    Instead, SCS requires \(3243\) iterations which corresponds to \(802\) s.

    SuperSCS exhibits a speed-up of \(\times 9.4\).

    -
    Note
    Any values that are not overridden using cvx_solver_settings are set to their default values.
    +
    Note
    Any values that are not overridden using cvx_solver_settings are set to their default values.

    Semidefinite Programming

    Here we solve the problem

    @@ -157,7 +170,7 @@

    n=800;
    P = randn(n,n);
    cvx_begin sdp
    -
    cvx_solver scs
    +
    cvx_solver scs
    cvx_solver_settings('eps', 1e-4,...
    'do_super_scs',1,...
    'memory', 50)
    @@ -188,7 +201,7 @@

    A'*P + P*A <= -eye(n)
    P >= eye(n)
    cvx_end
    - +
    toc

    SuperSCS converges after \(40.7\)s ( \(314\) iterations), whereas SCS converges after \(415\)s ( \(4748\) iterations)

    Logistic Regression

    @@ -211,7 +224,7 @@

    We formulate the problem as follows:

    tolerance = 1e-3;
    cvx_begin
    -
    cvx_solver scs
    +
    cvx_solver scs
    cvx_solver_settings('eps', tolerance,...
    'do_super_scs', 1,...
    'ls', 5,...
    @@ -237,9 +250,9 @@

    f = randn(m,1) * n * density;
    pow = 1.5;
    - +
    tic
    cvx_begin
    -
    cvx_solver scs
    +
    cvx_solver scs
    cvx_solver_settings('eps', 1e-4,...
    'do_super_scs', 0, ...
    'memory', 50,...
    @@ -249,7 +262,7 @@

    subject to
    G*x == f
    cvx_end
    - +
    toc

    For \(\epsilon=10^{-3}\), SuperSCS converged after \(11.3\)s ( \(1355\) iterations) , while SCS required \(39\)s ( \(4911\) iters).

    For \(\epsilon=10^{-4}\), SuperSCS terminated after 17s ( \(4909\) iterations), while SCS failed to terminate within \(10^4\) iterations.

    @@ -267,9 +280,9 @@

    G = 2*sprandn(2*n, n, 0.1);

    And we need to solve it up to an accuracy of \(\epsilon=10^{-3}\).

    The problem is formulated in CVX as follows:

    -
    +
    tic;
    cvx_begin
    -
    cvx_solver scs
    +
    cvx_solver scs
    cvx_solver_settings('eps', 1e-3,...
    'do_super_scs', 1, ...
    'memory', 20);
    @@ -278,7 +291,7 @@

    subject to
    norm(G*x) <= 1
    cvx_end
    - +
    toc

    SuperSCS converges after \(37.1\)s ( \(116\) iterations).

    On the other hand, SCS did not converge after \(242s\) ( \(5000\) iterations).

    Note that SuperSCS can attain much higher precision; for instance, it converges with \(\epsilon=10^{-4}\) in \(41.2\)s ( \(131\) iterations) and with \(\epsilon=10^{-6}\) it converges after \(58\)s ( \(194\) iterations).

    @@ -300,9 +313,9 @@

    M(idx(1:n_nan))=nan;
    lam = 0.5;
    - +
    tic
    cvx_begin sdp
    -
    cvx_solver scs
    +
    cvx_solver scs
    cvx_solver_settings('eps', 1e-3,...
    'do_super_scs', 1,...
    'memory', 100)
    @@ -317,7 +330,7 @@

    end
    end
    cvx_end
    - +
    toc

    SuperSCS converges in \(18.4s\) ( \(102\) iterations), whereas SCS takes \(270s\) ( \(6061\) iterations).

    Changing lam to 0.05 deems SCS unable to converge within 10,000 iterations (gain, with \(\epsilon=10^{-3}\)), while SuperSCS converges in \(26.2\)s ( \(145\) iterations).

    @@ -341,7 +354,7 @@

    B = 1;

    The problem is solved using CVX as follows:

    cvx_begin
    -
    cvx_solver scs
    +
    cvx_solver scs
    cvx_solver_settings('eps', 1e-4,...
    'do_super_scs', 1,...
    'direction', 100,...
    @@ -388,7 +401,7 @@

    Here is an example:

    solver_options = SuperSCSConfig.andersonConfig();
    cvx_begin
    -
    cvx_solver scs
    +
    cvx_solver scs
    set_pars(solver_options)
    % describe your problem here
    cvx_end
    @@ -405,7 +418,7 @@

    diff --git a/docs/page_directions.html b/docs/page_directions.html index 7dadf262a..346846847 100644 --- a/docs/page_directions.html +++ b/docs/page_directions.html @@ -1,10 +1,13 @@ - - + + + + + -SuperSCS: Directions +SuperSCS: SuperSCS: Fast & Accurate conic programming @@ -21,6 +24,14 @@ + + +
    @@ -28,8 +39,10 @@

    SuperSCS +  1.3.2
    + @@ -132,14 +145,14 @@

    \begin{eqnarray*} S_k = \begin{bmatrix} s_k & s_{k-1} & \cdots & s_{k-m+1} \end{bmatrix}\\ Y_k = \begin{bmatrix} y_k & y_{k-1} & \cdots & y_{k-m+1} \end{bmatrix} \end{eqnarray*}

    Lastly, \(R\) is the fixed point operator.

    -
    Note
    All directions which require a finite-memory cache are supported by SCS_DIRECTION_MEMORY.
    +
    Note
    All directions which require a finite-memory cache are supported by scs_direction_cache.

    Full Broyden

    Full Broyden method (for experimental purposes only, not recommended unless the problem is of very low dimension).

    diff --git a/docs/page_doc.html b/docs/page_doc.html index f6ce2b4eb..4f54cf3b0 100644 --- a/docs/page_doc.html +++ b/docs/page_doc.html @@ -1,10 +1,13 @@ - - + + + + + -SuperSCS: Using SuperSCS +SuperSCS: SuperSCS: Fast & Accurate conic programming @@ -21,6 +24,14 @@ + + +
    @@ -28,8 +39,10 @@
    SuperSCS +  1.3.2
    + @@ -109,7 +122,7 @@

  • solver_options: (optional) options for the solver
  • To use SuperSCS provide the option solver_options.do_super_scs=1.

    -

    A list of all solver options and their default parameters can be found here.

    +

    A list of all solver options and their default parameters can be found here.

    Note that the method with which SuperSCS computes the direction (e.g., the restarted Broyden method, Anderson's acceleration etc) is specified using solver_options.direction. Admissible values are numeric (not strings) and are as follows:

    • direction=100: Restarted Broyden method
    • @@ -122,10 +135,10 @@

      SuperSCS via CVX in MATLAB

      SuperSCS can be used with CVX in MATLAB by simply using

      -
      cvx_solver scs
      +
      cvx_solver scs

      and setting the solver option do_super_scs=1 as shown below

      cvx_begin
      -
      cvx_solver scs
      +
      cvx_solver scs
      cvx_solver_settings('eps', 1e-4,...
      'do_super_scs', 1,...
      'direction', 150,...
      @@ -218,7 +231,7 @@

      diff --git a/docs/page_installation.html b/docs/page_installation.html index 2f4ef02bd..c87e09bf7 100644 --- a/docs/page_installation.html +++ b/docs/page_installation.html @@ -1,10 +1,13 @@ - - + + + + + -SuperSCS: Installation +SuperSCS: SuperSCS: Fast & Accurate conic programming @@ -21,6 +24,14 @@ + + +
      @@ -28,8 +39,10 @@

    SuperSCS +  1.3.2
    + @@ -137,7 +150,7 @@

    c = [1;-2;-3];
    cvx_begin
    -
    cvx_solver scs
    +
    cvx_solver scs
    cvx_solver_settings('eps', 1e-8, 'do_super_scs', 1, 'rho_x', 1,...
    'direction', 100, 'memory', 50);
    variable x(n);
    @@ -161,7 +174,7 @@

    Further documentation for the Python module can be found here.

    Using SuperSCS in C

    -

    To you SuperSCS in C you first need to build the source code" as explained above.

    +

    To you SuperSCS in C you first need to build the source code as explained above.

    This will generate the following four files in the out/ folder:

    • Static library files: diff --git a/docs/page_logging.html b/docs/page_logging.html index 9e71d66f9..3819f7176 100644 --- a/docs/page_logging.html +++ b/docs/page_logging.html @@ -1,10 +1,13 @@ - - + + + + + -SuperSCS: Logging +SuperSCS: SuperSCS: Fast & Accurate conic programming @@ -21,6 +24,14 @@ + + +
      @@ -28,8 +39,10 @@
    SuperSCS +  1.3.2
    + @@ -87,8 +100,8 @@

    Logging in C

    -

    In SuperSCS, we may activate the logging of progress information using the property do_record_progress in Settings.

    -

    In that case, the Info object that is updated using scs contains the following information:

    +

    In SuperSCS, we may activate the logging of progress information using the property do_record_progress in ScsSettings.

    +

    In that case, the Info object that is updated using scs contains the following information:

    • progress_iter an array of the iterations when the progress data were recorded. It is possible that progress data are stored with a stride.
    • progress_time an array of timestamps (starting at 0) when the progress data were recorded
    • @@ -107,14 +120,14 @@
      const scs_int column_size = 10;
      printf(" i P Cost D Cost Gap FPR PRes DRes\n");
      printf("----------------------------------------------------------------\n");
      -
      for (i = 0; i < info->iter; ++i) {
      -
      printf("%*i ", 3, info->progress_iter[i]);
      -
      printf("%*.2e", column_size, info->progress_pcost[i]);
      -
      printf("%*.2e", column_size, info->progress_dcost[i]);
      -
      printf("%*.2e", column_size, info->progress_relgap[i]);
      -
      printf("%*.2e", column_size, info->progress_norm_fpr[i]);
      -
      printf("%*.2e", column_size, info->progress_respri[i]);
      -
      printf("%*.2e", column_size, info->progress_resdual[i]);
      +
      for (i = 0; i < info->iter; ++i) {
      +
      printf("%*i ", 3, info->progress_iter[i]);
      +
      printf("%*.2e", column_size, info->progress_pcost[i]);
      +
      printf("%*.2e", column_size, info->progress_dcost[i]);
      +
      printf("%*.2e", column_size, info->progress_relgap[i]);
      +
      printf("%*.2e", column_size, info->progress_norm_fpr[i]);
      +
      printf("%*.2e", column_size, info->progress_respri[i]);
      +
      printf("%*.2e", column_size, info->progress_resdual[i]);
      printf("\n");
      }

    @@ -124,7 +137,7 @@
    params.do_record_progress = 1;
    [x, y, s, info] = scs_direct(data, K, params);

    This is the info structure we get when we run tests/matlab/cone_test.m:

    -
    info1 =
    +
    info =
    iter: 32
    status: 'Solved'
    @@ -198,7 +211,7 @@
    diff --git a/docs/page_maros_meszaros_results.html b/docs/page_maros_meszaros_results.html new file mode 100644 index 000000000..25e9bef58 --- /dev/null +++ b/docs/page_maros_meszaros_results.html @@ -0,0 +1,325 @@ + + + + + + + + + +SuperSCS: SuperSCS: Fast & Accurate conic programming + + + + + + + + + + + + + + +
    +
    +

    SuperSCS +  1.3.2
    + + + + + + +
    +
    SuperSCS +  1.3.2 +
    +
    +
    + + + + + + + + +
    + +
    + + +
    +
    +
    Maros-Meszaros QP problems
    +
    +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    PROBLEM SCS DR Anderson, mem:3 Anderson, mem:5 Anderson, mem:10 Broyden, mem:50 Broyden, mem:100
    AUG2D FAIL (51524) FAIL (64525) 3667 (243) 62987 (2994) 6554 (344) 42151 (1653) 19787 (705)
    AUG2DC FAIL (48556) FAIL (62858) 36118 (2228) 75689 (3448) 23433 (1140) 53558 (1903) 13649 (513)
    AUG2DCQP FAIL (49820) 425 (99) 221 (32) 271 (31) 354 (28) 414 (35) 411 (35)
    AUG3D 1.1 (0) 0.4 (0) 0.3 (0) 0.3 (0) 1.9 (0) 0.3 (0) 0.4 (0)
    AUG3DC 3622 (10773) 1896 (5223) 54.1 (72) 48.3 (58) 40.7 (38) 87.6 (88) 180 (143)
    AUG3DCQP 8722 (17465) 5623 (10160) 693 (548) 748 (489) 655 (308) 288 (173) 314 (160)
    AUG3DQP 13992 (12556) 7754 (6971) 586 (264) 16764 (3593) 220 (86) 349 (131) 278 (86)
    CONT-050 8293 (17957) 628 (1157) 1024 (808) 1201 (832) 1651 (772) 3125 (1565) 3341 (1488)
    CONT-100 15894 (7307) 3954 (1654) 5242 (953) 6167 (952) 12746 (1060) 17462 (2051) 20359 (2009)
    DPKLO1 1.0 (13) 0.9 (13) 0.4 (3) 0.4 (3) 0.4 (3) 0.3 (3) 0.3 (3)
    DUAL1 16.1 (180) 9.8 (92) 12.0 (65) 20.1 (99) 21.6 (85) 14.9 (64) 14.7 (65)
    DUAL2 14.1 (132) 10.4 (92) 16.9 (82) 16.7 (74) 20.6 (79) 17.0 (67) 18.2 (67)
    DUAL3 17.7 (143) 13.9 (105) 16.0 (74) 14.3 (55) 18.6 (61) 15.8 (52) 15.3 (52)
    DUAL4 6.8 (94) 5.8 (71) 6.2 (48) 6.7 (47) 14.1 (65) 5.6 (39) 5.5 (39)
    DUALC1 105 (1432) 14.1 (174) 33.5 (201) 25.9 (176) 21.3 (121) 16.2 (129) 11.2 (86)
    DUALC2 136 (2056) 40.5 (594) 20.6 (170) 30.8 (221) 24.9 (133) 16.1 (135) 10.3 (92)
    DUALC5 257 (3118) 167 (1984) 36.1 (236) 28.5 (186) 29.5 (148) 21.3 (150) 16.9 (115)
    DUALC8 163 (1523) 93.6 (837) 76.3 (417) 44.1 (207) 41.6 (147) 29.6 (141) 18.5 (83)
    GENHS28 0.4 (16) 0.4 (14) 1.0 (18) 1.0 (14) 1.0 (12) 2.0 (41) 2.2 (41)
    GOULDQP3 262 (2142) 54.0 (383) 105 (310) 130 (346) 186 (328) 67.1 (139) 100 (155)
    HS118 7.2 (257) 3.8 (123) 3.9 (46) 4.1 (47) 5.5 (47) 2.2 (46) 2.5 (46)
    HS21 35.6 (1137) 22.3 (758) 8.0 (106) 14.9 (173) 225 (1548) 1.1 (19) 0.8 (19)
    HS268 2.1 (76) 2.7 (85) 1.5 (22) 2.0 (31) 1.7 (21) 0.8 (17) 0.8 (17)
    HS35 1.2 (50) 1.0 (37) 1.7 (28) 1.8 (25) 1.9 (21) 1.2 (25) 1.1 (25)
    HS35MOD 1.4 (52) 1.2 (39) 1.5 (26) 2.3 (31) 3.4 (34) 1.0 (24) 1.1 (24)
    HS51 1.3 (46) 1.3 (36) 0.8 (10) 0.5 (9) 0.7 (10) 1.6 (30) 1.6 (30)
    HS52 0.4 (12) 0.6 (16) 0.4 (7) 0.5 (8) 0.6 (8) 0.3 (6) 0.3 (6)
    HS53 5.4 (207) 3.3 (117) 4.7 (64) 1.4 (21) 2.0 (26) 1.0 (21) 1.0 (21)
    HS76 0.9 (31) 0.6 (23) 0.9 (19) 1.5 (20) 1.7 (18) 1.0 (23) 0.8 (23)
    HUES-MOD FAIL (142240) 19574 (15810) 8142 (2819) 11636 (3434) 9130 (1788) 3922 (1181) 6042 (1258)
    HUESTIS 155 (145) 29.7 (20) 40.2 (14) 22.7 (7) 59.7 (16) 17.9 (7) 17.4 (7)
    KSIP 204 (638) 52.4 (115) 103 (119) 82.9 (101) 109 (100) 131 (94) 140 (98)
    LASER 5041 (16210) 1294 (4366) 679 (1109) 1675 (2394) 2326 (2766) 6946 (7900) 8860 (8341)
    LISWET1 35103 (30245) 3594 (2535) 3979 (1176) 3777 (1000) 3241 (627) 8098 (1589) 18813 (2856)
    LISWET10 38969 (33937) 3505 (2606) 4020 (1202) 3815 (1024) 3488 (656) 11776 (2332) 14594 (2255)
    LISWET11 38701 (33981) 3595 (2603) 3913 (1167) 3905 (1033) 3389 (647) 18421 (3532) 24013 (3673)
    LISWET12 53402 (47062) 3567 (2602) 4125 (1209) 3791 (1021) 3272 (632) 8078 (1624) 24590 (3763)
    LISWET2 29076 (25403) 2891 (2048) 4033 (1150) 3900 (1035) 3952 (747) 6936 (1359) 15946 (2469)
    LISWET3 20320 (17807) 2016 (1470) 2674 (833) 2993 (820) 3006 (587) 6606 (1267) 8077 (1255)
    LISWET4 15923 (13763) 1696 (1197) 2409 (706) 2438 (642) 2436 (467) 3489 (640) 6275 (927)
    LISWET5 95611 (76735) 10695 (6817) 13041 (3247) 11171 (2644) 14827 (2400) 43181 (8503) 56914 (8418)
    LISWET6 39217 (30609) 3514 (2408) 4884 (1337) 5062 (1235) 5305 (876) 13911 (2516) 6891 (1047)
    LISWET7 45644 (33933) 4435 (2605) 4269 (1160) 4303 (1026) 3915 (665) 14675 (2745) 19957 (2847)
    LISWET8 44003 (34562) 4008 (2606) 4608 (1184) 4097 (1032) 5073 (714) 26962 (4274) 23730 (3294)
    LISWET9 68662 (52655) 3686 (2613) 4268 (1199) 4046 (1034) 3798 (686) 11776 (2222) 39909 (5446)
    MOSARQP1 619 (1241) 395 (669) 521 (423) 569 (410) 796 (396) 447 (195) 549 (201)
    MOSARQP2 150 (674) 110 (411) 106 (263) 115 (234) 131 (193) 114 (117) 145 (125)
    POWELL20 FAIL (115021) FAIL (104744) FAIL (34190) FAIL (27443) FAIL (19010) FAIL (34250) FAIL (27670)
    PRIMAL1 60.0 (436) 21.8 (118) 56.3 (98) 37.4 (70) 45.4 (77) 41.9 (70) 47.7 (89)
    PRIMAL2 27.1 (154) 14.0 (54) 48.3 (72) 41.5 (50) 74.3 (78) 74.4 (97) 70.1 (103)
    PRIMAL3 66.8 (186) 41.3 (92) 71.9 (58) 99.2 (69) 109 (74) 92.1 (63) 94.5 (67)
    PRIMAL4 28.6 (66) 22.2 (40) 25.1 (39) 38.0 (42) 24.8 (27) 54.3 (47) 55.4 (47)
    PRIMALC1 FAIL (1000000) 6.7 (58) 1.5 (9) 2.0 (8) 40.8 (115) 4.8 (24) 4.2 (24)
    PRIMALC5 FAIL (1000000) 12.0 (114) 2.2 (11) 9.2 (34) 72.1 (203) 118 (512) 100 (361)
    PRIMALC8 FAIL (1000000) 15.9 (63) 6.6 (16) 4.1 (12) 4.7 (11) 5.3 (13) 5.4 (13)
    QADLITTL 3.5 (87) 1.6 (33) 6.4 (18) 2.0 (18) 2.9 (17) 2.4 (22) 2.9 (22)
    QAFIRO 0.4 (14) 0.6 (9) 0.4 (7) 0.5 (7) 0.4 (7) 0.4 (10) 0.4 (10)
    QBANDM 0.6 (11) 0.6 (8) 3.8 (6) 0.7 (6) 0.7 (6) 0.5 (8) 0.5 (8)
    QBEACONF 13.3 (139) 8.2 (85) 11.5 (62) 12.4 (58) 26.9 (91) 9.7 (69) 11.3 (68)
    QBORE3D 2246 (21792) 1246 (11851) 1646 (5514) 1646 (5342) 1985 (5296) 1432 (5475) 1777 (6668)
    QBRANDY 410 (2976) 168 (1091) 33.9 (84) 70.0 (111) 35.7 (74) 143 (258) 120 (214)
    QCAPRI FAIL (1000000) FAIL (1000000) FAIL (259796) FAIL (226603) FAIL (202923) FAIL (320808) FAIL (303151)
    QE226 1503 (5919) 511 (2121) 849 (1040) 964 (1006) 938 (950) 12719 (11989) 17327 (14767)
    QETAMACR 31956 (157928) 5500 (25880) 6711 (9557) 7599 (10048) 8892 (9788) 4875 (6259) 4801 (5564)
    QFFFFF80 12825 (10267) 2608 (2409) 2592 (819) 2283 (716) 2755 (844) 20499 (4892) 5128 (1506)
    QGFRDXPN FAIL (18093) FAIL (17676) FAIL (8242) FAIL (8494) FAIL (8296) FAIL (8496) FAIL (8061)
    QGROW15 3478 (20510) 156 (910) 272 (643) 312 (671) 392 (676) 259 (546) 638 (1055)
    QGROW22 3345 (12552) 392 (1338) 552 (854) 652 (900) 726 (833) 2074 (2471) 822 (791)
    QGROW7 3008 (27489) 173 (1719) 271 (1009) 302 (1057) 440 (1240) 1004 (3471) 121 (459)
    QISRAEL FAIL (499340) FAIL (520279) FAIL (133783) FAIL (131338) FAIL (137813) FAIL (157177) FAIL (149642)
    QPCBLEND 1008 (23585) 74.1 (1744) 44.9 (416) 48.8 (393) 71.2 (436) 28.4 (279) 26.8 (244)
    QPCSTAIR FAIL (1000000) 1205 (7713) 361 (1153) 429 (1268) 867 (1974) 151 (441) 172 (433)
    QPILOTNO FAIL (45731) FAIL (52472) FAIL (10222) FAIL (9396) FAIL (8241) FAIL (5883) FAIL (6227)
    QPTEST 11.1 (313) 6.3 (196) 3.7 (60) 2.6 (39) 8.3 (64) 2.0 (32) 1.7 (32)
    QRECIPE 44.4 (877) 34.4 (702) 74.6 (502) 86.4 (615) 661 (2728) 21.4 (174) 39.3 (305)
    QSC205 185 (2977) 35.6 (652) 33.4 (223) 31.6 (199) 32.6 (175) 17.6 (156) 19.7 (175)
    QSCAGR25 0.6 (11) 0.6 (7) 0.5 (3) 0.4 (3) 0.3 (3) 0.6 (7) 0.9 (7)
    QSCAGR7 0.5 (15) 0.5 (12) 1.5 (7) 0.6 (7) 0.8 (7) 0.8 (12) 0.6 (12)
    QSCFXM1 50.4 (258) 16.1 (65) 19.6 (62) 20.4 (59) 19.9 (52) 40.1 (99) 40.8 (103)
    QSCFXM2 89.5 (251) 23.3 (44) 41.3 (61) 33.8 (47) 48.1 (54) 67.5 (84) 96.1 (106)
    QSCFXM3 126 (263) 25.0 (45) 43.1 (50) 55.7 (61) 55.5 (56) 42.4 (37) 41.3 (37)
    QSCORPIO 2655 (25639) 1994 (19077) 2091 (7034) 1462 (5785) 907 (3150) 228 (925) 183 (628)
    QSCRS8 2.9 (39) 1.9 (23) 13.9 (19) 18.5 (24) 43.4 (42) 3.3 (22) 3.0 (22)
    QSCSD1 1.1 (13) 1.0 (9) 1.0 (5) 0.8 (5) 0.9 (5) 1.6 (14) 1.4 (14)
    QSCSD6 1.2 (11) 1.1 (8) 1.6 (6) 1.5 (7) 4.3 (7) 2.4 (12) 2.2 (12)
    QSCSD8 5.4 (13) 4.3 (9) 3.0 (6) 3.2 (6) 5.3 (6) 7.3 (12) 7.2 (12)
    QSCTAP1 66.9 (624) 20.1 (160) 5.4 (26) 6.6 (25) 7.0 (24) 12.6 (54) 14.8 (66)
    QSCTAP2 479 (1623) 27.8 (61) 16.3 (26) 18.8 (21) 18.0 (21) 35.3 (38) 32.7 (38)
    QSCTAP3 773 (2028) 58.7 (150) 30.3 (34) 50.3 (28) 29.6 (27) 59.4 (39) 56.7 (39)
    QSEBA FAIL (560278) FAIL (645494) FAIL (89427) FAIL (88006) FAIL (70656) FAIL (110311) FAIL (100723)
    QSHARE1B 348 (5264) 325 (4442) 88.0 (595) 86.9 (547) 109 (517) 99.8 (536) 93.3 (501)
    QSHELL FAIL (31112) 71810 (16919) 70666 (6078) 64404 (5532) 51474 (4266) FAIL (8923) FAIL (9329)
    QSHIP04L 2.2 (17) 1.6 (10) 5.6 (13) 6.2 (12) 5.1 (12) 2.5 (11) 3.1 (11)
    QSHIP04S 1.9 (16) 1.2 (10) 1.8 (11) 2.5 (10) 2.8 (10) 1.6 (9) 1.7 (9)
    QSHIP08L 82.7 (34) 56.2 (13) 37.8 (10) 44.6 (10) 40.7 (10) 83.1 (17) 80.2 (17)
    QSHIP08S 32.6 (31) 21.1 (13) 14.7 (10) 16.2 (10) 16.6 (10) 30.7 (17) 31.9 (17)
    QSHIP12L 231 (24) 158 (12) 147 (11) 138 (10) 132 (10) 280 (16) 264 (16)
    QSHIP12S 51.8 (27) 42.5 (13) 34.9 (12) 34.2 (11) 36.6 (11) 62.3 (16) 61.6 (16)
    QSIERRA FAIL (108731) FAIL (112636) FAIL (17929) FAIL (15287) FAIL (14297) FAIL (14582) FAIL (15725)
    QSTAIR 135291 (998541) 18540 (109492) 98366 (112198) FAIL (165068) 131614 (132390) 62093 (90432) 6018 (9538)
    QSTANDAT 4609 (20977) 2827 (10744) 5325 (5246) 5358 (5282) 6453 (5257) 8231 (7365) 8256 (6772)
    S268 2.5 (76) 2.6 (85) 1.5 (22) 2.6 (31) 2.1 (21) 0.8 (17) 0.6 (17)
    STCQP1 16344 (20981) 12325 (13424) 9642 (3108) 15259 (4175) 18368 (3842) 3212 (793) 4551 (880)
    STCQP2 18439 (14153) 11786 (8542) 4769 (1061) 6081 (1280) 8060 (1146) 4171 (538) 4669 (636)
    TAME 0.6 (15) 0.4 (12) 0.4 (6) 0.4 (6) 0.4 (6) 0.3 (7) 0.2 (7)
    YAO FAIL (331466) 82534 (183490) FAIL (78007) FAIL (71908) FAIL (58553) FAIL (63704) FAIL (46377)
    +
    + + + + diff --git a/docs/page_profiling.html b/docs/page_profiling.html index 9919ea47f..96809f871 100644 --- a/docs/page_profiling.html +++ b/docs/page_profiling.html @@ -1,10 +1,13 @@ - - + + + + + -SuperSCS: Profiling +SuperSCS: SuperSCS: Fast & Accurate conic programming @@ -21,6 +24,14 @@ + + +
    @@ -28,8 +39,10 @@ + @@ -112,7 +125,7 @@

    - +
    SuperSCS +  1.3.2
    Memory: 3 Memory: 5 Memory: 10 Memory: 30

    Broyden directions

    @@ -135,9 +148,9 @@

    Anderson's Acceleration

    - + - +
    Memory: 3 Memory: 5 Memory: 10
    Memory: 3 Memory: 5 Memory: 10 Memory: 40

    Broyden directions

    @@ -152,7 +165,7 @@

    diff --git a/docs/page_save_load.html b/docs/page_save_load.html index f71486bbc..5c4ffcd0c 100644 --- a/docs/page_save_load.html +++ b/docs/page_save_load.html @@ -1,10 +1,13 @@ - - + + + + + -SuperSCS: Saving and Loading Problems +SuperSCS: SuperSCS: Fast & Accurate conic programming @@ -21,6 +24,14 @@ + + +
    @@ -28,8 +39,10 @@ + @@ -158,9 +171,9 @@
    [data, K] = problem_from_yaml('example.yml');

    Here is a full example of saving and loading data:

    filename = 'example.yml';
    -
    data.A = sparse([0.3 0 0 ; 0 0.7 0; 0 0 0.2; -0.5 0.9 0]); % define A
    -
    data.b = [0.2; 0.1; -0.1; 0.1]; % define b
    -
    data.c = [1;-2;-3]; % define c
    +
    data.A = sparse([0.3 0 0 ; 0 0.7 0; 0 0 0.2; -0.5 0.9 0]); % define A
    +
    data.b = [0.2; 0.1; -0.1; 0.1]; % define b
    +
    data.c = [1;-2;-3]; % define c
    K.eq = 0; K.ep = 0; K.q = 4; % define K
    problem_to_yaml(filename, 'example-problem-1', data, K); % save data
    [data_loaded, K_loaded] = problem_from_yaml(filename); % load data
    @@ -168,23 +181,41 @@

    C

    In C, loading a YAML file is supported by SuperSCS's YAML parser.

    -

    To load a YAML file use fromYAML.

    +

    To load a YAML file use scs_from_YAML.

    Here is an example:

    -
    Data * data;
    -
    Cone * cone;
    +
    ScsData * data;
    +
    ScsCone * cone;
    const char * filepath = "matlab/scs-yaml/example.yml";
    -
    int status = fromYAML(filepath, &data, &cone);
    +
    int status = scs_from_YAML(filepath, &data, &cone);
    if (status != 0) {
    // handle failure
    }
    // use `data` and `cone` ...
    -
    // at the end don't forget to call `freeData`
    -
    freeData(data, cone);
    -
    See Also
    Sparse Matrices
    +
    // at the end don't forget to call `scs_free_data`
    +
    scs_free_data(data, cone);
    +

    To save a problem (data and cones) in a YAML file, use scs_to_YAML.

    +

    Alongside, you need to provide some metadata for your problem.

    +

    Here is an example:

    +
    const char * filepath = "my-problem.yml";
    +
    ScsData * data;
    +
    ScsCone * cone;
    + +
    // Construct `data` and `cone` ...
    +
    +
    // Initialize a metadata structure
    +
    metadata = scs_init_conic_problem_metadata("con-problem-1234");
    +
    +
    // Provide some metadata
    +
    strncpy(metadata->creator, "Pantelis Sopasakis", METADATA_TEXT_SIZE);
    +
    strncpy(metadata->license, "LGPL v3.0", METADATA_TEXT_SIZE);
    +
    +
    // Serialize to YAML and store in a file
    +
    status = scs_to_YAML(filepath, metadata, data, cone);
    +
    See Also
    Sparse Matrices
    diff --git a/docs/page_socp.html b/docs/page_socp.html index 3755e2257..f41c7e854 100644 --- a/docs/page_socp.html +++ b/docs/page_socp.html @@ -1,10 +1,13 @@ - - + + + + + -SuperSCS: Examples in C +SuperSCS: SuperSCS: Fast & Accurate conic programming @@ -21,6 +24,14 @@ + + +
    @@ -28,8 +39,10 @@
    SuperSCS +  1.3.2
    + @@ -106,85 +119,85 @@
    const scs_int n = 3; // dimension of x
    const scs_int m = 4; // dimension of s
    const scs_int nnz = 5; // number of nonzero entries in A
    -
    Sol* sol; // problem solution
    -
    Data * data; // problem data and settings
    -
    AMatrix * A; // sparse matrix A
    -
    Info * info; // status information
    -
    Cone * cone; // Cone K
    -

    We then need to allocate a Data object and define \(b\) and \(c\)

    -
    data = initData();
    +
    ScsSolution * sol; // problem solution
    +
    ScsData * data; // problem data and settings
    +
    ScsAMatrix * A; // sparse matrix A
    +
    ScsInfo * info; // status information
    +
    ScsCone * cone; // Cone K
    +

    We then need to allocate a ScsData object and define \(b\) and \(c\)

    +
    data = scs_init_data();
    -
    data->c = malloc(n * sizeof (scs_float));
    -
    data->c[0] = 1.0;
    -
    data->c[1] = -2.0;
    -
    data->c[2] = -3.0;
    +
    data->c = malloc(n * sizeof (scs_float));
    +
    data->c[0] = 1.0;
    +
    data->c[1] = -2.0;
    +
    data->c[2] = -3.0;
    -
    data->b = malloc(m * sizeof (scs_float));
    -
    data->b[0] = 0.2;
    -
    data->b[1] = 0.1;
    -
    data->b[2] = -0.1;
    -
    data->b[3] = 0.1;
    +
    data->b = malloc(m * sizeof (scs_float));
    +
    data->b[0] = 0.2;
    +
    data->b[1] = 0.1;
    +
    data->b[2] = -0.1;
    +
    data->b[3] = 0.1;
    -
    data->m = m;
    -
    data->n = n;
    -

    Next, we construct the sparse matrix \(A\) and we pass it to the Data object

    -
    A = malloc(sizeof (AMatrix));
    -
    A->m = m;
    -
    A->n = n;
    -
    A->p = malloc((n + 1) * sizeof (scs_int));
    -
    A->i = malloc(nnz * sizeof (scs_int));
    -
    A->x = malloc(nnz * sizeof (scs_float));
    +
    data->m = m;
    +
    data->n = n;
    +

    Next, we construct the sparse matrix \(A\) and we pass it to the ScsData object

    +
    A = malloc(sizeof (ScsAMatrix));
    +
    A->m = m;
    +
    A->n = n;
    +
    A->p = malloc((n + 1) * sizeof (scs_int));
    +
    A->i = malloc(nnz * sizeof (scs_int));
    +
    A->x = malloc(nnz * sizeof (scs_float));
    -
    A->p[0] = 0;
    -
    A->p[1] = 2;
    -
    A->p[2] = 4;
    -
    A->p[3] = 5;
    +
    A->p[0] = 0;
    +
    A->p[1] = 2;
    +
    A->p[2] = 4;
    +
    A->p[3] = 5;
    -
    A->i[0] = 0;
    -
    A->i[1] = 3;
    -
    A->i[2] = 1;
    -
    A->i[3] = 3;
    -
    A->i[4] = 2;
    +
    A->i[0] = 0;
    +
    A->i[1] = 3;
    +
    A->i[2] = 1;
    +
    A->i[3] = 3;
    +
    A->i[4] = 2;
    -
    A->x[0] = 0.3;
    -
    A->x[1] = -0.5;
    -
    A->x[2] = 0.7;
    -
    A->x[3] = 0.9;
    -
    A->x[4] = 0.2;
    +
    A->x[0] = 0.3;
    +
    A->x[1] = -0.5;
    +
    A->x[2] = 0.7;
    +
    A->x[3] = 0.9;
    +
    A->x[4] = 0.2;
    -
    data->A = A;
    +
    data->A = A;

    Next, we may modify some of the default settings

    -
    setDefaultSettings(data); // default settings
    -
    data->stgs->eps = 1e-9; // override defaults
    -
    data->stgs->rho_x = 1;
    -
    data->stgs->verbose = 0;
    -
    data->stgs->sse = 0.7;
    - -
    data->stgs->do_super_scs = 1;
    -

    Function setDefaultSettings set the default settings

    +
    scs_set_default_settings(data); // default settings
    +
    data->stgs->eps = 1e-9; // override defaults
    +
    data->stgs->rho_x = 1;
    +
    data->stgs->verbose = 0;
    +
    data->stgs->sse = 0.7;
    + +
    data->stgs->do_super_scs = 1;
    +

    Function scs_set_default_settings set the default settings

    In the last line, we specify that we want to run the solver using SuperSCS.

    Last thing to define is the second-order cone \(\mathcal{K}\)

    -
    cone = malloc(sizeof (Cone));
    -
    cone->ssize = 0;
    -
    cone->ed = 0;
    -
    cone->ep = 0;
    -
    cone->f = 0;
    -
    cone->l = 0;
    -
    cone->psize = 0;
    -
    cone->ssize = 0;
    -
    cone->qsize = 1;
    -
    cone->q = malloc(4 * sizeof (scs_int));
    -
    cone->q[0] = 4;
    -
    cone->p = SCS_NULL;
    -
    cone->s = SCS_NULL;
    +
    cone = malloc(sizeof (ScsCone));
    +
    cone->ssize = 0;
    +
    cone->ed = 0;
    +
    cone->ep = 0;
    +
    cone->f = 0;
    +
    cone->l = 0;
    +
    cone->psize = 0;
    +
    cone->ssize = 0;
    +
    cone->qsize = 1;
    +
    cone->q = malloc(4 * sizeof (scs_int));
    +
    cone->q[0] = 4;
    +
    cone->p = SCS_NULL;
    +
    cone->s = SCS_NULL;

    Note that the last couple of lines are important!

    -

    We now invoke scs to solve the problem

    -
    sol = initSol();
    -
    info = initInfo();
    -
    scs(data, cone, sol, info);
    +

    We now invoke scs to solve the problem

    +
    sol = scs_init_sol();
    +
    info = scs_init_info();
    +
    scs(data, cone, sol, info);

    It is highly recommended that you use these initializers to create these structures.

    Now

    -
    info->statusVal
    +
    info->statusVal

    is the exit-flag of the solver and it is equal to SCS_SOLVED.

    The primal-dual solution \((x^\star,s^\star,y^\star)\) is now stored in sol.

    If data->stgs->verbose is set to 1, the following will be printed

    @@ -216,32 +229,32 @@
    ---------------------------------------------------------------------------------------
    c'x = -16.3754, -b'y = -16.3754

    The last thing to do is to free the used memory

    -
    freeData(data, cone);
    -
    freeSol(sol);
    -
    freeInfo(info);
    +
    scs_free_data(data, cone);
    + +

    If we need to collect progress data for the algorithm, we need to activate logging using

    -
    +

    This option is otherwise disabled by default.

    We may then print various statistics

    const scs_int column_size = 10;
    printf(" i P Cost D Cost Gap FPR PRes DRes\n");
    printf("----------------------------------------------------------------\n");
    -
    for (i = 0; i < info->iter; ++i) {
    +
    for (i = 0; i < info->iter; ++i) {
    printf("%*i ", 3, i);
    -
    printf("%*.2e", column_size, info->progress_pcost[i]);
    -
    printf("%*.2e", column_size, info->progress_dcost[i]);
    -
    printf("%*.2e", column_size, info->progress_relgap[i]);
    -
    printf("%*.2e", column_size, info->progress_norm_fpr[i]);
    -
    printf("%*.2e", column_size, info->progress_respri[i]);
    -
    printf("%*.2e", column_size, info->progress_resdual[i]);
    +
    printf("%*.2e", column_size, info->progress_pcost[i]);
    +
    printf("%*.2e", column_size, info->progress_dcost[i]);
    +
    printf("%*.2e", column_size, info->progress_relgap[i]);
    +
    printf("%*.2e", column_size, info->progress_norm_fpr[i]);
    +
    printf("%*.2e", column_size, info->progress_respri[i]);
    +
    printf("%*.2e", column_size, info->progress_resdual[i]);
    printf("\n");
    }

    If do_record_progress is, instead, set to 0, no progress data are stored and the above pointers are equal to SCS_NULL.

    diff --git a/docs/page_sparse_matrices.html b/docs/page_sparse_matrices.html index 23f4335a4..a0408f646 100644 --- a/docs/page_sparse_matrices.html +++ b/docs/page_sparse_matrices.html @@ -1,10 +1,13 @@ - - + + + + + -SuperSCS: Sparse Matrices +SuperSCS: SuperSCS: Fast & Accurate conic programming @@ -21,6 +24,14 @@ + + +
    @@ -28,8 +39,10 @@
    SuperSCS +  1.3.2
    + @@ -168,7 +181,7 @@

    diff --git a/docs/page_superscs.html b/docs/page_superscs.html index a2c720da3..fab01dee8 100644 --- a/docs/page_superscs.html +++ b/docs/page_superscs.html @@ -1,10 +1,13 @@ - - + + + + + -SuperSCS: The SuperSCS Algorithm +SuperSCS: SuperSCS: Fast & Accurate conic programming @@ -21,6 +24,14 @@ + + +
    @@ -28,8 +39,10 @@

    SuperSCS +  1.3.2
    + @@ -125,7 +138,7 @@

    diff --git a/docs/page_warm_starting.html b/docs/page_warm_starting.html index 7fc6e6f29..a4cd0e8fb 100644 --- a/docs/page_warm_starting.html +++ b/docs/page_warm_starting.html @@ -1,10 +1,13 @@ - - + + + + + -SuperSCS: Warm Starting +SuperSCS: SuperSCS: Fast & Accurate conic programming @@ -21,6 +24,14 @@ + + +
    @@ -28,8 +39,10 @@

    SuperSCS +  1.3.2
    + @@ -99,9 +112,9 @@
    b = [0.2; 0.1; -0.1; 0.1];
    c = [1;-2;-3];
    -
    data.A = sparse(A);
    -
    data.b = b;
    -
    data.c = c;
    +
    data.A = sparse(A);
    +
    data.b = b;
    +
    data.c = c;
    params.eps = 1e-6;
    params.verbose = 1;
    @@ -109,7 +122,7 @@ diff --git a/docs/pages.html b/docs/pages.html index 6e745f8f0..130fffaec 100644 --- a/docs/pages.html +++ b/docs/pages.html @@ -1,10 +1,13 @@ - - + + + + + -SuperSCS: Related Pages +SuperSCS: SuperSCS: Fast & Accurate conic programming @@ -21,6 +24,14 @@ + + +
    @@ -28,8 +39,10 @@
    SuperSCS +  1.3.2
    + @@ -90,22 +103,24 @@ - - - - - - - - - - + + + + + + + + + + + +
    SuperSCS +  1.3.2
    oUsing SuperSCS
    oBenchmarks
    oCones
    oExamples in CVX MATLAB
    oDirections
    oInstallation
    oLogging
    oProfiling
    oSaving and Loading Problems
    oExamples in C
    oSparse Matrices
    oThe SuperSCS Algorithm
    \Warm Starting
    oContributing to SuperSCS
    oExamples in CVX MATLAB
    oDirections
    oInstallation
    oLogging
    oMaros-Meszaros QP problems
    oProfiling
    oSaving and Loading Problems
    oExamples in C
    oSparse Matrices
    oThe SuperSCS Algorithm
    \Warm Starting
    diff --git a/docs/profiling__page_8h.html b/docs/profiling__page_8h.html index 4698e8ba8..0740f2c0e 100644 --- a/docs/profiling__page_8h.html +++ b/docs/profiling__page_8h.html @@ -1,10 +1,13 @@ - - + + + + + -SuperSCS: pages/profiling_page.h File Reference +SuperSCS: SuperSCS: Fast & Accurate conic programming @@ -21,6 +24,14 @@ + + +
    @@ -28,8 +39,10 @@ + @@ -100,7 +113,7 @@ diff --git a/docs/profiling__page_8h_source.html b/docs/profiling__page_8h_source.html index 8ddda4a3f..78a6936d1 100644 --- a/docs/profiling__page_8h_source.html +++ b/docs/profiling__page_8h_source.html @@ -1,10 +1,13 @@ - - + + + + + -SuperSCS: pages/profiling_page.h Source File +SuperSCS: SuperSCS: Fast & Accurate conic programming @@ -21,6 +24,14 @@ + + +
    @@ -28,8 +39,10 @@
    SuperSCS +  1.3.2
    + @@ -99,7 +112,7 @@ diff --git a/docs/save__load__page_8h.html b/docs/save__load__page_8h.html index 6fa360427..baa11e3d4 100644 --- a/docs/save__load__page_8h.html +++ b/docs/save__load__page_8h.html @@ -1,10 +1,13 @@ - - + + + + + -SuperSCS: pages/save_load_page.h File Reference +SuperSCS: SuperSCS: Fast & Accurate conic programming @@ -21,6 +24,14 @@ + + +
    @@ -28,8 +39,10 @@
    SuperSCS +  1.3.2
    + @@ -100,7 +113,7 @@ diff --git a/docs/save__load__page_8h_source.html b/docs/save__load__page_8h_source.html index afecea313..297bb626b 100644 --- a/docs/save__load__page_8h_source.html +++ b/docs/save__load__page_8h_source.html @@ -1,10 +1,13 @@ - - + + + + + -SuperSCS: pages/save_load_page.h Source File +SuperSCS: SuperSCS: Fast & Accurate conic programming @@ -21,6 +24,14 @@ + + +
    @@ -28,8 +39,10 @@
    SuperSCS +  1.3.2
    + @@ -99,7 +112,7 @@ diff --git a/docs/scs-html-extra.html b/docs/scs-html-extra.html new file mode 100644 index 000000000..a14a2a435 --- /dev/null +++ b/docs/scs-html-extra.html @@ -0,0 +1,36 @@ + + + + + + + + + +SuperSCS: SuperSCS: Fast & Accurate conic programming + + + + + + + + + + + + + diff --git a/docs/scs_8h.html b/docs/scs_8h.html index 1b5220ffc..cb35c0dc6 100644 --- a/docs/scs_8h.html +++ b/docs/scs_8h.html @@ -1,10 +1,13 @@ - - + + + + + -SuperSCS: include/scs.h File Reference +SuperSCS: SuperSCS: Fast & Accurate conic programming @@ -21,6 +24,14 @@ + + +
    @@ -28,8 +39,10 @@
    SuperSCS +  1.3.2
    + @@ -93,6 +106,8 @@
    scs.h File Reference
    @@ -113,56 +128,156 @@
    SuperSCS +  1.3.2
    - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + +

    Data Structures

    struct  SCS_DIRECTION_MEMORY
     Memory for the computation of directions (Broyden and Anderson's methods). More...
    struct  scs_conic_probem_metadata
     Metadata for conic optimization problems. More...
     
    struct  SCS_WORK
     Workspace for SCS. More...
    struct  scs_direction_cache
     Memory for the computation of directions (Broyden and Anderson's methods). More...
     
    struct  residuals
     Structure to hold residual information (unnormalized) More...
    struct  scs_work
     Workspace for SCS. More...
     
    struct  SCS_PROBLEM_DATA
     struct containing problem data More...
    struct  scs_data
     struct containing problem data More...
     
    struct  SCS_SETTINGS
     Settings structure. More...
    struct  scs_settings
     Settings structure. More...
     
    struct  SCS_SOL_VARS
     Primal-dual solution arrays. More...
    struct  scs_solution
     Primal-dual solution arrays. More...
     
    struct  SCS_INFO
     Terminating information. More...
    struct  scs_info
     Terminating information. More...
     
    struct  SCS_SCALING
     Normalization variables. More...
    struct  scs_scaling
     Normalization variables. More...
     
    + + + +

    +Macros

    #define SCS_METADATA_TEXT_SIZE   1024
     
    + + + + +

    +Typedefs

    typedef struct
    +scs_conic_probem_metadata 
    ScsConicProblemMetadata
     Metadata for conic optimization problems. More...
     
    - - - - - - - - + + + + + + + + + + + - - - - - + + + + + + +

    Functions

    SolinitSol (void)
     
    InfoinitInfo (void)
     
    DatainitData (void)
     
    scs_int scs (const Data *RESTRICT d, const Cone *RESTRICT k, Sol *RESTRICT sol, Info *RESTRICT info)
     
    ScsConicProblemMetadatascs_init_conic_problem_metadata (const char *problemName)
     Initializes a ScsConicProblemMetadata structure. More...
     
    ScsSolutionscs_init_sol (void)
     
    ScsInfoscs_init_info (void)
     
    ScsDatascs_init_data (void)
     
    scs_int scs (const ScsData *RESTRICT d, const ScsCone *RESTRICT k, ScsSolution *RESTRICT sol, ScsInfo *RESTRICT info)
     
    const char * scs_version (void)
     
    void millisToTime (scs_float time, scs_int *hours, scs_int *minutes, scs_int *secs, scs_float *sec_rest)
     Converts milliseconds to a 00:00:00.0.. time format. More...
     
    scs_int fromYAML (const char *filepath, Data **data, Cone **cone)
     
    void scs_millis_to_time (scs_float time, scs_int *hours, scs_int *minutes, scs_int *secs, scs_float *sec_rest)
     Converts milliseconds to a 00:00:00.0 time format. More...
     
    scs_int scs_from_YAML (const char *filepath, ScsData **data, ScsCone **cone)
     
    scs_int scs_to_YAML (const char *RESTRICT filepath, ScsConicProblemMetadata *metadata, const ScsData *RESTRICT data, const ScsCone *RESTRICT cone)
     
    +

    Macro Definition Documentation

    + +
    +
    + + + + +
    #define SCS_METADATA_TEXT_SIZE   1024
    +
    +

    Length of character arrays in ScsConicProblemMetadata.

    + +
    +
    +

    Typedef Documentation

    + +
    +
    + +

    Metadata for conic optimization problems.

    +

    All fields of this structure are character arrays of a fixed length, equal to SCS_METADATA_TEXT_SIZE.

    +
    See Also
    scs_to_YAML
    +
    +scs_from_YAML
    + +
    +

    Function Documentation

    - + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    scs_int scs (const ScsData *RESTRICT d,
    const ScsCone *RESTRICT k,
    ScsSolution *RESTRICT sol,
    ScsInfo *RESTRICT info 
    )
    +
    +

    scs calls scs_init, scs_solve, and scs_finish

    +
    Parameters
    + + + + + +
    d
    k
    sol
    info
    +
    +
    +
    Returns
    status code
    +
    Remarks
    It is very important that info is created using scs_init_info.
    + +
    +
    +
    - + @@ -170,13 +285,13 @@

    Function Documentation

    - + - + @@ -186,36 +301,73 @@

    Function Documentation

    scs_int fromYAML scs_int scs_from_YAML ( const char *  filepath,
    Data ** ScsData **  data,
    Cone ** ScsCone **  cone 
    -

    Parses a YAML file and constructs/initialises the corresponding Data and Cone objects.

    +

    Parses a YAML file and constructs/initialises the corresponding ScsData and ScsCone objects.

    Example of use:

    -
    Data * data;
    -
    Cone * cone;
    +
    ScsData * data;
    +
    ScsCone * cone;
    const char * filepath = "matlab/scs-yaml/example.yml";
    -
    int status = fromYAML(filepath, &data, &cone);
    +
    int status = scs_from_YAML(filepath, &data, &cone);
    if (status != 0) {
    // handle failure
    }
    // use `data` and `cone` ...
    -
    // at the end don't forget to call `freeData`
    -
    freeData(data, cone);
    +
    // at the end don't forget to call `scs_free_data`
    +
    scs_free_data(data, cone);
    Parameters
    - - + +
    filepathAbsolute or relative path to YAML file
    datapointer-to-pointer to a Data object. This function will initialise data using the YAML file.
    conepointer-to-pointer to a Cone object. This function will initialise cone using the YAML file.
    datapointer-to-pointer to a ScsData object. This function will initialise data using the YAML file.
    conepointer-to-pointer to a ScsCone object. This function will initialise cone using the YAML file.
    -
    Returns
    status code; returns 0 if parsing has succeeded; a positive error code otherwise.
    +
    Returns
    status code; returns 0 if parsing has succeeded; a positive error code otherwise.
    +
    See Also
    scs_to_YAML
    +
    +Saving and loading problems (detailed documentation)
    - +
    - + + + + + + +
    Data* initData ScsConicProblemMetadata* scs_init_conic_problem_metadata (const char * problemName)
    +
    + +

    Initializes a ScsConicProblemMetadata structure.

    +

    This function creates and initializes a ScsConicProblemMetadata structure. It sets the problem name to a given value and initializes all other fields with their default values as follows:

    + +
    Parameters
    + + +
    problemNameproblem name
    +
    +
    +
    Returns
    New instance of ScsConicProblemMetadata
    +
    See Also
    scs_to_YAML
    + +
    +
    + +
    +
    + + + @@ -223,23 +375,23 @@

    Function Documentation

    ScsData* scs_init_data ( void  )
    -

    Creates a new Data structure without allocating memory for \(A\), \(b\) and \(c\) and its sets all settings to their default values, that is

    +

    Creates a new ScsData structure without allocating memory for \(A\), \(b\) and \(c\) and its sets all settings to their default values, that is

    1. alpha = 0.5
    2. c0 = 0.999
    3. c1 = ...
    -
    Returns
    Data object
    -
    See Also
    setDefaultSettings
    +
    Returns
    ScsData object
    +
    See Also
    scs_set_default_settings
    - +
    - + @@ -247,17 +399,17 @@

    Function Documentation

    Info* initInfo ScsInfo* scs_init_info ( void  )
    -

    Creates a new empty Info structure which is then provided to scs to get information about the status of the algorithm (e.g., the duality gap, the solution status, etc).

    -
    Returns
    Initialized Info structure.
    +

    Creates a new empty ScsInfo structure which is then provided to scs to get information about the status of the algorithm (e.g., the duality gap, the solution status, etc).

    +
    Returns
    Initialized ScsInfo structure.
    - +
    - + @@ -267,16 +419,16 @@

    Function Documentation

    Creates a new empty solution structure which is to be used to retrieve the solution \((x^\star, y^\star, s^\star)\).

    This function does not initialize of allocate memory for x, s or y (but it sets the respective pointers to SCS_NULL).

    -
    Returns
    Initialized Sol structure.
    +
    Returns
    Initialized ScsSolution structure.
    - +
    Sol* initSol ScsSolution* scs_init_sol ( void  )
    - + @@ -313,7 +465,7 @@

    Function Documentation

    void millisToTime void scs_millis_to_time ( scs_float  time,
    -

    Converts milliseconds to a 00:00:00.0.. time format.

    +

    Converts milliseconds to a 00:00:00.0 time format.

    Parameters
    @@ -327,33 +479,33 @@

    Function Documentation

    - +
    timegiven elapsed time in milliseconds
    - + - - + + - - + + - - + + - - + + @@ -362,18 +514,27 @@

    Function Documentation

    scs_int scs scs_int scs_to_YAML (const Data *RESTRICT d, const char *RESTRICT filepath,
    const Cone *RESTRICT k, ScsConicProblemMetadatametadata,
    Sol *RESTRICT sol, const ScsData *RESTRICT data,
    Info *RESTRICT info const ScsCone *RESTRICT cone 
    -

    scs calls scs_init, scs_solve, and scs_finish

    Parameters
    - - - - +
    d
    k
    sol
    info
    filepathrelative or absolute path to a file which this function will create.
    -
    Returns
    status code
    -
    Remarks
    It is very important that info is created using initInfo.
    +

    The caller must have the necessary permissions to create the file, otherwise the method returns the error code 101.

    +
    Parameters
    + + + + +
    metadataproblem metadata which can be created using scs_init_conic_problem_metadata
    datapointer to exisint non-null ScsData object
    conepointer to exisint non-null ScsCone object
    +
    +
    +
    Returns
    this function returns 0 on success and a positive status code otherwise.
    +
    See Also
    scs_from_YAML
    +
    +ScsConicProblemMetadata
    +
    +Saving and loading problems (detailed documentation)
    @@ -398,7 +559,7 @@

    Function Documentation

    diff --git a/docs/scs_8h_source.html b/docs/scs_8h_source.html index 5a60b4f73..3f485c0aa 100644 --- a/docs/scs_8h_source.html +++ b/docs/scs_8h_source.html @@ -1,10 +1,13 @@ - - + + + + + -SuperSCS: include/scs.h Source File +SuperSCS: SuperSCS: Fast & Accurate conic programming @@ -21,6 +24,14 @@ + + +
    @@ -28,8 +39,10 @@ + @@ -95,392 +108,430 @@
    scs.h
    -Go to the documentation of this file.
    1 #ifndef SCS_H_GUARD
    -
    2 #define SCS_H_GUARD
    -
    3 
    -
    4 #include "glbopts.h"
    -
    5 #include <string.h>
    -
    6 #include "cones.h"
    -
    7 #include "linAlg.h"
    -
    8 #include "linSys.h"
    -
    9 #include "util.h"
    -
    10 #include "ctrlc.h"
    -
    11 #include "constants.h"
    -
    12 #include <math.h>
    -
    13 #include <stdio.h>
    -
    14 
    -
    15 #ifdef __cplusplus
    -
    16 extern "C" {
    -
    17 #endif
    -
    18 
    - - - - - - - - - - -
    40  };
    +Go to the documentation of this file.
    1 /*
    +
    2  * The MIT License (MIT)
    +
    3  *
    +
    4  * Copyright (c) 2017 Pantelis Sopasakis (https://alphaville.github.io),
    +
    5  * Krina Menounou (https://www.linkedin.com/in/krinamenounou),
    +
    6  * Panagiotis Patrinos (http://homes.esat.kuleuven.be/~ppatrino)
    +
    7  * Copyright (c) 2012 Brendan O'Donoghue (bodonoghue85@gmail.com)
    +
    8  *
    +
    9  * Permission is hereby granted, free of charge, to any person obtaining a copy
    +
    10  * of this software and associated documentation files (the "Software"), to deal
    +
    11  * in the Software without restriction, including without limitation the rights
    +
    12  * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
    +
    13  * copies of the Software, and to permit persons to whom the Software is
    +
    14  * furnished to do so, subject to the following conditions:
    +
    15  *
    +
    16  * The above copyright notice and this permission notice shall be included in all
    +
    17  * copies or substantial portions of the Software.
    +
    18  *
    +
    19  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
    +
    20  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
    +
    21  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
    +
    22  * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
    +
    23  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
    +
    24  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
    +
    25  * SOFTWARE.
    +
    26  *
    +
    27  */
    +
    28 #ifndef SCS_H_GUARD
    +
    29 #define SCS_H_GUARD
    +
    30 
    +
    31 #include "glbopts.h"
    +
    32 #include <string.h>
    +
    33 #include "cones.h"
    +
    34 #include "linAlg.h"
    +
    35 #include "linSys.h"
    +
    36 #include "util.h"
    +
    37 #include "ctrlc.h"
    +
    38 #include "constants.h"
    +
    39 #include <math.h>
    +
    40 #include <stdio.h>
    41 
    -
    45  struct SCS_WORK {
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    219  };
    -
    220 
    -
    224  struct residuals {
    - - - - - - -
    269  scs_float cTx_by_tau; /* not divided by tau */
    -
    270  scs_float bTy_by_tau; /* not divided by tau */
    -
    274  scs_float tau; /* for superSCS it's tau_b */
    -
    278  scs_float kap; /* for superSCS it's kap_b */
    -
    279  };
    -
    280 
    - -
    285  /* these cannot change for multiple runs for the same call to scs_init */
    - - - -
    296  /* these can change for multiple runs for the same call to scs_init */
    -
    297  scs_float *RESTRICT b, *RESTRICT c; /* dense arrays for b (size m), c (size n) */
    -
    298 
    - -
    300  };
    -
    301 
    -
    305  struct SCS_SETTINGS {
    -
    306  /* settings parameters: default suggested input */
    -
    307 
    -
    308 
    -
    309  /* -------------------------------------
    -
    310  * General Settings
    -
    311  *
    -
    312  * these *cannot* change for multiple runs
    -
    313  * with the same call to scs_init
    -
    314  * ------------------------------------- */
    -
    315 
    - -
    322 
    - - -
    327  /* -------------------------------------
    -
    328  * General Settings
    -
    329  *
    -
    330  * these can change for multiple runs with
    -
    331  * the same call to scs_init
    -
    332  * ------------------------------------- */
    -
    333 
    - - - - - - - -
    374 
    -
    375  /* -------------------------------------
    -
    376  * Settings associated with SuperSCS
    -
    377  * ------------------------------------- */
    -
    378 
    - - - - - - - -
    387  /* -------------------------------------
    -
    388  * Settings associated with the line
    -
    389  * search
    -
    390  * ------------------------------------- */
    - - - -
    406 
    -
    407  /* -------------------------------------
    -
    408  * Settings associated with the direction
    -
    409  * ------------------------------------- */
    - - - - - - -
    451 
    - - -
    471  };
    -
    472 
    -
    476  struct SCS_SOL_VARS {
    - - - -
    480  };
    -
    481 
    -
    487  struct SCS_INFO {
    -
    488  char status[32];
    - - - - - - - - - - - - - - - - - - - - - - - -
    512  };
    -
    513 
    -
    517  struct SCS_SCALING {
    -
    518  scs_float *RESTRICT D, *RESTRICT E; /* for normalization */
    - -
    520  };
    -
    521 
    -
    531  Sol * initSol(void);
    +
    42 #ifdef __cplusplus
    +
    43 extern "C" {
    +
    44 #endif
    +
    45 
    +
    49 #define SCS_METADATA_TEXT_SIZE 1024
    +
    50 
    +
    60  typedef struct scs_conic_probem_metadata {
    + + + + + + + +
    90 
    +
    109  ScsConicProblemMetadata * scs_init_conic_problem_metadata(const char * problemName);
    +
    110 
    + + + + + + + + + + +
    132  };
    +
    133 
    +
    137  struct scs_work {
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    311  };
    +
    312 
    +
    316  struct scs_data {
    +
    317  /* these cannot change for multiple runs for the same call to scs_init */
    + + + +
    331  /* these can change for multiple runs for the same call to scs_init */
    +
    332 
    +
    333  /* dense arrays for b (size m), c (size n) */
    +
    334 
    + + + +
    347  };
    +
    348 
    +
    352  struct scs_settings {
    +
    353  /* settings parameters: default suggested input */
    +
    354 
    +
    355 
    +
    356  /* -------------------------------------
    +
    357  * General Settings
    +
    358  *
    +
    359  * these *cannot* change for multiple runs
    +
    360  * with the same call to scs_init
    +
    361  * ------------------------------------- */
    +
    362 
    + +
    369 
    + + +
    374  /* -------------------------------------
    +
    375  * General Settings
    +
    376  *
    +
    377  * these can change for multiple runs with
    +
    378  * the same call to scs_init
    +
    379  * ------------------------------------- */
    +
    380 
    + +
    388 
    + + + + + + + +
    433 
    +
    434  /* -------------------------------------
    +
    435  * Settings associated with SuperSCS
    +
    436  * ------------------------------------- */
    +
    437 
    + + + + + + + +
    446  /* -------------------------------------
    +
    447  * Settings associated with the line
    +
    448  * search
    +
    449  * ------------------------------------- */
    + + + +
    465 
    +
    466  /* -------------------------------------
    +
    467  * Settings associated with the direction
    +
    468  * ------------------------------------- */
    + + + + + + +
    510 
    + + +
    531  };
    532 
    -
    540  Info * initInfo(void);
    -
    541 
    -
    542 
    -
    556  Data * initData(void);
    -
    557 
    -
    571  scs_int scs(
    -
    572  const Data *RESTRICT d,
    -
    573  const Cone *RESTRICT k,
    -
    574  Sol *RESTRICT sol,
    -
    575  Info *RESTRICT info);
    -
    576 
    -
    582  const char *scs_version(void);
    -
    583 
    -
    593  void millisToTime(scs_float time,
    -
    594  scs_int * hours,
    -
    595  scs_int * minutes,
    -
    596  scs_int * secs,
    -
    597  scs_float * sec_rest);
    -
    598 
    -
    599 
    -
    629  scs_int fromYAML(const char * filepath,
    -
    630  Data ** data,
    -
    631  Cone ** cone);
    -
    632 
    -
    633 #ifdef __cplusplus
    -
    634 }
    -
    635 #endif
    -
    636 #endif
    -
    scs_float *RESTRICT R
    Fixed-point residual .
    Definition: scs.h:116
    -
    Sol * initSol(void)
    +
    536  struct scs_solution {
    + + + +
    549  };
    +
    550 
    +
    556  struct scs_info {
    +
    557  char status[32];
    + + + + + + + + + + + + + + + + + + + + + + + +
    581  };
    +
    582 
    +
    586  struct scs_scaling {
    +
    587  scs_float *RESTRICT D, *RESTRICT E; /* for normalization */
    + +
    589  };
    +
    590 
    +
    600  ScsSolution * scs_init_sol(void);
    +
    601 
    +
    609  ScsInfo * scs_init_info(void);
    +
    610 
    +
    611 
    +
    625  ScsData * scs_init_data(void);
    +
    626 
    +
    640  scs_int scs(
    +
    641  const ScsData *RESTRICT d,
    +
    642  const ScsCone *RESTRICT k,
    +
    643  ScsSolution *RESTRICT sol,
    +
    644  ScsInfo *RESTRICT info);
    +
    645 
    +
    651  const char *scs_version(void);
    +
    652 
    +
    662  void scs_millis_to_time(scs_float time,
    +
    663  scs_int * hours,
    +
    664  scs_int * minutes,
    +
    665  scs_int * secs,
    +
    666  scs_float * sec_rest);
    +
    667 
    +
    668 
    +
    699  scs_int scs_from_YAML(const char * filepath,
    +
    700  ScsData ** data,
    +
    701  ScsCone ** cone);
    +
    702 
    + +
    722  const char * RESTRICT filepath,
    +
    723  ScsConicProblemMetadata * metadata,
    +
    724  const ScsData * RESTRICT data,
    +
    725  const ScsCone * RESTRICT cone);
    +
    726 
    +
    727 #ifdef __cplusplus
    +
    728 }
    +
    729 #endif
    +
    730 #endif
    +
    scs_int mem
    (target/maximum/allocated) memory
    Definition: scs.h:130
    +
    scs_float *RESTRICT Rwu
    Vector from line search.
    Definition: scs.h:242
    +
    scs_float resPri
    primal equality residual
    Definition: scs.h:563
    +
    scs_int statusVal
    status as scs_int, defined in constants.h
    Definition: scs.h:559
    -
    scs_float kap_b
    Variable for certificates of infeasibility/unboudedness.
    Definition: scs.h:194
    -
    scs_float thetabar
    Definition: scs.h:423
    -
    scs_int iter
    number of iterations taken
    Definition: scs.h:489
    -
    scs_float * S_minus_Y
    The difference (for Anderson's acceleration)
    Definition: scs.h:33
    -
    scs_float *RESTRICT progress_norm_fpr
    FPR history.
    Definition: scs.h:506
    -
    scs_int *RESTRICT progress_iter
    iterations when residulas are recorded
    Definition: scs.h:508
    -
    scs_float * ls_wspace
    Workspace used to solve Anderson's linear system.
    Definition: scs.h:36
    -
    Workspace for SCS.
    Definition: scs.h:45
    -
    Settings *RESTRICT stgs
    Definition: scs.h:299
    -
    scs_float dobj
    dual objective
    Definition: scs.h:493
    -
    scs_float meanNormColA
    Definition: scs.h:519
    -
    scs_float eps
    Definition: scs.h:351
    -
    scs_int current_mem
    current memory length
    Definition: scs.h:39
    -
    #define RESTRICT
    Definition: glbopts.h:13
    -
    scs_float *RESTRICT progress_relgap
    relative gap history
    Definition: scs.h:501
    -
    struct containing problem data
    Definition: scs.h:284
    -
    Cone structure.
    Definition: cones.h:21
    -
    scs_int verbose
    Definition: scs.h:369
    -
    scs_int *RESTRICT progress_ls
    Number of line search iterations.
    Definition: scs.h:510
    -
    void millisToTime(scs_float time, scs_int *hours, scs_int *minutes, scs_int *secs, scs_float *sec_rest)
    Converts milliseconds to a 00:00:00.0.. time format.
    -
    scs_float nm_b
    Norm of .
    Definition: scs.h:186
    -
    scs_float *RESTRICT pr
    Primal residual vector.
    Definition: scs.h:95
    -
    scs_float *RESTRICT x
    Definition: scs.h:477
    -
    scs_int mem_cursor
    current memory cursor [0..mem-1]
    Definition: scs.h:37
    -
    scs_float * S
    cached values of (s-memory)
    Definition: scs.h:31
    -
    Primal-dual solution arrays.
    Definition: scs.h:476
    -
    char status[32]
    status string, e.g. 'Solved'
    Definition: scs.h:488
    -
    scs_float kap
    Definition: scs.h:278
    -
    scs_float *RESTRICT *RESTRICT E
    Definition: scs.h:518
    -
    scs_float *RESTRICT u
    Vector .
    Definition: scs.h:61
    -
    scs_float *RESTRICT H
    Hessian approximation used by the full Broyden method.
    Definition: scs.h:130
    -
    scs_float resPri
    Primal residual.
    Definition: scs.h:244
    +
    scs_int do_record_progress
    Definition: scs.h:509
    +
    scs_float *RESTRICT h
    Auxiliary variable used in projections on linear spaces.
    Definition: scs.h:173
    +
    scs_int do_override_streams
    Definition: scs.h:516
    +
    Terminating information.
    Definition: scs.h:556
    +
    scs_int m
    Row dimension of .
    Definition: scs.h:141
    +
    char yamlVersion[SCS_METADATA_TEXT_SIZE]
    YAML version.
    Definition: scs.h:84
    +
    scs_float *RESTRICT progress_relgap
    relative gap history
    Definition: scs.h:570
    +
    #define RESTRICT
    Definition: glbopts.h:40
    +
    scs_float *RESTRICT s_b
    Variable that corresponds to the primal slack for the 2nd step of DRS.
    Definition: scs.h:262
    +
    char status[32]
    status string, e.g. 'Solved'
    Definition: scs.h:557
    +
    scs_float cg_rate
    Definition: scs.h:419
    +
    struct scs_private_data ScsPrivWorkspace
    Definition: linSys.h:61
    +
    scs_int ls_wspace_length
    Length of workspace used to solve Anderson's linear system.
    Definition: scs.h:127
    +
    scs_float *RESTRICT c
    The (possibly normalized) vector .
    Definition: scs.h:204
    +
    scs_float thetabar
    Definition: scs.h:482
    +
    scs_float nrmR_con
    .
    Definition: scs.h:246
    +
    char license[SCS_METADATA_TEXT_SIZE]
    License of the problem data.
    Definition: scs.h:76
    +
    scs_int memory
    Definition: scs.h:490
    +
    scs_float *RESTRICT dir
    Direction .
    Definition: scs.h:216
    +
    ScsSettings *RESTRICT stgs
    Definition: scs.h:346
    +
    The sparse matrix A of the conic optimization problem.
    Definition: amatrix.h:17
    +
    scs_float scale
    Definition: scs.h:370
    +
    scs_int do_super_scs
    Definition: scs.h:438
    -
    scs_float *RESTRICT b
    The (possibly normalized) vector .
    Definition: scs.h:108
    -
    scs_float solveTime
    time taken for solve phase (milliseconds)
    Definition: scs.h:500
    -
    scs_float scale
    Definition: scs.h:323
    -
    scs_float resUnbdd
    Unboundedness.
    Definition: scs.h:260
    -
    scs_int normalize
    Definition: scs.h:321
    -
    scs_int do_override_streams
    Definition: scs.h:457
    -
    scs_int warm_start
    Definition: scs.h:373
    -
    scs_float *RESTRICT y
    Definition: scs.h:478
    -
    scs_float relGap
    relative duality gap
    Definition: scs.h:498
    -
    scs_float *RESTRICT wu_t
    Variable .
    Definition: scs.h:142
    -
    scs_int n
    Definition: scs.h:293
    -
    scs_int k2
    Definition: scs.h:383
    -
    scs_float *RESTRICT u_b
    Vector .
    Definition: scs.h:77
    -
    scs_float resDual
    Dual residual.
    Definition: scs.h:236
    -
    scs_float *RESTRICT u_t
    Vector .
    Definition: scs.h:69
    -
    scs_int lastIter
    The last iteration when the residuals were updated.
    Definition: scs.h:228
    -
    scs_int l
    Dimension of , that is .
    Definition: scs.h:57
    -
    scs_int previous_max_iters
    Definition: scs.h:345
    -
    AMatrix * A
    The (possibly normalized) A matrix.
    Definition: scs.h:198
    -
    Terminating information.
    Definition: scs.h:487
    -
    scs_int *RESTRICT progress_mode
    Mode of SuperSCS at each iteration.
    Definition: scs.h:509
    -
    scs_float pobj
    primal objective
    Definition: scs.h:492
    -
    scs_int fromYAML(const char *filepath, Data **data, Cone **cone)
    -
    scs_float resDual
    dual equality residual
    Definition: scs.h:495
    -
    ConeWork *RESTRICT coneWork
    workspace for the cone projection step
    Definition: scs.h:214
    -
    scs_float *RESTRICT progress_pcost
    scaled primal cost history
    Definition: scs.h:504
    -
    scs_float *RESTRICT R_prev
    Fixed-point residual (FPR) of the previous iteration .
    Definition: scs.h:120
    -
    scs_float *RESTRICT wu_b
    Variable .
    Definition: scs.h:146
    -
    long allocated_memory
    Memory, in bytes, that was allocated to run the algorithm.
    Definition: scs.h:511
    -
    Scaling *RESTRICT scal
    contains the re-scaling data
    Definition: scs.h:210
    -
    Info * initInfo(void)
    -
    Memory for the computation of directions (Broyden and Anderson's methods).
    Definition: scs.h:30
    -
    scs_int tRule
    Definition: scs.h:439
    -
    Settings structure.
    Definition: scs.h:305
    -
    scs_int do_record_progress
    Definition: scs.h:450
    -
    DirectionCache *RESTRICT direction_cache
    A cache for the computation of Broyden or Anderson's acceleration.
    Definition: scs.h:218
    -
    scs_float tau
    Definition: scs.h:274
    -
    scs_float resInfeas
    Infeasibility residual.
    Definition: scs.h:252
    -
    scs_float beta
    Definition: scs.h:401
    -
    scs_float resInfeas
    infeasibility cert residual
    Definition: scs.h:496
    -
    scs_float *RESTRICT progress_respri
    primal residual history
    Definition: scs.h:502
    -
    scs_float sc_b
    Scaling factor corresponding to .
    Definition: scs.h:178
    -
    scs_float sigma
    Definition: scs.h:405
    -
    scs_float *RESTRICT h
    Auxiliary variable used in projections on linear spaces.
    Definition: scs.h:81
    -
    scs_float gTh
    Auxiliary variable.
    Definition: scs.h:174
    -
    scs_int statusVal
    status as scs_int, defined in constants.h
    Definition: scs.h:490
    +
    scs_float gTh
    Auxiliary variable.
    Definition: scs.h:266
    +
    scs_float *RESTRICT progress_time
    Timestamp of iteration.
    Definition: scs.h:576
    +
    scs_float *RESTRICT R_prev
    Fixed-point residual (FPR) of the previous iteration .
    Definition: scs.h:212
    +
    scs_int broyden_init_scaling
    Definition: scs.h:505
    +
    FILE *RESTRICT output_stream
    Output stream where progress information is printed.
    Definition: scs.h:530
    +
    scs_int current_mem
    current memory length
    Definition: scs.h:131
    +
    scs_float sc_c
    Scaling factor corresponding to .
    Definition: scs.h:274
    +
    scs_int max_iters
    Definition: scs.h:394
    +
    void scs_millis_to_time(scs_float time, scs_int *hours, scs_int *minutes, scs_int *secs, scs_float *sec_rest)
    Converts milliseconds to a 00:00:00.0 time format.
    +
    scs_float *RESTRICT dr
    Dual residual vector.
    Definition: scs.h:196
    +
    scs_float *RESTRICT v
    Vector (used only in SCS, not in SuperSCS).
    Definition: scs.h:157
    +
    scs_float * t
    Solution of the linear system .
    Definition: scs.h:126
    +
    scs_int verbose
    Definition: scs.h:428
    +
    scs_float *RESTRICT u_prev
    Vector of the previous iteration.
    Definition: scs.h:165
    +
    scs_float *RESTRICT Sk
    Definition: scs.h:250
    +
    scs_float stepsize
    The current stepsize .
    Definition: scs.h:258
    +
    scs_float *RESTRICT wu_b
    Variable .
    Definition: scs.h:238
    +
    enum direction_enum ScsDirectionType
    Direction computation method (in SuperSCS)
    +
    scs_int history_length
    how many history entries
    Definition: scs.h:560
    +
    scs_int l
    Dimension of , that is .
    Definition: scs.h:149
    +
    ScsDirectionCache *RESTRICT direction_cache
    A cache for the computation of Broyden or Anderson's acceleration.
    Definition: scs.h:310
    +
    scs_int ls
    Definition: scs.h:453
    +
    scs_int *RESTRICT progress_ls
    Number of line search iterations.
    Definition: scs.h:579
    +
    scs_int previous_max_iters
    Definition: scs.h:400
    +
    scs_float *RESTRICT s
    Definition: scs.h:548
    +
    struct scs_conic_probem_metadata ScsConicProblemMetadata
    Metadata for conic optimization problems.
    +
    scs_float sigma
    Definition: scs.h:464
    +
    ScsPrivWorkspace *RESTRICT p
    struct populated by linear system solver
    Definition: scs.h:294
    +
    scs_float *RESTRICT u_t
    Vector .
    Definition: scs.h:161
    +
    scs_float *RESTRICT progress_resdual
    dual residual history
    Definition: scs.h:572
    +
    scs_int n
    Definition: scs.h:325
    +
    char problemName[SCS_METADATA_TEXT_SIZE]
    Problem name.
    Definition: scs.h:70
    +
    scs_float max_time_milliseconds
    Definition: scs.h:387
    +
    ScsConeWork *RESTRICT coneWork
    workspace for the cone projection step
    Definition: scs.h:306
    +
    scs_float resDual
    dual equality residual
    Definition: scs.h:564
    +
    char date[SCS_METADATA_TEXT_SIZE]
    Creation date.
    Definition: scs.h:88
    +
    scs_float beta
    Definition: scs.h:460
    +
    scs_float *RESTRICT x
    Definition: scs.h:540
    +
    scs_float *RESTRICT progress_dcost
    sclaed dual cost history
    Definition: scs.h:574
    +
    scs_int k1
    Definition: scs.h:441
    +
    scs_int mem_cursor
    current memory cursor [0..mem-1]
    Definition: scs.h:129
    +
    scs_int iter
    number of iterations taken
    Definition: scs.h:558
    +
    scs_float solveTime
    time taken for solve phase (milliseconds)
    Definition: scs.h:569
    +
    scs_float *RESTRICT H
    Hessian approximation used by the full Broyden method.
    Definition: scs.h:222
    +
    scs_int tRule
    Definition: scs.h:498
    +
    scs_int *RESTRICT progress_iter
    iterations when residulas are recorded
    Definition: scs.h:577
    +
    scs_float *RESTRICT c
    Definition: scs.h:342
    +
    scs_float *RESTRICT wu_t
    Variable .
    Definition: scs.h:234
    +
    ScsAMatrix * A
    The (possibly normalized) A matrix.
    Definition: scs.h:290
    +
    #define SCS_METADATA_TEXT_SIZE
    Definition: scs.h:49
    +
    scs_float c1
    Definition: scs.h:443
    -
    scs_float meanNormRowA
    Definition: scs.h:519
    -
    scs_int m
    Row dimension of .
    Definition: scs.h:49
    -
    scs_int mem
    (target/maximum/allocated) memory
    Definition: scs.h:38
    -
    scs_float *RESTRICT b
    Definition: scs.h:297
    -
    scs_int do_super_scs
    Definition: scs.h:379
    -
    scs_int broyden_init_scaling
    Definition: scs.h:446
    -
    scs_float setupTime
    time taken for setup phase (milliseconds)
    Definition: scs.h:499
    +
    scs_int scs(const ScsData *RESTRICT d, const ScsCone *RESTRICT k, ScsSolution *RESTRICT sol, ScsInfo *RESTRICT info)
    +
    scs_float meanNormRowA
    Definition: scs.h:588
    +
    scs_float *RESTRICT *RESTRICT E
    Definition: scs.h:587
    -
    int scs_int
    Definition: glbopts.h:65
    -
    scs_float *RESTRICT *RESTRICT c
    Definition: scs.h:297
    -
    enum direction_enum direction_type
    +
    scs_float *RESTRICT b
    The (possibly normalized) vector .
    Definition: scs.h:200
    +
    scs_float dobj
    dual objective
    Definition: scs.h:562
    +
    int scs_int
    Definition: glbopts.h:92
    +
    scs_float * ls_wspace
    Workspace used to solve Anderson's linear system.
    Definition: scs.h:128
    +
    scs_float *RESTRICT progress_pcost
    scaled primal cost history
    Definition: scs.h:573
    -
    scs_float * U
    cached values of , or cached values of
    Definition: scs.h:32
    -
    scs_float *RESTRICT u_prev
    Vector of the previous iteration.
    Definition: scs.h:73
    -
    AMatrix * A
    Definition: scs.h:294
    -
    scs_float *RESTRICT c
    The (possibly normalized) vector .
    Definition: scs.h:112
    -
    scs_float stepsize
    The current stepsize .
    Definition: scs.h:166
    -
    scs_float resUnbdd
    unbounded cert residual
    Definition: scs.h:497
    +
    scs_float *RESTRICT u_b
    Vector .
    Definition: scs.h:169
    +
    scs_float kap_b
    Variable for certificates of infeasibility/unboudedness.
    Definition: scs.h:286
    +
    scs_int warm_start
    Definition: scs.h:432
    +
    scs_float nm_b
    Norm of .
    Definition: scs.h:278
    +
    scs_float *RESTRICT progress_respri
    primal residual history
    Definition: scs.h:571
    +
    scs_float setupTime
    time taken for setup phase (milliseconds)
    Definition: scs.h:568
    +
    ScsSolution * scs_init_sol(void)
    +
    scs_int k0
    Definition: scs.h:439
    -
    scs_int ls
    Definition: scs.h:394
    -
    scs_float *RESTRICT progress_dcost
    sclaed dual cost history
    Definition: scs.h:505
    -
    scs_float *RESTRICT g
    Auxiliary variable of dimension used in projections on linear spaces.
    Definition: scs.h:85
    -
    The sparse matrix A of the conic optimization problem.
    Definition: amatrix.h:17
    -
    scs_int ls_wspace_length
    Length of workspace used to solve Anderson's linear system.
    Definition: scs.h:35
    -
    scs_float cTx_by_tau
    Definition: scs.h:269
    -
    scs_float *RESTRICT v
    Vector (used only in SCS, not in SuperSCS).
    Definition: scs.h:65
    -
    scs_float *RESTRICT dr
    Dual residual vector.
    Definition: scs.h:104
    -
    scs_int k1
    Definition: scs.h:382
    -
    scs_float *RESTRICT dut
    Direction corresponding to .
    Definition: scs.h:134
    +
    scs_float * U
    cached values of , or cached values of
    Definition: scs.h:124
    +
    scs_float *RESTRICT progress_norm_fpr
    FPR history.
    Definition: scs.h:575
    +
    scs_float sc_b
    Scaling factor corresponding to .
    Definition: scs.h:270
    +
    scs_float sse
    Definition: scs.h:444
    +
    Cone structure.
    Definition: cones.h:48
    +
    scs_float *RESTRICT g
    Auxiliary variable of dimension used in projections on linear spaces.
    Definition: scs.h:177
    -
    scs_float relGap
    Relative duality gap defined as.
    Definition: scs.h:268
    -
    scs_float bTy_by_tau
    Definition: scs.h:270
    -
    Settings *RESTRICT stgs
    contains solver settings specified by user
    Definition: scs.h:206
    -
    scs_int history_length
    how many history entries
    Definition: scs.h:491
    -
    scs_float nrmR_con
    .
    Definition: scs.h:154
    -
    scs_float rho_x
    Definition: scs.h:324
    -
    Workspace for cones.
    Definition: cones.h:104
    -
    scs_float *RESTRICT wu
    Variable .
    Definition: scs.h:138
    -
    scs_float * t
    Solution of the linear system .
    Definition: scs.h:34
    -
    double scs_float
    Definition: glbopts.h:70
    -
    scs_float *RESTRICT D
    Definition: scs.h:518
    -
    scs_float alpha
    Definition: scs.h:357
    -
    scs_float *RESTRICT progress_time
    Timestamp of iteration.
    Definition: scs.h:507
    -
    Data * initData(void)
    -
    scs_float sse
    Definition: scs.h:385
    -
    scs_float sc_c
    Scaling factor corresponding to .
    Definition: scs.h:182
    -
    scs_float *RESTRICT Sk
    Definition: scs.h:158
    -
    scs_float c_bl
    Definition: scs.h:381
    -
    scs_int k0
    Definition: scs.h:380
    -
    scs_int scs(const Data *RESTRICT d, const Cone *RESTRICT k, Sol *RESTRICT sol, Info *RESTRICT info)
    -
    Priv *RESTRICT p
    struct populated by linear system solver
    Definition: scs.h:202
    -
    scs_float *RESTRICT dir
    Direction .
    Definition: scs.h:124
    -
    scs_float *RESTRICT s_b
    Variable that corresponds to the primal slack for the 2nd step of DRS.
    Definition: scs.h:170
    -
    scs_int memory
    Definition: scs.h:431
    -
    scs_float cg_rate
    Definition: scs.h:358
    -
    scs_float *RESTRICT Rwu
    Vector from line search.
    Definition: scs.h:150
    -
    Normalization variables.
    Definition: scs.h:517
    -
    scs_float nm_c
    Norm of .
    Definition: scs.h:190
    -
    struct PRIVATE_DATA Priv
    Definition: linSys.h:23
    -
    Structure to hold residual information (unnormalized)
    Definition: scs.h:224
    -
    scs_float *RESTRICT progress_resdual
    dual residual history
    Definition: scs.h:503
    -
    scs_int max_iters
    Definition: scs.h:339
    -
    scs_int m
    Definition: scs.h:289
    -
    scs_float *RESTRICT Yk
    Definition: scs.h:162
    -
    scs_int n
    Column dimension of .
    Definition: scs.h:53
    -
    FILE *RESTRICT output_stream
    Output stream where progress information is printed.
    Definition: scs.h:470
    -
    scs_float resPri
    primal equality residual
    Definition: scs.h:494
    +
    ScsInfo * scs_init_info(void)
    +
    char creator[SCS_METADATA_TEXT_SIZE]
    Creator of the problem.
    Definition: scs.h:80
    +
    scs_float meanNormColA
    Definition: scs.h:588
    +
    scs_int *RESTRICT progress_mode
    Mode of SuperSCS at each iteration.
    Definition: scs.h:578
    +
    scs_float *RESTRICT R
    Fixed-point residual .
    Definition: scs.h:208
    +
    scs_float eps
    Definition: scs.h:406
    +
    long allocated_memory
    Memory, in bytes, that was allocated to run the algorithm.
    Definition: scs.h:580
    +
    scs_float c_bl
    Definition: scs.h:440
    +
    double scs_float
    Definition: glbopts.h:96
    +
    scs_float resInfeas
    infeasibility cert residual
    Definition: scs.h:565
    +
    scs_float rho_x
    Definition: scs.h:371
    +
    ScsConicProblemMetadata * scs_init_conic_problem_metadata(const char *problemName)
    Initializes a ScsConicProblemMetadata structure.
    +
    scs_float * S
    cached values of (s-memory)
    Definition: scs.h:123
    +
    scs_int m
    Definition: scs.h:321
    +
    scs_float alpha
    Definition: scs.h:412
    +
    scs_float nm_c
    Norm of .
    Definition: scs.h:282
    +
    scs_int scs_from_YAML(const char *filepath, ScsData **data, ScsCone **cone)
    +
    scs_int k2
    Definition: scs.h:442
    +
    struct containing problem data
    Definition: scs.h:316
    +
    scs_float *RESTRICT u
    Vector .
    Definition: scs.h:153
    +
    scs_float *RESTRICT pr
    Primal residual vector.
    Definition: scs.h:187
    +
    Workspace for SCS.
    Definition: scs.h:137
    +
    ScsDirectionType direction
    Definition: scs.h:476
    +
    scs_float *RESTRICT wu
    Variable .
    Definition: scs.h:230
    +
    scs_float *RESTRICT D
    Definition: scs.h:587
    +
    Memory for the computation of directions (Broyden and Anderson's methods).
    Definition: scs.h:122
    +
    Settings structure.
    Definition: scs.h:352
    +
    ScsData * scs_init_data(void)
    +
    ScsAMatrix * A
    Definition: scs.h:330
    +
    scs_float *RESTRICT dut
    Direction corresponding to .
    Definition: scs.h:226
    +
    Metadata for conic optimization problems.
    Definition: scs.h:60
    +
    scs_int n
    Column dimension of .
    Definition: scs.h:145
    +
    scs_float relGap
    relative duality gap
    Definition: scs.h:567
    +
    scs_float pobj
    primal objective
    Definition: scs.h:561
    +
    Workspace for cones.
    Definition: cones.h:131
    +
    scs_float * S_minus_Y
    The difference (for Anderson's acceleration)
    Definition: scs.h:125
    +
    scs_float *RESTRICT y
    Definition: scs.h:544
    +
    scs_float *RESTRICT b
    Definition: scs.h:338
    +
    scs_int scs_to_YAML(const char *RESTRICT filepath, ScsConicProblemMetadata *metadata, const ScsData *RESTRICT data, const ScsCone *RESTRICT cone)
    +
    scs_float *RESTRICT Yk
    Definition: scs.h:254
    const char * scs_version(void)
    -
    scs_float c1
    Definition: scs.h:384
    -
    scs_float *RESTRICT s
    Definition: scs.h:479
    -
    direction_type direction
    Definition: scs.h:417
    +
    Normalization variables.
    Definition: scs.h:586
    +
    scs_int normalize
    Definition: scs.h:368
    +
    scs_float resUnbdd
    unbounded cert residual
    Definition: scs.h:566
    +
    ScsScaling *RESTRICT scal
    contains the re-scaling data
    Definition: scs.h:302
    +
    Primal-dual solution arrays.
    Definition: scs.h:536
    +
    ScsSettings *RESTRICT stgs
    contains solver settings specified by user
    Definition: scs.h:298
    diff --git a/docs/scs__blas_8h.html b/docs/scs__blas_8h.html index 5fa3d2a6e..ca67e3490 100644 --- a/docs/scs__blas_8h.html +++ b/docs/scs__blas_8h.html @@ -1,10 +1,13 @@ - - + + + + + -SuperSCS: include/scs_blas.h File Reference +SuperSCS: SuperSCS: Fast & Accurate conic programming @@ -21,6 +24,14 @@ + + +
    @@ -28,8 +39,10 @@
    SuperSCS +  1.3.2
    + @@ -100,7 +113,7 @@ diff --git a/docs/scs__blas_8h_source.html b/docs/scs__blas_8h_source.html index 657a48054..2fb612e27 100644 --- a/docs/scs__blas_8h_source.html +++ b/docs/scs__blas_8h_source.html @@ -1,10 +1,13 @@ - - + + + + + -SuperSCS: include/scs_blas.h Source File +SuperSCS: SuperSCS: Fast & Accurate conic programming @@ -21,6 +24,14 @@ + + +
    @@ -28,8 +39,10 @@
    SuperSCS +  1.3.2
    + @@ -95,62 +108,89 @@
    scs_blas.h
    -Go to the documentation of this file.
    1 #ifndef SCS_BLAS_H_GUARD
    -
    2 #define SCS_BLAS_H_GUARD
    -
    3 
    -
    4 #ifdef LAPACK_LIB_FOUND
    -
    5 
    -
    6 #ifdef __cplusplus
    -
    7 extern "C" {
    -
    8 #endif
    -
    9 
    -
    10 /* Default to underscore for blas / lapack */
    -
    11 #ifndef BLASSUFFIX
    -
    12 #define BLASSUFFIX _
    -
    13 #endif
    -
    14 
    -
    15 /* annoying hack because some preprocessors can't handle empty macros */
    -
    16 #if defined(NOBLASSUFFIX) && NOBLASSUFFIX > 0
    -
    17 /* single or double precision */
    -
    18 #ifndef FLOAT
    -
    19 #define BLAS(x) d##x
    -
    20 #else
    -
    21 #define BLAS(x) s##x
    -
    22 #endif
    -
    23 #else
    -
    24 /* this extra indirection is needed for BLASSUFFIX to work correctly as a
    -
    25  * variable */
    -
    26 #define stitch_(pre, x, post) pre##x##post
    -
    27 #define stitch__(pre, x, post) stitch_(pre, x, post)
    -
    28 /* single or double precision */
    -
    29 #ifndef FLOAT
    -
    30 #define BLAS(x) stitch__(d, x, BLASSUFFIX)
    -
    31 #else
    -
    32 #define BLAS(x) stitch__(s, x, BLASSUFFIX)
    -
    33 #endif
    -
    34 #define LPCK BLAS
    -
    35 #endif
    +Go to the documentation of this file.
    1 /*
    +
    2  * The MIT License (MIT)
    +
    3  *
    +
    4  * Copyright (c) 2017 Pantelis Sopasakis (https://alphaville.github.io),
    +
    5  * Krina Menounou (https://www.linkedin.com/in/krinamenounou),
    +
    6  * Panagiotis Patrinos (http://homes.esat.kuleuven.be/~ppatrino)
    +
    7  * Copyright (c) 2012 Brendan O'Donoghue (bodonoghue85@gmail.com)
    +
    8  *
    +
    9  * Permission is hereby granted, free of charge, to any person obtaining a copy
    +
    10  * of this software and associated documentation files (the "Software"), to deal
    +
    11  * in the Software without restriction, including without limitation the rights
    +
    12  * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
    +
    13  * copies of the Software, and to permit persons to whom the Software is
    +
    14  * furnished to do so, subject to the following conditions:
    +
    15  *
    +
    16  * The above copyright notice and this permission notice shall be included in all
    +
    17  * copies or substantial portions of the Software.
    +
    18  *
    +
    19  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
    +
    20  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
    +
    21  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
    +
    22  * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
    +
    23  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
    +
    24  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
    +
    25  * SOFTWARE.
    +
    26  *
    +
    27  */
    +
    28 #ifndef SCS_BLAS_H_GUARD
    +
    29 #define SCS_BLAS_H_GUARD
    +
    30 
    +
    31 #ifdef LAPACK_LIB_FOUND
    +
    32 
    +
    33 #ifdef __cplusplus
    +
    34 extern "C" {
    +
    35 #endif
    36 
    -
    37 #ifdef MATLAB_MEX_FILE
    -
    38 typedef ptrdiff_t blasint;
    -
    39 #elif defined BLAS64
    -
    40 #include <stdint.h>
    -
    41 typedef int64_t blasint;
    -
    42 #else
    -
    43 typedef int blasint;
    -
    44 #endif
    -
    45 
    -
    46 #ifdef __cplusplus
    -
    47 }
    -
    48 #endif
    -
    49 
    -
    50 #endif /* LAPACK_LIB_FOUND */
    -
    51 
    -
    52 #endif /* SCS_BLAS_H_GUARD */
    +
    37 /* Default to underscore for blas / lapack */
    +
    38 #ifndef BLASSUFFIX
    +
    39 #define BLASSUFFIX _
    +
    40 #endif
    +
    41 
    +
    42 /* annoying hack because some preprocessors can't handle empty macros */
    +
    43 #if defined(NOBLASSUFFIX) && NOBLASSUFFIX > 0
    +
    44 /* single or double precision */
    +
    45 #ifndef FLOAT
    +
    46 #define BLAS(x) d##x
    +
    47 #else
    +
    48 #define BLAS(x) s##x
    +
    49 #endif
    +
    50 #else
    +
    51 /* this extra indirection is needed for BLASSUFFIX to work correctly as a
    +
    52  * variable */
    +
    53 #define stitch_(pre, x, post) pre##x##post
    +
    54 #define stitch__(pre, x, post) stitch_(pre, x, post)
    +
    55 /* single or double precision */
    +
    56 #ifndef FLOAT
    +
    57 #define BLAS(x) stitch__(d, x, BLASSUFFIX)
    +
    58 #else
    +
    59 #define BLAS(x) stitch__(s, x, BLASSUFFIX)
    +
    60 #endif
    +
    61 #define LPCK BLAS
    +
    62 #endif
    +
    63 
    +
    64 #ifdef MATLAB_MEX_FILE
    +
    65 typedef ptrdiff_t blasint;
    +
    66 #elif defined BLAS64
    +
    67 #include <stdint.h>
    +
    68 typedef int64_t blasint;
    +
    69 #else
    +
    70 typedef int blasint;
    +
    71 #endif
    +
    72 
    +
    73 #ifdef __cplusplus
    +
    74 }
    +
    75 #endif
    +
    76 
    +
    77 #endif /* LAPACK_LIB_FOUND */
    +
    78 
    +
    79 #endif /* SCS_BLAS_H_GUARD */
    diff --git a/docs/search/all_0.js b/docs/search/all_0.js index 89f10b4d3..b0a237e55 100644 --- a/docs/search/all_0.js +++ b/docs/search/all_0.js @@ -1,6 +1,14 @@ var searchData= [ - ['_5fscs_5fcalloc',['_scs_calloc',['../glbopts_8h.html#a63b54d37a966814e93830d14bd8978c6',1,'glbopts.h']]], - ['_5fscs_5ffree',['_scs_free',['../glbopts_8h.html#a420487cb21be8927fab9551176fc340d',1,'glbopts.h']]], - ['_5fscs_5fmalloc',['_scs_malloc',['../glbopts_8h.html#a7301713c4952adab242a0f957b3a5922',1,'glbopts.h']]] + ['a',['A',['../structscs__work.html#aa2cd9bbf8266227151771c6db1be0498',1,'scs_work::A()'],['../structscs__data.html#aa2cd9bbf8266227151771c6db1be0498',1,'scs_data::A()']]], + ['abs',['ABS',['../glbopts_8h.html#a996f7be338ccb40d1a2a5abc1ad61759',1,'glbopts.h']]], + ['allocated_5fmemory',['allocated_memory',['../structscs__info.html#a3cb8a1dd1b3398f0483ca08151fab39d',1,'scs_info']]], + ['alpha',['alpha',['../structscs__settings.html#acbde49a968c48ad2215d2908de38fb3e',1,'scs_settings']]], + ['amatrix_2eh',['amatrix.h',['../amatrix_8h.html',1,'']]], + ['anderson_5facceleration',['anderson_acceleration',['../glbopts_8h.html#ae846c6457f3d41c69f5f313e396f9f4caa9123e11e02d5e17ed26ac0d0ddc4df3',1,'glbopts.h']]], + ['assert_5fequal_5farray_5fint_5for_5ffail',['ASSERT_EQUAL_ARRAY_INT_OR_FAIL',['../unit__test__util_8h.html#ac5dd562290fd131a00b064a30cb33bf9',1,'unit_test_util.h']]], + ['assert_5fequal_5farray_5for_5ffail',['ASSERT_EQUAL_ARRAY_OR_FAIL',['../unit__test__util_8h.html#af52747e413eae8e0d34a707d92cbee33',1,'unit_test_util.h']]], + ['assert_5fequal_5ffloat_5for_5ffail',['ASSERT_EQUAL_FLOAT_OR_FAIL',['../unit__test__util_8h.html#ac54135c906b09adea4cb612a4438b9b5',1,'unit_test_util.h']]], + ['assert_5fequal_5fint_5for_5ffail',['ASSERT_EQUAL_INT_OR_FAIL',['../unit__test__util_8h.html#afd5d77ec7e7a26d347a9190196ca8571',1,'unit_test_util.h']]], + ['assert_5ftrue_5for_5ffail',['ASSERT_TRUE_OR_FAIL',['../unit__test__util_8h.html#aaa3dde99ba7781da2e6a50c5b510cb89',1,'unit_test_util.h']]] ]; diff --git a/docs/search/all_1.js b/docs/search/all_1.js index fb2087aef..4787ce43f 100644 --- a/docs/search/all_1.js +++ b/docs/search/all_1.js @@ -1,27 +1,10 @@ var searchData= [ - ['a',['A',['../struct_s_c_s___w_o_r_k.html#a669e3fa8b9f4af2cdfc35775b7b8be35',1,'SCS_WORK::A()'],['../struct_s_c_s___p_r_o_b_l_e_m___d_a_t_a.html#a669e3fa8b9f4af2cdfc35775b7b8be35',1,'SCS_PROBLEM_DATA::A()']]], - ['a_5fdata_5fmatrix',['A_DATA_MATRIX',['../struct_a___d_a_t_a___m_a_t_r_i_x.html',1,'']]], - ['abs',['ABS',['../glbopts_8h.html#a996f7be338ccb40d1a2a5abc1ad61759',1,'glbopts.h']]], - ['accumbya',['accumByA',['../lin_sys_8h.html#a88366c26472ae79ac015b0ef32cf8486',1,'linSys.h']]], - ['accumbyatrans',['accumByAtrans',['../lin_sys_8h.html#af02f94ad9a954405128c00b342968058',1,'linSys.h']]], - ['addarray',['addArray',['../lin_alg_8h.html#a09be9798293f508d74bcacf139c15984',1,'linAlg.h']]], - ['addscaledarray',['addScaledArray',['../lin_alg_8h.html#a2563c74c700d9aad088089d2de43ff5a',1,'linAlg.h']]], - ['allocated_5fmemory',['allocated_memory',['../struct_s_c_s___i_n_f_o.html#a3cb8a1dd1b3398f0483ca08151fab39d',1,'SCS_INFO']]], - ['alpha',['alpha',['../struct_s_c_s___s_e_t_t_i_n_g_s.html#acbde49a968c48ad2215d2908de38fb3e',1,'SCS_SETTINGS']]], - ['alpha_5fdefault',['ALPHA_DEFAULT',['../constants_8h.html#ab17104980239f47f1bf5c82d002dbc2e',1,'constants.h']]], - ['alphac_5fdefault',['ALPHAC_DEFAULT',['../constants_8h.html#a56eeab37b7e8e55e3b7c3622567aa421',1,'constants.h']]], - ['amatrix',['AMatrix',['../lin_sys_8h.html#a324336b006180aa358ac994307a02ba2',1,'linSys.h']]], - ['amatrix_2eh',['amatrix.h',['../amatrix_8h.html',1,'']]], - ['anderson_5facceleration',['anderson_acceleration',['../glbopts_8h.html#ae846c6457f3d41c69f5f313e396f9f4caa9123e11e02d5e17ed26ac0d0ddc4df3',1,'glbopts.h']]], - ['assert_5fequal_5farray_5fint_5for_5ffail',['ASSERT_EQUAL_ARRAY_INT_OR_FAIL',['../unit__test__util_8h.html#ac5dd562290fd131a00b064a30cb33bf9',1,'unit_test_util.h']]], - ['assert_5fequal_5farray_5for_5ffail',['ASSERT_EQUAL_ARRAY_OR_FAIL',['../unit__test__util_8h.html#af52747e413eae8e0d34a707d92cbee33',1,'unit_test_util.h']]], - ['assert_5fequal_5ffloat_5for_5ffail',['ASSERT_EQUAL_FLOAT_OR_FAIL',['../unit__test__util_8h.html#ac54135c906b09adea4cb612a4438b9b5',1,'unit_test_util.h']]], - ['assert_5fequal_5fint_5for_5ffail',['ASSERT_EQUAL_INT_OR_FAIL',['../unit__test__util_8h.html#afd5d77ec7e7a26d347a9190196ca8571',1,'unit_test_util.h']]], - ['assert_5ftrue_5for_5ffail',['ASSERT_TRUE_OR_FAIL',['../unit__test__util_8h.html#aaa3dde99ba7781da2e6a50c5b510cb89',1,'unit_test_util.h']]], - ['assertequalsarray',['assertEqualsArray',['../unit__test__util_8h.html#ac28f267daa32d0b30925e092de171e2d',1,'unit_test_util.h']]], - ['assertequalsarrayint',['assertEqualsArrayInt',['../unit__test__util_8h.html#a4a727eac74f9965196ada3a5b1d8943e',1,'unit_test_util.h']]], - ['assertequalsfloat',['assertEqualsFloat',['../unit__test__util_8h.html#ac68c45abf605abcca3741d1a5b6292d8',1,'unit_test_util.h']]], - ['assertequalsint',['assertEqualsInt',['../unit__test__util_8h.html#ae8d262bf37223f480449fab11798fbc3',1,'unit_test_util.h']]], - ['axpy2',['axpy2',['../lin_alg_8h.html#a49ec1bdca7714a036f103f062ee8d508',1,'linAlg.h']]] + ['b',['b',['../structscs__work.html#ae35336dc13ee1174b965e64b3103e4c9',1,'scs_work::b()'],['../structscs__data.html#ae35336dc13ee1174b965e64b3103e4c9',1,'scs_data::b()']]], + ['basic_5fdoc_5fpage_2eh',['basic_doc_page.h',['../basic__doc__page_8h.html',1,'']]], + ['benchmarks_5fpage_2eh',['benchmarks_page.h',['../benchmarks__page_8h.html',1,'']]], + ['beta',['beta',['../structscs__settings.html#a1d727f9f7c565414e082d108103e4e90',1,'scs_settings']]], + ['bool',['bool',['../unit__test__util_8h.html#a1062901a7428fdd9c7f180f5e01ea056',1,'unit_test_util.h']]], + ['broyden_5finit_5fscaling',['broyden_init_scaling',['../structscs__settings.html#ad1f6c0aefeb9075eecdf487931d3143e',1,'scs_settings']]], + ['benchmarks',['Benchmarks',['../page_benchmark_results.html',1,'']]] ]; diff --git a/docs/search/all_10.js b/docs/search/all_10.js index e8fd6078a..7eab08c7c 100644 --- a/docs/search/all_10.js +++ b/docs/search/all_10.js @@ -1,7 +1,15 @@ var searchData= [ - ['q',['q',['../struct_s_c_s___c_o_n_e.html#a3683559d8417590c873a1e4d02de9b58',1,'SCS_CONE']]], - ['qr_5fworkspace_5fsize',['qr_workspace_size',['../lin_alg_8h.html#a072641fb9730513833dc81566412d95f',1,'linAlg.h']]], - ['qrls',['qrls',['../lin_alg_8h.html#a6d95492c267681deea3874f33c1d33e9',1,'linAlg.h']]], - ['qsize',['qsize',['../struct_s_c_s___c_o_n_e.html#addc0bc141289f832d3a1ededbc0217d9',1,'SCS_CONE']]] + ['r',['R',['../structscs__work.html#a4563d66a8673e0c25546b43da1b76227',1,'scs_work']]], + ['r_5fprev',['R_prev',['../structscs__work.html#a3ac8a7d38acbe5d9c3576859e0f845f7',1,'scs_work']]], + ['relgap',['relGap',['../structscs__info.html#a5bc0a8d1cb4945dec173ee19e4b18b2b',1,'scs_info']]], + ['resdual',['resDual',['../structscs__info.html#a1c525d0cde9e276dab8643ed7d4bfc59',1,'scs_info']]], + ['resinfeas',['resInfeas',['../structscs__info.html#add492de95a4e81de947bb70c52c92afb',1,'scs_info']]], + ['respri',['resPri',['../structscs__info.html#a9a6b88cfc36e8c9140039d3a006611ca',1,'scs_info']]], + ['restarted_5fbroyden',['restarted_broyden',['../glbopts_8h.html#ae846c6457f3d41c69f5f313e396f9f4ca8c55599a07579d01ab088f80b9ed7a3e',1,'glbopts.h']]], + ['restarted_5fbroyden_5fv2',['restarted_broyden_v2',['../glbopts_8h.html#ae846c6457f3d41c69f5f313e396f9f4ca259a58e90d91ad557b2c7e034c1a5434',1,'glbopts.h']]], + ['restrict',['RESTRICT',['../glbopts_8h.html#aae3356b63849abbe8789dd41648ee90a',1,'glbopts.h']]], + ['resunbdd',['resUnbdd',['../structscs__info.html#ad7038774fed3ce9a6d98fd9f7a30b560',1,'scs_info']]], + ['rho_5fx',['rho_x',['../structscs__settings.html#abd2c2ac659387dab81690e651bbf166f',1,'scs_settings']]], + ['rwu',['Rwu',['../structscs__work.html#ac0350fe076fa62a8c2a5a1c7e6431acc',1,'scs_work']]] ]; diff --git a/docs/search/all_11.js b/docs/search/all_11.js index f04d85e58..35a58b4c0 100644 --- a/docs/search/all_11.js +++ b/docs/search/all_11.js @@ -1,19 +1,196 @@ var searchData= [ - ['r',['R',['../struct_s_c_s___w_o_r_k.html#a4563d66a8673e0c25546b43da1b76227',1,'SCS_WORK']]], - ['r_5fprev',['R_prev',['../struct_s_c_s___w_o_r_k.html#a3ac8a7d38acbe5d9c3576859e0f845f7',1,'SCS_WORK']]], - ['relgap',['relGap',['../structresiduals.html#a5bc0a8d1cb4945dec173ee19e4b18b2b',1,'residuals::relGap()'],['../struct_s_c_s___i_n_f_o.html#a5bc0a8d1cb4945dec173ee19e4b18b2b',1,'SCS_INFO::relGap()']]], - ['resdual',['resDual',['../structresiduals.html#a1c525d0cde9e276dab8643ed7d4bfc59',1,'residuals::resDual()'],['../struct_s_c_s___i_n_f_o.html#a1c525d0cde9e276dab8643ed7d4bfc59',1,'SCS_INFO::resDual()']]], - ['resetdirectioncache',['resetDirectionCache',['../directions_8h.html#ae69ceb49592fe2f23b1f261cc676d054',1,'directions.h']]], - ['residuals',['residuals',['../structresiduals.html',1,'']]], - ['resinfeas',['resInfeas',['../structresiduals.html#add492de95a4e81de947bb70c52c92afb',1,'residuals::resInfeas()'],['../struct_s_c_s___i_n_f_o.html#add492de95a4e81de947bb70c52c92afb',1,'SCS_INFO::resInfeas()']]], - ['respri',['resPri',['../structresiduals.html#a9a6b88cfc36e8c9140039d3a006611ca',1,'residuals::resPri()'],['../struct_s_c_s___i_n_f_o.html#a9a6b88cfc36e8c9140039d3a006611ca',1,'SCS_INFO::resPri()']]], - ['restarted_5fbroyden',['restarted_broyden',['../glbopts_8h.html#ae846c6457f3d41c69f5f313e396f9f4ca8c55599a07579d01ab088f80b9ed7a3e',1,'glbopts.h']]], - ['restarted_5fbroyden_5fv2',['restarted_broyden_v2',['../glbopts_8h.html#ae846c6457f3d41c69f5f313e396f9f4ca259a58e90d91ad557b2c7e034c1a5434',1,'glbopts.h']]], - ['restrict',['RESTRICT',['../glbopts_8h.html#aae3356b63849abbe8789dd41648ee90a',1,'glbopts.h']]], - ['resunbdd',['resUnbdd',['../structresiduals.html#ad7038774fed3ce9a6d98fd9f7a30b560',1,'residuals::resUnbdd()'],['../struct_s_c_s___i_n_f_o.html#ad7038774fed3ce9a6d98fd9f7a30b560',1,'SCS_INFO::resUnbdd()']]], - ['return',['RETURN',['../glbopts_8h.html#a6a0e6b80dd3d5ca395cf58151749f5e2',1,'glbopts.h']]], - ['rho_5fx',['rho_x',['../struct_s_c_s___s_e_t_t_i_n_g_s.html#abd2c2ac659387dab81690e651bbf166f',1,'SCS_SETTINGS']]], - ['rho_5fx_5fdefault',['RHO_X_DEFAULT',['../constants_8h.html#af9cba67e202e98f57a409058e660328d',1,'constants.h']]], - ['rwu',['Rwu',['../struct_s_c_s___w_o_r_k.html#ac0350fe076fa62a8c2a5a1c7e6431acc',1,'SCS_WORK']]] + ['superscs_3a_20fast_20_26_20accurate_20conic_20programming',['SuperSCS: Fast & Accurate conic programming',['../index.html',1,'']]], + ['saving_20and_20loading_20problems',['Saving and Loading Problems',['../page_save_load.html',1,'']]], + ['sparse_20matrices',['Sparse Matrices',['../page_sparse_matrices.html',1,'']]], + ['s',['S',['../structscs__direction__cache.html#a10bb3a9b693e18f175ccf7045b465e33',1,'scs_direction_cache::S()'],['../structscs__cone.html#ad03ed58d9b174c4e9ed28fdf0552f74a',1,'scs_cone::s()'],['../structscs__solution.html#af3e9d317ab1d49503141834552be45ab',1,'scs_solution::s()']]], + ['s_5fb',['s_b',['../structscs__work.html#a5e28fcd9b1e8104d36d3376263140cab',1,'scs_work']]], + ['s_5fminus_5fy',['S_minus_Y',['../structscs__direction__cache.html#a80eb869a89780493714600fd7bb47443',1,'scs_direction_cache']]], + ['save_5fload_5fpage_2eh',['save_load_page.h',['../save__load__page_8h.html',1,'']]], + ['sc_5fb',['sc_b',['../structscs__work.html#a0fe5bffa0ac061d8b45a197ef97f7fec',1,'scs_work']]], + ['sc_5fc',['sc_c',['../structscs__work.html#a89afffcda39d156a3927da9f1e1decf2',1,'scs_work']]], + ['scal',['scal',['../structscs__work.html#abd3f662b78689b435b7e7f405c4f6a5c',1,'scs_work']]], + ['scale',['scale',['../structscs__settings.html#a15d7c4d64c93b547448e6d682793e6af',1,'scs_settings']]], + ['scs',['scs',['../scs_8h.html#a3b4841ccbabf8aaa56f3758bf8d771c1',1,'scs.h']]], + ['scs_2eh',['scs.h',['../scs_8h.html',1,'']]], + ['scs_5fa_5fdata_5fmatrix',['scs_a_data_matrix',['../structscs__a__data__matrix.html',1,'']]], + ['scs_5faccum_5fby_5fa',['scs_accum_by_a',['../lin_sys_8h.html#a1b21cc9f0d89a053ce102d118e677585',1,'linSys.h']]], + ['scs_5faccum_5fby_5fa_5ftrans',['scs_accum_by_a_trans',['../lin_sys_8h.html#a619d82cdb8138009fa889230c15bf9aa',1,'linSys.h']]], + ['scs_5fadd_5farray',['scs_add_array',['../lin_alg_8h.html#aa32866d1fa64e11b18672e83397ca060',1,'linAlg.h']]], + ['scs_5fadd_5fscaled_5farray',['scs_add_scaled_array',['../lin_alg_8h.html#a0d7a5763c37d9ce51e9e60e69597cff5',1,'linAlg.h']]], + ['scs_5falpha_5fdefault',['SCS_ALPHA_DEFAULT',['../constants_8h.html#a20f38afd56ab2510b86f35c4c93172e9',1,'constants.h']]], + ['scs_5falphac_5fdefault',['SCS_ALPHAC_DEFAULT',['../constants_8h.html#ae628d60f9cf163b961a6a4f60699097d',1,'constants.h']]], + ['scs_5fassert_5fequals_5farray',['scs_assert_equals_array',['../unit__test__util_8h.html#add7dfd45996c5b439a0c5ab7743a4f3b',1,'unit_test_util.h']]], + ['scs_5fassert_5fequals_5farray_5fint',['scs_assert_equals_array_int',['../unit__test__util_8h.html#a956c44a4a6ecfe5c0427fa53cc2dd6b1',1,'unit_test_util.h']]], + ['scs_5fassert_5fequals_5ffloat',['scs_assert_equals_float',['../unit__test__util_8h.html#a32c86846eaba3e85b3af4de3ec703034',1,'unit_test_util.h']]], + ['scs_5fassert_5fequals_5fint',['scs_assert_equals_int',['../unit__test__util_8h.html#ab3b52f93aa19d3b804ddd7cd62679bff',1,'unit_test_util.h']]], + ['scs_5faxpy',['scs_axpy',['../lin_alg_8h.html#a04f129cf5ba20b463efbaf064162e0fe',1,'linAlg.h']]], + ['scs_5fbeta_5fdefault',['SCS_BETA_DEFAULT',['../constants_8h.html#a8ca78ec1fcdd4d219fa0b156cb07b7f1',1,'constants.h']]], + ['scs_5fblas_2eh',['scs_blas.h',['../scs__blas_8h.html',1,'']]], + ['scs_5fbroyden_5fiscs_5fscale_5fdefault',['SCS_BROYDEN_ISCS_SCALE_DEFAULT',['../constants_8h.html#ae93e93bb0f7e5dc795644f2ea39999d1',1,'constants.h']]], + ['scs_5fc1_5fdefault',['SCS_C1_DEFAULT',['../constants_8h.html#ab357ae73898a201088b13bf2eafd4a07',1,'constants.h']]], + ['scs_5fc_5fbl_5fdefault',['SCS_C_BL_DEFAULT',['../constants_8h.html#a36de9bb0ea397c4d12bee7f28d98286b',1,'constants.h']]], + ['scs_5fcalloc',['scs_calloc',['../glbopts_8h.html#a516ae41750b3ec240856a719a1a666ec',1,'glbopts.h']]], + ['scs_5fcalloc_5f',['scs_calloc_',['../glbopts_8h.html#a66e41e0597d8ec2d140b125705906b9f',1,'glbopts.h']]], + ['scs_5fcg_5frate_5fdefault',['SCS_CG_RATE_DEFAULT',['../constants_8h.html#a85119c391fac7625ea1398f74c7d2798',1,'constants.h']]], + ['scs_5fcgls',['scs_cgls',['../lin_alg_8h.html#a9b226460c677de92cc18aeb259179d23',1,'linAlg.h']]], + ['scs_5fcgls_5fmalloc_5fworkspace',['scs_cgls_malloc_workspace',['../lin_alg_8h.html#a1c74f784875be05d3ee2a124519d2bdd',1,'linAlg.h']]], + ['scs_5fcompute_5fdir_5fanderson',['scs_compute_dir_anderson',['../directions_8h.html#ab15f8e904b4d8539fd89b3d8ab46155d',1,'directions.h']]], + ['scs_5fcompute_5fdir_5ffull_5fbroyden',['scs_compute_dir_full_broyden',['../directions_8h.html#a9ba47312ceb56676930d887ff0a82ef9',1,'directions.h']]], + ['scs_5fcompute_5fdir_5frestarted_5fbroyden',['scs_compute_dir_restarted_broyden',['../directions_8h.html#a7ae2bdbbf7decc90dbd466976c0db1cc',1,'directions.h']]], + ['scs_5fcompute_5fdirection',['scs_compute_direction',['../directions_8h.html#ac590f0e0a55206f167052ca1a57dcbb7',1,'directions.h']]], + ['scs_5fcone',['scs_cone',['../structscs__cone.html',1,'']]], + ['scs_5fcone_5fwork',['scs_cone_work',['../structscs__cone__work.html',1,'']]], + ['scs_5fconic_5fprobem_5fmetadata',['scs_conic_probem_metadata',['../structscs__conic__probem__metadata.html',1,'']]], + ['scs_5fcs',['scs_cs',['../cs_8h.html#a274963ee6a1a0ebf30060fad1a549506',1,'cs.h']]], + ['scs_5fcs_5fcompress',['scs_cs_compress',['../cs_8h.html#a5cf9d81096e503803134b416880d4e9e',1,'cs.h']]], + ['scs_5fcs_5fcumsum',['scs_cs_cumsum',['../cs_8h.html#ad98b12dc243df59f5f301c5c27360a00',1,'cs.h']]], + ['scs_5fcs_5fdone',['scs_cs_done',['../cs_8h.html#a77a04423f8ae2daba3fe25d4e3a41dd4',1,'cs.h']]], + ['scs_5fcs_5fpinv',['scs_cs_pinv',['../cs_8h.html#a7198f7fe460e5ceadb57f5263f376f48',1,'cs.h']]], + ['scs_5fcs_5fspalloc',['scs_cs_spalloc',['../cs_8h.html#a54077df9dc67134081bf49dd474f1ca4',1,'cs.h']]], + ['scs_5fcs_5fsparse',['scs_cs_sparse',['../structscs__cs__sparse.html',1,'']]], + ['scs_5fcs_5fspfree',['scs_cs_spfree',['../cs_8h.html#a8e4a1c8869b72fb2aeb8f442aa8a9fc1',1,'cs.h']]], + ['scs_5fcs_5fsymperm',['scs_cs_symperm',['../cs_8h.html#af8d625257044d9eac70db8458f6ceae4',1,'cs.h']]], + ['scs_5fdata',['scs_data',['../structscs__data.html',1,'']]], + ['scs_5fdirection_5fcache',['scs_direction_cache',['../structscs__direction__cache.html',1,'']]], + ['scs_5fdirection_5fcache_5fincrement',['SCS_DIRECTION_CACHE_INCREMENT',['../directions_8h.html#ab64187e2d930e605e057212907d0204d',1,'directions.h']]], + ['scs_5fdirection_5fcache_5freset',['SCS_DIRECTION_CACHE_RESET',['../directions_8h.html#acb98df9e5567a0ff58371c60b7335976',1,'directions.h']]], + ['scs_5fdirection_5fdefault',['SCS_DIRECTION_DEFAULT',['../constants_8h.html#aea34ebbeecfadd2784ec2f505b3f0b5e',1,'constants.h']]], + ['scs_5fdirection_5ferror',['SCS_DIRECTION_ERROR',['../directions_8h.html#a2a4cfd4f462f56911187c55f7658ca11',1,'directions.h']]], + ['scs_5fdirection_5fsuccess',['SCS_DIRECTION_SUCCESS',['../directions_8h.html#a66cb60c195b00d7d16ae15d7d712de68',1,'directions.h']]], + ['scs_5fdo_5frecord_5fprogress_5fdefault',['SCS_DO_RECORD_PROGRESS_DEFAULT',['../constants_8h.html#a67f694a07e0375572c882a31fed50ebc',1,'constants.h']]], + ['scs_5fdo_5fsuperscs_5fdefault',['SCS_DO_SUPERSCS_DEFAULT',['../constants_8h.html#a7a569fe418a42a4791796340daba3d6d',1,'constants.h']]], + ['scs_5feps_5fdefault',['SCS_EPS_DEFAULT',['../constants_8h.html#a82e39ccf8dab9d51dac9e732300975c1',1,'constants.h']]], + ['scs_5ffailed',['SCS_FAILED',['../constants_8h.html#a991ff39b24ee4961b79cc7bf2e2f35db',1,'constants.h']]], + ['scs_5ffinish_5fcone',['scs_finish_cone',['../cones_8h.html#a5325b17257f5a64f926a27a4491bc8aa',1,'cones.h']]], + ['scs_5ffloat',['scs_float',['../glbopts_8h.html#ad37836e6404bb2c3ae8adcc6290699b9',1,'glbopts.h']]], + ['scs_5ffree',['scs_free',['../glbopts_8h.html#a2f0c0c4aef43c9e062293944c859802b',1,'glbopts.h']]], + ['scs_5ffree_5f',['scs_free_',['../glbopts_8h.html#af6f6a74e6fc9b7a2fea0743f1512f724',1,'glbopts.h']]], + ['scs_5ffree_5fa_5fmatrix',['scs_free_a_matrix',['../lin_sys_8h.html#aa544d3056911daf752fd98fd2c99c0db',1,'linSys.h']]], + ['scs_5ffree_5fdata',['scs_free_data',['../util_8h.html#a306a79198104eb194a8326a72b0b1fd0',1,'util.h']]], + ['scs_5ffree_5ffull_5fbroyden',['scs_free_full_broyden',['../directions_8h.html#ab24862e94eea29bd5b730678c7410eb7',1,'directions.h']]], + ['scs_5ffree_5finfo',['scs_free_info',['../util_8h.html#ad11d33b45a71878449be2364f8a11c92',1,'util.h']]], + ['scs_5ffree_5fpriv',['scs_free_priv',['../lin_sys_8h.html#a67c9434d48e8e2839e2273a718c0b67b',1,'linSys.h']]], + ['scs_5ffree_5fsol',['scs_free_sol',['../util_8h.html#ada665aca69d68c936c133b5c1fb06ece',1,'util.h']]], + ['scs_5ffrom_5fyaml',['scs_from_YAML',['../scs_8h.html#a6b103b76824333ec603d19d06da4ffcf',1,'scs.h']]], + ['scs_5fget_5fcone_5fboundaries',['scs_get_cone_boundaries',['../cones_8h.html#a545eaaa8bc106ce4130e2740ae7d3072',1,'cones.h']]], + ['scs_5fget_5fcone_5fheader',['scs_get_cone_header',['../cones_8h.html#a1ca6c2e3381d7ace9fe5682853f8270a',1,'cones.h']]], + ['scs_5fget_5fcone_5fsummary',['scs_get_cone_summary',['../cones_8h.html#a6baff43e25d97bb8b7b8e25c32f95427',1,'cones.h']]], + ['scs_5fget_5flinsys_5fmethod',['scs_get_linsys_method',['../lin_sys_8h.html#a0b510efd7cfe39e87f4b9af7065e9af0',1,'linSys.h']]], + ['scs_5findeterminate',['SCS_INDETERMINATE',['../constants_8h.html#a6087076845557b5f8d556bbf23bb577b',1,'constants.h']]], + ['scs_5finfeasible',['SCS_INFEASIBLE',['../constants_8h.html#a0bac201fdbc84557c391490187101d8b',1,'constants.h']]], + ['scs_5finfeasible_5finaccurate',['SCS_INFEASIBLE_INACCURATE',['../constants_8h.html#ae5e6dd1cacecc8ddb532e25ee025dab1',1,'constants.h']]], + ['scs_5finfo',['scs_info',['../structscs__info.html',1,'']]], + ['scs_5finit_5fconework',['scs_init_conework',['../cones_8h.html#af34a44522a3178e96b6864ff31b747ad',1,'cones.h']]], + ['scs_5finit_5fconic_5fproblem_5fmetadata',['scs_init_conic_problem_metadata',['../scs_8h.html#a3b6195d6dc0640687ba7f7cdc6a543df',1,'scs.h']]], + ['scs_5finit_5fdata',['scs_init_data',['../scs_8h.html#a83067d4c1fd8a6f9f43d0a3d1fa3939a',1,'scs.h']]], + ['scs_5finit_5finfo',['scs_init_info',['../scs_8h.html#aca9114d4b49cfe0abb4947f7f55d2908',1,'scs.h']]], + ['scs_5finit_5fpriv',['scs_init_priv',['../lin_sys_8h.html#abcc0ff966a062759b03dbb79619f2cc0',1,'linSys.h']]], + ['scs_5finit_5fsol',['scs_init_sol',['../scs_8h.html#ae9d47194aa02f0286981c566d4874a45',1,'scs.h']]], + ['scs_5finner_5fproduct',['scs_inner_product',['../lin_alg_8h.html#a8de6b194962ebea5bac8be95183b50b4',1,'linAlg.h']]], + ['scs_5fint',['scs_int',['../glbopts_8h.html#a23c48a83ce0c58783595ad45ffcaf76b',1,'glbopts.h']]], + ['scs_5fk0_5fdefault',['SCS_K0_DEFAULT',['../constants_8h.html#aba6086055551c0d9aedf1b2087981693',1,'constants.h']]], + ['scs_5fk1_5fdefault',['SCS_K1_DEFAULT',['../constants_8h.html#a10626f91e90e669115768ec5c0fe312b',1,'constants.h']]], + ['scs_5fk2_5fdefault',['SCS_K2_DEFAULT',['../constants_8h.html#af803329a57a0b041cefecf0dae65fe87',1,'constants.h']]], + ['scs_5fls_5fdefault',['SCS_LS_DEFAULT',['../constants_8h.html#ad1e5a5f13769ba10e7e6e499eb7bd3e4',1,'constants.h']]], + ['scs_5fmalloc',['scs_malloc',['../glbopts_8h.html#a92ef52581fa52d1a1b14aa81a1512f42',1,'glbopts.h']]], + ['scs_5fmalloc_5f',['scs_malloc_',['../glbopts_8h.html#a80506eddd3a42654af2256e96ae21daf',1,'glbopts.h']]], + ['scs_5fmatrix_5fmultiply',['scs_matrix_multiply',['../lin_alg_8h.html#a99072ee3d131b87aead32f643ae8507a',1,'linAlg.h']]], + ['scs_5fmatrix_5ftranspose_5fmultiply',['scs_matrix_transpose_multiply',['../lin_alg_8h.html#a9ca848ea419e477184333b497fcdbdd0',1,'linAlg.h']]], + ['scs_5fmax_5fiters_5fdefault',['SCS_MAX_ITERS_DEFAULT',['../constants_8h.html#ab13ad2c212aca810000962b56e0fa63e',1,'constants.h']]], + ['scs_5fmax_5ftime_5fmilliseconds',['SCS_MAX_TIME_MILLISECONDS',['../constants_8h.html#a2df4008935dc26a793bb3e2e31afc89f',1,'constants.h']]], + ['scs_5fmemory_5fdefault',['SCS_MEMORY_DEFAULT',['../constants_8h.html#a05cefedd4c55f98f217f1bef5d113e1c',1,'constants.h']]], + ['scs_5fmetadata_5ftext_5fsize',['SCS_METADATA_TEXT_SIZE',['../scs_8h.html#a537fcfdb796be3c7be2b28c0705e7f45',1,'scs.h']]], + ['scs_5fmillis_5fto_5ftime',['scs_millis_to_time',['../scs_8h.html#ab1b2384661be77c04eb7acbbf3e25f95',1,'scs.h']]], + ['scs_5fnominal_5fdefault',['SCS_NOMINAL_DEFAULT',['../constants_8h.html#ac4dbe3dd5bb75fc1eea19b4d4ac2d7ec',1,'constants.h']]], + ['scs_5fnorm',['scs_norm',['../lin_alg_8h.html#ace631dcffb968f396d9c06c61c10f5e8',1,'linAlg.h']]], + ['scs_5fnorm_5fdifference',['scs_norm_difference',['../lin_alg_8h.html#a05e67e933e319773ccf3bd9f980b9da3',1,'linAlg.h']]], + ['scs_5fnorm_5finfinity',['scs_norm_infinity',['../lin_alg_8h.html#a74a0a88eab131849445de410a5e03353',1,'linAlg.h']]], + ['scs_5fnorm_5finfinity_5fdifference',['scs_norm_infinity_difference',['../lin_alg_8h.html#a63aa529add23d98afdcba736b7443a90',1,'linAlg.h']]], + ['scs_5fnorm_5fsquared',['scs_norm_squared',['../lin_alg_8h.html#af7da04d07ca2f505a77938c4498b6612',1,'linAlg.h']]], + ['scs_5fnormalize_5fa',['scs_normalize_a',['../lin_sys_8h.html#af877658f75bea14c978c83b0bb6aee52',1,'linSys.h']]], + ['scs_5fnormalize_5fbc',['scs_normalize_bc',['../normalize_8h.html#ac8d54294513f04f1ef14780047eb494b',1,'normalize.h']]], + ['scs_5fnormalize_5fdefault',['SCS_NORMALIZE_DEFAULT',['../constants_8h.html#ac7930cfeca6808ed9030b6dfb06a24d9',1,'constants.h']]], + ['scs_5fnormalize_5fwarm_5fstart',['scs_normalize_warm_start',['../normalize_8h.html#af0b11b282701b7fd1851f377063bfd55',1,'normalize.h']]], + ['scs_5fnull',['SCS_NULL',['../glbopts_8h.html#a0be174af2a751cfa8a91c310d799943f',1,'glbopts.h']]], + ['scs_5fout_5fstream_5fdefault',['SCS_OUT_STREAM_DEFAULT',['../constants_8h.html#a34d7f23cf3fa0ceb0d1d496ce25fbc31',1,'constants.h']]], + ['scs_5foverride_5fstreams_5fdefault',['SCS_OVERRIDE_STREAMS_DEFAULT',['../constants_8h.html#a697834c3544d9feb94653b3e1efc048b',1,'constants.h']]], + ['scs_5fpmaxiter_5fdefault',['SCS_PMAXITER_DEFAULT',['../constants_8h.html#ac6ff032db28309a711e51621597f25b3',1,'constants.h']]], + ['scs_5fprint_5farray',['scs_print_array',['../util_8h.html#ad6d111c679561485497470ceb1a1bb95',1,'util.h']]], + ['scs_5fprint_5fcone_5fdata',['scs_print_cone_data',['../util_8h.html#a9c6c79bb7885d5e4a3ae247b5befb4d1',1,'util.h']]], + ['scs_5fprint_5fdata',['scs_print_data',['../util_8h.html#a99c57c4ace10af0ef828543fc28c59f4',1,'util.h']]], + ['scs_5fprint_5fwork',['scs_print_work',['../util_8h.html#a8c21416e0955de598f264420fafedf19',1,'util.h']]], + ['scs_5fprintf',['scs_printf',['../glbopts_8h.html#a74b592ebf6298c05fd3de8e31288fb8e',1,'glbopts.h']]], + ['scs_5fproject_5fdual_5fcone',['scs_project_dual_cone',['../cones_8h.html#a5cc5108dbc27be9a669f03b2baa336ef',1,'cones.h']]], + ['scs_5fqr_5fworkspace_5fsize',['scs_qr_workspace_size',['../lin_alg_8h.html#a51f742071c4e5372a4bda3ff4dbbdd2a',1,'linAlg.h']]], + ['scs_5fqrls',['scs_qrls',['../lin_alg_8h.html#a54db69771437af2230847be106b9eeb7',1,'linAlg.h']]], + ['scs_5freset_5fdirection_5fcache',['scs_reset_direction_cache',['../directions_8h.html#afbf4c808c105c9a7ec2f5630dced25ae',1,'directions.h']]], + ['scs_5frho_5fx_5fdefault',['SCS_RHO_X_DEFAULT',['../constants_8h.html#a9ec6fe94717b1a14ef9b4247d0178b88',1,'constants.h']]], + ['scs_5fsc_5finit_5fdefault',['SCS_SC_INIT_DEFAULT',['../constants_8h.html#a8cfa1592c3180950d8ed500641c9bb9d',1,'constants.h']]], + ['scs_5fscale_5farray',['scs_scale_array',['../lin_alg_8h.html#a1d8e6903f1a26b6528c58e21a09e5546',1,'linAlg.h']]], + ['scs_5fscale_5fdefault',['SCS_SCALE_DEFAULT',['../constants_8h.html#a2eae80a2e3848c683cff930703d2f678',1,'constants.h']]], + ['scs_5fscaling',['scs_scaling',['../structscs__scaling.html',1,'']]], + ['scs_5fset_5fas_5fscaled_5farray',['scs_set_as_scaled_array',['../lin_alg_8h.html#aac32466ea4955e15aec10d25fed713fd',1,'linAlg.h']]], + ['scs_5fset_5fdefault_5fsettings',['scs_set_default_settings',['../util_8h.html#a4072866f75891adc3f47c93f3faec59b',1,'util.h']]], + ['scs_5fsettings',['scs_settings',['../structscs__settings.html',1,'']]], + ['scs_5fsigint',['SCS_SIGINT',['../constants_8h.html#a0d4e848eb3de81287e5e1c8fae2dab0a',1,'constants.h']]], + ['scs_5fsigma_5fdefault',['SCS_SIGMA_DEFAULT',['../constants_8h.html#adcd9ebbfd1010272d2da9f45637f70a7',1,'constants.h']]], + ['scs_5fsolution',['scs_solution',['../structscs__solution.html',1,'']]], + ['scs_5fsolve_5flin_5fsys',['scs_solve_lin_sys',['../lin_sys_8h.html#a60e0e913bedcc7fd4f2d5c18b501eacd',1,'linSys.h']]], + ['scs_5fsolved',['SCS_SOLVED',['../constants_8h.html#a0fcae593d880f4d9a0b21b188ba58094',1,'constants.h']]], + ['scs_5fsolved_5finaccurate',['SCS_SOLVED_INACCURATE',['../constants_8h.html#aaeed0781b1d882d591dd2b3acaefaa4c',1,'constants.h']]], + ['scs_5fspecial_5fprint',['scs_special_print',['../util_8h.html#ac9f0d915529f6a6c8171883495a318b5',1,'util.h']]], + ['scs_5fsse_5fdefault',['SCS_SSE_DEFAULT',['../constants_8h.html#aec9972fc3f784a596f121f79c21ae0e9',1,'constants.h']]], + ['scs_5fstrtoc',['scs_strtoc',['../util_8h.html#a693ce6a554e8dc26178f10232b8d5344',1,'util.h']]], + ['scs_5fsubtract_5farray',['scs_subtract_array',['../lin_alg_8h.html#ab32933bf8a0314fc420dce817843abf5',1,'linAlg.h']]], + ['scs_5fsvd_5fworkspace_5fsize',['scs_svd_workspace_size',['../lin_alg_8h.html#add76dc476305f4a437b04bb4f3b1981c',1,'linAlg.h']]], + ['scs_5fsvdls',['scs_svdls',['../lin_alg_8h.html#afe5f938a3120a03eb55c42a72d7e22ca',1,'linAlg.h']]], + ['scs_5ftest',['scs_test',['../unit__test__util_8h.html#a640164ab7437141b9a82e5bb8517b08c',1,'unit_test_util.h']]], + ['scs_5fthetabar_5fdefault',['SCS_THETABAR_DEFAULT',['../constants_8h.html#a8996657675f5d31cbb708660f8a39e94',1,'constants.h']]], + ['scs_5ftic',['scs_tic',['../util_8h.html#a565b32abd4eac5133500dc7d10bd82e8',1,'util.h']]], + ['scs_5fto_5fyaml',['scs_to_YAML',['../scs_8h.html#acb51d00d2947fedd2c75f4a8e98671fe',1,'scs.h']]], + ['scs_5ftoc',['scs_toc',['../util_8h.html#ae720b2bb97549059b393759e648889fc',1,'util.h']]], + ['scs_5ftoc_5fquiet',['scs_toc_quiet',['../util_8h.html#a1e1c4c50ab956133ead31ff0ccfa33c9',1,'util.h']]], + ['scs_5ftrule_5fdefault',['SCS_TRULE_DEFAULT',['../constants_8h.html#aea9c686b0592071494b57f8a716d4095',1,'constants.h']]], + ['scs_5funbounded',['SCS_UNBOUNDED',['../constants_8h.html#ac8c72aeee9bcd3f1ed58fcf99a76d01c',1,'constants.h']]], + ['scs_5funbounded_5finaccurate',['SCS_UNBOUNDED_INACCURATE',['../constants_8h.html#aa9926c8e5b23495ae9195e3c444c4b5a',1,'constants.h']]], + ['scs_5funfinished',['SCS_UNFINISHED',['../constants_8h.html#a97f7a5b842fd70105d97841fcd6ee680',1,'constants.h']]], + ['scs_5funnormalize_5fa',['scs_unnormalize_a',['../lin_sys_8h.html#adb5a6d2c40e34caf6ca5a12de730d5bb',1,'linSys.h']]], + ['scs_5funnormalize_5fsol',['scs_unnormalize_sol',['../normalize_8h.html#ad0127bbdb4d44e4a4808937de8a34746',1,'normalize.h']]], + ['scs_5fvalidate_5fcones',['scs_validate_cones',['../cones_8h.html#a53769bfbbbd583cc1154f13b9a0ed5e4',1,'cones.h']]], + ['scs_5fvalidate_5flinsys',['scs_validate_linsys',['../lin_sys_8h.html#aafa1c06f7bdf425f892d54e39aeee347',1,'linSys.h']]], + ['scs_5fverbose_5fdefault',['SCS_VERBOSE_DEFAULT',['../constants_8h.html#a7788145a24a7557b968b7488888d8f47',1,'constants.h']]], + ['scs_5fversion',['SCS_VERSION',['../constants_8h.html#abae8a893f5f047e479a6fdeea4cad79b',1,'SCS_VERSION(): constants.h'],['../scs_8h.html#a43b8531ef2762feb762ead03d47ed0bf',1,'scs_version(void): scs.h']]], + ['scs_5fwarm_5fstart_5fdefault',['SCS_WARM_START_DEFAULT',['../constants_8h.html#a2b829492ff747136a9ebee7c78f63574',1,'constants.h']]], + ['scs_5fwork',['scs_work',['../structscs__work.html',1,'']]], + ['scsamatrix',['ScsAMatrix',['../lin_sys_8h.html#ab1a7a022a5cda81d47af42a41a998c86',1,'linSys.h']]], + ['scscone',['ScsCone',['../glbopts_8h.html#adf87c0460d49e43de93a125c9e411fc3',1,'glbopts.h']]], + ['scsconework',['ScsConeWork',['../cones_8h.html#aed75394728d48f25b5af8b76bd4529ea',1,'cones.h']]], + ['scsconicproblemmetadata',['ScsConicProblemMetadata',['../scs_8h.html#a379a5efb3cc84716c20f289adeb84d9e',1,'scs.h']]], + ['scsdata',['ScsData',['../glbopts_8h.html#a89e9d49d0d5057e7f5951cf244e389ca',1,'glbopts.h']]], + ['scsdirectioncache',['ScsDirectionCache',['../glbopts_8h.html#ae9f61eaed65ccad35c55b2915474fa26',1,'glbopts.h']]], + ['scsdirectiontype',['ScsDirectionType',['../glbopts_8h.html#a23ea5af1185c3740fccaf722e7e50f46',1,'glbopts.h']]], + ['scsinfo',['ScsInfo',['../glbopts_8h.html#adbcd3a39353325aeb359829feb559e6a',1,'glbopts.h']]], + ['scsprivworkspace',['ScsPrivWorkspace',['../lin_sys_8h.html#a693b77327a64062a3eb2eb962f934157',1,'linSys.h']]], + ['scsscaling',['ScsScaling',['../glbopts_8h.html#afbf6ddc5b598be1d830323542c9a08d3',1,'glbopts.h']]], + ['scssettings',['ScsSettings',['../glbopts_8h.html#aee43ab2680b3b602d2d1ddd7a5f168a6',1,'glbopts.h']]], + ['scssolution',['ScsSolution',['../glbopts_8h.html#a3675b0288ffeaeeea09b5f759921bfd7',1,'glbopts.h']]], + ['scswork',['ScsWork',['../glbopts_8h.html#a1c2ba9826e3e8203c2a52e6196a2b048',1,'glbopts.h']]], + ['setuptime',['setupTime',['../structscs__info.html#a737206389622dc55e144f5c27a554069',1,'scs_info']]], + ['sgn',['SGN',['../glbopts_8h.html#a95ed41486ca0ed53262e4b8934d4afac',1,'glbopts.h']]], + ['sigma',['sigma',['../structscs__settings.html#a127eed9b06de5903806821b4d6700c9a',1,'scs_settings']]], + ['sk',['Sk',['../structscs__work.html#a2fe0e4a3887a0a7ef034347ed0f6a065',1,'scs_work']]], + ['socp_5fpage_2eh',['socp_page.h',['../socp__page_8h.html',1,'']]], + ['solvetime',['solveTime',['../structscs__info.html#a44176a047013546abef2b3a5935dfa97',1,'scs_info']]], + ['sparse_5fmartrices_5fpage_2eh',['sparse_martrices_page.h',['../sparse__martrices__page_8h.html',1,'']]], + ['sqrtf',['SQRTF',['../glbopts_8h.html#a3b9d7d973bd11c5ad12d329c6ea8b308',1,'glbopts.h']]], + ['sse',['sse',['../structscs__settings.html#a5e40b12249d561d4d9d0846f357e2bd5',1,'scs_settings']]], + ['ssize',['ssize',['../structscs__cone.html#a5fe4cf9ee168d3bc8da9f2de4e78bbf3',1,'scs_cone']]], + ['startinterruptlistener',['startInterruptListener',['../ctrlc_8h.html#a1c8e1257fd1ea10595f53534a0fcb67a',1,'ctrlc.h']]], + ['status',['status',['../structscs__info.html#abc302fcc962bd593b0db714fca6e2988',1,'scs_info']]], + ['statusval',['statusVal',['../structscs__info.html#aac2e43268116ffd134e5cb413e785b88',1,'scs_info']]], + ['stepsize',['stepsize',['../structscs__work.html#adbad4ed3fb42bf0d353cecf670ed7d65',1,'scs_work']]], + ['stgs',['stgs',['../structscs__work.html#adfeab9c94401aea40a90eb61a6307160',1,'scs_work::stgs()'],['../structscs__data.html#adfeab9c94401aea40a90eb61a6307160',1,'scs_data::stgs()']]], + ['succeed',['SUCCEED',['../unit__test__util_8h.html#a753e9e46e51063c920e4a87668595062',1,'unit_test_util.h']]], + ['superscs_5fpage_2eh',['superscs_page.h',['../superscs__page_8h.html',1,'']]] ]; diff --git a/docs/search/all_12.js b/docs/search/all_12.js index 9e64f807b..c77bc3eb9 100644 --- a/docs/search/all_12.js +++ b/docs/search/all_12.js @@ -1,77 +1,18 @@ var searchData= [ - ['superscs_3a_20fast_20_26_20accurate_20conic_20programming',['SuperSCS: Fast & Accurate conic programming',['../index.html',1,'']]], - ['saving_20and_20loading_20problems',['Saving and Loading Problems',['../page_save_load.html',1,'']]], - ['sparse_20matrices',['Sparse Matrices',['../page_sparse_matrices.html',1,'']]], - ['s',['S',['../struct_s_c_s___d_i_r_e_c_t_i_o_n___m_e_m_o_r_y.html#a10bb3a9b693e18f175ccf7045b465e33',1,'SCS_DIRECTION_MEMORY::S()'],['../struct_s_c_s___c_o_n_e.html#ad03ed58d9b174c4e9ed28fdf0552f74a',1,'SCS_CONE::s()'],['../struct_s_c_s___s_o_l___v_a_r_s.html#af3e9d317ab1d49503141834552be45ab',1,'SCS_SOL_VARS::s()']]], - ['s_5fb',['s_b',['../struct_s_c_s___w_o_r_k.html#a5e28fcd9b1e8104d36d3376263140cab',1,'SCS_WORK']]], - ['s_5fminus_5fy',['S_minus_Y',['../struct_s_c_s___d_i_r_e_c_t_i_o_n___m_e_m_o_r_y.html#a80eb869a89780493714600fd7bb47443',1,'SCS_DIRECTION_MEMORY']]], - ['save_5fload_5fpage_2eh',['save_load_page.h',['../save__load__page_8h.html',1,'']]], - ['sc_5fb',['sc_b',['../struct_s_c_s___w_o_r_k.html#a0fe5bffa0ac061d8b45a197ef97f7fec',1,'SCS_WORK']]], - ['sc_5fc',['sc_c',['../struct_s_c_s___w_o_r_k.html#a89afffcda39d156a3927da9f1e1decf2',1,'SCS_WORK']]], - ['sc_5finit_5fdefault',['SC_INIT_DEFAULT',['../constants_8h.html#aedc2c76d565d9ce33c435c560b5025f0',1,'constants.h']]], - ['scal',['scal',['../struct_s_c_s___w_o_r_k.html#a29f3e3f63836efffc0c8c727da8985bd',1,'SCS_WORK']]], - ['scale',['scale',['../struct_s_c_s___s_e_t_t_i_n_g_s.html#a15d7c4d64c93b547448e6d682793e6af',1,'SCS_SETTINGS']]], - ['scale_5fdefault',['SCALE_DEFAULT',['../constants_8h.html#af6e297c50f00d296f812ea247f6b48a0',1,'constants.h']]], - ['scalearray',['scaleArray',['../lin_alg_8h.html#afd4804d4065a253807b3efe7829d3364',1,'linAlg.h']]], - ['scaling',['Scaling',['../glbopts_8h.html#ab8c36aa0d198ae780dee4e6dfb7bb44b',1,'glbopts.h']]], - ['scs',['scs',['../scs_8h.html#ab0a17856b4bd62f5f7ba4df6e2721e82',1,'scs.h']]], - ['scs_2eh',['scs.h',['../scs_8h.html',1,'']]], - ['scs_5fblas_2eh',['scs_blas.h',['../scs__blas_8h.html',1,'']]], - ['scs_5fcalloc',['scs_calloc',['../glbopts_8h.html#a516ae41750b3ec240856a719a1a666ec',1,'glbopts.h']]], - ['scs_5fcone',['SCS_CONE',['../struct_s_c_s___c_o_n_e.html',1,'']]], - ['scs_5fdgemm_5fnn',['scs_dgemm_nn',['../lin_alg_8h.html#a7a35a741853de74ce6e09d8ab9b70d0e',1,'linAlg.h']]], - ['scs_5fdirection_5fmemory',['SCS_DIRECTION_MEMORY',['../struct_s_c_s___d_i_r_e_c_t_i_o_n___m_e_m_o_r_y.html',1,'']]], - ['scs_5ffailed',['SCS_FAILED',['../constants_8h.html#a991ff39b24ee4961b79cc7bf2e2f35db',1,'constants.h']]], - ['scs_5ffloat',['scs_float',['../glbopts_8h.html#ad37836e6404bb2c3ae8adcc6290699b9',1,'glbopts.h']]], - ['scs_5ffree',['scs_free',['../glbopts_8h.html#a2f0c0c4aef43c9e062293944c859802b',1,'glbopts.h']]], - ['scs_5findeterminate',['SCS_INDETERMINATE',['../constants_8h.html#a6087076845557b5f8d556bbf23bb577b',1,'constants.h']]], - ['scs_5finfeasible',['SCS_INFEASIBLE',['../constants_8h.html#a0bac201fdbc84557c391490187101d8b',1,'constants.h']]], - ['scs_5finfeasible_5finaccurate',['SCS_INFEASIBLE_INACCURATE',['../constants_8h.html#ae5e6dd1cacecc8ddb532e25ee025dab1',1,'constants.h']]], - ['scs_5finfo',['SCS_INFO',['../struct_s_c_s___i_n_f_o.html',1,'']]], - ['scs_5fint',['scs_int',['../glbopts_8h.html#a23c48a83ce0c58783595ad45ffcaf76b',1,'glbopts.h']]], - ['scs_5fmalloc',['scs_malloc',['../glbopts_8h.html#a92ef52581fa52d1a1b14aa81a1512f42',1,'glbopts.h']]], - ['scs_5fnull',['SCS_NULL',['../glbopts_8h.html#a0be174af2a751cfa8a91c310d799943f',1,'glbopts.h']]], - ['scs_5fprintf',['scs_printf',['../glbopts_8h.html#a74b592ebf6298c05fd3de8e31288fb8e',1,'glbopts.h']]], - ['scs_5fproblem_5fdata',['SCS_PROBLEM_DATA',['../struct_s_c_s___p_r_o_b_l_e_m___d_a_t_a.html',1,'']]], - ['scs_5fscaling',['SCS_SCALING',['../struct_s_c_s___s_c_a_l_i_n_g.html',1,'']]], - ['scs_5fsettings',['SCS_SETTINGS',['../struct_s_c_s___s_e_t_t_i_n_g_s.html',1,'']]], - ['scs_5fsigint',['SCS_SIGINT',['../constants_8h.html#a0d4e848eb3de81287e5e1c8fae2dab0a',1,'constants.h']]], - ['scs_5fsol_5fvars',['SCS_SOL_VARS',['../struct_s_c_s___s_o_l___v_a_r_s.html',1,'']]], - ['scs_5fsolved',['SCS_SOLVED',['../constants_8h.html#a0fcae593d880f4d9a0b21b188ba58094',1,'constants.h']]], - ['scs_5fsolved_5finaccurate',['SCS_SOLVED_INACCURATE',['../constants_8h.html#aaeed0781b1d882d591dd2b3acaefaa4c',1,'constants.h']]], - ['scs_5fspecial_5fprint',['scs_special_print',['../util_8h.html#ac9f0d915529f6a6c8171883495a318b5',1,'util.h']]], - ['scs_5funbounded',['SCS_UNBOUNDED',['../constants_8h.html#ac8c72aeee9bcd3f1ed58fcf99a76d01c',1,'constants.h']]], - ['scs_5funbounded_5finaccurate',['SCS_UNBOUNDED_INACCURATE',['../constants_8h.html#aa9926c8e5b23495ae9195e3c444c4b5a',1,'constants.h']]], - ['scs_5funfinished',['SCS_UNFINISHED',['../constants_8h.html#a97f7a5b842fd70105d97841fcd6ee680',1,'constants.h']]], - ['scs_5fversion',['scs_version',['../scs_8h.html#a43b8531ef2762feb762ead03d47ed0bf',1,'scs_version(void): scs.h'],['../constants_8h.html#abae8a893f5f047e479a6fdeea4cad79b',1,'SCS_VERSION(): constants.h']]], - ['scs_5fwork',['SCS_WORK',['../struct_s_c_s___w_o_r_k.html',1,'']]], - ['setasscaledarray',['setAsScaledArray',['../lin_alg_8h.html#a7bc6c39015996af314a81b1d1d7cc28c',1,'linAlg.h']]], - ['setdefaultsettings',['setDefaultSettings',['../util_8h.html#a9c38845e0bf8bb27d4c250bdddcb564b',1,'util.h']]], - ['settings',['Settings',['../glbopts_8h.html#a6ef430ee595f717434ba4b1e27d102d8',1,'glbopts.h']]], - ['setuptime',['setupTime',['../struct_s_c_s___i_n_f_o.html#a737206389622dc55e144f5c27a554069',1,'SCS_INFO']]], - ['sgn',['SGN',['../glbopts_8h.html#a95ed41486ca0ed53262e4b8934d4afac',1,'glbopts.h']]], - ['sigma',['sigma',['../struct_s_c_s___s_e_t_t_i_n_g_s.html#a127eed9b06de5903806821b4d6700c9a',1,'SCS_SETTINGS']]], - ['sigma_5fdefault',['SIGMA_DEFAULT',['../constants_8h.html#afd55fb832a832eb2a6e2fad361394a9f',1,'constants.h']]], - ['sk',['Sk',['../struct_s_c_s___w_o_r_k.html#a2fe0e4a3887a0a7ef034347ed0f6a065',1,'SCS_WORK']]], - ['socp_5fpage_2eh',['socp_page.h',['../socp__page_8h.html',1,'']]], - ['sol',['Sol',['../glbopts_8h.html#a4bfe3aa7b79eb224b6345a457985eb20',1,'glbopts.h']]], - ['solvelinsys',['solveLinSys',['../lin_sys_8h.html#aa97c8049f89347baeba6f207a9ae6d4b',1,'linSys.h']]], - ['solvetime',['solveTime',['../struct_s_c_s___i_n_f_o.html#a44176a047013546abef2b3a5935dfa97',1,'SCS_INFO']]], - ['sparse_5fmartrices_5fpage_2eh',['sparse_martrices_page.h',['../sparse__martrices__page_8h.html',1,'']]], - ['sqrtf',['SQRTF',['../glbopts_8h.html#a3b9d7d973bd11c5ad12d329c6ea8b308',1,'glbopts.h']]], - ['sse',['sse',['../struct_s_c_s___s_e_t_t_i_n_g_s.html#a5e40b12249d561d4d9d0846f357e2bd5',1,'SCS_SETTINGS']]], - ['sse_5fdefault',['SSE_DEFAULT',['../constants_8h.html#a4039008fa84311cac60d0bb6f8242652',1,'constants.h']]], - ['ssize',['ssize',['../struct_s_c_s___c_o_n_e.html#a5fe4cf9ee168d3bc8da9f2de4e78bbf3',1,'SCS_CONE']]], - ['startinterruptlistener',['startInterruptListener',['../ctrlc_8h.html#a1c8e1257fd1ea10595f53534a0fcb67a',1,'ctrlc.h']]], - ['status',['status',['../struct_s_c_s___i_n_f_o.html#abc302fcc962bd593b0db714fca6e2988',1,'SCS_INFO']]], - ['statusval',['statusVal',['../struct_s_c_s___i_n_f_o.html#aac2e43268116ffd134e5cb413e785b88',1,'SCS_INFO']]], - ['stepsize',['stepsize',['../struct_s_c_s___w_o_r_k.html#adbad4ed3fb42bf0d353cecf670ed7d65',1,'SCS_WORK']]], - ['stgs',['stgs',['../struct_s_c_s___w_o_r_k.html#a4720eccaeedaf5dbb54065fe1145db07',1,'SCS_WORK::stgs()'],['../struct_s_c_s___p_r_o_b_l_e_m___d_a_t_a.html#a4720eccaeedaf5dbb54065fe1145db07',1,'SCS_PROBLEM_DATA::stgs()']]], - ['strtoc',['strtoc',['../util_8h.html#ace2dfd43ca6dcafe55c6897e085130b8',1,'util.h']]], - ['subtractarray',['subtractArray',['../lin_alg_8h.html#a43cc14cc40e57a1a721b8b6a1351919a',1,'linAlg.h']]], - ['succeed',['SUCCEED',['../unit__test__util_8h.html#a753e9e46e51063c920e4a87668595062',1,'unit_test_util.h']]], - ['superscs_5fpage_2eh',['superscs_page.h',['../superscs__page_8h.html',1,'']]], - ['svd_5fworkspace_5fsize',['svd_workspace_size',['../lin_alg_8h.html#a828dbd449772c2510799287c680bf877',1,'linAlg.h']]], - ['svdls',['svdls',['../lin_alg_8h.html#aaa0850855615a4ee97d34ec009b4a265',1,'linAlg.h']]] + ['the_20superscs_20algorithm',['The SuperSCS Algorithm',['../page_superscs.html',1,'']]], + ['t',['t',['../structscs__direction__cache.html#a0263999d87f0cde289dc7dc095fd6b6a',1,'scs_direction_cache']]], + ['test_5ferror_5fmessage_5fsize',['TEST_ERROR_MESSAGE_SIZE',['../unit__test__util_8h.html#a15435cf77a4058915c7a6d607ac1d3fa',1,'unit_test_util.h']]], + ['test_5ffail_5fflag',['TEST_FAIL_FLAG',['../unit__test__util_8h.html#afd12dc8a84e178f81b33abb5e4da0d3b',1,'unit_test_util.h']]], + ['test_5ffailure',['TEST_FAILURE',['../unit__test__util_8h.html#a9170c32e7599282baefbe7a5ad27cf8d',1,'unit_test_util.h']]], + ['test_5fmessage_5fbuff_5fsize',['TEST_MESSAGE_BUFF_SIZE',['../unit__test__util_8h.html#a4d5a4b2c57e05f8714ade70bf0fdd136',1,'unit_test_util.h']]], + ['test_5fpass_5fflag',['TEST_PASS_FLAG',['../unit__test__util_8h.html#a913f2027b896460a4f04e48d714675b0',1,'unit_test_util.h']]], + ['test_5fsuccess',['TEST_SUCCESS',['../unit__test__util_8h.html#aee1dc5ecf95c68bc90ba502679668096',1,'unit_test_util.h']]], + ['thetabar',['thetabar',['../structscs__settings.html#ae93cafb315525e41c3ec244fbefe8adb',1,'scs_settings']]], + ['tic',['tic',['../structtimer.html#a3e17fd7a751005d94d13eca5cb9c1aae',1,'timer']]], + ['timer',['timer',['../structtimer.html',1,'timer'],['../util_8h.html#a30c945d813befeeeffa501ae4a589f03',1,'timer(): util.h']]], + ['toc',['toc',['../structtimer.html#a76ef24889d11b26ed279e5efa9a3ddb2',1,'timer']]], + ['total_5fcone_5ftime',['total_cone_time',['../structscs__cone__work.html#a8a8c48333ff3d970edd58f48ccd65b83',1,'scs_cone_work']]], + ['true',['true',['../unit__test__util_8h.html#a41f9c5fb8b08eb5dc3edce4dcb37fee7',1,'unit_test_util.h']]], + ['trule',['tRule',['../structscs__settings.html#aa8f330e597648194eee2f0123c912b35',1,'scs_settings']]] ]; diff --git a/docs/search/all_13.js b/docs/search/all_13.js index 9248ef041..186bc279f 100644 --- a/docs/search/all_13.js +++ b/docs/search/all_13.js @@ -1,21 +1,11 @@ var searchData= [ - ['the_20superscs_20algorithm',['The SuperSCS Algorithm',['../page_superscs.html',1,'']]], - ['t',['t',['../struct_s_c_s___d_i_r_e_c_t_i_o_n___m_e_m_o_r_y.html#a0263999d87f0cde289dc7dc095fd6b6a',1,'SCS_DIRECTION_MEMORY']]], - ['tau',['tau',['../structresiduals.html#a8db9d48e32f599dd4667ff53620b3be4',1,'residuals']]], - ['test',['test',['../unit__test__util_8h.html#a45e60e5868860356aa5ccaced52074f5',1,'unit_test_util.h']]], - ['test_5ffail_5fflag',['TEST_FAIL_FLAG',['../unit__test__util_8h.html#afd12dc8a84e178f81b33abb5e4da0d3b',1,'unit_test_util.h']]], - ['test_5ffailure',['TEST_FAILURE',['../unit__test__util_8h.html#a9170c32e7599282baefbe7a5ad27cf8d',1,'unit_test_util.h']]], - ['test_5fpass_5fflag',['TEST_PASS_FLAG',['../unit__test__util_8h.html#a913f2027b896460a4f04e48d714675b0',1,'unit_test_util.h']]], - ['test_5fsuccess',['TEST_SUCCESS',['../unit__test__util_8h.html#aee1dc5ecf95c68bc90ba502679668096',1,'unit_test_util.h']]], - ['thetabar',['thetabar',['../struct_s_c_s___s_e_t_t_i_n_g_s.html#ae93cafb315525e41c3ec244fbefe8adb',1,'SCS_SETTINGS']]], - ['thetabar_5fdefault',['THETABAR_DEFAULT',['../constants_8h.html#a97f4315e53f2321920f7a05902429e9e',1,'constants.h']]], - ['tic',['tic',['../structtimer.html#a3e17fd7a751005d94d13eca5cb9c1aae',1,'timer::tic()'],['../util_8h.html#a9f503d29b96333dfc0c9744d922b9c6c',1,'tic(): util.h']]], - ['timer',['timer',['../structtimer.html',1,'timer'],['../util_8h.html#a30c945d813befeeeffa501ae4a589f03',1,'timer(): util.h']]], - ['toc',['toc',['../structtimer.html#a76ef24889d11b26ed279e5efa9a3ddb2',1,'timer::toc()'],['../util_8h.html#ac97aceb18a9cc6569e8c9256f3814b82',1,'toc(): util.h']]], - ['tocq',['tocq',['../util_8h.html#a46dee8cdde9adf87bc67b9d8f11887d9',1,'util.h']]], - ['totalconetime',['totalConeTime',['../struct_cone_work.html#a08b74cc65c59296dd7dc5b1cdcec2804',1,'ConeWork']]], - ['true',['true',['../unit__test__util_8h.html#a41f9c5fb8b08eb5dc3edce4dcb37fee7',1,'unit_test_util.h']]], - ['trule',['tRule',['../struct_s_c_s___s_e_t_t_i_n_g_s.html#aa8f330e597648194eee2f0123c912b35',1,'SCS_SETTINGS']]], - ['trule_5fdefault',['TRULE_DEFAULT',['../constants_8h.html#a968cbe151de08dc769fbc9bf38a08a90',1,'constants.h']]] + ['using_20superscs',['Using SuperSCS',['../page_doc.html',1,'']]], + ['u',['u',['../structscs__work.html#aeb5952c928bf91032939fad97f5e56a0',1,'scs_work::u()'],['../structscs__direction__cache.html#aef122c98ef52d8ebd05a2c09481d270d',1,'scs_direction_cache::U()']]], + ['u_5fb',['u_b',['../structscs__work.html#aaa07abe6adc746a999c700b05a6a1dbd',1,'scs_work']]], + ['u_5fprev',['u_prev',['../structscs__work.html#a488195f939d71c717cce08fcb1b498f3',1,'scs_work']]], + ['u_5ft',['u_t',['../structscs__work.html#af91facdec06cd0d52ed14ae30c255b5f',1,'scs_work']]], + ['unit_5ftest_5futil_2eh',['unit_test_util.h',['../unit__test__util_8h.html',1,'']]], + ['unittest_5ft',['unitTest_t',['../unit__test__util_8h.html#aa05ea886b98b070bbb438be664cf4ddb',1,'unit_test_util.h']]], + ['util_2eh',['util.h',['../util_8h.html',1,'']]] ]; diff --git a/docs/search/all_14.js b/docs/search/all_14.js index ebc976ab6..fac19170e 100644 --- a/docs/search/all_14.js +++ b/docs/search/all_14.js @@ -1,13 +1,5 @@ var searchData= [ - ['using_20superscs',['Using SuperSCS',['../page_doc.html',1,'']]], - ['u',['u',['../struct_s_c_s___w_o_r_k.html#aeb5952c928bf91032939fad97f5e56a0',1,'SCS_WORK::u()'],['../struct_s_c_s___d_i_r_e_c_t_i_o_n___m_e_m_o_r_y.html#aef122c98ef52d8ebd05a2c09481d270d',1,'SCS_DIRECTION_MEMORY::U()']]], - ['u_5fb',['u_b',['../struct_s_c_s___w_o_r_k.html#aaa07abe6adc746a999c700b05a6a1dbd',1,'SCS_WORK']]], - ['u_5fprev',['u_prev',['../struct_s_c_s___w_o_r_k.html#a488195f939d71c717cce08fcb1b498f3',1,'SCS_WORK']]], - ['u_5ft',['u_t',['../struct_s_c_s___w_o_r_k.html#af91facdec06cd0d52ed14ae30c255b5f',1,'SCS_WORK']]], - ['unit_5ftest_5futil_2eh',['unit_test_util.h',['../unit__test__util_8h.html',1,'']]], - ['unittest_5ft',['unitTest_t',['../unit__test__util_8h.html#aa05ea886b98b070bbb438be664cf4ddb',1,'unit_test_util.h']]], - ['unnormalizea',['unNormalizeA',['../lin_sys_8h.html#adb35cd0196da9710f0d8b18b749e30df',1,'linSys.h']]], - ['unnormalizesol',['unNormalizeSol',['../normalize_8h.html#a7961bb8da438cbed83744fd9d55c5c99',1,'normalize.h']]], - ['util_2eh',['util.h',['../util_8h.html',1,'']]] + ['v',['v',['../structscs__work.html#a369cedd4fff9a004af2240b57aaa0f2f',1,'scs_work']]], + ['verbose',['verbose',['../structscs__settings.html#a1b32fd02f88434dd3c98a89ff0c8b88c',1,'scs_settings']]] ]; diff --git a/docs/search/all_15.js b/docs/search/all_15.js index 707fba55a..15975592d 100644 --- a/docs/search/all_15.js +++ b/docs/search/all_15.js @@ -1,8 +1,9 @@ var searchData= [ - ['v',['v',['../struct_s_c_s___w_o_r_k.html#a369cedd4fff9a004af2240b57aaa0f2f',1,'SCS_WORK']]], - ['validatecones',['validateCones',['../cones_8h.html#ad66d5ff223256d39fc91413faaae6ff3',1,'cones.h']]], - ['validatelinsys',['validateLinSys',['../lin_sys_8h.html#a186e2f63c4ede61e16dd37a6aa452bf3',1,'linSys.h']]], - ['verbose',['verbose',['../struct_s_c_s___s_e_t_t_i_n_g_s.html#a1b32fd02f88434dd3c98a89ff0c8b88c',1,'SCS_SETTINGS']]], - ['verbose_5fdefault',['VERBOSE_DEFAULT',['../constants_8h.html#acfb2dc92f18fa9073cb6c1d29b390580',1,'constants.h']]] + ['warm_20starting',['Warm Starting',['../page_warm_starting.html',1,'']]], + ['warm_5fstart',['warm_start',['../structscs__settings.html#aead03c71e10ff6b514bb17ab5b9935c0',1,'scs_settings']]], + ['warm_5fstarting_5fpage_2eh',['warm_starting_page.h',['../warm__starting__page_8h.html',1,'']]], + ['wu',['wu',['../structscs__work.html#a0b92f8bfc356b0e272272523fa3b7ffd',1,'scs_work']]], + ['wu_5fb',['wu_b',['../structscs__work.html#a326e744daa31bdcb9fe7fbf36c7951f8',1,'scs_work']]], + ['wu_5ft',['wu_t',['../structscs__work.html#a7dec961a20bd76e0c4790f6842b2f6d6',1,'scs_work']]] ]; diff --git a/docs/search/all_16.js b/docs/search/all_16.js index 32e54758b..6ecce95d0 100644 --- a/docs/search/all_16.js +++ b/docs/search/all_16.js @@ -1,11 +1,4 @@ var searchData= [ - ['warm_20starting',['Warm Starting',['../page_warm_starting.html',1,'']]], - ['warm_5fstart',['warm_start',['../struct_s_c_s___s_e_t_t_i_n_g_s.html#aead03c71e10ff6b514bb17ab5b9935c0',1,'SCS_SETTINGS']]], - ['warm_5fstart_5fdefault',['WARM_START_DEFAULT',['../constants_8h.html#a5539385d64c66472bbcdf0602f475d98',1,'constants.h']]], - ['warm_5fstarting_5fpage_2eh',['warm_starting_page.h',['../warm__starting__page_8h.html',1,'']]], - ['work',['Work',['../glbopts_8h.html#aa6b66a92ab6f62bce1f24a0e358dac55',1,'glbopts.h']]], - ['wu',['wu',['../struct_s_c_s___w_o_r_k.html#a0b92f8bfc356b0e272272523fa3b7ffd',1,'SCS_WORK']]], - ['wu_5fb',['wu_b',['../struct_s_c_s___w_o_r_k.html#a326e744daa31bdcb9fe7fbf36c7951f8',1,'SCS_WORK']]], - ['wu_5ft',['wu_t',['../struct_s_c_s___w_o_r_k.html#a7dec961a20bd76e0c4790f6842b2f6d6',1,'SCS_WORK']]] + ['x',['x',['../structscs__cs__sparse.html#a6ddc07d9e8387207c2bfa3fcac466d80',1,'scs_cs_sparse::x()'],['../structscs__solution.html#a7e74ec5c2354f5c03eae6c312c879bf1',1,'scs_solution::x()'],['../structscs__a__data__matrix.html#a6ddc07d9e8387207c2bfa3fcac466d80',1,'scs_a_data_matrix::x()']]] ]; diff --git a/docs/search/all_17.js b/docs/search/all_17.js index c2925afaa..408d460b1 100644 --- a/docs/search/all_17.js +++ b/docs/search/all_17.js @@ -1,4 +1,6 @@ var searchData= [ - ['x',['x',['../structcs__sparse.html#a6ddc07d9e8387207c2bfa3fcac466d80',1,'cs_sparse::x()'],['../struct_s_c_s___s_o_l___v_a_r_s.html#a7e74ec5c2354f5c03eae6c312c879bf1',1,'SCS_SOL_VARS::x()'],['../struct_a___d_a_t_a___m_a_t_r_i_x.html#a6ddc07d9e8387207c2bfa3fcac466d80',1,'A_DATA_MATRIX::x()']]] + ['y',['y',['../structscs__solution.html#ab1823fed3a2711df130c327421e34f85',1,'scs_solution']]], + ['yamlversion',['yamlVersion',['../structscs__conic__probem__metadata.html#ab9fa10624541cc95122b0eefc6bacaa1',1,'scs_conic_probem_metadata']]], + ['yk',['Yk',['../structscs__work.html#a5958f17a61f197197f22219e91fa5adb',1,'scs_work']]] ]; diff --git a/docs/search/all_2.js b/docs/search/all_2.js index 63a282293..7e457af41 100644 --- a/docs/search/all_2.js +++ b/docs/search/all_2.js @@ -1,13 +1,19 @@ var searchData= [ - ['b',['b',['../struct_s_c_s___w_o_r_k.html#ae35336dc13ee1174b965e64b3103e4c9',1,'SCS_WORK::b()'],['../struct_s_c_s___p_r_o_b_l_e_m___d_a_t_a.html#ae35336dc13ee1174b965e64b3103e4c9',1,'SCS_PROBLEM_DATA::b()']]], - ['basic_5fdoc_5fpage_2eh',['basic_doc_page.h',['../basic__doc__page_8h.html',1,'']]], - ['benchmarks_5fpage_2eh',['benchmarks_page.h',['../benchmarks__page_8h.html',1,'']]], - ['beta',['beta',['../struct_s_c_s___s_e_t_t_i_n_g_s.html#a1d727f9f7c565414e082d108103e4e90',1,'SCS_SETTINGS']]], - ['beta_5fdefault',['BETA_DEFAULT',['../constants_8h.html#a087bc4c9c52ecc1f5efa6b70dc47d616',1,'constants.h']]], - ['bool',['bool',['../unit__test__util_8h.html#a1062901a7428fdd9c7f180f5e01ea056',1,'unit_test_util.h']]], - ['broyden_5finit_5fscaling',['broyden_init_scaling',['../struct_s_c_s___s_e_t_t_i_n_g_s.html#ad1f6c0aefeb9075eecdf487931d3143e',1,'SCS_SETTINGS']]], - ['broyden_5fiscale_5fdefault',['BROYDEN_ISCALE_DEFAULT',['../constants_8h.html#aae313794deca7e062aadbf366d3c6ce2',1,'constants.h']]], - ['bty_5fby_5ftau',['bTy_by_tau',['../structresiduals.html#a56cabadf74bdad3ec8cb1be9cb00e751',1,'residuals']]], - ['benchmarks',['Benchmarks',['../page_benchmark_results.html',1,'']]] + ['c',['c',['../structscs__work.html#a7fd06fce11863aeefd9e66a65ea536c1',1,'scs_work::c()'],['../structscs__data.html#a7fd06fce11863aeefd9e66a65ea536c1',1,'scs_data::c()']]], + ['c1',['c1',['../structscs__settings.html#a6064471d0a6b6ec48a214bc657a8ba3c',1,'scs_settings']]], + ['c_5fbl',['c_bl',['../structscs__settings.html#a71a973dd8f00869515b2a98630106a7f',1,'scs_settings']]], + ['cg_5frate',['cg_rate',['../structscs__settings.html#a5f3fd9e7bc415317bc8053056e677a73',1,'scs_settings']]], + ['cones_2eh',['cones.h',['../cones_8h.html',1,'']]], + ['cones_5fpage_2eh',['cones_page.h',['../cones__page_8h.html',1,'']]], + ['conework',['coneWork',['../structscs__work.html#a6d76e0d65bdcf6c6ffa3113ad14d8f90',1,'scs_work']]], + ['constants_2eh',['constants.h',['../constants_8h.html',1,'']]], + ['contributing_5fpage_2eh',['contributing_page.h',['../contributing__page_8h.html',1,'']]], + ['creator',['creator',['../structscs__conic__probem__metadata.html#a8ace924737d603467b3edfd2552da62d',1,'scs_conic_probem_metadata']]], + ['cs_2eh',['cs.h',['../cs_8h.html',1,'']]], + ['ctrlc_2eh',['ctrlc.h',['../ctrlc_8h.html',1,'']]], + ['current_5fmem',['current_mem',['../structscs__direction__cache.html#ab8a84df21606f9441c0765ad92f9e54d',1,'scs_direction_cache']]], + ['cvx_5fexamples_5fpage_2eh',['cvx_examples_page.h',['../cvx__examples__page_8h.html',1,'']]], + ['cones',['Cones',['../page_cones.html',1,'']]], + ['contributing_20to_20superscs',['Contributing to SuperSCS',['../page_contributing.html',1,'']]] ]; diff --git a/docs/search/all_3.js b/docs/search/all_3.js index 084307f16..73612b37e 100644 --- a/docs/search/all_3.js +++ b/docs/search/all_3.js @@ -1,42 +1,18 @@ var searchData= [ - ['c',['c',['../struct_s_c_s___w_o_r_k.html#a7fd06fce11863aeefd9e66a65ea536c1',1,'SCS_WORK::c()'],['../struct_s_c_s___p_r_o_b_l_e_m___d_a_t_a.html#a6aeec1b154ed043af7e4bf97472beb06',1,'SCS_PROBLEM_DATA::c()']]], - ['c1',['c1',['../struct_s_c_s___s_e_t_t_i_n_g_s.html#a6064471d0a6b6ec48a214bc657a8ba3c',1,'SCS_SETTINGS']]], - ['c1_5fdefault',['C1_DEFAULT',['../constants_8h.html#ab3d4d87eb3dfedc1513af670d6335e0f',1,'constants.h']]], - ['c_5fbl',['c_bl',['../struct_s_c_s___s_e_t_t_i_n_g_s.html#a71a973dd8f00869515b2a98630106a7f',1,'SCS_SETTINGS']]], - ['c_5fbl_5fdefault',['C_BL_DEFAULT',['../constants_8h.html#aefda88f973e2bb010db04f329ff67edf',1,'constants.h']]], - ['calcnorm',['calcNorm',['../lin_alg_8h.html#a170c54451cb6c939f9c628321a211f1d',1,'linAlg.h']]], - ['calcnormdiff',['calcNormDiff',['../lin_alg_8h.html#a1a4af01354eed38846380422eeefb38a',1,'linAlg.h']]], - ['calcnorminf',['calcNormInf',['../lin_alg_8h.html#a3cf7b32d0c1c847ebb835e0785e25516',1,'linAlg.h']]], - ['calcnorminfdiff',['calcNormInfDiff',['../lin_alg_8h.html#ac733780a633e8b2c9c2fbe291f03f954',1,'linAlg.h']]], - ['calcnormsq',['calcNormSq',['../lin_alg_8h.html#a134c73f43462335d43f997bc4a14993a',1,'linAlg.h']]], - ['calcscaledresids',['calcScaledResids',['../normalize_8h.html#ada32f0fb38e673f9519c3dd786c00b74',1,'normalize.h']]], - ['cg_5frate',['cg_rate',['../struct_s_c_s___s_e_t_t_i_n_g_s.html#a5f3fd9e7bc415317bc8053056e677a73',1,'SCS_SETTINGS']]], - ['cg_5frate_5fdefault',['CG_RATE_DEFAULT',['../constants_8h.html#a41d7a05e8404d764ff783b4868c890c5',1,'constants.h']]], - ['cgls',['cgls',['../lin_alg_8h.html#a6045b4ab0ad3f5db6867820a030006c2',1,'linAlg.h']]], - ['cgls_5fmalloc_5fworkspace',['cgls_malloc_workspace',['../lin_alg_8h.html#acb33e7aa8dbcb4570b00458af815872f',1,'linAlg.h']]], - ['computeandersondirection',['computeAndersonDirection',['../directions_8h.html#ad1f8311d9c221468083de7cd745f8544',1,'directions.h']]], - ['computedirection',['computeDirection',['../directions_8h.html#ae383bf0510b0a674e0e4f185c8b4e953',1,'directions.h']]], - ['computefullbroyden',['computeFullBroyden',['../directions_8h.html#ae3a1f9f6bfa092b7f6ee2fa13dffedea',1,'directions.h']]], - ['computelsbroyden',['computeLSBroyden',['../directions_8h.html#a13920d82d3267564ab3e659a25608941',1,'directions.h']]], - ['cone',['Cone',['../glbopts_8h.html#a349e2c420ebc99cfdd732dc952a98182',1,'glbopts.h']]], - ['cones_2eh',['cones.h',['../cones_8h.html',1,'']]], - ['cones_5fpage_2eh',['cones_page.h',['../cones__page_8h.html',1,'']]], - ['conework',['ConeWork',['../struct_cone_work.html',1,'ConeWork'],['../struct_s_c_s___w_o_r_k.html#a28a09267f3337aa53231a93172a29169',1,'SCS_WORK::coneWork()']]], - ['constants_2eh',['constants.h',['../constants_8h.html',1,'']]], - ['cs',['cs',['../cs_8h.html#a44e471a015cf32e012cffef17e81b6db',1,'cs.h']]], - ['cs_2eh',['cs.h',['../cs_8h.html',1,'']]], - ['cs_5fcompress',['cs_compress',['../cs_8h.html#a917a026613fc4f26e5c5c1b8ce2f8389',1,'cs.h']]], - ['cs_5fcumsum',['cs_cumsum',['../cs_8h.html#ae159ec945518591b1ffc831a07c0c063',1,'cs.h']]], - ['cs_5fdone',['cs_done',['../cs_8h.html#a21acf55a6e9215e0fe19c3e49503e121',1,'cs.h']]], - ['cs_5fpinv',['cs_pinv',['../cs_8h.html#aa2048f58da40252fa0cd74cd26a5814b',1,'cs.h']]], - ['cs_5fspalloc',['cs_spalloc',['../cs_8h.html#a48e1853a1859ac587f0ad8c8be48a1d2',1,'cs.h']]], - ['cs_5fsparse',['cs_sparse',['../structcs__sparse.html',1,'']]], - ['cs_5fspfree',['cs_spfree',['../cs_8h.html#a6d705e404a7831ccf01bc0ea064215b9',1,'cs.h']]], - ['cs_5fsymperm',['cs_symperm',['../cs_8h.html#a08e2f4688ac64196e0866cdb996afc3d',1,'cs.h']]], - ['ctrlc_2eh',['ctrlc.h',['../ctrlc_8h.html',1,'']]], - ['ctx_5fby_5ftau',['cTx_by_tau',['../structresiduals.html#aefd4c0f8a288390996e6c7dd372f9efc',1,'residuals']]], - ['current_5fmem',['current_mem',['../struct_s_c_s___d_i_r_e_c_t_i_o_n___m_e_m_o_r_y.html#ab8a84df21606f9441c0765ad92f9e54d',1,'SCS_DIRECTION_MEMORY']]], - ['cvx_5fexamples_5fpage_2eh',['cvx_examples_page.h',['../cvx__examples__page_8h.html',1,'']]], - ['cones',['Cones',['../page_cones.html',1,'']]] + ['d',['D',['../structscs__scaling.html#ac8cabc19fa16fe064369105a3ec32358',1,'scs_scaling']]], + ['date',['date',['../structscs__conic__probem__metadata.html#a32936d7154766b4ba6eca570563bad46',1,'scs_conic_probem_metadata']]], + ['dir',['dir',['../structscs__work.html#a33ba61a73a482443c04e09a0009985bb',1,'scs_work']]], + ['direction',['direction',['../structscs__settings.html#a00f74794e516850d0b0b8c344e122361',1,'scs_settings']]], + ['direction_5fcache',['direction_cache',['../structscs__work.html#a079b7160beb20b51d3043abfab786156',1,'scs_work']]], + ['direction_5fenum',['direction_enum',['../glbopts_8h.html#ae846c6457f3d41c69f5f313e396f9f4c',1,'glbopts.h']]], + ['directions_2eh',['directions.h',['../directions_8h.html',1,'']]], + ['directions_5fpage_2eh',['directions_page.h',['../directions__page_8h.html',1,'']]], + ['do_5foverride_5fstreams',['do_override_streams',['../structscs__settings.html#a10b2cc1a58533111b8acfa25539056dc',1,'scs_settings']]], + ['do_5frecord_5fprogress',['do_record_progress',['../structscs__settings.html#a8cffc52e994430a67229d27145a5750d',1,'scs_settings']]], + ['do_5fsuper_5fscs',['do_super_scs',['../structscs__settings.html#a89aaf17bb454952ab43f9ca72cae3ff8',1,'scs_settings']]], + ['dobj',['dobj',['../structscs__info.html#afe1d6c544ac818bf3c61888342b6e398',1,'scs_info']]], + ['dr',['dr',['../structscs__work.html#a3796978319910bac763f65d392b04cfe',1,'scs_work']]], + ['dut',['dut',['../structscs__work.html#af4998e3040bd799db1c99bc65892dbaa',1,'scs_work']]], + ['directions',['Directions',['../page_directions.html',1,'']]] ]; diff --git a/docs/search/all_4.js b/docs/search/all_4.js index 5a047f3c3..b16383a98 100644 --- a/docs/search/all_4.js +++ b/docs/search/all_4.js @@ -1,29 +1,10 @@ var searchData= [ - ['d',['D',['../struct_s_c_s___s_c_a_l_i_n_g.html#ac8cabc19fa16fe064369105a3ec32358',1,'SCS_SCALING']]], - ['data',['Data',['../glbopts_8h.html#a4de8ea3f0fb0078e1829f2727d4771ed',1,'glbopts.h']]], - ['debug_5ffunc',['DEBUG_FUNC',['../glbopts_8h.html#a94c324ab9e9283e9ec9324baf52f8a71',1,'glbopts.h']]], - ['delta_5fdefault',['DELTA_DEFAULT',['../constants_8h.html#a137adea204afdbc5eb7e812ed2c84caf',1,'constants.h']]], - ['dir',['dir',['../struct_s_c_s___w_o_r_k.html#a33ba61a73a482443c04e09a0009985bb',1,'SCS_WORK']]], - ['direction',['direction',['../struct_s_c_s___s_e_t_t_i_n_g_s.html#a52ba1d15f1faad0c99cf86ad42ef1285',1,'SCS_SETTINGS']]], - ['direction_5fcache',['direction_cache',['../struct_s_c_s___w_o_r_k.html#ab16b6298f0c4e4c881cab7f9476e9f95',1,'SCS_WORK']]], - ['direction_5fcache_5fincrement',['DIRECTION_CACHE_INCREMENT',['../directions_8h.html#a821555f98e104f32b8f3c9ad15dfd3b1',1,'directions.h']]], - ['direction_5fcache_5freset',['DIRECTION_CACHE_RESET',['../directions_8h.html#acad4544b7cdfb1bf83c075f5fe84fbf9',1,'directions.h']]], - ['direction_5fdefault',['DIRECTION_DEFAULT',['../constants_8h.html#a339622aa4eb741c32c8f6739e690e5b5',1,'constants.h']]], - ['direction_5fenum',['direction_enum',['../glbopts_8h.html#ae846c6457f3d41c69f5f313e396f9f4c',1,'glbopts.h']]], - ['direction_5ferror',['DIRECTION_ERROR',['../directions_8h.html#a3d952ccde2f2c145d3d0dfa423add90d',1,'directions.h']]], - ['direction_5fsuccess',['DIRECTION_SUCCESS',['../directions_8h.html#abf32d7fe965a3767ba72bea789bf9f4b',1,'directions.h']]], - ['direction_5ftype',['direction_type',['../glbopts_8h.html#a2abf62b7d5a79be54f18723e9d65f06c',1,'glbopts.h']]], - ['directioncache',['DirectionCache',['../glbopts_8h.html#a0c79e97461bfe633a7623119f0e78354',1,'glbopts.h']]], - ['directions_2eh',['directions.h',['../directions_8h.html',1,'']]], - ['directions_5fpage_2eh',['directions_page.h',['../directions__page_8h.html',1,'']]], - ['do_5foverride_5fstreams',['do_override_streams',['../struct_s_c_s___s_e_t_t_i_n_g_s.html#a10b2cc1a58533111b8acfa25539056dc',1,'SCS_SETTINGS']]], - ['do_5frecord_5fprogress',['do_record_progress',['../struct_s_c_s___s_e_t_t_i_n_g_s.html#a8cffc52e994430a67229d27145a5750d',1,'SCS_SETTINGS']]], - ['do_5frecord_5fprogress_5fdefault',['DO_RECORD_PROGRESS_DEFAULT',['../constants_8h.html#a228c7b6572fc72aeb3f9d30033d00176',1,'constants.h']]], - ['do_5fsuper_5fscs',['do_super_scs',['../struct_s_c_s___s_e_t_t_i_n_g_s.html#a89aaf17bb454952ab43f9ca72cae3ff8',1,'SCS_SETTINGS']]], - ['do_5fsuperscs_5fdefault',['DO_SUPERSCS_DEFAULT',['../constants_8h.html#a9bec2fb4fa5418586191e4119590813d',1,'constants.h']]], - ['dobj',['dobj',['../struct_s_c_s___i_n_f_o.html#afe1d6c544ac818bf3c61888342b6e398',1,'SCS_INFO']]], - ['dr',['dr',['../struct_s_c_s___w_o_r_k.html#a3796978319910bac763f65d392b04cfe',1,'SCS_WORK']]], - ['dut',['dut',['../struct_s_c_s___w_o_r_k.html#af4998e3040bd799db1c99bc65892dbaa',1,'SCS_WORK']]], - ['directions',['Directions',['../page_directions.html',1,'']]] + ['e',['E',['../structscs__scaling.html#a90d7b32e8ef94fac74fff3d4a5f428a8',1,'scs_scaling']]], + ['ed',['ed',['../structscs__cone.html#a4bd9217c9273d8eda762a197abf09e32',1,'scs_cone']]], + ['endinterruptlistener',['endInterruptListener',['../ctrlc_8h.html#a5eabeaa567307658147090de2ba1b619',1,'ctrlc.h']]], + ['ep',['ep',['../structscs__cone.html#af911d93e3da10518c57e0efbdc8354ae',1,'scs_cone']]], + ['eps',['eps',['../structscs__settings.html#a72dec01083dfcb3d60bb16207d2d5d96',1,'scs_settings']]], + ['examples_20in_20cvx_20matlab',['Examples in CVX MATLAB',['../page_cvx_examples.html',1,'']]], + ['examples_20in_20c',['Examples in C',['../page_socp.html',1,'']]] ]; diff --git a/docs/search/all_5.js b/docs/search/all_5.js index 52d410631..0e36aaad2 100644 --- a/docs/search/all_5.js +++ b/docs/search/all_5.js @@ -1,11 +1,8 @@ var searchData= [ - ['e',['E',['../struct_s_c_s___s_c_a_l_i_n_g.html#a90d7b32e8ef94fac74fff3d4a5f428a8',1,'SCS_SCALING']]], - ['ed',['ed',['../struct_s_c_s___c_o_n_e.html#a4bd9217c9273d8eda762a197abf09e32',1,'SCS_CONE']]], - ['endinterruptlistener',['endInterruptListener',['../ctrlc_8h.html#a5eabeaa567307658147090de2ba1b619',1,'ctrlc.h']]], - ['ep',['ep',['../struct_s_c_s___c_o_n_e.html#af911d93e3da10518c57e0efbdc8354ae',1,'SCS_CONE']]], - ['eps',['eps',['../struct_s_c_s___s_e_t_t_i_n_g_s.html#a72dec01083dfcb3d60bb16207d2d5d96',1,'SCS_SETTINGS']]], - ['eps_5fdefault',['EPS_DEFAULT',['../constants_8h.html#adabcf41a01721e261f80b9cdcb309481',1,'constants.h']]], - ['examples_20in_20cvx_20matlab',['Examples in CVX MATLAB',['../page_cvx_examples.html',1,'']]], - ['examples_20in_20c',['Examples in C',['../page_socp.html',1,'']]] + ['f',['f',['../structscs__cone.html#a754d2330e3b32c549d2f1cff19b7aa94',1,'scs_cone']]], + ['fail_5fwith_5fmessage',['FAIL_WITH_MESSAGE',['../unit__test__util_8h.html#a7dab15b9b82a55f28a3d3dd6f4b523ac',1,'unit_test_util.h']]], + ['false',['false',['../unit__test__util_8h.html#a65e9886d74aaee76545e83dd09011727',1,'unit_test_util.h']]], + ['fixed_5fpoint_5fresidual',['fixed_point_residual',['../glbopts_8h.html#ae846c6457f3d41c69f5f313e396f9f4ca5994baddc7538e34154c5249c9ea3b35',1,'glbopts.h']]], + ['full_5fbroyden',['full_broyden',['../glbopts_8h.html#ae846c6457f3d41c69f5f313e396f9f4caf8730db88bbcaa3400fdcffe07cbcb26',1,'glbopts.h']]] ]; diff --git a/docs/search/all_6.js b/docs/search/all_6.js index f7e087123..c9736af7a 100644 --- a/docs/search/all_6.js +++ b/docs/search/all_6.js @@ -1,16 +1,7 @@ var searchData= [ - ['f',['f',['../struct_s_c_s___c_o_n_e.html#a754d2330e3b32c549d2f1cff19b7aa94',1,'SCS_CONE']]], - ['fail_5fwith_5fmessage',['FAIL_WITH_MESSAGE',['../unit__test__util_8h.html#a7dab15b9b82a55f28a3d3dd6f4b523ac',1,'unit_test_util.h']]], - ['false',['false',['../unit__test__util_8h.html#a65e9886d74aaee76545e83dd09011727',1,'unit_test_util.h']]], - ['finishcone',['finishCone',['../cones_8h.html#abb63366f13d0dea0bf4fc9c8991d9b99',1,'cones.h']]], - ['fixed_5fpoint_5fresidual',['fixed_point_residual',['../glbopts_8h.html#ae846c6457f3d41c69f5f313e396f9f4ca5994baddc7538e34154c5249c9ea3b35',1,'glbopts.h']]], - ['freeamatrix',['freeAMatrix',['../lin_sys_8h.html#a79e4d64a1c53379d6b6ae529b9fb863a',1,'linSys.h']]], - ['freedata',['freeData',['../util_8h.html#a7ca275feae5124e8551fd978a3e02084',1,'util.h']]], - ['freefullbroyden',['freeFullBroyden',['../directions_8h.html#a0cb56b12e359b4f02f047ffe60d256bd',1,'directions.h']]], - ['freeinfo',['freeInfo',['../util_8h.html#aee83f79e420189d5e84be43af3ff0c2c',1,'util.h']]], - ['freepriv',['freePriv',['../lin_sys_8h.html#a05f0e7047b5d6e76e77d1ce31ca51665',1,'linSys.h']]], - ['freesol',['freeSol',['../util_8h.html#a903bcd8f21255820f4d53fbd9b246bf2',1,'util.h']]], - ['fromyaml',['fromYAML',['../scs_8h.html#aeac5567312c875ec678a875a71bd92e9',1,'scs.h']]], - ['full_5fbroyden',['full_broyden',['../glbopts_8h.html#ae846c6457f3d41c69f5f313e396f9f4caf8730db88bbcaa3400fdcffe07cbcb26',1,'glbopts.h']]] + ['g',['g',['../structscs__work.html#a83e17d38fa5da6fa4f226236a0442f7f',1,'scs_work']]], + ['getlinsyssummary',['getLinSysSummary',['../lin_sys_8h.html#aa403bac9313a551de97976a7124f175f',1,'linSys.h']]], + ['glbopts_2eh',['glbopts.h',['../glbopts_8h.html',1,'']]], + ['gth',['gTh',['../structscs__work.html#afa56bb20d56b1f8c7329e66db8a6e51e',1,'scs_work']]] ]; diff --git a/docs/search/all_7.js b/docs/search/all_7.js index eb5a8f207..6448d6ee2 100644 --- a/docs/search/all_7.js +++ b/docs/search/all_7.js @@ -1,11 +1,5 @@ var searchData= [ - ['g',['g',['../struct_s_c_s___w_o_r_k.html#a83e17d38fa5da6fa4f226236a0442f7f',1,'SCS_WORK']]], - ['getconeboundaries',['getConeBoundaries',['../cones_8h.html#a561671a05ad6b412d89b03826a1fc3dd',1,'cones.h']]], - ['getconeheader',['getConeHeader',['../cones_8h.html#ae6ed7d7636c5c88e06ca0e27dc74269e',1,'cones.h']]], - ['getconesummary',['getConeSummary',['../cones_8h.html#a1f5ccd53f0b7e6d2d8ecc05dfe09ba8c',1,'cones.h']]], - ['getlinsysmethod',['getLinSysMethod',['../lin_sys_8h.html#adf0a8a95a317099972c2aa1995f2ea2e',1,'linSys.h']]], - ['getlinsyssummary',['getLinSysSummary',['../lin_sys_8h.html#a808516dfaa30877d07d04739ce29eef2',1,'linSys.h']]], - ['glbopts_2eh',['glbopts.h',['../glbopts_8h.html',1,'']]], - ['gth',['gTh',['../struct_s_c_s___w_o_r_k.html#afa56bb20d56b1f8c7329e66db8a6e51e',1,'SCS_WORK']]] + ['h',['h',['../structscs__work.html#a5d7ca201f455271f37f116909666fa2a',1,'scs_work::h()'],['../structscs__work.html#a021b1bf8be3697f00e75ae161c2e1cf6',1,'scs_work::H()']]], + ['history_5flength',['history_length',['../structscs__info.html#a5dfb720759d0a2cc25aeca6de76bae16',1,'scs_info']]] ]; diff --git a/docs/search/all_8.js b/docs/search/all_8.js index b470312e7..810687998 100644 --- a/docs/search/all_8.js +++ b/docs/search/all_8.js @@ -1,5 +1,10 @@ var searchData= [ - ['h',['h',['../struct_s_c_s___w_o_r_k.html#a5d7ca201f455271f37f116909666fa2a',1,'SCS_WORK::h()'],['../struct_s_c_s___w_o_r_k.html#a021b1bf8be3697f00e75ae161c2e1cf6',1,'SCS_WORK::H()']]], - ['history_5flength',['history_length',['../struct_s_c_s___i_n_f_o.html#a5dfb720759d0a2cc25aeca6de76bae16',1,'SCS_INFO']]] + ['i',['i',['../structscs__cs__sparse.html#a1f7dbbbbd21533a7effe950c175e31e1',1,'scs_cs_sparse::i()'],['../structscs__a__data__matrix.html#a1f7dbbbbd21533a7effe950c175e31e1',1,'scs_a_data_matrix::i()']]], + ['id',['id',['../structscs__conic__probem__metadata.html#a5388f6561cdc2845394f7fa7fd95309e',1,'scs_conic_probem_metadata']]], + ['infinity',['INFINITY',['../glbopts_8h.html#a956e2723d559858d08644ac99146e910',1,'glbopts.h']]], + ['installation_5fpage_2eh',['installation_page.h',['../installation__page_8h.html',1,'']]], + ['isinterrupted',['isInterrupted',['../ctrlc_8h.html#a15046d3ebf757b39360f101c5c6fad63',1,'ctrlc.h']]], + ['iter',['iter',['../structscs__info.html#ae3eac7a2ca18f2a75c20c53ce6cc5650',1,'scs_info']]], + ['installation',['Installation',['../page_installation.html',1,'']]] ]; diff --git a/docs/search/all_9.js b/docs/search/all_9.js index 12df1d366..e94dc6ecd 100644 --- a/docs/search/all_9.js +++ b/docs/search/all_9.js @@ -1,16 +1,7 @@ var searchData= [ - ['i',['i',['../structcs__sparse.html#a1f7dbbbbd21533a7effe950c175e31e1',1,'cs_sparse::i()'],['../struct_a___d_a_t_a___m_a_t_r_i_x.html#a1f7dbbbbd21533a7effe950c175e31e1',1,'A_DATA_MATRIX::i()']]], - ['infinity',['INFINITY',['../glbopts_8h.html#a956e2723d559858d08644ac99146e910',1,'glbopts.h']]], - ['info',['Info',['../glbopts_8h.html#a0d98fee0ffa9f2986ddf6c19a9a7daa0',1,'glbopts.h']]], - ['initcone',['initCone',['../cones_8h.html#a5b99e6e20fc47a5fc61af50b1bb282ae',1,'cones.h']]], - ['initdata',['initData',['../scs_8h.html#aa3bb1aa63932d2fcf176d7d49d114447',1,'scs.h']]], - ['initinfo',['initInfo',['../scs_8h.html#ab3fb9eba640ba9f6c3d36b57b5a2f298',1,'scs.h']]], - ['initpriv',['initPriv',['../lin_sys_8h.html#a4a17d19de53c10fc677dd7c5bf8ac8d9',1,'linSys.h']]], - ['initsol',['initSol',['../scs_8h.html#aeae5f3471b534d9da47ea840affd87a5',1,'scs.h']]], - ['innerprod',['innerProd',['../lin_alg_8h.html#a1208cb142d166223290239caa81965a4',1,'linAlg.h']]], - ['installation_5fpage_2eh',['installation_page.h',['../installation__page_8h.html',1,'']]], - ['isinterrupted',['isInterrupted',['../ctrlc_8h.html#a15046d3ebf757b39360f101c5c6fad63',1,'ctrlc.h']]], - ['iter',['iter',['../struct_s_c_s___i_n_f_o.html#ae3eac7a2ca18f2a75c20c53ce6cc5650',1,'SCS_INFO']]], - ['installation',['Installation',['../page_installation.html',1,'']]] + ['k0',['k0',['../structscs__settings.html#ac1ebb46880ba02d9634119349df97251',1,'scs_settings']]], + ['k1',['k1',['../structscs__settings.html#a7c644d0c855262d90ce197852ce46f76',1,'scs_settings']]], + ['k2',['k2',['../structscs__settings.html#ab3e52784f3dc6e37e903847e4ffc76e8',1,'scs_settings']]], + ['kap_5fb',['kap_b',['../structscs__work.html#a4447608555cda2e37d7fb2dbf522453c',1,'scs_work']]] ]; diff --git a/docs/search/all_a.js b/docs/search/all_a.js index 98a8a5244..8a658978e 100644 --- a/docs/search/all_a.js +++ b/docs/search/all_a.js @@ -1,11 +1,12 @@ var searchData= [ - ['k0',['k0',['../struct_s_c_s___s_e_t_t_i_n_g_s.html#ac1ebb46880ba02d9634119349df97251',1,'SCS_SETTINGS']]], - ['k0_5fdefault',['K0_DEFAULT',['../constants_8h.html#a5a71d8aae0a1c821f648c168b010ca20',1,'constants.h']]], - ['k1',['k1',['../struct_s_c_s___s_e_t_t_i_n_g_s.html#a7c644d0c855262d90ce197852ce46f76',1,'SCS_SETTINGS']]], - ['k1_5fdefault',['K1_DEFAULT',['../constants_8h.html#ac7d18d33711291f5f119f0cdf7edfde7',1,'constants.h']]], - ['k2',['k2',['../struct_s_c_s___s_e_t_t_i_n_g_s.html#ab3e52784f3dc6e37e903847e4ffc76e8',1,'SCS_SETTINGS']]], - ['k2_5fdefault',['K2_DEFAULT',['../constants_8h.html#a328a3bef38f64a43b83c0d09f3bde1c9',1,'constants.h']]], - ['kap',['kap',['../structresiduals.html#a3393a0b54a547030ed904d3f78539f9d',1,'residuals']]], - ['kap_5fb',['kap_b',['../struct_s_c_s___w_o_r_k.html#a4447608555cda2e37d7fb2dbf522453c',1,'SCS_WORK']]] + ['l',['l',['../structscs__cone.html#adb100f66614f5393cab1735262257080',1,'scs_cone::l()'],['../structscs__work.html#adb100f66614f5393cab1735262257080',1,'scs_work::l()']]], + ['license',['license',['../structscs__conic__probem__metadata.html#a8bb424d521d04a5ce7ad1cab5c69be71',1,'scs_conic_probem_metadata']]], + ['linalg_2eh',['linAlg.h',['../lin_alg_8h.html',1,'']]], + ['linsys_2eh',['linSys.h',['../lin_sys_8h.html',1,'']]], + ['logging_5fpage_2eh',['logging_page.h',['../logging__page_8h.html',1,'']]], + ['ls',['ls',['../structscs__settings.html#a15b5effcdabcfca2f8a51a1a73ec945c',1,'scs_settings']]], + ['ls_5fwspace',['ls_wspace',['../structscs__direction__cache.html#ae2c05043218796fdb739ec0b3e51878e',1,'scs_direction_cache']]], + ['ls_5fwspace_5flength',['ls_wspace_length',['../structscs__direction__cache.html#ab54ebbc17f1617bca2929c0d79010cc4',1,'scs_direction_cache']]], + ['logging',['Logging',['../page_logging.html',1,'']]] ]; diff --git a/docs/search/all_b.js b/docs/search/all_b.js index 201ddf8fc..afcefcf04 100644 --- a/docs/search/all_b.js +++ b/docs/search/all_b.js @@ -1,13 +1,19 @@ var searchData= [ - ['l',['l',['../struct_s_c_s___c_o_n_e.html#adb100f66614f5393cab1735262257080',1,'SCS_CONE::l()'],['../struct_s_c_s___w_o_r_k.html#adb100f66614f5393cab1735262257080',1,'SCS_WORK::l()']]], - ['lastiter',['lastIter',['../structresiduals.html#a452cc031ddf0e98f0b3ad38e68f46908',1,'residuals']]], - ['linalg_2eh',['linAlg.h',['../lin_alg_8h.html',1,'']]], - ['linsys_2eh',['linSys.h',['../lin_sys_8h.html',1,'']]], - ['logging_5fpage_2eh',['logging_page.h',['../logging__page_8h.html',1,'']]], - ['ls',['ls',['../struct_s_c_s___s_e_t_t_i_n_g_s.html#a15b5effcdabcfca2f8a51a1a73ec945c',1,'SCS_SETTINGS']]], - ['ls_5fdefault',['LS_DEFAULT',['../constants_8h.html#a670da578a5ee0b7948c2a7b3e9e6cf49',1,'constants.h']]], - ['ls_5fwspace',['ls_wspace',['../struct_s_c_s___d_i_r_e_c_t_i_o_n___m_e_m_o_r_y.html#ae2c05043218796fdb739ec0b3e51878e',1,'SCS_DIRECTION_MEMORY']]], - ['ls_5fwspace_5flength',['ls_wspace_length',['../struct_s_c_s___d_i_r_e_c_t_i_o_n___m_e_m_o_r_y.html#ab54ebbc17f1617bca2929c0d79010cc4',1,'SCS_DIRECTION_MEMORY']]], - ['logging',['Logging',['../page_logging.html',1,'']]] + ['m',['m',['../structscs__cs__sparse.html#abb8d3ac9f1eb0f06ce7c424c82d5f507',1,'scs_cs_sparse::m()'],['../structscs__work.html#abb8d3ac9f1eb0f06ce7c424c82d5f507',1,'scs_work::m()'],['../structscs__data.html#abb8d3ac9f1eb0f06ce7c424c82d5f507',1,'scs_data::m()'],['../structscs__a__data__matrix.html#abb8d3ac9f1eb0f06ce7c424c82d5f507',1,'scs_a_data_matrix::m()']]], + ['mainpage_2eh',['mainpage.h',['../mainpage_8h.html',1,'']]], + ['maros_5fmeszaros_5fpage_2eh',['maros_meszaros_page.h',['../maros__meszaros__page_8h.html',1,'']]], + ['max',['MAX',['../glbopts_8h.html#afa99ec4acc4ecb2dc3c2d05da15d0e3f',1,'glbopts.h']]], + ['max_5fiters',['max_iters',['../structscs__settings.html#aaf089866dbf7d3a1bdda5afd48e1c5a3',1,'scs_settings']]], + ['max_5fscale',['MAX_SCALE',['../normalize_8h.html#a0706168c32c39d519133d981a3df0687',1,'normalize.h']]], + ['max_5ftime_5fmilliseconds',['max_time_milliseconds',['../structscs__settings.html#a5dd8ae6e13dac46b904113ee9b7ce49e',1,'scs_settings']]], + ['meannormcola',['meanNormColA',['../structscs__scaling.html#a835dbf0c7da58c534285d5bb8dff78ad',1,'scs_scaling']]], + ['meannormrowa',['meanNormRowA',['../structscs__scaling.html#af4d266ebd92e1b5d5b9626e170718417',1,'scs_scaling']]], + ['mem',['mem',['../structscs__direction__cache.html#a456402bc43127e3ff141213b588208b0',1,'scs_direction_cache']]], + ['mem_5fcursor',['mem_cursor',['../structscs__direction__cache.html#a835143691db9673858723295f73f8a1a',1,'scs_direction_cache']]], + ['memory',['memory',['../structscs__settings.html#a3a537b5321b2fd79aa60a1dd90f42d9a',1,'scs_settings']]], + ['message_5fok',['MESSAGE_OK',['../unit__test__util_8h.html#ae0981e47a8bfbb1db7aa28638d6df9f9',1,'unit_test_util.h']]], + ['min',['MIN',['../glbopts_8h.html#a3acffbd305ee72dcd4593c0d8af64a4f',1,'glbopts.h']]], + ['min_5fscale',['MIN_SCALE',['../normalize_8h.html#a5c9b0db0503faa2e5b82de06ef0db6ad',1,'normalize.h']]], + ['maros_2dmeszaros_20qp_20problems',['Maros-Meszaros QP problems',['../page_maros_meszaros_results.html',1,'']]] ]; diff --git a/docs/search/all_c.js b/docs/search/all_c.js index 999153e07..73e181d8d 100644 --- a/docs/search/all_c.js +++ b/docs/search/all_c.js @@ -1,21 +1,13 @@ var searchData= [ - ['m',['m',['../structcs__sparse.html#abb8d3ac9f1eb0f06ce7c424c82d5f507',1,'cs_sparse::m()'],['../struct_s_c_s___w_o_r_k.html#abb8d3ac9f1eb0f06ce7c424c82d5f507',1,'SCS_WORK::m()'],['../struct_s_c_s___p_r_o_b_l_e_m___d_a_t_a.html#abb8d3ac9f1eb0f06ce7c424c82d5f507',1,'SCS_PROBLEM_DATA::m()'],['../struct_a___d_a_t_a___m_a_t_r_i_x.html#abb8d3ac9f1eb0f06ce7c424c82d5f507',1,'A_DATA_MATRIX::m()']]], - ['mainpage_2eh',['mainpage.h',['../mainpage_8h.html',1,'']]], - ['matrixmultiplicationcolumnpacked',['matrixMultiplicationColumnPacked',['../lin_alg_8h.html#ac1b2881f374aad0052b835b8e8cd7ea0',1,'linAlg.h']]], - ['matrixmultiplicationtranscolumnpacked',['matrixMultiplicationTransColumnPacked',['../lin_alg_8h.html#abf27b5eafe3ba56709eca923674ea418',1,'linAlg.h']]], - ['max',['MAX',['../glbopts_8h.html#afa99ec4acc4ecb2dc3c2d05da15d0e3f',1,'glbopts.h']]], - ['max_5fiters',['max_iters',['../struct_s_c_s___s_e_t_t_i_n_g_s.html#aaf089866dbf7d3a1bdda5afd48e1c5a3',1,'SCS_SETTINGS']]], - ['max_5fiters_5fdefault',['MAX_ITERS_DEFAULT',['../constants_8h.html#a63d40d2690d8ffbe979012f316f05a38',1,'constants.h']]], - ['max_5fscale',['MAX_SCALE',['../normalize_8h.html#a0706168c32c39d519133d981a3df0687',1,'normalize.h']]], - ['meannormcola',['meanNormColA',['../struct_s_c_s___s_c_a_l_i_n_g.html#a835dbf0c7da58c534285d5bb8dff78ad',1,'SCS_SCALING']]], - ['meannormrowa',['meanNormRowA',['../struct_s_c_s___s_c_a_l_i_n_g.html#af4d266ebd92e1b5d5b9626e170718417',1,'SCS_SCALING']]], - ['mem',['mem',['../struct_s_c_s___d_i_r_e_c_t_i_o_n___m_e_m_o_r_y.html#a456402bc43127e3ff141213b588208b0',1,'SCS_DIRECTION_MEMORY']]], - ['mem_5fcursor',['mem_cursor',['../struct_s_c_s___d_i_r_e_c_t_i_o_n___m_e_m_o_r_y.html#a835143691db9673858723295f73f8a1a',1,'SCS_DIRECTION_MEMORY']]], - ['memory',['memory',['../struct_s_c_s___s_e_t_t_i_n_g_s.html#a3a537b5321b2fd79aa60a1dd90f42d9a',1,'SCS_SETTINGS']]], - ['memory_5fdefault',['MEMORY_DEFAULT',['../constants_8h.html#a26e7ee656005a7055ca8f490fd18e006',1,'constants.h']]], - ['message_5fok',['MESSAGE_OK',['../unit__test__util_8h.html#ae0981e47a8bfbb1db7aa28638d6df9f9',1,'unit_test_util.h']]], - ['millistotime',['millisToTime',['../scs_8h.html#ab6512f9f0175ef92b483ce97d005609b',1,'scs.h']]], - ['min',['MIN',['../glbopts_8h.html#a3acffbd305ee72dcd4593c0d8af64a4f',1,'glbopts.h']]], - ['min_5fscale',['MIN_SCALE',['../normalize_8h.html#a5c9b0db0503faa2e5b82de06ef0db6ad',1,'normalize.h']]] + ['n',['n',['../structscs__cs__sparse.html#a4aa7f0765711dc019816ea1b84280d82',1,'scs_cs_sparse::n()'],['../structscs__work.html#a4aa7f0765711dc019816ea1b84280d82',1,'scs_work::n()'],['../structscs__data.html#a4aa7f0765711dc019816ea1b84280d82',1,'scs_data::n()'],['../structscs__a__data__matrix.html#a4aa7f0765711dc019816ea1b84280d82',1,'scs_a_data_matrix::n()']]], + ['nan',['NAN',['../glbopts_8h.html#a8abfcc76130f3f991d124dd22d7e69bc',1,'glbopts.h']]], + ['nm_5fb',['nm_b',['../structscs__work.html#a2e6e14cc309323a5461c37e0da56256a',1,'scs_work']]], + ['nm_5fc',['nm_c',['../structscs__work.html#a6e574099c662c2f00e0be6b4ed203e63',1,'scs_work']]], + ['normalize',['normalize',['../structscs__settings.html#a787e6490032a00049a7dd4e0f7cf23e0',1,'scs_settings']]], + ['normalize_2eh',['normalize.h',['../normalize_8h.html',1,'']]], + ['nrmr_5fcon',['nrmR_con',['../structscs__work.html#ad1dd5bed3b47b554759fb39c0ee4e118',1,'scs_work']]], + ['number_5fof_5fassertions',['number_of_assertions',['../unit__test__util_8h.html#a775364caef8446b5109a95a8f98249f2',1,'unit_test_util.h']]], + ['nz',['nz',['../structscs__cs__sparse.html#a8267b0c0bc7fe5e8ff24c945325794ed',1,'scs_cs_sparse']]], + ['nzmax',['nzmax',['../structscs__cs__sparse.html#ac1bfba554f3869b6971c2a0cb5633ef9',1,'scs_cs_sparse']]] ]; diff --git a/docs/search/all_d.js b/docs/search/all_d.js index 4d26e9264..16a66343b 100644 --- a/docs/search/all_d.js +++ b/docs/search/all_d.js @@ -1,18 +1,4 @@ var searchData= [ - ['n',['n',['../structcs__sparse.html#a4aa7f0765711dc019816ea1b84280d82',1,'cs_sparse::n()'],['../struct_s_c_s___w_o_r_k.html#a4aa7f0765711dc019816ea1b84280d82',1,'SCS_WORK::n()'],['../struct_s_c_s___p_r_o_b_l_e_m___d_a_t_a.html#a4aa7f0765711dc019816ea1b84280d82',1,'SCS_PROBLEM_DATA::n()'],['../struct_a___d_a_t_a___m_a_t_r_i_x.html#a4aa7f0765711dc019816ea1b84280d82',1,'A_DATA_MATRIX::n()']]], - ['nan',['NAN',['../glbopts_8h.html#a8abfcc76130f3f991d124dd22d7e69bc',1,'glbopts.h']]], - ['nm_5fb',['nm_b',['../struct_s_c_s___w_o_r_k.html#a2e6e14cc309323a5461c37e0da56256a',1,'SCS_WORK']]], - ['nm_5fc',['nm_c',['../struct_s_c_s___w_o_r_k.html#a6e574099c662c2f00e0be6b4ed203e63',1,'SCS_WORK']]], - ['nominal_5fdefault',['NOMINAL_DEFAULT',['../constants_8h.html#a10561c1053f1ebc31de2bb99c90e1a2c',1,'constants.h']]], - ['normalize',['normalize',['../struct_s_c_s___s_e_t_t_i_n_g_s.html#a787e6490032a00049a7dd4e0f7cf23e0',1,'SCS_SETTINGS']]], - ['normalize_2eh',['normalize.h',['../normalize_8h.html',1,'']]], - ['normalize_5fdefault',['NORMALIZE_DEFAULT',['../constants_8h.html#ac3b19b5d951c8c540e9243c7a7f20b36',1,'constants.h']]], - ['normalizea',['normalizeA',['../lin_sys_8h.html#aaba8b6405653717a3c634b6807bab9d4',1,'linSys.h']]], - ['normalizebc',['normalizeBC',['../normalize_8h.html#a1fb8661db767d6a394f36970259f6b43',1,'normalize.h']]], - ['normalizewarmstart',['normalizeWarmStart',['../normalize_8h.html#ac73d540b76c6a5076ae542bbae49f14a',1,'normalize.h']]], - ['nrmr_5fcon',['nrmR_con',['../struct_s_c_s___w_o_r_k.html#ad1dd5bed3b47b554759fb39c0ee4e118',1,'SCS_WORK']]], - ['number_5fof_5fassertions',['number_of_assertions',['../unit__test__util_8h.html#a775364caef8446b5109a95a8f98249f2',1,'unit_test_util.h']]], - ['nz',['nz',['../structcs__sparse.html#a8267b0c0bc7fe5e8ff24c945325794ed',1,'cs_sparse']]], - ['nzmax',['nzmax',['../structcs__sparse.html#ac1bfba554f3869b6971c2a0cb5633ef9',1,'cs_sparse']]] + ['output_5fstream',['output_stream',['../structscs__settings.html#a76d631eb282e1904798e902ce8ac0f4b',1,'scs_settings']]] ]; diff --git a/docs/search/all_e.js b/docs/search/all_e.js index 3c7e1f5c9..da2924362 100644 --- a/docs/search/all_e.js +++ b/docs/search/all_e.js @@ -1,6 +1,22 @@ var searchData= [ - ['out_5fstream_5fdefault',['OUT_STREAM_DEFAULT',['../constants_8h.html#ae244336b26a8b1a8cf31c36826f0ea82',1,'constants.h']]], - ['output_5fstream',['output_stream',['../struct_s_c_s___s_e_t_t_i_n_g_s.html#a76d631eb282e1904798e902ce8ac0f4b',1,'SCS_SETTINGS']]], - ['override_5fstreams_5fdefault',['OVERRIDE_STREAMS_DEFAULT',['../constants_8h.html#a98b7863c587126db18ca0e6ebbe7e7cf',1,'constants.h']]] + ['p',['p',['../structscs__cone.html#a25427ac5730a90fee735e2a1dd805261',1,'scs_cone::p()'],['../structscs__cs__sparse.html#aa341eac00e906fabba371f34ce8f1e3c',1,'scs_cs_sparse::p()'],['../structscs__work.html#ae94f02d0a64a71427005a903a50a5d50',1,'scs_work::p()'],['../structscs__a__data__matrix.html#aa341eac00e906fabba371f34ce8f1e3c',1,'scs_a_data_matrix::p()']]], + ['profiling',['Profiling',['../page_profiling.html',1,'']]], + ['pobj',['pobj',['../structscs__info.html#a0e436f279ea98b8813f35eb9f9676298',1,'scs_info']]], + ['powf',['POWF',['../glbopts_8h.html#a5eb338b58f3b23067d6a87b00eca4971',1,'glbopts.h']]], + ['pr',['pr',['../structscs__work.html#a771f8819406c653bbad4af1ce89145ff',1,'scs_work']]], + ['previous_5fmax_5fiters',['previous_max_iters',['../structscs__settings.html#acaa7e7c1997bc99118dbbd9d78b921b1',1,'scs_settings']]], + ['problemname',['problemName',['../structscs__conic__probem__metadata.html#a713ad5444b697dd8a54740af0abeac19',1,'scs_conic_probem_metadata']]], + ['profiling_5fpage_2eh',['profiling_page.h',['../profiling__page_8h.html',1,'']]], + ['progress_5fdcost',['progress_dcost',['../structscs__info.html#a5f58a7d2e3b21b6293f9dc18fad1516e',1,'scs_info']]], + ['progress_5fiter',['progress_iter',['../structscs__info.html#a1e0a854b1df76775abcdd482198a968b',1,'scs_info']]], + ['progress_5fls',['progress_ls',['../structscs__info.html#ac8b7d5f3bbc8a196eb6fbd93da224447',1,'scs_info']]], + ['progress_5fmode',['progress_mode',['../structscs__info.html#a3403bba41cccc3b271bacef5c2a16b93',1,'scs_info']]], + ['progress_5fnorm_5ffpr',['progress_norm_fpr',['../structscs__info.html#aa8d3094837ddfd7d8a29ec32cc0a39cb',1,'scs_info']]], + ['progress_5fpcost',['progress_pcost',['../structscs__info.html#ab2a1f0b06f51e53062a9f39e0a2b176b',1,'scs_info']]], + ['progress_5frelgap',['progress_relgap',['../structscs__info.html#a78ec1e5b6e9fff17563834b24fea4ba1',1,'scs_info']]], + ['progress_5fresdual',['progress_resdual',['../structscs__info.html#a7fc10281bc5dd57fdee99952ae621f11',1,'scs_info']]], + ['progress_5frespri',['progress_respri',['../structscs__info.html#a63467c1ee8b5014752174dbbb4efe24a',1,'scs_info']]], + ['progress_5ftime',['progress_time',['../structscs__info.html#a214c1247208e893154b1d161d1e2e3f7',1,'scs_info']]], + ['psize',['psize',['../structscs__cone.html#af7d4341d6c7cf45d5161bd2e76cc2cf4',1,'scs_cone']]] ]; diff --git a/docs/search/all_f.js b/docs/search/all_f.js index e23c25146..fb2772529 100644 --- a/docs/search/all_f.js +++ b/docs/search/all_f.js @@ -1,28 +1,5 @@ var searchData= [ - ['p',['p',['../struct_s_c_s___c_o_n_e.html#a25427ac5730a90fee735e2a1dd805261',1,'SCS_CONE::p()'],['../structcs__sparse.html#aa341eac00e906fabba371f34ce8f1e3c',1,'cs_sparse::p()'],['../struct_s_c_s___w_o_r_k.html#a1699f3229820155e6ea946c6fb5e1470',1,'SCS_WORK::p()'],['../struct_a___d_a_t_a___m_a_t_r_i_x.html#aa341eac00e906fabba371f34ce8f1e3c',1,'A_DATA_MATRIX::p()']]], - ['profiling',['Profiling',['../page_profiling.html',1,'']]], - ['pmaxiter_5fdefault',['PMAXITER_DEFAULT',['../constants_8h.html#abe0cdd15c6f5ec09c3d05df854fb3ad0',1,'constants.h']]], - ['pobj',['pobj',['../struct_s_c_s___i_n_f_o.html#a0e436f279ea98b8813f35eb9f9676298',1,'SCS_INFO']]], - ['powf',['POWF',['../glbopts_8h.html#a5eb338b58f3b23067d6a87b00eca4971',1,'glbopts.h']]], - ['pr',['pr',['../struct_s_c_s___w_o_r_k.html#a771f8819406c653bbad4af1ce89145ff',1,'SCS_WORK']]], - ['previous_5fmax_5fiters',['previous_max_iters',['../struct_s_c_s___s_e_t_t_i_n_g_s.html#acaa7e7c1997bc99118dbbd9d78b921b1',1,'SCS_SETTINGS']]], - ['printarray',['printArray',['../util_8h.html#a3f2c0b914e6a673b76878e80600626a2',1,'util.h']]], - ['printconedata',['printConeData',['../util_8h.html#a1d441d12bf2397971a34e7cf89a2457e',1,'util.h']]], - ['printdata',['printData',['../util_8h.html#a0911138952ccd995990d19d0255ee167',1,'util.h']]], - ['printwork',['printWork',['../util_8h.html#a685f5619aad782a07d1bad8ebd8e441d',1,'util.h']]], - ['priv',['Priv',['../lin_sys_8h.html#a86729d179a2466b10983c1f4bd700058',1,'linSys.h']]], - ['profiling_5fpage_2eh',['profiling_page.h',['../profiling__page_8h.html',1,'']]], - ['progress_5fdcost',['progress_dcost',['../struct_s_c_s___i_n_f_o.html#a5f58a7d2e3b21b6293f9dc18fad1516e',1,'SCS_INFO']]], - ['progress_5fiter',['progress_iter',['../struct_s_c_s___i_n_f_o.html#a1e0a854b1df76775abcdd482198a968b',1,'SCS_INFO']]], - ['progress_5fls',['progress_ls',['../struct_s_c_s___i_n_f_o.html#ac8b7d5f3bbc8a196eb6fbd93da224447',1,'SCS_INFO']]], - ['progress_5fmode',['progress_mode',['../struct_s_c_s___i_n_f_o.html#a3403bba41cccc3b271bacef5c2a16b93',1,'SCS_INFO']]], - ['progress_5fnorm_5ffpr',['progress_norm_fpr',['../struct_s_c_s___i_n_f_o.html#aa8d3094837ddfd7d8a29ec32cc0a39cb',1,'SCS_INFO']]], - ['progress_5fpcost',['progress_pcost',['../struct_s_c_s___i_n_f_o.html#ab2a1f0b06f51e53062a9f39e0a2b176b',1,'SCS_INFO']]], - ['progress_5frelgap',['progress_relgap',['../struct_s_c_s___i_n_f_o.html#a78ec1e5b6e9fff17563834b24fea4ba1',1,'SCS_INFO']]], - ['progress_5fresdual',['progress_resdual',['../struct_s_c_s___i_n_f_o.html#a7fc10281bc5dd57fdee99952ae621f11',1,'SCS_INFO']]], - ['progress_5frespri',['progress_respri',['../struct_s_c_s___i_n_f_o.html#a63467c1ee8b5014752174dbbb4efe24a',1,'SCS_INFO']]], - ['progress_5ftime',['progress_time',['../struct_s_c_s___i_n_f_o.html#a214c1247208e893154b1d161d1e2e3f7',1,'SCS_INFO']]], - ['projdualcone',['projDualCone',['../cones_8h.html#a35ac514d0cb98abe2a78af77c3fee1a2',1,'cones.h']]], - ['psize',['psize',['../struct_s_c_s___c_o_n_e.html#af7d4341d6c7cf45d5161bd2e76cc2cf4',1,'SCS_CONE']]] + ['q',['q',['../structscs__cone.html#a3683559d8417590c873a1e4d02de9b58',1,'scs_cone']]], + ['qsize',['qsize',['../structscs__cone.html#addc0bc141289f832d3a1ededbc0217d9',1,'scs_cone']]] ]; diff --git a/docs/search/classes_0.js b/docs/search/classes_0.js index 3d12673f6..a2136a602 100644 --- a/docs/search/classes_0.js +++ b/docs/search/classes_0.js @@ -1,4 +1,15 @@ var searchData= [ - ['a_5fdata_5fmatrix',['A_DATA_MATRIX',['../struct_a___d_a_t_a___m_a_t_r_i_x.html',1,'']]] + ['scs_5fa_5fdata_5fmatrix',['scs_a_data_matrix',['../structscs__a__data__matrix.html',1,'']]], + ['scs_5fcone',['scs_cone',['../structscs__cone.html',1,'']]], + ['scs_5fcone_5fwork',['scs_cone_work',['../structscs__cone__work.html',1,'']]], + ['scs_5fconic_5fprobem_5fmetadata',['scs_conic_probem_metadata',['../structscs__conic__probem__metadata.html',1,'']]], + ['scs_5fcs_5fsparse',['scs_cs_sparse',['../structscs__cs__sparse.html',1,'']]], + ['scs_5fdata',['scs_data',['../structscs__data.html',1,'']]], + ['scs_5fdirection_5fcache',['scs_direction_cache',['../structscs__direction__cache.html',1,'']]], + ['scs_5finfo',['scs_info',['../structscs__info.html',1,'']]], + ['scs_5fscaling',['scs_scaling',['../structscs__scaling.html',1,'']]], + ['scs_5fsettings',['scs_settings',['../structscs__settings.html',1,'']]], + ['scs_5fsolution',['scs_solution',['../structscs__solution.html',1,'']]], + ['scs_5fwork',['scs_work',['../structscs__work.html',1,'']]] ]; diff --git a/docs/search/classes_1.js b/docs/search/classes_1.js index 5d549dc5a..bff3aa8b5 100644 --- a/docs/search/classes_1.js +++ b/docs/search/classes_1.js @@ -1,5 +1,4 @@ var searchData= [ - ['conework',['ConeWork',['../struct_cone_work.html',1,'']]], - ['cs_5fsparse',['cs_sparse',['../structcs__sparse.html',1,'']]] + ['timer',['timer',['../structtimer.html',1,'']]] ]; diff --git a/docs/search/defines_0.js b/docs/search/defines_0.js index 89f10b4d3..a9c42f21e 100644 --- a/docs/search/defines_0.js +++ b/docs/search/defines_0.js @@ -1,6 +1,9 @@ var searchData= [ - ['_5fscs_5fcalloc',['_scs_calloc',['../glbopts_8h.html#a63b54d37a966814e93830d14bd8978c6',1,'glbopts.h']]], - ['_5fscs_5ffree',['_scs_free',['../glbopts_8h.html#a420487cb21be8927fab9551176fc340d',1,'glbopts.h']]], - ['_5fscs_5fmalloc',['_scs_malloc',['../glbopts_8h.html#a7301713c4952adab242a0f957b3a5922',1,'glbopts.h']]] + ['abs',['ABS',['../glbopts_8h.html#a996f7be338ccb40d1a2a5abc1ad61759',1,'glbopts.h']]], + ['assert_5fequal_5farray_5fint_5for_5ffail',['ASSERT_EQUAL_ARRAY_INT_OR_FAIL',['../unit__test__util_8h.html#ac5dd562290fd131a00b064a30cb33bf9',1,'unit_test_util.h']]], + ['assert_5fequal_5farray_5for_5ffail',['ASSERT_EQUAL_ARRAY_OR_FAIL',['../unit__test__util_8h.html#af52747e413eae8e0d34a707d92cbee33',1,'unit_test_util.h']]], + ['assert_5fequal_5ffloat_5for_5ffail',['ASSERT_EQUAL_FLOAT_OR_FAIL',['../unit__test__util_8h.html#ac54135c906b09adea4cb612a4438b9b5',1,'unit_test_util.h']]], + ['assert_5fequal_5fint_5for_5ffail',['ASSERT_EQUAL_INT_OR_FAIL',['../unit__test__util_8h.html#afd5d77ec7e7a26d347a9190196ca8571',1,'unit_test_util.h']]], + ['assert_5ftrue_5for_5ffail',['ASSERT_TRUE_OR_FAIL',['../unit__test__util_8h.html#aaa3dde99ba7781da2e6a50c5b510cb89',1,'unit_test_util.h']]] ]; diff --git a/docs/search/defines_1.js b/docs/search/defines_1.js index ffb6f3b2e..f77203c10 100644 --- a/docs/search/defines_1.js +++ b/docs/search/defines_1.js @@ -1,11 +1,4 @@ var searchData= [ - ['abs',['ABS',['../glbopts_8h.html#a996f7be338ccb40d1a2a5abc1ad61759',1,'glbopts.h']]], - ['alpha_5fdefault',['ALPHA_DEFAULT',['../constants_8h.html#ab17104980239f47f1bf5c82d002dbc2e',1,'constants.h']]], - ['alphac_5fdefault',['ALPHAC_DEFAULT',['../constants_8h.html#a56eeab37b7e8e55e3b7c3622567aa421',1,'constants.h']]], - ['assert_5fequal_5farray_5fint_5for_5ffail',['ASSERT_EQUAL_ARRAY_INT_OR_FAIL',['../unit__test__util_8h.html#ac5dd562290fd131a00b064a30cb33bf9',1,'unit_test_util.h']]], - ['assert_5fequal_5farray_5for_5ffail',['ASSERT_EQUAL_ARRAY_OR_FAIL',['../unit__test__util_8h.html#af52747e413eae8e0d34a707d92cbee33',1,'unit_test_util.h']]], - ['assert_5fequal_5ffloat_5for_5ffail',['ASSERT_EQUAL_FLOAT_OR_FAIL',['../unit__test__util_8h.html#ac54135c906b09adea4cb612a4438b9b5',1,'unit_test_util.h']]], - ['assert_5fequal_5fint_5for_5ffail',['ASSERT_EQUAL_INT_OR_FAIL',['../unit__test__util_8h.html#afd5d77ec7e7a26d347a9190196ca8571',1,'unit_test_util.h']]], - ['assert_5ftrue_5for_5ffail',['ASSERT_TRUE_OR_FAIL',['../unit__test__util_8h.html#aaa3dde99ba7781da2e6a50c5b510cb89',1,'unit_test_util.h']]] + ['endinterruptlistener',['endInterruptListener',['../ctrlc_8h.html#a5eabeaa567307658147090de2ba1b619',1,'ctrlc.h']]] ]; diff --git a/docs/search/defines_2.js b/docs/search/defines_2.js index b44f8aa7b..da383cdfe 100644 --- a/docs/search/defines_2.js +++ b/docs/search/defines_2.js @@ -1,5 +1,5 @@ var searchData= [ - ['beta_5fdefault',['BETA_DEFAULT',['../constants_8h.html#a087bc4c9c52ecc1f5efa6b70dc47d616',1,'constants.h']]], - ['broyden_5fiscale_5fdefault',['BROYDEN_ISCALE_DEFAULT',['../constants_8h.html#aae313794deca7e062aadbf366d3c6ce2',1,'constants.h']]] + ['fail_5fwith_5fmessage',['FAIL_WITH_MESSAGE',['../unit__test__util_8h.html#a7dab15b9b82a55f28a3d3dd6f4b523ac',1,'unit_test_util.h']]], + ['false',['false',['../unit__test__util_8h.html#a65e9886d74aaee76545e83dd09011727',1,'unit_test_util.h']]] ]; diff --git a/docs/search/defines_3.js b/docs/search/defines_3.js index 0b36fe217..78aad0aa5 100644 --- a/docs/search/defines_3.js +++ b/docs/search/defines_3.js @@ -1,6 +1,5 @@ var searchData= [ - ['c1_5fdefault',['C1_DEFAULT',['../constants_8h.html#ab3d4d87eb3dfedc1513af670d6335e0f',1,'constants.h']]], - ['c_5fbl_5fdefault',['C_BL_DEFAULT',['../constants_8h.html#aefda88f973e2bb010db04f329ff67edf',1,'constants.h']]], - ['cg_5frate_5fdefault',['CG_RATE_DEFAULT',['../constants_8h.html#a41d7a05e8404d764ff783b4868c890c5',1,'constants.h']]] + ['infinity',['INFINITY',['../glbopts_8h.html#a956e2723d559858d08644ac99146e910',1,'glbopts.h']]], + ['isinterrupted',['isInterrupted',['../ctrlc_8h.html#a15046d3ebf757b39360f101c5c6fad63',1,'ctrlc.h']]] ]; diff --git a/docs/search/defines_4.js b/docs/search/defines_4.js index f943df1b0..1f1ac6699 100644 --- a/docs/search/defines_4.js +++ b/docs/search/defines_4.js @@ -1,12 +1,8 @@ var searchData= [ - ['debug_5ffunc',['DEBUG_FUNC',['../glbopts_8h.html#a94c324ab9e9283e9ec9324baf52f8a71',1,'glbopts.h']]], - ['delta_5fdefault',['DELTA_DEFAULT',['../constants_8h.html#a137adea204afdbc5eb7e812ed2c84caf',1,'constants.h']]], - ['direction_5fcache_5fincrement',['DIRECTION_CACHE_INCREMENT',['../directions_8h.html#a821555f98e104f32b8f3c9ad15dfd3b1',1,'directions.h']]], - ['direction_5fcache_5freset',['DIRECTION_CACHE_RESET',['../directions_8h.html#acad4544b7cdfb1bf83c075f5fe84fbf9',1,'directions.h']]], - ['direction_5fdefault',['DIRECTION_DEFAULT',['../constants_8h.html#a339622aa4eb741c32c8f6739e690e5b5',1,'constants.h']]], - ['direction_5ferror',['DIRECTION_ERROR',['../directions_8h.html#a3d952ccde2f2c145d3d0dfa423add90d',1,'directions.h']]], - ['direction_5fsuccess',['DIRECTION_SUCCESS',['../directions_8h.html#abf32d7fe965a3767ba72bea789bf9f4b',1,'directions.h']]], - ['do_5frecord_5fprogress_5fdefault',['DO_RECORD_PROGRESS_DEFAULT',['../constants_8h.html#a228c7b6572fc72aeb3f9d30033d00176',1,'constants.h']]], - ['do_5fsuperscs_5fdefault',['DO_SUPERSCS_DEFAULT',['../constants_8h.html#a9bec2fb4fa5418586191e4119590813d',1,'constants.h']]] + ['max',['MAX',['../glbopts_8h.html#afa99ec4acc4ecb2dc3c2d05da15d0e3f',1,'glbopts.h']]], + ['max_5fscale',['MAX_SCALE',['../normalize_8h.html#a0706168c32c39d519133d981a3df0687',1,'normalize.h']]], + ['message_5fok',['MESSAGE_OK',['../unit__test__util_8h.html#ae0981e47a8bfbb1db7aa28638d6df9f9',1,'unit_test_util.h']]], + ['min',['MIN',['../glbopts_8h.html#a3acffbd305ee72dcd4593c0d8af64a4f',1,'glbopts.h']]], + ['min_5fscale',['MIN_SCALE',['../normalize_8h.html#a5c9b0db0503faa2e5b82de06ef0db6ad',1,'normalize.h']]] ]; diff --git a/docs/search/defines_5.js b/docs/search/defines_5.js index 567b638d6..7416b7eb2 100644 --- a/docs/search/defines_5.js +++ b/docs/search/defines_5.js @@ -1,5 +1,4 @@ var searchData= [ - ['endinterruptlistener',['endInterruptListener',['../ctrlc_8h.html#a5eabeaa567307658147090de2ba1b619',1,'ctrlc.h']]], - ['eps_5fdefault',['EPS_DEFAULT',['../constants_8h.html#adabcf41a01721e261f80b9cdcb309481',1,'constants.h']]] + ['nan',['NAN',['../glbopts_8h.html#a8abfcc76130f3f991d124dd22d7e69bc',1,'glbopts.h']]] ]; diff --git a/docs/search/defines_6.js b/docs/search/defines_6.js index da383cdfe..cbe04cd5c 100644 --- a/docs/search/defines_6.js +++ b/docs/search/defines_6.js @@ -1,5 +1,4 @@ var searchData= [ - ['fail_5fwith_5fmessage',['FAIL_WITH_MESSAGE',['../unit__test__util_8h.html#a7dab15b9b82a55f28a3d3dd6f4b523ac',1,'unit_test_util.h']]], - ['false',['false',['../unit__test__util_8h.html#a65e9886d74aaee76545e83dd09011727',1,'unit_test_util.h']]] + ['powf',['POWF',['../glbopts_8h.html#a5eb338b58f3b23067d6a87b00eca4971',1,'glbopts.h']]] ]; diff --git a/docs/search/defines_7.js b/docs/search/defines_7.js index 78aad0aa5..8de546c94 100644 --- a/docs/search/defines_7.js +++ b/docs/search/defines_7.js @@ -1,5 +1,4 @@ var searchData= [ - ['infinity',['INFINITY',['../glbopts_8h.html#a956e2723d559858d08644ac99146e910',1,'glbopts.h']]], - ['isinterrupted',['isInterrupted',['../ctrlc_8h.html#a15046d3ebf757b39360f101c5c6fad63',1,'ctrlc.h']]] + ['restrict',['RESTRICT',['../glbopts_8h.html#aae3356b63849abbe8789dd41648ee90a',1,'glbopts.h']]] ]; diff --git a/docs/search/defines_8.js b/docs/search/defines_8.js index 8f9687b12..e85a017c0 100644 --- a/docs/search/defines_8.js +++ b/docs/search/defines_8.js @@ -1,6 +1,63 @@ var searchData= [ - ['k0_5fdefault',['K0_DEFAULT',['../constants_8h.html#a5a71d8aae0a1c821f648c168b010ca20',1,'constants.h']]], - ['k1_5fdefault',['K1_DEFAULT',['../constants_8h.html#ac7d18d33711291f5f119f0cdf7edfde7',1,'constants.h']]], - ['k2_5fdefault',['K2_DEFAULT',['../constants_8h.html#a328a3bef38f64a43b83c0d09f3bde1c9',1,'constants.h']]] + ['scs_5falpha_5fdefault',['SCS_ALPHA_DEFAULT',['../constants_8h.html#a20f38afd56ab2510b86f35c4c93172e9',1,'constants.h']]], + ['scs_5falphac_5fdefault',['SCS_ALPHAC_DEFAULT',['../constants_8h.html#ae628d60f9cf163b961a6a4f60699097d',1,'constants.h']]], + ['scs_5fbeta_5fdefault',['SCS_BETA_DEFAULT',['../constants_8h.html#a8ca78ec1fcdd4d219fa0b156cb07b7f1',1,'constants.h']]], + ['scs_5fbroyden_5fiscs_5fscale_5fdefault',['SCS_BROYDEN_ISCS_SCALE_DEFAULT',['../constants_8h.html#ae93e93bb0f7e5dc795644f2ea39999d1',1,'constants.h']]], + ['scs_5fc1_5fdefault',['SCS_C1_DEFAULT',['../constants_8h.html#ab357ae73898a201088b13bf2eafd4a07',1,'constants.h']]], + ['scs_5fc_5fbl_5fdefault',['SCS_C_BL_DEFAULT',['../constants_8h.html#a36de9bb0ea397c4d12bee7f28d98286b',1,'constants.h']]], + ['scs_5fcalloc',['scs_calloc',['../glbopts_8h.html#a516ae41750b3ec240856a719a1a666ec',1,'glbopts.h']]], + ['scs_5fcalloc_5f',['scs_calloc_',['../glbopts_8h.html#a66e41e0597d8ec2d140b125705906b9f',1,'glbopts.h']]], + ['scs_5fcg_5frate_5fdefault',['SCS_CG_RATE_DEFAULT',['../constants_8h.html#a85119c391fac7625ea1398f74c7d2798',1,'constants.h']]], + ['scs_5fdirection_5fcache_5fincrement',['SCS_DIRECTION_CACHE_INCREMENT',['../directions_8h.html#ab64187e2d930e605e057212907d0204d',1,'directions.h']]], + ['scs_5fdirection_5fcache_5freset',['SCS_DIRECTION_CACHE_RESET',['../directions_8h.html#acb98df9e5567a0ff58371c60b7335976',1,'directions.h']]], + ['scs_5fdirection_5fdefault',['SCS_DIRECTION_DEFAULT',['../constants_8h.html#aea34ebbeecfadd2784ec2f505b3f0b5e',1,'constants.h']]], + ['scs_5fdirection_5ferror',['SCS_DIRECTION_ERROR',['../directions_8h.html#a2a4cfd4f462f56911187c55f7658ca11',1,'directions.h']]], + ['scs_5fdirection_5fsuccess',['SCS_DIRECTION_SUCCESS',['../directions_8h.html#a66cb60c195b00d7d16ae15d7d712de68',1,'directions.h']]], + ['scs_5fdo_5frecord_5fprogress_5fdefault',['SCS_DO_RECORD_PROGRESS_DEFAULT',['../constants_8h.html#a67f694a07e0375572c882a31fed50ebc',1,'constants.h']]], + ['scs_5fdo_5fsuperscs_5fdefault',['SCS_DO_SUPERSCS_DEFAULT',['../constants_8h.html#a7a569fe418a42a4791796340daba3d6d',1,'constants.h']]], + ['scs_5feps_5fdefault',['SCS_EPS_DEFAULT',['../constants_8h.html#a82e39ccf8dab9d51dac9e732300975c1',1,'constants.h']]], + ['scs_5ffailed',['SCS_FAILED',['../constants_8h.html#a991ff39b24ee4961b79cc7bf2e2f35db',1,'constants.h']]], + ['scs_5ffree',['scs_free',['../glbopts_8h.html#a2f0c0c4aef43c9e062293944c859802b',1,'glbopts.h']]], + ['scs_5ffree_5f',['scs_free_',['../glbopts_8h.html#af6f6a74e6fc9b7a2fea0743f1512f724',1,'glbopts.h']]], + ['scs_5findeterminate',['SCS_INDETERMINATE',['../constants_8h.html#a6087076845557b5f8d556bbf23bb577b',1,'constants.h']]], + ['scs_5finfeasible',['SCS_INFEASIBLE',['../constants_8h.html#a0bac201fdbc84557c391490187101d8b',1,'constants.h']]], + ['scs_5finfeasible_5finaccurate',['SCS_INFEASIBLE_INACCURATE',['../constants_8h.html#ae5e6dd1cacecc8ddb532e25ee025dab1',1,'constants.h']]], + ['scs_5fk0_5fdefault',['SCS_K0_DEFAULT',['../constants_8h.html#aba6086055551c0d9aedf1b2087981693',1,'constants.h']]], + ['scs_5fk1_5fdefault',['SCS_K1_DEFAULT',['../constants_8h.html#a10626f91e90e669115768ec5c0fe312b',1,'constants.h']]], + ['scs_5fk2_5fdefault',['SCS_K2_DEFAULT',['../constants_8h.html#af803329a57a0b041cefecf0dae65fe87',1,'constants.h']]], + ['scs_5fls_5fdefault',['SCS_LS_DEFAULT',['../constants_8h.html#ad1e5a5f13769ba10e7e6e499eb7bd3e4',1,'constants.h']]], + ['scs_5fmalloc',['scs_malloc',['../glbopts_8h.html#a92ef52581fa52d1a1b14aa81a1512f42',1,'glbopts.h']]], + ['scs_5fmalloc_5f',['scs_malloc_',['../glbopts_8h.html#a80506eddd3a42654af2256e96ae21daf',1,'glbopts.h']]], + ['scs_5fmax_5fiters_5fdefault',['SCS_MAX_ITERS_DEFAULT',['../constants_8h.html#ab13ad2c212aca810000962b56e0fa63e',1,'constants.h']]], + ['scs_5fmax_5ftime_5fmilliseconds',['SCS_MAX_TIME_MILLISECONDS',['../constants_8h.html#a2df4008935dc26a793bb3e2e31afc89f',1,'constants.h']]], + ['scs_5fmemory_5fdefault',['SCS_MEMORY_DEFAULT',['../constants_8h.html#a05cefedd4c55f98f217f1bef5d113e1c',1,'constants.h']]], + ['scs_5fmetadata_5ftext_5fsize',['SCS_METADATA_TEXT_SIZE',['../scs_8h.html#a537fcfdb796be3c7be2b28c0705e7f45',1,'scs.h']]], + ['scs_5fnominal_5fdefault',['SCS_NOMINAL_DEFAULT',['../constants_8h.html#ac4dbe3dd5bb75fc1eea19b4d4ac2d7ec',1,'constants.h']]], + ['scs_5fnormalize_5fdefault',['SCS_NORMALIZE_DEFAULT',['../constants_8h.html#ac7930cfeca6808ed9030b6dfb06a24d9',1,'constants.h']]], + ['scs_5fnull',['SCS_NULL',['../glbopts_8h.html#a0be174af2a751cfa8a91c310d799943f',1,'glbopts.h']]], + ['scs_5fout_5fstream_5fdefault',['SCS_OUT_STREAM_DEFAULT',['../constants_8h.html#a34d7f23cf3fa0ceb0d1d496ce25fbc31',1,'constants.h']]], + ['scs_5foverride_5fstreams_5fdefault',['SCS_OVERRIDE_STREAMS_DEFAULT',['../constants_8h.html#a697834c3544d9feb94653b3e1efc048b',1,'constants.h']]], + ['scs_5fpmaxiter_5fdefault',['SCS_PMAXITER_DEFAULT',['../constants_8h.html#ac6ff032db28309a711e51621597f25b3',1,'constants.h']]], + ['scs_5fprintf',['scs_printf',['../glbopts_8h.html#a74b592ebf6298c05fd3de8e31288fb8e',1,'glbopts.h']]], + ['scs_5frho_5fx_5fdefault',['SCS_RHO_X_DEFAULT',['../constants_8h.html#a9ec6fe94717b1a14ef9b4247d0178b88',1,'constants.h']]], + ['scs_5fsc_5finit_5fdefault',['SCS_SC_INIT_DEFAULT',['../constants_8h.html#a8cfa1592c3180950d8ed500641c9bb9d',1,'constants.h']]], + ['scs_5fscale_5fdefault',['SCS_SCALE_DEFAULT',['../constants_8h.html#a2eae80a2e3848c683cff930703d2f678',1,'constants.h']]], + ['scs_5fsigint',['SCS_SIGINT',['../constants_8h.html#a0d4e848eb3de81287e5e1c8fae2dab0a',1,'constants.h']]], + ['scs_5fsigma_5fdefault',['SCS_SIGMA_DEFAULT',['../constants_8h.html#adcd9ebbfd1010272d2da9f45637f70a7',1,'constants.h']]], + ['scs_5fsolved',['SCS_SOLVED',['../constants_8h.html#a0fcae593d880f4d9a0b21b188ba58094',1,'constants.h']]], + ['scs_5fsolved_5finaccurate',['SCS_SOLVED_INACCURATE',['../constants_8h.html#aaeed0781b1d882d591dd2b3acaefaa4c',1,'constants.h']]], + ['scs_5fsse_5fdefault',['SCS_SSE_DEFAULT',['../constants_8h.html#aec9972fc3f784a596f121f79c21ae0e9',1,'constants.h']]], + ['scs_5fthetabar_5fdefault',['SCS_THETABAR_DEFAULT',['../constants_8h.html#a8996657675f5d31cbb708660f8a39e94',1,'constants.h']]], + ['scs_5ftrule_5fdefault',['SCS_TRULE_DEFAULT',['../constants_8h.html#aea9c686b0592071494b57f8a716d4095',1,'constants.h']]], + ['scs_5funbounded',['SCS_UNBOUNDED',['../constants_8h.html#ac8c72aeee9bcd3f1ed58fcf99a76d01c',1,'constants.h']]], + ['scs_5funbounded_5finaccurate',['SCS_UNBOUNDED_INACCURATE',['../constants_8h.html#aa9926c8e5b23495ae9195e3c444c4b5a',1,'constants.h']]], + ['scs_5funfinished',['SCS_UNFINISHED',['../constants_8h.html#a97f7a5b842fd70105d97841fcd6ee680',1,'constants.h']]], + ['scs_5fverbose_5fdefault',['SCS_VERBOSE_DEFAULT',['../constants_8h.html#a7788145a24a7557b968b7488888d8f47',1,'constants.h']]], + ['scs_5fversion',['SCS_VERSION',['../constants_8h.html#abae8a893f5f047e479a6fdeea4cad79b',1,'constants.h']]], + ['scs_5fwarm_5fstart_5fdefault',['SCS_WARM_START_DEFAULT',['../constants_8h.html#a2b829492ff747136a9ebee7c78f63574',1,'constants.h']]], + ['sgn',['SGN',['../glbopts_8h.html#a95ed41486ca0ed53262e4b8934d4afac',1,'glbopts.h']]], + ['sqrtf',['SQRTF',['../glbopts_8h.html#a3b9d7d973bd11c5ad12d329c6ea8b308',1,'glbopts.h']]], + ['startinterruptlistener',['startInterruptListener',['../ctrlc_8h.html#a1c8e1257fd1ea10595f53534a0fcb67a',1,'ctrlc.h']]], + ['succeed',['SUCCEED',['../unit__test__util_8h.html#a753e9e46e51063c920e4a87668595062',1,'unit_test_util.h']]] ]; diff --git a/docs/search/defines_9.js b/docs/search/defines_9.js index 3154dcb08..f764b94b7 100644 --- a/docs/search/defines_9.js +++ b/docs/search/defines_9.js @@ -1,4 +1,10 @@ var searchData= [ - ['ls_5fdefault',['LS_DEFAULT',['../constants_8h.html#a670da578a5ee0b7948c2a7b3e9e6cf49',1,'constants.h']]] + ['test_5ferror_5fmessage_5fsize',['TEST_ERROR_MESSAGE_SIZE',['../unit__test__util_8h.html#a15435cf77a4058915c7a6d607ac1d3fa',1,'unit_test_util.h']]], + ['test_5ffail_5fflag',['TEST_FAIL_FLAG',['../unit__test__util_8h.html#afd12dc8a84e178f81b33abb5e4da0d3b',1,'unit_test_util.h']]], + ['test_5ffailure',['TEST_FAILURE',['../unit__test__util_8h.html#a9170c32e7599282baefbe7a5ad27cf8d',1,'unit_test_util.h']]], + ['test_5fmessage_5fbuff_5fsize',['TEST_MESSAGE_BUFF_SIZE',['../unit__test__util_8h.html#a4d5a4b2c57e05f8714ade70bf0fdd136',1,'unit_test_util.h']]], + ['test_5fpass_5fflag',['TEST_PASS_FLAG',['../unit__test__util_8h.html#a913f2027b896460a4f04e48d714675b0',1,'unit_test_util.h']]], + ['test_5fsuccess',['TEST_SUCCESS',['../unit__test__util_8h.html#aee1dc5ecf95c68bc90ba502679668096',1,'unit_test_util.h']]], + ['true',['true',['../unit__test__util_8h.html#a41f9c5fb8b08eb5dc3edce4dcb37fee7',1,'unit_test_util.h']]] ]; diff --git a/docs/search/files_2.js b/docs/search/files_2.js index eae0a5d34..823d22824 100644 --- a/docs/search/files_2.js +++ b/docs/search/files_2.js @@ -3,6 +3,7 @@ var searchData= ['cones_2eh',['cones.h',['../cones_8h.html',1,'']]], ['cones_5fpage_2eh',['cones_page.h',['../cones__page_8h.html',1,'']]], ['constants_2eh',['constants.h',['../constants_8h.html',1,'']]], + ['contributing_5fpage_2eh',['contributing_page.h',['../contributing__page_8h.html',1,'']]], ['cs_2eh',['cs.h',['../cs_8h.html',1,'']]], ['ctrlc_2eh',['ctrlc.h',['../ctrlc_8h.html',1,'']]], ['cvx_5fexamples_5fpage_2eh',['cvx_examples_page.h',['../cvx__examples__page_8h.html',1,'']]] diff --git a/docs/search/files_7.js b/docs/search/files_7.js index d99e873b2..f890190aa 100644 --- a/docs/search/files_7.js +++ b/docs/search/files_7.js @@ -1,4 +1,5 @@ var searchData= [ - ['mainpage_2eh',['mainpage.h',['../mainpage_8h.html',1,'']]] + ['mainpage_2eh',['mainpage.h',['../mainpage_8h.html',1,'']]], + ['maros_5fmeszaros_5fpage_2eh',['maros_meszaros_page.h',['../maros__meszaros__page_8h.html',1,'']]] ]; diff --git a/docs/search/functions_0.js b/docs/search/functions_0.js index 73900c166..3a696ae18 100644 --- a/docs/search/functions_0.js +++ b/docs/search/functions_0.js @@ -1,12 +1,4 @@ var searchData= [ - ['accumbya',['accumByA',['../lin_sys_8h.html#a88366c26472ae79ac015b0ef32cf8486',1,'linSys.h']]], - ['accumbyatrans',['accumByAtrans',['../lin_sys_8h.html#af02f94ad9a954405128c00b342968058',1,'linSys.h']]], - ['addarray',['addArray',['../lin_alg_8h.html#a09be9798293f508d74bcacf139c15984',1,'linAlg.h']]], - ['addscaledarray',['addScaledArray',['../lin_alg_8h.html#a2563c74c700d9aad088089d2de43ff5a',1,'linAlg.h']]], - ['assertequalsarray',['assertEqualsArray',['../unit__test__util_8h.html#ac28f267daa32d0b30925e092de171e2d',1,'unit_test_util.h']]], - ['assertequalsarrayint',['assertEqualsArrayInt',['../unit__test__util_8h.html#a4a727eac74f9965196ada3a5b1d8943e',1,'unit_test_util.h']]], - ['assertequalsfloat',['assertEqualsFloat',['../unit__test__util_8h.html#ac68c45abf605abcca3741d1a5b6292d8',1,'unit_test_util.h']]], - ['assertequalsint',['assertEqualsInt',['../unit__test__util_8h.html#ae8d262bf37223f480449fab11798fbc3',1,'unit_test_util.h']]], - ['axpy2',['axpy2',['../lin_alg_8h.html#a49ec1bdca7714a036f103f062ee8d508',1,'linAlg.h']]] + ['getlinsyssummary',['getLinSysSummary',['../lin_sys_8h.html#aa403bac9313a551de97976a7124f175f',1,'linSys.h']]] ]; diff --git a/docs/search/functions_1.js b/docs/search/functions_1.js index beac9d457..84913e6cf 100644 --- a/docs/search/functions_1.js +++ b/docs/search/functions_1.js @@ -1,22 +1,83 @@ var searchData= [ - ['calcnorm',['calcNorm',['../lin_alg_8h.html#a170c54451cb6c939f9c628321a211f1d',1,'linAlg.h']]], - ['calcnormdiff',['calcNormDiff',['../lin_alg_8h.html#a1a4af01354eed38846380422eeefb38a',1,'linAlg.h']]], - ['calcnorminf',['calcNormInf',['../lin_alg_8h.html#a3cf7b32d0c1c847ebb835e0785e25516',1,'linAlg.h']]], - ['calcnorminfdiff',['calcNormInfDiff',['../lin_alg_8h.html#ac733780a633e8b2c9c2fbe291f03f954',1,'linAlg.h']]], - ['calcnormsq',['calcNormSq',['../lin_alg_8h.html#a134c73f43462335d43f997bc4a14993a',1,'linAlg.h']]], - ['calcscaledresids',['calcScaledResids',['../normalize_8h.html#ada32f0fb38e673f9519c3dd786c00b74',1,'normalize.h']]], - ['cgls',['cgls',['../lin_alg_8h.html#a6045b4ab0ad3f5db6867820a030006c2',1,'linAlg.h']]], - ['cgls_5fmalloc_5fworkspace',['cgls_malloc_workspace',['../lin_alg_8h.html#acb33e7aa8dbcb4570b00458af815872f',1,'linAlg.h']]], - ['computeandersondirection',['computeAndersonDirection',['../directions_8h.html#ad1f8311d9c221468083de7cd745f8544',1,'directions.h']]], - ['computedirection',['computeDirection',['../directions_8h.html#ae383bf0510b0a674e0e4f185c8b4e953',1,'directions.h']]], - ['computefullbroyden',['computeFullBroyden',['../directions_8h.html#ae3a1f9f6bfa092b7f6ee2fa13dffedea',1,'directions.h']]], - ['computelsbroyden',['computeLSBroyden',['../directions_8h.html#a13920d82d3267564ab3e659a25608941',1,'directions.h']]], - ['cs_5fcompress',['cs_compress',['../cs_8h.html#a917a026613fc4f26e5c5c1b8ce2f8389',1,'cs.h']]], - ['cs_5fcumsum',['cs_cumsum',['../cs_8h.html#ae159ec945518591b1ffc831a07c0c063',1,'cs.h']]], - ['cs_5fdone',['cs_done',['../cs_8h.html#a21acf55a6e9215e0fe19c3e49503e121',1,'cs.h']]], - ['cs_5fpinv',['cs_pinv',['../cs_8h.html#aa2048f58da40252fa0cd74cd26a5814b',1,'cs.h']]], - ['cs_5fspalloc',['cs_spalloc',['../cs_8h.html#a48e1853a1859ac587f0ad8c8be48a1d2',1,'cs.h']]], - ['cs_5fspfree',['cs_spfree',['../cs_8h.html#a6d705e404a7831ccf01bc0ea064215b9',1,'cs.h']]], - ['cs_5fsymperm',['cs_symperm',['../cs_8h.html#a08e2f4688ac64196e0866cdb996afc3d',1,'cs.h']]] + ['scs',['scs',['../scs_8h.html#a3b4841ccbabf8aaa56f3758bf8d771c1',1,'scs.h']]], + ['scs_5faccum_5fby_5fa',['scs_accum_by_a',['../lin_sys_8h.html#a1b21cc9f0d89a053ce102d118e677585',1,'linSys.h']]], + ['scs_5faccum_5fby_5fa_5ftrans',['scs_accum_by_a_trans',['../lin_sys_8h.html#a619d82cdb8138009fa889230c15bf9aa',1,'linSys.h']]], + ['scs_5fadd_5farray',['scs_add_array',['../lin_alg_8h.html#aa32866d1fa64e11b18672e83397ca060',1,'linAlg.h']]], + ['scs_5fadd_5fscaled_5farray',['scs_add_scaled_array',['../lin_alg_8h.html#a0d7a5763c37d9ce51e9e60e69597cff5',1,'linAlg.h']]], + ['scs_5fassert_5fequals_5farray',['scs_assert_equals_array',['../unit__test__util_8h.html#add7dfd45996c5b439a0c5ab7743a4f3b',1,'unit_test_util.h']]], + ['scs_5fassert_5fequals_5farray_5fint',['scs_assert_equals_array_int',['../unit__test__util_8h.html#a956c44a4a6ecfe5c0427fa53cc2dd6b1',1,'unit_test_util.h']]], + ['scs_5fassert_5fequals_5ffloat',['scs_assert_equals_float',['../unit__test__util_8h.html#a32c86846eaba3e85b3af4de3ec703034',1,'unit_test_util.h']]], + ['scs_5fassert_5fequals_5fint',['scs_assert_equals_int',['../unit__test__util_8h.html#ab3b52f93aa19d3b804ddd7cd62679bff',1,'unit_test_util.h']]], + ['scs_5faxpy',['scs_axpy',['../lin_alg_8h.html#a04f129cf5ba20b463efbaf064162e0fe',1,'linAlg.h']]], + ['scs_5fcgls',['scs_cgls',['../lin_alg_8h.html#a9b226460c677de92cc18aeb259179d23',1,'linAlg.h']]], + ['scs_5fcgls_5fmalloc_5fworkspace',['scs_cgls_malloc_workspace',['../lin_alg_8h.html#a1c74f784875be05d3ee2a124519d2bdd',1,'linAlg.h']]], + ['scs_5fcompute_5fdir_5fanderson',['scs_compute_dir_anderson',['../directions_8h.html#ab15f8e904b4d8539fd89b3d8ab46155d',1,'directions.h']]], + ['scs_5fcompute_5fdir_5ffull_5fbroyden',['scs_compute_dir_full_broyden',['../directions_8h.html#a9ba47312ceb56676930d887ff0a82ef9',1,'directions.h']]], + ['scs_5fcompute_5fdir_5frestarted_5fbroyden',['scs_compute_dir_restarted_broyden',['../directions_8h.html#a7ae2bdbbf7decc90dbd466976c0db1cc',1,'directions.h']]], + ['scs_5fcompute_5fdirection',['scs_compute_direction',['../directions_8h.html#ac590f0e0a55206f167052ca1a57dcbb7',1,'directions.h']]], + ['scs_5fcs_5fcompress',['scs_cs_compress',['../cs_8h.html#a5cf9d81096e503803134b416880d4e9e',1,'cs.h']]], + ['scs_5fcs_5fcumsum',['scs_cs_cumsum',['../cs_8h.html#ad98b12dc243df59f5f301c5c27360a00',1,'cs.h']]], + ['scs_5fcs_5fdone',['scs_cs_done',['../cs_8h.html#a77a04423f8ae2daba3fe25d4e3a41dd4',1,'cs.h']]], + ['scs_5fcs_5fpinv',['scs_cs_pinv',['../cs_8h.html#a7198f7fe460e5ceadb57f5263f376f48',1,'cs.h']]], + ['scs_5fcs_5fspalloc',['scs_cs_spalloc',['../cs_8h.html#a54077df9dc67134081bf49dd474f1ca4',1,'cs.h']]], + ['scs_5fcs_5fspfree',['scs_cs_spfree',['../cs_8h.html#a8e4a1c8869b72fb2aeb8f442aa8a9fc1',1,'cs.h']]], + ['scs_5fcs_5fsymperm',['scs_cs_symperm',['../cs_8h.html#af8d625257044d9eac70db8458f6ceae4',1,'cs.h']]], + ['scs_5ffinish_5fcone',['scs_finish_cone',['../cones_8h.html#a5325b17257f5a64f926a27a4491bc8aa',1,'cones.h']]], + ['scs_5ffree_5fa_5fmatrix',['scs_free_a_matrix',['../lin_sys_8h.html#aa544d3056911daf752fd98fd2c99c0db',1,'linSys.h']]], + ['scs_5ffree_5fdata',['scs_free_data',['../util_8h.html#a306a79198104eb194a8326a72b0b1fd0',1,'util.h']]], + ['scs_5ffree_5ffull_5fbroyden',['scs_free_full_broyden',['../directions_8h.html#ab24862e94eea29bd5b730678c7410eb7',1,'directions.h']]], + ['scs_5ffree_5finfo',['scs_free_info',['../util_8h.html#ad11d33b45a71878449be2364f8a11c92',1,'util.h']]], + ['scs_5ffree_5fpriv',['scs_free_priv',['../lin_sys_8h.html#a67c9434d48e8e2839e2273a718c0b67b',1,'linSys.h']]], + ['scs_5ffree_5fsol',['scs_free_sol',['../util_8h.html#ada665aca69d68c936c133b5c1fb06ece',1,'util.h']]], + ['scs_5ffrom_5fyaml',['scs_from_YAML',['../scs_8h.html#a6b103b76824333ec603d19d06da4ffcf',1,'scs.h']]], + ['scs_5fget_5fcone_5fboundaries',['scs_get_cone_boundaries',['../cones_8h.html#a545eaaa8bc106ce4130e2740ae7d3072',1,'cones.h']]], + ['scs_5fget_5fcone_5fheader',['scs_get_cone_header',['../cones_8h.html#a1ca6c2e3381d7ace9fe5682853f8270a',1,'cones.h']]], + ['scs_5fget_5fcone_5fsummary',['scs_get_cone_summary',['../cones_8h.html#a6baff43e25d97bb8b7b8e25c32f95427',1,'cones.h']]], + ['scs_5fget_5flinsys_5fmethod',['scs_get_linsys_method',['../lin_sys_8h.html#a0b510efd7cfe39e87f4b9af7065e9af0',1,'linSys.h']]], + ['scs_5finit_5fconework',['scs_init_conework',['../cones_8h.html#af34a44522a3178e96b6864ff31b747ad',1,'cones.h']]], + ['scs_5finit_5fconic_5fproblem_5fmetadata',['scs_init_conic_problem_metadata',['../scs_8h.html#a3b6195d6dc0640687ba7f7cdc6a543df',1,'scs.h']]], + ['scs_5finit_5fdata',['scs_init_data',['../scs_8h.html#a83067d4c1fd8a6f9f43d0a3d1fa3939a',1,'scs.h']]], + ['scs_5finit_5finfo',['scs_init_info',['../scs_8h.html#aca9114d4b49cfe0abb4947f7f55d2908',1,'scs.h']]], + ['scs_5finit_5fpriv',['scs_init_priv',['../lin_sys_8h.html#abcc0ff966a062759b03dbb79619f2cc0',1,'linSys.h']]], + ['scs_5finit_5fsol',['scs_init_sol',['../scs_8h.html#ae9d47194aa02f0286981c566d4874a45',1,'scs.h']]], + ['scs_5finner_5fproduct',['scs_inner_product',['../lin_alg_8h.html#a8de6b194962ebea5bac8be95183b50b4',1,'linAlg.h']]], + ['scs_5fmatrix_5fmultiply',['scs_matrix_multiply',['../lin_alg_8h.html#a99072ee3d131b87aead32f643ae8507a',1,'linAlg.h']]], + ['scs_5fmatrix_5ftranspose_5fmultiply',['scs_matrix_transpose_multiply',['../lin_alg_8h.html#a9ca848ea419e477184333b497fcdbdd0',1,'linAlg.h']]], + ['scs_5fmillis_5fto_5ftime',['scs_millis_to_time',['../scs_8h.html#ab1b2384661be77c04eb7acbbf3e25f95',1,'scs.h']]], + ['scs_5fnorm',['scs_norm',['../lin_alg_8h.html#ace631dcffb968f396d9c06c61c10f5e8',1,'linAlg.h']]], + ['scs_5fnorm_5fdifference',['scs_norm_difference',['../lin_alg_8h.html#a05e67e933e319773ccf3bd9f980b9da3',1,'linAlg.h']]], + ['scs_5fnorm_5finfinity',['scs_norm_infinity',['../lin_alg_8h.html#a74a0a88eab131849445de410a5e03353',1,'linAlg.h']]], + ['scs_5fnorm_5finfinity_5fdifference',['scs_norm_infinity_difference',['../lin_alg_8h.html#a63aa529add23d98afdcba736b7443a90',1,'linAlg.h']]], + ['scs_5fnorm_5fsquared',['scs_norm_squared',['../lin_alg_8h.html#af7da04d07ca2f505a77938c4498b6612',1,'linAlg.h']]], + ['scs_5fnormalize_5fa',['scs_normalize_a',['../lin_sys_8h.html#af877658f75bea14c978c83b0bb6aee52',1,'linSys.h']]], + ['scs_5fnormalize_5fbc',['scs_normalize_bc',['../normalize_8h.html#ac8d54294513f04f1ef14780047eb494b',1,'normalize.h']]], + ['scs_5fnormalize_5fwarm_5fstart',['scs_normalize_warm_start',['../normalize_8h.html#af0b11b282701b7fd1851f377063bfd55',1,'normalize.h']]], + ['scs_5fprint_5farray',['scs_print_array',['../util_8h.html#ad6d111c679561485497470ceb1a1bb95',1,'util.h']]], + ['scs_5fprint_5fcone_5fdata',['scs_print_cone_data',['../util_8h.html#a9c6c79bb7885d5e4a3ae247b5befb4d1',1,'util.h']]], + ['scs_5fprint_5fdata',['scs_print_data',['../util_8h.html#a99c57c4ace10af0ef828543fc28c59f4',1,'util.h']]], + ['scs_5fprint_5fwork',['scs_print_work',['../util_8h.html#a8c21416e0955de598f264420fafedf19',1,'util.h']]], + ['scs_5fproject_5fdual_5fcone',['scs_project_dual_cone',['../cones_8h.html#a5cc5108dbc27be9a669f03b2baa336ef',1,'cones.h']]], + ['scs_5fqr_5fworkspace_5fsize',['scs_qr_workspace_size',['../lin_alg_8h.html#a51f742071c4e5372a4bda3ff4dbbdd2a',1,'linAlg.h']]], + ['scs_5fqrls',['scs_qrls',['../lin_alg_8h.html#a54db69771437af2230847be106b9eeb7',1,'linAlg.h']]], + ['scs_5freset_5fdirection_5fcache',['scs_reset_direction_cache',['../directions_8h.html#afbf4c808c105c9a7ec2f5630dced25ae',1,'directions.h']]], + ['scs_5fscale_5farray',['scs_scale_array',['../lin_alg_8h.html#a1d8e6903f1a26b6528c58e21a09e5546',1,'linAlg.h']]], + ['scs_5fset_5fas_5fscaled_5farray',['scs_set_as_scaled_array',['../lin_alg_8h.html#aac32466ea4955e15aec10d25fed713fd',1,'linAlg.h']]], + ['scs_5fset_5fdefault_5fsettings',['scs_set_default_settings',['../util_8h.html#a4072866f75891adc3f47c93f3faec59b',1,'util.h']]], + ['scs_5fsolve_5flin_5fsys',['scs_solve_lin_sys',['../lin_sys_8h.html#a60e0e913bedcc7fd4f2d5c18b501eacd',1,'linSys.h']]], + ['scs_5fspecial_5fprint',['scs_special_print',['../util_8h.html#ac9f0d915529f6a6c8171883495a318b5',1,'util.h']]], + ['scs_5fstrtoc',['scs_strtoc',['../util_8h.html#a693ce6a554e8dc26178f10232b8d5344',1,'util.h']]], + ['scs_5fsubtract_5farray',['scs_subtract_array',['../lin_alg_8h.html#ab32933bf8a0314fc420dce817843abf5',1,'linAlg.h']]], + ['scs_5fsvd_5fworkspace_5fsize',['scs_svd_workspace_size',['../lin_alg_8h.html#add76dc476305f4a437b04bb4f3b1981c',1,'linAlg.h']]], + ['scs_5fsvdls',['scs_svdls',['../lin_alg_8h.html#afe5f938a3120a03eb55c42a72d7e22ca',1,'linAlg.h']]], + ['scs_5ftest',['scs_test',['../unit__test__util_8h.html#a640164ab7437141b9a82e5bb8517b08c',1,'unit_test_util.h']]], + ['scs_5ftic',['scs_tic',['../util_8h.html#a565b32abd4eac5133500dc7d10bd82e8',1,'util.h']]], + ['scs_5fto_5fyaml',['scs_to_YAML',['../scs_8h.html#acb51d00d2947fedd2c75f4a8e98671fe',1,'scs.h']]], + ['scs_5ftoc',['scs_toc',['../util_8h.html#ae720b2bb97549059b393759e648889fc',1,'util.h']]], + ['scs_5ftoc_5fquiet',['scs_toc_quiet',['../util_8h.html#a1e1c4c50ab956133ead31ff0ccfa33c9',1,'util.h']]], + ['scs_5funnormalize_5fa',['scs_unnormalize_a',['../lin_sys_8h.html#adb5a6d2c40e34caf6ca5a12de730d5bb',1,'linSys.h']]], + ['scs_5funnormalize_5fsol',['scs_unnormalize_sol',['../normalize_8h.html#ad0127bbdb4d44e4a4808937de8a34746',1,'normalize.h']]], + ['scs_5fvalidate_5fcones',['scs_validate_cones',['../cones_8h.html#a53769bfbbbd583cc1154f13b9a0ed5e4',1,'cones.h']]], + ['scs_5fvalidate_5flinsys',['scs_validate_linsys',['../lin_sys_8h.html#aafa1c06f7bdf425f892d54e39aeee347',1,'linSys.h']]], + ['scs_5fversion',['scs_version',['../scs_8h.html#a43b8531ef2762feb762ead03d47ed0bf',1,'scs.h']]] ]; diff --git a/docs/search/pages_1.js b/docs/search/pages_1.js index da14e6ed6..feede8097 100644 --- a/docs/search/pages_1.js +++ b/docs/search/pages_1.js @@ -1,4 +1,5 @@ var searchData= [ - ['cones',['Cones',['../page_cones.html',1,'']]] + ['cones',['Cones',['../page_cones.html',1,'']]], + ['contributing_20to_20superscs',['Contributing to SuperSCS',['../page_contributing.html',1,'']]] ]; diff --git a/docs/search/pages_6.js b/docs/search/pages_6.js index 79bf9879b..b3bade7a9 100644 --- a/docs/search/pages_6.js +++ b/docs/search/pages_6.js @@ -1,4 +1,4 @@ var searchData= [ - ['profiling',['Profiling',['../page_profiling.html',1,'']]] + ['maros_2dmeszaros_20qp_20problems',['Maros-Meszaros QP problems',['../page_maros_meszaros_results.html',1,'']]] ]; diff --git a/docs/search/pages_7.js b/docs/search/pages_7.js index 350405e1a..79bf9879b 100644 --- a/docs/search/pages_7.js +++ b/docs/search/pages_7.js @@ -1,6 +1,4 @@ var searchData= [ - ['superscs_3a_20fast_20_26_20accurate_20conic_20programming',['SuperSCS: Fast & Accurate conic programming',['../index.html',1,'']]], - ['saving_20and_20loading_20problems',['Saving and Loading Problems',['../page_save_load.html',1,'']]], - ['sparse_20matrices',['Sparse Matrices',['../page_sparse_matrices.html',1,'']]] + ['profiling',['Profiling',['../page_profiling.html',1,'']]] ]; diff --git a/docs/search/pages_8.js b/docs/search/pages_8.js index 74d976867..350405e1a 100644 --- a/docs/search/pages_8.js +++ b/docs/search/pages_8.js @@ -1,4 +1,6 @@ var searchData= [ - ['the_20superscs_20algorithm',['The SuperSCS Algorithm',['../page_superscs.html',1,'']]] + ['superscs_3a_20fast_20_26_20accurate_20conic_20programming',['SuperSCS: Fast & Accurate conic programming',['../index.html',1,'']]], + ['saving_20and_20loading_20problems',['Saving and Loading Problems',['../page_save_load.html',1,'']]], + ['sparse_20matrices',['Sparse Matrices',['../page_sparse_matrices.html',1,'']]] ]; diff --git a/docs/search/pages_9.js b/docs/search/pages_9.js index 332851048..74d976867 100644 --- a/docs/search/pages_9.js +++ b/docs/search/pages_9.js @@ -1,4 +1,4 @@ var searchData= [ - ['using_20superscs',['Using SuperSCS',['../page_doc.html',1,'']]] + ['the_20superscs_20algorithm',['The SuperSCS Algorithm',['../page_superscs.html',1,'']]] ]; diff --git a/docs/search/pages_a.js b/docs/search/pages_a.js index cdde4d009..332851048 100644 --- a/docs/search/pages_a.js +++ b/docs/search/pages_a.js @@ -1,4 +1,4 @@ var searchData= [ - ['warm_20starting',['Warm Starting',['../page_warm_starting.html',1,'']]] + ['using_20superscs',['Using SuperSCS',['../page_doc.html',1,'']]] ]; diff --git a/docs/search/pages_b.html b/docs/search/pages_b.html new file mode 100644 index 000000000..f01d44ad9 --- /dev/null +++ b/docs/search/pages_b.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/search/pages_b.js b/docs/search/pages_b.js new file mode 100644 index 000000000..cdde4d009 --- /dev/null +++ b/docs/search/pages_b.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['warm_20starting',['Warm Starting',['../page_warm_starting.html',1,'']]] +]; diff --git a/docs/search/search.js b/docs/search/search.js index b023a5f7e..2f64b7c1e 100644 --- a/docs/search/search.js +++ b/docs/search/search.js @@ -7,16 +7,16 @@ var indexSectionsWithContent = { - 0: "_abcdefghiklmnopqrstuvwxy", - 1: "acrst", + 0: "abcdefghiklmnopqrstuvwxy", + 1: "st", 2: "abcdgilmnpsuw", - 3: "acfgimnpqrstuv", + 3: "gs", 4: "abcdefghiklmnopqrstuvwxy", - 5: "abcdipstuw", + 5: "bstu", 6: "d", 7: "afr", - 8: "_abcdefiklmnoprstvw", - 9: "bcdeilpstuw" + 8: "aefimnprst", + 9: "bcdeilmpstuw" }; var indexSectionNames = diff --git a/docs/search/typedefs_0.js b/docs/search/typedefs_0.js index ff2d88cf8..ca554e2e8 100644 --- a/docs/search/typedefs_0.js +++ b/docs/search/typedefs_0.js @@ -1,4 +1,4 @@ var searchData= [ - ['amatrix',['AMatrix',['../lin_sys_8h.html#a324336b006180aa358ac994307a02ba2',1,'linSys.h']]] + ['bool',['bool',['../unit__test__util_8h.html#a1062901a7428fdd9c7f180f5e01ea056',1,'unit_test_util.h']]] ]; diff --git a/docs/search/typedefs_1.js b/docs/search/typedefs_1.js index ca554e2e8..841bc178d 100644 --- a/docs/search/typedefs_1.js +++ b/docs/search/typedefs_1.js @@ -1,4 +1,19 @@ var searchData= [ - ['bool',['bool',['../unit__test__util_8h.html#a1062901a7428fdd9c7f180f5e01ea056',1,'unit_test_util.h']]] + ['scs_5fcs',['scs_cs',['../cs_8h.html#a274963ee6a1a0ebf30060fad1a549506',1,'cs.h']]], + ['scs_5ffloat',['scs_float',['../glbopts_8h.html#ad37836e6404bb2c3ae8adcc6290699b9',1,'glbopts.h']]], + ['scs_5fint',['scs_int',['../glbopts_8h.html#a23c48a83ce0c58783595ad45ffcaf76b',1,'glbopts.h']]], + ['scsamatrix',['ScsAMatrix',['../lin_sys_8h.html#ab1a7a022a5cda81d47af42a41a998c86',1,'linSys.h']]], + ['scscone',['ScsCone',['../glbopts_8h.html#adf87c0460d49e43de93a125c9e411fc3',1,'glbopts.h']]], + ['scsconework',['ScsConeWork',['../cones_8h.html#aed75394728d48f25b5af8b76bd4529ea',1,'cones.h']]], + ['scsconicproblemmetadata',['ScsConicProblemMetadata',['../scs_8h.html#a379a5efb3cc84716c20f289adeb84d9e',1,'scs.h']]], + ['scsdata',['ScsData',['../glbopts_8h.html#a89e9d49d0d5057e7f5951cf244e389ca',1,'glbopts.h']]], + ['scsdirectioncache',['ScsDirectionCache',['../glbopts_8h.html#ae9f61eaed65ccad35c55b2915474fa26',1,'glbopts.h']]], + ['scsdirectiontype',['ScsDirectionType',['../glbopts_8h.html#a23ea5af1185c3740fccaf722e7e50f46',1,'glbopts.h']]], + ['scsinfo',['ScsInfo',['../glbopts_8h.html#adbcd3a39353325aeb359829feb559e6a',1,'glbopts.h']]], + ['scsprivworkspace',['ScsPrivWorkspace',['../lin_sys_8h.html#a693b77327a64062a3eb2eb962f934157',1,'linSys.h']]], + ['scsscaling',['ScsScaling',['../glbopts_8h.html#afbf6ddc5b598be1d830323542c9a08d3',1,'glbopts.h']]], + ['scssettings',['ScsSettings',['../glbopts_8h.html#aee43ab2680b3b602d2d1ddd7a5f168a6',1,'glbopts.h']]], + ['scssolution',['ScsSolution',['../glbopts_8h.html#a3675b0288ffeaeeea09b5f759921bfd7',1,'glbopts.h']]], + ['scswork',['ScsWork',['../glbopts_8h.html#a1c2ba9826e3e8203c2a52e6196a2b048',1,'glbopts.h']]] ]; diff --git a/docs/search/typedefs_2.js b/docs/search/typedefs_2.js index 831ac68db..f89e5e005 100644 --- a/docs/search/typedefs_2.js +++ b/docs/search/typedefs_2.js @@ -1,5 +1,4 @@ var searchData= [ - ['cone',['Cone',['../glbopts_8h.html#a349e2c420ebc99cfdd732dc952a98182',1,'glbopts.h']]], - ['cs',['cs',['../cs_8h.html#a44e471a015cf32e012cffef17e81b6db',1,'cs.h']]] + ['timer',['timer',['../util_8h.html#a30c945d813befeeeffa501ae4a589f03',1,'util.h']]] ]; diff --git a/docs/search/typedefs_3.js b/docs/search/typedefs_3.js index b8285c31b..91d4bd21e 100644 --- a/docs/search/typedefs_3.js +++ b/docs/search/typedefs_3.js @@ -1,6 +1,4 @@ var searchData= [ - ['data',['Data',['../glbopts_8h.html#a4de8ea3f0fb0078e1829f2727d4771ed',1,'glbopts.h']]], - ['direction_5ftype',['direction_type',['../glbopts_8h.html#a2abf62b7d5a79be54f18723e9d65f06c',1,'glbopts.h']]], - ['directioncache',['DirectionCache',['../glbopts_8h.html#a0c79e97461bfe633a7623119f0e78354',1,'glbopts.h']]] + ['unittest_5ft',['unitTest_t',['../unit__test__util_8h.html#aa05ea886b98b070bbb438be664cf4ddb',1,'unit_test_util.h']]] ]; diff --git a/docs/search/variables_0.js b/docs/search/variables_0.js index f4002902c..0d94f310c 100644 --- a/docs/search/variables_0.js +++ b/docs/search/variables_0.js @@ -1,6 +1,6 @@ var searchData= [ - ['a',['A',['../struct_s_c_s___w_o_r_k.html#a669e3fa8b9f4af2cdfc35775b7b8be35',1,'SCS_WORK::A()'],['../struct_s_c_s___p_r_o_b_l_e_m___d_a_t_a.html#a669e3fa8b9f4af2cdfc35775b7b8be35',1,'SCS_PROBLEM_DATA::A()']]], - ['allocated_5fmemory',['allocated_memory',['../struct_s_c_s___i_n_f_o.html#a3cb8a1dd1b3398f0483ca08151fab39d',1,'SCS_INFO']]], - ['alpha',['alpha',['../struct_s_c_s___s_e_t_t_i_n_g_s.html#acbde49a968c48ad2215d2908de38fb3e',1,'SCS_SETTINGS']]] + ['a',['A',['../structscs__work.html#aa2cd9bbf8266227151771c6db1be0498',1,'scs_work::A()'],['../structscs__data.html#aa2cd9bbf8266227151771c6db1be0498',1,'scs_data::A()']]], + ['allocated_5fmemory',['allocated_memory',['../structscs__info.html#a3cb8a1dd1b3398f0483ca08151fab39d',1,'scs_info']]], + ['alpha',['alpha',['../structscs__settings.html#acbde49a968c48ad2215d2908de38fb3e',1,'scs_settings']]] ]; diff --git a/docs/search/variables_1.js b/docs/search/variables_1.js index 6110a93c7..7024a6a0e 100644 --- a/docs/search/variables_1.js +++ b/docs/search/variables_1.js @@ -1,7 +1,6 @@ var searchData= [ - ['b',['b',['../struct_s_c_s___w_o_r_k.html#ae35336dc13ee1174b965e64b3103e4c9',1,'SCS_WORK::b()'],['../struct_s_c_s___p_r_o_b_l_e_m___d_a_t_a.html#ae35336dc13ee1174b965e64b3103e4c9',1,'SCS_PROBLEM_DATA::b()']]], - ['beta',['beta',['../struct_s_c_s___s_e_t_t_i_n_g_s.html#a1d727f9f7c565414e082d108103e4e90',1,'SCS_SETTINGS']]], - ['broyden_5finit_5fscaling',['broyden_init_scaling',['../struct_s_c_s___s_e_t_t_i_n_g_s.html#ad1f6c0aefeb9075eecdf487931d3143e',1,'SCS_SETTINGS']]], - ['bty_5fby_5ftau',['bTy_by_tau',['../structresiduals.html#a56cabadf74bdad3ec8cb1be9cb00e751',1,'residuals']]] + ['b',['b',['../structscs__work.html#ae35336dc13ee1174b965e64b3103e4c9',1,'scs_work::b()'],['../structscs__data.html#ae35336dc13ee1174b965e64b3103e4c9',1,'scs_data::b()']]], + ['beta',['beta',['../structscs__settings.html#a1d727f9f7c565414e082d108103e4e90',1,'scs_settings']]], + ['broyden_5finit_5fscaling',['broyden_init_scaling',['../structscs__settings.html#ad1f6c0aefeb9075eecdf487931d3143e',1,'scs_settings']]] ]; diff --git a/docs/search/variables_10.js b/docs/search/variables_10.js index c720f14fe..e87558277 100644 --- a/docs/search/variables_10.js +++ b/docs/search/variables_10.js @@ -1,12 +1,12 @@ var searchData= [ - ['r',['R',['../struct_s_c_s___w_o_r_k.html#a4563d66a8673e0c25546b43da1b76227',1,'SCS_WORK']]], - ['r_5fprev',['R_prev',['../struct_s_c_s___w_o_r_k.html#a3ac8a7d38acbe5d9c3576859e0f845f7',1,'SCS_WORK']]], - ['relgap',['relGap',['../structresiduals.html#a5bc0a8d1cb4945dec173ee19e4b18b2b',1,'residuals::relGap()'],['../struct_s_c_s___i_n_f_o.html#a5bc0a8d1cb4945dec173ee19e4b18b2b',1,'SCS_INFO::relGap()']]], - ['resdual',['resDual',['../structresiduals.html#a1c525d0cde9e276dab8643ed7d4bfc59',1,'residuals::resDual()'],['../struct_s_c_s___i_n_f_o.html#a1c525d0cde9e276dab8643ed7d4bfc59',1,'SCS_INFO::resDual()']]], - ['resinfeas',['resInfeas',['../structresiduals.html#add492de95a4e81de947bb70c52c92afb',1,'residuals::resInfeas()'],['../struct_s_c_s___i_n_f_o.html#add492de95a4e81de947bb70c52c92afb',1,'SCS_INFO::resInfeas()']]], - ['respri',['resPri',['../structresiduals.html#a9a6b88cfc36e8c9140039d3a006611ca',1,'residuals::resPri()'],['../struct_s_c_s___i_n_f_o.html#a9a6b88cfc36e8c9140039d3a006611ca',1,'SCS_INFO::resPri()']]], - ['resunbdd',['resUnbdd',['../structresiduals.html#ad7038774fed3ce9a6d98fd9f7a30b560',1,'residuals::resUnbdd()'],['../struct_s_c_s___i_n_f_o.html#ad7038774fed3ce9a6d98fd9f7a30b560',1,'SCS_INFO::resUnbdd()']]], - ['rho_5fx',['rho_x',['../struct_s_c_s___s_e_t_t_i_n_g_s.html#abd2c2ac659387dab81690e651bbf166f',1,'SCS_SETTINGS']]], - ['rwu',['Rwu',['../struct_s_c_s___w_o_r_k.html#ac0350fe076fa62a8c2a5a1c7e6431acc',1,'SCS_WORK']]] + ['r',['R',['../structscs__work.html#a4563d66a8673e0c25546b43da1b76227',1,'scs_work']]], + ['r_5fprev',['R_prev',['../structscs__work.html#a3ac8a7d38acbe5d9c3576859e0f845f7',1,'scs_work']]], + ['relgap',['relGap',['../structscs__info.html#a5bc0a8d1cb4945dec173ee19e4b18b2b',1,'scs_info']]], + ['resdual',['resDual',['../structscs__info.html#a1c525d0cde9e276dab8643ed7d4bfc59',1,'scs_info']]], + ['resinfeas',['resInfeas',['../structscs__info.html#add492de95a4e81de947bb70c52c92afb',1,'scs_info']]], + ['respri',['resPri',['../structscs__info.html#a9a6b88cfc36e8c9140039d3a006611ca',1,'scs_info']]], + ['resunbdd',['resUnbdd',['../structscs__info.html#ad7038774fed3ce9a6d98fd9f7a30b560',1,'scs_info']]], + ['rho_5fx',['rho_x',['../structscs__settings.html#abd2c2ac659387dab81690e651bbf166f',1,'scs_settings']]], + ['rwu',['Rwu',['../structscs__work.html#ac0350fe076fa62a8c2a5a1c7e6431acc',1,'scs_work']]] ]; diff --git a/docs/search/variables_11.js b/docs/search/variables_11.js index 21a133c64..495ce54ba 100644 --- a/docs/search/variables_11.js +++ b/docs/search/variables_11.js @@ -1,20 +1,20 @@ var searchData= [ - ['s',['S',['../struct_s_c_s___d_i_r_e_c_t_i_o_n___m_e_m_o_r_y.html#a10bb3a9b693e18f175ccf7045b465e33',1,'SCS_DIRECTION_MEMORY::S()'],['../struct_s_c_s___c_o_n_e.html#ad03ed58d9b174c4e9ed28fdf0552f74a',1,'SCS_CONE::s()'],['../struct_s_c_s___s_o_l___v_a_r_s.html#af3e9d317ab1d49503141834552be45ab',1,'SCS_SOL_VARS::s()']]], - ['s_5fb',['s_b',['../struct_s_c_s___w_o_r_k.html#a5e28fcd9b1e8104d36d3376263140cab',1,'SCS_WORK']]], - ['s_5fminus_5fy',['S_minus_Y',['../struct_s_c_s___d_i_r_e_c_t_i_o_n___m_e_m_o_r_y.html#a80eb869a89780493714600fd7bb47443',1,'SCS_DIRECTION_MEMORY']]], - ['sc_5fb',['sc_b',['../struct_s_c_s___w_o_r_k.html#a0fe5bffa0ac061d8b45a197ef97f7fec',1,'SCS_WORK']]], - ['sc_5fc',['sc_c',['../struct_s_c_s___w_o_r_k.html#a89afffcda39d156a3927da9f1e1decf2',1,'SCS_WORK']]], - ['scal',['scal',['../struct_s_c_s___w_o_r_k.html#a29f3e3f63836efffc0c8c727da8985bd',1,'SCS_WORK']]], - ['scale',['scale',['../struct_s_c_s___s_e_t_t_i_n_g_s.html#a15d7c4d64c93b547448e6d682793e6af',1,'SCS_SETTINGS']]], - ['setuptime',['setupTime',['../struct_s_c_s___i_n_f_o.html#a737206389622dc55e144f5c27a554069',1,'SCS_INFO']]], - ['sigma',['sigma',['../struct_s_c_s___s_e_t_t_i_n_g_s.html#a127eed9b06de5903806821b4d6700c9a',1,'SCS_SETTINGS']]], - ['sk',['Sk',['../struct_s_c_s___w_o_r_k.html#a2fe0e4a3887a0a7ef034347ed0f6a065',1,'SCS_WORK']]], - ['solvetime',['solveTime',['../struct_s_c_s___i_n_f_o.html#a44176a047013546abef2b3a5935dfa97',1,'SCS_INFO']]], - ['sse',['sse',['../struct_s_c_s___s_e_t_t_i_n_g_s.html#a5e40b12249d561d4d9d0846f357e2bd5',1,'SCS_SETTINGS']]], - ['ssize',['ssize',['../struct_s_c_s___c_o_n_e.html#a5fe4cf9ee168d3bc8da9f2de4e78bbf3',1,'SCS_CONE']]], - ['status',['status',['../struct_s_c_s___i_n_f_o.html#abc302fcc962bd593b0db714fca6e2988',1,'SCS_INFO']]], - ['statusval',['statusVal',['../struct_s_c_s___i_n_f_o.html#aac2e43268116ffd134e5cb413e785b88',1,'SCS_INFO']]], - ['stepsize',['stepsize',['../struct_s_c_s___w_o_r_k.html#adbad4ed3fb42bf0d353cecf670ed7d65',1,'SCS_WORK']]], - ['stgs',['stgs',['../struct_s_c_s___w_o_r_k.html#a4720eccaeedaf5dbb54065fe1145db07',1,'SCS_WORK::stgs()'],['../struct_s_c_s___p_r_o_b_l_e_m___d_a_t_a.html#a4720eccaeedaf5dbb54065fe1145db07',1,'SCS_PROBLEM_DATA::stgs()']]] + ['s',['S',['../structscs__direction__cache.html#a10bb3a9b693e18f175ccf7045b465e33',1,'scs_direction_cache::S()'],['../structscs__cone.html#ad03ed58d9b174c4e9ed28fdf0552f74a',1,'scs_cone::s()'],['../structscs__solution.html#af3e9d317ab1d49503141834552be45ab',1,'scs_solution::s()']]], + ['s_5fb',['s_b',['../structscs__work.html#a5e28fcd9b1e8104d36d3376263140cab',1,'scs_work']]], + ['s_5fminus_5fy',['S_minus_Y',['../structscs__direction__cache.html#a80eb869a89780493714600fd7bb47443',1,'scs_direction_cache']]], + ['sc_5fb',['sc_b',['../structscs__work.html#a0fe5bffa0ac061d8b45a197ef97f7fec',1,'scs_work']]], + ['sc_5fc',['sc_c',['../structscs__work.html#a89afffcda39d156a3927da9f1e1decf2',1,'scs_work']]], + ['scal',['scal',['../structscs__work.html#abd3f662b78689b435b7e7f405c4f6a5c',1,'scs_work']]], + ['scale',['scale',['../structscs__settings.html#a15d7c4d64c93b547448e6d682793e6af',1,'scs_settings']]], + ['setuptime',['setupTime',['../structscs__info.html#a737206389622dc55e144f5c27a554069',1,'scs_info']]], + ['sigma',['sigma',['../structscs__settings.html#a127eed9b06de5903806821b4d6700c9a',1,'scs_settings']]], + ['sk',['Sk',['../structscs__work.html#a2fe0e4a3887a0a7ef034347ed0f6a065',1,'scs_work']]], + ['solvetime',['solveTime',['../structscs__info.html#a44176a047013546abef2b3a5935dfa97',1,'scs_info']]], + ['sse',['sse',['../structscs__settings.html#a5e40b12249d561d4d9d0846f357e2bd5',1,'scs_settings']]], + ['ssize',['ssize',['../structscs__cone.html#a5fe4cf9ee168d3bc8da9f2de4e78bbf3',1,'scs_cone']]], + ['status',['status',['../structscs__info.html#abc302fcc962bd593b0db714fca6e2988',1,'scs_info']]], + ['statusval',['statusVal',['../structscs__info.html#aac2e43268116ffd134e5cb413e785b88',1,'scs_info']]], + ['stepsize',['stepsize',['../structscs__work.html#adbad4ed3fb42bf0d353cecf670ed7d65',1,'scs_work']]], + ['stgs',['stgs',['../structscs__work.html#adfeab9c94401aea40a90eb61a6307160',1,'scs_work::stgs()'],['../structscs__data.html#adfeab9c94401aea40a90eb61a6307160',1,'scs_data::stgs()']]] ]; diff --git a/docs/search/variables_12.js b/docs/search/variables_12.js index 0f723bcbb..6d2a8627b 100644 --- a/docs/search/variables_12.js +++ b/docs/search/variables_12.js @@ -1,10 +1,9 @@ var searchData= [ - ['t',['t',['../struct_s_c_s___d_i_r_e_c_t_i_o_n___m_e_m_o_r_y.html#a0263999d87f0cde289dc7dc095fd6b6a',1,'SCS_DIRECTION_MEMORY']]], - ['tau',['tau',['../structresiduals.html#a8db9d48e32f599dd4667ff53620b3be4',1,'residuals']]], - ['thetabar',['thetabar',['../struct_s_c_s___s_e_t_t_i_n_g_s.html#ae93cafb315525e41c3ec244fbefe8adb',1,'SCS_SETTINGS']]], + ['t',['t',['../structscs__direction__cache.html#a0263999d87f0cde289dc7dc095fd6b6a',1,'scs_direction_cache']]], + ['thetabar',['thetabar',['../structscs__settings.html#ae93cafb315525e41c3ec244fbefe8adb',1,'scs_settings']]], ['tic',['tic',['../structtimer.html#a3e17fd7a751005d94d13eca5cb9c1aae',1,'timer']]], ['toc',['toc',['../structtimer.html#a76ef24889d11b26ed279e5efa9a3ddb2',1,'timer']]], - ['totalconetime',['totalConeTime',['../struct_cone_work.html#a08b74cc65c59296dd7dc5b1cdcec2804',1,'ConeWork']]], - ['trule',['tRule',['../struct_s_c_s___s_e_t_t_i_n_g_s.html#aa8f330e597648194eee2f0123c912b35',1,'SCS_SETTINGS']]] + ['total_5fcone_5ftime',['total_cone_time',['../structscs__cone__work.html#a8a8c48333ff3d970edd58f48ccd65b83',1,'scs_cone_work']]], + ['trule',['tRule',['../structscs__settings.html#aa8f330e597648194eee2f0123c912b35',1,'scs_settings']]] ]; diff --git a/docs/search/variables_13.js b/docs/search/variables_13.js index 61392a049..f4084dfab 100644 --- a/docs/search/variables_13.js +++ b/docs/search/variables_13.js @@ -1,7 +1,7 @@ var searchData= [ - ['u',['u',['../struct_s_c_s___w_o_r_k.html#aeb5952c928bf91032939fad97f5e56a0',1,'SCS_WORK::u()'],['../struct_s_c_s___d_i_r_e_c_t_i_o_n___m_e_m_o_r_y.html#aef122c98ef52d8ebd05a2c09481d270d',1,'SCS_DIRECTION_MEMORY::U()']]], - ['u_5fb',['u_b',['../struct_s_c_s___w_o_r_k.html#aaa07abe6adc746a999c700b05a6a1dbd',1,'SCS_WORK']]], - ['u_5fprev',['u_prev',['../struct_s_c_s___w_o_r_k.html#a488195f939d71c717cce08fcb1b498f3',1,'SCS_WORK']]], - ['u_5ft',['u_t',['../struct_s_c_s___w_o_r_k.html#af91facdec06cd0d52ed14ae30c255b5f',1,'SCS_WORK']]] + ['u',['u',['../structscs__work.html#aeb5952c928bf91032939fad97f5e56a0',1,'scs_work::u()'],['../structscs__direction__cache.html#aef122c98ef52d8ebd05a2c09481d270d',1,'scs_direction_cache::U()']]], + ['u_5fb',['u_b',['../structscs__work.html#aaa07abe6adc746a999c700b05a6a1dbd',1,'scs_work']]], + ['u_5fprev',['u_prev',['../structscs__work.html#a488195f939d71c717cce08fcb1b498f3',1,'scs_work']]], + ['u_5ft',['u_t',['../structscs__work.html#af91facdec06cd0d52ed14ae30c255b5f',1,'scs_work']]] ]; diff --git a/docs/search/variables_14.js b/docs/search/variables_14.js index 16ad77ffe..fac19170e 100644 --- a/docs/search/variables_14.js +++ b/docs/search/variables_14.js @@ -1,5 +1,5 @@ var searchData= [ - ['v',['v',['../struct_s_c_s___w_o_r_k.html#a369cedd4fff9a004af2240b57aaa0f2f',1,'SCS_WORK']]], - ['verbose',['verbose',['../struct_s_c_s___s_e_t_t_i_n_g_s.html#a1b32fd02f88434dd3c98a89ff0c8b88c',1,'SCS_SETTINGS']]] + ['v',['v',['../structscs__work.html#a369cedd4fff9a004af2240b57aaa0f2f',1,'scs_work']]], + ['verbose',['verbose',['../structscs__settings.html#a1b32fd02f88434dd3c98a89ff0c8b88c',1,'scs_settings']]] ]; diff --git a/docs/search/variables_15.js b/docs/search/variables_15.js index e2c820014..28ae39598 100644 --- a/docs/search/variables_15.js +++ b/docs/search/variables_15.js @@ -1,7 +1,7 @@ var searchData= [ - ['warm_5fstart',['warm_start',['../struct_s_c_s___s_e_t_t_i_n_g_s.html#aead03c71e10ff6b514bb17ab5b9935c0',1,'SCS_SETTINGS']]], - ['wu',['wu',['../struct_s_c_s___w_o_r_k.html#a0b92f8bfc356b0e272272523fa3b7ffd',1,'SCS_WORK']]], - ['wu_5fb',['wu_b',['../struct_s_c_s___w_o_r_k.html#a326e744daa31bdcb9fe7fbf36c7951f8',1,'SCS_WORK']]], - ['wu_5ft',['wu_t',['../struct_s_c_s___w_o_r_k.html#a7dec961a20bd76e0c4790f6842b2f6d6',1,'SCS_WORK']]] + ['warm_5fstart',['warm_start',['../structscs__settings.html#aead03c71e10ff6b514bb17ab5b9935c0',1,'scs_settings']]], + ['wu',['wu',['../structscs__work.html#a0b92f8bfc356b0e272272523fa3b7ffd',1,'scs_work']]], + ['wu_5fb',['wu_b',['../structscs__work.html#a326e744daa31bdcb9fe7fbf36c7951f8',1,'scs_work']]], + ['wu_5ft',['wu_t',['../structscs__work.html#a7dec961a20bd76e0c4790f6842b2f6d6',1,'scs_work']]] ]; diff --git a/docs/search/variables_16.js b/docs/search/variables_16.js index c2925afaa..6ecce95d0 100644 --- a/docs/search/variables_16.js +++ b/docs/search/variables_16.js @@ -1,4 +1,4 @@ var searchData= [ - ['x',['x',['../structcs__sparse.html#a6ddc07d9e8387207c2bfa3fcac466d80',1,'cs_sparse::x()'],['../struct_s_c_s___s_o_l___v_a_r_s.html#a7e74ec5c2354f5c03eae6c312c879bf1',1,'SCS_SOL_VARS::x()'],['../struct_a___d_a_t_a___m_a_t_r_i_x.html#a6ddc07d9e8387207c2bfa3fcac466d80',1,'A_DATA_MATRIX::x()']]] + ['x',['x',['../structscs__cs__sparse.html#a6ddc07d9e8387207c2bfa3fcac466d80',1,'scs_cs_sparse::x()'],['../structscs__solution.html#a7e74ec5c2354f5c03eae6c312c879bf1',1,'scs_solution::x()'],['../structscs__a__data__matrix.html#a6ddc07d9e8387207c2bfa3fcac466d80',1,'scs_a_data_matrix::x()']]] ]; diff --git a/docs/search/variables_17.js b/docs/search/variables_17.js index 5749a8cd1..408d460b1 100644 --- a/docs/search/variables_17.js +++ b/docs/search/variables_17.js @@ -1,5 +1,6 @@ var searchData= [ - ['y',['y',['../struct_s_c_s___s_o_l___v_a_r_s.html#ab1823fed3a2711df130c327421e34f85',1,'SCS_SOL_VARS']]], - ['yk',['Yk',['../struct_s_c_s___w_o_r_k.html#a5958f17a61f197197f22219e91fa5adb',1,'SCS_WORK']]] + ['y',['y',['../structscs__solution.html#ab1823fed3a2711df130c327421e34f85',1,'scs_solution']]], + ['yamlversion',['yamlVersion',['../structscs__conic__probem__metadata.html#ab9fa10624541cc95122b0eefc6bacaa1',1,'scs_conic_probem_metadata']]], + ['yk',['Yk',['../structscs__work.html#a5958f17a61f197197f22219e91fa5adb',1,'scs_work']]] ]; diff --git a/docs/search/variables_2.js b/docs/search/variables_2.js index 4775e181e..2876f7c32 100644 --- a/docs/search/variables_2.js +++ b/docs/search/variables_2.js @@ -1,10 +1,10 @@ var searchData= [ - ['c',['c',['../struct_s_c_s___w_o_r_k.html#a7fd06fce11863aeefd9e66a65ea536c1',1,'SCS_WORK::c()'],['../struct_s_c_s___p_r_o_b_l_e_m___d_a_t_a.html#a6aeec1b154ed043af7e4bf97472beb06',1,'SCS_PROBLEM_DATA::c()']]], - ['c1',['c1',['../struct_s_c_s___s_e_t_t_i_n_g_s.html#a6064471d0a6b6ec48a214bc657a8ba3c',1,'SCS_SETTINGS']]], - ['c_5fbl',['c_bl',['../struct_s_c_s___s_e_t_t_i_n_g_s.html#a71a973dd8f00869515b2a98630106a7f',1,'SCS_SETTINGS']]], - ['cg_5frate',['cg_rate',['../struct_s_c_s___s_e_t_t_i_n_g_s.html#a5f3fd9e7bc415317bc8053056e677a73',1,'SCS_SETTINGS']]], - ['conework',['coneWork',['../struct_s_c_s___w_o_r_k.html#a28a09267f3337aa53231a93172a29169',1,'SCS_WORK']]], - ['ctx_5fby_5ftau',['cTx_by_tau',['../structresiduals.html#aefd4c0f8a288390996e6c7dd372f9efc',1,'residuals']]], - ['current_5fmem',['current_mem',['../struct_s_c_s___d_i_r_e_c_t_i_o_n___m_e_m_o_r_y.html#ab8a84df21606f9441c0765ad92f9e54d',1,'SCS_DIRECTION_MEMORY']]] + ['c',['c',['../structscs__work.html#a7fd06fce11863aeefd9e66a65ea536c1',1,'scs_work::c()'],['../structscs__data.html#a7fd06fce11863aeefd9e66a65ea536c1',1,'scs_data::c()']]], + ['c1',['c1',['../structscs__settings.html#a6064471d0a6b6ec48a214bc657a8ba3c',1,'scs_settings']]], + ['c_5fbl',['c_bl',['../structscs__settings.html#a71a973dd8f00869515b2a98630106a7f',1,'scs_settings']]], + ['cg_5frate',['cg_rate',['../structscs__settings.html#a5f3fd9e7bc415317bc8053056e677a73',1,'scs_settings']]], + ['conework',['coneWork',['../structscs__work.html#a6d76e0d65bdcf6c6ffa3113ad14d8f90',1,'scs_work']]], + ['creator',['creator',['../structscs__conic__probem__metadata.html#a8ace924737d603467b3edfd2552da62d',1,'scs_conic_probem_metadata']]], + ['current_5fmem',['current_mem',['../structscs__direction__cache.html#ab8a84df21606f9441c0765ad92f9e54d',1,'scs_direction_cache']]] ]; diff --git a/docs/search/variables_3.js b/docs/search/variables_3.js index d66bdfbee..5892d717d 100644 --- a/docs/search/variables_3.js +++ b/docs/search/variables_3.js @@ -1,13 +1,14 @@ var searchData= [ - ['d',['D',['../struct_s_c_s___s_c_a_l_i_n_g.html#ac8cabc19fa16fe064369105a3ec32358',1,'SCS_SCALING']]], - ['dir',['dir',['../struct_s_c_s___w_o_r_k.html#a33ba61a73a482443c04e09a0009985bb',1,'SCS_WORK']]], - ['direction',['direction',['../struct_s_c_s___s_e_t_t_i_n_g_s.html#a52ba1d15f1faad0c99cf86ad42ef1285',1,'SCS_SETTINGS']]], - ['direction_5fcache',['direction_cache',['../struct_s_c_s___w_o_r_k.html#ab16b6298f0c4e4c881cab7f9476e9f95',1,'SCS_WORK']]], - ['do_5foverride_5fstreams',['do_override_streams',['../struct_s_c_s___s_e_t_t_i_n_g_s.html#a10b2cc1a58533111b8acfa25539056dc',1,'SCS_SETTINGS']]], - ['do_5frecord_5fprogress',['do_record_progress',['../struct_s_c_s___s_e_t_t_i_n_g_s.html#a8cffc52e994430a67229d27145a5750d',1,'SCS_SETTINGS']]], - ['do_5fsuper_5fscs',['do_super_scs',['../struct_s_c_s___s_e_t_t_i_n_g_s.html#a89aaf17bb454952ab43f9ca72cae3ff8',1,'SCS_SETTINGS']]], - ['dobj',['dobj',['../struct_s_c_s___i_n_f_o.html#afe1d6c544ac818bf3c61888342b6e398',1,'SCS_INFO']]], - ['dr',['dr',['../struct_s_c_s___w_o_r_k.html#a3796978319910bac763f65d392b04cfe',1,'SCS_WORK']]], - ['dut',['dut',['../struct_s_c_s___w_o_r_k.html#af4998e3040bd799db1c99bc65892dbaa',1,'SCS_WORK']]] + ['d',['D',['../structscs__scaling.html#ac8cabc19fa16fe064369105a3ec32358',1,'scs_scaling']]], + ['date',['date',['../structscs__conic__probem__metadata.html#a32936d7154766b4ba6eca570563bad46',1,'scs_conic_probem_metadata']]], + ['dir',['dir',['../structscs__work.html#a33ba61a73a482443c04e09a0009985bb',1,'scs_work']]], + ['direction',['direction',['../structscs__settings.html#a00f74794e516850d0b0b8c344e122361',1,'scs_settings']]], + ['direction_5fcache',['direction_cache',['../structscs__work.html#a079b7160beb20b51d3043abfab786156',1,'scs_work']]], + ['do_5foverride_5fstreams',['do_override_streams',['../structscs__settings.html#a10b2cc1a58533111b8acfa25539056dc',1,'scs_settings']]], + ['do_5frecord_5fprogress',['do_record_progress',['../structscs__settings.html#a8cffc52e994430a67229d27145a5750d',1,'scs_settings']]], + ['do_5fsuper_5fscs',['do_super_scs',['../structscs__settings.html#a89aaf17bb454952ab43f9ca72cae3ff8',1,'scs_settings']]], + ['dobj',['dobj',['../structscs__info.html#afe1d6c544ac818bf3c61888342b6e398',1,'scs_info']]], + ['dr',['dr',['../structscs__work.html#a3796978319910bac763f65d392b04cfe',1,'scs_work']]], + ['dut',['dut',['../structscs__work.html#af4998e3040bd799db1c99bc65892dbaa',1,'scs_work']]] ]; diff --git a/docs/search/variables_4.js b/docs/search/variables_4.js index c04051e45..cd7711d44 100644 --- a/docs/search/variables_4.js +++ b/docs/search/variables_4.js @@ -1,7 +1,7 @@ var searchData= [ - ['e',['E',['../struct_s_c_s___s_c_a_l_i_n_g.html#a90d7b32e8ef94fac74fff3d4a5f428a8',1,'SCS_SCALING']]], - ['ed',['ed',['../struct_s_c_s___c_o_n_e.html#a4bd9217c9273d8eda762a197abf09e32',1,'SCS_CONE']]], - ['ep',['ep',['../struct_s_c_s___c_o_n_e.html#af911d93e3da10518c57e0efbdc8354ae',1,'SCS_CONE']]], - ['eps',['eps',['../struct_s_c_s___s_e_t_t_i_n_g_s.html#a72dec01083dfcb3d60bb16207d2d5d96',1,'SCS_SETTINGS']]] + ['e',['E',['../structscs__scaling.html#a90d7b32e8ef94fac74fff3d4a5f428a8',1,'scs_scaling']]], + ['ed',['ed',['../structscs__cone.html#a4bd9217c9273d8eda762a197abf09e32',1,'scs_cone']]], + ['ep',['ep',['../structscs__cone.html#af911d93e3da10518c57e0efbdc8354ae',1,'scs_cone']]], + ['eps',['eps',['../structscs__settings.html#a72dec01083dfcb3d60bb16207d2d5d96',1,'scs_settings']]] ]; diff --git a/docs/search/variables_5.js b/docs/search/variables_5.js index 252363b0d..1a4cf5c46 100644 --- a/docs/search/variables_5.js +++ b/docs/search/variables_5.js @@ -1,4 +1,4 @@ var searchData= [ - ['f',['f',['../struct_s_c_s___c_o_n_e.html#a754d2330e3b32c549d2f1cff19b7aa94',1,'SCS_CONE']]] + ['f',['f',['../structscs__cone.html#a754d2330e3b32c549d2f1cff19b7aa94',1,'scs_cone']]] ]; diff --git a/docs/search/variables_6.js b/docs/search/variables_6.js index 9f8178a7a..1aed70f24 100644 --- a/docs/search/variables_6.js +++ b/docs/search/variables_6.js @@ -1,5 +1,5 @@ var searchData= [ - ['g',['g',['../struct_s_c_s___w_o_r_k.html#a83e17d38fa5da6fa4f226236a0442f7f',1,'SCS_WORK']]], - ['gth',['gTh',['../struct_s_c_s___w_o_r_k.html#afa56bb20d56b1f8c7329e66db8a6e51e',1,'SCS_WORK']]] + ['g',['g',['../structscs__work.html#a83e17d38fa5da6fa4f226236a0442f7f',1,'scs_work']]], + ['gth',['gTh',['../structscs__work.html#afa56bb20d56b1f8c7329e66db8a6e51e',1,'scs_work']]] ]; diff --git a/docs/search/variables_7.js b/docs/search/variables_7.js index b470312e7..6448d6ee2 100644 --- a/docs/search/variables_7.js +++ b/docs/search/variables_7.js @@ -1,5 +1,5 @@ var searchData= [ - ['h',['h',['../struct_s_c_s___w_o_r_k.html#a5d7ca201f455271f37f116909666fa2a',1,'SCS_WORK::h()'],['../struct_s_c_s___w_o_r_k.html#a021b1bf8be3697f00e75ae161c2e1cf6',1,'SCS_WORK::H()']]], - ['history_5flength',['history_length',['../struct_s_c_s___i_n_f_o.html#a5dfb720759d0a2cc25aeca6de76bae16',1,'SCS_INFO']]] + ['h',['h',['../structscs__work.html#a5d7ca201f455271f37f116909666fa2a',1,'scs_work::h()'],['../structscs__work.html#a021b1bf8be3697f00e75ae161c2e1cf6',1,'scs_work::H()']]], + ['history_5flength',['history_length',['../structscs__info.html#a5dfb720759d0a2cc25aeca6de76bae16',1,'scs_info']]] ]; diff --git a/docs/search/variables_8.js b/docs/search/variables_8.js index a36942524..6556dfd6e 100644 --- a/docs/search/variables_8.js +++ b/docs/search/variables_8.js @@ -1,5 +1,6 @@ var searchData= [ - ['i',['i',['../structcs__sparse.html#a1f7dbbbbd21533a7effe950c175e31e1',1,'cs_sparse::i()'],['../struct_a___d_a_t_a___m_a_t_r_i_x.html#a1f7dbbbbd21533a7effe950c175e31e1',1,'A_DATA_MATRIX::i()']]], - ['iter',['iter',['../struct_s_c_s___i_n_f_o.html#ae3eac7a2ca18f2a75c20c53ce6cc5650',1,'SCS_INFO']]] + ['i',['i',['../structscs__cs__sparse.html#a1f7dbbbbd21533a7effe950c175e31e1',1,'scs_cs_sparse::i()'],['../structscs__a__data__matrix.html#a1f7dbbbbd21533a7effe950c175e31e1',1,'scs_a_data_matrix::i()']]], + ['id',['id',['../structscs__conic__probem__metadata.html#a5388f6561cdc2845394f7fa7fd95309e',1,'scs_conic_probem_metadata']]], + ['iter',['iter',['../structscs__info.html#ae3eac7a2ca18f2a75c20c53ce6cc5650',1,'scs_info']]] ]; diff --git a/docs/search/variables_9.js b/docs/search/variables_9.js index a7d4625bf..e94dc6ecd 100644 --- a/docs/search/variables_9.js +++ b/docs/search/variables_9.js @@ -1,8 +1,7 @@ var searchData= [ - ['k0',['k0',['../struct_s_c_s___s_e_t_t_i_n_g_s.html#ac1ebb46880ba02d9634119349df97251',1,'SCS_SETTINGS']]], - ['k1',['k1',['../struct_s_c_s___s_e_t_t_i_n_g_s.html#a7c644d0c855262d90ce197852ce46f76',1,'SCS_SETTINGS']]], - ['k2',['k2',['../struct_s_c_s___s_e_t_t_i_n_g_s.html#ab3e52784f3dc6e37e903847e4ffc76e8',1,'SCS_SETTINGS']]], - ['kap',['kap',['../structresiduals.html#a3393a0b54a547030ed904d3f78539f9d',1,'residuals']]], - ['kap_5fb',['kap_b',['../struct_s_c_s___w_o_r_k.html#a4447608555cda2e37d7fb2dbf522453c',1,'SCS_WORK']]] + ['k0',['k0',['../structscs__settings.html#ac1ebb46880ba02d9634119349df97251',1,'scs_settings']]], + ['k1',['k1',['../structscs__settings.html#a7c644d0c855262d90ce197852ce46f76',1,'scs_settings']]], + ['k2',['k2',['../structscs__settings.html#ab3e52784f3dc6e37e903847e4ffc76e8',1,'scs_settings']]], + ['kap_5fb',['kap_b',['../structscs__work.html#a4447608555cda2e37d7fb2dbf522453c',1,'scs_work']]] ]; diff --git a/docs/search/variables_a.js b/docs/search/variables_a.js index 30c35c0b3..9c4b29e1e 100644 --- a/docs/search/variables_a.js +++ b/docs/search/variables_a.js @@ -1,8 +1,8 @@ var searchData= [ - ['l',['l',['../struct_s_c_s___c_o_n_e.html#adb100f66614f5393cab1735262257080',1,'SCS_CONE::l()'],['../struct_s_c_s___w_o_r_k.html#adb100f66614f5393cab1735262257080',1,'SCS_WORK::l()']]], - ['lastiter',['lastIter',['../structresiduals.html#a452cc031ddf0e98f0b3ad38e68f46908',1,'residuals']]], - ['ls',['ls',['../struct_s_c_s___s_e_t_t_i_n_g_s.html#a15b5effcdabcfca2f8a51a1a73ec945c',1,'SCS_SETTINGS']]], - ['ls_5fwspace',['ls_wspace',['../struct_s_c_s___d_i_r_e_c_t_i_o_n___m_e_m_o_r_y.html#ae2c05043218796fdb739ec0b3e51878e',1,'SCS_DIRECTION_MEMORY']]], - ['ls_5fwspace_5flength',['ls_wspace_length',['../struct_s_c_s___d_i_r_e_c_t_i_o_n___m_e_m_o_r_y.html#ab54ebbc17f1617bca2929c0d79010cc4',1,'SCS_DIRECTION_MEMORY']]] + ['l',['l',['../structscs__cone.html#adb100f66614f5393cab1735262257080',1,'scs_cone::l()'],['../structscs__work.html#adb100f66614f5393cab1735262257080',1,'scs_work::l()']]], + ['license',['license',['../structscs__conic__probem__metadata.html#a8bb424d521d04a5ce7ad1cab5c69be71',1,'scs_conic_probem_metadata']]], + ['ls',['ls',['../structscs__settings.html#a15b5effcdabcfca2f8a51a1a73ec945c',1,'scs_settings']]], + ['ls_5fwspace',['ls_wspace',['../structscs__direction__cache.html#ae2c05043218796fdb739ec0b3e51878e',1,'scs_direction_cache']]], + ['ls_5fwspace_5flength',['ls_wspace_length',['../structscs__direction__cache.html#ab54ebbc17f1617bca2929c0d79010cc4',1,'scs_direction_cache']]] ]; diff --git a/docs/search/variables_b.js b/docs/search/variables_b.js index b435fa88f..d3d3d7414 100644 --- a/docs/search/variables_b.js +++ b/docs/search/variables_b.js @@ -1,10 +1,11 @@ var searchData= [ - ['m',['m',['../structcs__sparse.html#abb8d3ac9f1eb0f06ce7c424c82d5f507',1,'cs_sparse::m()'],['../struct_s_c_s___w_o_r_k.html#abb8d3ac9f1eb0f06ce7c424c82d5f507',1,'SCS_WORK::m()'],['../struct_s_c_s___p_r_o_b_l_e_m___d_a_t_a.html#abb8d3ac9f1eb0f06ce7c424c82d5f507',1,'SCS_PROBLEM_DATA::m()'],['../struct_a___d_a_t_a___m_a_t_r_i_x.html#abb8d3ac9f1eb0f06ce7c424c82d5f507',1,'A_DATA_MATRIX::m()']]], - ['max_5fiters',['max_iters',['../struct_s_c_s___s_e_t_t_i_n_g_s.html#aaf089866dbf7d3a1bdda5afd48e1c5a3',1,'SCS_SETTINGS']]], - ['meannormcola',['meanNormColA',['../struct_s_c_s___s_c_a_l_i_n_g.html#a835dbf0c7da58c534285d5bb8dff78ad',1,'SCS_SCALING']]], - ['meannormrowa',['meanNormRowA',['../struct_s_c_s___s_c_a_l_i_n_g.html#af4d266ebd92e1b5d5b9626e170718417',1,'SCS_SCALING']]], - ['mem',['mem',['../struct_s_c_s___d_i_r_e_c_t_i_o_n___m_e_m_o_r_y.html#a456402bc43127e3ff141213b588208b0',1,'SCS_DIRECTION_MEMORY']]], - ['mem_5fcursor',['mem_cursor',['../struct_s_c_s___d_i_r_e_c_t_i_o_n___m_e_m_o_r_y.html#a835143691db9673858723295f73f8a1a',1,'SCS_DIRECTION_MEMORY']]], - ['memory',['memory',['../struct_s_c_s___s_e_t_t_i_n_g_s.html#a3a537b5321b2fd79aa60a1dd90f42d9a',1,'SCS_SETTINGS']]] + ['m',['m',['../structscs__cs__sparse.html#abb8d3ac9f1eb0f06ce7c424c82d5f507',1,'scs_cs_sparse::m()'],['../structscs__work.html#abb8d3ac9f1eb0f06ce7c424c82d5f507',1,'scs_work::m()'],['../structscs__data.html#abb8d3ac9f1eb0f06ce7c424c82d5f507',1,'scs_data::m()'],['../structscs__a__data__matrix.html#abb8d3ac9f1eb0f06ce7c424c82d5f507',1,'scs_a_data_matrix::m()']]], + ['max_5fiters',['max_iters',['../structscs__settings.html#aaf089866dbf7d3a1bdda5afd48e1c5a3',1,'scs_settings']]], + ['max_5ftime_5fmilliseconds',['max_time_milliseconds',['../structscs__settings.html#a5dd8ae6e13dac46b904113ee9b7ce49e',1,'scs_settings']]], + ['meannormcola',['meanNormColA',['../structscs__scaling.html#a835dbf0c7da58c534285d5bb8dff78ad',1,'scs_scaling']]], + ['meannormrowa',['meanNormRowA',['../structscs__scaling.html#af4d266ebd92e1b5d5b9626e170718417',1,'scs_scaling']]], + ['mem',['mem',['../structscs__direction__cache.html#a456402bc43127e3ff141213b588208b0',1,'scs_direction_cache']]], + ['mem_5fcursor',['mem_cursor',['../structscs__direction__cache.html#a835143691db9673858723295f73f8a1a',1,'scs_direction_cache']]], + ['memory',['memory',['../structscs__settings.html#a3a537b5321b2fd79aa60a1dd90f42d9a',1,'scs_settings']]] ]; diff --git a/docs/search/variables_c.js b/docs/search/variables_c.js index 4a08b6b9a..39eaa5fb5 100644 --- a/docs/search/variables_c.js +++ b/docs/search/variables_c.js @@ -1,11 +1,11 @@ var searchData= [ - ['n',['n',['../structcs__sparse.html#a4aa7f0765711dc019816ea1b84280d82',1,'cs_sparse::n()'],['../struct_s_c_s___w_o_r_k.html#a4aa7f0765711dc019816ea1b84280d82',1,'SCS_WORK::n()'],['../struct_s_c_s___p_r_o_b_l_e_m___d_a_t_a.html#a4aa7f0765711dc019816ea1b84280d82',1,'SCS_PROBLEM_DATA::n()'],['../struct_a___d_a_t_a___m_a_t_r_i_x.html#a4aa7f0765711dc019816ea1b84280d82',1,'A_DATA_MATRIX::n()']]], - ['nm_5fb',['nm_b',['../struct_s_c_s___w_o_r_k.html#a2e6e14cc309323a5461c37e0da56256a',1,'SCS_WORK']]], - ['nm_5fc',['nm_c',['../struct_s_c_s___w_o_r_k.html#a6e574099c662c2f00e0be6b4ed203e63',1,'SCS_WORK']]], - ['normalize',['normalize',['../struct_s_c_s___s_e_t_t_i_n_g_s.html#a787e6490032a00049a7dd4e0f7cf23e0',1,'SCS_SETTINGS']]], - ['nrmr_5fcon',['nrmR_con',['../struct_s_c_s___w_o_r_k.html#ad1dd5bed3b47b554759fb39c0ee4e118',1,'SCS_WORK']]], + ['n',['n',['../structscs__cs__sparse.html#a4aa7f0765711dc019816ea1b84280d82',1,'scs_cs_sparse::n()'],['../structscs__work.html#a4aa7f0765711dc019816ea1b84280d82',1,'scs_work::n()'],['../structscs__data.html#a4aa7f0765711dc019816ea1b84280d82',1,'scs_data::n()'],['../structscs__a__data__matrix.html#a4aa7f0765711dc019816ea1b84280d82',1,'scs_a_data_matrix::n()']]], + ['nm_5fb',['nm_b',['../structscs__work.html#a2e6e14cc309323a5461c37e0da56256a',1,'scs_work']]], + ['nm_5fc',['nm_c',['../structscs__work.html#a6e574099c662c2f00e0be6b4ed203e63',1,'scs_work']]], + ['normalize',['normalize',['../structscs__settings.html#a787e6490032a00049a7dd4e0f7cf23e0',1,'scs_settings']]], + ['nrmr_5fcon',['nrmR_con',['../structscs__work.html#ad1dd5bed3b47b554759fb39c0ee4e118',1,'scs_work']]], ['number_5fof_5fassertions',['number_of_assertions',['../unit__test__util_8h.html#a775364caef8446b5109a95a8f98249f2',1,'unit_test_util.h']]], - ['nz',['nz',['../structcs__sparse.html#a8267b0c0bc7fe5e8ff24c945325794ed',1,'cs_sparse']]], - ['nzmax',['nzmax',['../structcs__sparse.html#ac1bfba554f3869b6971c2a0cb5633ef9',1,'cs_sparse']]] + ['nz',['nz',['../structscs__cs__sparse.html#a8267b0c0bc7fe5e8ff24c945325794ed',1,'scs_cs_sparse']]], + ['nzmax',['nzmax',['../structscs__cs__sparse.html#ac1bfba554f3869b6971c2a0cb5633ef9',1,'scs_cs_sparse']]] ]; diff --git a/docs/search/variables_d.js b/docs/search/variables_d.js index 22375dd23..16a66343b 100644 --- a/docs/search/variables_d.js +++ b/docs/search/variables_d.js @@ -1,4 +1,4 @@ var searchData= [ - ['output_5fstream',['output_stream',['../struct_s_c_s___s_e_t_t_i_n_g_s.html#a76d631eb282e1904798e902ce8ac0f4b',1,'SCS_SETTINGS']]] + ['output_5fstream',['output_stream',['../structscs__settings.html#a76d631eb282e1904798e902ce8ac0f4b',1,'scs_settings']]] ]; diff --git a/docs/search/variables_e.js b/docs/search/variables_e.js index 3743bee39..2bfabc41a 100644 --- a/docs/search/variables_e.js +++ b/docs/search/variables_e.js @@ -1,18 +1,19 @@ var searchData= [ - ['p',['p',['../struct_s_c_s___c_o_n_e.html#a25427ac5730a90fee735e2a1dd805261',1,'SCS_CONE::p()'],['../structcs__sparse.html#aa341eac00e906fabba371f34ce8f1e3c',1,'cs_sparse::p()'],['../struct_s_c_s___w_o_r_k.html#a1699f3229820155e6ea946c6fb5e1470',1,'SCS_WORK::p()'],['../struct_a___d_a_t_a___m_a_t_r_i_x.html#aa341eac00e906fabba371f34ce8f1e3c',1,'A_DATA_MATRIX::p()']]], - ['pobj',['pobj',['../struct_s_c_s___i_n_f_o.html#a0e436f279ea98b8813f35eb9f9676298',1,'SCS_INFO']]], - ['pr',['pr',['../struct_s_c_s___w_o_r_k.html#a771f8819406c653bbad4af1ce89145ff',1,'SCS_WORK']]], - ['previous_5fmax_5fiters',['previous_max_iters',['../struct_s_c_s___s_e_t_t_i_n_g_s.html#acaa7e7c1997bc99118dbbd9d78b921b1',1,'SCS_SETTINGS']]], - ['progress_5fdcost',['progress_dcost',['../struct_s_c_s___i_n_f_o.html#a5f58a7d2e3b21b6293f9dc18fad1516e',1,'SCS_INFO']]], - ['progress_5fiter',['progress_iter',['../struct_s_c_s___i_n_f_o.html#a1e0a854b1df76775abcdd482198a968b',1,'SCS_INFO']]], - ['progress_5fls',['progress_ls',['../struct_s_c_s___i_n_f_o.html#ac8b7d5f3bbc8a196eb6fbd93da224447',1,'SCS_INFO']]], - ['progress_5fmode',['progress_mode',['../struct_s_c_s___i_n_f_o.html#a3403bba41cccc3b271bacef5c2a16b93',1,'SCS_INFO']]], - ['progress_5fnorm_5ffpr',['progress_norm_fpr',['../struct_s_c_s___i_n_f_o.html#aa8d3094837ddfd7d8a29ec32cc0a39cb',1,'SCS_INFO']]], - ['progress_5fpcost',['progress_pcost',['../struct_s_c_s___i_n_f_o.html#ab2a1f0b06f51e53062a9f39e0a2b176b',1,'SCS_INFO']]], - ['progress_5frelgap',['progress_relgap',['../struct_s_c_s___i_n_f_o.html#a78ec1e5b6e9fff17563834b24fea4ba1',1,'SCS_INFO']]], - ['progress_5fresdual',['progress_resdual',['../struct_s_c_s___i_n_f_o.html#a7fc10281bc5dd57fdee99952ae621f11',1,'SCS_INFO']]], - ['progress_5frespri',['progress_respri',['../struct_s_c_s___i_n_f_o.html#a63467c1ee8b5014752174dbbb4efe24a',1,'SCS_INFO']]], - ['progress_5ftime',['progress_time',['../struct_s_c_s___i_n_f_o.html#a214c1247208e893154b1d161d1e2e3f7',1,'SCS_INFO']]], - ['psize',['psize',['../struct_s_c_s___c_o_n_e.html#af7d4341d6c7cf45d5161bd2e76cc2cf4',1,'SCS_CONE']]] + ['p',['p',['../structscs__cone.html#a25427ac5730a90fee735e2a1dd805261',1,'scs_cone::p()'],['../structscs__cs__sparse.html#aa341eac00e906fabba371f34ce8f1e3c',1,'scs_cs_sparse::p()'],['../structscs__work.html#ae94f02d0a64a71427005a903a50a5d50',1,'scs_work::p()'],['../structscs__a__data__matrix.html#aa341eac00e906fabba371f34ce8f1e3c',1,'scs_a_data_matrix::p()']]], + ['pobj',['pobj',['../structscs__info.html#a0e436f279ea98b8813f35eb9f9676298',1,'scs_info']]], + ['pr',['pr',['../structscs__work.html#a771f8819406c653bbad4af1ce89145ff',1,'scs_work']]], + ['previous_5fmax_5fiters',['previous_max_iters',['../structscs__settings.html#acaa7e7c1997bc99118dbbd9d78b921b1',1,'scs_settings']]], + ['problemname',['problemName',['../structscs__conic__probem__metadata.html#a713ad5444b697dd8a54740af0abeac19',1,'scs_conic_probem_metadata']]], + ['progress_5fdcost',['progress_dcost',['../structscs__info.html#a5f58a7d2e3b21b6293f9dc18fad1516e',1,'scs_info']]], + ['progress_5fiter',['progress_iter',['../structscs__info.html#a1e0a854b1df76775abcdd482198a968b',1,'scs_info']]], + ['progress_5fls',['progress_ls',['../structscs__info.html#ac8b7d5f3bbc8a196eb6fbd93da224447',1,'scs_info']]], + ['progress_5fmode',['progress_mode',['../structscs__info.html#a3403bba41cccc3b271bacef5c2a16b93',1,'scs_info']]], + ['progress_5fnorm_5ffpr',['progress_norm_fpr',['../structscs__info.html#aa8d3094837ddfd7d8a29ec32cc0a39cb',1,'scs_info']]], + ['progress_5fpcost',['progress_pcost',['../structscs__info.html#ab2a1f0b06f51e53062a9f39e0a2b176b',1,'scs_info']]], + ['progress_5frelgap',['progress_relgap',['../structscs__info.html#a78ec1e5b6e9fff17563834b24fea4ba1',1,'scs_info']]], + ['progress_5fresdual',['progress_resdual',['../structscs__info.html#a7fc10281bc5dd57fdee99952ae621f11',1,'scs_info']]], + ['progress_5frespri',['progress_respri',['../structscs__info.html#a63467c1ee8b5014752174dbbb4efe24a',1,'scs_info']]], + ['progress_5ftime',['progress_time',['../structscs__info.html#a214c1247208e893154b1d161d1e2e3f7',1,'scs_info']]], + ['psize',['psize',['../structscs__cone.html#af7d4341d6c7cf45d5161bd2e76cc2cf4',1,'scs_cone']]] ]; diff --git a/docs/search/variables_f.js b/docs/search/variables_f.js index 61b358910..fb2772529 100644 --- a/docs/search/variables_f.js +++ b/docs/search/variables_f.js @@ -1,5 +1,5 @@ var searchData= [ - ['q',['q',['../struct_s_c_s___c_o_n_e.html#a3683559d8417590c873a1e4d02de9b58',1,'SCS_CONE']]], - ['qsize',['qsize',['../struct_s_c_s___c_o_n_e.html#addc0bc141289f832d3a1ededbc0217d9',1,'SCS_CONE']]] + ['q',['q',['../structscs__cone.html#a3683559d8417590c873a1e4d02de9b58',1,'scs_cone']]], + ['qsize',['qsize',['../structscs__cone.html#addc0bc141289f832d3a1ededbc0217d9',1,'scs_cone']]] ]; diff --git a/docs/socp__page_8h.html b/docs/socp__page_8h.html index 2f509a19e..0243c4b2e 100644 --- a/docs/socp__page_8h.html +++ b/docs/socp__page_8h.html @@ -1,10 +1,13 @@ - - + + + + + -SuperSCS: pages/socp_page.h File Reference +SuperSCS: SuperSCS: Fast & Accurate conic programming @@ -21,6 +24,14 @@ + + +
    @@ -28,8 +39,10 @@
    SuperSCS +  1.3.2
    + @@ -100,7 +113,7 @@ diff --git a/docs/socp__page_8h_source.html b/docs/socp__page_8h_source.html index 3dee7d803..695a9ada9 100644 --- a/docs/socp__page_8h_source.html +++ b/docs/socp__page_8h_source.html @@ -1,10 +1,13 @@ - - + + + + + -SuperSCS: pages/socp_page.h Source File +SuperSCS: SuperSCS: Fast & Accurate conic programming @@ -21,6 +24,14 @@ + + +
    @@ -28,8 +39,10 @@
    SuperSCS +  1.3.2
    + @@ -99,7 +112,7 @@ diff --git a/docs/sparse__martrices__page_8h.html b/docs/sparse__martrices__page_8h.html index 0b99e2afa..3cfc8394f 100644 --- a/docs/sparse__martrices__page_8h.html +++ b/docs/sparse__martrices__page_8h.html @@ -1,10 +1,13 @@ - - + + + + + -SuperSCS: pages/sparse_martrices_page.h File Reference +SuperSCS: SuperSCS: Fast & Accurate conic programming @@ -21,6 +24,14 @@ + + +
    @@ -28,8 +39,10 @@
    SuperSCS +  1.3.2
    + @@ -100,7 +113,7 @@ diff --git a/docs/sparse__martrices__page_8h_source.html b/docs/sparse__martrices__page_8h_source.html index 6e6ed4adc..c21725bc9 100644 --- a/docs/sparse__martrices__page_8h_source.html +++ b/docs/sparse__martrices__page_8h_source.html @@ -1,10 +1,13 @@ - - + + + + + -SuperSCS: pages/sparse_martrices_page.h Source File +SuperSCS: SuperSCS: Fast & Accurate conic programming @@ -21,6 +24,14 @@ + + +
    @@ -28,8 +39,10 @@
    SuperSCS +  1.3.2
    + @@ -99,7 +112,7 @@ diff --git a/docs/struct_conic_problem_metadata.html b/docs/struct_conic_problem_metadata.html new file mode 100644 index 000000000..8dd448b48 --- /dev/null +++ b/docs/struct_conic_problem_metadata.html @@ -0,0 +1,228 @@ + + + + + + +SuperSCS: ConicProblemMetadata Struct Reference + + + + + + + + + + + +
    +
    +
    SuperSCS +  1.3.2
    + + + + + +
    +
    SuperSCS +
    +
    +
    + + + + + + + + + +
    + +
    + +
    +
    + +
    +
    ConicProblemMetadata Struct Reference
    +
    +
    + +

    Metadata for conic optimization problems. + More...

    + +

    #include <scs.h>

    + + + + + + + + + + + + + + + + + + + + +

    +Data Fields

    char id [SCS_METADATA_TEXT_SIZE]
     Unique identifier of the conic problem. More...
     
    char problemName [SCS_METADATA_TEXT_SIZE]
     Problem name. More...
     
    char license [SCS_METADATA_TEXT_SIZE]
     License of the problem data. More...
     
    char creator [SCS_METADATA_TEXT_SIZE]
     Creator of the problem. More...
     
    char yamlVersion [SCS_METADATA_TEXT_SIZE]
     YAML version. More...
     
    char date [SCS_METADATA_TEXT_SIZE]
     Creation date. More...
     
    +

    Detailed Description

    +

    Metadata for conic optimization problems.

    +

    All fields of this structure are character arrays of a fixed length, equal to SCS_METADATA_TEXT_SIZE.

    +
    See Also
    scs_to_YAML
    +
    +scs_from_YAML
    +

    Field Documentation

    + +
    +
    + + + + +
    char creator[SCS_METADATA_TEXT_SIZE]
    +
    + +

    Creator of the problem.

    + +
    +
    + +
    +
    + + + + +
    char date[SCS_METADATA_TEXT_SIZE]
    +
    + +

    Creation date.

    + +
    +
    + +
    +
    + + + + +
    char id[SCS_METADATA_TEXT_SIZE]
    +
    + +

    Unique identifier of the conic problem.

    +

    This can be, for example, a URI.

    + +
    +
    + +
    +
    + + + + +
    char license[SCS_METADATA_TEXT_SIZE]
    +
    + +

    License of the problem data.

    +

    If applicable, link (URL) to a license.

    + +
    +
    + +
    +
    + + + + +
    char problemName[SCS_METADATA_TEXT_SIZE]
    +
    + +

    Problem name.

    + +
    +
    + +
    +
    + + + + +
    char yamlVersion[SCS_METADATA_TEXT_SIZE]
    +
    + +

    YAML version.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/docs/struct_direction_cache.html b/docs/struct_direction_cache.html new file mode 100644 index 000000000..794b15fc7 --- /dev/null +++ b/docs/struct_direction_cache.html @@ -0,0 +1,277 @@ + + + + + + +SuperSCS: DirectionCache Struct Reference + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    SuperSCS +  1.3.1 +
    +
    +
    + + + + + + + + + +
    + +
    + +
    +
    + +
    +
    DirectionCache Struct Reference
    +
    +
    + +

    Memory for the computation of directions (Broyden and Anderson's methods). + More...

    + +

    #include <scs.h>

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Data Fields

    scs_floatS
     cached values of \(s_i\) (s-memory) More...
     
    scs_floatU
     cached values of \(u_i = \frac{s_i - \tilde{s}_i}{\langle s_i, \tilde{s}_i\rangle}\), or cached values of \(y_i\) More...
     
    scs_floatS_minus_Y
     The difference \(S-Y\) (for Anderson's acceleration) More...
     
    scs_floatt
     Solution of the linear system \(Yt = R(x)\). More...
     
    scs_int ls_wspace_length
     Length of workspace used to solve Anderson's linear system. More...
     
    scs_floatls_wspace
     Workspace used to solve Anderson's linear system. More...
     
    scs_int mem_cursor
     current memory cursor [0..mem-1] More...
     
    scs_int mem
     (target/maximum/allocated) memory More...
     
    scs_int current_mem
     current memory length More...
     
    +

    Detailed Description

    +

    Memory for the computation of directions (Broyden and Anderson's methods).

    +

    For Broyden's method, a cache of \((s_i, u_i)\) where \(u_i = \frac{s_i - \tilde{s}_i}{\langle s_i, \tilde{s}_i\rangle}\). We do not need to store past values of \(\tilde{s}_i\).

    +

    For Anderson's acceleration, it stores pairs \((s_i, y_i)\).

    +

    Field Documentation

    + +
    +
    + + + + +
    scs_int current_mem
    +
    + +

    current memory length

    + +
    +
    + +
    +
    + + + + +
    scs_float* ls_wspace
    +
    + +

    Workspace used to solve Anderson's linear system.

    + +
    +
    + +
    +
    + + + + +
    scs_int ls_wspace_length
    +
    + +

    Length of workspace used to solve Anderson's linear system.

    + +
    +
    + +
    +
    + + + + +
    scs_int mem
    +
    + +

    (target/maximum/allocated) memory

    + +
    +
    + +
    +
    + + + + +
    scs_int mem_cursor
    +
    + +

    current memory cursor [0..mem-1]

    + +
    +
    + +
    +
    + + + + +
    scs_float* S
    +
    + +

    cached values of \(s_i\) (s-memory)

    + +
    +
    + +
    +
    + + + + +
    scs_float* S_minus_Y
    +
    + +

    The difference \(S-Y\) (for Anderson's acceleration)

    + +
    +
    + +
    +
    + + + + +
    scs_float* t
    +
    + +

    Solution of the linear system \(Yt = R(x)\).

    + +
    +
    + +
    +
    + + + + +
    scs_float* U
    +
    + +

    cached values of \(u_i = \frac{s_i - \tilde{s}_i}{\langle s_i, \tilde{s}_i\rangle}\), or cached values of \(y_i\)

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/docs/struct_scs_cone.html b/docs/struct_scs_cone.html new file mode 100644 index 000000000..ba37c2e0e --- /dev/null +++ b/docs/struct_scs_cone.html @@ -0,0 +1,310 @@ + + + + + + +SuperSCS: ScsCone Struct Reference + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    SuperSCS +  1.3.1 +
    +
    +
    + + + + + + + + + +
    + +
    + +
    +
    + +
    +
    ScsCone Struct Reference
    +
    +
    + +

    Cone structure. + More...

    + +

    #include <cones.h>

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Data Fields

    scs_int f
     Number of linear equality constraints \((n_{\mathrm{f}})\). More...
     
    scs_int l
     Dimension of LP cone \((n_{\mathrm{l}})\). More...
     
    scs_int *RESTRICT q
     Array of SOC constraints \((n_{\mathrm{q},1},\ldots, n_{\mathrm{q},N_{\mathrm{q}}})\). More...
     
    scs_int qsize
     Length of SOC array, i.e., number of second-order cones \((N_{\mathrm{q}})\). More...
     
    scs_int *RESTRICT s
     array of PSD constraints \((k_1,\ldots, k_{N_{\mathrm{s}}})\) More...
     
    scs_int ssize
     length of PSD array \((N_{\mathrm{s}})\) More...
     
    scs_int ep
     Number of primal exponential cone triples \((n_{\mathrm{ep}})\). More...
     
    scs_int ed
     number of dual exponential cone triples \((n_{\mathrm{de}})\) More...
     
    scs_floatp
     Array of power cone params \((\alpha_1,\ldots,\alpha_{N_{\mathrm{p}}})\). More...
     
    scs_int psize
     Number of (primal and dual) power cone tuples \((N_{\mathrm{p}})\). More...
     
    +

    Detailed Description

    +

    Cone structure.

    +

    This structure represents a Cartesian product of cones as explained in detail in this documentation page.

    +
    See Also
    Cones documentation
    +

    Field Documentation

    + +
    +
    + + + + +
    scs_int ed
    +
    + +

    number of dual exponential cone triples \((n_{\mathrm{de}})\)

    +
    See Also
    primal exponential cone
    + +
    +
    + +
    +
    + + + + +
    scs_int ep
    +
    + +

    Number of primal exponential cone triples \((n_{\mathrm{ep}})\).

    +
    See Also
    dual exponential cone
    + +
    +
    + +
    +
    + + + + +
    scs_int f
    +
    + +

    Number of linear equality constraints \((n_{\mathrm{f}})\).

    +

    The corresponding cone is the zero-cone \(\mathcal{K}^{f}_{n_f} = \{0_{n_f}\}\)

    + +
    +
    + +
    +
    + + + + +
    scs_int l
    +
    + +

    Dimension of LP cone \((n_{\mathrm{l}})\).

    +

    This is used to specify element-wise inequalities.

    +

    The corresponding cone is the positive orthant \(\mathcal{K}^{l}_{n_l} = \{x\in\mathbb{R}^{n_l}: x_i \geq 0, \forall i\}\)

    + +
    +
    + +
    +
    + + + + +
    scs_float* p
    +
    + +

    Array of power cone params \((\alpha_1,\ldots,\alpha_{N_{\mathrm{p}}})\).

    +
    Note
    Cone parameters must be in \([-1, 1]\).
    +
    +Negative values are interpreted as specifying the dual cone
    + +
    +
    + +
    +
    + + + + +
    scs_int psize
    +
    + +

    Number of (primal and dual) power cone tuples \((N_{\mathrm{p}})\).

    + +
    +
    + +
    +
    + + + + +
    scs_int* RESTRICT q
    +
    + +

    Array of SOC constraints \((n_{\mathrm{q},1},\ldots, n_{\mathrm{q},N_{\mathrm{q}}})\).

    +

    This is the Cartesian product of \(N_{so}\) cones with dimensions \(n_{so_1},\ldots, n_{so,N_{so}}\).

    +

    This array contains the dimensions \((n_{so_1},\ldots, n_{so,N_{so}})\).

    +

    The length of this array is specified in qsize.

    +
    See Also
    number of second-order cones
    + +
    +
    + +
    +
    + + + + +
    scs_int qsize
    +
    + +

    Length of SOC array, i.e., number of second-order cones \((N_{\mathrm{q}})\).

    +
    See Also
    array of second-order cones
    + +
    +
    + +
    +
    + + + + +
    scs_int* RESTRICT s
    +
    + +

    array of PSD constraints \((k_1,\ldots, k_{N_{\mathrm{s}}})\)

    +

    Array of dimensions of PSD constraints.

    +
    See Also
    number of PSD cones
    + +
    +
    + +
    +
    + + + + +
    scs_int ssize
    +
    + +

    length of PSD array \((N_{\mathrm{s}})\)

    +
    See Also
    array of positive semidefinite cones
    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/docs/struct_scs_conic_problem_metadata.html b/docs/struct_scs_conic_problem_metadata.html new file mode 100644 index 000000000..f698d3e5b --- /dev/null +++ b/docs/struct_scs_conic_problem_metadata.html @@ -0,0 +1,230 @@ + + + + + + +SuperSCS: ScsConicProblemMetadata Struct Reference + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    SuperSCS +  1.3.2 +
    +
    +
    + + + + + + + + + +
    + +
    + +
    +
    + +
    +
    ScsConicProblemMetadata Struct Reference
    +
    +
    + +

    Metadata for conic optimization problems. + More...

    + +

    #include <scs.h>

    + + + + + + + + + + + + + + + + + + + + +

    +Data Fields

    char id [SCS_METADATA_TEXT_SIZE]
     Unique identifier of the conic problem. More...
     
    char problemName [SCS_METADATA_TEXT_SIZE]
     Problem name. More...
     
    char license [SCS_METADATA_TEXT_SIZE]
     License of the problem data. More...
     
    char creator [SCS_METADATA_TEXT_SIZE]
     Creator of the problem. More...
     
    char yamlVersion [SCS_METADATA_TEXT_SIZE]
     YAML version. More...
     
    char date [SCS_METADATA_TEXT_SIZE]
     Creation date. More...
     
    +

    Detailed Description

    +

    Metadata for conic optimization problems.

    +

    All fields of this structure are character arrays of a fixed length, equal to SCS_METADATA_TEXT_SIZE.

    +
    See Also
    scs_to_YAML
    +
    +scs_from_YAML
    +

    Field Documentation

    + +
    +
    + + + + +
    char creator[SCS_METADATA_TEXT_SIZE]
    +
    + +

    Creator of the problem.

    + +
    +
    + +
    +
    + + + + +
    char date[SCS_METADATA_TEXT_SIZE]
    +
    + +

    Creation date.

    + +
    +
    + +
    +
    + + + + +
    char id[SCS_METADATA_TEXT_SIZE]
    +
    + +

    Unique identifier of the conic problem.

    +

    This can be, for example, a URI.

    + +
    +
    + +
    +
    + + + + +
    char license[SCS_METADATA_TEXT_SIZE]
    +
    + +

    License of the problem data.

    +

    If applicable, link (URL) to a license.

    + +
    +
    + +
    +
    + + + + +
    char problemName[SCS_METADATA_TEXT_SIZE]
    +
    + +

    Problem name.

    + +
    +
    + +
    +
    + + + + +
    char yamlVersion[SCS_METADATA_TEXT_SIZE]
    +
    + +

    YAML version.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/docs/struct_scs_data.html b/docs/struct_scs_data.html new file mode 100644 index 000000000..3e6ed2b08 --- /dev/null +++ b/docs/struct_scs_data.html @@ -0,0 +1,211 @@ + + + + + + +SuperSCS: ScsData Struct Reference + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    SuperSCS +  1.3.1 +
    +
    +
    + + + + + + + + + +
    + +
    + +
    +
    + +
    +
    ScsData Struct Reference
    +
    +
    + +

    struct containing problem data + More...

    + +

    #include <scs.h>

    + + + + + + + + + + + + + + +

    +Data Fields

    scs_int m
     
    scs_int n
     
    AMatrixA
     
    scs_float *RESTRICT b
     
    scs_float *RESTRICT c
     
    ScsSettings *RESTRICT stgs
     
    +

    Detailed Description

    +

    struct containing problem data

    +

    Problem dimensions, matrix \(A\), vectors \(b\) and \(c\) and settings.

    +

    Field Documentation

    + +
    +
    + + + + +
    AMatrix* A
    +
    +

    A is supplied in data format specified by linsys solver

    + +
    +
    + +
    +
    + + + + +
    scs_float* RESTRICT b
    +
    + +
    +
    + +
    +
    + + + + +
    scs_float* RESTRICT c
    +
    + +
    +
    + +
    +
    + + + + +
    scs_int m
    +
    +

    row dimension of \(A\)

    + +
    +
    + +
    +
    + + + + +
    scs_int n
    +
    +

    column dimension of \(A\)

    + +
    +
    + +
    +
    + + + + +
    ScsSettings* RESTRICT stgs
    +
    +

    contains solver settings specified by user

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/docs/struct_scs_info.html b/docs/struct_scs_info.html new file mode 100644 index 000000000..ed1ff7387 --- /dev/null +++ b/docs/struct_scs_info.html @@ -0,0 +1,531 @@ + + + + + + +SuperSCS: ScsInfo Struct Reference + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    SuperSCS +  1.3.1 +
    +
    +
    + + + + + + + + + +
    + +
    + +
    +
    + +
    +
    ScsInfo Struct Reference
    +
    +
    + +

    Terminating information and solver statistics. + More...

    + +

    #include <scs.h>

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Data Fields

    char status [32]
     status string, e.g. 'Solved' More...
     
    scs_int iter
     number of iterations taken More...
     
    scs_int statusVal
     status as scs_int, defined in constants.h More...
     
    scs_int history_length
     how many history entries More...
     
    scs_float pobj
     primal objective More...
     
    scs_float dobj
     dual objective More...
     
    scs_float resPri
     primal equality residual More...
     
    scs_float resDual
     dual equality residual More...
     
    scs_float resInfeas
     infeasibility cert residual More...
     
    scs_float resUnbdd
     unbounded cert residual More...
     
    scs_float relGap
     relative duality gap More...
     
    scs_float setupTime
     time taken for setup phase (milliseconds) More...
     
    scs_float solveTime
     time taken for solve phase (milliseconds) More...
     
    scs_float *RESTRICT progress_relgap
     relative gap history More...
     
    scs_float *RESTRICT progress_respri
     primal residual history More...
     
    scs_float *RESTRICT progress_resdual
     dual residual history More...
     
    scs_float *RESTRICT progress_pcost
     scaled primal cost history More...
     
    scs_float *RESTRICT progress_dcost
     sclaed dual cost history More...
     
    scs_float *RESTRICT progress_norm_fpr
     FPR history. More...
     
    scs_float *RESTRICT progress_time
     Timestamp of iteration. More...
     
    scs_int *RESTRICT progress_iter
     iterations when residulas are recorded More...
     
    scs_int *RESTRICT progress_mode
     Mode of SuperSCS at each iteration. More...
     
    scs_int *RESTRICT progress_ls
     Number of line search iterations. More...
     
    long allocated_memory
     Memory, in bytes, that was allocated to run the algorithm. More...
     
    +

    Detailed Description

    +

    Terminating information and solver statistics.

    +
    See Also
    scs_free_info
    +

    Field Documentation

    + +
    +
    + + + + +
    long allocated_memory
    +
    + +

    Memory, in bytes, that was allocated to run the algorithm.

    + +
    +
    + +
    +
    + + + + +
    scs_float dobj
    +
    + +

    dual objective

    + +
    +
    + +
    +
    + + + + +
    scs_int history_length
    +
    + +

    how many history entries

    + +
    +
    + +
    +
    + + + + +
    scs_int iter
    +
    + +

    number of iterations taken

    + +
    +
    + +
    +
    + + + + +
    scs_float pobj
    +
    + +

    primal objective

    + +
    +
    + +
    +
    + + + + +
    scs_float* RESTRICT progress_dcost
    +
    + +

    sclaed dual cost history

    + +
    +
    + +
    +
    + + + + +
    scs_int* RESTRICT progress_iter
    +
    + +

    iterations when residulas are recorded

    + +
    +
    + +
    +
    + + + + +
    scs_int* RESTRICT progress_ls
    +
    + +

    Number of line search iterations.

    + +
    +
    + +
    +
    + + + + +
    scs_int* RESTRICT progress_mode
    +
    + +

    Mode of SuperSCS at each iteration.

    + +
    +
    + +
    +
    + + + + +
    scs_float* RESTRICT progress_norm_fpr
    +
    + +

    FPR history.

    + +
    +
    + +
    +
    + + + + +
    scs_float* RESTRICT progress_pcost
    +
    + +

    scaled primal cost history

    + +
    +
    + +
    +
    + + + + +
    scs_float* RESTRICT progress_relgap
    +
    + +

    relative gap history

    + +
    +
    + +
    +
    + + + + +
    scs_float* RESTRICT progress_resdual
    +
    + +

    dual residual history

    + +
    +
    + +
    +
    + + + + +
    scs_float* RESTRICT progress_respri
    +
    + +

    primal residual history

    + +
    +
    + +
    +
    + + + + +
    scs_float* RESTRICT progress_time
    +
    + +

    Timestamp of iteration.

    + +
    +
    + +
    +
    + + + + +
    scs_float relGap
    +
    + +

    relative duality gap

    + +
    +
    + +
    +
    + + + + +
    scs_float resDual
    +
    + +

    dual equality residual

    + +
    +
    + +
    +
    + + + + +
    scs_float resInfeas
    +
    + +

    infeasibility cert residual

    + +
    +
    + +
    +
    + + + + +
    scs_float resPri
    +
    + +

    primal equality residual

    + +
    +
    + +
    +
    + + + + +
    scs_float resUnbdd
    +
    + +

    unbounded cert residual

    + +
    +
    + +
    +
    + + + + +
    scs_float setupTime
    +
    + +

    time taken for setup phase (milliseconds)

    + +
    +
    + +
    +
    + + + + +
    scs_float solveTime
    +
    + +

    time taken for solve phase (milliseconds)

    + +
    +
    + +
    +
    + + + + +
    char status[32]
    +
    + +

    status string, e.g. 'Solved'

    + +
    +
    + +
    +
    + + + + +
    scs_int statusVal
    +
    + +

    status as scs_int, defined in constants.h

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/docs/struct_scs_scaling.html b/docs/struct_scs_scaling.html new file mode 100644 index 000000000..efa11b9af --- /dev/null +++ b/docs/struct_scs_scaling.html @@ -0,0 +1,178 @@ + + + + + + +SuperSCS: ScsScaling Struct Reference + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    SuperSCS +  1.3.1 +
    +
    +
    + + + + + + + + + +
    + +
    + +
    +
    + +
    +
    ScsScaling Struct Reference
    +
    +
    + +

    Normalization variables. + More...

    + +

    #include <scs.h>

    + + + + + + + + + + +

    +Data Fields

    scs_float *RESTRICT D
     
    scs_float *RESTRICT *RESTRICT E
     
    scs_float meanNormRowA
     
    scs_float meanNormColA
     
    +

    Detailed Description

    +

    Normalization variables.

    +

    Field Documentation

    + +
    +
    + + + + +
    scs_float* RESTRICT D
    +
    + +
    +
    + +
    +
    + + + + +
    scs_float* RESTRICT * RESTRICT E
    +
    + +
    +
    + +
    +
    + + + + +
    scs_float meanNormColA
    +
    + +
    +
    + +
    +
    + + + + +
    scs_float meanNormRowA
    +
    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/docs/struct_scs_settings.html b/docs/struct_scs_settings.html new file mode 100644 index 000000000..2cf8e7eaa --- /dev/null +++ b/docs/struct_scs_settings.html @@ -0,0 +1,581 @@ + + + + + + +SuperSCS: ScsSettings Struct Reference + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    SuperSCS +  1.3.1 +
    +
    +
    + + + + + + + + + +
    + +
    + +
    +
    + +
    +
    ScsSettings Struct Reference
    +
    +
    + +

    Settings structure. + More...

    + +

    #include <scs.h>

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Data Fields

    scs_int normalize
     
    scs_float scale
     
    scs_float rho_x
     
    scs_float max_time_milliseconds
     
    scs_int max_iters
     
    scs_int previous_max_iters
     
    scs_float eps
     
    scs_float alpha
     
    scs_float cg_rate
     
    scs_int verbose
     
    scs_int warm_start
     
    scs_int do_super_scs
     
    scs_int k0
     
    scs_float c_bl
     
    scs_int k1
     
    scs_int k2
     
    scs_float c1
     
    scs_float sse
     
    scs_int ls
     
    scs_float beta
     
    scs_float sigma
     
    ScsDirectionType direction
     
    scs_float thetabar
     
    scs_int memory
     
    scs_int tRule
     
    scs_int broyden_init_scaling
     
    scs_int do_record_progress
     
    scs_int do_override_streams
     
    FILE *RESTRICT output_stream
     Output stream where progress information is printed. More...
     
    +

    Detailed Description

    +

    Settings structure.

    +

    Field Documentation

    + +
    +
    + + + + +
    scs_float alpha
    +
    +

    Relaxation parameter.

    +

    Default : 1.8

    + +
    +
    + +
    +
    + + + + +
    scs_float beta
    +
    +

    Step size reduction coefficient.

    +

    In every line search iteration, the step size is reduced as \(t \leftarrow \beta t\).

    + +
    +
    + +
    +
    + + + + +
    scs_int broyden_init_scaling
    +
    +

    Boolean; whether an initial scaling is desired in the full Broyden method

    +

    Default : 0

    + +
    +
    + +
    +
    + + + + +
    scs_float c1
    +
    +

    Parameter to check condition at K1

    + +
    +
    + +
    +
    + + + + +
    scs_float c_bl
    +
    +

    parameter for blind updates: 0.999

    + +
    +
    + +
    +
    + + + + +
    scs_float cg_rate
    +
    +

    for indirect, tolerance goes down like (1/iter)^cg_rate: 2

    + +
    +
    + +
    +
    + + + + +
    ScsDirectionType direction
    +
    +

    Choice of direction

    +

    Default : restarted_broyden

    +
    See Also
    memory
    + +
    +
    + +
    +
    + + + + +
    scs_int do_override_streams
    +
    +

    Whether to override the default output stream.

    +
    See Also
    output_stream
    + +
    +
    + +
    +
    + + + + +
    scs_int do_record_progress
    +
    +

    Whether to record progress data when running SuperSCS.

    + +
    +
    + +
    +
    + + + + +
    scs_int do_super_scs
    +
    +

    boolean: whether to use superscs or not

    + +
    +
    + +
    +
    + + + + +
    scs_float eps
    +
    +

    Convergence tolerance.

    +

    Default: 1e-3

    + +
    +
    + +
    +
    + + + + +
    scs_int k0
    +
    +

    boolean, K0: 1

    + +
    +
    + +
    +
    + + + + +
    scs_int k1
    +
    +

    boolean, K1: 1

    + +
    +
    + +
    +
    + + + + +
    scs_int k2
    +
    +

    boolean, K2: 1

    + +
    +
    + +
    +
    + + + + +
    scs_int ls
    +
    +

    max line-search iterations

    + +
    +
    + +
    +
    + + + + +
    scs_int max_iters
    +
    +

    Maximum iterations to take.

    +

    Default: 2500.

    + +
    +
    + +
    +
    + + + + +
    scs_float max_time_milliseconds
    +
    +

    Maximum time in milliseconds that the algorithm is allowed to run.

    +

    Default: 5 minutes = 1.5e5 milliseconds.

    + +
    +
    + +
    +
    + + + + +
    scs_int memory
    +
    +

    Memory length for limited-memory Broyden or Anderson's acceleration methods

    +

    Default: 10

    +
    See Also
    direction
    + +
    +
    + +
    +
    + + + + +
    scs_int normalize
    +
    +

    Boolean, heuristic data rescaling

    +

    Default : 1

    + +
    +
    + +
    +
    + + + + +
    FILE* RESTRICT output_stream
    +
    + +

    Output stream where progress information is printed.

    +
    Note
    The default value, as this is defined in scs_set_default_settings is stdout.
    +
    +It is important to note that in order for a user-defined output stream to take effect, you need to set do_override_streams to 1.
    +
    See Also
    do_override_streams
    + +
    +
    + +
    +
    + + + + +
    scs_int previous_max_iters
    +
    +

    Maximum iterations of the previous invocation to SCS.

    +

    Used to avoid memory leaks when recording the progress of the algorithm.

    + +
    +
    + +
    +
    + + + + +
    scs_float rho_x
    +
    +

    x equality constraint scaling: 1e-3

    + +
    +
    + +
    +
    + + + + +
    scs_float scale
    +
    +

    if normalized, rescales by this factor: 5

    + +
    +
    + +
    +
    + + + + +
    scs_float sigma
    +
    +

    Line-search parameter

    + +
    +
    + +
    +
    + + + + +
    scs_float sse
    +
    +

    Parameter to update r_safe at K1 (denoted as \(q\) in the paper)

    + +
    +
    + +
    +
    + + + + +
    scs_float thetabar
    +
    +

    Modified Broyden parameter.

    +

    Default : 1e-1

    + +
    +
    + +
    +
    + + + + +
    scs_int tRule
    +
    +

    Option for the Broyden direction.

    +

    Default: 3

    +
    See Also
    scs_compute_direction
    + +
    +
    + +
    +
    + + + + +
    scs_int verbose
    +
    +

    Level of verbosity.

    +

    Three levels are supported: 0, 1 and 2.

    +

    Default : 1

    + +
    +
    + +
    +
    + + + + +
    scs_int warm_start
    +
    +

    Boolean, warm start (put initial guess in Sol struct): 0

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/docs/struct_scs_solution.html b/docs/struct_scs_solution.html new file mode 100644 index 000000000..b4ae3cefa --- /dev/null +++ b/docs/struct_scs_solution.html @@ -0,0 +1,167 @@ + + + + + + +SuperSCS: ScsSolution Struct Reference + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    SuperSCS +  1.3.1 +
    +
    +
    + + + + + + + + + +
    + +
    + +
    +
    + +
    +
    ScsSolution Struct Reference
    +
    +
    + +

    Primal-dual solution arrays. + More...

    + +

    #include <scs.h>

    + + + + + + + + +

    +Data Fields

    scs_float *RESTRICT x
     
    scs_float *RESTRICT y
     
    scs_float *RESTRICT s
     
    +

    Detailed Description

    +

    Primal-dual solution arrays.

    +

    Field Documentation

    + +
    +
    + + + + +
    scs_float* RESTRICT s
    +
    +

    Primal vector \(s\)

    + +
    +
    + +
    +
    + + + + +
    scs_float* RESTRICT x
    +
    +

    Primal vector \(x\)

    + +
    +
    + +
    +
    + + + + +
    scs_float* RESTRICT y
    +
    +

    Dual vector \(y\)

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/docs/struct_scs_work.html b/docs/struct_scs_work.html new file mode 100644 index 000000000..e69fa1620 --- /dev/null +++ b/docs/struct_scs_work.html @@ -0,0 +1,811 @@ + + + + + + +SuperSCS: ScsWork Struct Reference + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    SuperSCS +  1.3.1 +
    +
    +
    + + + + + + + + + +
    + +
    + +
    +
    + +
    +
    ScsWork Struct Reference
    +
    +
    + +

    Workspace for SCS. + More...

    + +

    #include <scs.h>

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Data Fields

    scs_int m
     Row dimension of \(A\). More...
     
    scs_int n
     Column dimension of \(A\). More...
     
    scs_int l
     Dimension of \(u_k\), that is \(l = m + n + 1\) . More...
     
    scs_float *RESTRICT u
     Vector \(u_k=(x_k,y_k,\tau_k)\). More...
     
    scs_float *RESTRICT v
     Vector \(v_k = Qu_k\) (used only in SCS, not in SuperSCS). More...
     
    scs_float *RESTRICT u_t
     Vector \(\tilde{u}_k\). More...
     
    scs_float *RESTRICT u_prev
     Vector \(u_{k-1}\) of the previous iteration. More...
     
    scs_float *RESTRICT u_b
     Vector \(\bar{u}_k\). More...
     
    scs_float *RESTRICT h
     Auxiliary variable used in projections on linear spaces. More...
     
    scs_float *RESTRICT g
     Auxiliary variable of dimension \(l-1\) used in projections on linear spaces. More...
     
    scs_float *RESTRICT pr
     Primal residual vector. More...
     
    scs_float *RESTRICT dr
     Dual residual vector. More...
     
    scs_float *RESTRICT b
     The (possibly normalized) vector \(b\). More...
     
    scs_float *RESTRICT c
     The (possibly normalized) vector \(c\). More...
     
    scs_float *RESTRICT R
     Fixed-point residual \(R_k\). More...
     
    scs_float *RESTRICT R_prev
     Fixed-point residual (FPR) of the previous iteration \(R_{k-1}\). More...
     
    scs_float *RESTRICT dir
     Direction \(d_k\). More...
     
    scs_float *RESTRICT H
     Hessian approximation used by the full Broyden method. More...
     
    scs_float *RESTRICT dut
     Direction corresponding to \(\tilde{u}\). More...
     
    scs_float *RESTRICT wu
     Variable \(w_u\). More...
     
    scs_float *RESTRICT wu_t
     Variable \(\tilde{w}_u\). More...
     
    scs_float *RESTRICT wu_b
     Variable \(\bar{w}_u\). More...
     
    scs_float *RESTRICT Rwu
     Vector \(R(w_u)\) from line search. More...
     
    scs_float nrmR_con
     \(\|Ru_k\|\). More...
     
    scs_float *RESTRICT Sk
     \(s_k = u_k - u_{k-1}\) More...
     
    scs_float *RESTRICT Yk
     \(y_k = R_k - R_{k-1}\) More...
     
    scs_float stepsize
     The current stepsize \(t_k\). More...
     
    scs_float *RESTRICT s_b
     Variable that corresponds to the primal slack for the 2nd step of DRS. More...
     
    scs_float gTh
     Auxiliary variable. More...
     
    scs_float sc_b
     Scaling factor corresponding to \(b\). More...
     
    scs_float sc_c
     Scaling factor corresponding to \(c\). More...
     
    scs_float nm_b
     Norm of \(b\). More...
     
    scs_float nm_c
     Norm of \(c\). More...
     
    scs_float kap_b
     Variable for certificates of infeasibility/unboudedness. More...
     
    AMatrixA
     The (possibly normalized) A matrix. More...
     
    Priv *RESTRICT p
     struct populated by linear system solver More...
     
    ScsSettings *RESTRICT stgs
     contains solver settings specified by user More...
     
    ScsScaling *RESTRICT scal
     contains the re-scaling data More...
     
    ConeWork *RESTRICT coneWork
     workspace for the cone projection step More...
     
    DirectionCache *RESTRICT direction_cache
     A cache for the computation of Broyden or Anderson's acceleration. More...
     
    +

    Detailed Description

    +

    Workspace for SCS.

    +

    Field Documentation

    + +
    +
    + + + + +
    AMatrix* A
    +
    + +

    The (possibly normalized) A matrix.

    + +
    +
    + +
    +
    + + + + +
    scs_float* RESTRICT b
    +
    + +

    The (possibly normalized) vector \(b\).

    + +
    +
    + +
    +
    + + + + +
    scs_float* RESTRICT c
    +
    + +

    The (possibly normalized) vector \(c\).

    + +
    +
    + +
    +
    + + + + +
    ConeWork* RESTRICT coneWork
    +
    + +

    workspace for the cone projection step

    + +
    +
    + +
    +
    + + + + +
    scs_float* RESTRICT dir
    +
    + +

    Direction \(d_k\).

    + +
    +
    + +
    +
    + + + + +
    DirectionCache* RESTRICT direction_cache
    +
    + +

    A cache for the computation of Broyden or Anderson's acceleration.

    + +
    +
    + +
    +
    + + + + +
    scs_float* RESTRICT dr
    +
    + +

    Dual residual vector.

    +

    +\[ \text{dr} = A'y + c \tau, \] +

    +

    and in SuperSCS, \(y\) is \(\bar{y}\) and \(\tau\) is \(\bar{\tau}\).

    + +
    +
    + +
    +
    + + + + +
    scs_float* RESTRICT dut
    +
    + +

    Direction corresponding to \(\tilde{u}\).

    + +
    +
    + +
    +
    + + + + +
    scs_float* RESTRICT g
    +
    + +

    Auxiliary variable of dimension \(l-1\) used in projections on linear spaces.

    + +
    +
    + +
    +
    + + + + +
    scs_float gTh
    +
    + +

    Auxiliary variable.

    + +
    +
    + +
    +
    + + + + +
    scs_float* RESTRICT h
    +
    + +

    Auxiliary variable used in projections on linear spaces.

    + +
    +
    + +
    +
    + + + + +
    scs_float* RESTRICT H
    +
    + +

    Hessian approximation used by the full Broyden method.

    +
    See Also
    full_broyden
    + +
    +
    + +
    +
    + + + + +
    scs_float kap_b
    +
    + +

    Variable for certificates of infeasibility/unboudedness.

    + +
    +
    + +
    +
    + + + + +
    scs_int l
    +
    + +

    Dimension of \(u_k\), that is \(l = m + n + 1\) .

    + +
    +
    + +
    +
    + + + + +
    scs_int m
    +
    + +

    Row dimension of \(A\).

    + +
    +
    + +
    +
    + + + + +
    scs_int n
    +
    + +

    Column dimension of \(A\).

    + +
    +
    + +
    +
    + + + + +
    scs_float nm_b
    +
    + +

    Norm of \(b\).

    + +
    +
    + +
    +
    + + + + +
    scs_float nm_c
    +
    + +

    Norm of \(c\).

    + +
    +
    + +
    +
    + + + + +
    scs_float nrmR_con
    +
    + +

    \(\|Ru_k\|\).

    + +
    +
    + +
    +
    + + + + +
    Priv* RESTRICT p
    +
    + +

    struct populated by linear system solver

    + +
    +
    + +
    +
    + + + + +
    scs_float* RESTRICT pr
    +
    + +

    Primal residual vector.

    +

    +\[ \text{pr} = A x + s - b \tau, \] +

    +

    and in SuperSCS, \(x\) is \(\bar{x}\), \(s\) is \(\bar{s}\) and \(\tau\) is \(\bar{\tau}\)

    + +
    +
    + +
    +
    + + + + +
    scs_float* RESTRICT R
    +
    + +

    Fixed-point residual \(R_k\).

    + +
    +
    + +
    +
    + + + + +
    scs_float* RESTRICT R_prev
    +
    + +

    Fixed-point residual (FPR) of the previous iteration \(R_{k-1}\).

    + +
    +
    + +
    +
    + + + + +
    scs_float* RESTRICT Rwu
    +
    + +

    Vector \(R(w_u)\) from line search.

    + +
    +
    + +
    +
    + + + + +
    scs_float* RESTRICT s_b
    +
    + +

    Variable that corresponds to the primal slack for the 2nd step of DRS.

    + +
    +
    + +
    +
    + + + + +
    scs_float sc_b
    +
    + +

    Scaling factor corresponding to \(b\).

    + +
    +
    + +
    +
    + + + + +
    scs_float sc_c
    +
    + +

    Scaling factor corresponding to \(c\).

    + +
    +
    + +
    +
    + + + + +
    ScsScaling* RESTRICT scal
    +
    + +

    contains the re-scaling data

    + +
    +
    + +
    +
    + + + + +
    scs_float* RESTRICT Sk
    +
    + +

    \(s_k = u_k - u_{k-1}\)

    + +
    +
    + +
    +
    + + + + +
    scs_float stepsize
    +
    + +

    The current stepsize \(t_k\).

    + +
    +
    + +
    +
    + + + + +
    ScsSettings* RESTRICT stgs
    +
    + +

    contains solver settings specified by user

    + +
    +
    + +
    +
    + + + + +
    scs_float* RESTRICT u
    +
    + +

    Vector \(u_k=(x_k,y_k,\tau_k)\).

    + +
    +
    + +
    +
    + + + + +
    scs_float* RESTRICT u_b
    +
    + +

    Vector \(\bar{u}_k\).

    + +
    +
    + +
    +
    + + + + +
    scs_float* RESTRICT u_prev
    +
    + +

    Vector \(u_{k-1}\) of the previous iteration.

    + +
    +
    + +
    +
    + + + + +
    scs_float* RESTRICT u_t
    +
    + +

    Vector \(\tilde{u}_k\).

    + +
    +
    + +
    +
    + + + + +
    scs_float* RESTRICT v
    +
    + +

    Vector \(v_k = Qu_k\) (used only in SCS, not in SuperSCS).

    + +
    +
    + +
    +
    + + + + +
    scs_float* RESTRICT wu
    +
    + +

    Variable \(w_u\).

    + +
    +
    + +
    +
    + + + + +
    scs_float* RESTRICT wu_b
    +
    + +

    Variable \(\bar{w}_u\).

    + +
    +
    + +
    +
    + + + + +
    scs_float* RESTRICT wu_t
    +
    + +

    Variable \(\tilde{w}_u\).

    + +
    +
    + +
    +
    + + + + +
    scs_float* RESTRICT Yk
    +
    + +

    \(y_k = R_k - R_{k-1}\)

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/docs/structcone__work.html b/docs/structcone__work.html new file mode 100644 index 000000000..4b84ce072 --- /dev/null +++ b/docs/structcone__work.html @@ -0,0 +1,137 @@ + + + + + + +SuperSCS: cone_work Struct Reference + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    SuperSCS +  1.3.2 +
    +
    +
    + + + + + + + + + +
    + +
    + +
    +
    + +
    +
    cone_work Struct Reference
    +
    +
    + +

    Workspace for cones. + More...

    + +

    #include <cones.h>

    + + + + +

    +Data Fields

    scs_float total_cone_time
     
    +

    Detailed Description

    +

    Workspace for cones.

    +

    private data to help cone projection step

    +

    Field Documentation

    + +
    +
    + + + + +
    scs_float total_cone_time
    +
    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/docs/structscs__a__data__matrix.html b/docs/structscs__a__data__matrix.html new file mode 100644 index 000000000..c00ef06a1 --- /dev/null +++ b/docs/structscs__a__data__matrix.html @@ -0,0 +1,222 @@ + + + + + + + + + +SuperSCS: SuperSCS: Fast & Accurate conic programming + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    SuperSCS +  1.3.2 +
    +
    +
    + + + + + + + + + +
    + +
    + +
    +
    + +
    +
    scs_a_data_matrix Struct Reference
    +
    +
    + +

    The sparse matrix A of the conic optimization problem. + More...

    + +

    #include <amatrix.h>

    + + + + + + + + + + + + + + + + + +

    +Data Fields

    scs_floatx
     Values of A. More...
     
    scs_inti
     The row-index of the matrix ( \(J\)). More...
     
    scs_intp
     Array of column pointers of A in CSC format ( \(I\)). More...
     
    scs_int m
     Number of rows ( \(m\)). More...
     
    scs_int n
     Number of columns ( \(n\)). More...
     
    +

    Detailed Description

    +

    The sparse matrix A of the conic optimization problem.

    +

    The data are stored in CSC format.

    +
    See Also
    Sparse matrices documentation
    +

    Field Documentation

    + +
    +
    + + + + +
    scs_int* i
    +
    + +

    The row-index of the matrix ( \(J\)).

    +

    An array of length equal to the number of nonzero elements of A.

    + +
    +
    + +
    +
    + + + + +
    scs_int m
    +
    + +

    Number of rows ( \(m\)).

    + +
    +
    + +
    +
    + + + + +
    scs_int n
    +
    + +

    Number of columns ( \(n\)).

    + +
    +
    + +
    +
    + + + + +
    scs_int* p
    +
    + +

    Array of column pointers of A in CSC format ( \(I\)).

    +

    The length of A->p is equal to A->n + 1.

    + +
    +
    + +
    +
    + + + + +
    scs_float* x
    +
    + +

    Values of A.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/docs/structscs__cone.html b/docs/structscs__cone.html new file mode 100644 index 000000000..dd582654b --- /dev/null +++ b/docs/structscs__cone.html @@ -0,0 +1,321 @@ + + + + + + + + + +SuperSCS: SuperSCS: Fast & Accurate conic programming + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    SuperSCS +  1.3.2 +
    +
    +
    + + + + + + + + + +
    + +
    + +
    +
    + +
    +
    scs_cone Struct Reference
    +
    +
    + +

    Cone structure. + More...

    + +

    #include <cones.h>

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Data Fields

    scs_int f
     Number of linear equality constraints \((n_{\mathrm{f}})\). More...
     
    scs_int l
     Dimension of LP cone \((n_{\mathrm{l}})\). More...
     
    scs_int *RESTRICT q
     Array of SOC constraints \((n_{\mathrm{q},1},\ldots, n_{\mathrm{q},N_{\mathrm{q}}})\). More...
     
    scs_int qsize
     Length of SOC array, i.e., number of second-order cones \((N_{\mathrm{q}})\). More...
     
    scs_int *RESTRICT s
     array of PSD constraints \((k_1,\ldots, k_{N_{\mathrm{s}}})\) More...
     
    scs_int ssize
     length of PSD array \((N_{\mathrm{s}})\) More...
     
    scs_int ep
     Number of primal exponential cone triples \((n_{\mathrm{ep}})\). More...
     
    scs_int ed
     number of dual exponential cone triples \((n_{\mathrm{de}})\) More...
     
    scs_floatp
     Array of power cone params \((\alpha_1,\ldots,\alpha_{N_{\mathrm{p}}})\). More...
     
    scs_int psize
     Number of (primal and dual) power cone tuples \((N_{\mathrm{p}})\). More...
     
    +

    Detailed Description

    +

    Cone structure.

    +

    This structure represents a Cartesian product of cones as explained in detail in this documentation page.

    +
    See Also
    Cones documentation
    +

    Field Documentation

    + +
    +
    + + + + +
    scs_int ed
    +
    + +

    number of dual exponential cone triples \((n_{\mathrm{de}})\)

    +
    See Also
    primal exponential cone
    + +
    +
    + +
    +
    + + + + +
    scs_int ep
    +
    + +

    Number of primal exponential cone triples \((n_{\mathrm{ep}})\).

    +
    See Also
    dual exponential cone
    + +
    +
    + +
    +
    + + + + +
    scs_int f
    +
    + +

    Number of linear equality constraints \((n_{\mathrm{f}})\).

    +

    The corresponding cone is the zero-cone \(\mathcal{K}^{f}_{n_f} = \{0_{n_f}\}\)

    + +
    +
    + +
    +
    + + + + +
    scs_int l
    +
    + +

    Dimension of LP cone \((n_{\mathrm{l}})\).

    +

    This is used to specify element-wise inequalities.

    +

    The corresponding cone is the positive orthant \(\mathcal{K}^{l}_{n_l} = \{x\in\mathbb{R}^{n_l}: x_i \geq 0, \forall i\}\)

    + +
    +
    + +
    +
    + + + + +
    scs_float* p
    +
    + +

    Array of power cone params \((\alpha_1,\ldots,\alpha_{N_{\mathrm{p}}})\).

    +
    Note
    Cone parameters must be in \([-1, 1]\).
    +
    +Negative values are interpreted as specifying the dual cone
    + +
    +
    + +
    +
    + + + + +
    scs_int psize
    +
    + +

    Number of (primal and dual) power cone tuples \((N_{\mathrm{p}})\).

    + +
    +
    + +
    +
    + + + + +
    scs_int* RESTRICT q
    +
    + +

    Array of SOC constraints \((n_{\mathrm{q},1},\ldots, n_{\mathrm{q},N_{\mathrm{q}}})\).

    +

    This is the Cartesian product of \(N_{so}\) cones with dimensions \(n_{so_1},\ldots, n_{so,N_{so}}\).

    +

    This array contains the dimensions \((n_{so_1},\ldots, n_{so,N_{so}})\).

    +

    The length of this array is specified in qsize.

    +
    See Also
    number of second-order cones
    + +
    +
    + +
    +
    + + + + +
    scs_int qsize
    +
    + +

    Length of SOC array, i.e., number of second-order cones \((N_{\mathrm{q}})\).

    +
    See Also
    array of second-order cones
    + +
    +
    + +
    +
    + + + + +
    scs_int* RESTRICT s
    +
    + +

    array of PSD constraints \((k_1,\ldots, k_{N_{\mathrm{s}}})\)

    +

    Array of dimensions of PSD constraints.

    +
    See Also
    number of PSD cones
    + +
    +
    + +
    +
    + + + + +
    scs_int ssize
    +
    + +

    length of PSD array \((N_{\mathrm{s}})\)

    +
    See Also
    array of positive semidefinite cones
    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/docs/structscs__cone__work.html b/docs/structscs__cone__work.html new file mode 100644 index 000000000..1a5b00466 --- /dev/null +++ b/docs/structscs__cone__work.html @@ -0,0 +1,148 @@ + + + + + + + + + +SuperSCS: SuperSCS: Fast & Accurate conic programming + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    SuperSCS +  1.3.2 +
    +
    +
    + + + + + + + + + +
    + +
    + +
    +
    + +
    +
    scs_cone_work Struct Reference
    +
    +
    + +

    Workspace for cones. + More...

    + +

    #include <cones.h>

    + + + + +

    +Data Fields

    scs_float total_cone_time
     
    +

    Detailed Description

    +

    Workspace for cones.

    +

    private data to help cone projection step

    +

    Field Documentation

    + +
    +
    + + + + +
    scs_float total_cone_time
    +
    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/docs/structscs__conic__probem__metadata.html b/docs/structscs__conic__probem__metadata.html new file mode 100644 index 000000000..6f6e22fce --- /dev/null +++ b/docs/structscs__conic__probem__metadata.html @@ -0,0 +1,241 @@ + + + + + + + + + +SuperSCS: SuperSCS: Fast & Accurate conic programming + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    SuperSCS +  1.3.2 +
    +
    +
    + + + + + + + + + +
    + +
    + +
    +
    + +
    +
    scs_conic_probem_metadata Struct Reference
    +
    +
    + +

    Metadata for conic optimization problems. + More...

    + +

    #include <scs.h>

    + + + + + + + + + + + + + + + + + + + + +

    +Data Fields

    char id [SCS_METADATA_TEXT_SIZE]
     Unique identifier of the conic problem. More...
     
    char problemName [SCS_METADATA_TEXT_SIZE]
     Problem name. More...
     
    char license [SCS_METADATA_TEXT_SIZE]
     License of the problem data. More...
     
    char creator [SCS_METADATA_TEXT_SIZE]
     Creator of the problem. More...
     
    char yamlVersion [SCS_METADATA_TEXT_SIZE]
     YAML version. More...
     
    char date [SCS_METADATA_TEXT_SIZE]
     Creation date. More...
     
    +

    Detailed Description

    +

    Metadata for conic optimization problems.

    +

    All fields of this structure are character arrays of a fixed length, equal to SCS_METADATA_TEXT_SIZE.

    +
    See Also
    scs_to_YAML
    +
    +scs_from_YAML
    +

    Field Documentation

    + +
    +
    + + + + +
    char creator[SCS_METADATA_TEXT_SIZE]
    +
    + +

    Creator of the problem.

    + +
    +
    + +
    +
    + + + + +
    char date[SCS_METADATA_TEXT_SIZE]
    +
    + +

    Creation date.

    + +
    +
    + +
    +
    + + + + +
    char id[SCS_METADATA_TEXT_SIZE]
    +
    + +

    Unique identifier of the conic problem.

    +

    This can be, for example, a URI.

    + +
    +
    + +
    +
    + + + + +
    char license[SCS_METADATA_TEXT_SIZE]
    +
    + +

    License of the problem data.

    +

    If applicable, link (URL) to a license.

    + +
    +
    + +
    +
    + + + + +
    char problemName[SCS_METADATA_TEXT_SIZE]
    +
    + +

    Problem name.

    + +
    +
    + +
    +
    + + + + +
    char yamlVersion[SCS_METADATA_TEXT_SIZE]
    +
    + +

    YAML version.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/docs/structscs__cs__sparse.html b/docs/structscs__cs__sparse.html new file mode 100644 index 000000000..c7891ccbd --- /dev/null +++ b/docs/structscs__cs__sparse.html @@ -0,0 +1,254 @@ + + + + + + + + + +SuperSCS: SuperSCS: Fast & Accurate conic programming + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    SuperSCS +  1.3.2 +
    +
    +
    + + + + + + + + + +
    + +
    + +
    +
    + +
    +
    scs_cs_sparse Struct Reference
    +
    +
    + +

    Matrix in compressed-column or triplet form. + More...

    + +

    #include <cs.h>

    + + + + + + + + + + + + + + + + + + + + + + + +

    +Data Fields

    scs_int nzmax
     maximum number of entries More...
     
    scs_int m
     number of rows More...
     
    scs_int n
     number of columns More...
     
    scs_intp
     column pointers (size n+1) or col indices (size nzmax) More...
     
    scs_inti
     row indices, size nzmax More...
     
    scs_floatx
     numerical values, size nzmax More...
     
    scs_int nz
     Number of entries in triplet matrix, -1 for compressed-col. More...
     
    +

    Detailed Description

    +

    Matrix in compressed-column or triplet form.

    +

    This is a subset of the routines in the CSPARSE package by Tim Davis et. al. For the full package please visit http://www.cise.ufl.edu/research/sparse/CSparse/.

    +
    Note
    In order to avoid conflicts in case some users want to load both SuperSCS and CSPARSE in their project, we have prepended the prefix scs_ in all function names here (although not necessary, we did it in static functions for uniformity.
    +

    Field Documentation

    + +
    +
    + + + + +
    scs_int* i
    +
    + +

    row indices, size nzmax

    + +
    +
    + +
    +
    + + + + +
    scs_int m
    +
    + +

    number of rows

    + +
    +
    + +
    +
    + + + + +
    scs_int n
    +
    + +

    number of columns

    + +
    +
    + +
    +
    + + + + +
    scs_int nz
    +
    + +

    Number of entries in triplet matrix, -1 for compressed-col.

    + +
    +
    + +
    +
    + + + + +
    scs_int nzmax
    +
    + +

    maximum number of entries

    + +
    +
    + +
    +
    + + + + +
    scs_int* p
    +
    + +

    column pointers (size n+1) or col indices (size nzmax)

    + +
    +
    + +
    +
    + + + + +
    scs_float* x
    +
    + +

    numerical values, size nzmax

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/docs/structscs__data.html b/docs/structscs__data.html new file mode 100644 index 000000000..c8d0a0c1e --- /dev/null +++ b/docs/structscs__data.html @@ -0,0 +1,223 @@ + + + + + + + + + +SuperSCS: SuperSCS: Fast & Accurate conic programming + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    SuperSCS +  1.3.2 +
    +
    +
    + + + + + + + + + +
    + +
    + +
    +
    + +
    +
    scs_data Struct Reference
    +
    +
    + +

    struct containing problem data + More...

    + +

    #include <scs.h>

    + + + + + + + + + + + + + + +

    +Data Fields

    scs_int m
     
    scs_int n
     
    ScsAMatrixA
     
    scs_float *RESTRICT b
     
    scs_float *RESTRICT c
     
    ScsSettings *RESTRICT stgs
     
    +

    Detailed Description

    +

    struct containing problem data

    +

    Field Documentation

    + +
    +
    + + + + +
    ScsAMatrix* A
    +
    +

    Sparse matrix A is supplied in data format specified by linsys solver

    + +
    +
    + +
    +
    + + + + +
    scs_float* RESTRICT b
    +
    +

    Vector b

    + +
    +
    + +
    +
    + + + + +
    scs_float* RESTRICT c
    +
    +

    Vector c

    + +
    +
    + +
    +
    + + + + +
    scs_int m
    +
    +

    row dimension of \(A\)

    + +
    +
    + +
    +
    + + + + +
    scs_int n
    +
    +

    column dimension of \(A\)

    + +
    +
    + +
    +
    + + + + +
    ScsSettings* RESTRICT stgs
    +
    +

    Pointer to solver settings specified by user

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/docs/structscs__direction__cache.html b/docs/structscs__direction__cache.html new file mode 100644 index 000000000..042a1705c --- /dev/null +++ b/docs/structscs__direction__cache.html @@ -0,0 +1,288 @@ + + + + + + + + + +SuperSCS: SuperSCS: Fast & Accurate conic programming + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    SuperSCS +  1.3.2 +
    +
    +
    + + + + + + + + + +
    + +
    + +
    +
    + +
    +
    scs_direction_cache Struct Reference
    +
    +
    + +

    Memory for the computation of directions (Broyden and Anderson's methods). + More...

    + +

    #include <scs.h>

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Data Fields

    scs_floatS
     cached values of \(s_i\) (s-memory) More...
     
    scs_floatU
     cached values of \(u_i = \frac{s_i - \tilde{s}_i}{\langle s_i, \tilde{s}_i\rangle}\), or cached values of \(y_i\) More...
     
    scs_floatS_minus_Y
     The difference \(S-Y\) (for Anderson's acceleration) More...
     
    scs_floatt
     Solution of the linear system \(Yt = R(x)\). More...
     
    scs_int ls_wspace_length
     Length of workspace used to solve Anderson's linear system. More...
     
    scs_floatls_wspace
     Workspace used to solve Anderson's linear system. More...
     
    scs_int mem_cursor
     current memory cursor [0..mem-1] More...
     
    scs_int mem
     (target/maximum/allocated) memory More...
     
    scs_int current_mem
     current memory length More...
     
    +

    Detailed Description

    +

    Memory for the computation of directions (Broyden and Anderson's methods).

    +

    For Broyden's method, a cache of \((s_i, u_i)\) where \(u_i = \frac{s_i - \tilde{s}_i}{\langle s_i, \tilde{s}_i\rangle}\). We do not need to store past values of \(\tilde{s}_i\).

    +

    For Anderson's acceleration, it stores pairs \((s_i, y_i)\).

    +

    Field Documentation

    + +
    +
    + + + + +
    scs_int current_mem
    +
    + +

    current memory length

    + +
    +
    + +
    +
    + + + + +
    scs_float* ls_wspace
    +
    + +

    Workspace used to solve Anderson's linear system.

    + +
    +
    + +
    +
    + + + + +
    scs_int ls_wspace_length
    +
    + +

    Length of workspace used to solve Anderson's linear system.

    + +
    +
    + +
    +
    + + + + +
    scs_int mem
    +
    + +

    (target/maximum/allocated) memory

    + +
    +
    + +
    +
    + + + + +
    scs_int mem_cursor
    +
    + +

    current memory cursor [0..mem-1]

    + +
    +
    + +
    +
    + + + + +
    scs_float* S
    +
    + +

    cached values of \(s_i\) (s-memory)

    + +
    +
    + +
    +
    + + + + +
    scs_float* S_minus_Y
    +
    + +

    The difference \(S-Y\) (for Anderson's acceleration)

    + +
    +
    + +
    +
    + + + + +
    scs_float* t
    +
    + +

    Solution of the linear system \(Yt = R(x)\).

    + +
    +
    + +
    +
    + + + + +
    scs_float* U
    +
    + +

    cached values of \(u_i = \frac{s_i - \tilde{s}_i}{\langle s_i, \tilde{s}_i\rangle}\), or cached values of \(y_i\)

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/docs/structscs__info.html b/docs/structscs__info.html new file mode 100644 index 000000000..376c3f1cd --- /dev/null +++ b/docs/structscs__info.html @@ -0,0 +1,542 @@ + + + + + + + + + +SuperSCS: SuperSCS: Fast & Accurate conic programming + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    SuperSCS +  1.3.2 +
    +
    +
    + + + + + + + + + +
    + +
    + +
    +
    + +
    +
    scs_info Struct Reference
    +
    +
    + +

    Terminating information. + More...

    + +

    #include <scs.h>

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Data Fields

    char status [32]
     status string, e.g. 'Solved' More...
     
    scs_int iter
     number of iterations taken More...
     
    scs_int statusVal
     status as scs_int, defined in constants.h More...
     
    scs_int history_length
     how many history entries More...
     
    scs_float pobj
     primal objective More...
     
    scs_float dobj
     dual objective More...
     
    scs_float resPri
     primal equality residual More...
     
    scs_float resDual
     dual equality residual More...
     
    scs_float resInfeas
     infeasibility cert residual More...
     
    scs_float resUnbdd
     unbounded cert residual More...
     
    scs_float relGap
     relative duality gap More...
     
    scs_float setupTime
     time taken for setup phase (milliseconds) More...
     
    scs_float solveTime
     time taken for solve phase (milliseconds) More...
     
    scs_float *RESTRICT progress_relgap
     relative gap history More...
     
    scs_float *RESTRICT progress_respri
     primal residual history More...
     
    scs_float *RESTRICT progress_resdual
     dual residual history More...
     
    scs_float *RESTRICT progress_pcost
     scaled primal cost history More...
     
    scs_float *RESTRICT progress_dcost
     sclaed dual cost history More...
     
    scs_float *RESTRICT progress_norm_fpr
     FPR history. More...
     
    scs_float *RESTRICT progress_time
     Timestamp of iteration. More...
     
    scs_int *RESTRICT progress_iter
     iterations when residulas are recorded More...
     
    scs_int *RESTRICT progress_mode
     Mode of SuperSCS at each iteration. More...
     
    scs_int *RESTRICT progress_ls
     Number of line search iterations. More...
     
    long allocated_memory
     Memory, in bytes, that was allocated to run the algorithm. More...
     
    +

    Detailed Description

    +

    Terminating information.

    +
    See Also
    scs_free_info
    +

    Field Documentation

    + +
    +
    + + + + +
    long allocated_memory
    +
    + +

    Memory, in bytes, that was allocated to run the algorithm.

    + +
    +
    + +
    +
    + + + + +
    scs_float dobj
    +
    + +

    dual objective

    + +
    +
    + +
    +
    + + + + +
    scs_int history_length
    +
    + +

    how many history entries

    + +
    +
    + +
    +
    + + + + +
    scs_int iter
    +
    + +

    number of iterations taken

    + +
    +
    + +
    +
    + + + + +
    scs_float pobj
    +
    + +

    primal objective

    + +
    +
    + +
    +
    + + + + +
    scs_float* RESTRICT progress_dcost
    +
    + +

    sclaed dual cost history

    + +
    +
    + +
    +
    + + + + +
    scs_int* RESTRICT progress_iter
    +
    + +

    iterations when residulas are recorded

    + +
    +
    + +
    +
    + + + + +
    scs_int* RESTRICT progress_ls
    +
    + +

    Number of line search iterations.

    + +
    +
    + +
    +
    + + + + +
    scs_int* RESTRICT progress_mode
    +
    + +

    Mode of SuperSCS at each iteration.

    + +
    +
    + +
    +
    + + + + +
    scs_float* RESTRICT progress_norm_fpr
    +
    + +

    FPR history.

    + +
    +
    + +
    +
    + + + + +
    scs_float* RESTRICT progress_pcost
    +
    + +

    scaled primal cost history

    + +
    +
    + +
    +
    + + + + +
    scs_float* RESTRICT progress_relgap
    +
    + +

    relative gap history

    + +
    +
    + +
    +
    + + + + +
    scs_float* RESTRICT progress_resdual
    +
    + +

    dual residual history

    + +
    +
    + +
    +
    + + + + +
    scs_float* RESTRICT progress_respri
    +
    + +

    primal residual history

    + +
    +
    + +
    +
    + + + + +
    scs_float* RESTRICT progress_time
    +
    + +

    Timestamp of iteration.

    + +
    +
    + +
    +
    + + + + +
    scs_float relGap
    +
    + +

    relative duality gap

    + +
    +
    + +
    +
    + + + + +
    scs_float resDual
    +
    + +

    dual equality residual

    + +
    +
    + +
    +
    + + + + +
    scs_float resInfeas
    +
    + +

    infeasibility cert residual

    + +
    +
    + +
    +
    + + + + +
    scs_float resPri
    +
    + +

    primal equality residual

    + +
    +
    + +
    +
    + + + + +
    scs_float resUnbdd
    +
    + +

    unbounded cert residual

    + +
    +
    + +
    +
    + + + + +
    scs_float setupTime
    +
    + +

    time taken for setup phase (milliseconds)

    + +
    +
    + +
    +
    + + + + +
    scs_float solveTime
    +
    + +

    time taken for solve phase (milliseconds)

    + +
    +
    + +
    +
    + + + + +
    char status[32]
    +
    + +

    status string, e.g. 'Solved'

    + +
    +
    + +
    +
    + + + + +
    scs_int statusVal
    +
    + +

    status as scs_int, defined in constants.h

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/docs/structscs__residuals.html b/docs/structscs__residuals.html new file mode 100644 index 000000000..37ee8fb7d --- /dev/null +++ b/docs/structscs__residuals.html @@ -0,0 +1,297 @@ + + + + + + +SuperSCS: scs_residuals Struct Reference + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    SuperSCS +  1.3.1 +
    +
    +
    + + + + + + + + + +
    + +
    + +
    +
    + +
    +
    scs_residuals Struct Reference
    +
    +
    + +

    Structure to hold residual information (unnormalized) + More...

    + +

    #include <scs.h>

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Data Fields

    scs_int last_iter
     The last iteration when the residuals were updated. More...
     
    scs_float res_dual
     Dual residual. More...
     
    scs_float res_pri
     Primal residual. More...
     
    scs_float res_infeas
     Infeasibility residual. More...
     
    scs_float res_unbdd
     Unboundedness. More...
     
    scs_float rel_gap
     Relative duality gap defined as. More...
     
    scs_float cTx_by_tau
     
    scs_float bTy_by_tau
     
    scs_float tau
     
    scs_float kap
     
    +

    Detailed Description

    +

    Structure to hold residual information (unnormalized)

    +

    Field Documentation

    + +
    +
    + + + + +
    scs_float bTy_by_tau
    +
    + +
    +
    + +
    +
    + + + + +
    scs_float cTx_by_tau
    +
    + +
    +
    + +
    +
    + + + + +
    scs_float kap
    +
    +

    Variable \(\kappa\) ( \(\bar{\kappa}\) in SuperSCS)

    + +
    +
    + +
    +
    + + + + +
    scs_int last_iter
    +
    + +

    The last iteration when the residuals were updated.

    + +
    +
    + +
    +
    + + + + +
    scs_float rel_gap
    +
    + +

    Relative duality gap defined as.

    +

    +\[ \text{relgap} = \frac{c'x + b'y}{1+|c'x|+|b'y|} \] +

    + +
    +
    + +
    +
    + + + + +
    scs_float res_dual
    +
    + +

    Dual residual.

    +

    +\[ \text{resdual} = \frac{E(A'y + \tau c)}{\tau(1+\|c\|)\cdot \text{scale}_c\cdot \text{scale}} \] +

    + +
    +
    + +
    +
    + + + + +
    scs_float res_infeas
    +
    + +

    Infeasibility residual.

    +

    +\[ \text{infres} = -\frac{\|Db\| \|EA'y\|}{b'y \cdot \text{scale}} \] +

    + +
    +
    + +
    +
    + + + + +
    scs_float res_pri
    +
    + +

    Primal residual.

    +

    +\[ \text{respri} = \frac{\|D(Ax+s-\tau b)\|}{\tau(1+\|b\|)(\text{scale}_b\cdot \text{scale})} \] +

    + +
    +
    + +
    +
    + + + + +
    scs_float res_unbdd
    +
    + +

    Unboundedness.

    +

    +\[ \text{unbdd} = -\frac{\|Ec\| \|D(Ax+s)}{c'x\cdot \text{scale}} \] +

    + +
    +
    + +
    +
    + + + + +
    scs_float tau
    +
    +

    Variable \(\tau\) ( \(\bar{\tau}\) in SuperSCS)

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/docs/structscs__scaling.html b/docs/structscs__scaling.html new file mode 100644 index 000000000..aae7950b5 --- /dev/null +++ b/docs/structscs__scaling.html @@ -0,0 +1,189 @@ + + + + + + + + + +SuperSCS: SuperSCS: Fast & Accurate conic programming + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    SuperSCS +  1.3.2 +
    +
    +
    + + + + + + + + + +
    + +
    + +
    +
    + +
    +
    scs_scaling Struct Reference
    +
    +
    + +

    Normalization variables. + More...

    + +

    #include <scs.h>

    + + + + + + + + + + +

    +Data Fields

    scs_float *RESTRICT D
     
    scs_float *RESTRICT *RESTRICT E
     
    scs_float meanNormRowA
     
    scs_float meanNormColA
     
    +

    Detailed Description

    +

    Normalization variables.

    +

    Field Documentation

    + +
    +
    + + + + +
    scs_float* RESTRICT D
    +
    + +
    +
    + +
    +
    + + + + +
    scs_float* RESTRICT * RESTRICT E
    +
    + +
    +
    + +
    +
    + + + + +
    scs_float meanNormColA
    +
    + +
    +
    + +
    +
    + + + + +
    scs_float meanNormRowA
    +
    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/docs/structscs__settings.html b/docs/structscs__settings.html new file mode 100644 index 000000000..54cc5cb13 --- /dev/null +++ b/docs/structscs__settings.html @@ -0,0 +1,593 @@ + + + + + + + + + +SuperSCS: SuperSCS: Fast & Accurate conic programming + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    SuperSCS +  1.3.2 +
    +
    +
    + + + + + + + + + +
    + +
    + +
    +
    + +
    +
    scs_settings Struct Reference
    +
    +
    + +

    Settings structure. + More...

    + +

    #include <scs.h>

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Data Fields

    scs_int normalize
     
    scs_float scale
     
    scs_float rho_x
     
    scs_float max_time_milliseconds
     
    scs_int max_iters
     
    scs_int previous_max_iters
     
    scs_float eps
     
    scs_float alpha
     
    scs_float cg_rate
     
    scs_int verbose
     
    scs_int warm_start
     
    scs_int do_super_scs
     
    scs_int k0
     
    scs_float c_bl
     
    scs_int k1
     
    scs_int k2
     
    scs_float c1
     
    scs_float sse
     
    scs_int ls
     
    scs_float beta
     
    scs_float sigma
     
    ScsDirectionType direction
     
    scs_float thetabar
     
    scs_int memory
     
    scs_int tRule
     
    scs_int broyden_init_scaling
     
    scs_int do_record_progress
     
    scs_int do_override_streams
     
    FILE *RESTRICT output_stream
     Output stream where progress information is printed. More...
     
    +

    Detailed Description

    +

    Settings structure.

    +

    Field Documentation

    + +
    +
    + + + + +
    scs_float alpha
    +
    +

    Relaxation parameter.

    +

    Default : 1.8

    + +
    +
    + +
    +
    + + + + +
    scs_float beta
    +
    +

    Step size reduction coefficient.

    +

    In every line search iteration, the step size is reduced as \(t \leftarrow \beta t\).

    + +
    +
    + +
    +
    + + + + +
    scs_int broyden_init_scaling
    +
    +

    Boolean; whether an initial scaling is desired in the full Broyden method

    +

    Default : 0

    + +
    +
    + +
    +
    + + + + +
    scs_float c1
    +
    +

    Parameter to check condition at K1

    + +
    +
    + +
    +
    + + + + +
    scs_float c_bl
    +
    +

    parameter for blind updates: 0.999

    + +
    +
    + +
    +
    + + + + +
    scs_float cg_rate
    +
    +

    For indirect, tolerance goes down like (1/iter)^cg_rate.

    +

    Default: 2.0

    + +
    +
    + +
    +
    + + + + +
    ScsDirectionType direction
    +
    +

    Choice of direction

    +

    Default : restarted_broyden

    +
    See Also
    memory
    + +
    +
    + +
    +
    + + + + +
    scs_int do_override_streams
    +
    +

    Whether to override the default output stream.

    +
    See Also
    output_stream
    + +
    +
    + +
    +
    + + + + +
    scs_int do_record_progress
    +
    +

    Whether to record progress data when running SuperSCS.

    + +
    +
    + +
    +
    + + + + +
    scs_int do_super_scs
    +
    +

    boolean: whether to use superscs or not

    + +
    +
    + +
    +
    + + + + +
    scs_float eps
    +
    +

    Convergence tolerance.

    +

    Default: 1e-3

    + +
    +
    + +
    +
    + + + + +
    scs_int k0
    +
    +

    boolean, K0: 1

    + +
    +
    + +
    +
    + + + + +
    scs_int k1
    +
    +

    boolean, K1: 1

    + +
    +
    + +
    +
    + + + + +
    scs_int k2
    +
    +

    boolean, K2: 1

    + +
    +
    + +
    +
    + + + + +
    scs_int ls
    +
    +

    max line-search iterations

    + +
    +
    + +
    +
    + + + + +
    scs_int max_iters
    +
    +

    Maximum iterations to take.

    +

    Default: 2500.

    + +
    +
    + +
    +
    + + + + +
    scs_float max_time_milliseconds
    +
    +

    Maximum time in milliseconds that the algorithm is allowed to run.

    +

    Default: 5 minutes = 1.5e5 milliseconds.

    + +
    +
    + +
    +
    + + + + +
    scs_int memory
    +
    +

    Memory length for limited-memory Broyden or Anderson's acceleration methods

    +

    Default: 10

    +
    See Also
    direction
    + +
    +
    + +
    +
    + + + + +
    scs_int normalize
    +
    +

    Boolean, heuristic data rescaling

    +

    Default : 1

    + +
    +
    + +
    +
    + + + + +
    FILE* RESTRICT output_stream
    +
    + +

    Output stream where progress information is printed.

    +
    Note
    The default value, as this is defined in scs_set_default_settings is stdout.
    +
    +It is important to note that in order for a user-defined output stream to take effect, you need to set do_override_streams to 1.
    +
    See Also
    do_override_streams
    + +
    +
    + +
    +
    + + + + +
    scs_int previous_max_iters
    +
    +

    Maximum iterations of the previous invocation to SCS.

    +

    Used to avoid memory leaks when recording the progress of the algorithm.

    + +
    +
    + +
    +
    + + + + +
    scs_float rho_x
    +
    +

    x equality constraint scaling: 1e-3

    + +
    +
    + +
    +
    + + + + +
    scs_float scale
    +
    +

    if normalized, rescales by this factor: 5

    + +
    +
    + +
    +
    + + + + +
    scs_float sigma
    +
    +

    Line-search parameter

    + +
    +
    + +
    +
    + + + + +
    scs_float sse
    +
    +

    Parameter to update r_safe at K1 (denoted as \(q\) in the paper)

    + +
    +
    + +
    +
    + + + + +
    scs_float thetabar
    +
    +

    Modified Broyden parameter.

    +

    Default : 1e-1

    + +
    +
    + +
    +
    + + + + +
    scs_int tRule
    +
    +

    Option for the Broyden direction.

    +

    Default: 3

    +
    See Also
    scs_compute_direction
    + +
    +
    + +
    +
    + + + + +
    scs_int verbose
    +
    +

    Level of verbosity.

    +

    Three levels are supported: 0, 1 and 2.

    +

    Default : 1

    + +
    +
    + +
    +
    + + + + +
    scs_int warm_start
    +
    +

    Boolean, warm start (put initial guess in Sol struct): 0

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/docs/structscs__solution.html b/docs/structscs__solution.html new file mode 100644 index 000000000..000c53596 --- /dev/null +++ b/docs/structscs__solution.html @@ -0,0 +1,178 @@ + + + + + + + + + +SuperSCS: SuperSCS: Fast & Accurate conic programming + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    SuperSCS +  1.3.2 +
    +
    +
    + + + + + + + + + +
    + +
    + +
    +
    + +
    +
    scs_solution Struct Reference
    +
    +
    + +

    Primal-dual solution arrays. + More...

    + +

    #include <scs.h>

    + + + + + + + + +

    +Data Fields

    scs_float *RESTRICT x
     
    scs_float *RESTRICT y
     
    scs_float *RESTRICT s
     
    +

    Detailed Description

    +

    Primal-dual solution arrays.

    +

    Field Documentation

    + +
    +
    + + + + +
    scs_float* RESTRICT s
    +
    +

    Primal vector \(s\)

    + +
    +
    + +
    +
    + + + + +
    scs_float* RESTRICT x
    +
    +

    Primal vector \(x\)

    + +
    +
    + +
    +
    + + + + +
    scs_float* RESTRICT y
    +
    +

    Dual vector \(y\)

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/docs/structscs__work.html b/docs/structscs__work.html new file mode 100644 index 000000000..dc72298d6 --- /dev/null +++ b/docs/structscs__work.html @@ -0,0 +1,822 @@ + + + + + + + + + +SuperSCS: SuperSCS: Fast & Accurate conic programming + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    SuperSCS +  1.3.2 +
    +
    +
    + + + + + + + + + +
    + +
    + +
    +
    + +
    +
    scs_work Struct Reference
    +
    +
    + +

    Workspace for SCS. + More...

    + +

    #include <scs.h>

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Data Fields

    scs_int m
     Row dimension of \(A\). More...
     
    scs_int n
     Column dimension of \(A\). More...
     
    scs_int l
     Dimension of \(u_k\), that is \(l = m + n + 1\) . More...
     
    scs_float *RESTRICT u
     Vector \(u_k=(x_k,y_k,\tau_k)\). More...
     
    scs_float *RESTRICT v
     Vector \(v_k = Qu_k\) (used only in SCS, not in SuperSCS). More...
     
    scs_float *RESTRICT u_t
     Vector \(\tilde{u}_k\). More...
     
    scs_float *RESTRICT u_prev
     Vector \(u_{k-1}\) of the previous iteration. More...
     
    scs_float *RESTRICT u_b
     Vector \(\bar{u}_k\). More...
     
    scs_float *RESTRICT h
     Auxiliary variable used in projections on linear spaces. More...
     
    scs_float *RESTRICT g
     Auxiliary variable of dimension \(l-1\) used in projections on linear spaces. More...
     
    scs_float *RESTRICT pr
     Primal residual vector. More...
     
    scs_float *RESTRICT dr
     Dual residual vector. More...
     
    scs_float *RESTRICT b
     The (possibly normalized) vector \(b\). More...
     
    scs_float *RESTRICT c
     The (possibly normalized) vector \(c\). More...
     
    scs_float *RESTRICT R
     Fixed-point residual \(R_k\). More...
     
    scs_float *RESTRICT R_prev
     Fixed-point residual (FPR) of the previous iteration \(R_{k-1}\). More...
     
    scs_float *RESTRICT dir
     Direction \(d_k\). More...
     
    scs_float *RESTRICT H
     Hessian approximation used by the full Broyden method. More...
     
    scs_float *RESTRICT dut
     Direction corresponding to \(\tilde{u}\). More...
     
    scs_float *RESTRICT wu
     Variable \(w_u\). More...
     
    scs_float *RESTRICT wu_t
     Variable \(\tilde{w}_u\). More...
     
    scs_float *RESTRICT wu_b
     Variable \(\bar{w}_u\). More...
     
    scs_float *RESTRICT Rwu
     Vector \(R(w_u)\) from line search. More...
     
    scs_float nrmR_con
     \(\|Ru_k\|\). More...
     
    scs_float *RESTRICT Sk
     \(s_k = u_k - u_{k-1}\) More...
     
    scs_float *RESTRICT Yk
     \(y_k = R_k - R_{k-1}\) More...
     
    scs_float stepsize
     The current stepsize \(t_k\). More...
     
    scs_float *RESTRICT s_b
     Variable that corresponds to the primal slack for the 2nd step of DRS. More...
     
    scs_float gTh
     Auxiliary variable. More...
     
    scs_float sc_b
     Scaling factor corresponding to \(b\). More...
     
    scs_float sc_c
     Scaling factor corresponding to \(c\). More...
     
    scs_float nm_b
     Norm of \(b\). More...
     
    scs_float nm_c
     Norm of \(c\). More...
     
    scs_float kap_b
     Variable for certificates of infeasibility/unboudedness. More...
     
    ScsAMatrixA
     The (possibly normalized) A matrix. More...
     
    ScsPrivWorkspace *RESTRICT p
     struct populated by linear system solver More...
     
    ScsSettings *RESTRICT stgs
     contains solver settings specified by user More...
     
    ScsScaling *RESTRICT scal
     contains the re-scaling data More...
     
    ScsConeWork *RESTRICT coneWork
     workspace for the cone projection step More...
     
    ScsDirectionCache *RESTRICT direction_cache
     A cache for the computation of Broyden or Anderson's acceleration. More...
     
    +

    Detailed Description

    +

    Workspace for SCS.

    +

    Field Documentation

    + +
    +
    + + + + +
    ScsAMatrix* A
    +
    + +

    The (possibly normalized) A matrix.

    + +
    +
    + +
    +
    + + + + +
    scs_float* RESTRICT b
    +
    + +

    The (possibly normalized) vector \(b\).

    + +
    +
    + +
    +
    + + + + +
    scs_float* RESTRICT c
    +
    + +

    The (possibly normalized) vector \(c\).

    + +
    +
    + +
    +
    + + + + +
    ScsConeWork* RESTRICT coneWork
    +
    + +

    workspace for the cone projection step

    + +
    +
    + +
    +
    + + + + +
    scs_float* RESTRICT dir
    +
    + +

    Direction \(d_k\).

    + +
    +
    + +
    +
    + + + + +
    ScsDirectionCache* RESTRICT direction_cache
    +
    + +

    A cache for the computation of Broyden or Anderson's acceleration.

    + +
    +
    + +
    +
    + + + + +
    scs_float* RESTRICT dr
    +
    + +

    Dual residual vector.

    +

    +\[ \text{dr} = A'y + c \tau, \] +

    +

    and in SuperSCS, \(y\) is \(\bar{y}\) and \(\tau\) is \(\bar{\tau}\).

    + +
    +
    + +
    +
    + + + + +
    scs_float* RESTRICT dut
    +
    + +

    Direction corresponding to \(\tilde{u}\).

    + +
    +
    + +
    +
    + + + + +
    scs_float* RESTRICT g
    +
    + +

    Auxiliary variable of dimension \(l-1\) used in projections on linear spaces.

    + +
    +
    + +
    +
    + + + + +
    scs_float gTh
    +
    + +

    Auxiliary variable.

    + +
    +
    + +
    +
    + + + + +
    scs_float* RESTRICT h
    +
    + +

    Auxiliary variable used in projections on linear spaces.

    + +
    +
    + +
    +
    + + + + +
    scs_float* RESTRICT H
    +
    + +

    Hessian approximation used by the full Broyden method.

    +
    See Also
    full_broyden
    + +
    +
    + +
    +
    + + + + +
    scs_float kap_b
    +
    + +

    Variable for certificates of infeasibility/unboudedness.

    + +
    +
    + +
    +
    + + + + +
    scs_int l
    +
    + +

    Dimension of \(u_k\), that is \(l = m + n + 1\) .

    + +
    +
    + +
    +
    + + + + +
    scs_int m
    +
    + +

    Row dimension of \(A\).

    + +
    +
    + +
    +
    + + + + +
    scs_int n
    +
    + +

    Column dimension of \(A\).

    + +
    +
    + +
    +
    + + + + +
    scs_float nm_b
    +
    + +

    Norm of \(b\).

    + +
    +
    + +
    +
    + + + + +
    scs_float nm_c
    +
    + +

    Norm of \(c\).

    + +
    +
    + +
    +
    + + + + +
    scs_float nrmR_con
    +
    + +

    \(\|Ru_k\|\).

    + +
    +
    + +
    +
    + + + + +
    ScsPrivWorkspace* RESTRICT p
    +
    + +

    struct populated by linear system solver

    + +
    +
    + +
    +
    + + + + +
    scs_float* RESTRICT pr
    +
    + +

    Primal residual vector.

    +

    +\[ \text{pr} = A x + s - b \tau, \] +

    +

    and in SuperSCS, \(x\) is \(\bar{x}\), \(s\) is \(\bar{s}\) and \(\tau\) is \(\bar{\tau}\)

    + +
    +
    + +
    +
    + + + + +
    scs_float* RESTRICT R
    +
    + +

    Fixed-point residual \(R_k\).

    + +
    +
    + +
    +
    + + + + +
    scs_float* RESTRICT R_prev
    +
    + +

    Fixed-point residual (FPR) of the previous iteration \(R_{k-1}\).

    + +
    +
    + +
    +
    + + + + +
    scs_float* RESTRICT Rwu
    +
    + +

    Vector \(R(w_u)\) from line search.

    + +
    +
    + +
    +
    + + + + +
    scs_float* RESTRICT s_b
    +
    + +

    Variable that corresponds to the primal slack for the 2nd step of DRS.

    + +
    +
    + +
    +
    + + + + +
    scs_float sc_b
    +
    + +

    Scaling factor corresponding to \(b\).

    + +
    +
    + +
    +
    + + + + +
    scs_float sc_c
    +
    + +

    Scaling factor corresponding to \(c\).

    + +
    +
    + +
    +
    + + + + +
    ScsScaling* RESTRICT scal
    +
    + +

    contains the re-scaling data

    + +
    +
    + +
    +
    + + + + +
    scs_float* RESTRICT Sk
    +
    + +

    \(s_k = u_k - u_{k-1}\)

    + +
    +
    + +
    +
    + + + + +
    scs_float stepsize
    +
    + +

    The current stepsize \(t_k\).

    + +
    +
    + +
    +
    + + + + +
    ScsSettings* RESTRICT stgs
    +
    + +

    contains solver settings specified by user

    + +
    +
    + +
    +
    + + + + +
    scs_float* RESTRICT u
    +
    + +

    Vector \(u_k=(x_k,y_k,\tau_k)\).

    + +
    +
    + +
    +
    + + + + +
    scs_float* RESTRICT u_b
    +
    + +

    Vector \(\bar{u}_k\).

    + +
    +
    + +
    +
    + + + + +
    scs_float* RESTRICT u_prev
    +
    + +

    Vector \(u_{k-1}\) of the previous iteration.

    + +
    +
    + +
    +
    + + + + +
    scs_float* RESTRICT u_t
    +
    + +

    Vector \(\tilde{u}_k\).

    + +
    +
    + +
    +
    + + + + +
    scs_float* RESTRICT v
    +
    + +

    Vector \(v_k = Qu_k\) (used only in SCS, not in SuperSCS).

    + +
    +
    + +
    +
    + + + + +
    scs_float* RESTRICT wu
    +
    + +

    Variable \(w_u\).

    + +
    +
    + +
    +
    + + + + +
    scs_float* RESTRICT wu_b
    +
    + +

    Variable \(\bar{w}_u\).

    + +
    +
    + +
    +
    + + + + +
    scs_float* RESTRICT wu_t
    +
    + +

    Variable \(\tilde{w}_u\).

    + +
    +
    + +
    +
    + + + + +
    scs_float* RESTRICT Yk
    +
    + +

    \(y_k = R_k - R_{k-1}\)

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/docs/structtimer.html b/docs/structtimer.html index d0a271b06..55c10da2a 100644 --- a/docs/structtimer.html +++ b/docs/structtimer.html @@ -1,10 +1,13 @@ - - + + + + + -SuperSCS: timer Struct Reference +SuperSCS: SuperSCS: Fast & Accurate conic programming @@ -21,6 +24,14 @@ + + +
    @@ -28,8 +39,10 @@ + @@ -95,7 +108,7 @@
    -

    SCS timer timer timer. +

    SCS timer. More...

    #include <util.h>

    @@ -108,7 +121,7 @@
    SuperSCS +  1.3.2
     

    Detailed Description

    -

    SCS timer timer timer.

    +

    SCS timer.

    Field Documentation

    @@ -140,7 +153,7 @@
    diff --git a/docs/superscs__page_8h.html b/docs/superscs__page_8h.html index 195e4051e..d695a1be6 100644 --- a/docs/superscs__page_8h.html +++ b/docs/superscs__page_8h.html @@ -1,10 +1,13 @@ - - + + + + + -SuperSCS: pages/superscs_page.h File Reference +SuperSCS: SuperSCS: Fast & Accurate conic programming @@ -21,6 +24,14 @@ + + +
    @@ -28,8 +39,10 @@ + @@ -100,7 +113,7 @@ diff --git a/docs/superscs__page_8h_source.html b/docs/superscs__page_8h_source.html index e2b538921..86653d58f 100644 --- a/docs/superscs__page_8h_source.html +++ b/docs/superscs__page_8h_source.html @@ -1,10 +1,13 @@ - - + + + + + -SuperSCS: pages/superscs_page.h Source File +SuperSCS: SuperSCS: Fast & Accurate conic programming @@ -21,6 +24,14 @@ + + +
    @@ -28,8 +39,10 @@
    SuperSCS +  1.3.2
    + @@ -99,7 +112,7 @@ diff --git a/docs/unit__test__util_8h.html b/docs/unit__test__util_8h.html index 211db3ee6..121a91001 100644 --- a/docs/unit__test__util_8h.html +++ b/docs/unit__test__util_8h.html @@ -1,10 +1,13 @@ - - + + + + + -SuperSCS: include/unit_test_util.h File Reference +SuperSCS: SuperSCS: Fast & Accurate conic programming @@ -21,6 +24,14 @@ + + +
    @@ -28,8 +39,10 @@
    SuperSCS +  1.3.2
    + @@ -126,6 +139,10 @@ + + + + @@ -150,16 +167,16 @@
    SuperSCS +  1.3.2
     
    #define TEST_FAIL_FLAG   "\x1B[31m<FAIL>\x1B[39m "
     
    #define TEST_MESSAGE_BUFF_SIZE   500
     
    #define TEST_ERROR_MESSAGE_SIZE   100
     
    #define FAIL_WITH_MESSAGE(str, message)
     
    #define ASSERT_TRUE_OR_FAIL(p, str, message)
    - - - - - - - - - - + + + + + + + + + +

    Functions

    bool test (const unitTest_t ut, const char *name)
     
    bool assertEqualsInt (const scs_int a, const scs_int b)
     
    bool assertEqualsFloat (const scs_float a, const scs_float b, const scs_float tol)
     
    bool assertEqualsArray (const scs_float *a, const scs_float *b, scs_int n, const scs_float tol)
     
    bool assertEqualsArrayInt (const scs_int *a, const scs_int *b, scs_int n)
     
    bool scs_test (const unitTest_t ut, const char *name)
     
    bool scs_assert_equals_int (const scs_int a, const scs_int b)
     
    bool scs_assert_equals_float (const scs_float a, const scs_float b, const scs_float tol)
     
    bool scs_assert_equals_array (const scs_float *a, const scs_float *b, scs_int n, const scs_float tol)
     
    bool scs_assert_equals_array_int (const scs_int *a, const scs_int *b, scs_int n)
     
    @@ -209,12 +226,12 @@

    Macro Definition Documentation

    Variables

    Value:
    -
    if (!assertEqualsArrayInt((val),(expected),(len))){\
    +
    if (!scs_assert_equals_array_int((val),(expected),(len))){\
    FAIL_WITH_MESSAGE((str), (message));\
    }
    -
    bool assertEqualsArrayInt(const scs_int *a, const scs_int *b, scs_int n)
    -
    #define FAIL_WITH_MESSAGE(str, message)
    Definition: unit_test_util.h:51
    -
    int number_of_assertions
    Definition: unit_test_util.h:40
    +
    bool scs_assert_equals_array_int(const scs_int *a, const scs_int *b, scs_int n)
    +
    #define FAIL_WITH_MESSAGE(str, message)
    Definition: unit_test_util.h:73
    +
    int number_of_assertions
    Definition: unit_test_util.h:61

    Check whether two arrays are equal, or fail with a given message.

    @@ -267,12 +284,12 @@

    Macro Definition Documentation

    Value:
    -
    if (!assertEqualsArray((val),(expected),(len),(tol))){\
    +
    if (!scs_assert_equals_array((val),(expected),(len),(tol))){\
    FAIL_WITH_MESSAGE((str), (message));\
    }
    -
    #define FAIL_WITH_MESSAGE(str, message)
    Definition: unit_test_util.h:51
    -
    int number_of_assertions
    Definition: unit_test_util.h:40
    -
    bool assertEqualsArray(const scs_float *a, const scs_float *b, scs_int n, const scs_float tol)
    +
    bool scs_assert_equals_array(const scs_float *a, const scs_float *b, scs_int n, const scs_float tol)
    +
    #define FAIL_WITH_MESSAGE(str, message)
    Definition: unit_test_util.h:73
    +
    int number_of_assertions
    Definition: unit_test_util.h:61

    Check whether two arrays are equal, or fail with a given message.

    @@ -319,17 +336,19 @@

    Macro Definition Documentation

    Value:
    -
    if (!assertEqualsFloat((val), (expected), (tol))) {\
    -
    char buff[500];\
    -
    char error_msg[100];\
    +
    if (!scs_assert_equals_float((val), (expected), (tol))) {\
    + +
    char error_msg[TEST_ERROR_MESSAGE_SIZE];\
    sprintf(error_msg, "\n\tExpected: %g, Actual %g (tol=%g)", expected, val, tol);\
    -
    strcpy(buff, message);\
    +
    strncpy(buff, message, TEST_ERROR_MESSAGE_SIZE);\
    strcat(buff, error_msg);\
    FAIL_WITH_MESSAGE((str), (buff)); \
    }
    -
    bool assertEqualsFloat(const scs_float a, const scs_float b, const scs_float tol)
    -
    #define FAIL_WITH_MESSAGE(str, message)
    Definition: unit_test_util.h:51
    -
    int number_of_assertions
    Definition: unit_test_util.h:40
    +
    #define TEST_ERROR_MESSAGE_SIZE
    Definition: unit_test_util.h:69
    +
    bool scs_assert_equals_float(const scs_float a, const scs_float b, const scs_float tol)
    +
    #define FAIL_WITH_MESSAGE(str, message)
    Definition: unit_test_util.h:73
    +
    int number_of_assertions
    Definition: unit_test_util.h:61
    +
    #define TEST_MESSAGE_BUFF_SIZE
    Definition: unit_test_util.h:68

    Check whether two integers are equal, or fail with a given message.

    @@ -370,19 +389,21 @@

    Macro Definition Documentation

    Value:
    -
    if (!assertEqualsInt((val),(expected))) { \
    +
    if (!scs_assert_equals_int((val),(expected))) { \
    {\
    -
    char buff[500];\
    -
    char error_msg[100];\
    + +
    char error_msg[TEST_ERROR_MESSAGE_SIZE];\
    sprintf(error_msg, "\n\tExpected: %d, Actual %d", expected, val);\
    strcpy(buff, message);\
    strcat(buff, error_msg);\
    FAIL_WITH_MESSAGE((str), (buff)); \
    }\
    }
    -
    #define FAIL_WITH_MESSAGE(str, message)
    Definition: unit_test_util.h:51
    -
    int number_of_assertions
    Definition: unit_test_util.h:40
    -
    bool assertEqualsInt(const scs_int a, const scs_int b)
    +
    #define TEST_ERROR_MESSAGE_SIZE
    Definition: unit_test_util.h:69
    +
    #define FAIL_WITH_MESSAGE(str, message)
    Definition: unit_test_util.h:73
    +
    int number_of_assertions
    Definition: unit_test_util.h:61
    +
    #define TEST_MESSAGE_BUFF_SIZE
    Definition: unit_test_util.h:68
    +
    bool scs_assert_equals_int(const scs_int a, const scs_int b)

    Check whether two integers are equal, or fail with a given message.

    @@ -420,8 +441,8 @@

    Macro Definition Documentation

    if (!(p)) { \
    FAIL_WITH_MESSAGE((str), (message));\
    }
    -
    #define FAIL_WITH_MESSAGE(str, message)
    Definition: unit_test_util.h:51
    -
    int number_of_assertions
    Definition: unit_test_util.h:40
    +
    #define FAIL_WITH_MESSAGE(str, message)
    Definition: unit_test_util.h:73
    +
    int number_of_assertions
    Definition: unit_test_util.h:61
    @@ -450,7 +471,7 @@

    Macro Definition Documentation

    Value:
    *str = (char*)(message);\
    return TEST_FAILURE
    -
    #define TEST_FAILURE
    Definition: unit_test_util.h:43
    +
    #define TEST_FAILURE
    Definition: unit_test_util.h:64

    Fails with a given message.

    @@ -495,10 +516,22 @@

    Macro Definition Documentation

    Value:
    *str = (char*) MESSAGE_OK;\
    return TEST_SUCCESS
    -
    #define MESSAGE_OK
    Definition: unit_test_util.h:44
    -
    #define TEST_SUCCESS
    Definition: unit_test_util.h:42
    +
    #define MESSAGE_OK
    Definition: unit_test_util.h:65
    +
    #define TEST_SUCCESS
    Definition: unit_test_util.h:63

    Succeed

    +
    + + +
    +
    + + + + +
    #define TEST_ERROR_MESSAGE_SIZE   100
    +
    +
    @@ -525,6 +558,18 @@

    Macro Definition Documentation

    test fails

    +
    + + +
    +
    + + + + +
    #define TEST_MESSAGE_BUFF_SIZE   500
    +
    +
    @@ -589,17 +634,17 @@

    Typedef Documentation

    Function template defining a unit test:

    int myTestFunction(char**);

    -

    This type is a pointer to such a function which takes as an input argument a pointer to a string (char**) and returns a status code (either TEST_SUCCESS or TEST_FAILURE).

    +

    This type is a pointer to such a function which takes as an input argument a pointer to a string (char**) and returns a status code (either TEST_SUCCESS or TEST_FAILURE).

    Function Documentation

    - +
    - + @@ -643,12 +688,12 @@

    Function Documentation

    - +
    bool assertEqualsArray bool scs_assert_equals_array ( const scs_float a,
    - + @@ -685,12 +730,12 @@

    Function Documentation

    - +
    bool assertEqualsArrayInt bool scs_assert_equals_array_int ( const scs_int a,
    - + @@ -727,12 +772,12 @@

    Function Documentation

    - +
    bool assertEqualsFloat bool scs_assert_equals_float ( const scs_float  a,
    - + @@ -762,12 +807,12 @@

    Function Documentation

    - +
    bool assertEqualsInt bool scs_assert_equals_int ( const scs_int  a,
    - + @@ -793,7 +838,7 @@

    Function Documentation

    bool test bool scs_test ( const unitTest_t  ut,
    -
    Returns
    TEST_SUCCESS if the test succeeds and TEST_FAILURE if it fails.
    +
    Returns
    TEST_SUCCESS if the test succeeds and TEST_FAILURE if it fails.
    @@ -813,7 +858,7 @@

    Variable Documentation

    diff --git a/docs/unit__test__util_8h_source.html b/docs/unit__test__util_8h_source.html index 79fc1dbe5..5e357c2dc 100644 --- a/docs/unit__test__util_8h_source.html +++ b/docs/unit__test__util_8h_source.html @@ -1,10 +1,13 @@ - - + + + + + -SuperSCS: include/unit_test_util.h Source File +SuperSCS: SuperSCS: Fast & Accurate conic programming @@ -21,6 +24,14 @@ + + +
    @@ -28,8 +39,10 @@ + @@ -95,146 +108,170 @@
    unit_test_util.h
    -Go to the documentation of this file.
    1 /*
    -
    2  * File: unitTests.h
    -
    3  * Author: Pantelis Sopasakis
    -
    4  *
    -
    5  * Created on April 1, 2017, 2:14 AM
    -
    6  */
    -
    7 
    -
    8 #ifndef UNITTESTS_H
    -
    9 #define UNITTESTS_H
    -
    10 
    -
    11 #include <stdio.h>
    -
    12 #include <stdlib.h>
    -
    13 #include <string.h>
    -
    14 #include "glbopts.h"
    -
    15 #include <math.h>
    -
    16 #include <stdbool.h>
    -
    17 #include "linAlg.h"
    -
    18 
    -
    19 #ifdef __cplusplus
    -
    20 extern "C" {
    -
    21 #endif
    -
    22 
    -
    23 #ifdef bool
    -
    24 #undef bool
    -
    25 #endif
    -
    26 
    -
    27 #ifdef true
    -
    28 #undef true
    -
    29 #endif
    -
    30 
    -
    31 #ifdef false
    -
    32 #undef false
    -
    33 #endif
    -
    34 
    -
    35  typedef int bool;
    -
    36 #define true 1
    -
    37 #define false 0
    -
    38 
    +Go to the documentation of this file.
    1 /*
    +
    2  * The MIT License (MIT)
    +
    3  *
    +
    4  * Copyright (c) 2017 Pantelis Sopasakis (https://alphaville.github.io),
    +
    5  * Krina Menounou (https://www.linkedin.com/in/krinamenounou),
    +
    6  * Panagiotis Patrinos (http://homes.esat.kuleuven.be/~ppatrino)
    +
    7  * Copyright (c) 2012 Brendan O'Donoghue (bodonoghue85@gmail.com)
    +
    8  *
    +
    9  * Permission is hereby granted, free of charge, to any person obtaining a copy
    +
    10  * of this software and associated documentation files (the "Software"), to deal
    +
    11  * in the Software without restriction, including without limitation the rights
    +
    12  * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
    +
    13  * copies of the Software, and to permit persons to whom the Software is
    +
    14  * furnished to do so, subject to the following conditions:
    +
    15  *
    +
    16  * The above copyright notice and this permission notice shall be included in all
    +
    17  * copies or substantial portions of the Software.
    +
    18  *
    +
    19  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
    +
    20  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
    +
    21  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
    +
    22  * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
    +
    23  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
    +
    24  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
    +
    25  * SOFTWARE.
    +
    26  *
    +
    27  */
    +
    28 
    +
    29 #ifndef UNITTESTS_H
    +
    30 #define UNITTESTS_H
    +
    31 
    +
    32 #include <stdio.h>
    +
    33 #include <stdlib.h>
    +
    34 #include <string.h>
    +
    35 #include "glbopts.h"
    +
    36 #include <math.h>
    +
    37 #include <stdbool.h>
    +
    38 #include "linAlg.h"
    39 
    - -
    41 
    -
    42 #define TEST_SUCCESS 0
    -
    43 #define TEST_FAILURE 1
    -
    44 #define MESSAGE_OK "OK"
    -
    45 #define TEST_PASS_FLAG "\x1B[92m[PASS]\x1B[39m "
    -
    46 #define TEST_FAIL_FLAG "\x1B[31m<FAIL>\x1B[39m "
    -
    51 #define FAIL_WITH_MESSAGE(str, message)\
    -
    52  *str = (char*)(message);\
    -
    53  return TEST_FAILURE
    -
    54 
    -
    55 
    -
    56 #define ASSERT_TRUE_OR_FAIL(p, str, message)\
    -
    57  number_of_assertions++;\
    -
    58  if (!(p)) { \
    -
    59  FAIL_WITH_MESSAGE((str), (message));\
    -
    60  }
    -
    61 
    -
    65 #define ASSERT_EQUAL_INT_OR_FAIL(val, expected, str, message)\
    -
    66  number_of_assertions++;\
    -
    67  if (!assertEqualsInt((val),(expected))) { \
    -
    68  {\
    -
    69  char buff[500];\
    -
    70  char error_msg[100];\
    -
    71  sprintf(error_msg, "\n\tExpected: %d, Actual %d", expected, val);\
    -
    72  strcpy(buff, message);\
    -
    73  strcat(buff, error_msg);\
    -
    74  FAIL_WITH_MESSAGE((str), (buff)); \
    -
    75  }\
    -
    76  }
    -
    77 
    -
    81 #define ASSERT_EQUAL_FLOAT_OR_FAIL(val, expected, tol, str, message)\
    -
    82  number_of_assertions++;\
    -
    83  if (!assertEqualsFloat((val), (expected), (tol))) {\
    -
    84  char buff[500];\
    -
    85  char error_msg[100];\
    -
    86  sprintf(error_msg, "\n\tExpected: %g, Actual %g (tol=%g)", expected, val, tol);\
    -
    87  strcpy(buff, message);\
    -
    88  strcat(buff, error_msg);\
    -
    89  FAIL_WITH_MESSAGE((str), (buff)); \
    -
    90  }
    -
    91 
    -
    95 #define ASSERT_EQUAL_ARRAY_OR_FAIL(val,expected,len,tol,str,message)\
    -
    96  number_of_assertions++;\
    -
    97  if (!assertEqualsArray((val),(expected),(len),(tol))){\
    -
    98  FAIL_WITH_MESSAGE((str), (message));\
    -
    99  }
    -
    100 
    -
    104 #define ASSERT_EQUAL_ARRAY_INT_OR_FAIL(val,expected,len,str,message)\
    -
    105  number_of_assertions++;\
    -
    106  if (!assertEqualsArrayInt((val),(expected),(len))){\
    -
    107  FAIL_WITH_MESSAGE((str), (message));\
    -
    108  }
    -
    109 
    -
    113 #define SUCCEED(str)\
    -
    114  *str = (char*) MESSAGE_OK;\
    -
    115  return TEST_SUCCESS
    -
    116 
    -
    126  typedef bool (*unitTest_t)(char**);
    -
    127 
    -
    128 
    -
    135  bool test(const unitTest_t ut, const char* name);
    -
    136 
    -
    143  bool assertEqualsInt(const scs_int a, const scs_int b);
    -
    144 
    -
    152  bool assertEqualsFloat(const scs_float a, const scs_float b, const scs_float tol);
    -
    153 
    -
    164  bool assertEqualsArray(
    -
    165  const scs_float * a,
    -
    166  const scs_float * b,
    -
    167  scs_int n,
    -
    168  const scs_float tol);
    -
    169 
    - -
    180  const scs_int * a,
    -
    181  const scs_int * b,
    -
    182  scs_int n);
    -
    183 
    -
    184 
    -
    185 #ifdef __cplusplus
    -
    186 }
    -
    187 #endif
    -
    188 
    -
    189 #endif /* UNITTESTS_H */
    -
    190 
    -
    bool(* unitTest_t)(char **)
    Definition: unit_test_util.h:126
    -
    bool assertEqualsArrayInt(const scs_int *a, const scs_int *b, scs_int n)
    -
    bool assertEqualsFloat(const scs_float a, const scs_float b, const scs_float tol)
    +
    40 #ifdef __cplusplus
    +
    41 extern "C" {
    +
    42 #endif
    +
    43 
    +
    44 #ifdef bool
    +
    45 #undef bool
    +
    46 #endif
    +
    47 
    +
    48 #ifdef true
    +
    49 #undef true
    +
    50 #endif
    +
    51 
    +
    52 #ifdef false
    +
    53 #undef false
    +
    54 #endif
    +
    55 
    +
    56  typedef int bool;
    +
    57 #define true 1
    +
    58 #define false 0
    +
    59 
    +
    60 
    + +
    62 
    +
    63 #define TEST_SUCCESS 0
    +
    64 #define TEST_FAILURE 1
    +
    65 #define MESSAGE_OK "OK"
    +
    66 #define TEST_PASS_FLAG "\x1B[92m[PASS]\x1B[39m "
    +
    67 #define TEST_FAIL_FLAG "\x1B[31m<FAIL>\x1B[39m "
    +
    68 #define TEST_MESSAGE_BUFF_SIZE 500
    +
    69 #define TEST_ERROR_MESSAGE_SIZE 100
    +
    70 
    +
    73 #define FAIL_WITH_MESSAGE(str, message)\
    +
    74  *str = (char*)(message);\
    +
    75  return TEST_FAILURE
    +
    76 
    +
    77 
    +
    78 #define ASSERT_TRUE_OR_FAIL(p, str, message)\
    +
    79  number_of_assertions++;\
    +
    80  if (!(p)) { \
    +
    81  FAIL_WITH_MESSAGE((str), (message));\
    +
    82  }
    +
    83 
    +
    87 #define ASSERT_EQUAL_INT_OR_FAIL(val, expected, str, message)\
    +
    88  number_of_assertions++;\
    +
    89  if (!scs_assert_equals_int((val),(expected))) { \
    +
    90  {\
    +
    91  char buff[TEST_MESSAGE_BUFF_SIZE];\
    +
    92  char error_msg[TEST_ERROR_MESSAGE_SIZE];\
    +
    93  sprintf(error_msg, "\n\tExpected: %d, Actual %d", expected, val);\
    +
    94  strcpy(buff, message);\
    +
    95  strcat(buff, error_msg);\
    +
    96  FAIL_WITH_MESSAGE((str), (buff)); \
    +
    97  }\
    +
    98  }
    +
    99 
    +
    103 #define ASSERT_EQUAL_FLOAT_OR_FAIL(val, expected, tol, str, message)\
    +
    104  number_of_assertions++;\
    +
    105  if (!scs_assert_equals_float((val), (expected), (tol))) {\
    +
    106  char buff[TEST_MESSAGE_BUFF_SIZE];\
    +
    107  char error_msg[TEST_ERROR_MESSAGE_SIZE];\
    +
    108  sprintf(error_msg, "\n\tExpected: %g, Actual %g (tol=%g)", expected, val, tol);\
    +
    109  strncpy(buff, message, TEST_ERROR_MESSAGE_SIZE);\
    +
    110  strcat(buff, error_msg);\
    +
    111  FAIL_WITH_MESSAGE((str), (buff)); \
    +
    112  }
    +
    113 
    +
    117 #define ASSERT_EQUAL_ARRAY_OR_FAIL(val,expected,len,tol,str,message)\
    +
    118  number_of_assertions++;\
    +
    119  if (!scs_assert_equals_array((val),(expected),(len),(tol))){\
    +
    120  FAIL_WITH_MESSAGE((str), (message));\
    +
    121  }
    +
    122 
    +
    126 #define ASSERT_EQUAL_ARRAY_INT_OR_FAIL(val,expected,len,str,message)\
    +
    127  number_of_assertions++;\
    +
    128  if (!scs_assert_equals_array_int((val),(expected),(len))){\
    +
    129  FAIL_WITH_MESSAGE((str), (message));\
    +
    130  }
    +
    131 
    +
    135 #define SUCCEED(str)\
    +
    136  *str = (char*) MESSAGE_OK;\
    +
    137  return TEST_SUCCESS
    +
    138 
    +
    148  typedef bool (*unitTest_t)(char**);
    +
    149 
    +
    150 
    +
    157  bool scs_test(const unitTest_t ut, const char* name);
    +
    158 
    +
    165  bool scs_assert_equals_int(const scs_int a, const scs_int b);
    +
    166 
    +
    174  bool scs_assert_equals_float(const scs_float a, const scs_float b, const scs_float tol);
    +
    175 
    + +
    187  const scs_float * a,
    +
    188  const scs_float * b,
    +
    189  scs_int n,
    +
    190  const scs_float tol);
    +
    191 
    + +
    202  const scs_int * a,
    +
    203  const scs_int * b,
    +
    204  scs_int n);
    +
    205 
    +
    206 
    +
    207 #ifdef __cplusplus
    +
    208 }
    +
    209 #endif
    +
    210 
    +
    211 #endif /* UNITTESTS_H */
    +
    212 
    +
    bool scs_test(const unitTest_t ut, const char *name)
    +
    bool(* unitTest_t)(char **)
    Definition: unit_test_util.h:148
    +
    bool scs_assert_equals_array(const scs_float *a, const scs_float *b, scs_int n, const scs_float tol)
    +
    bool scs_assert_equals_float(const scs_float a, const scs_float b, const scs_float tol)
    +
    bool scs_assert_equals_array_int(const scs_int *a, const scs_int *b, scs_int n)
    -
    int scs_int
    Definition: glbopts.h:65
    -
    int bool
    Definition: unit_test_util.h:35
    +
    int scs_int
    Definition: glbopts.h:92
    +
    int bool
    Definition: unit_test_util.h:56
    -
    bool test(const unitTest_t ut, const char *name)
    -
    int number_of_assertions
    Definition: unit_test_util.h:40
    -
    bool assertEqualsInt(const scs_int a, const scs_int b)
    -
    double scs_float
    Definition: glbopts.h:70
    -
    bool assertEqualsArray(const scs_float *a, const scs_float *b, scs_int n, const scs_float tol)
    +
    int number_of_assertions
    Definition: unit_test_util.h:61
    +
    double scs_float
    Definition: glbopts.h:96
    +
    bool scs_assert_equals_int(const scs_int a, const scs_int b)
    diff --git a/docs/util_8h.html b/docs/util_8h.html index f620f570c..4f9c071ec 100644 --- a/docs/util_8h.html +++ b/docs/util_8h.html @@ -1,10 +1,13 @@ - - + + + + + -SuperSCS: include/util.h File Reference +SuperSCS: SuperSCS: Fast & Accurate conic programming @@ -21,6 +24,14 @@ + + +
    @@ -28,8 +39,10 @@
    SuperSCS +  1.3.2
    + @@ -109,53 +122,53 @@ - +
    SuperSCS +  1.3.2

    Data Structures

    struct  timer
     SCS timer timer timer. More...
     SCS timer. More...
     
    - +

    Typedefs

    typedef struct timer timer
     SCS timer timer timer. More...
     SCS timer. More...
     
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -171,25 +184,25 @@

    Typedef Documentation

    Functions

    void tic (timer *t)
     Starts the timer. More...
     
    scs_float toc (timer *t)
     Stops the timer. More...
     
    scs_float strtoc (char *str, timer *t)
     Stops the timer and prints a custom message. More...
     
    scs_float tocq (timer *t)
     Stops the timer. More...
     
    void printConeData (const Cone *RESTRICT k)
     Prints the content of a Cone object. More...
     
    void printData (const Data *d)
     Prints the content of a Data object. More...
     
    void printWork (const Work *w)
     Prints the content of a Work object. More...
     
    void printArray (const scs_float *RESTRICT arr, scs_int n, const char *RESTRICT name)
     Prints an array. More...
     
    void setDefaultSettings (Data *RESTRICT d)
     Sets the settings to certain default values. More...
     
    void freeSol (Sol *RESTRICT sol)
     Frees the memory allocated for a Sol object. More...
     
    void freeData (Data *RESTRICT d, Cone *RESTRICT k)
     Frees the memory allocate of a Data and a Cone object. More...
     
    void freeInfo (Info *RESTRICT info)
     Frees the memory allocated for an Info object. More...
     
    void scs_tic (timer *t)
     Starts the timer. More...
     
    scs_float scs_toc (timer *t)
     Stops the timer. More...
     
    scs_float scs_strtoc (char *str, timer *t)
     Stops the timer and prints a custom message. More...
     
    scs_float scs_toc_quiet (timer *t)
     Stops the timer. More...
     
    void scs_print_cone_data (const ScsCone *RESTRICT k)
     Prints the content of a Cone object. More...
     
    void scs_print_data (const ScsData *d)
     Prints the content of a Data object. More...
     
    void scs_print_work (const ScsWork *w)
     Prints the content of a Work object. More...
     
    void scs_print_array (const scs_float *RESTRICT arr, scs_int n, const char *RESTRICT name)
     Prints an array. More...
     
    void scs_set_default_settings (ScsData *RESTRICT d)
     Sets the settings to certain default values. More...
     
    void scs_free_sol (ScsSolution *RESTRICT sol)
     Frees the memory allocated for a Sol object. More...
     
    void scs_free_data (ScsData *RESTRICT d, ScsCone *RESTRICT k)
     Frees the memory allocate of a Data and a Cone object. More...
     
    void scs_free_info (ScsInfo *RESTRICT info)
     Frees the memory allocated for an Info object. More...
     
    int scs_special_print (scs_int print_mode, FILE *RESTRICT __stream, const char *RESTRICT __format,...)
     Custom print function for SCS. More...
     
    -

    SCS timer timer timer.

    +

    SCS timer.

    Function Documentation

    - +
    - + - + - + @@ -203,25 +216,25 @@

    Function Documentation

    Frees the memory allocate of a Data and a Cone object.

    Parameters
    void freeData void scs_free_data (Data *RESTRICT ScsData *RESTRICT  d,
    Cone *RESTRICT ScsCone *RESTRICT  k 
    - - + +
    dpointer to allocated Data structure
    kpointer to allocated Cone structure
    dpointer to allocated ScsData structure
    kpointer to allocated ScsCone structure
    -
    See Also
    setDefaultSettings
    +
    See Also
    scs_set_default_settings
    -initData
    +scs_init_data
    - +
    - + - + @@ -231,22 +244,22 @@

    Function Documentation

    Frees the memory allocated for an Info object.

    Parameters
    void freeInfo void scs_free_info (Info *RESTRICT ScsInfo *RESTRICT  info)
    - +
    infopointer to allocated Info structure
    infopointer to allocated ScsInfo structure
    -
    See Also
    initInfo
    +
    See Also
    scs_init_info
    - +
    - + - + @@ -256,20 +269,20 @@

    Function Documentation

    Frees the memory allocated for a Sol object.

    Parameters
    void freeSol void scs_free_sol (Sol *RESTRICT ScsSolution *RESTRICT  sol)
    - +
    solpointer to allocated Sol structure
    solpointer to allocated ScsSolution structure
    -
    See Also
    initSol
    +
    See Also
    scs_init_sol
    - +
    - + @@ -306,14 +319,14 @@

    Function Documentation

    - +
    void printArray void scs_print_array ( const scs_float *RESTRICT  arr,
    - + - + @@ -330,14 +343,14 @@

    Function Documentation

    - +
    void printConeData void scs_print_cone_data (const Cone *RESTRICT const ScsCone *RESTRICT  k)
    - + - + @@ -354,14 +367,14 @@

    Function Documentation

    - +
    void printData void scs_print_data (const Dataconst ScsData d)
    - + - + @@ -378,67 +391,14 @@

    Function Documentation

    - -
    -
    -
    void printWork void scs_print_work (const Workconst ScsWork w)
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    int scs_special_print (scs_int print_mode,
    FILE *RESTRICT __stream,
    const char *RESTRICT __format,
     ... 
    )
    -
    - -

    Custom print function for SCS.

    -

    This functions allows to print in different streams. The argument print_mode specifies whether it is allowed to override the default stream and use a print function other than printf.

    -

    For example, if SCS is interfaced via a MEX function, MATLAB expects to use printf exclusively which it then delegated to mexPrintf; a function that prints the program's output to the console of MATLAB.

    -

    When SCS is called from other software, it is likely that print_mode has to be set to 0.

    -
    Parameters
    - - - - - -
    print_modewhether to override the default behavior (using printf)
    __streaman output stream
    __formatstring format
    ...arguments specifying data to print
    -
    -
    -
    Returns
    return value of print or vfprintf
    - -
    -
    - +
    - + - + @@ -450,57 +410,59 @@

    Function Documentation

    - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + + +
    void setDefaultSettings void scs_set_default_settings (Data *RESTRICT ScsData *RESTRICT  d)
    ParameterDefault valueDefault value Macro
    normalize1NORMALIZE_DEFAULT
    normalize1SCS_NORMALIZE_DEFAULT
    scale1.0SCALE_DEFAULT
    scale1.0SCS_SCALE_DEFAULT
    rho_x0.001RHO_X_DEFAULT
    rho_x0.001SCS_RHO_X_DEFAULT
    max_iters2500MAX_ITERS_DEFAULT
    max_iters10000SCS_MAX_ITERS_DEFAULT
    previous_max_iters-1PMAXITER_DEFAULT
    max_time_milliseconds300000SCS_MAX_TIME_MILLISECONDS
    eps1e-3EPS_DEFAULT
    previous_max_iters-1SCS_PMAXITER_DEFAULT
    alpha1.5ALPHA_DEFAULT
    eps1e-3SCS_EPS_DEFAULT
    verbose1VERBOSE_DEFAULT
    alpha1.5SCS_ALPHA_DEFAULT
    warm_start0WARM_START_DEFAULT
    verbose1SCS_VERBOSE_DEFAULT
    do_super_scs1DO_SUPERSCS_DEFAULT
    warm_start0SCS_WARM_START_DEFAULT
    k00K0_DEFAULT
    do_super_scs1SCS_DO_SUPERSCS_DEFAULT
    k11K1_DEFAULT
    k00SCS_K0_DEFAULT
    k21K2_DEFAULT
    k11SCS_K1_DEFAULT
    c_bl0.999C_BL_DEFAULT
    k21SCS_K2_DEFAULT
    c10.9999C1_DEFAULT
    c_bl0.999SCS_C_BL_DEFAULT
    ls10LS_DEFAULT
    c10.9999SCS_C1_DEFAULT
    sse0.999SSE_DEFAULT
    ls10SCS_LS_DEFAULT
    beta0.5BETA_DEFAULT
    sse0.999SCS_SSE_DEFAULT
    sigma0.01SIGMA_DEFAULT
    beta0.5SCS_BETA_DEFAULT
    directionrestarted_broyden DIRECTION_DEFAULT
    sigma0.01SCS_SIGMA_DEFAULT
    thetabar0.1THETABAR_DEFAULT
    directionrestarted_broyden SCS_DIRECTION_DEFAULT
    memory10MEMORY_DEFAULT
    thetabar0.1SCS_THETABAR_DEFAULT
    broyden_init_scaling1BROYDEN_ISCALE_DEFAULT
    memory10SCS_MEMORY_DEFAULT
    do_record_progress0DO_RECORD_PROGRESS_DEFAULT
    broyden_init_scaling1SCS_BROYDEN_ISCS_SCALE_DEFAULT
    do_override_streams0OVERRIDE_STREAMS_DEFAULT
    do_record_progress0SCS_DO_RECORD_PROGRESS_DEFAULT
    output_streamstdout OUT_STREAM_DEFAULT
    do_override_streams0SCS_OVERRIDE_STREAMS_DEFAULT
    output_streamstdout SCS_OUT_STREAM_DEFAULT
    Parameters
    @@ -508,20 +470,73 @@

    Function Documentation

    -
    Warning
    If you want to increase the maximum number of iteration with respect to the previous run and you have set do_record_progress to 1, then you should not use this function. If you really want to use it, however, you should set the parameter previous_max_iters to the maximum number of iterations you used in the previous run. This is in order to avoid memory management errors.
    +
    Warning
    If you want to increase the maximum number of iteration with respect to the previous run and you have set do_record_progress to 1, then you should not use this function. If you really want to use it, however, you should set the parameter previous_max_iters to the maximum number of iterations you used in the previous run. This is in order to avoid memory management errors.
    -Alternatively, a simple solution is to invoke freeInfo after you call scs and then again initInfo. Then it is safe to call this function and run scs again.
    -
    Note
    If you have set do_record_progress to 0, you may ignore this warning.
    +Alternatively, a simple solution is to invoke scs_free_info after you call scs and then again scs_init_info. Then it is safe to call this function and run scs again.
    +
    Note
    If you have set do_record_progress to 0, you may ignore this warning.
    See Also
    Easy configuration in MATLAB CVX
    - + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    int scs_special_print (scs_int print_mode,
    FILE *RESTRICT __stream,
    const char *RESTRICT __format,
     ... 
    )
    +
    + +

    Custom print function for SCS.

    +

    This functions allows to print in different streams. The argument print_mode specifies whether it is allowed to override the default stream and use a print function other than printf.

    +

    For example, if SCS is interfaced via a MEX function, MATLAB expects to use printf exclusively which it then delegated to mexPrintf; a function that prints the program's output to the console of MATLAB.

    +

    When SCS is called from other software, it is likely that print_mode has to be set to 0.

    +
    Parameters
    + + + + + +
    print_modewhether to override the default behavior (using printf)
    __streaman output stream
    __formatstring format
    ...arguments specifying data to print
    +
    +
    +
    Returns
    return value of print or vfprintf
    + +
    +
    +
    - + @@ -552,12 +567,12 @@

    Function Documentation

    - +
    scs_float strtoc scs_float scs_strtoc ( char *  str,
    - + @@ -576,12 +591,12 @@

    Function Documentation

    - +
    void tic void scs_tic ( timer t)
    - + @@ -604,12 +619,12 @@

    Function Documentation

    - +
    scs_float toc scs_float scs_toc ( timer t)
    - + @@ -619,7 +634,7 @@

    Function Documentation

    Stops the timer.

    -
    Note
    In contrast to toc, this function does not print anything
    +
    Note
    In contrast to scs_toc, this function does not print anything
    Parameters
    scs_float tocq scs_float scs_toc_quiet ( timer t)
    @@ -627,14 +642,14 @@

    Function Documentation

    Returns
    elapsed time in milliseconds
    -
    See Also
    toc
    +
    See Also
    scs_toc
    diff --git a/docs/util_8h_source.html b/docs/util_8h_source.html index 7895f90b5..9a1bcea44 100644 --- a/docs/util_8h_source.html +++ b/docs/util_8h_source.html @@ -1,10 +1,13 @@ - - + + + + + -SuperSCS: include/util.h Source File +SuperSCS: SuperSCS: Fast & Accurate conic programming @@ -21,6 +24,14 @@ + + +
    @@ -28,8 +39,10 @@
    ttimer
    + @@ -95,114 +108,137 @@
    util.h
    -Go to the documentation of this file.
    1 #ifndef UTIL_H_GUARD
    -
    2 #define UTIL_H_GUARD
    -
    3 
    -
    4 #ifdef __cplusplus
    -
    5 extern "C" {
    -
    6 #endif
    -
    7 
    -
    8 #include <stdlib.h>
    -
    9 #include <stdarg.h>
    -
    10 #include "scs.h"
    -
    11 
    -
    12  /* timing code courtesy of A. Domahidi */
    -
    13 #if (defined NOTIMER)
    -
    14  typedef void *timer;
    -
    15 #elif(defined _WIN32 || defined _WIN64 || defined _WINDLL)
    -
    16  /* Use Windows QueryPerformanceCounter for timing */
    -
    17 #include <windows.h>
    -
    18 
    -
    19  typedef struct timer {
    -
    20  LARGE_INTEGER tic;
    -
    21  LARGE_INTEGER toc;
    -
    22  LARGE_INTEGER freq;
    -
    23  } timer;
    -
    24 
    -
    25 #elif(defined __APPLE__)
    -
    26  /* Use MAC OSX mach_time for timing */
    -
    27 #include <mach/mach_time.h>
    -
    28 
    -
    29  typedef struct timer {
    -
    30  uint64_t tic;
    -
    31  uint64_t toc;
    -
    32  mach_timebase_info_data_t tinfo;
    -
    33  } timer;
    -
    34 
    -
    35 #else
    -
    36  /* Use POSIX clock_gettime() for timing on other machines */
    -
    37 #include <time.h>
    +Go to the documentation of this file.
    1 /*
    +
    2  * The MIT License (MIT)
    +
    3  *
    +
    4  * Copyright (c) 2017 Pantelis Sopasakis (https://alphaville.github.io),
    +
    5  * Krina Menounou (https://www.linkedin.com/in/krinamenounou),
    +
    6  * Panagiotis Patrinos (http://homes.esat.kuleuven.be/~ppatrino)
    +
    7  * Copyright (c) 2012 Brendan O'Donoghue (bodonoghue85@gmail.com)
    +
    8  *
    +
    9  * Permission is hereby granted, free of charge, to any person obtaining a copy
    +
    10  * of this software and associated documentation files (the "Software"), to deal
    +
    11  * in the Software without restriction, including without limitation the rights
    +
    12  * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
    +
    13  * copies of the Software, and to permit persons to whom the Software is
    +
    14  * furnished to do so, subject to the following conditions:
    +
    15  *
    +
    16  * The above copyright notice and this permission notice shall be included in all
    +
    17  * copies or substantial portions of the Software.
    +
    18  *
    +
    19  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
    +
    20  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
    +
    21  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
    +
    22  * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
    +
    23  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
    +
    24  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
    +
    25  * SOFTWARE.
    +
    26  *
    +
    27  */
    +
    28 #ifndef UTIL_H_GUARD
    +
    29 #define UTIL_H_GUARD
    +
    30 
    +
    31 #ifdef __cplusplus
    +
    32 extern "C" {
    +
    33 #endif
    +
    34 
    +
    35 #include <stdlib.h>
    +
    36 #include <stdarg.h>
    +
    37 #include "scs.h"
    38 
    -
    40  typedef struct timer {
    -
    41  struct timespec tic;
    -
    42  struct timespec toc;
    -
    43  } timer;
    -
    44 
    -
    45 #endif
    -
    46 
    -
    47 #if EXTRAVERBOSE > 1
    -
    48  extern timer globalTimer;
    -
    49 #endif
    -
    50 
    -
    51  /* these all return milli-seconds */
    -
    52 
    -
    57  void tic(timer *t);
    -
    72  scs_float toc(timer *t);
    -
    81  scs_float strtoc(char *str, timer *t);
    -
    92  scs_float tocq(timer *t);
    -
    93 
    -
    98  void printConeData(const Cone * RESTRICT k);
    -
    103  void printData(const Data *d);
    -
    108  void printWork(const Work *w);
    -
    109 
    -
    117  void printArray(
    -
    118  const scs_float * RESTRICT arr,
    -
    119  scs_int n,
    -
    120  const char *RESTRICT name);
    -
    121 
    -
    174  void setDefaultSettings(Data * RESTRICT d);
    -
    175 
    -
    183  void freeSol(Sol * RESTRICT sol);
    -
    192  void freeData(Data * RESTRICT d, Cone * RESTRICT k);
    -
    199  void freeInfo(Info * RESTRICT info);
    -
    200 
    -
    221  int scs_special_print(scs_int print_mode,
    -
    222  FILE * RESTRICT __stream,
    -
    223  const char *RESTRICT __format, ...);
    -
    224 
    -
    225 #ifdef __cplusplus
    -
    226 }
    -
    227 #endif
    -
    228 #endif
    +
    39  /* timing code courtesy of A. Domahidi */
    +
    40 #if (defined NOTIMER)
    +
    41  typedef void *timer;
    +
    42 #elif(defined _WIN32 || defined _WIN64 || defined _WINDLL)
    +
    43  /* Use Windows QueryPerformanceCounter for timing */
    +
    44 #include <windows.h>
    +
    45 
    +
    46  typedef struct timer {
    +
    47  LARGE_INTEGER scs_tic;
    +
    48  LARGE_INTEGER scs_toc;
    +
    49  LARGE_INTEGER freq;
    +
    50  } timer;
    +
    51 
    +
    52 #elif(defined __APPLE__)
    +
    53  /* Use MAC OSX mach_time for timing */
    +
    54 #include <mach/mach_time.h>
    +
    55 
    +
    56  typedef struct timer {
    +
    57  uint64_t scs_tic;
    +
    58  uint64_t scs_toc;
    +
    59  mach_timebase_info_data_t tinfo;
    +
    60  } timer;
    +
    61 
    +
    62 #else
    +
    63  /* Use POSIX clock_gettime() for timing on other machines */
    +
    64 #include <time.h>
    +
    65 
    +
    69  typedef struct timer {
    +
    70  struct timespec tic;
    +
    71  struct timespec toc;
    +
    72  } timer;
    +
    73 
    +
    74 #endif
    +
    75 
    +
    76  /* these all return milli-seconds */
    +
    77 
    +
    82  void scs_tic(timer *t);
    +
    97  scs_float scs_toc(timer *t);
    +
    106  scs_float scs_strtoc(char *str, timer *t);
    +
    117  scs_float scs_toc_quiet(timer *t);
    +
    118 
    +
    123  void scs_print_cone_data(const ScsCone * RESTRICT k);
    +
    128  void scs_print_data(const ScsData *d);
    +
    133  void scs_print_work(const ScsWork *w);
    +
    134 
    +
    142  void scs_print_array(
    +
    143  const scs_float * RESTRICT arr,
    +
    144  scs_int n,
    +
    145  const char *RESTRICT name);
    +
    146 
    + +
    201 
    +
    209  void scs_free_sol(ScsSolution * RESTRICT sol);
    + +
    225  void scs_free_info(ScsInfo * RESTRICT info);
    +
    226 
    +
    247  int scs_special_print(scs_int print_mode,
    +
    248  FILE * RESTRICT __stream,
    +
    249  const char *RESTRICT __format, ...);
    +
    250 
    +
    251 #ifdef __cplusplus
    +
    252 }
    +
    253 #endif
    +
    254 #endif
    -
    void tic(timer *t)
    Starts the timer.
    -
    scs_float strtoc(char *str, timer *t)
    Stops the timer and prints a custom message.
    -
    Workspace for SCS.
    Definition: scs.h:45
    -
    void freeSol(Sol *RESTRICT sol)
    Frees the memory allocated for a Sol object.
    -
    #define RESTRICT
    Definition: glbopts.h:13
    -
    void setDefaultSettings(Data *RESTRICT d)
    Sets the settings to certain default values.
    -
    struct containing problem data
    Definition: scs.h:284
    -
    Cone structure.
    Definition: cones.h:21
    -
    void printConeData(const Cone *RESTRICT k)
    Prints the content of a Cone object.
    -
    Primal-dual solution arrays.
    Definition: scs.h:476
    -
    struct timespec tic
    Definition: util.h:41
    -
    Terminating information.
    Definition: scs.h:487
    -
    struct timespec toc
    Definition: util.h:42
    -
    void freeInfo(Info *RESTRICT info)
    Frees the memory allocated for an Info object.
    -
    int scs_int
    Definition: glbopts.h:65
    -
    scs_float toc(timer *t)
    Stops the timer.
    -
    void printArray(const scs_float *RESTRICT arr, scs_int n, const char *RESTRICT name)
    Prints an array.
    -
    void printData(const Data *d)
    Prints the content of a Data object.
    -
    void freeData(Data *RESTRICT d, Cone *RESTRICT k)
    Frees the memory allocate of a Data and a Cone object.
    -
    double scs_float
    Definition: glbopts.h:70
    +
    Terminating information.
    Definition: scs.h:556
    +
    #define RESTRICT
    Definition: glbopts.h:40
    +
    void scs_set_default_settings(ScsData *RESTRICT d)
    Sets the settings to certain default values.
    +
    void scs_print_cone_data(const ScsCone *RESTRICT k)
    Prints the content of a Cone object.
    +
    struct timespec tic
    Definition: util.h:70
    +
    struct timespec toc
    Definition: util.h:71
    +
    void scs_print_work(const ScsWork *w)
    Prints the content of a Work object.
    +
    void scs_free_data(ScsData *RESTRICT d, ScsCone *RESTRICT k)
    Frees the memory allocate of a Data and a Cone object.
    +
    scs_float scs_toc(timer *t)
    Stops the timer.
    +
    int scs_int
    Definition: glbopts.h:92
    +
    void scs_print_data(const ScsData *d)
    Prints the content of a Data object.
    +
    Cone structure.
    Definition: cones.h:48
    +
    void scs_free_info(ScsInfo *RESTRICT info)
    Frees the memory allocated for an Info object.
    +
    void scs_print_array(const scs_float *RESTRICT arr, scs_int n, const char *RESTRICT name)
    Prints an array.
    +
    scs_float scs_toc_quiet(timer *t)
    Stops the timer.
    +
    double scs_float
    Definition: glbopts.h:96
    int scs_special_print(scs_int print_mode, FILE *RESTRICT __stream, const char *RESTRICT __format,...)
    Custom print function for SCS.
    -
    struct timer timer
    SCS timer timer timer.
    -
    void printWork(const Work *w)
    Prints the content of a Work object.
    -
    scs_float tocq(timer *t)
    Stops the timer.
    +
    struct timer timer
    SCS timer.
    +
    struct containing problem data
    Definition: scs.h:316
    +
    Workspace for SCS.
    Definition: scs.h:137
    +
    void scs_free_sol(ScsSolution *RESTRICT sol)
    Frees the memory allocated for a Sol object.
    +
    scs_float scs_strtoc(char *str, timer *t)
    Stops the timer and prints a custom message.
    +
    void scs_tic(timer *t)
    Starts the timer.
    +
    Primal-dual solution arrays.
    Definition: scs.h:536
    diff --git a/docs/warm__starting__page_8h.html b/docs/warm__starting__page_8h.html index e37f1b2d2..18e454952 100644 --- a/docs/warm__starting__page_8h.html +++ b/docs/warm__starting__page_8h.html @@ -1,10 +1,13 @@ - - + + + + + -SuperSCS: pages/warm_starting_page.h File Reference +SuperSCS: SuperSCS: Fast & Accurate conic programming @@ -21,6 +24,14 @@ + + +
    @@ -28,8 +39,10 @@
    SuperSCS +  1.3.2
    + @@ -100,7 +113,7 @@ diff --git a/docs/warm__starting__page_8h_source.html b/docs/warm__starting__page_8h_source.html index aba7e9f3d..3205b4de1 100644 --- a/docs/warm__starting__page_8h_source.html +++ b/docs/warm__starting__page_8h_source.html @@ -1,10 +1,13 @@ - - + + + + + -SuperSCS: pages/warm_starting_page.h Source File +SuperSCS: SuperSCS: Fast & Accurate conic programming @@ -21,6 +24,14 @@ + + +
    @@ -28,8 +39,10 @@
    SuperSCS +  1.3.2
    + @@ -99,7 +112,7 @@
    SuperSCS +  1.3.2