sig
  type ws
  val make : n:int -> p:int -> Multifit.ws
  external _linear :
    ?weight:Vectmat.vec ->
    x:Vectmat.mat ->
    y:Vectmat.vec -> c:Vectmat.vec -> cov:Vectmat.mat -> Multifit.ws -> float
    = "ml_gsl_multifit_linear_bc" "ml_gsl_multifit_linear"
  external _linear_svd :
    ?weight:Vectmat.vec ->
    x:Vectmat.mat ->
    y:Vectmat.vec ->
    tol:float ->
    c:Vectmat.vec -> cov:Vectmat.mat -> Multifit.ws -> int * float
    = "ml_gsl_multifit_linear_svd_bc" "ml_gsl_multifit_linear_svd"
  val linear :
    ?weight:Vectmat.vec ->
    Vectmat.mat -> Vectmat.vec -> Vector.vector * Matrix.matrix * float
  external linear_est :
    x:Vectmat.vec -> c:Vectmat.vec -> cov:Vectmat.mat -> Fun.result
    = "ml_gsl_multifit_linear_est"
  val fit_poly :
    ?weight:float array ->
    x:float array ->
    y:float array -> int -> float array * float array array * float
end