**A fast, reliable, and open-source convex cone solver.**

SCS (Splitting Conic Solver) is a numerical optimization package for solving large-scale convex quadratic cone problems. The code is freely available on GitHub. It solves primal-dual problems of the form

over variables

\(x \in \mathbf{R}^n\) |
primal variable |

\(y \in \mathbf{R}^m\) |
dual variable |

\(s \in \mathbf{R}^m\) |
slack variable |

with data

\(A \in \mathbf{R}^{m \times n}\) |
sparse data matrix, see Data matrices |

\(P \in \mathbf{S}_+^{n}\) |
sparse, symmetric positive semidefinite matrix |

\(c \in \mathbf{R}^n\) |
dense primal cost vector |

\(b \in \mathbf{R}^m\) |
dense dual cost vector |

\(\mathcal{K} \subseteq \mathbf{R}^m\) |
nonempty, closed, convex cone, see Cones |

\(\mathcal{K}^* \subseteq \mathbf{R}^m\) |
dual cone to \(\mathcal{K}\) |

At termination SCS will either return points \((x^\star,y^\star,s^\star)\) that satisfies the optimality conditions to the desired accuracy, or a certificate of primal or dual infeasibility to the designated infeasibility accuracy.

# Features

**Efficient**: Designed to scale to large problems.**Flexible**: Supports quadratic objectives and a large range of cones.**Free and open source**: Distributed under the permissive MIT license.**Detects infeasibility**: Robustly and reliably detects infeasible problems.**Interfaces**: Bindings for many languages, including C, Python, Julia, R, MATLAB, and Ruby.**Warm starts**: Easily warm-started, and the matrix factorization can be cached.**Matrix-free**: Optionally use an indirect linear system solver, or a GPU version.**Supported**: A supported solver in CVX, CVXPY, YALMIP, Convex.jl and JuMP.**Accelerated**: Includes acceleration that can improve convergence to high accuracy.**Battle-tested**: The first ADMM-based solver available, and in wide usage.

# Development

SCS is a community project, built from the contributions of many researchers and engineers. The primary maintainer is Brendan O’Donoghue. We appreciate all contributions. To get involved, see our contributing guide.