@thi.ng/tensors
Version:
0D/1D/2D/3D/4D tensors with extensible polymorphic operations and customizable storage
19 lines (18 loc) • 351 B
JavaScript
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
};