@danielsimonjr/mathts-functions 0.41.0 → 0.42.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.
package/dist/index.d.ts CHANGED
@@ -51,6 +51,10 @@ export { quad } from './numeric/adaptive-quad.js';
51
51
  export type { QuadOptions, QuadResult } from './numeric/adaptive-quad.js';
52
52
  export { interpn } from './numeric/interpn.js';
53
53
  export type { NDArrayInput } from './numeric/interpn.js';
54
+ export { bsplineFit, bsplineEval } from './numeric/bspline.js';
55
+ export type { BSplineFitOptions, BSplineTuple } from './numeric/bspline.js';
56
+ export { monteCarloIntegrate } from './numeric/monte-carlo.js';
57
+ export type { Bound, MonteCarloOptions, MonteCarloResult } from './numeric/monte-carlo.js';
54
58
  export { movingAverage, ewma, detrend, acf } from './timeseries-extra.js';
55
59
  export { pacf, ljungBox, durbinWatson, adfuller } from './stats/timeseries.js';
56
60
  export type { LjungBoxResult, AdfullerResult } from './stats/timeseries.js';
@@ -98,6 +102,7 @@ export { polygamma, trigamma, jacobiP, gegenbauerC } from './special/polygamma-o
98
102
  export { jacobiSN, jacobiCN, jacobiDN } from './special/jacobi-elliptic.js';
99
103
  export { rootsLegendre } from './numeric/gauss-nodes.js';
100
104
  export type { RootsLegendreResult } from './numeric/gauss-nodes.js';
105
+ export { polylog, struveH, struveL, kelvinBer, kelvinBei, barnesG } from './special/niche.js';
101
106
  export { bfs, dfs, floydWarshall, bellmanFord, closenessCentrality, harmonicCentrality, } from './graph/traversal-centrality.js';
102
107
  export type { BellmanFordResult } from './graph/traversal-centrality.js';
103
108
  export { maxFlow, minCut, astar, hungarian } from './graph/optimization.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -47631,6 +47631,228 @@ function interpn(grids, values, query) {
47631
47631
  });
47632
47632
  }
47633
47633
 
