UNPKG

@thi.ng/dual-algebra

Version:

Multivariate dual number algebra, automatic differentiation

15 lines (14 loc) 392 B
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 };