Module Sundials_LinearSolver.Direct.Superlumt

module Superlumt: sig .. end

SuperLUMT direct linear solver operating on sparse matrices (requires SuperLUMT).


type ordering = Superlumt.ordering = 
| Natural (*

Natural ordering.

*)
| MinDegreeProd (*

Minimal degree ordering on $J^T J$.

*)
| MinDegreeSum (*

Minimal degree ordering on $J^T + J$.

*)
| ColAmd (*

Column approximate minimum degree permutation.

*)

The ordering algorithm used for reducing fill.

val make : ?context:Sundials.Context.t ->
?ordering:ordering ->
nthreads:int ->
([> Nvector_serial.kind ] as 'a) Nvector.serial ->
('s, 'a) Sundials.Matrix.sparse ->
('s Sundials.Matrix.Sparse.t, 'a, [ `Dls | `Slu ])
Sundials_LinearSolver.serial_t

Creates a direct linear solver on sparse matrices using SuperLUMT. The nvector and matrix argument are used to determine the linear system size and to assess compatibility with the linear solver implementation. The matrix is used internally after the linear solver is attached to a session.

NB: The Matrix.Sparse.csr format is only supported for Config.sundials_version >= 3.0.0.

val set_ordering : ('s Sundials.Matrix.Sparse.t, [> Nvector_serial.kind ], [> `Slu ])
Sundials_LinearSolver.serial_t ->
ordering -> unit

Sets the ordering algorithm used to minimize fill-in.