UNPKG

@thi.ng/tensors

Version:

0D/1D/2D/3D/4D tensors with extensible polymorphic operations and customizable storage

19 lines (18 loc) 351 B
import { sum as vsum } from "@thi.ng/vectors/sum"; import { sum } from "./sum.js"; import { Tensor1 } from "./tensor.js"; const diagonal = (a) => { return new Tensor1( a.type, a.storage, a.data, [Math.min(...a.shape)], [vsum(a.stride)], a.offset ); }; const trace = (a) => sum(diagonal(a)); export { diagonal, trace };