@danielsimonjr/mathts-functions 0.50.0 → 0.52.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 +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +599 -2
- package/dist/numeric/solveODE.d.ts +26 -1
- package/dist/numeric/solveODE.d.ts.map +1 -1
- package/dist/special/wave-functions.d.ts +59 -3
- package/dist/special/wave-functions.d.ts.map +1 -1
- package/dist/typed/numeric.d.ts +8 -2
- package/dist/typed/numeric.d.ts.map +1 -1
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -116,7 +116,8 @@ export { jacobiSN, jacobiCN, jacobiDN } from './special/jacobi-elliptic.js';
|
|
|
116
116
|
export { rootsLegendre } from './numeric/gauss-nodes.js';
|
|
117
117
|
export type { RootsLegendreResult } from './numeric/gauss-nodes.js';
|
|
118
118
|
export { polylog, struveH, struveL, kelvinBer, kelvinBei, barnesG } from './special/niche.js';
|
|
119
|
-
export { siegelZ, riemannSiegelZ, lerchPhi, parabolicCylinderD, coulombF, } from './special/wave-functions.js';
|
|
119
|
+
export { siegelZ, riemannSiegelZ, lerchPhi, parabolicCylinderD, coulombF, coulombG, coulombFG, } from './special/wave-functions.js';
|
|
120
|
+
export type { CoulombFG } from './special/wave-functions.js';
|
|
120
121
|
export { bfs, dfs, floydWarshall, bellmanFord, closenessCentrality, harmonicCentrality, } from './graph/traversal-centrality.js';
|
|
121
122
|
export type { BellmanFordResult } from './graph/traversal-centrality.js';
|
|
122
123
|
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
|
@@ -12199,6 +12199,446 @@ function rodasSolve(f, tspan, y0raw, options = {}) {
|
|
|
12199
12199
|
}
|
|
12200
12200
|
return { t: tOut, y: yOut };
|
|
12201
12201
|
}
|
|
12202
|
+
var _EPS = Number.EPSILON;
|
|
12203
|
+
function _rms(v) {
|
|
12204
|
+
let s = 0;
|
|
12205
|
+
for (let i = 0; i < v.length; i++) s += v[i] * v[i];
|
|
12206
|
+
return Math.sqrt(s / v.length);
|
|
12207
|
+
}
|
|
12208
|
+
function _selectInitialStep(f, t0, y0, tf, maxStep, f0, dir, order, rtol, atol) {
|
|
12209
|
+
const interval2 = Math.abs(tf - t0);
|
|
12210
|
+
if (interval2 === 0) return 0;
|
|
12211
|
+
const scale4 = y0.map((yi) => atol + Math.abs(yi) * rtol);
|
|
12212
|
+
const d0 = _rms(y0.map((yi, i) => yi / scale4[i]));
|
|
12213
|
+
const d1 = _rms(f0.map((fi, i) => fi / scale4[i]));
|
|
12214
|
+
let h0 = d0 < 1e-5 || d1 < 1e-5 ? 1e-6 : 0.01 * (d0 / d1);
|
|
12215
|
+
h0 = Math.min(h0, interval2);
|
|
12216
|
+
const y1 = y0.map((yi, i) => yi + h0 * dir * f0[i]);
|
|
12217
|
+
const f1 = _fArr(f, t0 + h0 * dir, y1);
|
|
12218
|
+
const d2 = _rms(f1.map((v, i) => (v - f0[i]) / scale4[i])) / h0;
|
|
12219
|
+
const h1 = d1 <= 1e-15 && d2 <= 1e-15 ? Math.max(1e-6, h0 * 1e-3) : Math.pow(0.01 / Math.max(d1, d2), 1 / (order + 1));
|
|
12220
|
+
return Math.min(100 * h0, h1, interval2, maxStep);
|
|
12221
|
+
}
|
|
12222
|
+
function _newtonTol(rtol) {
|
|
12223
|
+
return Math.max(10 * _EPS / rtol, Math.min(0.03, Math.sqrt(rtol)));
|
|
12224
|
+
}
|
|
12225
|
+
function _minStep(t) {
|
|
12226
|
+
return 10 * _EPS * Math.max(1, Math.abs(t));
|
|
12227
|
+
}
|
|
12228
|
+
function _matMul(A, B) {
|
|
12229
|
+
const m = A.length;
|
|
12230
|
+
const p = B[0].length;
|
|
12231
|
+
const q = B.length;
|
|
12232
|
+
const out = Array.from({ length: m }, () => new Array(p).fill(0));
|
|
12233
|
+
for (let i = 0; i < m; i++) {
|
|
12234
|
+
for (let k = 0; k < q; k++) {
|
|
12235
|
+
const aik = A[i][k];
|
|
12236
|
+
if (aik === 0) continue;
|
|
12237
|
+
for (let j = 0; j < p; j++) out[i][j] += aik * B[k][j];
|
|
12238
|
+
}
|
|
12239
|
+
}
|
|
12240
|
+
return out;
|
|
12241
|
+
}
|
|
12242
|
+
var BDF_MAX_ORDER = 5;
|
|
12243
|
+
var BDF_NEWTON_MAXITER = 4;
|
|
12244
|
+
var BDF_MIN_FACTOR = 0.2;
|
|
12245
|
+
var BDF_MAX_FACTOR = 10;
|
|
12246
|
+
var BDF_KAPPA = [0, -0.185, -1 / 9, -0.0823, -0.0415, 0];
|
|
12247
|
+
var BDF_GAMMA = (() => {
|
|
12248
|
+
const g = [0];
|
|
12249
|
+
let acc = 0;
|
|
12250
|
+
for (let i = 1; i <= BDF_MAX_ORDER; i++) {
|
|
12251
|
+
acc += 1 / i;
|
|
12252
|
+
g.push(acc);
|
|
12253
|
+
}
|
|
12254
|
+
return g;
|
|
12255
|
+
})();
|
|
12256
|
+
var BDF_ALPHA = BDF_KAPPA.map((k, i) => (1 - k) * BDF_GAMMA[i]);
|
|
12257
|
+
var BDF_ERROR_CONST = BDF_KAPPA.map((k, i) => k * BDF_GAMMA[i] + 1 / (i + 1));
|
|
12258
|
+
function _bdfComputeR(order, factor2) {
|
|
12259
|
+
const M = Array.from(
|
|
12260
|
+
{ length: order + 1 },
|
|
12261
|
+
() => new Array(order + 1).fill(0)
|
|
12262
|
+
);
|
|
12263
|
+
for (let j = 0; j <= order; j++) M[0][j] = 1;
|
|
12264
|
+
for (let i = 1; i <= order; i++) {
|
|
12265
|
+
for (let j = 1; j <= order; j++) M[i][j] = (i - 1 - factor2 * j) / i;
|
|
12266
|
+
}
|
|
12267
|
+
for (let j = 0; j <= order; j++) {
|
|
12268
|
+
for (let i = 1; i <= order; i++) M[i][j] *= M[i - 1][j];
|
|
12269
|
+
}
|
|
12270
|
+
return M;
|
|
12271
|
+
}
|
|
12272
|
+
function _bdfChangeD(D, order, factor2) {
|
|
12273
|
+
const R = _bdfComputeR(order, factor2);
|
|
12274
|
+
const U = _bdfComputeR(order, 1);
|
|
12275
|
+
const RU = _matMul(R, U);
|
|
12276
|
+
const n = D[0].length;
|
|
12277
|
+
const newTop = Array.from({ length: order + 1 }, () => new Array(n).fill(0));
|
|
12278
|
+
for (let i = 0; i <= order; i++) {
|
|
12279
|
+
for (let j = 0; j <= order; j++) {
|
|
12280
|
+
const c = RU[j][i];
|
|
12281
|
+
if (c === 0) continue;
|
|
12282
|
+
const Dj = D[j];
|
|
12283
|
+
const row2 = newTop[i];
|
|
12284
|
+
for (let k = 0; k < n; k++) row2[k] += c * Dj[k];
|
|
12285
|
+
}
|
|
12286
|
+
}
|
|
12287
|
+
for (let i = 0; i <= order; i++) D[i] = newTop[i];
|
|
12288
|
+
}
|
|
12289
|
+
function _bdfNewton(f, tNew, yPredict, c, psi, solveW, scale4, tol) {
|
|
12290
|
+
const n = yPredict.length;
|
|
12291
|
+
const d = new Array(n).fill(0);
|
|
12292
|
+
const y = yPredict.slice();
|
|
12293
|
+
let dyNormOld = null;
|
|
12294
|
+
let converged = false;
|
|
12295
|
+
let k = 0;
|
|
12296
|
+
for (; k < BDF_NEWTON_MAXITER; k++) {
|
|
12297
|
+
const fv = _fArr(f, tNew, y);
|
|
12298
|
+
if (!fv.every((v) => Number.isFinite(v))) break;
|
|
12299
|
+
const rhs = fv.map((v, i) => c * v - psi[i] - d[i]);
|
|
12300
|
+
const dy = solveW(rhs);
|
|
12301
|
+
const dyNorm = _rms(dy.map((v, i) => v / scale4[i]));
|
|
12302
|
+
const rate = dyNormOld === null ? null : dyNorm / dyNormOld;
|
|
12303
|
+
if (rate !== null && (rate >= 1 || Math.pow(rate, BDF_NEWTON_MAXITER - k) / (1 - rate) * dyNorm > tol)) {
|
|
12304
|
+
break;
|
|
12305
|
+
}
|
|
12306
|
+
for (let i = 0; i < n; i++) {
|
|
12307
|
+
y[i] += dy[i];
|
|
12308
|
+
d[i] += dy[i];
|
|
12309
|
+
}
|
|
12310
|
+
if (dyNorm === 0 || rate !== null && rate / (1 - rate) * dyNorm < tol) {
|
|
12311
|
+
converged = true;
|
|
12312
|
+
k++;
|
|
12313
|
+
break;
|
|
12314
|
+
}
|
|
12315
|
+
dyNormOld = dyNorm;
|
|
12316
|
+
}
|
|
12317
|
+
return { converged, nIter: k, y, d };
|
|
12318
|
+
}
|
|
12319
|
+
function bdfSolve(f, tspan, y0raw, options = {}) {
|
|
12320
|
+
const t0 = tspan[0];
|
|
12321
|
+
const tf = tspan[1];
|
|
12322
|
+
if (!(typeof t0 === "number" && typeof tf === "number")) {
|
|
12323
|
+
throw new Error('The "BDF" stiff method requires numeric tspan');
|
|
12324
|
+
}
|
|
12325
|
+
if (!y0raw.every((v) => typeof v === "number")) {
|
|
12326
|
+
throw new Error('The "BDF" stiff method requires plain-number state (y0)');
|
|
12327
|
+
}
|
|
12328
|
+
const y0 = y0raw;
|
|
12329
|
+
const n = y0.length;
|
|
12330
|
+
const dir = tf >= t0 ? 1 : -1;
|
|
12331
|
+
const rtol = options.tol ? options.tol : 1e-4;
|
|
12332
|
+
const atol = rtol * 1e-3;
|
|
12333
|
+
const maxIter = options.maxIter ? options.maxIter : 1e5;
|
|
12334
|
+
const maxStep = options.maxStep ?? Infinity;
|
|
12335
|
+
const newtonTol = _newtonTol(rtol);
|
|
12336
|
+
let t = t0;
|
|
12337
|
+
let y = y0.slice();
|
|
12338
|
+
const f0 = _fArr(f, t, y);
|
|
12339
|
+
let hAbs = options.firstStep ? Math.abs(options.firstStep) : _selectInitialStep(f, t0, y0, tf, maxStep, f0, dir, 1, rtol, atol);
|
|
12340
|
+
const D = Array.from(
|
|
12341
|
+
{ length: BDF_MAX_ORDER + 3 },
|
|
12342
|
+
() => new Array(n).fill(0)
|
|
12343
|
+
);
|
|
12344
|
+
D[0] = y.slice();
|
|
12345
|
+
D[1] = f0.map((v) => v * hAbs * dir);
|
|
12346
|
+
let order = 1;
|
|
12347
|
+
let nEqualSteps = 0;
|
|
12348
|
+
const tOut = [t];
|
|
12349
|
+
const yOut = [y.slice()];
|
|
12350
|
+
let iter = 0;
|
|
12351
|
+
while ((dir > 0 ? t < tf : t > tf) && iter < maxIter) {
|
|
12352
|
+
iter++;
|
|
12353
|
+
const minStep = _minStep(t);
|
|
12354
|
+
if (hAbs > maxStep) {
|
|
12355
|
+
_bdfChangeD(D, order, maxStep / hAbs);
|
|
12356
|
+
hAbs = maxStep;
|
|
12357
|
+
nEqualSteps = 0;
|
|
12358
|
+
} else if (hAbs < minStep) {
|
|
12359
|
+
_bdfChangeD(D, order, minStep / hAbs);
|
|
12360
|
+
hAbs = minStep;
|
|
12361
|
+
nEqualSteps = 0;
|
|
12362
|
+
}
|
|
12363
|
+
const F0 = _fArr(f, t, y);
|
|
12364
|
+
const J = _jacobianAt(f, t, y, F0, options);
|
|
12365
|
+
let stepAccepted = false;
|
|
12366
|
+
let yNew = y;
|
|
12367
|
+
let dVec = new Array(n).fill(0);
|
|
12368
|
+
let errorNorm = 0;
|
|
12369
|
+
let nIter = 1;
|
|
12370
|
+
let scale4 = new Array(n).fill(1);
|
|
12371
|
+
while (!stepAccepted) {
|
|
12372
|
+
if (hAbs < minStep) {
|
|
12373
|
+
throw new Error("Required step size is less than spacing between numbers (BDF)");
|
|
12374
|
+
}
|
|
12375
|
+
let h = hAbs * dir;
|
|
12376
|
+
let tNew = t + h;
|
|
12377
|
+
if (dir * (tNew - tf) > 0) {
|
|
12378
|
+
tNew = tf;
|
|
12379
|
+
_bdfChangeD(D, order, Math.abs(tNew - t) / hAbs);
|
|
12380
|
+
nEqualSteps = 0;
|
|
12381
|
+
}
|
|
12382
|
+
h = tNew - t;
|
|
12383
|
+
hAbs = Math.abs(h);
|
|
12384
|
+
const yPredict = new Array(n).fill(0);
|
|
12385
|
+
for (let j = 0; j <= order; j++) for (let k = 0; k < n; k++) yPredict[k] += D[j][k];
|
|
12386
|
+
scale4 = yPredict.map((v) => atol + rtol * Math.abs(v));
|
|
12387
|
+
const psi = new Array(n).fill(0);
|
|
12388
|
+
for (let k = 0; k < n; k++) {
|
|
12389
|
+
let s = 0;
|
|
12390
|
+
for (let j = 1; j <= order; j++) s += D[j][k] * BDF_GAMMA[j];
|
|
12391
|
+
psi[k] = s / BDF_ALPHA[order];
|
|
12392
|
+
}
|
|
12393
|
+
const c = h / BDF_ALPHA[order];
|
|
12394
|
+
const W = J.map((rowv, i) => rowv.map((v, j) => (i === j ? 1 : 0) - c * v));
|
|
12395
|
+
const solveW = _factorSolver(W, n);
|
|
12396
|
+
const res = _bdfNewton(f, tNew, yPredict, c, psi, solveW, scale4, newtonTol);
|
|
12397
|
+
if (!res.converged) {
|
|
12398
|
+
hAbs *= 0.5;
|
|
12399
|
+
_bdfChangeD(D, order, 0.5);
|
|
12400
|
+
nEqualSteps = 0;
|
|
12401
|
+
continue;
|
|
12402
|
+
}
|
|
12403
|
+
nIter = res.nIter;
|
|
12404
|
+
yNew = res.y;
|
|
12405
|
+
dVec = res.d;
|
|
12406
|
+
const safety2 = 0.9 * (2 * BDF_NEWTON_MAXITER + 1) / (2 * BDF_NEWTON_MAXITER + nIter);
|
|
12407
|
+
scale4 = yNew.map((v) => atol + rtol * Math.abs(v));
|
|
12408
|
+
errorNorm = _rms(dVec.map((v, i) => BDF_ERROR_CONST[order] * v / scale4[i]));
|
|
12409
|
+
if (errorNorm > 1) {
|
|
12410
|
+
const factor3 = Math.max(BDF_MIN_FACTOR, safety2 * Math.pow(errorNorm, -1 / (order + 1)));
|
|
12411
|
+
hAbs *= factor3;
|
|
12412
|
+
_bdfChangeD(D, order, factor3);
|
|
12413
|
+
nEqualSteps = 0;
|
|
12414
|
+
} else {
|
|
12415
|
+
stepAccepted = true;
|
|
12416
|
+
}
|
|
12417
|
+
if (stepAccepted) {
|
|
12418
|
+
t = tNew;
|
|
12419
|
+
y = yNew;
|
|
12420
|
+
tOut.push(t);
|
|
12421
|
+
yOut.push(y.slice());
|
|
12422
|
+
}
|
|
12423
|
+
}
|
|
12424
|
+
nEqualSteps++;
|
|
12425
|
+
const safety = 0.9 * (2 * BDF_NEWTON_MAXITER + 1) / (2 * BDF_NEWTON_MAXITER + nIter);
|
|
12426
|
+
for (let k = 0; k < n; k++) {
|
|
12427
|
+
D[order + 2][k] = dVec[k] - D[order + 1][k];
|
|
12428
|
+
D[order + 1][k] = dVec[k];
|
|
12429
|
+
}
|
|
12430
|
+
for (let i = order; i >= 0; i--) for (let k = 0; k < n; k++) D[i][k] += D[i + 1][k];
|
|
12431
|
+
if (nEqualSteps < order + 1) continue;
|
|
12432
|
+
const errM = order > 1 ? _rms(D[order].map((v, i) => BDF_ERROR_CONST[order - 1] * v / scale4[i])) : Infinity;
|
|
12433
|
+
const errP = order < BDF_MAX_ORDER ? _rms(D[order + 2].map((v, i) => BDF_ERROR_CONST[order + 1] * v / scale4[i])) : Infinity;
|
|
12434
|
+
const errNorms = [errM, errorNorm, errP];
|
|
12435
|
+
const factors = errNorms.map((e, i) => Math.pow(e, -1 / (order + i)));
|
|
12436
|
+
let best = 0;
|
|
12437
|
+
for (let i = 1; i < 3; i++) if (factors[i] > factors[best]) best = i;
|
|
12438
|
+
order += best - 1;
|
|
12439
|
+
const factor2 = Math.min(BDF_MAX_FACTOR, safety * factors[best]);
|
|
12440
|
+
hAbs *= factor2;
|
|
12441
|
+
_bdfChangeD(D, order, factor2);
|
|
12442
|
+
nEqualSteps = 0;
|
|
12443
|
+
}
|
|
12444
|
+
if (iter >= maxIter) {
|
|
12445
|
+
throw new Error("Maximum number of iterations reached, try changing options");
|
|
12446
|
+
}
|
|
12447
|
+
return { t: tOut, y: yOut };
|
|
12448
|
+
}
|
|
12449
|
+
var RADAU_NEWTON_MAXITER = 6;
|
|
12450
|
+
var RADAU_MIN_FACTOR = 0.2;
|
|
12451
|
+
var RADAU_MAX_FACTOR = 10;
|
|
12452
|
+
var _S6 = Math.sqrt(6);
|
|
12453
|
+
var RADAU_A = [
|
|
12454
|
+
[(88 - 7 * _S6) / 360, (296 - 169 * _S6) / 1800, (-2 + 3 * _S6) / 225],
|
|
12455
|
+
[(296 + 169 * _S6) / 1800, (88 + 7 * _S6) / 360, (-2 - 3 * _S6) / 225],
|
|
12456
|
+
[(16 - _S6) / 36, (16 + _S6) / 36, 1 / 9]
|
|
12457
|
+
];
|
|
12458
|
+
var RADAU_C = [(4 - _S6) / 10, (4 + _S6) / 10, 1];
|
|
12459
|
+
var RADAU_E = [(-13 - 7 * _S6) / 3, (-13 + 7 * _S6) / 3, -1 / 3];
|
|
12460
|
+
var RADAU_MU_REAL = 3 + Math.pow(3, 2 / 3) - Math.pow(3, 1 / 3);
|
|
12461
|
+
function _radauPredictFactor(hAbs, hAbsOld, errNorm, errNormOld) {
|
|
12462
|
+
const mult = errNormOld === null || hAbsOld === null || errNorm === 0 ? 1 : hAbs / hAbsOld * Math.pow(errNormOld / errNorm, 0.25);
|
|
12463
|
+
return Math.min(1, mult) * Math.pow(errNorm, -0.25);
|
|
12464
|
+
}
|
|
12465
|
+
function _radauNewton(f, t, y, h, J, scale4, tol) {
|
|
12466
|
+
const n = y.length;
|
|
12467
|
+
const Z = [
|
|
12468
|
+
new Array(n).fill(0),
|
|
12469
|
+
new Array(n).fill(0),
|
|
12470
|
+
new Array(n).fill(0)
|
|
12471
|
+
];
|
|
12472
|
+
const big = Array.from({ length: 3 * n }, () => new Array(3 * n).fill(0));
|
|
12473
|
+
for (let i = 0; i < 3; i++) {
|
|
12474
|
+
for (let k2 = 0; k2 < 3; k2++) {
|
|
12475
|
+
const a = h * RADAU_A[i][k2];
|
|
12476
|
+
for (let r = 0; r < n; r++) {
|
|
12477
|
+
for (let col = 0; col < n; col++) {
|
|
12478
|
+
big[i * n + r][k2 * n + col] = (i === k2 && r === col ? 1 : 0) - a * J[r][col];
|
|
12479
|
+
}
|
|
12480
|
+
}
|
|
12481
|
+
}
|
|
12482
|
+
}
|
|
12483
|
+
const solveBig = _factorSolver(big, 3 * n);
|
|
12484
|
+
let dWNormOld = null;
|
|
12485
|
+
let rate = 0;
|
|
12486
|
+
let converged = false;
|
|
12487
|
+
let k = 0;
|
|
12488
|
+
for (; k < RADAU_NEWTON_MAXITER; k++) {
|
|
12489
|
+
const F = [
|
|
12490
|
+
_fArr(
|
|
12491
|
+
f,
|
|
12492
|
+
t + RADAU_C[0] * h,
|
|
12493
|
+
y.map((yi, r) => yi + Z[0][r])
|
|
12494
|
+
),
|
|
12495
|
+
_fArr(
|
|
12496
|
+
f,
|
|
12497
|
+
t + RADAU_C[1] * h,
|
|
12498
|
+
y.map((yi, r) => yi + Z[1][r])
|
|
12499
|
+
),
|
|
12500
|
+
_fArr(
|
|
12501
|
+
f,
|
|
12502
|
+
t + RADAU_C[2] * h,
|
|
12503
|
+
y.map((yi, r) => yi + Z[2][r])
|
|
12504
|
+
)
|
|
12505
|
+
];
|
|
12506
|
+
if (!F.every((row2) => row2.every((v) => Number.isFinite(v)))) break;
|
|
12507
|
+
const rhs = new Array(3 * n).fill(0);
|
|
12508
|
+
for (let i = 0; i < 3; i++) {
|
|
12509
|
+
for (let r = 0; r < n; r++) {
|
|
12510
|
+
let acc = Z[i][r];
|
|
12511
|
+
for (let j = 0; j < 3; j++) acc -= h * RADAU_A[i][j] * F[j][r];
|
|
12512
|
+
rhs[i * n + r] = -acc;
|
|
12513
|
+
}
|
|
12514
|
+
}
|
|
12515
|
+
const dZ = solveBig(rhs);
|
|
12516
|
+
let sq = 0;
|
|
12517
|
+
for (let i = 0; i < 3; i++) for (let r = 0; r < n; r++) sq += (dZ[i * n + r] / scale4[r]) ** 2;
|
|
12518
|
+
const dWNorm = Math.sqrt(sq / (3 * n));
|
|
12519
|
+
if (dWNormOld !== null) rate = dWNorm / dWNormOld;
|
|
12520
|
+
if (dWNormOld !== null && (rate >= 1 || Math.pow(rate, RADAU_NEWTON_MAXITER - k) / (1 - rate) * dWNorm > tol)) {
|
|
12521
|
+
break;
|
|
12522
|
+
}
|
|
12523
|
+
for (let i = 0; i < 3; i++) for (let r = 0; r < n; r++) Z[i][r] += dZ[i * n + r];
|
|
12524
|
+
if (dWNorm === 0 || dWNormOld !== null && rate / (1 - rate) * dWNorm < tol) {
|
|
12525
|
+
converged = true;
|
|
12526
|
+
k++;
|
|
12527
|
+
break;
|
|
12528
|
+
}
|
|
12529
|
+
dWNormOld = dWNorm;
|
|
12530
|
+
}
|
|
12531
|
+
return { converged, nIter: k, Z, rate };
|
|
12532
|
+
}
|
|
12533
|
+
function radauSolve(f, tspan, y0raw, options = {}) {
|
|
12534
|
+
const t0 = tspan[0];
|
|
12535
|
+
const tf = tspan[1];
|
|
12536
|
+
if (!(typeof t0 === "number" && typeof tf === "number")) {
|
|
12537
|
+
throw new Error('The "Radau" stiff method requires numeric tspan');
|
|
12538
|
+
}
|
|
12539
|
+
if (!y0raw.every((v) => typeof v === "number")) {
|
|
12540
|
+
throw new Error('The "Radau" stiff method requires plain-number state (y0)');
|
|
12541
|
+
}
|
|
12542
|
+
const y0 = y0raw;
|
|
12543
|
+
const n = y0.length;
|
|
12544
|
+
const dir = tf >= t0 ? 1 : -1;
|
|
12545
|
+
const rtol = options.tol ? options.tol : 1e-4;
|
|
12546
|
+
const atol = rtol * 1e-3;
|
|
12547
|
+
const maxIter = options.maxIter ? options.maxIter : 1e5;
|
|
12548
|
+
const maxStep = options.maxStep ?? Infinity;
|
|
12549
|
+
const newtonTol = _newtonTol(rtol);
|
|
12550
|
+
let t = t0;
|
|
12551
|
+
let y = y0.slice();
|
|
12552
|
+
let hAbs = options.firstStep ? Math.abs(options.firstStep) : _selectInitialStep(f, t0, y0, tf, maxStep, _fArr(f, t, y), dir, 3, rtol, atol);
|
|
12553
|
+
let hAbsOld = null;
|
|
12554
|
+
let errNormOld = null;
|
|
12555
|
+
const tOut = [t];
|
|
12556
|
+
const yOut = [y.slice()];
|
|
12557
|
+
let iter = 0;
|
|
12558
|
+
while ((dir > 0 ? t < tf : t > tf) && iter < maxIter) {
|
|
12559
|
+
iter++;
|
|
12560
|
+
const minStep = _minStep(t);
|
|
12561
|
+
let hEntry;
|
|
12562
|
+
if (hAbs > maxStep) {
|
|
12563
|
+
hEntry = maxStep;
|
|
12564
|
+
hAbs = maxStep;
|
|
12565
|
+
hAbsOld = null;
|
|
12566
|
+
errNormOld = null;
|
|
12567
|
+
} else if (hAbs < minStep) {
|
|
12568
|
+
hEntry = minStep;
|
|
12569
|
+
hAbs = minStep;
|
|
12570
|
+
hAbsOld = null;
|
|
12571
|
+
errNormOld = null;
|
|
12572
|
+
} else {
|
|
12573
|
+
hEntry = hAbs;
|
|
12574
|
+
}
|
|
12575
|
+
const f0 = _fArr(f, t, y);
|
|
12576
|
+
const J = _jacobianAt(f, t, y, f0, options);
|
|
12577
|
+
let stepAccepted = false;
|
|
12578
|
+
let rejected = false;
|
|
12579
|
+
let yNew = y;
|
|
12580
|
+
let errNorm = 0;
|
|
12581
|
+
let nIter = 1;
|
|
12582
|
+
let tNew = t;
|
|
12583
|
+
while (!stepAccepted) {
|
|
12584
|
+
if (hAbs < minStep) {
|
|
12585
|
+
throw new Error("Required step size is less than spacing between numbers (Radau)");
|
|
12586
|
+
}
|
|
12587
|
+
let h = hAbs * dir;
|
|
12588
|
+
tNew = t + h;
|
|
12589
|
+
if (dir * (tNew - tf) > 0) tNew = tf;
|
|
12590
|
+
h = tNew - t;
|
|
12591
|
+
hAbs = Math.abs(h);
|
|
12592
|
+
const scale4 = y.map((yi) => atol + Math.abs(yi) * rtol);
|
|
12593
|
+
const res = _radauNewton(f, t, y, h, J, scale4, newtonTol);
|
|
12594
|
+
if (!res.converged) {
|
|
12595
|
+
hAbs *= 0.5;
|
|
12596
|
+
continue;
|
|
12597
|
+
}
|
|
12598
|
+
nIter = res.nIter;
|
|
12599
|
+
const Z = res.Z;
|
|
12600
|
+
yNew = y.map((yi, r) => yi + Z[2][r]);
|
|
12601
|
+
const ze = new Array(n).fill(0);
|
|
12602
|
+
for (let r = 0; r < n; r++) {
|
|
12603
|
+
ze[r] = f0[r] + (RADAU_E[0] * Z[0][r] + RADAU_E[1] * Z[1][r] + RADAU_E[2] * Z[2][r]) / h;
|
|
12604
|
+
}
|
|
12605
|
+
const Merr = J.map((rowv, i) => rowv.map((v, j) => (i === j ? RADAU_MU_REAL / h : 0) - v));
|
|
12606
|
+
const solveErr = _factorSolver(Merr, n);
|
|
12607
|
+
let error = solveErr(ze);
|
|
12608
|
+
const escale = y.map((yi, r) => atol + Math.max(Math.abs(yi), Math.abs(yNew[r])) * rtol);
|
|
12609
|
+
errNorm = _rms(error.map((v, r) => v / escale[r]));
|
|
12610
|
+
const safety2 = 0.9 * (2 * RADAU_NEWTON_MAXITER + 1) / (2 * RADAU_NEWTON_MAXITER + nIter);
|
|
12611
|
+
if (rejected && errNorm > 1) {
|
|
12612
|
+
const yErr = y.map((yi, r) => yi + error[r]);
|
|
12613
|
+
const fErr = _fArr(f, t, yErr);
|
|
12614
|
+
error = solveErr(fErr.map((v, r) => v + ze[r] - f0[r]));
|
|
12615
|
+
errNorm = _rms(error.map((v, r) => v / escale[r]));
|
|
12616
|
+
}
|
|
12617
|
+
if (errNorm > 1) {
|
|
12618
|
+
const factor3 = _radauPredictFactor(hAbs, hAbsOld, errNorm, errNormOld);
|
|
12619
|
+
hAbs *= Math.max(RADAU_MIN_FACTOR, safety2 * factor3);
|
|
12620
|
+
rejected = true;
|
|
12621
|
+
} else {
|
|
12622
|
+
stepAccepted = true;
|
|
12623
|
+
}
|
|
12624
|
+
}
|
|
12625
|
+
const safety = 0.9 * (2 * RADAU_NEWTON_MAXITER + 1) / (2 * RADAU_NEWTON_MAXITER + nIter);
|
|
12626
|
+
let factor2 = _radauPredictFactor(hAbs, hAbsOld, errNorm, errNormOld);
|
|
12627
|
+
factor2 = Math.min(RADAU_MAX_FACTOR, safety * factor2);
|
|
12628
|
+
if (factor2 < 1.2) factor2 = 1;
|
|
12629
|
+
hAbsOld = hEntry;
|
|
12630
|
+
errNormOld = errNorm;
|
|
12631
|
+
t = tNew;
|
|
12632
|
+
y = yNew;
|
|
12633
|
+
tOut.push(t);
|
|
12634
|
+
yOut.push(y.slice());
|
|
12635
|
+
hAbs *= factor2;
|
|
12636
|
+
}
|
|
12637
|
+
if (iter >= maxIter) {
|
|
12638
|
+
throw new Error("Maximum number of iterations reached, try changing options");
|
|
12639
|
+
}
|
|
12640
|
+
return { t: tOut, y: yOut };
|
|
12641
|
+
}
|
|
12202
12642
|
var createSolveODE = /* @__PURE__ */ factory(
|
|
12203
12643
|
name,
|
|
12204
12644
|
dependencies,
|
|
@@ -12505,7 +12945,9 @@ var createSolveODE = /* @__PURE__ */ factory(
|
|
|
12505
12945
|
RK23: _rk23,
|
|
12506
12946
|
RK45: _rk45,
|
|
12507
12947
|
ROSENBROCK: rosenbrockSolve,
|
|
12508
|
-
RODAS: rodasSolve
|
|
12948
|
+
RODAS: rodasSolve,
|
|
12949
|
+
BDF: bdfSolve,
|
|
12950
|
+
RADAU: radauSolve
|
|
12509
12951
|
};
|
|
12510
12952
|
if (method.toUpperCase() in methods) {
|
|
12511
12953
|
const methodOptions = { ...opt };
|
|
@@ -13415,9 +13857,84 @@ function powerfit(xs, ys) {
|
|
|
13415
13857
|
const lna = (sy - b * sx) / n;
|
|
13416
13858
|
return [Math.exp(lna), b];
|
|
13417
13859
|
}
|
|
13860
|
+
var _DP_C = [0, 1 / 5, 3 / 10, 4 / 5, 8 / 9, 1, 1];
|
|
13861
|
+
var _DP_A = [
|
|
13862
|
+
[],
|
|
13863
|
+
[1 / 5],
|
|
13864
|
+
[3 / 40, 9 / 40],
|
|
13865
|
+
[44 / 45, -56 / 15, 32 / 9],
|
|
13866
|
+
[19372 / 6561, -25360 / 2187, 64448 / 6561, -212 / 729],
|
|
13867
|
+
[9017 / 3168, -355 / 33, 46732 / 5247, 49 / 176, -5103 / 18656],
|
|
13868
|
+
[35 / 384, 0, 500 / 1113, 125 / 192, -2187 / 6784, 11 / 84]
|
|
13869
|
+
];
|
|
13870
|
+
var _DP_B = [35 / 384, 0, 500 / 1113, 125 / 192, -2187 / 6784, 11 / 84, 0];
|
|
13871
|
+
var _DP_BHAT = [5179 / 57600, 0, 7571 / 16695, 393 / 640, -92097 / 339200, 187 / 2100, 1 / 40];
|
|
13872
|
+
function _adaptiveRK45System(f, y0, tspan, tol, maxSteps) {
|
|
13873
|
+
const n = y0.length;
|
|
13874
|
+
const [t0, tf] = tspan;
|
|
13875
|
+
const dir = tf >= t0 ? 1 : -1;
|
|
13876
|
+
const rtol = tol;
|
|
13877
|
+
const atol = tol * 1e-3;
|
|
13878
|
+
const ts = [t0];
|
|
13879
|
+
const ys = [y0.slice()];
|
|
13880
|
+
let t = t0;
|
|
13881
|
+
let y = y0.slice();
|
|
13882
|
+
const f0 = f(t, y);
|
|
13883
|
+
const rms = (v) => {
|
|
13884
|
+
let s = 0;
|
|
13885
|
+
for (let i = 0; i < v.length; i++) s += v[i] * v[i];
|
|
13886
|
+
return Math.sqrt(s / v.length);
|
|
13887
|
+
};
|
|
13888
|
+
const d0 = rms(y);
|
|
13889
|
+
const d1 = rms(f0);
|
|
13890
|
+
let h = dir * Math.min(d0 < 1e-5 || d1 < 1e-5 ? 1e-6 : 0.01 * (d0 / d1), Math.abs(tf - t0));
|
|
13891
|
+
let steps = 0;
|
|
13892
|
+
while ((dir > 0 ? t < tf : t > tf) && steps < maxSteps) {
|
|
13893
|
+
steps++;
|
|
13894
|
+
if (Math.abs(h) > Math.abs(tf - t)) h = tf - t;
|
|
13895
|
+
const k = [f(t, y)];
|
|
13896
|
+
for (let s = 1; s < 7; s++) {
|
|
13897
|
+
const ys_ = y.slice();
|
|
13898
|
+
for (let j = 0; j < s; j++) {
|
|
13899
|
+
const aij = _DP_A[s][j];
|
|
13900
|
+
if (aij === 0) continue;
|
|
13901
|
+
for (let i = 0; i < n; i++) ys_[i] += h * aij * k[j][i];
|
|
13902
|
+
}
|
|
13903
|
+
k.push(f(t + _DP_C[s] * h, ys_));
|
|
13904
|
+
}
|
|
13905
|
+
const yNew = y.slice();
|
|
13906
|
+
let errNorm = 0;
|
|
13907
|
+
for (let i = 0; i < n; i++) {
|
|
13908
|
+
let sum5 = 0;
|
|
13909
|
+
let errI = 0;
|
|
13910
|
+
for (let s = 0; s < 7; s++) {
|
|
13911
|
+
sum5 += _DP_B[s] * k[s][i];
|
|
13912
|
+
errI += (_DP_B[s] - _DP_BHAT[s]) * k[s][i];
|
|
13913
|
+
}
|
|
13914
|
+
yNew[i] = y[i] + h * sum5;
|
|
13915
|
+
const sc = atol + rtol * Math.max(Math.abs(y[i]), Math.abs(yNew[i]));
|
|
13916
|
+
errNorm += (h * errI / sc) ** 2;
|
|
13917
|
+
}
|
|
13918
|
+
errNorm = Math.sqrt(errNorm / n);
|
|
13919
|
+
if (errNorm <= 1 || Math.abs(h) <= 1e-14 * Math.abs(t)) {
|
|
13920
|
+
t += h;
|
|
13921
|
+
y = yNew;
|
|
13922
|
+
ts.push(t);
|
|
13923
|
+
ys.push(y.slice());
|
|
13924
|
+
}
|
|
13925
|
+
h *= Math.min(5, Math.max(0.2, 0.9 * Math.pow(errNorm || 1e-10, -1 / 5)));
|
|
13926
|
+
}
|
|
13927
|
+
if (steps >= maxSteps) {
|
|
13928
|
+
throw new Error("Maximum number of steps reached in solveODESystem, try changing options");
|
|
13929
|
+
}
|
|
13930
|
+
return { t: ts, y: ys };
|
|
13931
|
+
}
|
|
13418
13932
|
function solveODESystem(f, y0, tspan, opts) {
|
|
13933
|
+
if (opts?.dt === void 0) {
|
|
13934
|
+
return _adaptiveRK45System(f, y0, tspan, opts?.tol ?? 1e-6, opts?.maxSteps ?? 1e5);
|
|
13935
|
+
}
|
|
13419
13936
|
const n = y0.length;
|
|
13420
|
-
const dt = opts
|
|
13937
|
+
const dt = opts.dt;
|
|
13421
13938
|
const nSteps = Math.ceil((tspan[1] - tspan[0]) / dt);
|
|
13422
13939
|
const h = (tspan[1] - tspan[0]) / nSteps;
|
|
13423
13940
|
const ts = [tspan[0]];
|
|
@@ -51373,6 +51890,15 @@ function cInv(a) {
|
|
|
51373
51890
|
const d = a.re * a.re + a.im * a.im;
|
|
51374
51891
|
return { re: a.re / d, im: -a.im / d };
|
|
51375
51892
|
}
|
|
51893
|
+
function cAdd3(a, b) {
|
|
51894
|
+
return { re: a.re + b.re, im: a.im + b.im };
|
|
51895
|
+
}
|
|
51896
|
+
function cDiv3(a, b) {
|
|
51897
|
+
return cMul3(a, cInv(b));
|
|
51898
|
+
}
|
|
51899
|
+
function cAbs2(a) {
|
|
51900
|
+
return Math.hypot(a.re, a.im);
|
|
51901
|
+
}
|
|
51376
51902
|
function cLog(a) {
|
|
51377
51903
|
return { re: 0.5 * Math.log(a.re * a.re + a.im * a.im), im: Math.atan2(a.im, a.re) };
|
|
51378
51904
|
}
|
|
@@ -51518,6 +52044,75 @@ function coulombF(L, eta, rho) {
|
|
|
51518
52044
|
}
|
|
51519
52045
|
return coulombC(L, eta) * Math.pow(rho, L + 1) * sum3;
|
|
51520
52046
|
}
|
|
52047
|
+
var CF_MAX_ITERS = 2e5;
|
|
52048
|
+
var CF_TOL = 1e-15;
|
|
52049
|
+
var CF_TINY = 1e-30;
|
|
52050
|
+
function coulombCF1(L, eta, rho) {
|
|
52051
|
+
const S = (l) => l / rho + eta / l;
|
|
52052
|
+
const R2 = (l) => 1 + eta * eta / (l * l);
|
|
52053
|
+
const T = (l) => S(l) + S(l + 1);
|
|
52054
|
+
const b0 = S(L + 1);
|
|
52055
|
+
let f = b0 !== 0 ? b0 : CF_TINY;
|
|
52056
|
+
let C = f;
|
|
52057
|
+
let D = 0;
|
|
52058
|
+
for (let n = 1; n <= CF_MAX_ITERS; n++) {
|
|
52059
|
+
const an = -R2(L + n);
|
|
52060
|
+
const bn = T(L + n);
|
|
52061
|
+
D = bn + an * D;
|
|
52062
|
+
if (Math.abs(D) < CF_TINY) D = CF_TINY;
|
|
52063
|
+
C = bn + an / C;
|
|
52064
|
+
if (Math.abs(C) < CF_TINY) C = CF_TINY;
|
|
52065
|
+
D = 1 / D;
|
|
52066
|
+
const delta = C * D;
|
|
52067
|
+
f *= delta;
|
|
52068
|
+
if (Math.abs(delta - 1) < CF_TOL) break;
|
|
52069
|
+
}
|
|
52070
|
+
return f;
|
|
52071
|
+
}
|
|
52072
|
+
function coulombCF2(L, eta, rho) {
|
|
52073
|
+
const a = { re: 1 + L, im: eta };
|
|
52074
|
+
const b = { re: -L, im: eta };
|
|
52075
|
+
const c = { re: 0, im: 1 - eta / rho };
|
|
52076
|
+
let f = { re: CF_TINY, im: 0 };
|
|
52077
|
+
let C = f;
|
|
52078
|
+
let D = { re: 0, im: 0 };
|
|
52079
|
+
for (let n = 1; n <= CF_MAX_ITERS; n++) {
|
|
52080
|
+
const an = cMul3({ re: a.re + (n - 1), im: a.im }, { re: b.re + (n - 1), im: b.im });
|
|
52081
|
+
const dn = { re: 2 * (rho - eta), im: 2 * n };
|
|
52082
|
+
D = cAdd3(dn, cMul3(an, D));
|
|
52083
|
+
if (cAbs2(D) < CF_TINY) D = { re: CF_TINY, im: 0 };
|
|
52084
|
+
C = cAdd3(dn, cDiv3(an, C));
|
|
52085
|
+
if (cAbs2(C) < CF_TINY) C = { re: CF_TINY, im: 0 };
|
|
52086
|
+
D = cInv(D);
|
|
52087
|
+
const delta = cMul3(C, D);
|
|
52088
|
+
f = cMul3(f, delta);
|
|
52089
|
+
if (cAbs2({ re: delta.re - 1, im: delta.im }) < CF_TOL) break;
|
|
52090
|
+
}
|
|
52091
|
+
const iOverRho = { re: 0, im: 1 / rho };
|
|
52092
|
+
return cAdd3(c, cMul3(iOverRho, f));
|
|
52093
|
+
}
|
|
52094
|
+
function coulombSteed(L, eta, rho) {
|
|
52095
|
+
if (rho <= 0) {
|
|
52096
|
+
throw new Error("coulombG: rho must be > 0 (G is singular at the origin)");
|
|
52097
|
+
}
|
|
52098
|
+
if (L < 0) {
|
|
52099
|
+
throw new Error("coulombG: L must be >= 0");
|
|
52100
|
+
}
|
|
52101
|
+
const sign3 = coulombF(L, eta, rho) >= 0 ? 1 : -1;
|
|
52102
|
+
const u = coulombCF1(L, eta, rho);
|
|
52103
|
+
const { re: p, im: q } = coulombCF2(L, eta, rho);
|
|
52104
|
+
const F = sign3 / Math.sqrt((u - p) * (u - p) / q + q);
|
|
52105
|
+
const Fp = u * F;
|
|
52106
|
+
const G = (u - p) * F / q;
|
|
52107
|
+
const Gp = (u * p - p * p - q * q) * F / q;
|
|
52108
|
+
return { F, Fp, G, Gp };
|
|
52109
|
+
}
|
|
52110
|
+
function coulombG(L, eta, rho) {
|
|
52111
|
+
return coulombSteed(L, eta, rho).G;
|
|
52112
|
+
}
|
|
52113
|
+
function coulombFG(L, eta, rho) {
|
|
52114
|
+
return coulombSteed(L, eta, rho);
|
|
52115
|
+
}
|
|
51521
52116
|
|
|
51522
52117
|
// src/graph/traversal-centrality.ts
|
|
51523
52118
|
function bfs(adj, start) {
|
|
@@ -52910,6 +53505,8 @@ export {
|
|
|
52910
53505
|
coulomb,
|
|
52911
53506
|
coulombConstant,
|
|
52912
53507
|
coulombF,
|
|
53508
|
+
coulombFG,
|
|
53509
|
+
coulombG,
|
|
52913
53510
|
count,
|
|
52914
53511
|
cov,
|
|
52915
53512
|
createUnit,
|
|
@@ -28,7 +28,7 @@ type ODEEvents = EventFunction | EventSpec | Array<EventFunction | EventSpec>;
|
|
|
28
28
|
* Options for ODE solver
|
|
29
29
|
*/
|
|
30
30
|
interface ODEOptions {
|
|
31
|
-
method?: 'RK23' | 'RK45' | 'Rosenbrock' | 'RODAS';
|
|
31
|
+
method?: 'RK23' | 'RK45' | 'Rosenbrock' | 'RODAS' | 'BDF' | 'Radau';
|
|
32
32
|
tol?: number;
|
|
33
33
|
firstStep?: number | Unit;
|
|
34
34
|
minStep?: number | Unit;
|
|
@@ -90,6 +90,31 @@ export declare function rodasSolve(f: ForcingFunction, tspan: unknown[], y0raw:
|
|
|
90
90
|
t: number[];
|
|
91
91
|
y: number[][];
|
|
92
92
|
};
|
|
93
|
+
/**
|
|
94
|
+
* BDF variable-order (1–5) variable-step stiff solver — scipy's default `method='BDF'`. Adaptive
|
|
95
|
+
* local-error control drives step size and order (1–5) automatically; Newton iteration on the
|
|
96
|
+
* implicit BDF formula reuses the shared Jacobian machinery and the `(I − c·J)` dense LU solve
|
|
97
|
+
* (`_factorSolver`) the Rosenbrock/RODAS paths use. Plain-number state only.
|
|
98
|
+
*
|
|
99
|
+
* Module-level for the same reason as `rosenbrockSolve`/`rodasSolve`: a pure-numeric engine with no
|
|
100
|
+
* factory-scope dependency, routed from `createSolveODE`'s `BDF` method branch.
|
|
101
|
+
*/
|
|
102
|
+
export declare function bdfSolve(f: ForcingFunction, tspan: unknown[], y0raw: unknown[], options?: ODEOptions): {
|
|
103
|
+
t: number[];
|
|
104
|
+
y: number[][];
|
|
105
|
+
};
|
|
106
|
+
/**
|
|
107
|
+
* Radau IIA (order-5, L-stable) stiff solver — scipy's `method='Radau'`. Simplified-Newton on the
|
|
108
|
+
* real 3n×3n collocation system per step (Jacobian analytic via `options.jac` or finite-differenced,
|
|
109
|
+
* reused across the step's Newton iterations), third-order embedded error estimate for adaptive
|
|
110
|
+
* stepping. Plain-number state only.
|
|
111
|
+
*
|
|
112
|
+
* Module-level for the same reason as `rosenbrockSolve`/`rodasSolve`/`bdfSolve`.
|
|
113
|
+
*/
|
|
114
|
+
export declare function radauSolve(f: ForcingFunction, tspan: unknown[], y0raw: unknown[], options?: ODEOptions): {
|
|
115
|
+
t: number[];
|
|
116
|
+
y: number[][];
|
|
117
|
+
};
|
|
93
118
|
export declare const createSolveODE: import("../utils/factory.js").FactoryFunction<any, any>;
|
|
94
119
|
export {};
|
|
95
120
|
//# sourceMappingURL=solveODE.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"solveODE.d.ts","sourceRoot":"","sources":["../../src/numeric/solveODE.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,eAAe,EAAE,SAAS,EAAU,IAAI,EAAa,MAAM,aAAa,CAAC;AAkCvF;;;;;;;;;;;GAWG;AACH,UAAU,aAAa;IACrB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC;IACjC,QAAQ,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,4FAA4F;AAC5F,UAAU,SAAS;IACjB,KAAK,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,MAAM,CAAC;IAC1C,QAAQ,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,yEAAyE;AACzE,KAAK,SAAS,GAAG,aAAa,GAAG,SAAS,GAAG,KAAK,CAAC,aAAa,GAAG,SAAS,CAAC,CAAC;AAS9E;;GAEG;AACH,UAAU,UAAU;IAClB,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,YAAY,GAAG,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"solveODE.d.ts","sourceRoot":"","sources":["../../src/numeric/solveODE.ts"],"names":[],"mappings":"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"}
|
|
@@ -100,9 +100,8 @@ export declare function parabolicCylinderD(nu: f64, x: f64): f64;
|
|
|
100
100
|
*
|
|
101
101
|
* The series is entire in ρ, so this converges for all ρ ≥ 0 (accuracy is best
|
|
102
102
|
* for small-to-moderate ρ before large-argument cancellation sets in). The
|
|
103
|
-
* *irregular* companion G_L is
|
|
104
|
-
*
|
|
105
|
-
* module test and CHANGELOG for the surfaced design).
|
|
103
|
+
* *irregular* companion G_L is provided by {@link coulombG} / {@link coulombFG}
|
|
104
|
+
* via Steed's continued-fraction method.
|
|
106
105
|
*
|
|
107
106
|
* Verified against `mpmath.coulombf` (dps=30) to relative error < 1e-6 (in
|
|
108
107
|
* practice < 1e-9 away from zeros) for L ∈ {0,1,2,3}, |η| ≤ 5, ρ ≤ 10.
|
|
@@ -119,5 +118,62 @@ export declare function parabolicCylinderD(nu: f64, x: f64): f64;
|
|
|
119
118
|
* coulombF(0, 0, 1) // ~0.8414709848 (= sin 1)
|
|
120
119
|
*/
|
|
121
120
|
export declare function coulombF(L: f64, eta: f64, rho: f64): f64;
|
|
121
|
+
/** The four Coulomb radial functions at a point: F, F′, G, G′. */
|
|
122
|
+
export interface CoulombFG {
|
|
123
|
+
/** Regular function F_L(η, ρ). */
|
|
124
|
+
F: f64;
|
|
125
|
+
/** Derivative F′_L(η, ρ) = dF/dρ. */
|
|
126
|
+
Fp: f64;
|
|
127
|
+
/** Irregular function G_L(η, ρ). */
|
|
128
|
+
G: f64;
|
|
129
|
+
/** Derivative G′_L(η, ρ) = dG/dρ. */
|
|
130
|
+
Gp: f64;
|
|
131
|
+
}
|
|
132
|
+
/**
|
|
133
|
+
* Irregular Coulomb wave function G_L(η, ρ), the second (non-oscillatory-at-
|
|
134
|
+
* origin) solution of the Coulomb radial equation, computed by Steed's
|
|
135
|
+
* continued-fraction method (Barnett 1982): CF1 for F′/F (DLMF 33.8.1), CF2 for
|
|
136
|
+
* (G′+iF′)/(G+iF) (DLMF 33.8.2), then Steed recovery via the Wronskian
|
|
137
|
+
* F′G − FG′ = 1 (DLMF 33.8.4–33.8.5). The sign of the regular solution is taken
|
|
138
|
+
* from {@link coulombF}.
|
|
139
|
+
*
|
|
140
|
+
* Special case: G_0(0, ρ) = cos ρ.
|
|
141
|
+
*
|
|
142
|
+
* **Validated domain** (vs `mpmath.coulombg`, dps=30): for the turning point
|
|
143
|
+
* ρ_tp = η + √(η² + L(L+1)), accuracy is ~1e-12 at and above ρ_tp and stays
|
|
144
|
+
* below 1e-6 down to ρ ≈ 0.15·ρ_tp. CF2 degrades *far* below the turning point:
|
|
145
|
+
* for large positive η with ρ ≪ ρ_tp (e.g. η = 5, ρ ≤ 1) the relative error
|
|
146
|
+
* grows (up to ~1e-1 at L = 3, η = 5, ρ = 0.5). This is the well-known limit of
|
|
147
|
+
* Steed's method deep in the classically-forbidden region; such points are
|
|
148
|
+
* outside the validated domain. Verified to relative error < 1e-6 (in practice
|
|
149
|
+
* ≤ 3e-10) for L ∈ {0,1,2,3}, |η| ≤ 5, ρ ∈ {0.5,…,20} excluding that corner.
|
|
150
|
+
*
|
|
151
|
+
* @param L - Orbital angular momentum (real, `L >= 0`)
|
|
152
|
+
* @param eta - Sommerfeld parameter (real)
|
|
153
|
+
* @param rho - Radial variable (real, `rho > 0`)
|
|
154
|
+
* @returns G_L(η, ρ)
|
|
155
|
+
* @throws {Error} If `rho <= 0` or `L < 0`
|
|
156
|
+
*
|
|
157
|
+
* @example
|
|
158
|
+
* coulombG(0, 0, 1) // ~0.5403023059 (= cos 1)
|
|
159
|
+
*/
|
|
160
|
+
export declare function coulombG(L: f64, eta: f64, rho: f64): f64;
|
|
161
|
+
/**
|
|
162
|
+
* Both Coulomb wave functions and their derivatives at a point, returned
|
|
163
|
+
* together: `{ F, Fp, G, Gp }` = {F_L, F′_L, G_L, G′_L}(η, ρ). Computed by
|
|
164
|
+
* Steed's method in a single pass (see {@link coulombG}); the four values
|
|
165
|
+
* satisfy the Wronskian F′G − FG′ = 1 to machine precision by construction.
|
|
166
|
+
* The same validated domain as {@link coulombG} applies.
|
|
167
|
+
*
|
|
168
|
+
* @param L - Orbital angular momentum (real, `L >= 0`)
|
|
169
|
+
* @param eta - Sommerfeld parameter (real)
|
|
170
|
+
* @param rho - Radial variable (real, `rho > 0`)
|
|
171
|
+
* @returns `{ F, Fp, G, Gp }`
|
|
172
|
+
* @throws {Error} If `rho <= 0` or `L < 0`
|
|
173
|
+
*
|
|
174
|
+
* @example
|
|
175
|
+
* coulombFG(0, 0, 1) // { F: sin 1, Fp: cos 1, G: cos 1, Gp: -sin 1 }
|
|
176
|
+
*/
|
|
177
|
+
export declare function coulombFG(L: f64, eta: f64, rho: f64): CoulombFG;
|
|
122
178
|
export {};
|
|
123
179
|
//# sourceMappingURL=wave-functions.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wave-functions.d.ts","sourceRoot":"","sources":["../../src/special/wave-functions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAKH,0CAA0C;AAC1C,KAAK,GAAG,GAAG,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"wave-functions.d.ts","sourceRoot":"","sources":["../../src/special/wave-functions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAKH,0CAA0C;AAC1C,KAAK,GAAG,GAAG,MAAM,CAAC;AAsJlB;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,OAAO,CAAC,CAAC,EAAE,GAAG,GAAG,GAAG,CAKnC;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAAE,GAAG,GAAG,GAAG,CAE1C;AASD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,QAAQ,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,GAAG,GAAG,CAiBpD;AAcD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,GAAG,GAAG,CASvD;AAuBD;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,QAAQ,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,GAAG,CAyBxD;AAiFD,kEAAkE;AAClE,MAAM,WAAW,SAAS;IACxB,kCAAkC;IAClC,CAAC,EAAE,GAAG,CAAC;IACP,qCAAqC;IACrC,EAAE,EAAE,GAAG,CAAC;IACR,oCAAoC;IACpC,CAAC,EAAE,GAAG,CAAC;IACP,qCAAqC;IACrC,EAAE,EAAE,GAAG,CAAC;CACT;AA6BD;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,wBAAgB,QAAQ,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,GAAG,CAExD;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,SAAS,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,SAAS,CAE/D"}
|
package/dist/typed/numeric.d.ts
CHANGED
|
@@ -233,12 +233,18 @@ export interface ODESolution {
|
|
|
233
233
|
y: number[][];
|
|
234
234
|
}
|
|
235
235
|
/**
|
|
236
|
-
* Solve a system of ODEs dy/dt = f(t, y)
|
|
236
|
+
* Solve a system of ODEs dy/dt = f(t, y).
|
|
237
|
+
*
|
|
238
|
+
* By default (no `dt`) it uses **adaptive** embedded RK45 (Dormand-Prince) with local-error control
|
|
239
|
+
* — the step size is chosen automatically to keep the scaled RMS error under `tol`. Passing an
|
|
240
|
+
* explicit `dt` selects the legacy **fixed-step** RK4 integrator instead (unchanged, for callers
|
|
241
|
+
* that want a prescribed step, e.g. the BVP shooting driver).
|
|
237
242
|
*
|
|
238
243
|
* @param f - System function (t, y) => dy/dt
|
|
239
244
|
* @param y0 - Initial state vector
|
|
240
245
|
* @param tspan - [t0, tf] time span
|
|
241
|
-
* @param opts - Options (
|
|
246
|
+
* @param opts - Options: `tol` (adaptive local-error tolerance, default 1e-6), `maxSteps` (step
|
|
247
|
+
* cap), `dt` (fixed step — selects the legacy fixed-step RK4 path)
|
|
242
248
|
* @returns Solution { t, y }
|
|
243
249
|
*/
|
|
244
250
|
export declare function solveODESystem(f: (t: f64, y: number[]) => number[], y0: number[], tspan: [f64, f64], opts?: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"numeric.d.ts","sourceRoot":"","sources":["../../src/typed/numeric.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"numeric.d.ts","sourceRoot":"","sources":["../../src/typed/numeric.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED