@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 +5 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +336 -0
- package/dist/numeric/bspline.d.ts +47 -0
- package/dist/numeric/bspline.d.ts.map +1 -0
- package/dist/numeric/monte-carlo.d.ts +40 -0
- package/dist/numeric/monte-carlo.d.ts.map +1 -0
- package/dist/special/niche.d.ts +139 -0
- package/dist/special/niche.d.ts.map +1 -0
- package/package.json +1 -1
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';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -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