universal-physics-tensor 0.14.0 → 0.16.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/diff/bridge-ast-gradient.d.ts +47 -0
- package/dist/diff/bridge-ast-gradient.d.ts.map +1 -0
- package/dist/diff/bridge-ast-gradient.js +138 -0
- package/dist/diff/bridge-ast-gradient.js.map +1 -0
- package/dist/diff/bridge-gradient.d.ts +51 -8
- package/dist/diff/bridge-gradient.d.ts.map +1 -1
- package/dist/diff/bridge-gradient.js +75 -8
- package/dist/diff/bridge-gradient.js.map +1 -1
- package/dist/index.d.ts +4 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Exact bridge-gradients via reverse-mode AD over the symbolic RHS AST.
|
|
3
|
+
*
|
|
4
|
+
* The catalog's plain-JS evaluators cannot be differentiated by AD (they run
|
|
5
|
+
* raw `Math.*` arithmetic; see `bridge-gradient.ts`), and `bridgeGradient`'s
|
|
6
|
+
* engine path detaches them. But each bridge also carries a faithful symbolic
|
|
7
|
+
* encoding of its RHS (`*_RHS: ExprNode`). This module lowers that scalar AST
|
|
8
|
+
* through `@danielsimonjr/mathts-autograd`'s `TapedTensor` ops — binding the
|
|
9
|
+
* chosen variable to a traced input and every other symbol to a constant tape
|
|
10
|
+
* leaf — so `reverseGrad` returns the EXACT derivative (machine precision), with
|
|
11
|
+
* the plain-JS evaluators left untouched (P8 Decision #1).
|
|
12
|
+
*
|
|
13
|
+
* Scope: the dimensional scalar grammar is `symbol` + `op(+ − * / ^)` (the
|
|
14
|
+
* transcendentals of a bridge are absorbed into typed-stub *symbols*, so they
|
|
15
|
+
* appear as opaque constants here). A bridge encoded with a typed stub therefore
|
|
16
|
+
* differentiates with respect to the stub, not the physics inside it — faithful,
|
|
17
|
+
* fully-expanded encodings (e.g. BE-42 `ℏc³/(8πGM·k_B)`) differentiate exactly.
|
|
18
|
+
* `^` exponents must be constant (the differentiation variable may not appear in
|
|
19
|
+
* an exponent).
|
|
20
|
+
*
|
|
21
|
+
* Requires the optional `@danielsimonjr/mathts-autograd` peer; throws
|
|
22
|
+
* `EngineCapabilityError` when it is absent (same graceful-degradation contract
|
|
23
|
+
* as `bridgeGradient`).
|
|
24
|
+
*
|
|
25
|
+
* @module diff/bridge-ast-gradient
|
|
26
|
+
*/
|
|
27
|
+
import type { ExprNode } from '../dimensional/validator.js';
|
|
28
|
+
/**
|
|
29
|
+
* Result of {@link bridgeGradientAST}: the bridge's scalar `value` at the
|
|
30
|
+
* supplied point and the exact `gradient` d(value)/d(varName).
|
|
31
|
+
*
|
|
32
|
+
* @public
|
|
33
|
+
*/
|
|
34
|
+
export interface ASTGradientResult {
|
|
35
|
+
readonly value: number;
|
|
36
|
+
readonly gradient: number;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Differentiate a scalar bridge RHS AST with respect to one symbol via
|
|
40
|
+
* reverse-mode AD. Every symbol other than `varName` is resolved to a constant
|
|
41
|
+
* (caller `bindings`, then {@link NAMED_CONSTANTS}, then numeric literal); the
|
|
42
|
+
* `bindings` must contain `varName` (its value sets the point of evaluation).
|
|
43
|
+
*
|
|
44
|
+
* @public
|
|
45
|
+
*/
|
|
46
|
+
export declare function bridgeGradientAST(rhs: ExprNode, varName: string, bindings: Record<string, number>): Promise<ASTGradientResult>;
|
|
47
|
+
//# sourceMappingURL=bridge-ast-gradient.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bridge-ast-gradient.d.ts","sourceRoot":"","sources":["../../src/diff/bridge-ast-gradient.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAI5D;;;;;GAKG;AACH,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AA0FD;;;;;;;GAOG;AACH,wBAAsB,iBAAiB,CACrC,GAAG,EAAE,QAAQ,EACb,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC/B,OAAO,CAAC,iBAAiB,CAAC,CAyE5B"}
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Exact bridge-gradients via reverse-mode AD over the symbolic RHS AST.
|
|
3
|
+
*
|
|
4
|
+
* The catalog's plain-JS evaluators cannot be differentiated by AD (they run
|
|
5
|
+
* raw `Math.*` arithmetic; see `bridge-gradient.ts`), and `bridgeGradient`'s
|
|
6
|
+
* engine path detaches them. But each bridge also carries a faithful symbolic
|
|
7
|
+
* encoding of its RHS (`*_RHS: ExprNode`). This module lowers that scalar AST
|
|
8
|
+
* through `@danielsimonjr/mathts-autograd`'s `TapedTensor` ops — binding the
|
|
9
|
+
* chosen variable to a traced input and every other symbol to a constant tape
|
|
10
|
+
* leaf — so `reverseGrad` returns the EXACT derivative (machine precision), with
|
|
11
|
+
* the plain-JS evaluators left untouched (P8 Decision #1).
|
|
12
|
+
*
|
|
13
|
+
* Scope: the dimensional scalar grammar is `symbol` + `op(+ − * / ^)` (the
|
|
14
|
+
* transcendentals of a bridge are absorbed into typed-stub *symbols*, so they
|
|
15
|
+
* appear as opaque constants here). A bridge encoded with a typed stub therefore
|
|
16
|
+
* differentiates with respect to the stub, not the physics inside it — faithful,
|
|
17
|
+
* fully-expanded encodings (e.g. BE-42 `ℏc³/(8πGM·k_B)`) differentiate exactly.
|
|
18
|
+
* `^` exponents must be constant (the differentiation variable may not appear in
|
|
19
|
+
* an exponent).
|
|
20
|
+
*
|
|
21
|
+
* Requires the optional `@danielsimonjr/mathts-autograd` peer; throws
|
|
22
|
+
* `EngineCapabilityError` when it is absent (same graceful-degradation contract
|
|
23
|
+
* as `bridgeGradient`).
|
|
24
|
+
*
|
|
25
|
+
* @module diff/bridge-ast-gradient
|
|
26
|
+
*/
|
|
27
|
+
import { PhysicalConstants } from '../core/types.js';
|
|
28
|
+
import { EngineCapabilityError } from '../numerical/errors.js';
|
|
29
|
+
/**
|
|
30
|
+
* Named physical constants the bridge encodings reference as bare symbols.
|
|
31
|
+
* Sourced from `PhysicalConstants` so a traced AST evaluates to the SAME number
|
|
32
|
+
* as the corresponding hand-written evaluator. Callers can override or extend
|
|
33
|
+
* via the `bindings` argument.
|
|
34
|
+
*/
|
|
35
|
+
const NAMED_CONSTANTS = {
|
|
36
|
+
hbar: PhysicalConstants.hbar,
|
|
37
|
+
c: PhysicalConstants.c,
|
|
38
|
+
G: PhysicalConstants.G,
|
|
39
|
+
k_B: PhysicalConstants.kB,
|
|
40
|
+
kB: PhysicalConstants.kB,
|
|
41
|
+
pi: Math.PI,
|
|
42
|
+
'2pi': 2 * Math.PI,
|
|
43
|
+
'4pi': 4 * Math.PI,
|
|
44
|
+
'8pi': 8 * Math.PI,
|
|
45
|
+
};
|
|
46
|
+
/** Resolve a symbol's numeric value: caller bindings → named constants → numeric literal. */
|
|
47
|
+
function resolveConstant(name, bindings) {
|
|
48
|
+
if (Object.prototype.hasOwnProperty.call(bindings, name))
|
|
49
|
+
return bindings[name];
|
|
50
|
+
if (Object.prototype.hasOwnProperty.call(NAMED_CONSTANTS, name))
|
|
51
|
+
return NAMED_CONSTANTS[name];
|
|
52
|
+
const asNumber = Number(name);
|
|
53
|
+
if (name.trim() !== '' && Number.isFinite(asNumber))
|
|
54
|
+
return asNumber;
|
|
55
|
+
throw new TypeError(`bridgeGradientAST: unknown symbol '${name}' — not a binding, a named constant ` +
|
|
56
|
+
`(${Object.keys(NAMED_CONSTANTS).join(', ')}), or a numeric literal. Supply it in bindings.`);
|
|
57
|
+
}
|
|
58
|
+
/** Resolve a `^` exponent to a constant number; reject the differentiation variable. */
|
|
59
|
+
function resolveExponent(node, varName, bindings) {
|
|
60
|
+
if (node.kind === 'symbol') {
|
|
61
|
+
if (node.name === varName) {
|
|
62
|
+
throw new TypeError(`bridgeGradientAST: differentiation variable '${varName}' appears as an exponent — ` +
|
|
63
|
+
`variable exponents are not supported (only constant powers).`);
|
|
64
|
+
}
|
|
65
|
+
return resolveConstant(node.name, bindings);
|
|
66
|
+
}
|
|
67
|
+
throw new TypeError(`bridgeGradientAST: '^' exponent must be a constant symbol, got node kind '${node.kind}'.`);
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Differentiate a scalar bridge RHS AST with respect to one symbol via
|
|
71
|
+
* reverse-mode AD. Every symbol other than `varName` is resolved to a constant
|
|
72
|
+
* (caller `bindings`, then {@link NAMED_CONSTANTS}, then numeric literal); the
|
|
73
|
+
* `bindings` must contain `varName` (its value sets the point of evaluation).
|
|
74
|
+
*
|
|
75
|
+
* @public
|
|
76
|
+
*/
|
|
77
|
+
export async function bridgeGradientAST(rhs, varName, bindings) {
|
|
78
|
+
if (!Object.prototype.hasOwnProperty.call(bindings, varName)) {
|
|
79
|
+
throw new TypeError(`bridgeGradientAST: bindings must contain the differentiation variable '${varName}'.`);
|
|
80
|
+
}
|
|
81
|
+
let autograd;
|
|
82
|
+
let tensorMod;
|
|
83
|
+
try {
|
|
84
|
+
autograd =
|
|
85
|
+
(await import('@danielsimonjr/mathts-autograd'));
|
|
86
|
+
tensorMod =
|
|
87
|
+
(await import('@danielsimonjr/mathts-tensor'));
|
|
88
|
+
}
|
|
89
|
+
catch {
|
|
90
|
+
throw new EngineCapabilityError('mathts-autograd', 'reverseGrad');
|
|
91
|
+
}
|
|
92
|
+
const { reverseGrad, TapedTensor } = autograd;
|
|
93
|
+
const { Tensor } = tensorMod;
|
|
94
|
+
// Build the (traced var) → scalar function reverseGrad expects. `x` arrives as
|
|
95
|
+
// a TapedTensor; constants become extra tape leaves (their gradients are
|
|
96
|
+
// computed and ignored — only `x`'s gradient is returned).
|
|
97
|
+
const fn = (x) => {
|
|
98
|
+
const constLeaf = (v) => TapedTensor.fromTensorAsInput(Tensor.fromNested(v, []), x.tape);
|
|
99
|
+
const walk = (node) => {
|
|
100
|
+
if (node.kind === 'symbol') {
|
|
101
|
+
return node.name === varName
|
|
102
|
+
? x
|
|
103
|
+
: constLeaf(resolveConstant(node.name, bindings));
|
|
104
|
+
}
|
|
105
|
+
if (node.kind === 'op') {
|
|
106
|
+
switch (node.op) {
|
|
107
|
+
case '+':
|
|
108
|
+
return node.args.map(walk).reduce((a, b) => a.add(b));
|
|
109
|
+
case '-': {
|
|
110
|
+
const terms = node.args.map(walk);
|
|
111
|
+
// Unary minus (0 − t); n-ary subtract folds left.
|
|
112
|
+
return terms.length === 1
|
|
113
|
+
? constLeaf(0).sub(terms[0])
|
|
114
|
+
: terms.reduce((a, b) => a.sub(b));
|
|
115
|
+
}
|
|
116
|
+
case '*':
|
|
117
|
+
return node.args.map(walk).reduce((a, b) => a.mul(b));
|
|
118
|
+
case '/':
|
|
119
|
+
return node.args.map(walk).reduce((a, b) => a.divide(b));
|
|
120
|
+
case '^':
|
|
121
|
+
return walk(node.args[0]).pow(resolveExponent(node.args[1], varName, bindings));
|
|
122
|
+
default:
|
|
123
|
+
throw new TypeError(`bridgeGradientAST: unsupported operator '${node.op}'.`);
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
throw new TypeError(`bridgeGradientAST: unsupported node kind '${node.kind}' — the scalar grammar is ` +
|
|
127
|
+
`symbol + op(+ − * / ^). Transcendental bridges encode stubs as symbols.`);
|
|
128
|
+
};
|
|
129
|
+
return walk(rhs);
|
|
130
|
+
};
|
|
131
|
+
const xLeaf = Tensor.fromNested(bindings[varName], []);
|
|
132
|
+
const { value, gradient } = reverseGrad(fn, xLeaf);
|
|
133
|
+
return {
|
|
134
|
+
value: value.toNested(),
|
|
135
|
+
gradient: gradient.toNested(),
|
|
136
|
+
};
|
|
137
|
+
}
|
|
138
|
+
//# sourceMappingURL=bridge-ast-gradient.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bridge-ast-gradient.js","sourceRoot":"","sources":["../../src/diff/bridge-ast-gradient.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAGH,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AA8C/D;;;;;GAKG;AACH,MAAM,eAAe,GAAqC;IACxD,IAAI,EAAE,iBAAiB,CAAC,IAAI;IAC5B,CAAC,EAAE,iBAAiB,CAAC,CAAC;IACtB,CAAC,EAAE,iBAAiB,CAAC,CAAC;IACtB,GAAG,EAAE,iBAAiB,CAAC,EAAE;IACzB,EAAE,EAAE,iBAAiB,CAAC,EAAE;IACxB,EAAE,EAAE,IAAI,CAAC,EAAE;IACX,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC,EAAE;IAClB,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC,EAAE;IAClB,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC,EAAE;CACnB,CAAC;AAEF,6FAA6F;AAC7F,SAAS,eAAe,CACtB,IAAY,EACZ,QAAgC;IAEhC,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC;QACtD,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC;IACxB,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC;QAC7D,OAAO,eAAe,CAAC,IAAI,CAAC,CAAC;IAC/B,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;IAC9B,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAAE,OAAO,QAAQ,CAAC;IACrE,MAAM,IAAI,SAAS,CACjB,sCAAsC,IAAI,sCAAsC;QAC9E,IAAI,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,iDAAiD,CAC/F,CAAC;AACJ,CAAC;AAED,wFAAwF;AACxF,SAAS,eAAe,CACtB,IAAc,EACd,OAAe,EACf,QAAgC;IAEhC,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC3B,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YAC1B,MAAM,IAAI,SAAS,CACjB,gDAAgD,OAAO,6BAA6B;gBAClF,8DAA8D,CACjE,CAAC;QACJ,CAAC;QACD,OAAO,eAAe,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAC9C,CAAC;IACD,MAAM,IAAI,SAAS,CACjB,6EAA6E,IAAI,CAAC,IAAI,IAAI,CAC3F,CAAC;AACJ,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,GAAa,EACb,OAAe,EACf,QAAgC;IAEhC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,EAAE,CAAC;QAC7D,MAAM,IAAI,SAAS,CACjB,0EAA0E,OAAO,IAAI,CACtF,CAAC;IACJ,CAAC;IAED,IAAI,QAA4B,CAAC;IACjC,IAAI,SAA2B,CAAC;IAChC,IAAI,CAAC;QACH,QAAQ;YACN,CAAC,MAAM,MAAM,CAAC,gCAAgC,CAAC,CAAkC,CAAC;QACpF,SAAS;YACP,CAAC,MAAM,MAAM,CAAC,8BAA8B,CAAC,CAAgC,CAAC;IAClF,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,qBAAqB,CAAC,iBAAiB,EAAE,aAAa,CAAC,CAAC;IACpE,CAAC;IACD,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,GAAG,QAAQ,CAAC;IAC9C,MAAM,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IAE7B,+EAA+E;IAC/E,yEAAyE;IACzE,2DAA2D;IAC3D,MAAM,EAAE,GAAG,CAAC,CAAc,EAAe,EAAE;QACzC,MAAM,SAAS,GAAG,CAAC,CAAS,EAAe,EAAE,CAC3C,WAAW,CAAC,iBAAiB,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;QAElE,MAAM,IAAI,GAAG,CAAC,IAAc,EAAe,EAAE;YAC3C,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC3B,OAAO,IAAI,CAAC,IAAI,KAAK,OAAO;oBAC1B,CAAC,CAAC,CAAC;oBACH,CAAC,CAAC,SAAS,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC;YACtD,CAAC;YACD,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;gBACvB,QAAQ,IAAI,CAAC,EAAE,EAAE,CAAC;oBAChB,KAAK,GAAG;wBACN,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;oBACxD,KAAK,GAAG,CAAC,CAAC,CAAC;wBACT,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;wBAClC,kDAAkD;wBAClD,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;4BACvB,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;4BAC5B,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;oBACvC,CAAC;oBACD,KAAK,GAAG;wBACN,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;oBACxD,KAAK,GAAG;wBACN,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;oBAC3D,KAAK,GAAG;wBACN,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAC3B,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,CACjD,CAAC;oBACJ;wBACE,MAAM,IAAI,SAAS,CACjB,4CAA4C,IAAI,CAAC,EAAE,IAAI,CACxD,CAAC;gBACN,CAAC;YACH,CAAC;YACD,MAAM,IAAI,SAAS,CACjB,6CAA6C,IAAI,CAAC,IAAI,4BAA4B;gBAChF,yEAAyE,CAC5E,CAAC;QACJ,CAAC,CAAC;QAEF,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC;IACnB,CAAC,CAAC;IAEF,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;IACvD,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,WAAW,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;IACnD,OAAO;QACL,KAAK,EAAE,KAAK,CAAC,QAAQ,EAAY;QACjC,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAY;KACxC,CAAC;AACJ,CAAC"}
|
|
@@ -10,15 +10,25 @@
|
|
|
10
10
|
*
|
|
11
11
|
* Per P8 Decision #1, this lives in `src/diff/` (NOT in
|
|
12
12
|
* `src/bridges/`), keeping bridge evaluators untouched. The AD
|
|
13
|
-
* dependency `mathts-autograd` is in `optionalDependencies
|
|
14
|
-
*
|
|
15
|
-
* `
|
|
16
|
-
*
|
|
13
|
+
* dependency `mathts-autograd` is in `optionalDependencies`. Note this
|
|
14
|
+
* gives `bridgeGradient` TWO failure modes, not graceful success: when
|
|
15
|
+
* the peer is ABSENT it throws `EngineCapabilityError`; when the peer is
|
|
16
|
+
* PRESENT it still throws (see the AD limitation below) — installing the
|
|
17
|
+
* peer does not make AD of the plain-JS bridges work.
|
|
17
18
|
*
|
|
18
|
-
*
|
|
19
|
-
*
|
|
20
|
-
*
|
|
21
|
-
*
|
|
19
|
+
* IMPORTANT — AD limitation (verified empirically): `bridgeGradient`
|
|
20
|
+
* does NOT actually differentiate the catalog evaluators. Because P8
|
|
21
|
+
* Decision #1 keeps those evaluators as plain-JS scalar functions
|
|
22
|
+
* (`Math.*` / raw arithmetic on numbers), neither reverse-mode (tape)
|
|
23
|
+
* nor forward-mode (dual) AD can trace them — the tape/dual instrument
|
|
24
|
+
* only sees ops routed through engine-traced tensors. With
|
|
25
|
+
* `Float64ReferenceEngine` the AD path throws; with `MathTSEngine` it
|
|
26
|
+
* also throws (the autograd `TapedTensor` does not survive
|
|
27
|
+
* `engine.toNested`). `bridgeGradient` therefore only works for
|
|
28
|
+
* functions written in engine ops — not the plain-JS bridges.
|
|
29
|
+
*
|
|
30
|
+
* The SUPPORTED way to differentiate a plain-JS bridge evaluator is
|
|
31
|
+
* {@link bridgeGradientNumerical} (central finite differences, no engine).
|
|
22
32
|
*
|
|
23
33
|
* @module diff/bridge-gradient
|
|
24
34
|
*/
|
|
@@ -91,4 +101,37 @@ export declare function bridgeGradient<Input>(spec: BridgeDiffSpec<Input>, engin
|
|
|
91
101
|
* @public
|
|
92
102
|
*/
|
|
93
103
|
export declare function gradientToNamed<Input>(spec: BridgeDiffSpec<Input>, gradient: EngineTensor, engine: TensorEngine): Record<string, number>;
|
|
104
|
+
/**
|
|
105
|
+
* Result of {@link bridgeGradientNumerical}: the bridge's scalar `value`
|
|
106
|
+
* at the supplied point, plus the `gradient` of partial derivatives keyed
|
|
107
|
+
* by `paramName` (insertion follows `spec.paramNames` order).
|
|
108
|
+
*
|
|
109
|
+
* @public
|
|
110
|
+
*/
|
|
111
|
+
export interface BridgeNumericalGradientResult {
|
|
112
|
+
readonly value: number;
|
|
113
|
+
readonly gradient: Readonly<Record<string, number>>;
|
|
114
|
+
}
|
|
115
|
+
/**
|
|
116
|
+
* Gradient of a bridge evaluator by **central finite differences** — the
|
|
117
|
+
* supported way to differentiate the catalog's plain-JS evaluators.
|
|
118
|
+
*
|
|
119
|
+
* Reverse-/forward-mode AD ({@link bridgeGradient}) cannot trace these
|
|
120
|
+
* evaluators: per P8 Decision #1 they are plain-JS scalar functions
|
|
121
|
+
* (`Math.*` / raw arithmetic on numbers), so a tape/dual engine observes no
|
|
122
|
+
* traced ops. `bridgeGradientNumerical` perturbs the inputs instead, so it
|
|
123
|
+
* needs no engine and is synchronous.
|
|
124
|
+
*
|
|
125
|
+
* For each differentiable param with value `x` it uses a relative step
|
|
126
|
+
* `h = max(|x|, 1)·cbrt(eps)` and the ACTUAL representable denominator
|
|
127
|
+
* `dx = (x + h) − (x − h)` — so the perturbation survives floating-point
|
|
128
|
+
* rounding even at astrophysical scales (e.g. `M ≈ 2e30 kg`). The supplied
|
|
129
|
+
* `params` must contain every key in `spec.paramNames`; non-differentiable
|
|
130
|
+
* fields come from `spec.defaults`.
|
|
131
|
+
*
|
|
132
|
+
* @public
|
|
133
|
+
*/
|
|
134
|
+
export declare function bridgeGradientNumerical<Input>(spec: BridgeDiffSpec<Input>, params: Record<string, number>, opts?: {
|
|
135
|
+
readonly relStep?: number;
|
|
136
|
+
}): BridgeNumericalGradientResult;
|
|
94
137
|
//# sourceMappingURL=bridge-gradient.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bridge-gradient.d.ts","sourceRoot":"","sources":["../../src/diff/bridge-gradient.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"bridge-gradient.d.ts","sourceRoot":"","sources":["../../src/diff/bridge-gradient.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAIhF;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,cAAc,CAAC,KAAK;IACnC,iEAAiE;IACjE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,iDAAiD;IACjD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB;;;;OAIG;IACH,QAAQ,CAAC,UAAU,EAAE,aAAa,CAAC,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC;IACzD;;;;;;;OAOG;IACH,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;IAClC,qCAAqC;IACrC,QAAQ,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,MAAM,CAAC;CAC7C;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,QAAQ,EAAE,YAAY,CAAC;CACjC;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,cAAc,CAAC,KAAK,EACxC,IAAI,EAAE,cAAc,CAAC,KAAK,CAAC,EAC3B,MAAM,EAAE,YAAY,EACpB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC7B,OAAO,CAAC,oBAAoB,CAAC,CAmC/B;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,KAAK,EACnC,IAAI,EAAE,cAAc,CAAC,KAAK,CAAC,EAC3B,QAAQ,EAAE,YAAY,EACtB,MAAM,EAAE,YAAY,GACnB,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAOxB;AAED;;;;;;GAMG;AACH,MAAM,WAAW,6BAA6B;IAC5C,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;CACrD;AAUD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAC3C,IAAI,EAAE,cAAc,CAAC,KAAK,CAAC,EAC3B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC9B,IAAI,CAAC,EAAE;IAAE,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,GACnC,6BAA6B,CAmC/B"}
|
|
@@ -10,15 +10,25 @@
|
|
|
10
10
|
*
|
|
11
11
|
* Per P8 Decision #1, this lives in `src/diff/` (NOT in
|
|
12
12
|
* `src/bridges/`), keeping bridge evaluators untouched. The AD
|
|
13
|
-
* dependency `mathts-autograd` is in `optionalDependencies
|
|
14
|
-
*
|
|
15
|
-
* `
|
|
16
|
-
*
|
|
13
|
+
* dependency `mathts-autograd` is in `optionalDependencies`. Note this
|
|
14
|
+
* gives `bridgeGradient` TWO failure modes, not graceful success: when
|
|
15
|
+
* the peer is ABSENT it throws `EngineCapabilityError`; when the peer is
|
|
16
|
+
* PRESENT it still throws (see the AD limitation below) — installing the
|
|
17
|
+
* peer does not make AD of the plain-JS bridges work.
|
|
17
18
|
*
|
|
18
|
-
*
|
|
19
|
-
*
|
|
20
|
-
*
|
|
21
|
-
*
|
|
19
|
+
* IMPORTANT — AD limitation (verified empirically): `bridgeGradient`
|
|
20
|
+
* does NOT actually differentiate the catalog evaluators. Because P8
|
|
21
|
+
* Decision #1 keeps those evaluators as plain-JS scalar functions
|
|
22
|
+
* (`Math.*` / raw arithmetic on numbers), neither reverse-mode (tape)
|
|
23
|
+
* nor forward-mode (dual) AD can trace them — the tape/dual instrument
|
|
24
|
+
* only sees ops routed through engine-traced tensors. With
|
|
25
|
+
* `Float64ReferenceEngine` the AD path throws; with `MathTSEngine` it
|
|
26
|
+
* also throws (the autograd `TapedTensor` does not survive
|
|
27
|
+
* `engine.toNested`). `bridgeGradient` therefore only works for
|
|
28
|
+
* functions written in engine ops — not the plain-JS bridges.
|
|
29
|
+
*
|
|
30
|
+
* The SUPPORTED way to differentiate a plain-JS bridge evaluator is
|
|
31
|
+
* {@link bridgeGradientNumerical} (central finite differences, no engine).
|
|
22
32
|
*
|
|
23
33
|
* @module diff/bridge-gradient
|
|
24
34
|
*/
|
|
@@ -80,4 +90,61 @@ export function gradientToNamed(spec, gradient, engine) {
|
|
|
80
90
|
});
|
|
81
91
|
return out;
|
|
82
92
|
}
|
|
93
|
+
/**
|
|
94
|
+
* Relative step for central differences: `cbrt(eps)` balances the `O(h²)`
|
|
95
|
+
* truncation error against the `O(eps/h)` round-off error (the central-diff
|
|
96
|
+
* optimum). `sqrt(eps)` — the FORWARD-diff optimum — would leave precision on
|
|
97
|
+
* the table for central differences.
|
|
98
|
+
*/
|
|
99
|
+
const CENTRAL_DIFF_REL_STEP = Math.cbrt(Number.EPSILON); // ≈ 6.06e-6
|
|
100
|
+
/**
|
|
101
|
+
* Gradient of a bridge evaluator by **central finite differences** — the
|
|
102
|
+
* supported way to differentiate the catalog's plain-JS evaluators.
|
|
103
|
+
*
|
|
104
|
+
* Reverse-/forward-mode AD ({@link bridgeGradient}) cannot trace these
|
|
105
|
+
* evaluators: per P8 Decision #1 they are plain-JS scalar functions
|
|
106
|
+
* (`Math.*` / raw arithmetic on numbers), so a tape/dual engine observes no
|
|
107
|
+
* traced ops. `bridgeGradientNumerical` perturbs the inputs instead, so it
|
|
108
|
+
* needs no engine and is synchronous.
|
|
109
|
+
*
|
|
110
|
+
* For each differentiable param with value `x` it uses a relative step
|
|
111
|
+
* `h = max(|x|, 1)·cbrt(eps)` and the ACTUAL representable denominator
|
|
112
|
+
* `dx = (x + h) − (x − h)` — so the perturbation survives floating-point
|
|
113
|
+
* rounding even at astrophysical scales (e.g. `M ≈ 2e30 kg`). The supplied
|
|
114
|
+
* `params` must contain every key in `spec.paramNames`; non-differentiable
|
|
115
|
+
* fields come from `spec.defaults`.
|
|
116
|
+
*
|
|
117
|
+
* @public
|
|
118
|
+
*/
|
|
119
|
+
export function bridgeGradientNumerical(spec, params, opts) {
|
|
120
|
+
const relStep = opts?.relStep ?? CENTRAL_DIFF_REL_STEP;
|
|
121
|
+
// Same contract as bridgeGradient: every paramName must be a number.
|
|
122
|
+
for (const k of spec.paramNames) {
|
|
123
|
+
if (typeof params[k] !== 'number') {
|
|
124
|
+
throw new TypeError(`bridgeGradientNumerical: ${spec.bridgeId}: missing or non-numeric param '${k}' ` +
|
|
125
|
+
`(got ${typeof params[k]}). All paramNames must be numbers in the params object.`);
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
// Build the full Input struct (defaults + differentiable params), with an
|
|
129
|
+
// optional single-param override for the perturbed evaluations.
|
|
130
|
+
const buildInput = (override) => {
|
|
131
|
+
const input = { ...spec.defaults };
|
|
132
|
+
for (const k of spec.paramNames)
|
|
133
|
+
input[k] = params[k];
|
|
134
|
+
if (override)
|
|
135
|
+
input[override.key] = override.val;
|
|
136
|
+
return input;
|
|
137
|
+
};
|
|
138
|
+
const value = spec.evaluate(buildInput());
|
|
139
|
+
const gradient = {};
|
|
140
|
+
for (const k of spec.paramNames) {
|
|
141
|
+
const x = params[k];
|
|
142
|
+
const h = Math.max(Math.abs(x), 1) * relStep;
|
|
143
|
+
const dx = x + h - (x - h); // actual representable step (huge-x safe)
|
|
144
|
+
const fp = spec.evaluate(buildInput({ key: k, val: x + h }));
|
|
145
|
+
const fm = spec.evaluate(buildInput({ key: k, val: x - h }));
|
|
146
|
+
gradient[k] = (fp - fm) / dx;
|
|
147
|
+
}
|
|
148
|
+
return { value, gradient };
|
|
149
|
+
}
|
|
83
150
|
//# sourceMappingURL=bridge-gradient.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bridge-gradient.js","sourceRoot":"","sources":["../../src/diff/bridge-gradient.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"bridge-gradient.js","sourceRoot":"","sources":["../../src/diff/bridge-gradient.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -24,8 +24,10 @@ export type { RegimeProvenance, RegimeValueBase, RegimeSpec, } from './core/regi
|
|
|
24
24
|
export { defineRegime, defineScale, defineForce, defineSymmetry, defineInformation, defineDimension, defineTopology, lookupRegime, listRegimesByAxis, provenanceFor, attachRegimesToCell, getCellRegimes, RegimeCollisionError, } from './core/regime-registry.js';
|
|
25
25
|
import './core/regime-rule-install.js';
|
|
26
26
|
import './core/regimes-builtins.js';
|
|
27
|
-
export type { BridgeDiffSpec, BridgeGradientResult, } from './diff/bridge-gradient.js';
|
|
28
|
-
export { bridgeGradient, gradientToNamed, } from './diff/bridge-gradient.js';
|
|
27
|
+
export type { BridgeDiffSpec, BridgeGradientResult, BridgeNumericalGradientResult, } from './diff/bridge-gradient.js';
|
|
28
|
+
export { bridgeGradient, bridgeGradientNumerical, gradientToNamed, } from './diff/bridge-gradient.js';
|
|
29
|
+
export type { ASTGradientResult } from './diff/bridge-ast-gradient.js';
|
|
30
|
+
export { bridgeGradientAST } from './diff/bridge-ast-gradient.js';
|
|
29
31
|
export { BE37_SHAPIRO_DIFF, BE52_PERIHELION_DIFF, BE42_HAWKING_DIFF, BE11_DECOHERENCE_DIFF, DIFFERENTIABLE_BRIDGE_SPECS, } from './diff/bridge-specs.js';
|
|
30
32
|
export { BRIDGE_EQUATIONS } from './bridges/index.js';
|
|
31
33
|
export type { BridgeEquationEntry, BridgeEquationStatus, BridgeIssueSeverity, BridgeIssueFixable, KnownIssue, } from './bridges/index.js';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAInD,OAAO,EACL,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,OAAO,EACP,MAAM,EACN,IAAI,EACJ,KAAK,EACL,MAAM,EACN,MAAM,EACN,MAAM,EACN,KAAK,EAEL,QAAQ,EAER,MAAM,GACP,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EACV,YAAY,EACZ,aAAa,EACb,WAAW,EACX,cAAc,EACd,kBAAkB,EAClB,aAAa,EACb,KAAK,EACL,QAAQ,EACR,kBAAkB,GACnB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAMpD,YAAY,EACV,IAAI,EACJ,QAAQ,EACR,cAAc,EACd,OAAO,EACP,UAAU,EACV,aAAa,GACd,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAKzC,YAAY,EACV,cAAc,EACd,UAAU,GACX,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,YAAY,EACV,kBAAkB,EAClB,sBAAsB,GACvB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACL,cAAc,EACd,WAAW,EACX,aAAa,EACb,2BAA2B,EAC3B,qBAAqB,GACtB,MAAM,8BAA8B,CAAC;AAKtC,YAAY,EACV,QAAQ,EACR,cAAc,EACd,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACtD,YAAY,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAC/C,OAAO,EACL,aAAa,EACb,8BAA8B,EAC9B,iBAAiB,EACjB,qBAAqB,EACrB,qBAAqB,EACrB,cAAc,EACd,cAAc,EACd,cAAc,GACf,MAAM,0BAA0B,CAAC;AAKlC,YAAY,EACV,gBAAgB,EAChB,eAAe,EACf,UAAU,GACX,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,YAAY,EACZ,WAAW,EACX,WAAW,EACX,cAAc,EACd,iBAAiB,EACjB,eAAe,EACf,cAAc,EACd,YAAY,EACZ,iBAAiB,EACjB,aAAa,EACb,mBAAmB,EACnB,cAAc,EACd,oBAAoB,GACrB,MAAM,2BAA2B,CAAC;AAEnC,OAAO,+BAA+B,CAAC;AAEvC,OAAO,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -26,7 +26,8 @@ export { defineRegime, defineScale, defineForce, defineSymmetry, defineInformati
|
|
|
26
26
|
import './core/regime-rule-install.js';
|
|
27
27
|
// Phase 2 side-effect: pre-registers the 18 built-in regimes.
|
|
28
28
|
import './core/regimes-builtins.js';
|
|
29
|
-
export { bridgeGradient, gradientToNamed, } from './diff/bridge-gradient.js';
|
|
29
|
+
export { bridgeGradient, bridgeGradientNumerical, gradientToNamed, } from './diff/bridge-gradient.js';
|
|
30
|
+
export { bridgeGradientAST } from './diff/bridge-ast-gradient.js';
|
|
30
31
|
export { BE37_SHAPIRO_DIFF, BE52_PERIHELION_DIFF, BE42_HAWKING_DIFF, BE11_DECOHERENCE_DIFF, DIFFERENTIABLE_BRIDGE_SPECS, } from './diff/bridge-specs.js';
|
|
31
32
|
// Machine-readable bridge equation index — the 40+ catalogued equations.
|
|
32
33
|
// `BridgeEquationEntry` is intentionally a different shape from the runtime
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,qEAAqE;AACrE,2EAA2E;AAC3E,6EAA6E;AAC7E,OAAO,EACL,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,OAAO,EACP,MAAM,EACN,IAAI,EACJ,KAAK,EACL,MAAM,EACN,MAAM,EACN,MAAM,EACN,KAAK;AACL,iEAAiE;AACjE,QAAQ;AACR,sDAAsD;AACtD,MAAM,GACP,MAAM,qBAAqB,CAAC;AAY7B,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAcpD,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AASzC,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAK1D,OAAO,EACL,cAAc,EACd,WAAW,EACX,aAAa,EACb,2BAA2B,EAC3B,qBAAqB,GACtB,MAAM,8BAA8B,CAAC;AAWtC,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAEtD,OAAO,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAC/C,OAAO,EACL,aAAa,EACb,8BAA8B,EAC9B,iBAAiB,EACjB,qBAAqB,EACrB,qBAAqB,EACrB,cAAc,EACd,cAAc,EACd,cAAc,GACf,MAAM,0BAA0B,CAAC;AAUlC,OAAO,EACL,YAAY,EACZ,WAAW,EACX,WAAW,EACX,cAAc,EACd,iBAAiB,EACjB,eAAe,EACf,cAAc,EACd,YAAY,EACZ,iBAAiB,EACjB,aAAa,EACb,mBAAmB,EACnB,cAAc,EACd,oBAAoB,GACrB,MAAM,2BAA2B,CAAC;AACnC,oEAAoE;AACpE,OAAO,+BAA+B,CAAC;AACvC,8DAA8D;AAC9D,OAAO,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,qEAAqE;AACrE,2EAA2E;AAC3E,6EAA6E;AAC7E,OAAO,EACL,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,OAAO,EACP,MAAM,EACN,IAAI,EACJ,KAAK,EACL,MAAM,EACN,MAAM,EACN,MAAM,EACN,KAAK;AACL,iEAAiE;AACjE,QAAQ;AACR,sDAAsD;AACtD,MAAM,GACP,MAAM,qBAAqB,CAAC;AAY7B,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAcpD,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AASzC,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAK1D,OAAO,EACL,cAAc,EACd,WAAW,EACX,aAAa,EACb,2BAA2B,EAC3B,qBAAqB,GACtB,MAAM,8BAA8B,CAAC;AAWtC,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAEtD,OAAO,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAC/C,OAAO,EACL,aAAa,EACb,8BAA8B,EAC9B,iBAAiB,EACjB,qBAAqB,EACrB,qBAAqB,EACrB,cAAc,EACd,cAAc,EACd,cAAc,GACf,MAAM,0BAA0B,CAAC;AAUlC,OAAO,EACL,YAAY,EACZ,WAAW,EACX,WAAW,EACX,cAAc,EACd,iBAAiB,EACjB,eAAe,EACf,cAAc,EACd,YAAY,EACZ,iBAAiB,EACjB,aAAa,EACb,mBAAmB,EACnB,cAAc,EACd,oBAAoB,GACrB,MAAM,2BAA2B,CAAC;AACnC,oEAAoE;AACpE,OAAO,+BAA+B,CAAC;AACvC,8DAA8D;AAC9D,OAAO,4BAA4B,CAAC;AAYpC,OAAO,EACL,cAAc,EACd,uBAAuB,EACvB,eAAe,GAChB,MAAM,2BAA2B,CAAC;AAInC,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,EACL,iBAAiB,EACjB,oBAAoB,EACpB,iBAAiB,EACjB,qBAAqB,EACrB,2BAA2B,GAC5B,MAAM,wBAAwB,CAAC;AAEhC,yEAAyE;AACzE,4EAA4E;AAC5E,2EAA2E;AAC3E,2EAA2E;AAC3E,yDAAyD;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAStD,8EAA8E;AAC9E,OAAO,EACL,4BAA4B,EAG5B,4BAA4B,GAG7B,MAAM,oBAAoB,CAAC;AAE5B,iFAAiF;AACjF,2EAA2E;AAC3E,0DAA0D;AAC1D,kFAAkF;AAClF,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAEhE,iFAAiF;AACjF,+EAA+E;AAC/E,gFAAgF;AAChF,iCAAiC;AACjC,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAK1D,4EAA4E;AAC5E,sEAAsE;AACtE,sDAAsD;AACtD,OAAO,EAAE,KAAK,EAAE,MAAM,4BAA4B,CAAC;AAGnD,4EAA4E;AAC5E,sEAAsE;AACtE,mEAAmE;AACnE,yEAAyE;AACzE,0CAA0C;AAC1C,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAGtD,kFAAkF;AAClF,mFAAmF;AACnF,4DAA4D;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAG7D,wDAAwD;AACxD,4EAA4E;AAC5E,4EAA4E;AAC5E,6EAA6E;AAC7E,8EAA8E;AAC9E,6EAA6E;AAC7E,OAAO,EACL,qBAAqB,EACrB,uBAAuB,GACxB,MAAM,wBAAwB,CAAC;AAMhC,uEAAuE;AACvE,OAAO,EACL,iBAAiB,GAGlB,MAAM,oCAAoC,CAAC;AAE5C,gFAAgF;AAChF,0EAA0E;AAC1E,+EAA+E;AAC/E,6EAA6E;AAC7E,OAAO,EACL,aAAa,EACb,eAAe,EACf,iBAAiB,EACjB,8BAA8B,GAC/B,MAAM,4BAA4B,CAAC;AAapC,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AAOpE,OAAO,EAAE,yBAAyB,EAAE,MAAM,qCAAqC,CAAC;AAOhF,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAQhG,OAAO,EAAE,kBAAkB,EAAE,6BAA6B,EAAE,MAAM,8BAA8B,CAAC;AAOjG,OAAO,EAAE,2BAA2B,EAAE,MAAM,wCAAwC,CAAC;AAOrF,OAAO,EACL,aAAa,EACb,MAAM,EACN,IAAI,EACJ,IAAI,EACJ,SAAS,EACT,IAAI,EACJ,QAAQ,EACR,YAAY,EACZ,KAAK,EACL,MAAM,EACN,KAAK,EACL,MAAM,EACN,WAAW,EACX,OAAO,EACP,MAAM,GACP,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,QAAQ,EACR,MAAM,EACN,KAAK,EACL,GAAG,EACH,QAAQ,EACR,MAAM,EACN,MAAM,EACN,sBAAsB,GACvB,MAAM,0BAA0B,CAAC;AAElC,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAC;AACnG,OAAO,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;AAExE,mEAAmE;AACnE,gFAAgF;AAChF,0EAA0E;AAC1E,+EAA+E;AAC/E,8EAA8E;AAC9E,mDAAmD;AACnD,OAAO,EACL,gCAAgC,GACjC,MAAM,kCAAkC,CAAC;AAO1C,iFAAiF;AACjF,iFAAiF;AACjF,4EAA4E;AAC5E,8CAA8C;AAC9C,OAAO,EAAE,6BAA6B,EAAE,MAAM,oCAAoC,CAAC;AAanF,OAAO,EAAE,yBAAyB,EAAE,MAAM,uCAAuC,CAAC;AAElF,sEAAsE;AACtE,6EAA6E;AAC7E,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAEhE,8EAA8E;AAC9E,4EAA4E;AAC5E,4EAA4E;AAC5E,4EAA4E;AAC5E,8EAA8E;AAC9E,0EAA0E;AAC1E,OAAO,EACL,iBAAiB,EACjB,oBAAoB,EACpB,qBAAqB,EACrB,sBAAsB,EACtB,eAAe,EACf,eAAe,EACf,qBAAqB;AACrB,4CAA4C;AAC5C,0BAA0B,EAC1B,qBAAqB,EACrB,kBAAkB,EAClB,qCAAqC;AACrC,mCAAmC;AACnC,oBAAoB;AACpB,oCAAoC;AACpC,cAAc,GACf,MAAM,sBAAsB,CAAC;AAuB9B,8EAA8E;AAC9E,0EAA0E;AAC1E,2EAA2E;AAC3E,4EAA4E;AAC5E,8EAA8E;AAC9E,OAAO,EACL,YAAY,EACZ,gBAAgB,EAChB,YAAY,EACZ,aAAa,EACb,aAAa,EACb,wBAAwB,EACxB,yBAAyB,EACzB,wBAAwB,EACxB,oBAAoB;AACpB,kEAAkE;AAClE,aAAa,EACb,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,aAAa,EACb,QAAQ,EACR,QAAQ,EACR,sBAAsB,EACtB,QAAQ;AACR,4DAA4D;AAC5D,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,QAAQ,GACT,MAAM,wBAAwB,CAAC;AAWhC,sEAAsE;AACtE,OAAO,EACL,qBAAqB,EACrB,iBAAiB,EACjB,6BAA6B,EAC7B,mBAAmB,GACpB,MAAM,yBAAyB,CAAC;AAOjC,0DAA0D;AAC1D,OAAO,EACL,YAAY,EACZ,QAAQ,GACT,MAAM,0CAA0C,CAAC;AAMlD,kEAAkE;AAClE,OAAO,EACL,qBAAqB,EACrB,0BAA0B,EAC1B,oBAAoB,GACrB,MAAM,wBAAwB,CAAC;AAOhC,uEAAuE;AACvE,qEAAqE;AACrE,mBAAmB;AACnB,OAAO,EACL,uBAAuB,EACvB,WAAW,EACX,cAAc,GACf,MAAM,wBAAwB,CAAC;AAOhC,sEAAsE;AACtE,yDAAyD;AACzD,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AASlE,uEAAuE;AACvE,6DAA6D;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAOzD,0EAA0E;AAC1E,8EAA8E;AAC9E,uCAAuC;AACvC,OAAO,EAAE,eAAe,EAAE,wBAAwB,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAGtG,OAAO,EAAE,2BAA2B,EAAE,MAAM,0CAA0C,CAAC;AAGvF,qEAAqE;AACrE,sEAAsE;AACtE,qDAAqD;AACrD,OAAO,EACL,YAAY,EACZ,uBAAuB,EACvB,oBAAoB,GACrB,MAAM,6BAA6B,CAAC;AASrC,0EAA0E;AAC1E,OAAO,EACL,qBAAqB,EACrB,yBAAyB,GAC1B,MAAM,kCAAkC,CAAC;AAM1C,6EAA6E;AAC7E,OAAO,EACL,4BAA4B,EAC5B,0BAA0B,GAC3B,MAAM,6BAA6B,CAAC;AAOrC,+EAA+E;AAC/E,OAAO,EACL,YAAY,EACZ,2BAA2B,EAC3B,kBAAkB,EAClB,iBAAiB,GAClB,MAAM,2CAA2C,CAAC;AAOnD,wEAAwE;AACxE,iEAAiE;AACjE,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAE5D,yEAAyE;AACzE,6DAA6D;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "universal-physics-tensor",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.16.0",
|
|
4
4
|
"description": "Computational framework for exploring unified physics through tensor formalism",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -78,7 +78,7 @@
|
|
|
78
78
|
"vitest": "^4.1.7"
|
|
79
79
|
},
|
|
80
80
|
"optionalDependencies": {
|
|
81
|
-
"@danielsimonjr/mathts-autograd": "^0.
|
|
81
|
+
"@danielsimonjr/mathts-autograd": "^0.2.0",
|
|
82
82
|
"@danielsimonjr/mathts-core": "^0.1.3",
|
|
83
83
|
"@danielsimonjr/mathts-expression": "^0.2.1",
|
|
84
84
|
"@danielsimonjr/mathts-functions": "^0.2.2",
|