47634
+ // src/numeric/bspline.ts
47635
+ function findSpan(n, p, u, U) {
47636
+ if (u >= U[n + 1]) return n;
47637
+ if (u <= U[p]) return p;
47638
+ let low = p;
47639
+ let high = n + 1;
47640
+ let mid = Math.floor((low + high) / 2);
47641
+ while (u < U[mid] || u >= U[mid + 1]) {
47642
+ if (u < U[mid]) high = mid;
47643
+ else low = mid;
47644
+ mid = Math.floor((low + high) / 2);
47645
+ }
47646
+ return mid;
47647
+ }
47648
+ function basisFuns(span, u, p, U) {
47649
+ const N = new Array(p + 1);
47650
+ N[0] = 1;
47651
+ const left = new Array(p + 1);
47652
+ const right = new Array(p + 1);
47653
+ for (let j = 1; j <= p; j++) {
47654
+ left[j] = u - U[span + 1 - j];
47655
+ right[j] = U[span + j] - u;
47656
+ let saved = 0;
47657
+ for (let r = 0; r < j; r++) {
47658
+ const temp = N[r] / (right[r + 1] + left[j - r]);
47659
+ N[r] = saved + right[r + 1] * temp;
47660
+ saved = left[j - r] * temp;
47661
+ }
47662
+ N[j] = saved;
47663
+ }
47664
+ return N;
47665
+ }
47666
+ function validateXY(x, y) {
47667
+ if (x.length !== y.length) throw new Error("bsplineFit: x and y must have the same length");
47668
+ for (let i = 1; i < x.length; i++) {
47669
+ if (!(x[i] > x[i - 1])) throw new Error("bsplineFit: x must be strictly increasing");
47670
+ }
47671
+ }
47672
+ function buildDesignMatrix(x, t, k, numCoef) {
47673
+ const n = x.length;
47674
+ const A = Array.from({ length: n }, () => new Array(numCoef).fill(0));
47675
+ for (let i = 0; i < n; i++) {
47676
+ const span = findSpan(numCoef - 1, k, x[i], t);
47677
+ const N = basisFuns(span, x[i], k, t);
47678
+ for (let j = 0; j <= k; j++) A[i][span - k + j] = N[j];
47679
+ }
47680
+ return A;
47681
+ }
47682
+ function bsplineFit(x, y, opts = {}) {
47683
+ validateXY(x, y);
47684
+ const k = opts.k ?? 3;
47685
+ const n = x.length;
47686
+ if (n <= k) {
47687
+ throw new Error(`bsplineFit: need more than ${k} data points for a degree-${k} fit`);
47688
+ }
47689
+ const s = opts.s ?? 0;
47690
+ const x0 = x[0];
47691
+ const xN = x[n - 1];
47692
+ if (s <= 0 && opts.nknots === void 0) {
47693
+ const m2 = n + k + 1;
47694
+ const t2 = new Array(m2);
47695
+ for (let i = 0; i <= k; i++) t2[i] = x0;
47696
+ for (let i = 0; i <= k; i++) t2[m2 - 1 - i] = xN;
47697
+ for (let j = 1; j <= n - k - 1; j++) {
47698
+ let sum3 = 0;
47699
+ for (let i = j; i <= j + k - 1; i++) sum3 += x[i];
47700
+ t2[k + j] = sum3 / k;
47701
+ }
47702
+ const A2 = buildDesignMatrix(x, t2, k, n);
47703
+ const c2 = linsolve(A2, [...y]);
47704
+ return { t: t2, c: c2, k };
47705
+ }
47706
+ const maxInterior = Math.max(0, n - k - 2);
47707
+ const heuristicInterior = Math.round((n - k - 1) / (1 + Math.max(0, s)));
47708
+ let numInterior = opts.nknots ?? heuristicInterior;
47709
+ numInterior = Math.min(Math.max(0, numInterior), maxInterior);
47710
+ const numCoef = numInterior + k + 1;
47711
+ const m = numCoef + k + 1;
47712
+ const t = new Array(m);
47713
+ for (let i = 0; i <= k; i++) t[i] = x0;
47714
+ for (let i = 0; i <= k; i++) t[m - 1 - i] = xN;
47715
+ for (let j = 1; j <= numInterior; j++) {
47716
+ t[k + j] = x0 + j * (xN - x0) / (numInterior + 1);
47717
+ }
47718
+ const A = buildDesignMatrix(x, t, k, numCoef);
47719
+ const c = leastSquares(A, [...y]);
47720
+ return { t, c, k };
47721
+ }
47722
+ function bsplineEval(spline, xnew) {
47723
+ const { t, c, k } = spline;
47724
+ const nLast = c.length - 1;
47725
+ const evalOne = (x) => {
47726
+ const span = findSpan(nLast, k, x, t);
47727
+ const N = basisFuns(span, x, k, t);
47728
+ let val = 0;
47729
+ for (let j = 0; j <= k; j++) val += N[j] * c[span - k + j];
47730
+ return val;
47731
+ };
47732
+ return Array.isArray(xnew) ? xnew.map(evalOne) : evalOne(xnew);
47733
+ }
47734
+
47735
+ // src/numeric/monte-carlo.ts
47736
+ function isPrime2(x) {
47737
+ if (x < 2) return false;
47738
+ for (let i = 2; i * i <= x; i++) {
47739
+ if (x % i === 0) return false;
47740
+ }
47741
+ return true;
47742
+ }
47743
+ function nthPrime(k) {
47744
+ let count2 = 0;
47745
+ let candidate = 1;
47746
+ while (count2 < k) {
47747
+ candidate++;
47748
+ if (isPrime2(candidate)) count2++;
47749
+ }
47750
+ return candidate;
47751
+ }
47752
+ function vanDerCorput(idx, base) {
47753
+ let f = 1;
47754
+ let r = 0;
47755
+ let i = idx;
47756
+ while (i > 0) {
47757
+ f /= base;
47758
+ r += f * (i % base);
47759
+ i = Math.floor(i / base);
47760
+ }
47761
+ return r;
47762
+ }
47763
+ function haltonSequence(n, dims) {
47764
+ const bases = Array.from({ length: dims }, (_, d) => nthPrime(d + 1));
47765
+ const points = [];
47766
+ for (let idx = 1; idx <= n; idx++) {
47767
+ points.push(bases.map((b) => vanDerCorput(idx, b)));
47768
+ }
47769
+ return points;
47770
+ }
47771
+ var SOBOL_BITS = 30;
47772
+ function sobolDirectionNumbers(dim, bits) {
47773
+ const M = new Array(bits + 1).fill(0);
47774
+ if (dim === 0) {
47775
+ for (let i = 1; i <= bits; i++) M[i] = 1;
47776
+ return M;
47777
+ }
47778
+ M[1] = 1;
47779
+ for (let i = 2; i <= bits; i++) {
47780
+ M[i] = 2 * M[i - 1] ^ M[i - 1];
47781
+ }
47782
+ return M;
47783
+ }
47784
+ function sobolSequence(n, dims) {
47785
+ if (dims < 1 || dims > 2) {
47786
+ throw new Error(
47787
+ "monteCarloIntegrate: method 'sobol' supports only 1-2 dimensions here (only the first two Sobol direction-number sets are forced by the recurrence with no external lookup table); use method: 'halton' for higher-dimensional integrals"
47788
+ );
47789
+ }
47790
+ const bits = SOBOL_BITS;
47791
+ const scale4 = Math.pow(2, bits);
47792
+ const scaledDir = Array.from({ length: dims }, (_, d) => {
47793
+ const M = sobolDirectionNumbers(d, bits);
47794
+ return M.map((m, i) => i === 0 ? 0 : m * Math.pow(2, bits - i));
47795
+ });
47796
+ const points = [];
47797
+ for (let idx = 1; idx <= n; idx++) {
47798
+ const gray = idx ^ idx >>> 1;
47799
+ const pt = new Array(dims).fill(0);
47800
+ for (let d = 0; d < dims; d++) {
47801
+ let acc = 0;
47802
+ let k = gray;
47803
+ let bitPos = 1;
47804
+ while (k > 0) {
47805
+ if (k & 1) acc ^= scaledDir[d][bitPos];
47806
+ k >>>= 1;
47807
+ bitPos++;
47808
+ }
47809
+ pt[d] = acc / scale4;
47810
+ }
47811
+ points.push(pt);
47812
+ }
47813
+ return points;
47814
+ }
47815
+ function monteCarloIntegrate(f, bounds, opts = {}) {
47816
+ const dims = bounds.length;
47817
+ if (dims === 0) {
47818
+ throw new Error("monteCarloIntegrate: bounds must have at least one dimension");
47819
+ }
47820
+ for (const [lo, hi] of bounds) {
47821
+ if (!(hi > lo)) throw new Error("monteCarloIntegrate: each bound must have hi > lo");
47822
+ }
47823
+ const n = Math.floor(opts.n ?? 1e5);
47824
+ if (n < 1) throw new Error("monteCarloIntegrate: n must be >= 1");
47825
+ const method = opts.method ?? "uniform";
47826
+ const volume = bounds.reduce((v, [lo, hi]) => v * (hi - lo), 1);
47827
+ let unitPoints;
47828
+ if (method === "uniform") {
47829
+ const rng = createRng(opts.seed ?? null);
47830
+ unitPoints = Array.from({ length: n }, () => Array.from({ length: dims }, () => rng()));
47831
+ } else if (method === "halton") {
47832
+ unitPoints = haltonSequence(n, dims);
47833
+ } else if (method === "sobol") {
47834
+ unitPoints = sobolSequence(n, dims);
47835
+ } else {
47836
+ throw new Error(`monteCarloIntegrate: unknown method '${String(method)}'`);
47837
+ }
47838
+ let sum3 = 0;
47839
+ let sumSq = 0;
47840
+ for (const u of unitPoints) {
47841
+ const x = u.map((ui, d) => bounds[d][0] + ui * (bounds[d][1] - bounds[d][0]));
47842
+ const fx = f(x);
47843
+ sum3 += fx;
47844
+ sumSq += fx * fx;
47845
+ }
47846
+ const mean7 = sum3 / n;
47847
+ const estimate = volume * mean7;
47848
+ if (method !== "uniform") {
47849
+ return { estimate, stderr: 0 };
47850
+ }
47851
+ const variance2 = n > 1 ? Math.max(0, sumSq - n * mean7 * mean7) / (n - 1) : 0;
47852
+ const stderr = volume * Math.sqrt(variance2 / n);
47853
+ return { estimate, stderr };
47854
+ }
47855
+
47634
47856
  // src/timeseries-extra.ts
