universal-physics-tensor 0.4.5 → 0.5.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.
Files changed (78) hide show
  1. package/dist/dimensional/bridge-check.d.ts +6 -0
  2. package/dist/dimensional/bridge-check.d.ts.map +1 -1
  3. package/dist/dimensional/bridge-check.js +6 -0
  4. package/dist/dimensional/bridge-check.js.map +1 -1
  5. package/dist/dimensional/connection-validators.d.ts +61 -3
  6. package/dist/dimensional/connection-validators.d.ts.map +1 -1
  7. package/dist/dimensional/connection-validators.js +82 -9
  8. package/dist/dimensional/connection-validators.js.map +1 -1
  9. package/dist/dimensional/curvature.d.ts +336 -0
  10. package/dist/dimensional/curvature.d.ts.map +1 -0
  11. package/dist/dimensional/curvature.js +291 -0
  12. package/dist/dimensional/curvature.js.map +1 -0
  13. package/dist/dimensional/metric-validators.d.ts +12 -0
  14. package/dist/dimensional/metric-validators.d.ts.map +1 -1
  15. package/dist/dimensional/metric-validators.js.map +1 -1
  16. package/dist/dimensional/tensor.d.ts.map +1 -1
  17. package/dist/dimensional/tensor.js +7 -2
  18. package/dist/dimensional/tensor.js.map +1 -1
  19. package/dist/dimensional/validator.d.ts +5 -3
  20. package/dist/dimensional/validator.d.ts.map +1 -1
  21. package/dist/dimensional/validator.js +59 -2
  22. package/dist/dimensional/validator.js.map +1 -1
  23. package/dist/index.d.ts +8 -2
  24. package/dist/index.d.ts.map +1 -1
  25. package/dist/index.js +21 -2
  26. package/dist/index.js.map +1 -1
  27. package/dist/numerical/be37-covariant-eikonal.d.ts +96 -38
  28. package/dist/numerical/be37-covariant-eikonal.d.ts.map +1 -1
  29. package/dist/numerical/be37-covariant-eikonal.js +202 -39
  30. package/dist/numerical/be37-covariant-eikonal.js.map +1 -1
  31. package/dist/numerical/connection-lowering-helpers.d.ts +8 -6
  32. package/dist/numerical/connection-lowering-helpers.d.ts.map +1 -1
  33. package/dist/numerical/connection-lowering-helpers.js +25 -28
  34. package/dist/numerical/connection-lowering-helpers.js.map +1 -1
  35. package/dist/numerical/curvature-lowering-helpers.d.ts +162 -0
  36. package/dist/numerical/curvature-lowering-helpers.d.ts.map +1 -0
  37. package/dist/numerical/curvature-lowering-helpers.js +378 -0
  38. package/dist/numerical/curvature-lowering-helpers.js.map +1 -0
  39. package/dist/numerical/errors.d.ts +16 -0
  40. package/dist/numerical/errors.d.ts.map +1 -1
  41. package/dist/numerical/errors.js +20 -0
  42. package/dist/numerical/errors.js.map +1 -1
  43. package/dist/numerical/float64-engine.d.ts +4 -2
  44. package/dist/numerical/float64-engine.d.ts.map +1 -1
  45. package/dist/numerical/float64-engine.js +35 -45
  46. package/dist/numerical/float64-engine.js.map +1 -1
  47. package/dist/numerical/gl4-integrator.d.ts +167 -0
  48. package/dist/numerical/gl4-integrator.d.ts.map +1 -0
  49. package/dist/numerical/gl4-integrator.js +276 -0
  50. package/dist/numerical/gl4-integrator.js.map +1 -0
  51. package/dist/numerical/index.d.ts +8 -0
  52. package/dist/numerical/index.d.ts.map +1 -1
  53. package/dist/numerical/index.js +4 -0
  54. package/dist/numerical/index.js.map +1 -1
  55. package/dist/numerical/lowering.d.ts +3 -4
  56. package/dist/numerical/lowering.d.ts.map +1 -1
  57. package/dist/numerical/lowering.js +216 -22
  58. package/dist/numerical/lowering.js.map +1 -1
  59. package/dist/numerical/mathts-engine.d.ts +2 -2
  60. package/dist/numerical/mathts-engine.d.ts.map +1 -1
  61. package/dist/numerical/mathts-engine.js +13 -12
  62. package/dist/numerical/mathts-engine.js.map +1 -1
  63. package/dist/numerical/pderiv.d.ts.map +1 -1
  64. package/dist/numerical/pderiv.js +4 -18
  65. package/dist/numerical/pderiv.js.map +1 -1
  66. package/dist/numerical/perihelion-finder.d.ts +84 -0
  67. package/dist/numerical/perihelion-finder.d.ts.map +1 -0
  68. package/dist/numerical/perihelion-finder.js +261 -0
  69. package/dist/numerical/perihelion-finder.js.map +1 -0
  70. package/dist/numerical/strides.d.ts +26 -0
  71. package/dist/numerical/strides.d.ts.map +1 -0
  72. package/dist/numerical/strides.js +41 -0
  73. package/dist/numerical/strides.js.map +1 -0
  74. package/dist/numerical/tensor-engine.d.ts +4 -2
  75. package/dist/numerical/tensor-engine.d.ts.map +1 -1
  76. package/dist/numerical/tensor-engine.js +4 -2
  77. package/dist/numerical/tensor-engine.js.map +1 -1
  78. package/package.json +1 -1
