@danielsimonjr/mathts-functions 0.21.0 → 0.22.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"norm.d.ts","sourceRoot":"","sources":["../../src/arithmetic/norm.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAO/D,UAAU,WAAW;IACnB,GAAG,IAAI,MAAM,CAAC;CACf;AAED,UAAU,aAAa;IACrB,GAAG,IAAI,aAAa,CAAC;CACtB;AAED,UAAU,UAAU;IAClB,IAAI,IAAI,MAAM,EAAE,CAAC;IACjB,OAAO,CACL,QAAQ,EAAE,CACR,KAAK,EAAE,MAAM,GAAG,aAAa,GAAG,WAAW,EAC3C,KAAK,EAAE,MAAM,EAAE,EACf,MAAM,EAAE,UAAU,KACf,IAAI,EACT,SAAS,CAAC,EAAE,OAAO,GAClB,IAAI,CAAC;IACR,OAAO,IAAI,CAAC,MAAM,GAAG,aAAa,GAAG,WAAW,CAAC,EAAE,CAAC;CACrD;AAED,UAAU,UAAU;IAClB,MAAM,EAAE,UAAU,CAAC;CACpB;AAED,UAAU,gBAAgB;IACxB,KAAK,EAAE,aAAa,CAAC;IACrB,GAAG,EAAE,aAAa,CAAC;IACnB,GAAG,EAAE,aAAa,CAAC;IACnB,GAAG,EAAE,aAAa,CAAC;IACnB,IAAI,EAAE,aAAa,CAAC;IACpB,IAAI,EAAE,aAAa,CAAC;IACpB,QAAQ,EAAE,aAAa,CAAC;IACxB,WAAW,EAAE,aAAa,CAAC;IAC3B,MAAM,EAAE,CAAC,CAAC,EAAE,MAAM,GAAG,aAAa,EAAE,CAAC,EAAE,MAAM,GAAG,aAAa,KAAK,OAAO,CAAC;IAC1E,OAAO,EAAE,CAAC,CAAC,EAAE,MAAM,GAAG,aAAa,EAAE,CAAC,EAAE,MAAM,GAAG,aAAa,KAAK,OAAO,CAAC;IAC3E,MAAM,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,UAAU,CAAC;IACtC,UAAU,EAAE,aAAa,CAAC;IAC1B,IAAI,EAAE,CAAC,CAAC,EAAE,UAAU,KAAK,UAAU,CAAC;CACrC;AAmBD,eAAO,MAAM,UAAU,gFA+VtB,CAAC"}
1
+ {"version":3,"file":"norm.d.ts","sourceRoot":"","sources":["../../src/arithmetic/norm.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAO/D,UAAU,WAAW;IACnB,GAAG,IAAI,MAAM,CAAC;CACf;AAED,UAAU,aAAa;IACrB,GAAG,IAAI,aAAa,CAAC;CACtB;AAED,UAAU,UAAU;IAClB,IAAI,IAAI,MAAM,EAAE,CAAC;IACjB,OAAO,CACL,QAAQ,EAAE,CACR,KAAK,EAAE,MAAM,GAAG,aAAa,GAAG,WAAW,EAC3C,KAAK,EAAE,MAAM,EAAE,EACf,MAAM,EAAE,UAAU,KACf,IAAI,EACT,SAAS,CAAC,EAAE,OAAO,GAClB,IAAI,CAAC;IACR,OAAO,IAAI,CAAC,MAAM,GAAG,aAAa,GAAG,WAAW,CAAC,EAAE,CAAC;CACrD;AAED,UAAU,UAAU;IAClB,MAAM,EAAE,UAAU,CAAC;CACpB;AAED,UAAU,gBAAgB;IACxB,KAAK,EAAE,aAAa,CAAC;IACrB,GAAG,EAAE,aAAa,CAAC;IACnB,GAAG,EAAE,aAAa,CAAC;IACnB,GAAG,EAAE,aAAa,CAAC;IACnB,IAAI,EAAE,aAAa,CAAC;IACpB,IAAI,EAAE,aAAa,CAAC;IACpB,QAAQ,EAAE,aAAa,CAAC;IACxB,WAAW,EAAE,aAAa,CAAC;IAC3B,MAAM,EAAE,CAAC,CAAC,EAAE,MAAM,GAAG,aAAa,EAAE,CAAC,EAAE,MAAM,GAAG,aAAa,KAAK,OAAO,CAAC;IAC1E,OAAO,EAAE,CAAC,CAAC,EAAE,MAAM,GAAG,aAAa,EAAE,CAAC,EAAE,MAAM,GAAG,aAAa,KAAK,OAAO,CAAC;IAC3E,MAAM,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,UAAU,CAAC;IACtC,UAAU,EAAE,aAAa,CAAC;IAC1B,IAAI,EAAE,CAAC,CAAC,EAAE,UAAU,KAAK,UAAU,CAAC;CACrC;AAmBD,eAAO,MAAM,UAAU,gFAiXtB,CAAC"}
package/dist/index.js CHANGED
@@ -194,6 +194,7 @@ __export(typed_exports, {
194
194
  fresnelC: () => fresnelC,
195
195
  fresnelS: () => fresnelS,
196
196
  friedmanTest: () => friedmanTest,
197
+ fsum: () => fsum,
197
198
  fullSimplify: () => fullSimplify,
198
199
  functionExpand: () => functionExpand,
199
200
  fuseUnaryChain: () => fuseUnaryChain,
@@ -313,7 +314,7 @@ __export(typed_exports, {
313
314
  nintegrate: () => nintegrate,
314
315
  noncentralChi2PDF: () => noncentralChi2PDF,
315
316
  norm: () => norm,
316
- norm2: () => norm2,
317
+ norm2: () => norm22,
317
318
  normFro: () => normFro,
318
319
  normalCDF: () => normalCDF,
319
320
  normalDist: () => normalDist,
@@ -509,6 +510,7 @@ __export(typed_exports, {
509
510
 
510
511
  // src/typed/arithmetic.ts
511
512
  import { mathTyped as mathTyped2, Complex, Fraction, BigNumber, Dual } from "@danielsimonjr/mathts-core";
513
+ import { pairwiseSum, neumaierSum, norm2 } from "@danielsimonjr/mathts-core";
512
514
  import { DenseMatrix as DenseMatrix2, backendManager as backendManager2, singularValues } from "@danielsimonjr/mathts-matrix";
513
515
 
514
516
  // src/factories/matrix-bridge.ts
@@ -2020,11 +2022,10 @@ function vectorNorm(arr7, p = 2) {
2020
2022
  if (p === Infinity) return Math.max(...arr7.map((x) => Math.abs(x)));
2021
2023
  if (p === -Infinity) return Math.min(...arr7.map((x) => Math.abs(x)));
2022
2024
  if (p === 0) return arr7.filter((x) => x !== 0).length;
2023
- if (p === 2) return Math.sqrt(arr7.reduce((sum3, x) => sum3 + x * x, 0));
2024
- return Math.pow(
2025
- arr7.reduce((sum3, x) => sum3 + Math.pow(Math.abs(x), p), 0),
2026
- 1 / p
2027
- );
2025
+ if (p === 2) return norm2(arr7);
2026
+ const terms = new Array(arr7.length);
2027
+ for (let i = 0; i < arr7.length; i++) terms[i] = Math.pow(Math.abs(arr7[i]), p);
2028
+ return Math.pow(pairwiseSum(terms), 1 / p);
2028
2029
  }
2029
2030
  function matrixNorm(data, p = "fro") {
2030
2031
  const rows = data.length;
@@ -2081,9 +2082,7 @@ var norm = mathTyped2("norm", {
2081
2082
  if (computePool.shouldParallelize(a.length, "norm")) {
2082
2083
  return (await computePool.norm(a)).result;
2083
2084
  }
2084
- let s = 0;
2085
- for (let i = 0; i < a.length; i++) s += a[i] * a[i];
2086
- return Math.sqrt(s);
2085
+ return norm2(a);
2087
2086
  }
2088
2087
  });
2089
2088
  var sinh = mathTyped2("sinh", {
@@ -2215,15 +2214,28 @@ var max = mathTyped2("max", {
2215
2214
  return m;
2216
2215
  }
2217
2216
  });
2217
+ var fsum = mathTyped2("fsum", {
2218
+ Array: (arr7) => neumaierSum(arr7),
2219
+ Float64Array: (a) => neumaierSum(a)
2220
+ });
2218
2221
  var sum = mathTyped2("sum", {
2219
- Array: (arr7) => {
2220
- let total = 0;
2221
- for (let i = 0; i < arr7.length; i++) {
2222
- total += arr7[i];
2223
- }
2224
- return total;
2225
- },
2226
- // Parallel Float64Array sum
2222
+ // PAIRWISE summation, not `total += arr[i]`.
2223
+ //
2224
+ // Naive accumulation lets the running total grow large while the addends stay small, so each
2225
+ // addition rounds off a bit more of the total: error grows as O(n)*eps. Measured on 1e6 copies
2226
+ // of 0.1 (exact answer 100000):
2227
+ //
2228
+ // naive (what shipped) relative error 1.3e-11
2229
+ // pairwise (this) relative error 2.9e-16 <- identical to NumPy's np.sum
2230
+ //
2231
+ // We were ~46,000x less accurate than NumPy on a bog-standard `sum`, and `mean`/`std`/`variance`
2232
+ // all inherit it. Pairwise costs the same number of additions — the naive loop was simply worse.
2233
+ // For catastrophic cancellation (e.g. [1e16, 1, -1e16], which pairwise AND np.sum both
2234
+ // annihilate to 0) use `fsum`.
2235
+ Array: (arr7) => pairwiseSum(arr7),
2236
+ // Float64Array: the pool's sequential branch is pairwise too (see ComputePool.sum), and its
2237
+ // parallel branch sums per-chunk then combines — blocked summation, which is pairwise-like.
2238
+ // Either way the O(n) drift is gone.
2227
2239
  Float64Array: async (a) => {
2228
2240
  const result = await computePool.sum(a);
2229
2241
  return result.result;
@@ -2232,11 +2244,7 @@ var sum = mathTyped2("sum", {
2232
2244
  var mean = mathTyped2("mean", {
2233
2245
  Array: (arr7) => {
2234
2246
  if (arr7.length === 0) return NaN;
2235
- let total = 0;
2236
- for (let i = 0; i < arr7.length; i++) {
2237
- total += arr7[i];
2238
- }
2239
- return total / arr7.length;
2247
+ return pairwiseSum(arr7) / arr7.length;
2240
2248
  },
2241
2249
  // Parallel Float64Array mean
2242
2250
  Float64Array: async (a) => {
@@ -16247,7 +16255,7 @@ var pinv = mathTyped13("pinv", {
16247
16255
  var cond = mathTyped13("cond", {
16248
16256
  Array: (A) => matrixCond(A)
16249
16257
  });
16250
- var norm2 = mathTyped13("norm2", {
16258
+ var norm22 = mathTyped13("norm2", {
16251
16259
  Array: (A) => matrixNorm2(A)
16252
16260
  });
16253
16261
  var normFro = mathTyped13("normFro", {
@@ -26348,7 +26356,7 @@ var createCumSum = /* @__PURE__ */ factory(
26348
26356
  );
26349
26357
 
26350
26358
  // src/statistics/sum.ts
26351
- var WASM_SUM_THRESHOLD = 100;
26359
+ import { pairwiseSum as pairwiseSum2 } from "@danielsimonjr/mathts-core";
26352
26360
  function isFlatNumberArray3(arr7) {
26353
26361
  for (let i = 0; i < arr7.length; i++) {
26354
26362
  if (typeof arr7[i] !== "number") {
@@ -26381,21 +26389,8 @@ var createSum = /* @__PURE__ */ factory(
26381
26389
  }
26382
26390
  });
26383
26391
  function _sum(array) {
26384
- if (Array.isArray(array) && array.length >= WASM_SUM_THRESHOLD) {
26385
- if (isFlatNumberArray3(array)) {
26386
- const wasm = wasmLoader.getModule();
26387
- if (wasm) {
26388
- try {
26389
- const alloc = wasmLoader.allocateFloat64Array(array);
26390
- try {
26391
- return wasm.statsSum(alloc.ptr, array.length);
26392
- } finally {
26393
- wasmLoader.free(alloc.ptr);
26394
- }
26395
- } catch {
26396
- }
26397
- }
26398
- }
26392
+ if (Array.isArray(array) && isFlatNumberArray3(array)) {
26393
+ return pairwiseSum2(array);
26399
26394
  }
26400
26395
  let sum3;
26401
26396
  deepForEach2(array, function(value) {
@@ -39726,6 +39721,7 @@ var createDerivative = /* @__PURE__ */ factory(
39726
39721
  );
39727
39722
 
39728
39723
  // src/arithmetic/norm.ts
39724
+ import { norm2 as norm23 } from "@danielsimonjr/mathts-core";
39729
39725
  var WASM_NORM_THRESHOLD = 100;
39730
39726
  var name245 = "norm";
39731
39727
  var dependencies245 = [
@@ -39922,6 +39918,12 @@ var createNorm = /* @__PURE__ */ factory(
39922
39918
  throw new Error("Unsupported parameter value " + p);
39923
39919
  }
39924
39920
  function _norm(x, p) {
39921
+ if ((p === 2 || p === "fro") && x.size().length === 1) {
39922
+ const v = x.valueOf();
39923
+ if (v.every((e) => typeof e === "number")) {
39924
+ return norm23(v);
39925
+ }
39926
+ }
39925
39927
  const sizeX = x.size();
39926
39928
  if (sizeX.length === 1) {
39927
39929
  return _vectorNorm(x, p);
@@ -44854,7 +44856,7 @@ function levenbergMarquardt(residual, x0, opts = {}) {
44854
44856
  let x = Array.from(x0);
44855
44857
  let lambda = 1e-3;
44856
44858
  const h = 1e-7;
44857
- const norm22 = (v) => v.reduce((s, c) => s + c * c, 0);
44859
+ const norm24 = (v) => v.reduce((s, c) => s + c * c, 0);
44858
44860
  const jacobian2 = (xc, r0) => {
44859
44861
  const m = r0.length;
44860
44862
  const J = Array.from({ length: m }, () => new Array(n).fill(0));
@@ -44867,7 +44869,7 @@ function levenbergMarquardt(residual, x0, opts = {}) {
44867
44869
  return J;
44868
44870
  };
44869
44871
  let r = residual(x);
44870
- let cost = norm22(r);
44872
+ let cost = norm24(r);
44871
44873
  let iter = 0;
44872
44874
  for (; iter < maxIter; iter++) {
44873
44875
  const J = jacobian2(x, r);
@@ -44898,7 +44900,7 @@ function levenbergMarquardt(residual, x0, opts = {}) {
44898
44900
  }
44899
44901
  const xNew = x.map((v, i) => v + delta[i]);
44900
44902
  const rNew = residual(xNew);
44901
- const costNew = norm22(rNew);
44903
+ const costNew = norm24(rNew);
44902
44904
  if (costNew < cost) {
44903
44905
  x = xNew;
44904
44906
  r = rNew;
@@ -45661,6 +45663,7 @@ export {
45661
45663
  fresnelC,
45662
45664
  fresnelS,
45663
45665
  friedmanTest,
45666
+ fsum,
45664
45667
  fullSimplify,
45665
45668
  functionExpand,
45666
45669
  fuseUnaryChain,
@@ -45882,7 +45885,7 @@ export {
45882
45885
  nodeOperations,
45883
45886
  noncentralChi2PDF,
45884
45887
  norm,
45885
- norm2,
45888
+ norm22 as norm2,
45886
45889
  normFro,
45887
45890
  normalCDF,
45888
45891
  normalDist,
@@ -1 +1 @@
1
- {"version":3,"file":"sum.d.ts","sourceRoot":"","sources":["../../src/statistics/sum.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AA2BvD,UAAU,eAAe;IACvB,KAAK,EAAE,aAAa,CAAC;IACrB,MAAM,EAAE,aAAa,CAAC;IACtB,GAAG,EAAE,aAAa,CAAC;IACnB,OAAO,EAAE,aAAa,CAAC;IACvB,qBAAqB,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC;CACnD;AAKD,eAAO,MAAM,SAAS,yEAmHrB,CAAC"}
1
+ {"version":3,"file":"sum.d.ts","sourceRoot":"","sources":["../../src/statistics/sum.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AA0BvD,UAAU,eAAe;IACvB,KAAK,EAAE,aAAa,CAAC;IACrB,MAAM,EAAE,aAAa,CAAC;IACtB,GAAG,EAAE,aAAa,CAAC;IACnB,OAAO,EAAE,aAAa,CAAC;IACvB,qBAAqB,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC;CACnD;AAKD,eAAO,MAAM,SAAS,yEAmHrB,CAAC"}
@@ -186,6 +186,20 @@ export declare const max: import("typed-function").TypedFunction;
186
186
  /**
187
187
  * Sum with parallel array support
188
188
  */
189
+ /**
190
+ * Exactly-rounded sum — the equivalent of Python's `math.fsum` / NumPy's `math.fsum` idiom.
191
+ *
192
+ * `sum` uses pairwise summation, which is accurate to ~machine epsilon and free. But pairwise
193
+ * cannot recover a value that has already been annihilated by catastrophic cancellation:
194
+ *
195
+ * sum([1e16, 1, -1e16]) -> 0 (so does np.sum — the 1 is lost the moment it meets 1e16)
196
+ * fsum([1e16, 1, -1e16]) -> 1 (exact)
197
+ *
198
+ * Neumaier compensation tracks the low-order bits each addition discards and folds them back in.
199
+ * ~2-4x slower than `sum`, so it is opt-in. Reach for it when the result is a small difference of
200
+ * large terms: conservation checks, residuals, long-running accumulators.
201
+ */
202
+ export declare const fsum: import("typed-function").TypedFunction;
189
203
  export declare const sum: import("typed-function").TypedFunction;
190
204
  /**
191
205
  * Mean with parallel array support
@@ -1 +1 @@
1
- {"version":3,"file":"arithmetic.d.ts","sourceRoot":"","sources":["../../src/typed/arithmetic.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"arithmetic.d.ts","sourceRoot":"","sources":["../../src/typed/arithmetic.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@danielsimonjr/mathts-functions",
3
- "version": "0.21.0",
3
+ "version": "0.22.0",
4
4
  "description": "Mathematical functions for MathTS - arithmetic, algebra, trigonometry, statistics, and more",
5
5
  "author": "Daniel Simon Jr.",
6
6
  "license": "MIT",
@@ -34,11 +34,11 @@
34
34
  "build:prod": "tsup src/index.ts --format esm --clean --minify --treeshake"
35
35
  },
36
36
  "dependencies": {
37
- "@danielsimonjr/mathts-core": "^0.6.0",
38
- "@danielsimonjr/mathts-expression": "^0.6.0",
37
+ "@danielsimonjr/mathts-core": "^0.7.0",
38
+ "@danielsimonjr/mathts-expression": "^0.6.1",
39
39
  "@danielsimonjr/mathts-gpu": "^0.2.0",
40
- "@danielsimonjr/mathts-matrix": "^0.4.1",
41
- "@danielsimonjr/mathts-parallel": "^0.3.4",
40
+ "@danielsimonjr/mathts-matrix": "^0.4.2",
41
+ "@danielsimonjr/mathts-parallel": "^0.4.0",
42
42
  "bignumber.js": "^9.1.2",
43
43
  "complex.js": "^2.2.5",
44
44
  "decimal.js": "^10.4.3",