def MatT.sum_cols
bend-tensors@0.0.0.2 · bend_tensors.bend:961
import bend-tensors@0.0.0.2/bend_tensors.bend as BendTensors
import Base
961
962def MatT.sum_cols(+r: Nat, +c: Nat, m: MatT(r, c)) -> VecT(c):
963 match r c:
964 case 0n 0n:
965 MatB{b} = m
966 VecL{Blk.sum_cols(b)}
967 case 1n+p 0n:
968 MatR{t, b} = m
969 x y = MatT.sum_cols(p, 0n, t) MatT.sum_cols(p, 0n, b)
970 VecT.add(0n, x, y)
971 case 0n 1n+q:
972 MatC{l, r2} = m
973 x y = MatT.sum_cols(0n, q, l) MatT.sum_cols(0n, q, r2)
974 VecN{x, y}
975 case 1n+p 1n+q:
976 MatQ{a, b, c2, d} = m
977 p0 q0 p1 q1 = MatT.sum_cols(p, q, a) MatT.sum_cols(p, q, c2) MatT.sum_cols(p, q, b) MatT.sum_cols(p, q, d)
978 VecT.add2(q, p0, q0, p1, q1)