47635
47857
  var arr4 = (x) => Array.isArray(x) ? x : Array.from(x);
47636
47858
  var mean4 = (x) => mean(x);
@@ -50857,6 +51079,111 @@ function rootsLegendre(n) {
50857
51079
  return { nodes, weights };
50858
51080
  }
50859
51081
 
51082
+ // src/special/niche.ts
51083
+ var MAX_TERMS2 = 1e4;
51084
+ var RELTOL2 = 1e-16;
51085
+ function polylog(s, z) {
51086
+ if (Math.abs(z) >= 1) {
51087
+ throw new Error("polylog: only |z| < 1 is supported (analytic continuation not implemented)");
51088
+ }
51089
+ if (z === 0) return 0;
51090
+ let sum3 = 0;
51091
+ let zk = 1;
51092
+ for (let k = 1; k <= MAX_TERMS2; k++) {
51093
+ zk *= z;
51094
+ const term = zk / Math.pow(k, s);
51095
+ sum3 += term;
51096
+ if (k > 1 && Math.abs(term) < Math.abs(sum3) * RELTOL2) break;
51097
+ }
51098
+ return sum3;
51099
+ }
51100
+ function struveH(v, z) {
51101
+ if (z < 0) {
51102
+ throw new Error("struveH: z must be >= 0");
51103
+ }
51104
+ if (z === 0) return 0;
51105
+ const halfZ = z / 2;
51106
+ const logHalfZ = Math.log(halfZ);
51107
+ let term = Math.exp((v + 1) * logHalfZ - _lgamma(1.5) - _lgamma(v + 1.5));
51108
+ let sum3 = term;
51109
+ for (let k = 0; k < MAX_TERMS2; k++) {
51110
+ const ratio = -(halfZ * halfZ) / ((k + 1.5) * (k + v + 1.5));
51111
+ term *= ratio;
51112
+ sum3 += term;
51113
+ if (Math.abs(term) < Math.abs(sum3) * RELTOL2) break;
51114
+ }
51115
+ return sum3;
51116
+ }
51117
+ function struveL(v, z) {
51118
+ if (z < 0) {
51119
+ throw new Error("struveL: z must be >= 0");
51120
+ }
51121
+ if (z === 0) return 0;
51122
+ const halfZ = z / 2;
51123
+ const logHalfZ = Math.log(halfZ);
51124
+ let term = Math.exp((v + 1) * logHalfZ - _lgamma(1.5) - _lgamma(v + 1.5));
51125
+ let sum3 = term;
51126
+ for (let k = 0; k < MAX_TERMS2; k++) {
51127
+ const ratio = halfZ * halfZ / ((k + 1.5) * (k + v + 1.5));
51128
+ term *= ratio;
51129
+ sum3 += term;
51130
+ if (Math.abs(term) < Math.abs(sum3) * RELTOL2) break;
51131
+ }
51132
+ return sum3;
51133
+ }
51134
+ function kelvinBer(x) {
51135
+ const halfX = x / 2;
51136
+ const halfX4 = halfX * halfX * halfX * halfX;
51137
+ let term = 1;
51138
+ let sum3 = term;
51139
+ for (let k = 0; k < MAX_TERMS2; k++) {
51140
+ const denom = (2 * k + 1) * (2 * k + 2);
51141
+ term *= -halfX4 / (denom * denom);
51142
+ sum3 += term;
51143
+ if (k > 0 && Math.abs(term) < Math.abs(sum3) * RELTOL2) break;
51144
+ }
51145
+ return sum3;
51146
+ }
51147
+ function kelvinBei(x) {
51148
+ const halfX = x / 2;
51149
+ const halfX4 = halfX * halfX * halfX * halfX;
51150
+ let term = halfX * halfX;
51151
+ let sum3 = term;
51152
+ for (let k = 0; k < MAX_TERMS2; k++) {
51153
+ const denom = (2 * k + 2) * (2 * k + 3);
51154
+ term *= -halfX4 / (denom * denom);
51155
+ sum3 += term;
51156
+ if (k > 0 && Math.abs(term) < Math.abs(sum3) * RELTOL2) break;
51157
+ }
51158
+ return sum3;
51159
+ }
51160
+ var LN_GLAISHER_A = 0.2487544770337842;
51161
+ var BERNOULLI_TAIL = [-1 / 30, 1 / 42, -1 / 30, 5 / 66];
51162
+ var BARNES_SHIFT_THRESHOLD = 16;
51163
+ function lnBarnesGAsymptotic(y) {
51164
+ let sum3 = y * y * Math.log(y) / 2 - 3 * y * y / 4 + y / 2 * Math.log(2 * Math.PI) - Math.log(y) / 12 + (1 / 12 - LN_GLAISHER_A);
51165
+ let y2k = y * y;
51166
+ for (let k = 1; k <= BERNOULLI_TAIL.length; k++) {
51167
+ sum3 += BERNOULLI_TAIL[k - 1] / (4 * k * (k + 1) * y2k);
51168
+ y2k *= y * y;
51169
+ }
51170
+ return sum3;
51171
+ }
51172
+ function barnesG(z) {
51173
+ if (z <= 0) {
51174
+ throw new Error("barnesG: only z > 0 is supported");
51175
+ }
51176
+ let shifted = z;
51177
+ let sumLgamma = 0;
51178
+ while (shifted < BARNES_SHIFT_THRESHOLD) {
51179
+ sumLgamma += _lgamma(shifted);
51180
+ shifted += 1;
51181
+ }
51182
+ const y = shifted - 1;
51183
+ const lnG = lnBarnesGAsymptotic(y) - sumLgamma;
51184
+ return Math.exp(lnG);
51185
+ }
51186
+
50860
51187
  // src/graph/traversal-centrality.ts
