package osdp

  1. Overview
  2. Docs
type sparse_matrix = (int * int * float) list
type matrix = float array array
type !'a block_diag = (int * 'a) list
val matrix_of_sparse : sparse_matrix -> matrix
val matrix_to_sparse : matrix -> sparse_matrix
val block_diag_of_sparse : sparse_matrix block_diag -> matrix block_diag
val block_diag_to_sparse : matrix block_diag -> sparse_matrix block_diag
type solver = Sdp_default.solver =
  1. | Csdp
  2. | Mosek
  3. | Sdpa
  4. | SdpaGmp
  5. | SdpaDd
type options = {
  1. solver : solver;
  2. verbose : int;
  3. max_iteration : int;
  4. stop_criterion : float;
  5. initial : float;
  6. precision : int;
}
val default : options
type !'a obj = 'a block_diag
type !'a constr =
  1. | Eq of 'a block_diag * float
  2. | Le of 'a block_diag * float
  3. | Ge of 'a block_diag * float
val solve_sparse : ?options:options -> ?solver:solver -> ?init:(matrix block_diag * float array * matrix block_diag) -> sparse_matrix obj -> sparse_matrix constr list -> SdpRet.t * (float * float) * (matrix block_diag * float array * matrix block_diag)
val solve : ?options:options -> ?solver:solver -> ?init:(matrix block_diag * float array * matrix block_diag) -> matrix obj -> matrix constr list -> SdpRet.t * (float * float) * (matrix block_diag * float array * matrix block_diag)
type vector = (int * float) list
type !'a obj_ext = vector * 'a block_diag
type !'a constr_ext = vector * 'a block_diag * float * float
type bounds = (int * float * float) list
val solve_ext_sparse : ?options:options -> ?solver:solver -> sparse_matrix obj_ext -> sparse_matrix constr_ext list -> bounds -> SdpRet.t * (float * float) * (vector * matrix block_diag * float array * matrix block_diag)
val solve_ext : ?options:options -> ?solver:solver -> matrix obj_ext -> matrix constr_ext list -> bounds -> SdpRet.t * (float * float) * (vector * matrix block_diag * float array * matrix block_diag)
val pp_sparse_matrix : Format.formatter -> sparse_matrix -> unit
val pp_matrix : Format.formatter -> matrix -> unit
val pp_block_diag : (Format.formatter -> 'a -> unit) -> Format.formatter -> 'a block_diag -> unit
val pp_obj : (Format.formatter -> 'a -> unit) -> Format.formatter -> 'a obj -> unit
val pp_constr : (Format.formatter -> 'a -> unit) -> Format.formatter -> 'a constr -> unit
val pp_sparse : Format.formatter -> (sparse_matrix obj * sparse_matrix constr list) -> unit
val pp : Format.formatter -> (matrix obj * matrix constr list) -> unit
val pp_vector : Format.formatter -> vector -> unit
val pp_obj_ext : (Format.formatter -> 'a -> unit) -> Format.formatter -> 'a obj_ext -> unit
val pp_constr_ext : (Format.formatter -> 'a -> unit) -> Format.formatter -> 'a constr_ext -> unit
val pp_bounds : Format.formatter -> bounds -> unit
val pp_ext_sparse : Format.formatter -> (sparse_matrix obj_ext * sparse_matrix constr_ext list * bounds) -> unit
val pp_ext : Format.formatter -> (matrix obj_ext * matrix constr_ext list * bounds) -> unit
val pp_ext_sparse_sedumi : Format.formatter -> (sparse_matrix obj_ext * sparse_matrix constr_ext list * bounds) -> unit
val pp_ext_sedumi : Format.formatter -> (matrix obj_ext * matrix constr_ext list * bounds) -> unit
val pfeas_stop_crit : ?options:options -> ?solver:solver -> float list -> float