module Superlumt:sig
..end
SuperLUMT direct linear solver operating on sparse matrices (requires SuperLUMT).
typeordering =
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.
Config.NotImplementedBySundialsVersion
Solver not available.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.