@@ -0,0 +1,291 @@
1
+ /**
2
+ * Curvature-derived helpers — Ricci, Einstein, Bianchi (v0.5.0 Phase 1d).
3
+ *
4
+ * Module hosts the layer of GR objects derived by contraction of a
5
+ * `RiemannTensorNode`:
6
+ *
7
+ * - `ricci(R)` → R_μν = R^λ_{λμν} (this file, Task 7)
8
+ * - `einstein(R)` → G_μν = R_μν − ½ g_μν R (Task 8 — TBD)
9
+ * - `bianchiResidual(R)` → ∇_λ G^{λμ} (Task 9 — TBD)
10
+ *
11
+ * Separation rationale (Design §3 Task 1d): the bare `RiemannTensorNode`
12
+ * stays in `connection-validators.ts` next to `CovariantDerivativeNode`
13
+ * (both are *primary* curvature objects: connection + first-derivative).
14
+ * Everything *contracted from* Riemann lives here — keeps the module
15
+ * graph: tensor → metric → connection-validators → curvature.
16
+ *
17
+ * @module dimensional/curvature
18
+ */
19
+ import { IndexLabelCollisionError } from './errors.js';
20
+ /**
21
+ * Validate a `ricci-tensor` node.
22
+ *
23
+ * Throws:
24
+ * - IndexLabelCollisionError if the embedded Riemann's two free output
25
+ * labels (the σ slot — lowerIndices[0] — and the ν slot —
26
+ * lowerIndices[2]) collide. (The contracted middle slot
27
+ * lowerIndices[1] is invisible to this check; any label is allowed
28
+ * there because it's a dummy.)
29
+ *
30
+ * The Riemann sub-node is validated structurally by re-entering its own
31
+ * validator via the `validateRiemannChild` callback (so its signature
32
+ * checks fire), but its free indices are NOT propagated — the ρ slot
33
+ * collapses into the contraction with the μ slot (Carroll Eq. 3.91:
34
+ * `R_μν = R^λ_{μλν}`), and the surviving σ / ν slots become the new
35
+ * free indices of the Ricci tensor.
36
+ */
37
+ export function validateRicciTensor(node, validateRiemannChild) {
38
+ // Re-validate the embedded Riemann so its signature checks (upperIndex /
39
+ // lowerIndices variance, gLower / gInverse signature, free-index
40
+ // disjointness) fire here too. We discard its freeIndices map: the ρ slot
41
+ // and the μ slot (lowerIndices[1]) are the contraction; the surviving σ
42
+ // (lowerIndices[0]) and ν (lowerIndices[2]) are reconstructed below from
43
+ // the authoritative axis source.
44
+ const rResult = validateRiemannChild(node.riemann);
45
+ // Dim is inherited 1:1 from the Riemann (contraction does not change
46
+ // per-component units — multiplying by δ^ρ_μ is dimensionless).
47
+ const dim = rResult.dim;
48
+ // Surviving free indices: Ricci's μ_out ← lowerIndices[0] (σ slot),
49
+ // Ricci's ν_out ← lowerIndices[2] (ν slot). Contracted middle slot
50
+ // (lowerIndices[1]) is dummied and not surfaced as free.
51
+ const muOutIdx = node.riemann.lowerIndices[0];
52
+ const nuOutIdx = node.riemann.lowerIndices[2];
53
+ if (muOutIdx.label === nuOutIdx.label) {
54
+ throw new IndexLabelCollisionError(muOutIdx.label, 2, ['ricci-tensor']);
55
+ }
56
+ const freeIndices = new Map();
57
+ freeIndices.set(muOutIdx.label, { upper: 0, lower: 1 });
58
+ freeIndices.set(nuOutIdx.label, { upper: 0, lower: 1 });
59
+ return { dim, freeIndices };
60
+ }
61
+ // ─────────────────────────────────────────────────────────────────────────────
62
+ // ricci() — user-facing constructor
63
+ // ─────────────────────────────────────────────────────────────────────────────
64
+ /**
65
+ * Build the Ricci tensor R_μν = R^λ_{μλν} as a composite ExprNode.
66
+ *
67
+ * **Convention (Carroll Eq. 3.91).** Contract upper-ρ against the SECOND
68
+ * lower slot — the μ position in R^ρ_σμν, i.e., `lowerIndices[1]` in the
69
+ * RiemannTensorNode storage. The surviving free indices are the σ slot
70
+ * (`lowerIndices[0]`) → Ricci's first free output μ_out, and the ν slot
71
+ * (`lowerIndices[2]`) → Ricci's second free output ν_out.
72
+ *
73
+ * Index mapping after contraction:
74
+ * - upperIndex (ρ) → contracted with lowerIndices[1] (the μ slot, λ dummy)
75
+ * - lowerIndices[0] (σ) → Ricci's free output index 0 (μ_out)
76
+ * - lowerIndices[2] (ν) → Ricci's free output index 1 (ν_out)
77
+ * Result: R_μν with free indices {σ_label: lower, ν_label: lower}
78
+ *
79
+ * Index-map diagram:
80
+ * R^ρ _ σ _ μ _ ν (RiemannTensorNode slots)
81
+ * ↑ ↑
82
+ * upper lower[1] <- contract these two (ρ = μ = λ)
83
+ * lower[0] lower[2] <- become R_μν free indices
84
+ *
85
+ * **Why not "upper ↔ lowerIndices[0]" (the first-lower trace)?** The trace
86
+ * `R^λ_{λμν}` over the first pair (ρ ↔ σ) is identically zero by the
87
+ * first-pair antisymmetry of the (lowered) Riemann tensor — for any
88
+ * metric, including non-vacuum solutions like de Sitter. The
89
+ * constant-curvature identity `R_μν = (n-1) K g_μν` (Carroll §8.1,
90
+ * `R = 4Λ` in n=4) only matches the upper↔second-lower contraction.
91
+ * The de-Sitter Ricci-scalar test in `tests/dimensional/ricci.test.ts`
92
+ * is the discriminating fixture that pins this convention.
93
+ *
94
+ * The returned tree is a single `ricci-tensor` node wrapping the supplied
95
+ * Riemann. Validator and numerical lowering each have a dedicated arm —
96
+ * no AST rewrite into a `tensor-product`-of-Riemann happens here (the
97
+ * RiemannTensorNode is not contractable in the v0.3.5 tensor-product
98
+ * einsum sense; the contraction is a primitive operation walked directly).
99
+ *
100
+ * @public
101
+ */
102
+ export function ricci(R) {
103
+ return { kind: 'ricci-tensor', riemann: R };
104
+ }
105
+ /**
106
+ * Validate an `einstein-tensor` node.
107
+ *
108
+ * Delegates structural checks to the embedded Riemann via the
109
+ * `validateRiemannChild` callback (same pattern as `validateRicciTensor`)
110
+ * and reuses `validateRicciTensor` for the surviving free-index labels —
111
+ * an Einstein tensor's free indices are exactly the Ricci tensor's free
112
+ * indices (subtracting `½ R g_μν` with matching {μ_out, ν_out} labels
113
+ * preserves the index structure).
114
+ *
115
+ * The `gLower` / `gInverse` sub-nodes are deliberately NOT propagated as
116
+ * free indices — they are consumed internally by the scalar-trace
117
+ * contraction and the `½ R g_μν` multiplication (same H1 discipline as
118
+ * RiemannTensorNode for its gLower/gInverse fields).
119
+ *
120
+ * Throws:
121
+ * - Everything `validateRicciTensor` throws (IndexLabelCollisionError on
122
+ * surviving free-index collision; MetricSignatureError /
123
+ * PartialDerivativeIndexVarianceError from the inner Riemann).
124
+ */
125
+ export function validateEinsteinTensor(node, validateRiemannChild) {
126
+ // Delegate to Ricci validation — the surviving free-index labels and dim
127
+ // are identical (R_μν has the same {μ_out, ν_out} as G_μν, dim {L:-2}).
128
+ const ricciNode = { kind: 'ricci-tensor', riemann: node.riemann };
129
+ const r = validateRicciTensor(ricciNode, validateRiemannChild);
130
+ // Defense in depth: the `½ R g_μν` term involves g_μν, but its free
131
+ // indices are NOT propagated — they are the same {μ_out, ν_out} as Ricci
132
+ // by construction (we contract them down to a 4×4 in the same axis order
133
+ // during lowering). Mirrors H1: gLower / gInverse on RiemannTensorNode.
134
+ return { dim: r.dim, freeIndices: r.freeIndices };
135
+ }
136
+ // ─────────────────────────────────────────────────────────────────────────────
137
+ // einstein() — user-facing constructor
138
+ // ─────────────────────────────────────────────────────────────────────────────
139
+ /**
140
+ * Build the Einstein tensor G_μν = R_μν − ½ R g_μν as a composite ExprNode.
141
+ *
142
+ * **Convention.** Inherits Carroll Eq. 3.91 from `ricci(R)` — the inner
143
+ * Ricci is computed by contracting upper-ρ of the wrapped Riemann against
144
+ * `lowerIndices[1]` (the middle/μ slot in R^ρ_σμν). The scalar trace is
145
+ * `R = g^μν R_μν` and the subtraction term is `½ R · g_μν`. The result
146
+ * `G_μν` shares free indices {μ_out, ν_out} with `ricci(R)`.
147
+ *
148
+ * **Algebra (sanity check).**
149
+ * - de Sitter (n=4): `R_μν = Λ g_μν`, `R = 4Λ` ⇒
150
+ * `G_μν = Λ g_μν − ½·4Λ·g_μν = −Λ g_μν`. Vacuum Einstein equation
151
+ * `G_μν + Λ g_μν = 0` holds.
152
+ * - Schwarzschild (vacuum): `R_μν ≡ 0`, `R = 0` ⇒ `G_μν ≡ 0`.
153
+ * - Trace identity (any metric, n=4): `g^μν G_μν = R − ½·R·4 = −R`.
154
+ *
155
+ * **AST shape.** Single `einstein-tensor` node wrapping `R`, `gLower`,
156
+ * `gInverse`. Validator and numerical lowering each have a dedicated arm;
157
+ * no AST rewrite into `ricci(R) − ½ R g_μν` happens (the subtraction term
158
+ * would need a tensor-valued scalar-multiply that the v0.3.5 tensor-product
159
+ * einsum does not support directly). Same walk-directly pattern as Ricci.
160
+ *
161
+ * **Matter coupling is out of scope.** The vacuum / cosmological-constant
162
+ * tests pin G_μν only; `G_μν = κ T_μν` (Einstein field equations with a
163
+ * stress-energy source) is deferred to v0.6.0+.
164
+ *
165
+ * @public
166
+ */
167
+ export function einstein(R, g, gInverse) {
168
+ return { kind: 'einstein-tensor', riemann: R, gLower: g, gInverse };
169
+ }
170
+ /**
171
+ * Validate a `bianchi-residual` node.
172
+ *
173
+ * Inherits all structural checks from the embedded Riemann via
174
+ * `validateRiemannChild`. The output freeIndices are 5 lower labels:
175
+ *
176
+ * - `lambda` — the synthesised FIRST cyclic-derivative axis (a new label;
177
+ * must not collide with the wrapped Riemann's free labels)
178
+ * - The Riemann's `lowerIndices[0]` label → μ_out
179
+ * - The Riemann's `lowerIndices[1]` label → ν_out
180
+ * - The Riemann's `lowerIndices[2]` label → ρ_out
181
+ * - A synthesised `sigma_out` — the fourth Riemann index after lowering ρ.
182
+ *
183
+ * Throws:
184
+ * - IndexLabelCollisionError if the synthesised `lambda` / `sigma_out`
185
+ * labels collide with any wrapped-Riemann label.
186
+ */
187
+ export function validateBianchiResidual(node, validateRiemannChild) {
188
+ // Re-validate the embedded Riemann for its own signature/index checks.
189
+ validateRiemannChild(node.riemann);
190
+ // Build the 5 free-index labels. The Riemann's lowerIndices[0..2] become
191
+ // the μ_out, ν_out, ρ_out of the all-lower Riemann (after lowering ρ to a
192
+ // synthesised 'sigma_out'... wait — the convention here is:
193
+ // ∇_λ R_{αβγδ} has 5 indices: λ + 4 from the lowered Riemann.
194
+ // The 4 from the lowered Riemann are: the freshly-lowered ρ (renamed
195
+ // from `upperIndex.label`) + lowerIndices[0..2].
196
+ // We use literal label `lambda` for the cyclic-deriv axis. The freshly-
197
+ // lowered ρ takes a literal `alpha_lower` label.
198
+ //
199
+ // Collision rule: `lambda` and `alpha_lower` must not collide with any of
200
+ // {upperIndex.label, lowerIndices[0..2].label}.
201
+ const wrappedLabels = new Set([
202
+ node.riemann.upperIndex.label,
203
+ node.riemann.lowerIndices[0].label,
204
+ node.riemann.lowerIndices[1].label,
205
+ node.riemann.lowerIndices[2].label,
206
+ ]);
207
+ const synthesised = ['lambda', 'alpha_lower'];
208
+ for (const s of synthesised) {
209
+ if (wrappedLabels.has(s)) {
210
+ throw new IndexLabelCollisionError(s, 2, ['bianchi-residual']);
211
+ }
212
+ }
213
+ // Per Design §3 Task 1f / F8 / I3: Bianchi residual carries 1/L³ (one
214
+ // covariant derivative on R, which is 1/L²).
215
+ const dim = { L: -3, M: 0, T: 0, I: 0, Theta: 0, N: 0, J: 0 };
216
+ // 5 free indices, all lower.
217
+ const freeIndices = new Map();
218
+ freeIndices.set('lambda', { upper: 0, lower: 1 });
219
+ freeIndices.set('alpha_lower', { upper: 0, lower: 1 });
220
+ freeIndices.set(node.riemann.lowerIndices[0].label, { upper: 0, lower: 1 });
221
+ freeIndices.set(node.riemann.lowerIndices[1].label, { upper: 0, lower: 1 });
222
+ freeIndices.set(node.riemann.lowerIndices[2].label, { upper: 0, lower: 1 });
223
+ return { dim, freeIndices };
224
+ }
225
+ /**
226
+ * Build the second-Bianchi-identity residual `B_{λμνρσ}` as a composite
227
+ * object with both an AST representation and evaluator closures.
228
+ *
229
+ * **Return shape (deviates from `ricci()`/`einstein()`'s plain-ExprNode
230
+ * return):** Bianchi is a 5-index residual tensor whose primary purpose is
231
+ * to be EVALUATED and reduced to its max-absolute value. Callers that just
232
+ * want the scalar self-consistency check use `evaluateMax`; callers that
233
+ * want to inspect per-component residual structure use `evaluate`. The
234
+ * underlying `residual: ExprNode` is exposed for downstream symbolic
235
+ * consumers (validator, equation-homogeneity checks).
236
+ *
237
+ * **Convention.** Carroll Eq. 3.95 cyclic form on the first three lower
238
+ * indices of the all-lower Riemann:
239
+ *
240
+ * B_{λμνρσ} = ∇_λ R_{μνρσ} + ∇_μ R_{νλρσ} + ∇_ν R_{λμρσ} = 0
241
+ *
242
+ * **Implementation (Approach 1 — full ∇, not raw ∂).** Lowering computes
243
+ * each `∇_λ R_{μνρσ}` term with full Christoffel corrections (one per lower
244
+ * index of R), then sums cyclically. The lowered Riemann itself is computed
245
+ * by lowering the upper-ρ of R^ρ_{σμν} on the JS side after the Riemann
246
+ * lowering pipeline (Task 6) — no v0.3.0 `lower()` AST round-trip per FD
247
+ * sample.
248
+ *
249
+ * **Numerical-noise discussion.** The cyclic sum involves one extra
250
+ * coordinate-derivative on R_{μνρσ}, which itself sits on a ∂g→Γ→∂Γ→R FD
251
+ * stack. Schwarzschild + de Sitter empirical residuals are reported in
252
+ * `tests/dimensional/bianchi-residual.test.ts`; expected per-component
253
+ * noise floor is ~1e-7 to 1e-8 — much looser than the Task 6 Riemann floor
254
+ * (~8e-10) because of the extra FD layer.
255
+ *
256
+ * @public
257
+ */
258
+ export function bianchiResidual(R) {
259
+ const residual = { kind: 'bianchi-residual', riemann: R };
260
+ const evaluate = async (engine, inputs) => {
261
+ // Dynamic import to keep the dimensional module's load-time graph clean.
262
+ const mod = await import('../numerical/index.js');
263
+ const result = await mod.evaluateNumerical(residual, inputs, { engine });
264
+ return result.value;
265
+ };
266
+ const evaluateMax = async (
267
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
268
+ engine,
269
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
270
+ inputs) => {
271
+ const value = await evaluate(engine, inputs);
272
+ // Walk the 5-deep nested array (or any depth) and return max |x|.
273
+ let max = 0;
274
+ const walk = (v) => {
275
+ if (typeof v === 'number') {
276
+ const a = Math.abs(v);
277
+ if (a > max)
278
+ max = a;
279
+ return;
280
+ }
281
+ if (Array.isArray(v)) {
282
+ for (const c of v)
283
+ walk(c);
284
+ }
285
+ };
286
+ walk(value);
287
+ return max;
288
+ };
289
+ return { residual: residual, evaluate, evaluateMax };
290
+ }
291
+ //# sourceMappingURL=curvature.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"curvature.js","sourceRoot":"","sources":["../../src/dimensional/curvature.ts"],"names":[],"mappings":"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"}
@@ -26,6 +26,10 @@ export interface MetricTensorNode {
26
26
  */
27
27
  readonly derivativeStrategy?: 'computed' | 'zero' | 'supplied';
28
28
  }