50861
51188
  function bfs(adj, start) {
50862
51189
  const n = adj.length;
@@ -51856,6 +52183,7 @@ export {
51856
52183
  autoCorrelation,
51857
52184
  avogadro,
51858
52185
  bandpassFilter,
52186
+ barnesG,
51859
52187
  bartlettPSD,
51860
52188
  bartlettTest,
51861
52189
  bellNumbers,
@@ -51899,6 +52227,8 @@ export {
51899
52227
  bootstrapCI,
51900
52228
  boundingBox,
51901
52229
  bspline,
52230
+ bsplineEval,
52231
+ bsplineFit,
51902
52232
  butter,
51903
52233
  buttord,
51904
52234
  cancel,
@@ -52335,6 +52665,8 @@ export {
52335
52665
  kdTreeKNN,
52336
52666
  kdTreeNearest,
52337
52667
  kdTreeRadius,
52668
+ kelvinBei,
52669
+ kelvinBer,
52338
52670
  kendallTau,
52339
52671
  kendallTauTest,
52340
52672
  kendalltau,
@@ -52454,6 +52786,7 @@ export {
52454
52786
  molarPlanckConstant,
52455
52787
  molarVolume,
52456
52788
  moment,
52789
+ monteCarloIntegrate,
52457
52790
  movingAverage,
52458
52791
  multiTaperPSD,
52459
52792
  multinomial,
@@ -52568,6 +52901,7 @@ export {
52568
52901
  polygamma,
52569
52902
  polygonArea,
52570
52903
  polygonPerimeter,
52904
+ polylog,
52571
52905
  polymul,
52572
52906
  polynomialGCD,
52573
52907
  polynomialLCM,
@@ -52728,6 +53062,8 @@ export {
52728
53062
  stirlingS2,
52729
53063
  string,
52730
53064
  stronglyConnectedComponents,
53065
+ struveH,
53066
+ struveL,
52731
53067
  studentTCDF,
52732
53068
  studentTPDF,
52733
53069
  studentTQuantile,
@@ -0,0 +1,47 @@
1
+ type f64 = number;
2
+ type i32 = number;
3
+ /** Options for {@link bsplineFit}. */
4
+ export interface BSplineFitOptions {
5
+ /** Spline degree (default 3, cubic). */
6
+ k?: i32;
7
+ /** Smoothing factor. `0` (default) fits an interpolating spline that
8
+ * passes through every data point exactly. `s > 0` requests a
9
+ * least-squares smoothing spline with fewer basis functions than data
10
+ * points — the number of interior knots shrinks roughly in proportion to
11
+ * `s`. Use `nknots` to control the knot count directly instead. */
12
+ s?: f64;
13
+ /** Explicit number of interior knots for a smoothing fit (used whenever
14
+ * `s > 0`, or set this directly with `s` left at 0). Overrides the
15
+ * `s`-derived heuristic. */
16
+ nknots?: i32;
17
+ }
18
+ /** A fitted B-spline in scipy's `tck` tuple shape: knot vector `t`,
19
+ * coefficients `c`, and degree `k`. */
20
+ export interface BSplineTuple {
21
+ t: f64[];
22
+ c: f64[];
23
+ k: i32;
24
+ }
25
+ /**
26
+ * Fit a B-spline of degree `k` (default cubic) to data `(x, y)`, returned
27
+ * in scipy's `tck` tuple shape `{ t, c, k }`.
28
+ *
29
+ * @example
30
+ * const xs = Array.from({ length: 15 }, (_, i) => (i * 2 * Math.PI) / 14);
31
+ * const ys = xs.map(Math.sin);
32
+ * const tck = bsplineFit(xs, ys); // cubic interpolating spline (s=0)
33
+ * bsplineEval(tck, xs[3]); // === ys[3] exactly (interpolation)
34
+ */
35
+ export declare function bsplineFit(x: readonly f64[], y: readonly f64[], opts?: BSplineFitOptions): BSplineTuple;
36
+ /**
37
+ * Evaluate a fitted B-spline (de Boor's algorithm) at one point or an array
38
+ * of points.
39
+ *
40
+ * @example
41
+ * bsplineEval(bsplineFit(xs, ys), 1.0); // spline value at x=1
42
+ * bsplineEval(bsplineFit(xs, ys), [1, 2, 3]); // vectorized
43
+ */
44
+ export declare function bsplineEval(spline: BSplineTuple, xnew: f64): f64;
45
+ export declare function bsplineEval(spline: BSplineTuple, xnew: readonly f64[]): f64[];
46
+ export {};
47
+ //# sourceMappingURL=bspline.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bspline.d.ts","sourceRoot":"","sources":["../../src/numeric/bspline.ts"],"names":[],"mappings":"AAgCA,KAAK,GAAG,GAAG,MAAM,CAAC;AAClB,KAAK,GAAG,GAAG,MAAM,CAAC;AAElB,sCAAsC;AACtC,MAAM,WAAW,iBAAiB;IAChC,wCAAwC;IACxC,CAAC,CAAC,EAAE,GAAG,CAAC;IACR;;;;uEAImE;IACnE,CAAC,CAAC,EAAE,GAAG,CAAC;IACR;;gCAE4B;IAC5B,MAAM,CAAC,EAAE,GAAG,CAAC;CACd;AAED;uCACuC;AACvC,MAAM,WAAW,YAAY;IAC3B,CAAC,EAAE,GAAG,EAAE,CAAC;IACT,CAAC,EAAE,GAAG,EAAE,CAAC;IACT,CAAC,EAAE,GAAG,CAAC;CACR;AAmED;;;;;;;;;GASG;AACH,wBAAgB,UAAU,CACxB,CAAC,EAAE,SAAS,GAAG,EAAE,EACjB,CAAC,EAAE,SAAS,GAAG,EAAE,EACjB,IAAI,GAAE,iBAAsB,GAC3B,YAAY,CAgDd;AAED;;;;;;;GAOG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE,GAAG,GAAG,GAAG,CAAC;AAClE,wBAAgB,WAAW,CAAC,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE,SAAS,GAAG,EAAE,GAAG,GAAG,EAAE,CAAC"}
@@ -0,0 +1,40 @@
1
+ type f64 = number;
2
+ type i32 = number;
3
+ /** An axis-aligned integration bound `[lo, hi]`. */
4
+ export type Bound = readonly [f64, f64];
5
+ /** Options for {@link monteCarloIntegrate}. */
6
+ export interface MonteCarloOptions {
7
+ /** Number of sample points (default 1e5). */
8
+ n?: i32;
9
+ /** Sampling method (default `'uniform'`). */
10
+ method?: 'uniform' | 'halton' | 'sobol';
11
+ /** Seed for the deterministic RNG, `method: 'uniform'` only (reproducible
12
+ * draws). Omit for a time-seeded, non-reproducible generator. */
13
+ seed?: string | number;
14
+ }
15
+ /** Result of {@link monteCarloIntegrate}. */
16
+ export interface MonteCarloResult {
17
+ /** The estimated integral. */
18
+ estimate: f64;
19
+ /** Standard error of `estimate` (uniform MC only; 0 for QMC methods —
20
+ * see the module doc). */
21
+ stderr: f64;
22
+ }
23
+ /**
24
+ * Estimate `∫ f` over the axis-aligned box `bounds` (one `[lo, hi]` pair
25
+ * per dimension) by Monte-Carlo or quasi-Monte-Carlo sampling.
26
+ *
27
+ * @example
28
+ * monteCarloIntegrate((x) => x[0] ** 2, [[0, 1]], { n: 1e5, seed: 42 });
29
+ * // estimate ~ 1/3, stderr ~ 6e-4
30
+ *
31
+ * @example
32
+ * // unit-disk area via the indicator function, ~ pi
33
+ * monteCarloIntegrate((x) => (x[0] ** 2 + x[1] ** 2 <= 1 ? 1 : 0), [
34
+ * [-1, 1],
35
+ * [-1, 1],
36
+ * ]);
37
+ */
38
+ export declare function monteCarloIntegrate(f: (x: f64[]) => f64, bounds: readonly Bound[], opts?: MonteCarloOptions): MonteCarloResult;
39
+ export {};
40
+ //# sourceMappingURL=monte-carlo.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"monte-carlo.d.ts","sourceRoot":"","sources":["../../src/numeric/monte-carlo.ts"],"names":[],"mappings":"AAqCA,KAAK,GAAG,GAAG,MAAM,CAAC;AAClB,KAAK,GAAG,GAAG,MAAM,CAAC;AAElB,oDAAoD;AACpD,MAAM,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;AAExC,+CAA+C;AAC/C,MAAM,WAAW,iBAAiB;IAChC,6CAA6C;IAC7C,CAAC,CAAC,EAAE,GAAG,CAAC;IACR,6CAA6C;IAC7C,MAAM,CAAC,EAAE,SAAS,GAAG,QAAQ,GAAG,OAAO,CAAC;IACxC;qEACiE;IACjE,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CACxB;AAED,6CAA6C;AAC7C,MAAM,WAAW,gBAAgB;IAC/B,8BAA8B;IAC9B,QAAQ,EAAE,GAAG,CAAC;IACd;8BAC0B;IAC1B,MAAM,EAAE,GAAG,CAAC;CACb;AA2GD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,mBAAmB,CACjC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,GAAG,EACpB,MAAM,EAAE,SAAS,KAAK,EAAE,EACxB,IAAI,GAAE,iBAAsB,GAC3B,gBAAgB,CA0ClB"}
@@ -0,0 +1,139 @@
1
+ /**
2
+ * Niche special functions: polylogarithm, Struve H/L, Kelvin ber/bei (order
3
+ * 0), and the Barnes G-function.
4
+ *
5
+ * These are lower-traffic special functions with narrower validity domains
6
+ * than the Bessel/Airy/elliptic families in `typed/special.ts`. They follow
7
+ * the same plain-exported-function pattern as `hypergeometric.ts` and
8
+ * `polygamma-orthopoly.ts` — pure `number -> number` (or `number, number ->
9
+ * number`) math, no typed-function array/WASM dispatch overloads.
10
+ *
11
+ * @packageDocumentation
12
+ */
13
+ /** 64-bit float (default for decimals) */
14
+ type f64 = number;
15
+ /**
16
+ * Polylogarithm Li_s(z), computed via its defining series (DLMF 25.12.10):
17
+ *
18
+ * Li_s(z) = sum_{k=1}^inf z^k / k^s
19
+ *
20
+ * which converges for `|z| < 1` (any real `s`). Analytic continuation to
21
+ * `|z| >= 1` (needed for e.g. the dilogarithm's reflection formulas) is
22
+ * **out of scope** — this throws rather than silently returning a wrong or
23
+ * divergent value.
24
+ *
25
+ * Special value: `Li_1(z) = -ln(1 - z)`.
26
+ *
27
+ * @param s - Order (any real number)
28
+ * @param z - Argument, must satisfy `|z| < 1`
29
+ * @returns Li_s(z)
30
+ * @throws {Error} If `|z| >= 1`
31
+ *
32
+ * @example
33
+ * polylog(2, 0.5) // ~0.5822405265 (dilogarithm)
34
+ * polylog(1, 0.5) // ~0.6931471806 (= -ln(0.5) = ln 2)
35
+ */
36
+ export declare function polylog(s: f64, z: f64): f64;
37
+ /**
38
+ * Struve function H_v(z), via its power series (DLMF 11.2.1):
39
+ *
40
+ * H_v(z) = sum_{k=0}^inf (-1)^k / (Gamma(k+3/2) Gamma(k+v+3/2)) * (z/2)^(2k+v+1)
41
+ *
42
+ * Evaluated by the standard term-recurrence ratio
43
+ * `term_{k+1}/term_k = -(z/2)^2 / ((k+3/2)(k+v+3/2))`, seeded by a single
44
+ * pair of `lgamma` evaluations (avoids recomputing Gamma at every order and
45
+ * avoids overflow from large individual Gamma values).
46
+ *
47
+ * Valid for `z >= 0` and `v > -3/2` (so that `Gamma(v+3/2)` has no pole).
48
+ *
49
+ * @param v - Order (real, `v > -3/2`)
50
+ * @param z - Argument (real, `z >= 0`)
51
+ * @returns H_v(z)
52
+ *
53
+ * @example
54
+ * struveH(0, 1) // ~0.5686566270
55
+ * struveH(1, 2) // ~0.6467637283
56
+ */
57
+ export declare function struveH(v: f64, z: f64): f64;
58
+ /**
59
+ * Modified Struve function L_v(z), via its power series (DLMF 11.2.1):
60
+ *
61
+ * L_v(z) = sum_{k=0}^inf 1 / (Gamma(k+3/2) Gamma(k+v+3/2)) * (z/2)^(2k+v+1)
62
+ *
63
+ * Same as `struveH` but without the alternating `(-1)^k` sign, so every term
64
+ * is positive and the series grows monotonically for `z > 0` (like a
65
+ * modified Bessel function).
66
+ *
67
+ * Valid for `z >= 0` and `v > -3/2`.
68
+ *
69
+ * @param v - Order (real, `v > -3/2`)
70
+ * @param z - Argument (real, `z >= 0`)
71
+ * @returns L_v(z)
72
+ *
73
+ * @example
74
+ * struveL(0, 1) // ~0.7102431859
75
+ */
76
+ export declare function struveL(v: f64, z: f64): f64;
77
+ /**
78
+ * Kelvin function ber(x) (order 0), via its power series (DLMF 10.65.1):
79
+ *
80
+ * ber(x) = sum_{k=0}^inf (-1)^k (x/2)^(4k) / ((2k)!)^2
81
+ *
82
+ * Evaluated by the term-recurrence ratio
83
+ * `term_{k+1}/term_k = -(x/2)^4 / ((2k+1)(2k+2))^2`.
84
+ *
85
+ * @param x - Argument (real)
86
+ * @returns ber(x)
87
+ *
88
+ * @example
89
+ * kelvinBer(0) // 1
90
+ * kelvinBer(2) // ~0.7517341827
91
+ */
92
+ export declare function kelvinBer(x: f64): f64;
93
+ /**
94
+ * Kelvin function bei(x) (order 0), via its power series (DLMF 10.65.1):
95
+ *
96
+ * bei(x) = sum_{k=0}^inf (-1)^k (x/2)^(4k+2) / ((2k+1)!)^2
97
+ *
98
+ * Evaluated by the term-recurrence ratio
99
+ * `term_{k+1}/term_k = -(x/2)^4 / ((2k+2)(2k+3))^2`.
100
+ *
101
+ * @param x - Argument (real)
102
+ * @returns bei(x)
103
+ *
104
+ * @example
105
+ * kelvinBei(0) // 0
106
+ * kelvinBei(2) // ~0.9722916273
107
+ */
108
+ export declare function kelvinBei(x: f64): f64;
109
+ /**
110
+ * Barnes G-function G(z), for real `z > 0`.
111
+ *
112
+ * Uses the functional equation `G(z+1) = Gamma(z) * G(z)` to shift `z` up
113
+ * until it is large enough for the asymptotic expansion of `ln G` (DLMF
114
+ * 5.17.5) to converge to machine precision, then unwinds the shift:
115
+ *
116
+ * ln G(z) = ln G(z + n) - sum_{k=0}^{n-1} lgamma(z + k)
117
+ *
118
+ * Verified against `mpmath.barnesg` (dps=25) to relative error ~1e-14 across
119
+ * the anchored integer/half-integer test values. Not extended to `z <= 0`
120
+ * (Barnes G has zeros/sign changes on the non-positive real axis that this
121
+ * shift-and-asymptotic approach does not handle) — that domain is out of
122
+ * scope.
123
+ *
124
+ * Known integer values: `G(1) = G(2) = 1`, and in general
125
+ * `G(n+3) = prod_{k=1}^{n} k!` for nonnegative integers `n`
126
+ * (e.g. `G(4) = 2`, `G(5) = 12`, `G(6) = 288`).
127
+ *
128
+ * @param z - Argument (real, `z > 0`)
129
+ * @returns G(z)
130
+ * @throws {Error} If `z <= 0`
131
+ *
132
+ * @example
133
+ * barnesG(4) // 2 (= 1!)
134
+ * barnesG(5) // 12 (= 1! * 2!)
135
+ * barnesG(4.5) // ~4.1862532590
136
+ */
137
+ export declare function barnesG(z: f64): f64;
138
+ export {};
139
+ //# sourceMappingURL=niche.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"niche.d.ts","sourceRoot":"","sources":["../../src/special/niche.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;;GAWG;AAIH,0CAA0C;AAC1C,KAAK,GAAG,GAAG,MAAM,CAAC;AAYlB;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,OAAO,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,GAAG,GAAG,CAe3C;AAMD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,OAAO,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,GAAG,GAAG,CAiB3C;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,OAAO,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,GAAG,GAAG,CAiB3C;AAMD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,SAAS,CAAC,CAAC,EAAE,GAAG,GAAG,GAAG,CAYrC;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,SAAS,CAAC,CAAC,EAAE,GAAG,GAAG,GAAG,CAYrC;AAsCD;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,wBAAgB,OAAO,CAAC,CAAC,EAAE,GAAG,GAAG,GAAG,CAcnC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@danielsimonjr/mathts-functions",
3
- "version": "0.41.0",
3
+ "version": "0.42.0",
4
4
  "description": "Mathematical functions for MathTS - arithmetic, algebra, trigonometry, statistics, and more",
5
5
  "author": "Daniel Simon Jr.",
6
6
  "license": "MIT",