R-CMD-check CRAN_Status_Badge Coverage Status Image

Embedded Conic Solver in R. This is an R wrapper around the ecos project on GitHub which describes ECOS as below.

ECOS is a numerical software for solving convex second-order cone programs (SOCPs) of type

Minimize cx such that 𝐀x=𝐛 and 𝐆𝐱𝐊𝐡 \mbox{Minimize } c'x \mbox{ such that } {\mathbf Ax} = {\mathbf b} \mbox{ and } {\mathbf G \mathbf x}\,\, \leq_{\mathbf K}\,\, {\mathbf h} where the last inequality is generalized, that is, 𝐡𝐆𝐱{\mathbf h}-\mathbf{Gx} belongs to the cone 𝐊{\mathbf K}.

ECOS supports the positive orthant 𝐑+{\mathbf R}_+, second-order cones 𝐐n{\mathbf Q}_n defined as

𝐐n={(t,𝐱)|t>=𝐱2} {\mathbf Q}_n = \bigl\{ (t,{\mathbf x}) | t >= \lVert{\mathbf x}\rVert_2 \bigr\}

with tt a scalar and 𝐱𝐑n1{\mathbf x} \in {\mathbf R}_{n-1}, and the exponential cone 𝐊e{\mathbf K}_e defined as

𝐊e=closure{(x,y,z)|exp(x/z)<=y/z,z>0}, \mathbf{K}_e = \mbox{closure} \bigl\{ (x,y,z) | exp(x/z) <= y/z, z>0 \bigr\},

where (x,y,z)𝐑3(x,y,z) \in {\mathbf R}^3.

The cone 𝐊{\mathbf K} is therefore a direct product of the positive orthant, second-order, and exponential cones:

𝐊=𝐑+×𝐐n1××𝐐nN×𝐊e××𝐊e. {\mathbf K} = {\mathbf R}_+ \times {\mathbf Q}_{n_1} \times \cdots \times {\mathbf Q}_{n_N} \times {\mathbf K}_e \times \cdots \times {\mathbf K}_e.

Further Details

Note that the ECOS C language sources are included here. Changes to the original source are clearly delineated for easy reference.