sig
  type dsmat = Owl_dense_matrix_d.mat
  type vector = Gsl.Vector.vector
  val linear :
    ?i:bool ->
    Owl_regression.dsmat -> Owl_regression.dsmat -> Owl_regression.dsmat
  val polynomial :
    Owl_regression.dsmat ->
    Owl_regression.dsmat -> int -> Owl_regression.dsmat
  val exponential :
    Owl_regression.dsmat -> Owl_regression.dsmat -> Owl_regression.dsmat
  val nonlinear :
    (Owl_regression.vector -> float -> float) ->
    float array ->
    Owl_regression.dsmat -> Owl_regression.dsmat -> Owl_regression.dsmat
  val ols :
    ?i:bool ->
    Owl_regression.dsmat -> Owl_regression.dsmat -> Owl_regression.dsmat
  val ridge :
    ?i:bool ->
    ?a:float ->
    Owl_regression.dsmat -> Owl_regression.dsmat -> Owl_regression.dsmat
  val lasso :
    ?i:bool ->
    ?a:float ->
    Owl_regression.dsmat -> Owl_regression.dsmat -> Owl_regression.dsmat
  val logistic :
    ?i:bool ->
    Owl_regression.dsmat -> Owl_regression.dsmat -> Owl_regression.dsmat
  val svm :
    ?i:bool ->
    Owl_regression.dsmat ->
    Owl_regression.dsmat -> Owl_regression.dsmat -> Owl_regression.dsmat
  val kmeans :
    Owl_regression.dsmat -> int -> Owl_regression.dsmat * int array
end