sig
  type t
  type kind = LMSDER | LMDER
  val make :
    Multifit_nlin.kind ->
    n:int -> p:int -> Fun.multi_fun_fdf -> Vector.vector -> Multifit_nlin.t
  external name : Multifit_nlin.t -> string
    = "ml_gsl_multifit_fdfsolver_name"
  external iterate : Multifit_nlin.t -> unit
    = "ml_gsl_multifit_fdfsolver_iterate"
  external position : Multifit_nlin.t -> Vector.vector -> unit
    = "ml_gsl_multifit_fdfsolver_position"
  external get_state :
    Multifit_nlin.t ->
    ?x:Vector.vector -> ?f:Vector.vector -> ?dx:Vector.vector -> unit -> unit
    = "ml_gsl_multifit_fdfsolver_get_state"
  external test_delta :
    Multifit_nlin.t -> epsabs:float -> epsrel:float -> bool
    = "ml_gsl_multifit_test_delta"
  external test_gradient :
    Multifit_nlin.t -> Matrix.matrix -> epsabs:float -> Vector.vector -> bool
    = "ml_gsl_multifit_test_gradient"
  external covar : Matrix.matrix -> epsrel:float -> Matrix.matrix -> unit
    = "ml_gsl_multifit_covar"
end