sig
  module Scalar : Scalar.S
  type vector = (int * Scalar.t) list
  type 'a obj_ext = PreSdp.S.vector * 'Sdp.block_diag
  type 'a constr_ext =
      PreSdp.S.vector * 'Sdp.block_diag * Scalar.t * Scalar.t
  val solve_ext_sparse :
    ?options:Sdp.options ->
    ?solver:Sdp.solver ->
    Sdp.sparse_matrix PreSdp.S.obj_ext ->
    Sdp.sparse_matrix PreSdp.S.constr_ext list ->
    Sdp.bounds ->
    SdpRet.t * (float * float) *
    (PreSdp.S.vector * Sdp.matrix Sdp.block_diag * float array *
     Sdp.matrix Sdp.block_diag)
  val pp_obj_ext :
    (Stdlib.Format.formatter -> '-> unit) ->
    Stdlib.Format.formatter -> 'PreSdp.S.obj_ext -> unit
  val pp_constr_ext :
    (Stdlib.Format.formatter -> '-> unit) ->
    Stdlib.Format.formatter -> 'PreSdp.S.constr_ext -> unit
  val pp_ext_sparse :
    Stdlib.Format.formatter ->
    Sdp.sparse_matrix PreSdp.S.obj_ext *
    Sdp.sparse_matrix PreSdp.S.constr_ext list * Sdp.bounds -> unit
end