Convex Solvers¶
Define solver using the cvxpy module, if available.
For np.information on cvxpy, see:
http://www.cvxpy.org/en/latest/
If conrad.defs.module_installed() routine does not find the module
cvxpy, the variable SolverCVXPY is still defined in this
module’s namespace as a lambda returning None with the same method
signature as the initializer for SolverCVXPY. If cvxpy
is found, the class is defined normally.
-
solver_cvxpy.SOLVER_DEFAULT¶ str– Default solver, set to ‘SCS’ if modulescsis installed, otherwise set to ‘ECOS’.
Define POGS-based solver using optkit, if available.
For information on POGS, see: https://foges.github.io/pogs/
For infromation on optkit, see:
https://github.com/bungun/optkit
If conrad.defs.module_installed() does not find the optkit,
the variable SolverOptkit is still defined in the module
namespace as a lambda returning None with the same method signature
as the initializer for SolverOptkit. If optkit is found,
the class is defined normally.
# TODO: change backend switching syntax to check flag .precision_is_64bit instead of current .precision_is_32bit when optkit api updated