@thi.ng/dual-algebra
Version:
Multivariate dual number algebra, automatic differentiation
15 lines (14 loc) • 392 B
JavaScript
import { add, div, dual, mul, sub } from "./ops.js";
const __defVecOp2 = (op) => (a, b) => a.map((a2, i) => op(a2, b[i]));
const vadd = __defVecOp2(add);
const vsub = __defVecOp2(sub);
const vmul = __defVecOp2(mul);
const vdiv = __defVecOp2(div);
const dot = (a, b) => a.reduce((acc, a2, i) => add(acc, mul(a2, b[i])), dual(0, a[0].length));
export {
dot,
vadd,
vdiv,
vmul,
vsub
};