Back-End Reductions ==================== The reductions listed here are specific to the choice of back end, i.e., solver. Currently, we support two types of back ends: conic solvers and quadratic program solvers. When a problem is solved through the :meth:`~cxvpy.problems.problem.Problem.solve` method, CVXPY attempts to find the best back end for your problem. The :class:`~cvxpy.reductions.dcp2cone.Dcp2Cone` reduction converts DCP-compliant problems into conic form, while the :class:`~cvxpy.reductions.qp2symbolic_qp.Qp2SymbolicQp` converts problems with quadratic, piecewise affine objectives, affine equality constraints, and piecewise-linear inequality constraints into a form that is closer to what is accepted by solvers. The problems output by both reductions must be passed through another sequence of reductions, not documented here, before they are ready for to be solved. Please see :ref:`our disclaimer ` about the Reductions API before using these directly in your code. .. contents:: :local: Dcp2Cone ------------------------------------------ .. autoclass:: cvxpy.reductions.dcp2cone.dcp2cone.Dcp2Cone :members: :show-inheritance: Qp2SymbolicQp ------------------------------------------ .. autoclass:: cvxpy.reductions.qp2quad_form.qp2symbolic_qp.Qp2SymbolicQp :members: :show-inheritance: Dualize ------------------------------------------ .. autoclass:: cvxpy.reductions.cone2cone.affine2direct.Dualize :members: Slacks ------------------------------------------ .. autoclass:: cvxpy.reductions.cone2cone.affine2direct.Slacks :members: