def MatT.transpose

bend-tensors@0.0.0.2 · bend_tensors.bend:796

import bend-tensors@0.0.0.2/bend_tensors.bend as BendTensors
import Base

796def MatT.transpose(+r: Nat, +c: Nat, m: MatT(r, c)) -> MatT(c, r):
797  match r c:
798    case 0n 0n:
799      MatB{b} = m
800      MatB{Blk.transpose(b)}
801    case 1n+p 0n:
802      MatR{t, b} = m
803      x y = MatT.transpose(p, 0n, t) MatT.transpose(p, 0n, b)
804      MatC{x, y}
805    case 0n 1n+q:
806      MatC{l, r2} = m
807      x y = MatT.transpose(0n, q, l) MatT.transpose(0n, q, r2)
808      MatR{x, y}
809    case 1n+p 1n+q:
810      MatQ{a, b, c2, d} = m
811      w x y z = MatT.transpose(p, q, a) MatT.transpose(p, q, c2) MatT.transpose(p, q, b) MatT.transpose(p, q, d)
812      MatQ{w, x, y, z}

Uses (7)

Used by (1)