@justinelliottcobb/amari-wasm 0.12.2 → 0.13.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/README.md +91 -2
- package/amari_wasm.d.ts +242 -93
- package/amari_wasm.js +556 -234
- package/amari_wasm_bg.wasm +0 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# @justinelliottcobb/amari-wasm v0.
|
|
1
|
+
# @justinelliottcobb/amari-wasm v0.13.0
|
|
2
2
|
|
|
3
3
|
**Unified Mathematical Computing Library with High-Precision WebAssembly Support**
|
|
4
4
|
|
|
@@ -16,7 +16,8 @@ Amari is a comprehensive mathematical computing library that brings advanced alg
|
|
|
16
16
|
- **Tropical Algebra**: Max-plus semiring operations for optimization and neural network applications
|
|
17
17
|
- **Automatic Differentiation**: Forward-mode AD with dual numbers for exact derivatives
|
|
18
18
|
- **Measure Theory** *(v0.10.0)*: Lebesgue integration, probability measures, and measure-theoretic foundations
|
|
19
|
-
- **Holographic Memory** *(v0.12.
|
|
19
|
+
- **Holographic Memory** *(v0.12.3)*: Vector Symbolic Architecture for associative memory with binding and bundling operations
|
|
20
|
+
- **Probability Theory** *(v0.13.0)*: Distributions on multivector spaces, MCMC sampling, and Monte Carlo estimation
|
|
20
21
|
- **Relativistic Physics**: Spacetime algebra (Cl(1,3)) with WebAssembly-compatible precision
|
|
21
22
|
- **Spacecraft Orbital Mechanics**: Full-precision trajectory calculations in browsers
|
|
22
23
|
- **Cellular Automata**: Geometric cellular automata with multivector states
|
|
@@ -275,6 +276,82 @@ async function holographicDemo() {
|
|
|
275
276
|
holographicDemo();
|
|
276
277
|
```
|
|
277
278
|
|
|
279
|
+
### Probability on Geometric Algebra *(v0.13.0)*
|
|
280
|
+
|
|
281
|
+
Sample from distributions on multivector spaces and perform Monte Carlo estimation:
|
|
282
|
+
|
|
283
|
+
```typescript
|
|
284
|
+
import init, {
|
|
285
|
+
WasmGaussianMultivector,
|
|
286
|
+
WasmUniformMultivector,
|
|
287
|
+
WasmMonteCarloEstimator
|
|
288
|
+
} from '@justinelliottcobb/amari-wasm';
|
|
289
|
+
|
|
290
|
+
async function probabilisticDemo() {
|
|
291
|
+
await init();
|
|
292
|
+
|
|
293
|
+
// Create a standard Gaussian distribution on Cl(3,0,0)
|
|
294
|
+
const gaussian = WasmGaussianMultivector.standard();
|
|
295
|
+
|
|
296
|
+
// Draw samples
|
|
297
|
+
const samples = [];
|
|
298
|
+
for (let i = 0; i < 1000; i++) {
|
|
299
|
+
samples.push(gaussian.sample());
|
|
300
|
+
}
|
|
301
|
+
console.log(`Drew ${samples.length} Gaussian samples`);
|
|
302
|
+
|
|
303
|
+
// Compute log probability
|
|
304
|
+
const sample = gaussian.sample();
|
|
305
|
+
const logProb = gaussian.logProb(sample);
|
|
306
|
+
console.log(`Log probability: ${logProb}`);
|
|
307
|
+
|
|
308
|
+
// Grade-concentrated distribution (e.g., only on bivectors)
|
|
309
|
+
const bivectorDist = WasmGaussianMultivector.gradeConcentrated(2, 1.0);
|
|
310
|
+
const bivectorSample = bivectorDist.sample();
|
|
311
|
+
|
|
312
|
+
// Uniform distribution on unit multivectors
|
|
313
|
+
const uniform = WasmUniformMultivector.unitSphere();
|
|
314
|
+
const unitSample = uniform.sample();
|
|
315
|
+
|
|
316
|
+
// Monte Carlo estimation
|
|
317
|
+
const estimator = new WasmMonteCarloEstimator();
|
|
318
|
+
|
|
319
|
+
// Estimate expectation of a function
|
|
320
|
+
const estimate = estimator.estimate((mv) => mv.norm(), gaussian, 10000);
|
|
321
|
+
console.log(`Expected norm: ${estimate.mean} ± ${estimate.stdError}`);
|
|
322
|
+
|
|
323
|
+
// Clean up WASM memory
|
|
324
|
+
gaussian.free();
|
|
325
|
+
bivectorDist.free();
|
|
326
|
+
uniform.free();
|
|
327
|
+
sample.free();
|
|
328
|
+
bivectorSample.free();
|
|
329
|
+
unitSample.free();
|
|
330
|
+
estimator.free();
|
|
331
|
+
samples.forEach(s => s.free());
|
|
332
|
+
}
|
|
333
|
+
|
|
334
|
+
probabilisticDemo();
|
|
335
|
+
```
|
|
336
|
+
|
|
337
|
+
#### Probability API
|
|
338
|
+
|
|
339
|
+
**WasmGaussianMultivector:**
|
|
340
|
+
- `standard()`: Create standard Gaussian on full multivector space
|
|
341
|
+
- `new(mean, covariance)`: Create with specified mean and covariance
|
|
342
|
+
- `gradeConcentrated(grade, scale)`: Gaussian concentrated on specific grade
|
|
343
|
+
- `sample()`: Draw a random sample
|
|
344
|
+
- `logProb(sample)`: Compute log probability density
|
|
345
|
+
|
|
346
|
+
**WasmUniformMultivector:**
|
|
347
|
+
- `unitSphere()`: Uniform distribution on unit multivectors
|
|
348
|
+
- `gradeSimplex(grade)`: Uniform on grade components summing to 1
|
|
349
|
+
- `sample()`: Draw a random sample
|
|
350
|
+
|
|
351
|
+
**WasmMonteCarloEstimator:**
|
|
352
|
+
- `estimate(fn, distribution, nSamples)`: Estimate expectation
|
|
353
|
+
- `estimateVariance(fn, distribution, nSamples)`: Estimate variance
|
|
354
|
+
|
|
278
355
|
#### Holographic Memory API
|
|
279
356
|
|
|
280
357
|
**TropicalDualClifford Operations:**
|
|
@@ -307,6 +384,8 @@ holographicDemo();
|
|
|
307
384
|
- **Optimization**: Tropical algebra for shortest path and scheduling problems
|
|
308
385
|
- **Scientific Computing**: High-performance mathematical operations with orbital-grade precision
|
|
309
386
|
- **Probability & Statistics**: Measure theory and numerical integration for statistical computations
|
|
387
|
+
- **Bayesian Inference**: Probabilistic modeling on geometric algebra spaces
|
|
388
|
+
- **Uncertainty Quantification**: Monte Carlo methods for error propagation
|
|
310
389
|
- **Game Development**: Efficient spatial transformations and physics
|
|
311
390
|
- **Spacecraft Trajectory Planning**: High-precision orbital mechanics in web applications
|
|
312
391
|
- **Symbolic AI**: Holographic memory for associative reasoning and concept binding
|
|
@@ -348,6 +427,16 @@ holographicDemo();
|
|
|
348
427
|
- `WasmHolographicMemory.retrieve(key)`: Retrieve by key
|
|
349
428
|
- `WasmResonator.cleanup(input)`: Clean up noisy input
|
|
350
429
|
|
|
430
|
+
### Probabilistic Operations
|
|
431
|
+
|
|
432
|
+
- `WasmGaussianMultivector.standard()`: Standard Gaussian distribution
|
|
433
|
+
- `WasmGaussianMultivector.gradeConcentrated(grade, scale)`: Grade-specific Gaussian
|
|
434
|
+
- `WasmGaussianMultivector.sample()`: Draw random sample
|
|
435
|
+
- `WasmGaussianMultivector.logProb(sample)`: Log probability density
|
|
436
|
+
- `WasmUniformMultivector.unitSphere()`: Uniform on unit sphere
|
|
437
|
+
- `WasmUniformMultivector.sample()`: Draw random sample
|
|
438
|
+
- `WasmMonteCarloEstimator.estimate(fn, dist, n)`: Monte Carlo expectation
|
|
439
|
+
|
|
351
440
|
## Examples
|
|
352
441
|
|
|
353
442
|
Check out the [examples directory](https://github.com/justinelliottcobb/Amari/tree/master/examples) for more detailed usage:
|
package/amari_wasm.d.ts
CHANGED
|
@@ -877,29 +877,6 @@ export class WasmChowClass {
|
|
|
877
877
|
*/
|
|
878
878
|
multiply(other: WasmChowClass): WasmChowClass;
|
|
879
879
|
}
|
|
880
|
-
/**
|
|
881
|
-
* WASM wrapper for cleanup results
|
|
882
|
-
*/
|
|
883
|
-
export class WasmCleanupResult {
|
|
884
|
-
private constructor();
|
|
885
|
-
free(): void;
|
|
886
|
-
/**
|
|
887
|
-
* Get the cleaned (denoised) value
|
|
888
|
-
*/
|
|
889
|
-
getCleaned(): WasmTropicalDualClifford;
|
|
890
|
-
/**
|
|
891
|
-
* Check if the cleanup converged
|
|
892
|
-
*/
|
|
893
|
-
didConverge(): boolean;
|
|
894
|
-
/**
|
|
895
|
-
* Get the number of iterations used
|
|
896
|
-
*/
|
|
897
|
-
getIterations(): number;
|
|
898
|
-
/**
|
|
899
|
-
* Get the index of the best matching codebook item
|
|
900
|
-
*/
|
|
901
|
-
getBestMatchIndex(): number;
|
|
902
|
-
}
|
|
903
880
|
/**
|
|
904
881
|
* WASM wrapper for community detection results
|
|
905
882
|
*/
|
|
@@ -1188,6 +1165,86 @@ export class WasmFourVelocity {
|
|
|
1188
1165
|
*/
|
|
1189
1166
|
to_string(): string;
|
|
1190
1167
|
}
|
|
1168
|
+
/**
|
|
1169
|
+
* WASM wrapper for Gaussian distribution on Cl(3,0,0) multivector space
|
|
1170
|
+
*
|
|
1171
|
+
* A Gaussian distribution over 8-dimensional multivector space with
|
|
1172
|
+
* configurable mean and per-component standard deviation.
|
|
1173
|
+
*/
|
|
1174
|
+
export class WasmGaussianMultivector {
|
|
1175
|
+
free(): void;
|
|
1176
|
+
/**
|
|
1177
|
+
* Get the standard deviations
|
|
1178
|
+
*
|
|
1179
|
+
* Returns 8 values
|
|
1180
|
+
*/
|
|
1181
|
+
getStdDevs(): Float64Array;
|
|
1182
|
+
/**
|
|
1183
|
+
* Get the variance (square of std devs)
|
|
1184
|
+
*
|
|
1185
|
+
* Returns 8 values
|
|
1186
|
+
*/
|
|
1187
|
+
getVariance(): Float64Array;
|
|
1188
|
+
/**
|
|
1189
|
+
* Draw multiple samples from this distribution
|
|
1190
|
+
*
|
|
1191
|
+
* Returns flat array of coefficients: num_samples * 8
|
|
1192
|
+
*/
|
|
1193
|
+
sampleBatch(num_samples: number): Float64Array;
|
|
1194
|
+
/**
|
|
1195
|
+
* Get the full covariance matrix (flattened, row-major)
|
|
1196
|
+
*
|
|
1197
|
+
* Returns 64 values (8x8 matrix)
|
|
1198
|
+
*/
|
|
1199
|
+
getCovariance(): Float64Array;
|
|
1200
|
+
/**
|
|
1201
|
+
* Create a Gaussian with specified mean and standard deviation
|
|
1202
|
+
*
|
|
1203
|
+
* # Arguments
|
|
1204
|
+
* * `mean` - 8 coefficients for the mean multivector
|
|
1205
|
+
* * `std_dev` - 8 coefficients for per-coefficient standard deviation
|
|
1206
|
+
*/
|
|
1207
|
+
static withParameters(mean: Float64Array, std_dev: Float64Array): WasmGaussianMultivector;
|
|
1208
|
+
/**
|
|
1209
|
+
* Create a Gaussian concentrated on a specific grade
|
|
1210
|
+
*
|
|
1211
|
+
* # Arguments
|
|
1212
|
+
* * `grade` - The grade to concentrate on (0=scalar, 1=vectors, 2=bivectors, 3=pseudoscalar)
|
|
1213
|
+
* * `variance` - Variance for coefficients of that grade
|
|
1214
|
+
*/
|
|
1215
|
+
static gradeConcentrated(grade: number, variance: number): WasmGaussianMultivector;
|
|
1216
|
+
/**
|
|
1217
|
+
* Create a standard Gaussian (zero mean, unit variance per coefficient)
|
|
1218
|
+
*/
|
|
1219
|
+
constructor();
|
|
1220
|
+
/**
|
|
1221
|
+
* Draw a sample from this distribution
|
|
1222
|
+
*
|
|
1223
|
+
* Returns 8 coefficients for the sampled multivector
|
|
1224
|
+
*/
|
|
1225
|
+
sample(): Float64Array;
|
|
1226
|
+
/**
|
|
1227
|
+
* Get the mean of this distribution
|
|
1228
|
+
*
|
|
1229
|
+
* Returns 8 coefficients
|
|
1230
|
+
*/
|
|
1231
|
+
getMean(): Float64Array;
|
|
1232
|
+
/**
|
|
1233
|
+
* Compute log probability of a multivector
|
|
1234
|
+
*
|
|
1235
|
+
* # Arguments
|
|
1236
|
+
* * `coefficients` - 8 coefficients of the multivector
|
|
1237
|
+
*/
|
|
1238
|
+
logProb(coefficients: Float64Array): number;
|
|
1239
|
+
/**
|
|
1240
|
+
* Create an isotropic Gaussian with given mean and variance
|
|
1241
|
+
*
|
|
1242
|
+
* # Arguments
|
|
1243
|
+
* * `mean` - 8 coefficients for the mean multivector
|
|
1244
|
+
* * `variance` - Variance (same for all components)
|
|
1245
|
+
*/
|
|
1246
|
+
static isotropic(mean: Float64Array, variance: number): WasmGaussianMultivector;
|
|
1247
|
+
}
|
|
1191
1248
|
/**
|
|
1192
1249
|
* WASM wrapper for geodesic integration
|
|
1193
1250
|
*/
|
|
@@ -1422,7 +1479,7 @@ export class WasmGrassmannian {
|
|
|
1422
1479
|
constructor(k: number, n: number);
|
|
1423
1480
|
}
|
|
1424
1481
|
/**
|
|
1425
|
-
* WASM wrapper for HolographicMemory
|
|
1482
|
+
* WASM wrapper for HolographicMemory using ProductClifford algebra
|
|
1426
1483
|
*/
|
|
1427
1484
|
export class WasmHolographicMemory {
|
|
1428
1485
|
free(): void;
|
|
@@ -1430,38 +1487,30 @@ export class WasmHolographicMemory {
|
|
|
1430
1487
|
* Get the number of stored items
|
|
1431
1488
|
*/
|
|
1432
1489
|
itemCount(): number;
|
|
1433
|
-
/**
|
|
1434
|
-
* Batch store multiple key-value pairs
|
|
1435
|
-
*/
|
|
1436
|
-
storeBatch(keys: Float64Array, values: Float64Array): void;
|
|
1437
1490
|
/**
|
|
1438
1491
|
* Get the estimated SNR (signal-to-noise ratio)
|
|
1439
1492
|
*/
|
|
1440
1493
|
estimatedSnr(): number;
|
|
1441
1494
|
/**
|
|
1442
|
-
*
|
|
1495
|
+
* Generate a random versor (for use as key/value)
|
|
1443
1496
|
*/
|
|
1444
|
-
|
|
1497
|
+
static randomVersor(num_factors: number): Float64Array;
|
|
1445
1498
|
/**
|
|
1446
|
-
* Check if memory
|
|
1499
|
+
* Check if memory is near capacity
|
|
1447
1500
|
*/
|
|
1448
|
-
|
|
1501
|
+
isNearCapacity(): boolean;
|
|
1449
1502
|
/**
|
|
1450
1503
|
* Create with key tracking enabled (for attribution)
|
|
1451
1504
|
*/
|
|
1452
1505
|
static withKeyTracking(): WasmHolographicMemory;
|
|
1453
1506
|
/**
|
|
1454
|
-
* Get
|
|
1507
|
+
* Get retrieval confidence for a key
|
|
1455
1508
|
*/
|
|
1456
|
-
|
|
1509
|
+
retrieveConfidence(key: Float64Array): number;
|
|
1457
1510
|
/**
|
|
1458
|
-
*
|
|
1511
|
+
* Get capacity information
|
|
1459
1512
|
*/
|
|
1460
|
-
|
|
1461
|
-
/**
|
|
1462
|
-
* Create with custom bundle temperature
|
|
1463
|
-
*/
|
|
1464
|
-
static withBundleTemperature(beta: number): WasmHolographicMemory;
|
|
1513
|
+
theoreticalCapacity(): number;
|
|
1465
1514
|
/**
|
|
1466
1515
|
* Create a new holographic memory with default settings
|
|
1467
1516
|
*/
|
|
@@ -1471,17 +1520,17 @@ export class WasmHolographicMemory {
|
|
|
1471
1520
|
*/
|
|
1472
1521
|
clear(): void;
|
|
1473
1522
|
/**
|
|
1474
|
-
*
|
|
1475
|
-
|
|
1476
|
-
|
|
1477
|
-
/**
|
|
1478
|
-
* Store a key-value pair in memory
|
|
1523
|
+
* Store a key-value pair in memory (using flat coefficient arrays)
|
|
1524
|
+
*
|
|
1525
|
+
* Each array should have 256 coefficients for ProductCl3x32.
|
|
1479
1526
|
*/
|
|
1480
|
-
store(key:
|
|
1527
|
+
store(key: Float64Array, value: Float64Array): void;
|
|
1481
1528
|
/**
|
|
1482
1529
|
* Retrieve a value by key
|
|
1530
|
+
*
|
|
1531
|
+
* Returns the retrieved coefficients as a Float64Array.
|
|
1483
1532
|
*/
|
|
1484
|
-
retrieve(key:
|
|
1533
|
+
retrieve(key: Float64Array): Float64Array;
|
|
1485
1534
|
}
|
|
1486
1535
|
/**
|
|
1487
1536
|
* WASM wrapper for Inverse CA Designer (simplified)
|
|
@@ -1567,6 +1616,49 @@ export class WasmModuliSpace {
|
|
|
1567
1616
|
*/
|
|
1568
1617
|
static ofCurves(genus: number, marked_points: number): WasmModuliSpace;
|
|
1569
1618
|
}
|
|
1619
|
+
/**
|
|
1620
|
+
* Monte Carlo estimation utilities
|
|
1621
|
+
*/
|
|
1622
|
+
export class WasmMonteCarloEstimator {
|
|
1623
|
+
private constructor();
|
|
1624
|
+
free(): void;
|
|
1625
|
+
/**
|
|
1626
|
+
* Compute sample mean from batch samples
|
|
1627
|
+
*
|
|
1628
|
+
* # Arguments
|
|
1629
|
+
* * `samples` - Flat array of samples (num_samples * 8)
|
|
1630
|
+
*
|
|
1631
|
+
* # Returns
|
|
1632
|
+
* 8 coefficients for the mean
|
|
1633
|
+
*/
|
|
1634
|
+
static sampleMean(samples: Float64Array): Float64Array;
|
|
1635
|
+
/**
|
|
1636
|
+
* Compute sample variance from batch samples
|
|
1637
|
+
*
|
|
1638
|
+
* # Arguments
|
|
1639
|
+
* * `samples` - Flat array of samples (num_samples * 8)
|
|
1640
|
+
*
|
|
1641
|
+
* # Returns
|
|
1642
|
+
* 8 values for per-coefficient variance
|
|
1643
|
+
*/
|
|
1644
|
+
static sampleVariance(samples: Float64Array): Float64Array;
|
|
1645
|
+
/**
|
|
1646
|
+
* Compute sample covariance matrix from batch samples
|
|
1647
|
+
*
|
|
1648
|
+
* # Arguments
|
|
1649
|
+
* * `samples` - Flat array of samples (num_samples * 8)
|
|
1650
|
+
*
|
|
1651
|
+
* # Returns
|
|
1652
|
+
* 64 values for 8x8 covariance matrix (row-major)
|
|
1653
|
+
*/
|
|
1654
|
+
static sampleCovariance(samples: Float64Array): Float64Array;
|
|
1655
|
+
/**
|
|
1656
|
+
* Monte Carlo estimate of expectation E[f(X)] where f is the geometric product
|
|
1657
|
+
*
|
|
1658
|
+
* Estimates E[X * Y] for independent X ~ dist_x, Y ~ dist_y
|
|
1659
|
+
*/
|
|
1660
|
+
static expectationGeometricProduct(dist_x: WasmGaussianMultivector, dist_y: WasmGaussianMultivector, num_samples: number): Float64Array;
|
|
1661
|
+
}
|
|
1570
1662
|
/**
|
|
1571
1663
|
* WASM wrapper for multi-variable dual numbers
|
|
1572
1664
|
*/
|
|
@@ -1987,45 +2079,28 @@ export class WasmRelativisticParticle {
|
|
|
1987
2079
|
to_string(): string;
|
|
1988
2080
|
}
|
|
1989
2081
|
/**
|
|
1990
|
-
* WASM wrapper for Resonator
|
|
2082
|
+
* WASM wrapper for Resonator using ProductClifford algebra
|
|
1991
2083
|
*/
|
|
1992
2084
|
export class WasmResonator {
|
|
1993
2085
|
free(): void;
|
|
1994
|
-
/**
|
|
1995
|
-
* Create with custom configuration
|
|
1996
|
-
*/
|
|
1997
|
-
static withConfig(codebook_flat: Float64Array, max_iterations: number, convergence_threshold: number): WasmResonator;
|
|
1998
2086
|
/**
|
|
1999
2087
|
* Get the codebook size
|
|
2000
2088
|
*/
|
|
2001
2089
|
codebookSize(): number;
|
|
2002
2090
|
/**
|
|
2003
|
-
*
|
|
2004
|
-
*/
|
|
2005
|
-
constructor(codebook_flat: Float64Array);
|
|
2006
|
-
/**
|
|
2007
|
-
* Clean up a noisy input to find the closest codebook item
|
|
2091
|
+
* Get cleanup result with metadata
|
|
2008
2092
|
*/
|
|
2009
|
-
|
|
2010
|
-
}
|
|
2011
|
-
/**
|
|
2012
|
-
* WASM wrapper for retrieval results
|
|
2013
|
-
*/
|
|
2014
|
-
export class WasmRetrievalResult {
|
|
2015
|
-
private constructor();
|
|
2016
|
-
free(): void;
|
|
2093
|
+
cleanupWithInfo(input: Float64Array): any;
|
|
2017
2094
|
/**
|
|
2018
|
-
*
|
|
2019
|
-
|
|
2020
|
-
|
|
2021
|
-
/**
|
|
2022
|
-
* Get attribution as arrays of [index, weight] pairs
|
|
2095
|
+
* Create a resonator from a flat codebook array
|
|
2096
|
+
*
|
|
2097
|
+
* Each item should have 256 coefficients for ProductCl3x32.
|
|
2023
2098
|
*/
|
|
2024
|
-
|
|
2099
|
+
constructor(codebook_flat: Float64Array);
|
|
2025
2100
|
/**
|
|
2026
|
-
*
|
|
2101
|
+
* Clean up a noisy input to find the closest codebook item
|
|
2027
2102
|
*/
|
|
2028
|
-
|
|
2103
|
+
cleanup(input: Float64Array): Float64Array;
|
|
2029
2104
|
}
|
|
2030
2105
|
/**
|
|
2031
2106
|
* Rotor operations for WASM
|
|
@@ -2557,6 +2632,64 @@ export class WasmTropicalViterbi {
|
|
|
2557
2632
|
*/
|
|
2558
2633
|
decode(observations: Uint32Array): any;
|
|
2559
2634
|
}
|
|
2635
|
+
/**
|
|
2636
|
+
* WASM wrapper for Uniform distribution on Cl(3,0,0) multivector space
|
|
2637
|
+
*
|
|
2638
|
+
* A uniform distribution over a hyperrectangle in 8-dimensional multivector space.
|
|
2639
|
+
*/
|
|
2640
|
+
export class WasmUniformMultivector {
|
|
2641
|
+
free(): void;
|
|
2642
|
+
/**
|
|
2643
|
+
* Create a uniform distribution with specified bounds
|
|
2644
|
+
*
|
|
2645
|
+
* # Arguments
|
|
2646
|
+
* * `lower` - 8 coefficients for lower bounds
|
|
2647
|
+
* * `upper` - 8 coefficients for upper bounds
|
|
2648
|
+
*/
|
|
2649
|
+
static withBounds(lower: Float64Array, upper: Float64Array): WasmUniformMultivector;
|
|
2650
|
+
/**
|
|
2651
|
+
* Get the variance of this distribution
|
|
2652
|
+
*/
|
|
2653
|
+
getVariance(): Float64Array;
|
|
2654
|
+
/**
|
|
2655
|
+
* Draw multiple samples from this distribution
|
|
2656
|
+
*
|
|
2657
|
+
* Returns flat array of coefficients: num_samples * 8
|
|
2658
|
+
*/
|
|
2659
|
+
sampleBatch(num_samples: number): Float64Array;
|
|
2660
|
+
/**
|
|
2661
|
+
* Create a standard uniform distribution on [-1, 1]^8
|
|
2662
|
+
*/
|
|
2663
|
+
constructor();
|
|
2664
|
+
/**
|
|
2665
|
+
* Draw a sample from this distribution
|
|
2666
|
+
*
|
|
2667
|
+
* Returns 8 coefficients for the sampled multivector
|
|
2668
|
+
*/
|
|
2669
|
+
sample(): Float64Array;
|
|
2670
|
+
/**
|
|
2671
|
+
* Get the mean of this distribution
|
|
2672
|
+
*/
|
|
2673
|
+
getMean(): Float64Array;
|
|
2674
|
+
/**
|
|
2675
|
+
* Compute log probability of a multivector
|
|
2676
|
+
*
|
|
2677
|
+
* Returns log(1/volume) if inside bounds, error otherwise
|
|
2678
|
+
*/
|
|
2679
|
+
logProb(coefficients: Float64Array): number;
|
|
2680
|
+
/**
|
|
2681
|
+
* Get the lower bounds
|
|
2682
|
+
*/
|
|
2683
|
+
getLower(): Float64Array;
|
|
2684
|
+
/**
|
|
2685
|
+
* Get the upper bounds
|
|
2686
|
+
*/
|
|
2687
|
+
getUpper(): Float64Array;
|
|
2688
|
+
/**
|
|
2689
|
+
* Create a uniform distribution on a hypercube [min, max]^8
|
|
2690
|
+
*/
|
|
2691
|
+
static hypercube(min: number, max: number): WasmUniformMultivector;
|
|
2692
|
+
}
|
|
2560
2693
|
|
|
2561
2694
|
export type InitInput = RequestInfo | URL | Response | BufferSource | WebAssembly.Module;
|
|
2562
2695
|
|
|
@@ -2569,12 +2702,12 @@ export interface InitOutput {
|
|
|
2569
2702
|
readonly __wbg_scalarfield_free: (a: number, b: number) => void;
|
|
2570
2703
|
readonly __wbg_set_wasmtrajectorypoint_time: (a: number, b: number) => void;
|
|
2571
2704
|
readonly __wbg_wasmchowclass_free: (a: number, b: number) => void;
|
|
2572
|
-
readonly __wbg_wasmcleanupresult_free: (a: number, b: number) => void;
|
|
2573
2705
|
readonly __wbg_wasmcommunity_free: (a: number, b: number) => void;
|
|
2574
2706
|
readonly __wbg_wasmduallyflatmanifold_free: (a: number, b: number) => void;
|
|
2575
2707
|
readonly __wbg_wasmevaluationresult_free: (a: number, b: number) => void;
|
|
2576
2708
|
readonly __wbg_wasmfisherinformationmatrix_free: (a: number, b: number) => void;
|
|
2577
2709
|
readonly __wbg_wasmfishermeasure_free: (a: number, b: number) => void;
|
|
2710
|
+
readonly __wbg_wasmgaussianmultivector_free: (a: number, b: number) => void;
|
|
2578
2711
|
readonly __wbg_wasmgeodesicintegrator_free: (a: number, b: number) => void;
|
|
2579
2712
|
readonly __wbg_wasmgeometricca_free: (a: number, b: number) => void;
|
|
2580
2713
|
readonly __wbg_wasmgeometricnetwork_free: (a: number, b: number) => void;
|
|
@@ -2590,7 +2723,6 @@ export interface InitOutput {
|
|
|
2590
2723
|
readonly __wbg_wasmpropagationanalysis_free: (a: number, b: number) => void;
|
|
2591
2724
|
readonly __wbg_wasmrelativisticparticle_free: (a: number, b: number) => void;
|
|
2592
2725
|
readonly __wbg_wasmresonator_free: (a: number, b: number) => void;
|
|
2593
|
-
readonly __wbg_wasmretrievalresult_free: (a: number, b: number) => void;
|
|
2594
2726
|
readonly __wbg_wasmschwarzschildmetric_free: (a: number, b: number) => void;
|
|
2595
2727
|
readonly __wbg_wasmselfassembler_free: (a: number, b: number) => void;
|
|
2596
2728
|
readonly __wbg_wasmsensitivitymap_free: (a: number, b: number) => void;
|
|
@@ -2599,6 +2731,7 @@ export interface InitOutput {
|
|
|
2599
2731
|
readonly __wbg_wasmtropicalnetwork_free: (a: number, b: number) => void;
|
|
2600
2732
|
readonly __wbg_wasmtropicalpolynomial_free: (a: number, b: number) => void;
|
|
2601
2733
|
readonly __wbg_wasmtropicalviterbi_free: (a: number, b: number) => void;
|
|
2734
|
+
readonly __wbg_wasmuniformmultivector_free: (a: number, b: number) => void;
|
|
2602
2735
|
readonly autodiff_evaluatePolynomial: (a: number, b: number, c: number) => number;
|
|
2603
2736
|
readonly autodiff_linearLayer: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number) => [number, number, number, number];
|
|
2604
2737
|
readonly autodiff_meanSquaredError: (a: number, b: number, c: number, d: number) => [number, number, number];
|
|
@@ -2705,10 +2838,6 @@ export interface InitOutput {
|
|
|
2705
2838
|
readonly wasmchowclass_new: (a: number, b: number) => number;
|
|
2706
2839
|
readonly wasmchowclass_point: () => number;
|
|
2707
2840
|
readonly wasmchowclass_power: (a: number, b: number) => number;
|
|
2708
|
-
readonly wasmcleanupresult_didConverge: (a: number) => number;
|
|
2709
|
-
readonly wasmcleanupresult_getBestMatchIndex: (a: number) => number;
|
|
2710
|
-
readonly wasmcleanupresult_getCleaned: (a: number) => number;
|
|
2711
|
-
readonly wasmcleanupresult_getIterations: (a: number) => number;
|
|
2712
2841
|
readonly wasmcommunity_centroid_coefficients: (a: number) => [number, number];
|
|
2713
2842
|
readonly wasmcommunity_nodes: (a: number) => [number, number];
|
|
2714
2843
|
readonly wasmcountingmeasure_isMeasurable: (a: number) => number;
|
|
@@ -2761,6 +2890,17 @@ export interface InitOutput {
|
|
|
2761
2890
|
readonly wasmfourvelocity_rapidity: (a: number) => number;
|
|
2762
2891
|
readonly wasmfourvelocity_spatial_velocity_magnitude: (a: number) => number;
|
|
2763
2892
|
readonly wasmfourvelocity_to_string: (a: number) => [number, number];
|
|
2893
|
+
readonly wasmgaussianmultivector_getCovariance: (a: number) => [number, number];
|
|
2894
|
+
readonly wasmgaussianmultivector_getMean: (a: number) => [number, number];
|
|
2895
|
+
readonly wasmgaussianmultivector_getStdDevs: (a: number) => [number, number];
|
|
2896
|
+
readonly wasmgaussianmultivector_getVariance: (a: number) => [number, number];
|
|
2897
|
+
readonly wasmgaussianmultivector_gradeConcentrated: (a: number, b: number) => [number, number, number];
|
|
2898
|
+
readonly wasmgaussianmultivector_isotropic: (a: number, b: number, c: number) => [number, number, number];
|
|
2899
|
+
readonly wasmgaussianmultivector_logProb: (a: number, b: number, c: number) => [number, number, number];
|
|
2900
|
+
readonly wasmgaussianmultivector_new: () => number;
|
|
2901
|
+
readonly wasmgaussianmultivector_sample: (a: number) => [number, number];
|
|
2902
|
+
readonly wasmgaussianmultivector_sampleBatch: (a: number, b: number) => [number, number];
|
|
2903
|
+
readonly wasmgaussianmultivector_withParameters: (a: number, b: number, c: number, d: number) => [number, number, number];
|
|
2764
2904
|
readonly wasmgeodesicintegrator_propagate_particle: (a: number, b: number, c: number, d: number) => [number, number, number];
|
|
2765
2905
|
readonly wasmgeodesicintegrator_with_schwarzschild: (a: number) => number;
|
|
2766
2906
|
readonly wasmgeometricca_addGlider: (a: number, b: number, c: number) => [number, number];
|
|
@@ -2812,15 +2952,12 @@ export interface InitOutput {
|
|
|
2812
2952
|
readonly wasmholographicmemory_estimatedSnr: (a: number) => number;
|
|
2813
2953
|
readonly wasmholographicmemory_isNearCapacity: (a: number) => number;
|
|
2814
2954
|
readonly wasmholographicmemory_itemCount: (a: number) => number;
|
|
2815
|
-
readonly wasmholographicmemory_merge: (a: number, b: number) => void;
|
|
2816
2955
|
readonly wasmholographicmemory_new: () => number;
|
|
2817
|
-
readonly
|
|
2818
|
-
readonly wasmholographicmemory_retrieve: (a: number, b: number) => number;
|
|
2819
|
-
readonly
|
|
2820
|
-
readonly wasmholographicmemory_store: (a: number, b: number, c: number) =>
|
|
2821
|
-
readonly wasmholographicmemory_storeBatch: (a: number, b: number, c: number, d: number, e: number) => [number, number];
|
|
2956
|
+
readonly wasmholographicmemory_randomVersor: (a: number) => [number, number];
|
|
2957
|
+
readonly wasmholographicmemory_retrieve: (a: number, b: number, c: number) => [number, number, number, number];
|
|
2958
|
+
readonly wasmholographicmemory_retrieveConfidence: (a: number, b: number, c: number) => [number, number, number];
|
|
2959
|
+
readonly wasmholographicmemory_store: (a: number, b: number, c: number, d: number, e: number) => [number, number];
|
|
2822
2960
|
readonly wasmholographicmemory_theoreticalCapacity: (a: number) => number;
|
|
2823
|
-
readonly wasmholographicmemory_withBundleTemperature: (a: number) => number;
|
|
2824
2961
|
readonly wasmholographicmemory_withKeyTracking: () => number;
|
|
2825
2962
|
readonly wasminversecadesigner_evaluateFitness: (a: number, b: number, c: number) => [number, number, number];
|
|
2826
2963
|
readonly wasminversecadesigner_findSeed: (a: number, b: number, c: number) => [number, number, number, number];
|
|
@@ -2835,6 +2972,10 @@ export interface InitOutput {
|
|
|
2835
2972
|
readonly wasmmodulispace_isProper: (a: number) => number;
|
|
2836
2973
|
readonly wasmmodulispace_ofCurves: (a: number, b: number) => number;
|
|
2837
2974
|
readonly wasmmodulispace_ofStableCurves: (a: number, b: number) => number;
|
|
2975
|
+
readonly wasmmontecarloestimator_expectationGeometricProduct: (a: number, b: number, c: number) => [number, number];
|
|
2976
|
+
readonly wasmmontecarloestimator_sampleCovariance: (a: number, b: number) => [number, number, number, number];
|
|
2977
|
+
readonly wasmmontecarloestimator_sampleMean: (a: number, b: number) => [number, number, number, number];
|
|
2978
|
+
readonly wasmmontecarloestimator_sampleVariance: (a: number, b: number) => [number, number, number, number];
|
|
2838
2979
|
readonly wasmmultidualnumber_add: (a: number, b: number) => [number, number, number];
|
|
2839
2980
|
readonly wasmmultidualnumber_constant: (a: number, b: number) => number;
|
|
2840
2981
|
readonly wasmmultidualnumber_getGradient: (a: number) => [number, number];
|
|
@@ -2910,13 +3051,10 @@ export interface InitOutput {
|
|
|
2910
3051
|
readonly wasmrelativisticparticle_to_string: (a: number) => [number, number];
|
|
2911
3052
|
readonly wasmrelativisticparticle_total_energy: (a: number) => number;
|
|
2912
3053
|
readonly wasmrelativisticparticle_with_energy: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number) => [number, number, number];
|
|
2913
|
-
readonly wasmresonator_cleanup: (a: number, b: number) => number;
|
|
3054
|
+
readonly wasmresonator_cleanup: (a: number, b: number, c: number) => [number, number, number, number];
|
|
3055
|
+
readonly wasmresonator_cleanupWithInfo: (a: number, b: number, c: number) => [number, number, number];
|
|
2914
3056
|
readonly wasmresonator_codebookSize: (a: number) => number;
|
|
2915
3057
|
readonly wasmresonator_new: (a: number, b: number) => [number, number, number];
|
|
2916
|
-
readonly wasmresonator_withConfig: (a: number, b: number, c: number, d: number) => [number, number, number];
|
|
2917
|
-
readonly wasmretrievalresult_getAttribution: (a: number) => [number, number, number];
|
|
2918
|
-
readonly wasmretrievalresult_getConfidence: (a: number) => number;
|
|
2919
|
-
readonly wasmretrievalresult_getValue: (a: number) => number;
|
|
2920
3058
|
readonly wasmrotor_apply: (a: number, b: number) => number;
|
|
2921
3059
|
readonly wasmrotor_compose: (a: number, b: number) => number;
|
|
2922
3060
|
readonly wasmrotor_fromBivector: (a: number, b: number) => number;
|
|
@@ -2998,6 +3136,16 @@ export interface InitOutput {
|
|
|
2998
3136
|
readonly wasmtropicalviterbi_decode: (a: number, b: number, c: number) => [number, number, number];
|
|
2999
3137
|
readonly wasmtropicalviterbi_forward_probabilities: (a: number, b: number, c: number) => [number, number, number];
|
|
3000
3138
|
readonly wasmtropicalviterbi_new: (a: any, b: any) => [number, number, number];
|
|
3139
|
+
readonly wasmuniformmultivector_getLower: (a: number) => [number, number];
|
|
3140
|
+
readonly wasmuniformmultivector_getMean: (a: number) => [number, number];
|
|
3141
|
+
readonly wasmuniformmultivector_getUpper: (a: number) => [number, number];
|
|
3142
|
+
readonly wasmuniformmultivector_getVariance: (a: number) => [number, number];
|
|
3143
|
+
readonly wasmuniformmultivector_hypercube: (a: number, b: number) => [number, number, number];
|
|
3144
|
+
readonly wasmuniformmultivector_logProb: (a: number, b: number, c: number) => [number, number, number];
|
|
3145
|
+
readonly wasmuniformmultivector_new: () => [number, number, number];
|
|
3146
|
+
readonly wasmuniformmultivector_sample: (a: number) => [number, number];
|
|
3147
|
+
readonly wasmuniformmultivector_sampleBatch: (a: number, b: number) => [number, number];
|
|
3148
|
+
readonly wasmuniformmultivector_withBounds: (a: number, b: number, c: number, d: number) => [number, number, number];
|
|
3001
3149
|
readonly wasmtropicalnumber_new: (a: number) => number;
|
|
3002
3150
|
readonly vectorfield_fromFunction2D: (a: any) => number;
|
|
3003
3151
|
readonly vectorfield_fromFunction3D: (a: any) => number;
|
|
@@ -3053,6 +3201,7 @@ export interface InitOutput {
|
|
|
3053
3201
|
readonly __wbg_wasmfourvelocity_free: (a: number, b: number) => void;
|
|
3054
3202
|
readonly __wbg_wasmgeometricedge_free: (a: number, b: number) => void;
|
|
3055
3203
|
readonly __wbg_wasmgpuoptimizer_free: (a: number, b: number) => void;
|
|
3204
|
+
readonly __wbg_wasmmontecarloestimator_free: (a: number, b: number) => void;
|
|
3056
3205
|
readonly __wbg_wasmmultiobjectiveoptimizer_free: (a: number, b: number) => void;
|
|
3057
3206
|
readonly __wbg_wasmoptimizationutils_free: (a: number, b: number) => void;
|
|
3058
3207
|
readonly __wbg_wasmprojectivespace_free: (a: number, b: number) => void;
|
|
@@ -3077,8 +3226,8 @@ export interface InitOutput {
|
|
|
3077
3226
|
readonly __wbindgen_realloc: (a: number, b: number, c: number, d: number) => number;
|
|
3078
3227
|
readonly __wbindgen_export_6: WebAssembly.Table;
|
|
3079
3228
|
readonly __externref_table_dealloc: (a: number) => void;
|
|
3080
|
-
readonly
|
|
3081
|
-
readonly
|
|
3229
|
+
readonly closure41_externref_shim: (a: number, b: number, c: any) => void;
|
|
3230
|
+
readonly closure34_externref_shim: (a: number, b: number, c: any, d: any) => void;
|
|
3082
3231
|
readonly __wbindgen_start: () => void;
|
|
3083
3232
|
}
|
|
3084
3233
|
|