Apply quadratic¶
Apply a member of the Jordan algebra which generates the Second-Order Cone to another member of the Jordan algebra using the quadratic product,
\[Q_x(y) = \left(2 x x^T - \text{det}(x) R\right) y,\]
where \(\text{det}(x)\) is the determinant of \(x\) in the sense of the eigenvalues from the Jordan frame of the Jordan algebra.
C++ API¶
Note
The cutoff parameter only effects parallel performance and is used to decide whether a subcone is sufficiently large to be treated separately.
-
void
soc
::
ApplyQuadratic
(const Matrix<Real> &x, const Matrix<Real> &y, Matrix<Real> &z, const Matrix<Int> &orders, const Matrix<Int> &firstInds)¶
-
void
soc
::
ApplyQuadratic
(const ElementalMatrix<Real> &x, const ElementalMatrix<Real> &y, ElementalMatrix<Real> &z, const ElementalMatrix<Int> &orders, const ElementalMatrix<Int> &firstInds, Int cutoff = 1000)¶
-
void
soc
::
ApplyQuadratic
(const DistMultiVec<Real> &x, const DistMultiVec<Real> &y, DistMultiVec<Real> &z, const DistMultiVec<Int> &orders, const DistMultiVec<Int> &firstInds, Int cutoff = 1000)¶
-
void
soc
::
ApplyQuadratic
(const Matrix<Real> &x, Matrix<Real> &y, const Matrix<Int> &orders, const Matrix<Int> &firstInds)¶
-
void
soc
::
ApplyQuadratic
(const ElementalMatrix<Real> &x, ElementalMatrix<Real> &y, const ElementalMatrix<Int> &orders, const ElementalMatrix<Int> &firstInds, Int cutoff = 1000)¶
-
void
soc
::
ApplyQuadratic
(const DistMultiVec<Real> &x, DistMultiVec<Real> &y, const DistMultiVec<Int> &orders, const DistMultiVec<Int> &firstInds, Int cutoff = 1000)¶
C API¶
TODO
Python API¶
TODO