coneprog — Solve linear conic optimization problems with second-order cone constraints, linear constraints, equalities, and bounds.

coneprog minimizes f' * x subject to second-order cone constraints, optional linear inequalities, optional equalities, and optional bounds. RunMat supports positional forms, problem structs, optimoptions("coneprog"), and one- through five-output forms.

Syntax

[x, fval, exitflag] = coneprog(f, soc, A, b)

How coneprog works

  • socConstraints may be [], a secondordercone struct, a cell array of cone structs, or an output list of cone structs.
  • exitflag is 1 for solved, -2 for infeasible, and -3 for plainly unbounded.
  • The output struct includes iterations, algorithm, constrviolation, and message.
  • The lambda output contains ineqlin, eqlin, lower, upper, and soc multiplier estimates from the active constraint KKT system.
  • GPU-resident numeric inputs are gathered because conic optimization is a host solver boundary.

Example

Solve a bounded cone problem

soc = secondordercone(eye(2), [0; 0], [0; 0], 1);
f = [-1; 0];
A = [1 0];
b = 0.75;
[x, fval, exitflag] = coneprog(f, soc, A, b)

Expected output:

x =
    0.7500
         0
fval =
   -0.7500
exitflag =
     1

Using coneprog with coding agents

Open a RunMat example with live inputs, then ask the agent to explain how coneprog changes the result.

Run a small coneprog example, explain the result, then change one input and compare the output.

FAQ

Does coneprog run on the GPU?

No. It gathers gpuArray numeric inputs and solves on the host.

Elementwise

abs · angle · bsxfun · complex · conj · double · erf · erfcinv · exp · expm1 · factorial · flintmax · gamma · gammaln · heaviside · hypot · idivide · imag · intmax · intmin · ldivide · log · log10 · log1p · log2 · minus · nextpow2 · plus · pow2 · power · rdivide · real · realmax · realmin · realsqrt · rescale · sign · single · sqrt · swapbytes · times · uint32

Trigonometry

acos · acosh · asin · asinh · atan · atan2 · atanh · cos · cosd · cosh · cospi · deg2rad · pol2cart · rad2deg · sin · sind · sinh · sinpi · tan · tand · tanh

Reduction

all · any · bounds · cummax · cummin · cumprod · cumsum · cumtrapz · diff · gradient · max · maxk · mean · median · min · mink · movmax · movmean · movmedian · movmin · movprod · movstd · movsum · movvar · nnz · prod · rms · std · sum · trapz · var

Rounding

ceil · fix · floor · mod · rem · round

Factor

chol · decomposition · eig · eigs · lu · qr · svd

Solve

cond · det · inv · linsolve · norm · null · pinv · rank · rcond · rref · vecnorm

Symbolic

digits · int · limit · piecewise · sym · syms · vpa

Fft

fft · fft2 · fftshift · ifft · ifft2 · ifftshift

Discrete

lcm · primes

Ode

ode15s · ode23 · ode45

Open-source implementation

Unlike proprietary runtimes, every RunMat function is open-source. Read exactly how coneprog is executed, line by line, in Rust.

About RunMat

RunMat is an open-source runtime that executes MATLAB-syntax code blazing on any GPU. It is licensed under the Apache 2.0 license.

  • RunMat automatically optimizes your math for GPU execution on Apple, Nvidia, and AMD hardware. No code changes needed. Simulations that took hours now take minutes.
  • Start running code in seconds. RunMat runs in the browser, on the desktop, or from the CLI. No license server, no IT ticket.

Getting started · Benchmarks · Pricing

Download RunMat

Download RunMat for full performance, or use RunMat in your browser for zero setup.