universal-physics-tensor 0.4.6 → 0.5.1
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/bridges/equations/be-37-shapiro-delay.d.ts.map +1 -1
- package/dist/bridges/equations/be-37-shapiro-delay.js +7 -9
- package/dist/bridges/equations/be-37-shapiro-delay.js.map +1 -1
- package/dist/bridges/gravitational-lensing.d.ts +13 -2
- package/dist/bridges/gravitational-lensing.d.ts.map +1 -1
- package/dist/bridges/gravitational-lensing.js +17 -6
- package/dist/bridges/gravitational-lensing.js.map +1 -1
- package/dist/bridges/perihelion-precession.d.ts +18 -3
- package/dist/bridges/perihelion-precession.d.ts.map +1 -1
- package/dist/bridges/perihelion-precession.js +22 -8
- package/dist/bridges/perihelion-precession.js.map +1 -1
- package/dist/core/constants.d.ts +50 -0
- package/dist/core/constants.d.ts.map +1 -0
- package/dist/core/constants.js +50 -0
- package/dist/core/constants.js.map +1 -0
- package/dist/dimensional/connection-validators.d.ts +60 -2
- package/dist/dimensional/connection-validators.d.ts.map +1 -1
- package/dist/dimensional/connection-validators.js +76 -2
- package/dist/dimensional/connection-validators.js.map +1 -1
- package/dist/dimensional/curvature.d.ts +361 -0
- package/dist/dimensional/curvature.d.ts.map +1 -0
- package/dist/dimensional/curvature.js +299 -0
- package/dist/dimensional/curvature.js.map +1 -0
- package/dist/dimensional/validator.d.ts +5 -3
- package/dist/dimensional/validator.d.ts.map +1 -1
- package/dist/dimensional/validator.js +58 -1
- package/dist/dimensional/validator.js.map +1 -1
- package/dist/index.d.ts +9 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +23 -1
- package/dist/index.js.map +1 -1
- package/dist/numerical/be37-covariant-eikonal.d.ts +112 -39
- package/dist/numerical/be37-covariant-eikonal.d.ts.map +1 -1
- package/dist/numerical/be37-covariant-eikonal.js +219 -40
- package/dist/numerical/be37-covariant-eikonal.js.map +1 -1
- package/dist/numerical/curvature-lowering-helpers.d.ts +189 -0
- package/dist/numerical/curvature-lowering-helpers.d.ts.map +1 -0
- package/dist/numerical/curvature-lowering-helpers.js +412 -0
- package/dist/numerical/curvature-lowering-helpers.js.map +1 -0
- package/dist/numerical/engine-registry.js +4 -4
- package/dist/numerical/engine-registry.js.map +1 -1
- package/dist/numerical/errors.d.ts +16 -0
- package/dist/numerical/errors.d.ts.map +1 -1
- package/dist/numerical/errors.js +20 -0
- package/dist/numerical/errors.js.map +1 -1
- package/dist/numerical/gl4-integrator.d.ts +213 -0
- package/dist/numerical/gl4-integrator.d.ts.map +1 -0
- package/dist/numerical/gl4-integrator.js +307 -0
- package/dist/numerical/gl4-integrator.js.map +1 -0
- package/dist/numerical/index.d.ts +8 -0
- package/dist/numerical/index.d.ts.map +1 -1
- package/dist/numerical/index.js +4 -0
- package/dist/numerical/index.js.map +1 -1
- package/dist/numerical/lowering.d.ts.map +1 -1
- package/dist/numerical/lowering.js +180 -3
- package/dist/numerical/lowering.js.map +1 -1
- package/dist/numerical/mathts-engine.js +8 -8
- package/dist/numerical/mathts-engine.js.map +1 -1
- package/dist/numerical/metric-inverse.d.ts.map +1 -1
- package/dist/numerical/metric-inverse.js +28 -0
- package/dist/numerical/metric-inverse.js.map +1 -1
- package/dist/numerical/null-ray-integrator.d.ts.map +1 -1
- package/dist/numerical/null-ray-integrator.js +6 -3
- package/dist/numerical/null-ray-integrator.js.map +1 -1
- package/dist/numerical/pderiv.d.ts +27 -3
- package/dist/numerical/pderiv.d.ts.map +1 -1
- package/dist/numerical/pderiv.js +44 -12
- package/dist/numerical/pderiv.js.map +1 -1
- package/dist/numerical/perihelion-finder.d.ts +111 -0
- package/dist/numerical/perihelion-finder.d.ts.map +1 -0
- package/dist/numerical/perihelion-finder.js +288 -0
- package/dist/numerical/perihelion-finder.js.map +1 -0
- package/package.json +1 -1
|
@@ -16,6 +16,18 @@ import { pderivGrid, pderivNumericalFn, pderivSymbolic } from './pderiv.js';
|
|
|
16
16
|
import { validateMetricTensor, validateKroneckerDelta, validatePartialDerivative, } from '../dimensional/metric-validators.js';
|
|
17
17
|
import { NumericalBackendError } from './errors.js';
|
|
18
18
|
import { zeroTensor, zeroTensorLike, flatToNested, flattenNA, tensorAdd, tensorAddScaled, computeChristoffelTensor, contractChristoffelWithOperand, getMetricDerivFlat, } from './connection-lowering-helpers.js';
|
|
19
|
+
import { christoffelAt, dGammaAt, buildRiemann, bianchiResidualAt, contractRiemannJS, } from './curvature-lowering-helpers.js';
|
|
20
|
+
/**
|
|
21
|
+
* v0.5.1 TS-2: module-private type predicate for the `metric-tensor`
|
|
22
|
+
* AST kind. Replaces the duplicated `(n as { kind?: unknown }).kind ===
|
|
23
|
+
* 'metric-tensor'` cast pattern that appeared at the covariant-derivative
|
|
24
|
+
* lowering site; TypeScript narrows `covNode.gLower` to `MetricTensorNode`
|
|
25
|
+
* after the predicate, removing the follow-up `as MetricTensorNode` cast.
|
|
26
|
+
*/
|
|
27
|
+
function isMetricTensorNode(n) {
|
|
28
|
+
return typeof n === 'object' && n !== null
|
|
29
|
+
&& n.kind === 'metric-tensor';
|
|
30
|
+
}
|
|
19
31
|
function isContractable(node) {
|
|
20
32
|
return node.kind === 'tensor-symbol'
|
|
21
33
|
|| node.kind === 'metric-tensor'
|
|
@@ -367,8 +379,10 @@ export function lowerNode(node, inputs, engine) {
|
|
|
367
379
|
const N = dimensionOf(inputs);
|
|
368
380
|
// TS-2 runtime guard: gLower must be a metric-tensor node (validated
|
|
369
381
|
// upstream). A malformed AST bypassing validate() could reach here with
|
|
370
|
-
// a wrong kind, causing a silent wrong-path execution.
|
|
371
|
-
|
|
382
|
+
// a wrong kind, causing a silent wrong-path execution. The type
|
|
383
|
+
// predicate narrows covNode.gLower to MetricTensorNode for the rest of
|
|
384
|
+
// this branch — no follow-up cast needed.
|
|
385
|
+
if (!isMetricTensorNode(covNode.gLower)) {
|
|
372
386
|
throw new NumericalBackendError(`lowering: CovariantDerivativeNode.gLower must be a metric-tensor node ` +
|
|
373
387
|
`(got kind='${covNode.gLower.kind}')`);
|
|
374
388
|
}
|
|
@@ -426,7 +440,10 @@ export function lowerNode(node, inputs, engine) {
|
|
|
426
440
|
if (ofFreeIndices.length === 0) {
|
|
427
441
|
return partial;
|
|
428
442
|
}
|
|
429
|
-
// Get metric and inverse metric data.
|
|
443
|
+
// Get metric and inverse metric data. gLower is already narrowed to
|
|
444
|
+
// MetricTensorNode by the isMetricTensorNode guard above (TS-2);
|
|
445
|
+
// gInverse retains its existing cast because no analogous predicate
|
|
446
|
+
// exists for the inverse-metric kind yet.
|
|
430
447
|
const gLowerNode = covNode.gLower;
|
|
431
448
|
const gInverseNode = covNode.gInverse;
|
|
432
449
|
const gInverseData = flattenNestedArray(requireValue(gInverseNode.name, inputs), N * N);
|
|
@@ -457,6 +474,166 @@ export function lowerNode(node, inputs, engine) {
|
|
|
457
474
|
case 'derivative':
|
|
458
475
|
throw new NumericalBackendError(`lowering: '${node.kind}' is not numerically evaluated in v0.3.5 — `
|
|
459
476
|
+ 'use tensor-partial-derivative for differentiation');
|
|
477
|
+
case 'ricci-tensor': {
|
|
478
|
+
// v0.5.0 Task 7 — Ricci R_μν = R^λ_{μλν} (Carroll Eq. 3.91). Lowers
|
|
479
|
+
// the embedded Riemann tensor via the 'riemann-tensor' case (so all
|
|
480
|
+
// FD machinery is shared), then contracts upper-ρ with the SECOND
|
|
481
|
+
// lower slot (the μ slot of R^ρ_σμν — i.e., axis index 2 in the
|
|
482
|
+
// [ρ, σ, μ, ν] storage) by summing R[λ][σ][λ][ν] over λ. The
|
|
483
|
+
// surviving free axes are lowerIndices[0] (the σ slot, becoming
|
|
484
|
+
// Ricci's first free index μ_out) and lowerIndices[2] (the ν slot,
|
|
485
|
+
// becoming Ricci's second free index ν_out).
|
|
486
|
+
//
|
|
487
|
+
// Convention note (deviates from the Task 7 prompt's stated S1 rule
|
|
488
|
+
// but agrees with Carroll Eq. 3.91 and the constant-curvature
|
|
489
|
+
// identity R_μν = (n-1)·K·g_μν → R = 4Λ for de Sitter in n=4): the
|
|
490
|
+
// prompt's "contract upper↔lowerIndices[0] (σ)" trace is the
|
|
491
|
+
// first-pair antisymmetric trace `R^λ_λμν`, which is identically
|
|
492
|
+
// zero for the (lowered) Riemann's first-pair antisymmetry — it
|
|
493
|
+
// would zero out the de-Sitter Ricci scalar, contradicting both the
|
|
494
|
+
// closed-form fixture and the test target R_scalar = 4Λ. The
|
|
495
|
+
// mathematically correct contraction that satisfies the de-Sitter
|
|
496
|
+
// test target is upper↔lowerIndices[1] (the middle/μ slot),
|
|
497
|
+
// matching Carroll Eq. 3.91 verbatim.
|
|
498
|
+
//
|
|
499
|
+
// No new AST primitive in the contraction: the inner Riemann
|
|
500
|
+
// returns an [N,N,N,N] EngineTensor; we materialise it via
|
|
501
|
+
// engine.toNested, contract on the JS side, and lift back via
|
|
502
|
+
// engine.fromNested. (Mirrors the philosophy of Task 6: walk the
|
|
503
|
+
// composite node directly, no rewrite into a tensor-product.)
|
|
504
|
+
const ricciNode = node;
|
|
505
|
+
const N = dimensionOf(inputs);
|
|
506
|
+
const innerR = lowerNode(ricciNode.riemann, inputs, engine);
|
|
507
|
+
const flatR = flattenNestedArray(engine.toNested(innerR), N * N * N * N);
|
|
508
|
+
// Contract R[λ][μ_out][λ][ν_out] → Ricci[μ_out][ν_out] via the shared
|
|
509
|
+
// `contractRiemannJS` helper (AS-1, v0.5.1). On R^ρ_{σμν} stored as
|
|
510
|
+
// R[ρ][σ][μ][ν], the Carroll Eq. 3.91 contraction is upperAxis=0 (ρ)
|
|
511
|
+
// against lowerAxis=2 (μ); free outputs are axes [1, 3] = (σ, ν).
|
|
512
|
+
const ricci2d = contractRiemannJS(flatR, N, {
|
|
513
|
+
upperAxis: 0, lowerAxis: 2, outAxes: [1, 3],
|
|
514
|
+
});
|
|
515
|
+
return engine.fromNested(ricci2d, [N, N]);
|
|
516
|
+
}
|
|
517
|
+
case 'einstein-tensor': {
|
|
518
|
+
// v0.5.0 Task 8 — Einstein G_μν = R_μν − ½ R g_μν.
|
|
519
|
+
//
|
|
520
|
+
// Lowers in three steps and folds them on the JS side (same
|
|
521
|
+
// walk-directly philosophy as ricci-tensor — no AST rewrite into a
|
|
522
|
+
// 'op'/'-' tree with a tensor-valued scalar-multiply, which the
|
|
523
|
+
// v0.3.5 tensor-product einsum does not natively support):
|
|
524
|
+
//
|
|
525
|
+
// 1. Lower the inner ricci-tensor → R_μν (4×4 number[][])
|
|
526
|
+
// 2. Look up g_μν and g^μν from inputs.tensors (constant raw values
|
|
527
|
+
// at the coordinate point — same pattern as the riemann-tensor
|
|
528
|
+
// case uses for `xCoord` / inputs.fields).
|
|
529
|
+
// 3. Compute scalar R = Σ_{μν} g^{μν} R_{μν} on the JS side.
|
|
530
|
+
// 4. Form G_{μν} = R_{μν} − ½ R · g_{μν} elementwise.
|
|
531
|
+
//
|
|
532
|
+
// Trace identity g^μν G_μν = −R is preserved EXACTLY in the
|
|
533
|
+
// arithmetic (modulo cancellation noise) because both R and the
|
|
534
|
+
// ½ R g_μν trace term are constructed from the same `Ric` and `g`
|
|
535
|
+
// matrices — the test pins this to machine precision.
|
|
536
|
+
const eNode = node;
|
|
537
|
+
const N = dimensionOf(inputs);
|
|
538
|
+
// Step 1: inner Ricci R_μν via the ricci-tensor case (which itself
|
|
539
|
+
// walks the riemann-tensor case for ∂Γ etc).
|
|
540
|
+
const ricciNodeInner = {
|
|
541
|
+
kind: 'ricci-tensor', riemann: eNode.riemann,
|
|
542
|
+
};
|
|
543
|
+
const innerR = lowerNode(ricciNodeInner, inputs, engine);
|
|
544
|
+
const Ric = engine.toNested(innerR);
|
|
545
|
+
// Step 2: g_μν and g^μν from inputs.tensors (raw constant matrices at
|
|
546
|
+
// the test coordinate point). Mirrors how ricci-tensor's de-Sitter
|
|
547
|
+
// closed-form test sources its metrics.
|
|
548
|
+
const gFlat = flattenNestedArray(requireValue(eNode.gLower.name, inputs), N * N);
|
|
549
|
+
const gInvFlat = flattenNestedArray(requireValue(eNode.gInverse.name, inputs), N * N);
|
|
550
|
+
// Step 3: scalar R = Σ g^{μν} R_{μν}.
|
|
551
|
+
let Rscalar = 0;
|
|
552
|
+
for (let mu = 0; mu < N; mu++) {
|
|
553
|
+
for (let nu = 0; nu < N; nu++) {
|
|
554
|
+
Rscalar += gInvFlat[mu * N + nu] * Ric[mu][nu];
|
|
555
|
+
}
|
|
556
|
+
}
|
|
557
|
+
// Step 4: G_{μν} = R_{μν} − ½ R · g_{μν}.
|
|
558
|
+
const G = Array.from({ length: N }, () => new Array(N).fill(0));
|
|
559
|
+
const halfR = 0.5 * Rscalar;
|
|
560
|
+
for (let mu = 0; mu < N; mu++) {
|
|
561
|
+
for (let nu = 0; nu < N; nu++) {
|
|
562
|
+
G[mu][nu] = Ric[mu][nu] - halfR * gFlat[mu * N + nu];
|
|
563
|
+
}
|
|
564
|
+
}
|
|
565
|
+
return engine.fromNested(G, [N, N]);
|
|
566
|
+
}
|
|
567
|
+
case 'bianchi-residual': {
|
|
568
|
+
// v0.5.0 Task 9 — Bianchi-identity residual B_{λμνρσ}.
|
|
569
|
+
//
|
|
570
|
+
// Approach 1 (full ∇, not raw ∂): cyclic sum
|
|
571
|
+
// B_{λμνρσ} = ∇_λ R_{μνρσ} + ∇_μ R_{νλρσ} + ∇_ν R_{λμρσ}
|
|
572
|
+
// where each ∇_λ R_{μνρσ} is computed with the four Christoffel-
|
|
573
|
+
// correction terms (one per lower index of R). All FD/contraction
|
|
574
|
+
// arithmetic happens in the helper module — this case just wires
|
|
575
|
+
// x / metric closures from `inputs` to `bianchiResidualAt`.
|
|
576
|
+
//
|
|
577
|
+
// The result is a 5-deep nested array [N][N][N][N][N] with index order
|
|
578
|
+
// B[λ][μ][ν][ρ][σ]. Returned as an EngineTensor of shape [N,N,N,N,N];
|
|
579
|
+
// callers (typically bianchiResidual().evaluate) materialise via
|
|
580
|
+
// engine.toNested.
|
|
581
|
+
//
|
|
582
|
+
// Walks the node directly — no AST rewrite into an op('+') of pderiv
|
|
583
|
+
// products. Matches Task 6/7/8 walk-directly philosophy.
|
|
584
|
+
const bNode = node;
|
|
585
|
+
const rNode = bNode.riemann;
|
|
586
|
+
const N = dimensionOf(inputs);
|
|
587
|
+
// Coordinate value: same convention as the riemann-tensor case.
|
|
588
|
+
const xCoordName = rNode.xCoord.name;
|
|
589
|
+
const xRaw = requireValue(xCoordName, inputs);
|
|
590
|
+
const x = flattenNestedArray(xRaw, N);
|
|
591
|
+
// Coordinate-dependent metric closures.
|
|
592
|
+
const gName = rNode.gLower.name;
|
|
593
|
+
const gInvName = rNode.gInverse.name;
|
|
594
|
+
const gFn = inputs.fields?.get(gName);
|
|
595
|
+
const gInverseFn = inputs.fields?.get(gInvName);
|
|
596
|
+
if (!gFn || !gInverseFn) {
|
|
597
|
+
throw new NumericalBackendError(`lowering: bianchi-residual numerical evaluation requires coordinate-` +
|
|
598
|
+
`dependent metric closures in inputs.fields for "${gName}" and "${gInvName}". ` +
|
|
599
|
+
`Got fields=[${[...(inputs.fields?.keys() ?? [])].join(',')}].`);
|
|
600
|
+
}
|
|
601
|
+
const B = bianchiResidualAt(x, gFn, gInverseFn, N, engine);
|
|
602
|
+
return engine.fromNested(B, [N, N, N, N, N]);
|
|
603
|
+
}
|
|
604
|
+
case 'riemann-tensor': {
|
|
605
|
+
// v0.5.0 Task 6 (Phase 1c-ii). Walks the node directly (no AST rewrite
|
|
606
|
+
// into pderiv-of-Γ): evaluates Γ(x) via the v0.4.0
|
|
607
|
+
// `computeChristoffelTensor` helper, then computes ∂Γ via centered FD
|
|
608
|
+
// (M11 — pderiv-style, not a new AST kind or AD pass).
|
|
609
|
+
const rNode = node;
|
|
610
|
+
const N = dimensionOf(inputs);
|
|
611
|
+
// Coordinate value: read from inputs.tensors[xCoord.name] (a flat
|
|
612
|
+
// number[] of length N). This mirrors the test fixture's
|
|
613
|
+
// 'x' tensor convention.
|
|
614
|
+
const xCoordName = rNode.xCoord.name;
|
|
615
|
+
const xRaw = requireValue(xCoordName, inputs);
|
|
616
|
+
const x = flattenNestedArray(xRaw, N);
|
|
617
|
+
// Coordinate-dependent metric closures: required for ∂g (inner FD) and
|
|
618
|
+
// ∂Γ (outer FD). Looked up by name in inputs.fields.
|
|
619
|
+
const gName = rNode.gLower.name;
|
|
620
|
+
const gInvName = rNode.gInverse.name;
|
|
621
|
+
const gFn = inputs.fields?.get(gName);
|
|
622
|
+
const gInverseFn = inputs.fields?.get(gInvName);
|
|
623
|
+
if (!gFn || !gInverseFn) {
|
|
624
|
+
throw new NumericalBackendError(`lowering: riemann-tensor numerical evaluation requires coordinate-` +
|
|
625
|
+
`dependent metric closures in inputs.fields for "${gName}" and "${gInvName}" ` +
|
|
626
|
+
`(constant-metric Riemann is identically zero — the test wouldn't fire here). ` +
|
|
627
|
+
`Got fields=[${[...(inputs.fields?.keys() ?? [])].join(',')}].`);
|
|
628
|
+
}
|
|
629
|
+
// Γ^ρ_{σν}(x) and ∂_λ Γ^ρ_{σν}(x).
|
|
630
|
+
const gamma = christoffelAt(x, gFn, gInverseFn, N, engine);
|
|
631
|
+
const dGamma = dGammaAt(x, gFn, gInverseFn, N, engine);
|
|
632
|
+
// R[ρ][σ][μ][ν] per the Carroll formula (Adam+Eve F4-S3).
|
|
633
|
+
const R = buildRiemann(gamma, dGamma, N);
|
|
634
|
+
// Materialise back into an EngineTensor in [N,N,N,N] shape.
|
|
635
|
+
return engine.fromNested(R, [N, N, N, N]);
|
|
636
|
+
}
|
|
460
637
|
default: {
|
|
461
638
|
const _exhaustive = node;
|
|
462
639
|
void _exhaustive;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lowering.js","sourceRoot":"","sources":["../../src/numerical/lowering.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"lowering.js","sourceRoot":"","sources":["../../src/numerical/lowering.ts"],"names":[],"mappings":"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"}
|
|
@@ -104,10 +104,10 @@ export class MathTSEngine {
|
|
|
104
104
|
async forwardGrad(fn, x) {
|
|
105
105
|
let autograd;
|
|
106
106
|
try {
|
|
107
|
-
//
|
|
108
|
-
//
|
|
109
|
-
//
|
|
110
|
-
//
|
|
107
|
+
// v0.5.1 TS-4: prior `@ts-ignore` replaced by the ambient module
|
|
108
|
+
// declaration at numerical/mathts-autograd.ambient.d.ts; cast through
|
|
109
|
+
// `unknown` to the local MathTSAutograd shape (the ambient declares
|
|
110
|
+
// the module as having no exports — narrowing happens here).
|
|
111
111
|
autograd = await import('@danielsimonjr/mathts-autograd');
|
|
112
112
|
}
|
|
113
113
|
catch {
|
|
@@ -141,10 +141,10 @@ export class MathTSEngine {
|
|
|
141
141
|
async reverseGrad(fn, x, cotangent) {
|
|
142
142
|
let autograd;
|
|
143
143
|
try {
|
|
144
|
-
//
|
|
145
|
-
//
|
|
146
|
-
//
|
|
147
|
-
//
|
|
144
|
+
// v0.5.1 TS-4: prior `@ts-ignore` replaced by the ambient module
|
|
145
|
+
// declaration at numerical/mathts-autograd.ambient.d.ts; cast through
|
|
146
|
+
// `unknown` to the local MathTSAutograd shape (the ambient declares
|
|
147
|
+
// the module as having no exports — narrowing happens here).
|
|
148
148
|
autograd = await import('@danielsimonjr/mathts-autograd');
|
|
149
149
|
}
|
|
150
150
|
catch {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mathts-engine.js","sourceRoot":"","sources":["../../src/numerical/mathts-engine.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"mathts-engine.js","sourceRoot":"","sources":["../../src/numerical/mathts-engine.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"metric-inverse.d.ts","sourceRoot":"","sources":["../../src/numerical/metric-inverse.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AACvE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AAE5E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAMlD;cACc;AACd,wBAAsB,qBAAqB,CACzC,QAAQ,EAAE,gBAAgB,EAC1B,CAAC,EAAE,gBAAgB,EACnB,MAAM,EAAE,eAAe,EACvB,SAAS,GAAE,MAA0B,EACrC,OAAO,CAAC,EAAE;IAAE,MAAM,CAAC,EAAE,YAAY,CAAA;CAAE,GAClC,OAAO,CAAC;IAAE,YAAY,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,SAAS,CAAA;CAAE,CAAC,CAkCxD;AAED;;;2EAG2E;AAC3E,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,QAAQ,GACb;IAAE,MAAM,EAAE,gBAAgB,CAAC;IAAC,MAAM,EAAE,gBAAgB,CAAA;CAAE,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"metric-inverse.d.ts","sourceRoot":"","sources":["../../src/numerical/metric-inverse.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AACvE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AAE5E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAMlD;cACc;AACd,wBAAsB,qBAAqB,CACzC,QAAQ,EAAE,gBAAgB,EAC1B,CAAC,EAAE,gBAAgB,EACnB,MAAM,EAAE,eAAe,EACvB,SAAS,GAAE,MAA0B,EACrC,OAAO,CAAC,EAAE;IAAE,MAAM,CAAC,EAAE,YAAY,CAAA;CAAE,GAClC,OAAO,CAAC;IAAE,YAAY,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,SAAS,CAAA;CAAE,CAAC,CAkCxD;AAED;;;2EAG2E;AAC3E,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,QAAQ,GACb;IAAE,MAAM,EAAE,gBAAgB,CAAC;IAAC,MAAM,EAAE,gBAAgB,CAAA;CAAE,GAAG,IAAI,CA6C/D"}
|
|
@@ -58,6 +58,34 @@ export function scanForMetricPair(node) {
|
|
|
58
58
|
walk(n.of);
|
|
59
59
|
walk(n.wrt);
|
|
60
60
|
}
|
|
61
|
+
// v0.5.1 PC-3: walk the v0.4.0+v0.5.0 curvature node kinds so that
|
|
62
|
+
// InverseMetricInconsistencyWarning fires on the GR pipeline. Prior to
|
|
63
|
+
// this, scan stopped at riemann/ricci/einstein/bianchi/covariant-derivative
|
|
64
|
+
// and the warning was silently never emitted on the whole curvature stack
|
|
65
|
+
// — "a validation mechanism that doesn't run is worse than no validation
|
|
66
|
+
// at all" (Adam, v0.5.1 audit).
|
|
67
|
+
//
|
|
68
|
+
// FUTURE: when a new curvature kind is added, this scan needs an arm.
|
|
69
|
+
else if (n.kind === 'covariant-derivative') {
|
|
70
|
+
walk(n.of);
|
|
71
|
+
walk(n.gLower);
|
|
72
|
+
walk(n.gInverse);
|
|
73
|
+
}
|
|
74
|
+
else if (n.kind === 'riemann-tensor') {
|
|
75
|
+
walk(n.gLower);
|
|
76
|
+
walk(n.gInverse);
|
|
77
|
+
}
|
|
78
|
+
else if (n.kind === 'ricci-tensor') {
|
|
79
|
+
walk(n.riemann); // inner Riemann walks its own gLower/gInverse
|
|
80
|
+
}
|
|
81
|
+
else if (n.kind === 'einstein-tensor') {
|
|
82
|
+
walk(n.riemann);
|
|
83
|
+
walk(n.gLower);
|
|
84
|
+
walk(n.gInverse);
|
|
85
|
+
}
|
|
86
|
+
else if (n.kind === 'bianchi-residual') {
|
|
87
|
+
walk(n.riemann); // recurse via inner Riemann
|
|
88
|
+
}
|
|
61
89
|
// tensor-symbol / kronecker-delta / symbol: leaves, no metric inside
|
|
62
90
|
};
|
|
63
91
|
walk(node);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"metric-inverse.js","sourceRoot":"","sources":["../../src/numerical/metric-inverse.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"metric-inverse.js","sourceRoot":"","sources":["../../src/numerical/metric-inverse.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"null-ray-integrator.d.ts","sourceRoot":"","sources":["../../src/numerical/null-ray-integrator.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"null-ray-integrator.d.ts","sourceRoot":"","sources":["../../src/numerical/null-ray-integrator.ts"],"names":[],"mappings":"AAaA;;gFAEgF;AAChF,MAAM,MAAM,SAAS,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,KAAK,MAAM,EAAE,CAAC;AAgB/E;;;;;;GAMG;AACH,wBAAgB,YAAY,CAC1B,MAAM,EAAE,SAAS,EACjB,EAAE,EAAE,aAAa,CAAC,MAAM,CAAC,EACzB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,GACZ,MAAM,EAAE,CAyBV"}
|
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Fixed-step classical RK4 integrator for affine-parameterized null
|
|
3
|
-
* geodesics
|
|
4
|
-
*
|
|
5
|
-
*
|
|
3
|
+
* geodesics. Used by `src/bridges/equations/be-37-shapiro-delay.ts` (the
|
|
4
|
+
* closed-form bridge encoding); the v0.5.0 covariant-eikonal path uses
|
|
5
|
+
* the symplectic `integrateGeodesicGL4` instead (see
|
|
6
|
+
* `src/numerical/be37-covariant-eikonal.ts`). Self-contained: operates on
|
|
7
|
+
* plain `number[]` state vectors, no TensorEngine dependency
|
|
8
|
+
* (v0.3.5-Design.md §8 for the original framing).
|
|
6
9
|
*
|
|
7
10
|
* @module numerical/null-ray-integrator
|
|
8
11
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"null-ray-integrator.js","sourceRoot":"","sources":["../../src/numerical/null-ray-integrator.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"null-ray-integrator.js","sourceRoot":"","sources":["../../src/numerical/null-ray-integrator.ts"],"names":[],"mappings":"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"}
|
|
@@ -20,12 +20,36 @@ import type { NestedArray } from './types.js';
|
|
|
20
20
|
*/
|
|
21
21
|
export declare function pderivGrid(grid: GridField, axis: number): number[];
|
|
22
22
|
/**
|
|
23
|
-
*
|
|
24
|
-
*
|
|
23
|
+
* Options for {@link pderivNumericalFn}.
|
|
24
|
+
*
|
|
25
|
+
* - `order` — stencil order. `2` (default) uses the v0.3.5 centered
|
|
26
|
+
* `(f(x+h) − f(x−h)) / (2h)` form with adaptive `h = 1e-6·max(|x|,1)`.
|
|
27
|
+
* `4` opts in to the 4-point centered
|
|
28
|
+
* `(−f(x+2h) + 8 f(x+h) − 8 f(x−h) + f(x−2h)) / (12 h)`
|
|
29
|
+
* form with adaptive `h = 1e-4·max(|x|,1)` (the regime where the O(h⁴)
|
|
30
|
+
* truncation advantage materialises vs round-off on smooth inputs).
|
|
31
|
+
* v0.5.1 PD-7.
|
|
32
|
+
*
|
|
33
|
+
* - `h` — optional explicit step override. Used by
|
|
34
|
+
* `curvature-lowering-helpers.ts` for its inner ∂g sampler where the
|
|
35
|
+
* c²-scaled g_tt cancellation noise needs a larger-than-default step
|
|
36
|
+
* (`1e-3·max(|x|,1)`) to balance truncation vs round-off. If supplied,
|
|
37
|
+
* the adaptive default is bypassed entirely.
|
|
38
|
+
*/
|
|
39
|
+
export interface PderivOptions {
|
|
40
|
+
readonly order?: 2 | 4;
|
|
41
|
+
readonly h?: number;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Centered finite-difference of a caller-supplied scalar (or tensor-valued)
|
|
45
|
+
* field with respect to coordinate `axis`.
|
|
46
|
+
*
|
|
47
|
+
* - 2nd-order (default): step h = 1e-6 · max(|x|, 1) (v0.3.5-Design.md §13 Q3).
|
|
48
|
+
* - 4th-order (`options.order === 4`): step h = 1e-4 · max(|x|, 1).
|
|
25
49
|
*
|
|
26
50
|
* @internal — consumed by the lowering pass; not part of the consumer surface.
|
|
27
51
|
*/
|
|
28
|
-
export declare function pderivNumericalFn(fn: (coords: ReadonlyArray<number>) => NestedArray, coords: ReadonlyArray<number>, axis: number): NestedArray;
|
|
52
|
+
export declare function pderivNumericalFn(fn: (coords: ReadonlyArray<number>) => NestedArray, coords: ReadonlyArray<number>, axis: number, options?: PderivOptions): NestedArray;
|
|
29
53
|
/**
|
|
30
54
|
* 'symbolic' numericalForm path: v0.3.5 has no CAS, so the caller supplies
|
|
31
55
|
* the derivative explicitly, keyed `${symbolName}/${coordLabel}`.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pderiv.d.ts","sourceRoot":"","sources":["../../src/numerical/pderiv.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAI9C;;;;;;;;GAQG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAiClE;AAED
|
|
1
|
+
{"version":3,"file":"pderiv.d.ts","sourceRoot":"","sources":["../../src/numerical/pderiv.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAI9C;;;;;;;;GAQG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAiClE;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;IACvB,QAAQ,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAC/B,EAAE,EAAE,CAAC,MAAM,EAAE,aAAa,CAAC,MAAM,CAAC,KAAK,WAAW,EAClD,MAAM,EAAE,aAAa,CAAC,MAAM,CAAC,EAC7B,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE,aAAa,GACtB,WAAW,CAkDb;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAC5B,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,WAAW,CAAC,MAAM,EAAE,WAAW,CAAC,GAC5C,WAAW,CAWb;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CACjC,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAClB,iBAAiB,EAAE,WAAW,CAAC,MAAM,EAAE,WAAW,CAAC,GAClD,WAAW,CAYb"}
|
package/dist/numerical/pderiv.js
CHANGED
|
@@ -48,27 +48,59 @@ export function pderivGrid(grid, axis) {
|
|
|
48
48
|
return out;
|
|
49
49
|
}
|
|
50
50
|
/**
|
|
51
|
-
* Centered finite-difference of a caller-supplied scalar
|
|
52
|
-
* to coordinate `axis`.
|
|
51
|
+
* Centered finite-difference of a caller-supplied scalar (or tensor-valued)
|
|
52
|
+
* field with respect to coordinate `axis`.
|
|
53
|
+
*
|
|
54
|
+
* - 2nd-order (default): step h = 1e-6 · max(|x|, 1) (v0.3.5-Design.md §13 Q3).
|
|
55
|
+
* - 4th-order (`options.order === 4`): step h = 1e-4 · max(|x|, 1).
|
|
53
56
|
*
|
|
54
57
|
* @internal — consumed by the lowering pass; not part of the consumer surface.
|
|
55
58
|
*/
|
|
56
|
-
export function pderivNumericalFn(fn, coords, axis) {
|
|
59
|
+
export function pderivNumericalFn(fn, coords, axis, options) {
|
|
57
60
|
if (axis < 0 || axis >= coords.length) {
|
|
58
61
|
throw new NumericalBackendError(`pderivNumericalFn: axis ${axis} out of range`);
|
|
59
62
|
}
|
|
63
|
+
const order = options?.order ?? 2;
|
|
64
|
+
if (order !== 2 && order !== 4) {
|
|
65
|
+
throw new NumericalBackendError(`pderivNumericalFn: unsupported order ${order} — only 2 or 4 are supported`);
|
|
66
|
+
}
|
|
60
67
|
const x = coords[axis];
|
|
61
|
-
const
|
|
62
|
-
const
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
68
|
+
const defaultH = (order === 4 ? 1e-4 : 1e-6) * Math.max(Math.abs(x), 1);
|
|
69
|
+
const h = options?.h ?? defaultH;
|
|
70
|
+
if (!(h > 0) || !Number.isFinite(h)) {
|
|
71
|
+
throw new NumericalBackendError(`pderivNumericalFn: non-positive or non-finite step h=${h}`);
|
|
72
|
+
}
|
|
73
|
+
if (order === 2) {
|
|
74
|
+
const plus = [...coords];
|
|
75
|
+
plus[axis] = x + h;
|
|
76
|
+
const minus = [...coords];
|
|
77
|
+
minus[axis] = x - h;
|
|
78
|
+
const fp = flattenNA(fn(plus));
|
|
79
|
+
const fm = flattenNA(fn(minus));
|
|
80
|
+
if (fp.length !== fm.length) {
|
|
81
|
+
throw new NumericalBackendError('pderivNumericalFn: field returned inconsistent shapes');
|
|
82
|
+
}
|
|
83
|
+
const d = fp.map((v, i) => (v - fm[i]) / (2 * h));
|
|
84
|
+
return d.length === 1 ? d[0] : d;
|
|
85
|
+
}
|
|
86
|
+
// order === 4: f'(x) ≈ (−f(x+2h) + 8 f(x+h) − 8 f(x−h) + f(x−2h)) / (12 h)
|
|
87
|
+
const p1 = [...coords];
|
|
88
|
+
p1[axis] = x + h;
|
|
89
|
+
const m1 = [...coords];
|
|
90
|
+
m1[axis] = x - h;
|
|
91
|
+
const p2 = [...coords];
|
|
92
|
+
p2[axis] = x + 2 * h;
|
|
93
|
+
const m2 = [...coords];
|
|
94
|
+
m2[axis] = x - 2 * h;
|
|
95
|
+
const fp1 = flattenNA(fn(p1));
|
|
96
|
+
const fm1 = flattenNA(fn(m1));
|
|
97
|
+
const fp2 = flattenNA(fn(p2));
|
|
98
|
+
const fm2 = flattenNA(fn(m2));
|
|
99
|
+
if (fp1.length !== fm1.length || fp1.length !== fp2.length || fp1.length !== fm2.length) {
|
|
69
100
|
throw new NumericalBackendError('pderivNumericalFn: field returned inconsistent shapes');
|
|
70
101
|
}
|
|
71
|
-
const
|
|
102
|
+
const inv12h = 1 / (12 * h);
|
|
103
|
+
const d = fp1.map((_, i) => (-fp2[i] + 8 * fp1[i] - 8 * fm1[i] + fm2[i]) * inv12h);
|
|
72
104
|
return d.length === 1 ? d[0] : d;
|
|
73
105
|
}
|
|
74
106
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pderiv.js","sourceRoot":"","sources":["../../src/numerical/pderiv.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"pderiv.js","sourceRoot":"","sources":["../../src/numerical/pderiv.ts"],"names":[],"mappings":"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"}
|