package prbnmcn-linalg

  1. Overview
  2. Docs

Shape morphisms, described as a category.

type 'a obj := 'a t
type ('a, 'b) t

The type of morphisms from a tensor indexed by 'a to a tensor indexed by 'b.

val underlying : ('a, 'b) t -> 'a m -> 'b m

Get the map on positions underlying the shape morphism.

val domain : ('a, 'b) t -> 'a obj

domain m is the domain of the morphism m, ie a tensor indexed by 'a.

val range : ('a, 'b) t -> 'b obj

range m is the range of the morphism m, ie a tensor indexed by 'b.

val identity : 'a obj -> ('a, 'a) t

identity s is the identity morphism at the shape s.

val compose : ('a, 'b) t -> ('b, 'c) t -> ('a, 'c) t

compose is sequential morphism composition.