module Float:S
with module Scalar = Scalar.Float
module Scalar:Scalar.S
The scalars used for preprocessing (the SDP solver uses floats anyway).
typevector =
(int * Scalar.t) list
C.f. Sdp.vector
type'a
obj_ext =vector * 'a Sdp.block_diag
C.f. Sdp.obj_ext
type'a
constr_ext =vector * 'a Sdp.block_diag * Scalar.t * Scalar.t
C.f. Sdp.constr_ext
val solve_ext_sparse : ?options:Sdp.options ->
?solver:Sdp.solver ->
Sdp.sparse_matrix obj_ext ->
Sdp.sparse_matrix constr_ext list ->
Sdp.bounds ->
SdpRet.t * (float * float) * (vector * Sdp.matrix Sdp.block_diag)
See Sdp.solve_ext_sparse for details. TODO : explain, explain we return only primal solution
module ScalarLinExpr:LinExpr.S
with module Coeff = Scalar
TODO: doc
type 'a
details_val =
| |
DV of |
| |
DVexpr of |
typedetails =
(int * Ident.t) list * Ident.t array array Sdp.block_diag *
float details_val Ident.Map.t
val solve_ext_sparse_details : ?options:Sdp.options ->
?solver:Sdp.solver ->
Sdp.sparse_matrix obj_ext ->
Sdp.sparse_matrix constr_ext list ->
Sdp.bounds ->
SdpRet.t * (float * float) * (vector * Sdp.matrix Sdp.block_diag) *
details
val pp_obj_ext : (Stdlib.Format.formatter -> 'a -> unit) ->
Stdlib.Format.formatter -> 'a obj_ext -> unit
val pp_constr_ext : (Stdlib.Format.formatter -> 'a -> unit) ->
Stdlib.Format.formatter -> 'a constr_ext -> unit
val pp_ext_sparse : Stdlib.Format.formatter ->
Sdp.sparse_matrix obj_ext *
Sdp.sparse_matrix constr_ext list * Sdp.bounds -> unit