29
+ /**
30
+ * Result carrier for validateMetricTensor.
31
+ * @public — exported for downstream consumers who type their own validators.
32
+ */
29
33
  export interface MetricTensorValidationResult {
30
34
  readonly dim: Dimension;
31
35
  readonly freeIndices: Map<string, {
@@ -56,6 +60,10 @@ export interface KroneckerDeltaNode {
56
60
  readonly indices: ReadonlyArray<TensorIndex>;
57
61
  readonly dim: Dimension;
58
62
  }
63
+ /**
64
+ * Result carrier for validateKroneckerDelta.
65
+ * @public — exported for downstream consumers who type their own validators.
66
+ */
59
67
  export interface KroneckerDeltaValidationResult {
60
68
  readonly dim: Dimension;
61
69
  readonly freeIndices: Map<string, {
@@ -87,6 +95,10 @@ export interface TensorPartialDerivativeNode {
87
95
  readonly wrt: unknown;
88
96
  readonly wrtIndex: CovariantIndex;
89
97
  }
98
+ /**
99
+ * Result carrier for validatePartialDerivative.
100
+ * @public — exported for downstream consumers who type their own validators.
101
+ */
90
102
  export interface PartialDerivativeValidationResult {
91
103
  readonly dim: Dimension;
92
104
  readonly freeIndices: Map<string, {
@@ -1 +1 @@
1
- {"version":3,"file":"metric-validators.d.ts","sourceRoot":"","sources":["../../src/dimensional/metric-validators.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"metric-validators.d.ts","sourceRoot":"","sources":["../../src/dimensional/metric-validators.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"metric-validators.js","sourceRoot":"","sources":["../../src/dimensional/metric-validators.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAIH,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EACL,sBAAsB,EACtB,oBAAoB,EACpB,yBAAyB,EACzB,sBAAsB,EACtB,mCAAmC,EACnC,wBAAwB,GACzB,MAAM,aAAa,CAAC;AAuBrB,4EAA4E;AAC5E,SAAS,gBAAgB,CAAC,SAAiB;IACzC,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACzC,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACnC,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;AACpD,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,2BAA2B,CACzC,MAAwB,EACxB,MAAwB;IAExB,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC;IACpE,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC;IACpE,IAAI,CAAC,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC;QACzB,OAAO,uCAAuC,MAAM,CAAC,IAAI,QAAQ,MAAM,CAAC,IAAI,IAAI;cAC5E,wCAAwC,CAAC;IAC/C,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,oBAAoB,CAClC,IAAsB;IAEtB,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC9B,MAAM,IAAI,sBAAsB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACnE,CAAC;IACD,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;IAC5B,IAAI,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAC;QAC9B,MAAM,IAAI,oBAAoB,CAC5B,IAAI,CAAC,IAAI,EACT,4BAA4B,CAAC,CAAC,QAAQ,SAAS,CAAC,CAAC,QAAQ,sBAAsB;YAC7E,kFAAkF,CACrF,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC;QACxB,MAAM,IAAI,oBAAoB,CAC5B,IAAI,CAAC,IAAI,EACT,0BAA0B,CAAC,CAAC,KAAK,qDAAqD,CACvF,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;QACtC,MAAM,IAAI,oBAAoB,CAC5B,IAAI,CAAC,IAAI,EACT,cAAc,IAAI,CAAC,SAAS,sDAAsD,CACnF,CAAC;IACJ,CAAC;IACD,MAAM,WAAW,GAAG,IAAI,GAAG,EAA4C,CAAC;IACxE,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;QAC/B,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE;YACzB,KAAK,EAAE,GAAG,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACvC,KAAK,EAAE,GAAG,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;SACxC,CAAC,CAAC;IACL,CAAC;IACD,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,WAAW,EAAE,CAAC;AACxC,CAAC;AAaD;;;;;;;GAOG;AACH,MAAM,UAAU,sBAAsB,CACpC,IAAwB;IAExB,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC9B,MAAM,IAAI,yBAAyB,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAC3D,CAAC;IACD,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;IAC5B,IAAI,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAC;QAC9B,MAAM,IAAI,sBAAsB,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;IAC/C,CAAC;IACD,IAAI,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC;QACxB,wEAAwE;QACxE,0EAA0E;QAC1E,kEAAkE;QAClE,4CAA4C;QAC5C,MAAM,IAAI,wBAAwB,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,uBAAuB,CAAC,CAAC,CAAC;IAC5E,CAAC;IACD,MAAM,WAAW,GAAG,IAAI,GAAG,EAA4C,CAAC;IACxE,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;QAC/B,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE;YACzB,KAAK,EAAE,GAAG,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACvC,KAAK,EAAE,GAAG,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;SACxC,CAAC,CAAC;IACL,CAAC;IACD,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,WAAW,EAAE,CAAC;AACxC,CAAC;AAoCD;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,yBAAyB,CACvC,IAAiC,EACjC,aAA+D;IAE/D,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QACvC,MAAM,IAAI,mCAAmC,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACrE,CAAC;IACD,MAAM,QAAQ,GAAG,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACxC,MAAM,SAAS,GAAG,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAE1C,uEAAuE;IACvE,oCAAoC;IACpC,IAAI,QAAQ,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QAClD,MAAM,IAAI,wBAAwB,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,EAAE;YACzD,oCAAoC;YACpC,gBAAgB;SACjB,CAAC,CAAC;IACL,CAAC;IAED,iEAAiE;IACjE,MAAM,WAAW,GAAG,IAAI,GAAG,EAA4C,CAAC;IACxE,KAAK,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,QAAQ,CAAC,WAAW,EAAE,CAAC;QACnD,WAAW,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IACjC,CAAC;IACD,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;IAE7D,wCAAwC;IACxC,MAAM,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC;IAEhD,sEAAsE;IACtE,mCAAmC;IACnC,MAAM,IAAI,GAAS,QAAQ,CAAC,IAAI,IAAI,OAAO,CAAC;IAE5C,OAAO,EAAE,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;AACpC,CAAC"}
1
+ {"version":3,"file":"metric-validators.js","sourceRoot":"","sources":["../../src/dimensional/metric-validators.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"tensor.d.ts","sourceRoot":"","sources":["../../src/dimensional/tensor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tensor.d.ts","sourceRoot":"","sources":["../../src/dimensional/tensor.ts"],"names":[],"mappings":"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"}
@@ -108,10 +108,15 @@ export function computeContraction(args, validateChild) {
108
108
  }
109
109
  // Step C: Drop fully-contracted labels (both counts zero) from the
110
110
  // outgoing freeIndices map so callers don't see phantom dummies.
111
- for (const [label, counts] of Array.from(merged.entries())) {
111
+ // Collect keys first; delete in a second pass to avoid modifying the
112
+ // Map during iteration (allocates only the small set of contracted labels).
113
+ const toDelete = [];
114
+ for (const [label, counts] of merged) {
112
115
  if (counts.upper === 0 && counts.lower === 0)
113
- merged.delete(label);
116
+ toDelete.push(label);
114
117
  }
118
+ for (const label of toDelete)
119
+ merged.delete(label);
115
120
  return { dim, freeIndices: merged, contractionPairs };
116
121
  }
117
122
  /** Construct a tensor-symbol node. */
@@ -1 +1 @@
1
- {"version":3,"file":"tensor.js","sourceRoot":"","sources":["../../src/dimensional/tensor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tensor.js","sourceRoot":"","sources":["../../src/dimensional/tensor.ts"],"names":[],"mappings":"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"}
@@ -13,7 +13,8 @@
13
13
  import { Dimension } from './types.js';
14
14
  import type { TensorSymbolNode, TensorProductNode } from './tensor.js';
15
15
  import type { MetricTensorNode, KroneckerDeltaNode, TensorPartialDerivativeNode } from './metric-validators.js';
16
- import type { CovariantDerivativeNode } from './connection-validators.js';
16
+ import type { CovariantDerivativeNode, RiemannTensorNode } from './connection-validators.js';
17
+ import type { RicciTensorNode, EinsteinTensorNode, BianchiResidualNode } from './curvature.js';
17
18
  export type ExprNode = {
18
19
  kind: 'symbol';
19
20
  name: string;
@@ -30,10 +31,11 @@ export type ExprNode = {
30
31
  kind: 'derivative';
31
32
  of: ExprNode;
32
33
  wrt: ExprNode;
33
- } | TensorSymbolNode | TensorProductNode | MetricTensorNode | KroneckerDeltaNode | TensorPartialDerivativeNode | CovariantDerivativeNode;
34
+ } | TensorSymbolNode | TensorProductNode | MetricTensorNode | KroneckerDeltaNode | TensorPartialDerivativeNode | CovariantDerivativeNode | RiemannTensorNode | RicciTensorNode | EinsteinTensorNode | BianchiResidualNode;
34
35
  export type { TensorSymbolNode, TensorProductNode, TensorExprNode } from './tensor.js';
35
36
  export type { MetricTensorNode, KroneckerDeltaNode, TensorPartialDerivativeNode, } from './metric-validators.js';
36
- export type { CovariantDerivativeNode } from './connection-validators.js';
37
+ export type { CovariantDerivativeNode, RiemannTensorNode, UpperIndex } from './connection-validators.js';
38
+ export type { RicciTensorNode, EinsteinTensorNode, BianchiResidualNode } from './curvature.js';
37
39
  export interface Violation {
38
40
  /** Tree path, e.g. "args[1].args[0]". Empty string for the root. */
39
41
  location: string;
@@ -1 +1 @@
1
- {"version":3,"file":"validator.d.ts","sourceRoot":"","sources":["../../src/dimensional/validator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EACL,SAAS,EAEV,MAAM,YAAY,CAAC;AAgBpB,OAAO,KAAK,EAAE,gBAAgB,EAAE,iBAAiB,EAAyB,MAAM,aAAa,CAAC;AAE9F,OAAO,KAAK,EACV,gBAAgB,EAChB,kBAAkB,EAClB,2BAA2B,EAE5B,MAAM,wBAAwB,CAAC;AAOhC,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AAG1E,MAAM,MAAM,QAAQ,GAChB;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,SAAS,CAAA;CAAE,GAChD;IAAE,IAAI,EAAE,IAAI,CAAC;IAAC,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;IAAC,IAAI,EAAE,QAAQ,EAAE,CAAA;CAAE,GACjE;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,IAAI,EAAE,QAAQ,CAAC;IAAC,SAAS,EAAE,QAAQ,CAAA;CAAE,GACzD;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,EAAE,EAAE,QAAQ,CAAC;IAAC,GAAG,EAAE,QAAQ,CAAA;CAAE,GACnD,gBAAgB,GAChB,iBAAiB,GACjB,gBAAgB,GAChB,kBAAkB,GAClB,2BAA2B,GAC3B,uBAAuB,CAAC;AAG5B,YAAY,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AACvF,YAAY,EACV,gBAAgB,EAChB,kBAAkB,EAClB,2BAA2B,GAC5B,MAAM,wBAAwB,CAAC;AAChC,YAAY,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AAE1E,MAAM,WAAW,SAAS;IACxB,oEAAoE;IACpE,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,SAAS,CAAC;IACpB,MAAM,EAAE,SAAS,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb;8EAC0E;IAC1E,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CAChC;AAED,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,OAAO,CAAC;IACZ,iBAAiB,EAAE,SAAS,GAAG,IAAI,CAAC;IACpC;;qDAEiD;IACjD,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC3D,UAAU,EAAE,SAAS,EAAE,CAAC;CACzB;AAED;;;;;;;;;;GAUG;AACH,MAAM,WAAW,yBAAyB;IACxC,EAAE,EAAE,OAAO,CAAC;IACZ,MAAM,EAAE,SAAS,GAAG,IAAI,CAAC;IACzB,MAAM,EAAE,SAAS,GAAG,IAAI,CAAC;CAC1B;AAmeD,wBAAgB,QAAQ,CAAC,IAAI,EAAE,QAAQ,GAAG,gBAAgB,CASzD;AAED;;;;;GAKG;AACH,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,gBAAgB,EACxB,MAAM,EAAE,gBAAgB,GACvB,SAAS,EAAE,CAUb;AAED,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,GAAG,gBAAgB,CAyB/E"}
1
+ {"version":3,"file":"validator.d.ts","sourceRoot":"","sources":["../../src/dimensional/validator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EACL,SAAS,EAEV,MAAM,YAAY,CAAC;AAgBpB,OAAO,KAAK,EAAE,gBAAgB,EAAE,iBAAiB,EAAyB,MAAM,aAAa,CAAC;AAE9F,OAAO,KAAK,EACV,gBAAgB,EAChB,kBAAkB,EAClB,2BAA2B,EAE5B,MAAM,wBAAwB,CAAC;AAOhC,OAAO,KAAK,EAAE,uBAAuB,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAE7F,OAAO,KAAK,EAAE,eAAe,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAG/F,MAAM,MAAM,QAAQ,GAChB;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,SAAS,CAAA;CAAE,GAChD;IAAE,IAAI,EAAE,IAAI,CAAC;IAAC,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;IAAC,IAAI,EAAE,QAAQ,EAAE,CAAA;CAAE,GACjE;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,IAAI,EAAE,QAAQ,CAAC;IAAC,SAAS,EAAE,QAAQ,CAAA;CAAE,GACzD;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,EAAE,EAAE,QAAQ,CAAC;IAAC,GAAG,EAAE,QAAQ,CAAA;CAAE,GACnD,gBAAgB,GAChB,iBAAiB,GACjB,gBAAgB,GAChB,kBAAkB,GAClB,2BAA2B,GAC3B,uBAAuB,GACvB,iBAAiB,GACjB,eAAe,GACf,kBAAkB,GAClB,mBAAmB,CAAC;AAGxB,YAAY,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AACvF,YAAY,EACV,gBAAgB,EAChB,kBAAkB,EAClB,2BAA2B,GAC5B,MAAM,wBAAwB,CAAC;AAChC,YAAY,EAAE,uBAAuB,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AACzG,YAAY,EAAE,eAAe,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAE/F,MAAM,WAAW,SAAS;IACxB,oEAAoE;IACpE,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,SAAS,CAAC;IACpB,MAAM,EAAE,SAAS,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb;8EAC0E;IAC1E,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CAChC;AAED,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,OAAO,CAAC;IACZ,iBAAiB,EAAE,SAAS,GAAG,IAAI,CAAC;IACpC;;qDAEiD;IACjD,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC3D,UAAU,EAAE,SAAS,EAAE,CAAC;CACzB;AAED;;;;;;;;;;GAUG;AACH,MAAM,WAAW,yBAAyB;IACxC,EAAE,EAAE,OAAO,CAAC;IACZ,MAAM,EAAE,SAAS,GAAG,IAAI,CAAC;IACzB,MAAM,EAAE,SAAS,GAAG,IAAI,CAAC;CAC1B;AA+hBD,wBAAgB,QAAQ,CAAC,IAAI,EAAE,QAAQ,GAAG,gBAAgB,CASzD;AAED;;;;;GAKG;AACH,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,gBAAgB,EACxB,MAAM,EAAE,gBAAgB,GACvB,SAAS,EAAE,CAUb;AAED,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,GAAG,gBAAgB,CAyB/E"}
@@ -15,7 +15,8 @@ import { multiply, divide, power, add, subtract, equals, format, DimensionMismat
15
15
  import { TensorInScalarOpError, FreeIndexMismatchError, TensorProductChildInferenceError, } from './errors.js';
16
16
  import { validateTensorSymbol, computeContraction } from './tensor.js';
17
17
  import { validateMetricTensor, validateKroneckerDelta, validatePartialDerivative, checkInverseMetricStructure, } from './metric-validators.js';
18
- import { validateCovariantDerivative } from './connection-validators.js';
18
+ import { validateCovariantDerivative, validateRiemannTensor } from './connection-validators.js';
19
+ import { validateRicciTensor, validateEinsteinTensor, validateBianchiResidual } from './curvature.js';
19
20
  function joinPath(path, segment) {
20
21
  return path === '' ? segment : `${path}.${segment}`;
21
22
  }
@@ -210,7 +211,7 @@ function infer(node, ctx) {
210
211
  // dim if it can be inferred cleanly.
211
212
  const probeCtx = { path: joinPath(ctx.path, 'args[1]'), violations: [], freeIndices: new Map() };
212
213
  const probed = infer(expNode, probeCtx);
213
- if (probed !== null && probed !== undefined && probeCtx.violations.length === 0) {
214
+ if (probed !== null && probed !== undefined && okFromViolations(probeCtx.violations)) {
214
215
  actualDim = probed;
215
216
  }
216
217
  }
@@ -425,6 +426,62 @@ function infer(node, ctx) {
425
426
  }
426
427
  return result.dim;
427
428
  }
429
+ case 'riemann-tensor': {
430
+ // H1 (v0.4.0 pattern): gLower/gInverse/xCoord free indices are NOT
431
+ // propagated. Validator signature-checks them internally; no
432
+ // validateChild callback is threaded for those sub-nodes — same
433
+ // discipline as validateCovariantDerivative (see connection-
434
+ // validators.ts lines 94-98).
435
+ const result = validateRiemannTensor(node);
436
+ for (const [label, counts] of result.freeIndices) {
437
+ ctx.freeIndices.set(label, counts);
438
+ }
439
+ return result.dim;
440
+ }
441
+ case 'ricci-tensor': {
442
+ // v0.5.0 Task 7 — ricci(R): contracts the embedded Riemann's first
443
+ // upper + first lower (ρ ↔ σ). Output free indices = {μ, ν} from
444
+ // R.lowerIndices[1..2]. Re-validates the embedded Riemann (so its
445
+ // signature checks fire) but discards the Riemann's free-index map
446
+ // — only the surviving μ, ν propagate.
447
+ const result = validateRicciTensor(node, (riemannChild) => {
448
+ const rr = validateRiemannTensor(riemannChild);
449
+ return { dim: rr.dim, freeIndices: rr.freeIndices };
450
+ });
451
+ for (const [label, counts] of result.freeIndices) {
452
+ ctx.freeIndices.set(label, counts);
453
+ }
454
+ return result.dim;
455
+ }
456
+ case 'einstein-tensor': {
457
+ // v0.5.0 Task 8 — einstein(R, g, gInverse): G_μν = R_μν − ½ R g_μν.
458
+ // Free indices and dim match the inner Ricci (R_μν − ½ R g_μν shares
459
+ // the same {μ_out, ν_out} as R_μν by construction). gLower / gInverse
460
+ // free indices are NOT propagated (H1 — consumed internally by the
461
+ // scalar-trace contraction and the ½ R g_μν multiplication).
462
+ const result = validateEinsteinTensor(node, (riemannChild) => {
463
+ const rr = validateRiemannTensor(riemannChild);
464
+ return { dim: rr.dim, freeIndices: rr.freeIndices };
465
+ });
466
+ for (const [label, counts] of result.freeIndices) {
467
+ ctx.freeIndices.set(label, counts);
468
+ }
469
+ return result.dim;
470
+ }
471
+ case 'bianchi-residual': {
472
+ // v0.5.0 Task 9 — bianchiResidual(R): cyclic-derivative identity
473
+ // residual B_{λμνρσ} = ∇_λ R_{μνρσ} + cyclic over (λ,μ,ν). 5 free
474
+ // lower indices (synthesised `lambda`, `alpha_lower` + 3 lower from
475
+ // R.lowerIndices). Dim L⁻³ (R is L⁻², ∇ adds L⁻¹).
476
+ const result = validateBianchiResidual(node, (riemannChild) => {
477
+ const rr = validateRiemannTensor(riemannChild);
478
+ return { dim: rr.dim, freeIndices: rr.freeIndices };
479
+ });
480
+ for (const [label, counts] of result.freeIndices) {
481
+ ctx.freeIndices.set(label, counts);
482
+ }
483
+ return result.dim;
484
+ }
428
485
  default: {
429
486
  // Exhaustiveness guard: if a future ExprNode arm is added but not
430
487
  // handled here, this branch records a shape violation rather than
@@ -1 +1 @@
1
- {"version":3,"file":"validator.js","sourceRoot":"","sources":["../../src/dimensional/validator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"validator.js","sourceRoot":"","sources":["../../src/dimensional/validator.ts"],"names":[],"mappings":"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"}