+
+ return tpl.format(indented_L,
+ str(self._K),
+ indented_e1,
+ indented_e2,
+ self._condition())
+
+
+ def _zero(self):
+ """
+ Return a column of zeros that fits ``K``.
+
+ This is used in our CVXOPT construction.
+ """
+ if self._zero_col is None:
+ # Cache it, it's constant.
+ self._zero_col = matrix(0, (self._K.dimension(), 1), tc='d')
+ return self._zero_col
+
+
+ def _A(self):
+ """
+ Return the matrix ``A`` used in our CVXOPT construction.
+
+ This matrix ``A`` appears on the right-hand side of ``Ax = b``
+ in the statement of the CVXOPT conelp program.
+ """
+ return matrix([0, self._e2], (1, self._K.dimension() + 1), 'd')
+
+
+ def _G(self):
+ r"""
+ Return the matrix ``G`` used in our CVXOPT construction.
+
+ Thus matrix ``G``that appears on the left-hand side of ``Gx + s = h``
+ in the statement of the CVXOPT conelp program.
+ """
+ I = identity(self._K.dimension())
+ return append_row(append_col(self._zero(), -I),
+ append_col(self._e1, -self._L))