package prbnmcn-linalg

  1. Overview
  2. Docs

Array_backed_column_major yields a module that allows to create matrices backed by arrays. This module enforces a column-major layout for the matrix data (Fortran-style).

Parameters

module S : Intf.Tensor with type 'a m = 'a Repr.m
module B : Basic_structures.Basic_intf.Lang.Bool with type 'a m = 'a Repr.m
module R : Basic_structures.Basic_intf.Lang.Ring with type 'a m = 'a Repr.m and type t = S.pos
module R_ord : Basic_structures.Basic_intf.Lang.Infix_order with type 'a m = 'a Repr.m and type t = R.t
module A : Basic_structures.Basic_intf.Lang.Array with type index = R.t and type 'a m = 'a Repr.m
module E : Basic_structures.Basic_intf.Lang.Exn with type 'a m = 'a Repr.m

Signature

type index = S.pos * S.pos
val of_array : ('a * S.pos) S.t -> A.t Repr.m -> ((('a * S.pos) S.t, (S.pos * S.pos) Repr.m, A.elt Repr.m) Intf.vec * (('a * S.pos) S.t, (S.pos * S.pos) Repr.m, A.elt Repr.m, unit Repr.m) Intf.ovec) Monad.t
val in_of_array : ('a * S.pos) S.t -> A.t Repr.m -> (('a * S.pos) S.t, (S.pos * S.pos) Repr.m, A.elt Repr.m) Intf.vec Monad.t
val out_of_array : ('a * S.pos) S.t -> A.t Repr.m -> (('a * S.pos) S.t, (S.pos * S.pos) Repr.m, A.elt Repr.m, unit Repr.m) Intf.ovec Monad.t