sig
  val qr_fact :
    int -> Sundials.RealArray2.t -> Sundials.RealArray.t -> bool -> unit
  val qr_sol :
    int ->
    Sundials.RealArray2.t ->
    Sundials.RealArray.t -> Sundials.RealArray.t -> unit
  val modified_gs :
    ('d, 'k) Nvector.t array -> Sundials.RealArray2.t -> int -> int -> float
  val classical_gs :
    ('d, 'k) Nvector.t array ->
    Sundials.RealArray2.t ->
    int -> int -> Sundials.RealArray.t -> ('d, 'k) Nvector.t array -> float
end