@justinelliottcobb/amari-wasm 0.14.0 → 0.15.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/amari_wasm.d.ts CHANGED
@@ -4,6 +4,37 @@
4
4
  * Initialize the WASM module
5
5
  */
6
6
  export function init(): void;
7
+ /**
8
+ * Power method for computing dominant eigenvalue
9
+ *
10
+ * # Arguments
11
+ * * `matrix` - The matrix operator
12
+ * * `initial` - Initial guess (optional, uses random if not provided)
13
+ * * `max_iterations` - Maximum iterations
14
+ * * `tolerance` - Convergence tolerance
15
+ *
16
+ * # Returns
17
+ * [eigenvalue, eigenvector...] flattened array
18
+ */
19
+ export function powerMethod(matrix: WasmMatrixOperator, initial: Float64Array | null | undefined, max_iterations: number, tolerance: number): Float64Array;
20
+ /**
21
+ * Inverse iteration for computing eigenvalue near a shift
22
+ *
23
+ * # Arguments
24
+ * * `matrix` - The matrix operator
25
+ * * `shift` - Value near the desired eigenvalue
26
+ * * `initial` - Initial guess (optional)
27
+ * * `max_iterations` - Maximum iterations
28
+ * * `tolerance` - Convergence tolerance
29
+ *
30
+ * # Returns
31
+ * [eigenvalue, eigenvector...] flattened array
32
+ */
33
+ export function inverseIteration(matrix: WasmMatrixOperator, shift: number, initial: Float64Array | null | undefined, max_iterations: number, tolerance: number): Float64Array;
34
+ /**
35
+ * Compute all eigenvalues of a symmetric matrix
36
+ */
37
+ export function computeEigenvalues(matrix: WasmMatrixOperator, max_iterations: number, tolerance: number): Float64Array;
7
38
  /**
8
39
  * Initialize the enumerative geometry module
9
40
  */
@@ -835,6 +866,82 @@ export class WasmAlphaConnection {
835
866
  */
836
867
  getAlpha(): number;
837
868
  }
869
+ /**
870
+ * WASM wrapper for BinaryHologram.
871
+ *
872
+ * Bit-packed binary pattern for DMD display, the output of Lee encoding.
873
+ */
874
+ export class WasmBinaryHologram {
875
+ free(): void;
876
+ /**
877
+ * Fill factor (fraction of "on" pixels, 0 to 1).
878
+ */
879
+ fillFactor(): number;
880
+ /**
881
+ * Compute Hamming distance between two holograms.
882
+ */
883
+ hammingDistance(other: WasmBinaryHologram): number;
884
+ /**
885
+ * Compute normalized Hamming distance (0 to 1).
886
+ */
887
+ normalizedHammingDistance(other: WasmBinaryHologram): number;
888
+ /**
889
+ * Get pixel value at (x, y).
890
+ */
891
+ get(x: number, y: number): boolean;
892
+ /**
893
+ * Create from boolean array (as u8: 0 = false, non-zero = true).
894
+ */
895
+ constructor(pattern: Uint8Array, width: number, height: number);
896
+ /**
897
+ * Set pixel value at (x, y).
898
+ */
899
+ set(x: number, y: number, value: boolean): void;
900
+ /**
901
+ * XOR two holograms.
902
+ */
903
+ xor(other: WasmBinaryHologram): WasmBinaryHologram;
904
+ /**
905
+ * Create an all-ones hologram.
906
+ */
907
+ static ones(width: number, height: number): WasmBinaryHologram;
908
+ /**
909
+ * Create an all-zeros hologram.
910
+ */
911
+ static zeros(width: number, height: number): WasmBinaryHologram;
912
+ /**
913
+ * Toggle pixel at (x, y).
914
+ */
915
+ toggle(x: number, y: number): void;
916
+ /**
917
+ * Get packed binary data (for hardware interface).
918
+ */
919
+ asBytes(): Uint8Array;
920
+ /**
921
+ * Create an inverted copy.
922
+ */
923
+ inverted(): WasmBinaryHologram;
924
+ /**
925
+ * Count of "on" pixels.
926
+ */
927
+ popcount(): number;
928
+ /**
929
+ * Convert to boolean array (as u8: 0 = false, 1 = true).
930
+ */
931
+ toBools(): Uint8Array;
932
+ /**
933
+ * Get grid width.
934
+ */
935
+ readonly width: number;
936
+ /**
937
+ * Get grid height.
938
+ */
939
+ readonly height: number;
940
+ /**
941
+ * Get total number of pixels.
942
+ */
943
+ readonly length: number;
944
+ }
838
945
  /**
839
946
  * WASM wrapper for Chow classes in intersection theory
840
947
  */
@@ -1398,6 +1505,56 @@ export class WasmGeometricEdge {
1398
1505
  */
1399
1506
  readonly weight: number;
1400
1507
  }
1508
+ /**
1509
+ * WASM wrapper for GeometricLeeEncoder.
1510
+ *
1511
+ * Encodes optical rotor fields to binary holograms using Lee's method.
1512
+ */
1513
+ export class WasmGeometricLeeEncoder {
1514
+ free(): void;
1515
+ /**
1516
+ * Create encoder with horizontal carrier (angle = 0).
1517
+ */
1518
+ static withFrequency(width: number, height: number, carrier_frequency: number): WasmGeometricLeeEncoder;
1519
+ /**
1520
+ * Theoretical diffraction efficiency for the given field.
1521
+ */
1522
+ theoreticalEfficiency(field: WasmOpticalRotorField): number;
1523
+ /**
1524
+ * Create encoder with configuration.
1525
+ *
1526
+ * # Arguments
1527
+ * * `width` - Grid width
1528
+ * * `height` - Grid height
1529
+ * * `carrier_frequency` - Carrier frequency in cycles per pixel
1530
+ * * `carrier_angle` - Carrier direction angle (radians, 0 = horizontal)
1531
+ */
1532
+ constructor(width: number, height: number, carrier_frequency: number, carrier_angle: number);
1533
+ /**
1534
+ * Encode a rotor field to binary hologram.
1535
+ */
1536
+ encode(field: WasmOpticalRotorField): WasmBinaryHologram;
1537
+ /**
1538
+ * Compute the modulated rotor field (before thresholding).
1539
+ */
1540
+ modulate(field: WasmOpticalRotorField): WasmOpticalRotorField;
1541
+ /**
1542
+ * Get carrier angle.
1543
+ */
1544
+ readonly carrierAngle: number;
1545
+ /**
1546
+ * Get carrier frequency.
1547
+ */
1548
+ readonly carrierFrequency: number;
1549
+ /**
1550
+ * Get encoder width.
1551
+ */
1552
+ readonly width: number;
1553
+ /**
1554
+ * Get encoder height.
1555
+ */
1556
+ readonly height: number;
1557
+ }
1401
1558
  /**
1402
1559
  * WASM wrapper for geometric networks
1403
1560
  */
@@ -1572,6 +1729,57 @@ export class WasmGrassmannian {
1572
1729
  */
1573
1730
  constructor(k: number, n: number);
1574
1731
  }
1732
+ /**
1733
+ * WASM wrapper for MultivectorHilbertSpace over Cl(2,0,0)
1734
+ *
1735
+ * Provides finite-dimensional Hilbert space operations on multivectors.
1736
+ */
1737
+ export class WasmHilbertSpace {
1738
+ free(): void;
1739
+ /**
1740
+ * Compute inner product <x, y>
1741
+ */
1742
+ innerProduct(x: Float64Array, y: Float64Array): number;
1743
+ /**
1744
+ * Check if two vectors are orthogonal
1745
+ */
1746
+ isOrthogonal(x: Float64Array, y: Float64Array, tolerance: number): boolean;
1747
+ /**
1748
+ * Create a multivector from coefficients
1749
+ *
1750
+ * # Arguments
1751
+ * * `coefficients` - Array of 4 coefficients [scalar, e1, e2, e12]
1752
+ */
1753
+ fromCoefficients(coefficients: Float64Array): Float64Array;
1754
+ /**
1755
+ * Create a new Hilbert space Cl(2,0,0) ~ R^4
1756
+ */
1757
+ constructor();
1758
+ /**
1759
+ * Compute the norm ||x||
1760
+ */
1761
+ norm(x: Float64Array): number;
1762
+ /**
1763
+ * Orthogonal projection of x onto y
1764
+ */
1765
+ project(x: Float64Array, y: Float64Array): Float64Array;
1766
+ /**
1767
+ * Compute distance d(x, y) = ||x - y||
1768
+ */
1769
+ distance(x: Float64Array, y: Float64Array): number;
1770
+ /**
1771
+ * Get the dimension of the space (4 for Cl(2,0,0))
1772
+ */
1773
+ dimension(): number;
1774
+ /**
1775
+ * Normalize a vector to unit length
1776
+ */
1777
+ normalize(x: Float64Array): Float64Array;
1778
+ /**
1779
+ * Get the Clifford algebra signature (p, q, r)
1780
+ */
1781
+ signature(): Uint32Array;
1782
+ }
1575
1783
  /**
1576
1784
  * WASM wrapper for HolographicMemory using ProductClifford algebra
1577
1785
  */
@@ -1706,6 +1914,77 @@ export class WasmMCMCDiagnostics {
1706
1914
  */
1707
1915
  acceptance_rate: number;
1708
1916
  }
1917
+ /**
1918
+ * WASM wrapper for matrix operators on Hilbert spaces
1919
+ *
1920
+ * Represents bounded linear operators as matrices.
1921
+ */
1922
+ export class WasmMatrixOperator {
1923
+ free(): void;
1924
+ /**
1925
+ * Get the matrix entries as a flat array (row-major)
1926
+ */
1927
+ getEntries(): Float64Array;
1928
+ /**
1929
+ * Check if the matrix is symmetric
1930
+ */
1931
+ isSymmetric(tolerance: number): boolean;
1932
+ /**
1933
+ * Compute operator norm ||T||
1934
+ */
1935
+ operatorNorm(): number;
1936
+ /**
1937
+ * Add two operators
1938
+ */
1939
+ add(other: WasmMatrixOperator): WasmMatrixOperator;
1940
+ /**
1941
+ * Create a matrix operator from a flattened row-major matrix
1942
+ *
1943
+ * # Arguments
1944
+ * * `entries` - 16 entries for a 4x4 matrix in row-major order
1945
+ */
1946
+ constructor(entries: Float64Array);
1947
+ /**
1948
+ * Create a zero operator
1949
+ */
1950
+ static zero(): WasmMatrixOperator;
1951
+ /**
1952
+ * Apply the operator to a vector: T(x)
1953
+ */
1954
+ apply(x: Float64Array): Float64Array;
1955
+ /**
1956
+ * Scale operator by scalar
1957
+ */
1958
+ scale(lambda: number): WasmMatrixOperator;
1959
+ /**
1960
+ * Compute the trace
1961
+ */
1962
+ trace(): number;
1963
+ /**
1964
+ * Compose two operators (matrix multiplication)
1965
+ */
1966
+ compose(other: WasmMatrixOperator): WasmMatrixOperator;
1967
+ /**
1968
+ * Create a scaling operator (λI)
1969
+ */
1970
+ static scaling(lambda: number): WasmMatrixOperator;
1971
+ /**
1972
+ * Create a diagonal matrix from diagonal entries
1973
+ */
1974
+ static diagonal(entries: Float64Array): WasmMatrixOperator;
1975
+ /**
1976
+ * Create the identity operator
1977
+ */
1978
+ static identity(): WasmMatrixOperator;
1979
+ /**
1980
+ * Get a single matrix entry at (i, j)
1981
+ */
1982
+ getEntry(i: number, j: number): number;
1983
+ /**
1984
+ * Compute the transpose
1985
+ */
1986
+ transpose(): WasmMatrixOperator;
1987
+ }
1709
1988
  /**
1710
1989
  * WASM wrapper for Metropolis-Hastings MCMC sampler
1711
1990
  *
@@ -2024,6 +2303,234 @@ export class WasmNodeMetadata {
2024
2303
  */
2025
2304
  set label(value: string | null | undefined);
2026
2305
  }
2306
+ /**
2307
+ * WASM wrapper for OpticalCodebook.
2308
+ *
2309
+ * Maps symbols to deterministically-generated rotor fields.
2310
+ */
2311
+ export class WasmOpticalCodebook {
2312
+ free(): void;
2313
+ /**
2314
+ * Clear the field cache (seeds retained).
2315
+ */
2316
+ clearCache(): void;
2317
+ /**
2318
+ * Register multiple symbols at once.
2319
+ */
2320
+ registerAll(symbols: string[]): void;
2321
+ /**
2322
+ * Register a symbol with specific seed.
2323
+ */
2324
+ registerWithSeed(symbol: string, seed: bigint): void;
2325
+ /**
2326
+ * Get or generate field for a symbol.
2327
+ */
2328
+ get(symbol: string): WasmOpticalRotorField | undefined;
2329
+ /**
2330
+ * Create a new codebook.
2331
+ *
2332
+ * # Arguments
2333
+ * * `width` - Field grid width
2334
+ * * `height` - Field grid height
2335
+ * * `base_seed` - Base seed for deterministic generation
2336
+ */
2337
+ constructor(width: number, height: number, base_seed: bigint);
2338
+ /**
2339
+ * Remove a symbol from the codebook.
2340
+ */
2341
+ remove(symbol: string): boolean;
2342
+ /**
2343
+ * Get all registered symbol names.
2344
+ */
2345
+ symbols(): string[];
2346
+ /**
2347
+ * Check if a symbol is registered.
2348
+ */
2349
+ contains(symbol: string): boolean;
2350
+ /**
2351
+ * Generate field without caching.
2352
+ */
2353
+ generate(symbol: string): WasmOpticalRotorField | undefined;
2354
+ /**
2355
+ * Get the seed for a registered symbol.
2356
+ */
2357
+ getSeed(symbol: string): bigint | undefined;
2358
+ /**
2359
+ * Check if codebook is empty.
2360
+ */
2361
+ isEmpty(): boolean;
2362
+ /**
2363
+ * Register a symbol with auto-generated seed.
2364
+ */
2365
+ register(symbol: string): void;
2366
+ /**
2367
+ * Number of registered symbols.
2368
+ */
2369
+ readonly length: number;
2370
+ }
2371
+ /**
2372
+ * WASM wrapper for OpticalFieldAlgebra.
2373
+ *
2374
+ * Provides VSA operations on rotor fields: bind, bundle, similarity, inverse.
2375
+ */
2376
+ export class WasmOpticalFieldAlgebra {
2377
+ free(): void;
2378
+ /**
2379
+ * Compute the average phase (circular mean) of a field.
2380
+ */
2381
+ meanPhase(field: WasmOpticalRotorField): number;
2382
+ /**
2383
+ * Compute similarity between two fields.
2384
+ *
2385
+ * Returns normalized inner product.
2386
+ * Range: [-1, 1], where 1 = identical phase.
2387
+ */
2388
+ similarity(a: WasmOpticalRotorField, b: WasmOpticalRotorField): number;
2389
+ /**
2390
+ * Bundle with uniform weights (1/n).
2391
+ */
2392
+ bundleUniform(fields: WasmOpticalRotorField[]): WasmOpticalRotorField;
2393
+ /**
2394
+ * Compute phase variance (circular variance) of a field.
2395
+ */
2396
+ phaseVariance(field: WasmOpticalRotorField): number;
2397
+ /**
2398
+ * Create new algebra instance for fields of the given dimensions.
2399
+ */
2400
+ constructor(width: number, height: number);
2401
+ /**
2402
+ * Bind two fields (pointwise rotor product).
2403
+ *
2404
+ * Creates an association: bound = A ⊗ B.
2405
+ * Unbind with: B ≈ inverse(A) ⊗ bound.
2406
+ */
2407
+ bind(a: WasmOpticalRotorField, b: WasmOpticalRotorField): WasmOpticalRotorField;
2408
+ /**
2409
+ * Scale a field's amplitude by a constant factor.
2410
+ */
2411
+ scale(field: WasmOpticalRotorField, factor: number): WasmOpticalRotorField;
2412
+ /**
2413
+ * Bundle multiple fields (weighted superposition).
2414
+ *
2415
+ * # Arguments
2416
+ * * `fields` - Flattened array of field data (scalars, bivectors, amplitudes for each field)
2417
+ * * `weights` - Weights for each field
2418
+ * * `field_count` - Number of fields
2419
+ */
2420
+ bundle(fields: WasmOpticalRotorField[], weights: Float32Array): WasmOpticalRotorField;
2421
+ /**
2422
+ * Create random field.
2423
+ */
2424
+ random(seed: bigint): WasmOpticalRotorField;
2425
+ /**
2426
+ * Unbind operation: retrieve associated value.
2427
+ *
2428
+ * Given `bound = bind(key, value)`, calling `unbind(key, bound)`
2429
+ * returns (approximately) `value`.
2430
+ */
2431
+ unbind(key: WasmOpticalRotorField, bound: WasmOpticalRotorField): WasmOpticalRotorField;
2432
+ /**
2433
+ * Compute inverse field (rotor reverse).
2434
+ *
2435
+ * For rotors: R^(-1) = R^† = cos(φ) - sin(φ)·e₁₂
2436
+ */
2437
+ inverse(field: WasmOpticalRotorField): WasmOpticalRotorField;
2438
+ /**
2439
+ * Create identity field (phase = 0, amplitude = 1).
2440
+ */
2441
+ identity(): WasmOpticalRotorField;
2442
+ /**
2443
+ * Add a constant phase to all pixels.
2444
+ */
2445
+ addPhase(field: WasmOpticalRotorField, phase: number): WasmOpticalRotorField;
2446
+ /**
2447
+ * Get algebra width.
2448
+ */
2449
+ readonly width: number;
2450
+ /**
2451
+ * Get algebra height.
2452
+ */
2453
+ readonly height: number;
2454
+ }
2455
+ /**
2456
+ * WASM wrapper for OpticalRotorField.
2457
+ *
2458
+ * Represents an optical wavefront as a grid of rotors in Cl(2,0).
2459
+ * Each point has phase (rotor angle) and amplitude components.
2460
+ */
2461
+ export class WasmOpticalRotorField {
2462
+ free(): void;
2463
+ /**
2464
+ * Create from phase array with uniform amplitude of 1.0.
2465
+ */
2466
+ static fromPhase(phase: Float32Array, width: number, height: number): WasmOpticalRotorField;
2467
+ /**
2468
+ * Create a normalized copy (total energy = 1).
2469
+ */
2470
+ normalized(): WasmOpticalRotorField;
2471
+ /**
2472
+ * Clone this field.
2473
+ */
2474
+ clone(): WasmOpticalRotorField;
2475
+ /**
2476
+ * Get all scalar (cos φ) components.
2477
+ */
2478
+ getScalars(): Float32Array;
2479
+ /**
2480
+ * Get amplitude at a point.
2481
+ */
2482
+ amplitudeAt(x: number, y: number): number;
2483
+ /**
2484
+ * Compute total energy (sum of squared amplitudes).
2485
+ */
2486
+ totalEnergy(): number;
2487
+ /**
2488
+ * Get all bivector (sin φ) components.
2489
+ */
2490
+ getBivectors(): Float32Array;
2491
+ /**
2492
+ * Get all amplitude components.
2493
+ */
2494
+ getAmplitudes(): Float32Array;
2495
+ /**
2496
+ * Create from phase and amplitude arrays.
2497
+ *
2498
+ * # Arguments
2499
+ * * `phase` - Phase values in radians (length = width * height)
2500
+ * * `amplitude` - Amplitude values (length = width * height)
2501
+ * * `width` - Grid width
2502
+ * * `height` - Grid height
2503
+ */
2504
+ constructor(phase: Float32Array, amplitude: Float32Array, width: number, height: number);
2505
+ /**
2506
+ * Create with random phase (deterministic from seed).
2507
+ */
2508
+ static random(width: number, height: number, seed: bigint): WasmOpticalRotorField;
2509
+ /**
2510
+ * Create uniform field (constant phase and amplitude).
2511
+ */
2512
+ static uniform(phase: number, amplitude: number, width: number, height: number): WasmOpticalRotorField;
2513
+ /**
2514
+ * Create identity field (phase = 0, amplitude = 1).
2515
+ */
2516
+ static identity(width: number, height: number): WasmOpticalRotorField;
2517
+ /**
2518
+ * Get phase at a point (in radians, range [-π, π]).
2519
+ */
2520
+ phaseAt(x: number, y: number): number;
2521
+ /**
2522
+ * Get grid width.
2523
+ */
2524
+ readonly width: number;
2525
+ /**
2526
+ * Get grid height.
2527
+ */
2528
+ readonly height: number;
2529
+ /**
2530
+ * Get total number of points.
2531
+ */
2532
+ readonly length: number;
2533
+ }
2027
2534
  /**
2028
2535
  * WASM wrapper for optimization results
2029
2536
  */
@@ -2380,6 +2887,69 @@ export class WasmSimpleOptimizer {
2380
2887
  */
2381
2888
  constructor();
2382
2889
  }
2890
+ /**
2891
+ * WASM wrapper for Sobolev spaces H^k
2892
+ *
2893
+ * Provides function spaces with weak derivatives.
2894
+ */
2895
+ export class WasmSobolevSpace {
2896
+ free(): void;
2897
+ /**
2898
+ * Compute the H^1 seminorm |f|_{H^1} = ||f'||_{L^2}
2899
+ */
2900
+ h1Seminorm(df: Function): number;
2901
+ /**
2902
+ * Create H^1 over the unit interval [0, 1]
2903
+ */
2904
+ static h1UnitInterval(): WasmSobolevSpace;
2905
+ /**
2906
+ * Create H^2 over the unit interval [0, 1]
2907
+ */
2908
+ static h2UnitInterval(): WasmSobolevSpace;
2909
+ /**
2910
+ * Compute L^2 inner product <f, g>
2911
+ */
2912
+ l2InnerProduct(f: Function, g: Function): number;
2913
+ /**
2914
+ * Compute the Poincare constant estimate for the domain
2915
+ *
2916
+ * For [a,b], this is (b-a)/π
2917
+ */
2918
+ poincareConstant(): number;
2919
+ /**
2920
+ * Set the number of quadrature points
2921
+ */
2922
+ setQuadraturePoints(n: number): void;
2923
+ /**
2924
+ * Create a Sobolev space H^k over an interval [a, b]
2925
+ *
2926
+ * # Arguments
2927
+ * * `order` - The Sobolev regularity (1 for H^1, 2 for H^2)
2928
+ * * `lower` - Lower bound of the interval
2929
+ * * `upper` - Upper bound of the interval
2930
+ */
2931
+ constructor(order: number, lower: number, upper: number);
2932
+ /**
2933
+ * Get the domain bounds [lower, upper]
2934
+ */
2935
+ bounds(): Float64Array;
2936
+ /**
2937
+ * Compute the H^k norm of a function using numerical integration
2938
+ *
2939
+ * # Arguments
2940
+ * * `f` - JavaScript function f(x) to evaluate
2941
+ * * `df` - JavaScript function f'(x) (first derivative)
2942
+ */
2943
+ h1Norm(f: Function, df: Function): number;
2944
+ /**
2945
+ * Compute L^2 norm of a function
2946
+ */
2947
+ l2Norm(f: Function): number;
2948
+ /**
2949
+ * Get the Sobolev order k
2950
+ */
2951
+ order(): number;
2952
+ }
2383
2953
  /**
2384
2954
  * WASM wrapper for spacetime vectors
2385
2955
  */
@@ -2438,6 +3008,66 @@ export class WasmSpacetimeVector {
2438
3008
  */
2439
3009
  readonly z: number;
2440
3010
  }
3011
+ /**
3012
+ * WASM wrapper for spectral decomposition
3013
+ *
3014
+ * Provides eigenvalue decomposition for symmetric matrices.
3015
+ */
3016
+ export class WasmSpectralDecomposition {
3017
+ private constructor();
3018
+ free(): void;
3019
+ /**
3020
+ * Get the eigenvalues
3021
+ */
3022
+ eigenvalues(): Float64Array;
3023
+ /**
3024
+ * Check if the decomposition is complete
3025
+ */
3026
+ isComplete(): boolean;
3027
+ /**
3028
+ * Get the eigenvectors as a flattened array
3029
+ *
3030
+ * Returns 4 eigenvectors of 4 components each (16 total)
3031
+ */
3032
+ eigenvectors(): Float64Array;
3033
+ /**
3034
+ * Apply f(T) = Σᵢ f(λᵢ) Pᵢ to a vector using functional calculus
3035
+ *
3036
+ * # Arguments
3037
+ * * `f` - JavaScript function to apply to eigenvalues
3038
+ * * `x` - Input vector
3039
+ */
3040
+ applyFunction(f: Function, x: Float64Array): Float64Array;
3041
+ /**
3042
+ * Get the spectral radius (largest |eigenvalue|)
3043
+ */
3044
+ spectralRadius(): number;
3045
+ /**
3046
+ * Get the condition number
3047
+ */
3048
+ conditionNumber(): number | undefined;
3049
+ /**
3050
+ * Check if the operator is positive definite
3051
+ */
3052
+ isPositiveDefinite(): boolean;
3053
+ /**
3054
+ * Check if the operator is positive semi-definite
3055
+ */
3056
+ isPositiveSemidefinite(): boolean;
3057
+ /**
3058
+ * Apply the reconstructed operator T = Σᵢ λᵢ Pᵢ to a vector
3059
+ */
3060
+ apply(x: Float64Array): Float64Array;
3061
+ /**
3062
+ * Compute spectral decomposition of a symmetric matrix
3063
+ *
3064
+ * # Arguments
3065
+ * * `matrix` - The symmetric matrix operator to decompose
3066
+ * * `max_iterations` - Maximum iterations for eigenvalue computation
3067
+ * * `tolerance` - Convergence tolerance
3068
+ */
3069
+ static compute(matrix: WasmMatrixOperator, max_iterations: number, tolerance: number): WasmSpectralDecomposition;
3070
+ }
2441
3071
  /**
2442
3072
  * Trajectory point for particle propagation
2443
3073
  */
@@ -2751,6 +3381,70 @@ export class WasmTropicalNumber {
2751
3381
  */
2752
3382
  getValue(): number;
2753
3383
  }
3384
+ /**
3385
+ * WASM wrapper for TropicalOpticalAlgebra.
3386
+ *
3387
+ * Tropical (min, +) operations on optical fields for attractor dynamics.
3388
+ */
3389
+ export class WasmTropicalOpticalAlgebra {
3390
+ free(): void;
3391
+ /**
3392
+ * Tropical addition: pointwise minimum of phase magnitudes.
3393
+ *
3394
+ * For each pixel, selects the rotor with smaller absolute phase.
3395
+ */
3396
+ tropicalAdd(a: WasmOpticalRotorField, b: WasmOpticalRotorField): WasmOpticalRotorField;
3397
+ /**
3398
+ * Tropical maximum: pointwise maximum of phase magnitudes.
3399
+ */
3400
+ tropicalMax(a: WasmOpticalRotorField, b: WasmOpticalRotorField): WasmOpticalRotorField;
3401
+ /**
3402
+ * Tropical multiplication: binding operation (phase addition).
3403
+ */
3404
+ tropicalMul(a: WasmOpticalRotorField, b: WasmOpticalRotorField): WasmOpticalRotorField;
3405
+ /**
3406
+ * Compute phase distance between two fields.
3407
+ *
3408
+ * Returns the sum of absolute phase differences.
3409
+ */
3410
+ phaseDistance(a: WasmOpticalRotorField, b: WasmOpticalRotorField): number;
3411
+ /**
3412
+ * Soft tropical addition using logsumexp-style smoothing.
3413
+ *
3414
+ * # Arguments
3415
+ * * `a`, `b` - Fields to combine
3416
+ * * `beta` - Temperature parameter (large = hard min, small = soft average)
3417
+ */
3418
+ softTropicalAdd(a: WasmOpticalRotorField, b: WasmOpticalRotorField, beta: number): WasmOpticalRotorField;
3419
+ /**
3420
+ * Iterate attractor dynamics until convergence.
3421
+ *
3422
+ * # Arguments
3423
+ * * `initial` - Starting state
3424
+ * * `attractors` - Set of attractor fields
3425
+ * * `max_iterations` - Maximum iterations
3426
+ * * `tolerance` - Convergence tolerance
3427
+ *
3428
+ * Returns (final_state, iterations_taken).
3429
+ */
3430
+ attractorConverge(initial: WasmOpticalRotorField, attractors: WasmOpticalRotorField[], max_iterations: number, tolerance: number): WasmOpticalRotorField;
3431
+ /**
3432
+ * Compute normalized phase distance (average per pixel).
3433
+ */
3434
+ normalizedPhaseDistance(a: WasmOpticalRotorField, b: WasmOpticalRotorField): number;
3435
+ /**
3436
+ * Create new tropical algebra instance for fields of the given dimensions.
3437
+ */
3438
+ constructor(width: number, height: number);
3439
+ /**
3440
+ * Get algebra width.
3441
+ */
3442
+ readonly width: number;
3443
+ /**
3444
+ * Get algebra height.
3445
+ */
3446
+ readonly height: number;
3447
+ }
2754
3448
  /**
2755
3449
  * WASM wrapper for TropicalPolynomial - polynomial operations in tropical algebra
2756
3450
  */
@@ -2959,6 +3653,7 @@ export interface InitOutput {
2959
3653
  readonly __wbg_scalarfield_free: (a: number, b: number) => void;
2960
3654
  readonly __wbg_set_wasmmcmcdiagnostics_acceptance_rate: (a: number, b: number) => void;
2961
3655
  readonly __wbg_set_wasmmcmcdiagnostics_num_steps: (a: number, b: number) => void;
3656
+ readonly __wbg_wasmbinaryhologram_free: (a: number, b: number) => void;
2962
3657
  readonly __wbg_wasmchowclass_free: (a: number, b: number) => void;
2963
3658
  readonly __wbg_wasmcommunity_free: (a: number, b: number) => void;
2964
3659
  readonly __wbg_wasmduallyflatmanifold_free: (a: number, b: number) => void;
@@ -2968,6 +3663,7 @@ export interface InitOutput {
2968
3663
  readonly __wbg_wasmgaussianmultivector_free: (a: number, b: number) => void;
2969
3664
  readonly __wbg_wasmgeodesicintegrator_free: (a: number, b: number) => void;
2970
3665
  readonly __wbg_wasmgeometricca_free: (a: number, b: number) => void;
3666
+ readonly __wbg_wasmgeometricleeencoder_free: (a: number, b: number) => void;
2971
3667
  readonly __wbg_wasmgeometricnetwork_free: (a: number, b: number) => void;
2972
3668
  readonly __wbg_wasmgradeprojecteddistribution_free: (a: number, b: number) => void;
2973
3669
  readonly __wbg_wasmgrassmannian_free: (a: number, b: number) => void;
@@ -2980,12 +3676,16 @@ export interface InitOutput {
2980
3676
  readonly __wbg_wasmmultidualnumber_free: (a: number, b: number) => void;
2981
3677
  readonly __wbg_wasmmultivector_free: (a: number, b: number) => void;
2982
3678
  readonly __wbg_wasmnodemetadata_free: (a: number, b: number) => void;
3679
+ readonly __wbg_wasmopticalcodebook_free: (a: number, b: number) => void;
3680
+ readonly __wbg_wasmopticalrotorfield_free: (a: number, b: number) => void;
2983
3681
  readonly __wbg_wasmoptimizationresult_free: (a: number, b: number) => void;
2984
3682
  readonly __wbg_wasmpropagationanalysis_free: (a: number, b: number) => void;
2985
3683
  readonly __wbg_wasmrelativisticparticle_free: (a: number, b: number) => void;
2986
3684
  readonly __wbg_wasmresonator_free: (a: number, b: number) => void;
2987
3685
  readonly __wbg_wasmselfassembler_free: (a: number, b: number) => void;
2988
3686
  readonly __wbg_wasmsensitivitymap_free: (a: number, b: number) => void;
3687
+ readonly __wbg_wasmsobolevspace_free: (a: number, b: number) => void;
3688
+ readonly __wbg_wasmspectraldecomposition_free: (a: number, b: number) => void;
2989
3689
  readonly __wbg_wasmtrajectorypoint_free: (a: number, b: number) => void;
2990
3690
  readonly __wbg_wasmtropicaldualclifford_free: (a: number, b: number) => void;
2991
3691
  readonly __wbg_wasmtropicalnetwork_free: (a: number, b: number) => void;
@@ -3009,6 +3709,7 @@ export interface InitOutput {
3009
3709
  readonly batchops_batchPolynomial: (a: number, b: number, c: number, d: number) => [number, number, number, number];
3010
3710
  readonly batchops_computeJacobian: (a: number, b: number, c: number, d: number) => [number, number, number, number];
3011
3711
  readonly batchops_matrixMultiply: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number) => [number, number, number, number];
3712
+ readonly computeEigenvalues: (a: number, b: number, c: number) => [number, number, number, number];
3012
3713
  readonly enumerativebatch_bezoutBatch: (a: number, b: number, c: number, d: number, e: number) => [number, number, number, number];
3013
3714
  readonly enumerativebatch_binomialBatch: (a: number, b: number, c: number, d: number) => [number, number, number, number];
3014
3715
  readonly enumerativebatch_getBatchOperationCount: () => number;
@@ -3043,6 +3744,7 @@ export interface InitOutput {
3043
3744
  readonly integrate: (a: any, b: number, c: number, d: number, e: number) => [number, number, number];
3044
3745
  readonly integration_integrate1D: (a: any, b: number, c: number, d: number) => [number, number, number];
3045
3746
  readonly integration_integrate2D: (a: any, b: number, c: number, d: number, e: number, f: number, g: number) => [number, number, number];
3747
+ readonly inverseIteration: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number, number, number];
3046
3748
  readonly klDivergence: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number) => [number, number, number];
3047
3749
  readonly light_deflection_angle: (a: number, b: number) => number;
3048
3750
  readonly mlops_batchActivation: (a: number, b: number, c: number, d: number) => [number, number, number, number];
@@ -3061,6 +3763,7 @@ export interface InitOutput {
3061
3763
  readonly performanceoperations_fastGeometricProduct: (a: number, b: number, c: number, d: number) => [number, number];
3062
3764
  readonly performanceoperations_vectorCrossProduct: (a: number, b: number, c: number, d: number) => [number, number];
3063
3765
  readonly performanceoperations_vectorDotProduct: (a: number, b: number, c: number, d: number) => number;
3766
+ readonly powerMethod: (a: number, b: number, c: number, d: number, e: number) => [number, number, number, number];
3064
3767
  readonly riemannianmanifold_christoffel: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number, number];
3065
3768
  readonly riemannianmanifold_dimension: (a: number) => number;
3066
3769
  readonly riemannianmanifold_euclidean: (a: number) => [number, number, number];
@@ -3090,6 +3793,23 @@ export interface InitOutput {
3090
3793
  readonly wasmalphaconnection_isLeviCivita: (a: number) => number;
3091
3794
  readonly wasmalphaconnection_isMixture: (a: number) => number;
3092
3795
  readonly wasmalphaconnection_new: (a: number) => [number, number, number];
3796
+ readonly wasmbinaryhologram_asBytes: (a: number) => [number, number];
3797
+ readonly wasmbinaryhologram_fillFactor: (a: number) => number;
3798
+ readonly wasmbinaryhologram_get: (a: number, b: number, c: number) => number;
3799
+ readonly wasmbinaryhologram_hammingDistance: (a: number, b: number) => number;
3800
+ readonly wasmbinaryhologram_height: (a: number) => number;
3801
+ readonly wasmbinaryhologram_inverted: (a: number) => number;
3802
+ readonly wasmbinaryhologram_length: (a: number) => number;
3803
+ readonly wasmbinaryhologram_new: (a: number, b: number, c: number, d: number) => [number, number, number];
3804
+ readonly wasmbinaryhologram_normalizedHammingDistance: (a: number, b: number) => number;
3805
+ readonly wasmbinaryhologram_ones: (a: number, b: number) => number;
3806
+ readonly wasmbinaryhologram_popcount: (a: number) => number;
3807
+ readonly wasmbinaryhologram_set: (a: number, b: number, c: number, d: number) => void;
3808
+ readonly wasmbinaryhologram_toBools: (a: number) => [number, number];
3809
+ readonly wasmbinaryhologram_toggle: (a: number, b: number, c: number) => void;
3810
+ readonly wasmbinaryhologram_width: (a: number) => number;
3811
+ readonly wasmbinaryhologram_xor: (a: number, b: number) => number;
3812
+ readonly wasmbinaryhologram_zeros: (a: number, b: number) => number;
3093
3813
  readonly wasmchowclass_getDegree: (a: number) => number;
3094
3814
  readonly wasmchowclass_getDimension: (a: number) => number;
3095
3815
  readonly wasmchowclass_hypersurface: (a: number) => number;
@@ -3184,7 +3904,14 @@ export interface InitOutput {
3184
3904
  readonly wasmgeometricca_step: (a: number) => [number, number];
3185
3905
  readonly wasmgeometricedge_new: (a: number, b: number, c: number) => number;
3186
3906
  readonly wasmgeometricedge_source: (a: number) => number;
3187
- readonly wasmgeometricedge_target: (a: number) => number;
3907
+ readonly wasmgeometricleeencoder_carrierAngle: (a: number) => number;
3908
+ readonly wasmgeometricleeencoder_carrierFrequency: (a: number) => number;
3909
+ readonly wasmgeometricleeencoder_encode: (a: number, b: number) => number;
3910
+ readonly wasmgeometricleeencoder_height: (a: number) => number;
3911
+ readonly wasmgeometricleeencoder_modulate: (a: number, b: number) => number;
3912
+ readonly wasmgeometricleeencoder_new: (a: number, b: number, c: number, d: number) => number;
3913
+ readonly wasmgeometricleeencoder_theoreticalEfficiency: (a: number, b: number) => number;
3914
+ readonly wasmgeometricleeencoder_withFrequency: (a: number, b: number, c: number) => number;
3188
3915
  readonly wasmgeometricnetwork_addEdge: (a: number, b: number, c: number, d: number) => [number, number];
3189
3916
  readonly wasmgeometricnetwork_addNode: (a: number, b: number, c: number) => [number, number, number];
3190
3917
  readonly wasmgeometricnetwork_addNodeWithMetadata: (a: number, b: number, c: number, d: number, e: number) => [number, number, number];
@@ -3218,6 +3945,15 @@ export interface InitOutput {
3218
3945
  readonly wasmgrassmannian_getDimension: (a: number) => number;
3219
3946
  readonly wasmgrassmannian_getParameters: (a: number) => [number, number];
3220
3947
  readonly wasmgrassmannian_new: (a: number, b: number) => [number, number, number];
3948
+ readonly wasmhilbertspace_dimension: (a: number) => number;
3949
+ readonly wasmhilbertspace_distance: (a: number, b: number, c: number, d: number, e: number) => [number, number, number];
3950
+ readonly wasmhilbertspace_fromCoefficients: (a: number, b: number, c: number) => [number, number, number, number];
3951
+ readonly wasmhilbertspace_innerProduct: (a: number, b: number, c: number, d: number, e: number) => [number, number, number];
3952
+ readonly wasmhilbertspace_isOrthogonal: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number, number];
3953
+ readonly wasmhilbertspace_norm: (a: number, b: number, c: number) => [number, number, number];
3954
+ readonly wasmhilbertspace_normalize: (a: number, b: number, c: number) => [number, number, number, number];
3955
+ readonly wasmhilbertspace_project: (a: number, b: number, c: number, d: number, e: number) => [number, number, number, number];
3956
+ readonly wasmhilbertspace_signature: (a: number) => [number, number];
3221
3957
  readonly wasmholographicmemory_clear: (a: number) => void;
3222
3958
  readonly wasmholographicmemory_estimatedSnr: (a: number) => number;
3223
3959
  readonly wasmholographicmemory_isNearCapacity: (a: number) => number;
@@ -3237,6 +3973,21 @@ export interface InitOutput {
3237
3973
  readonly wasmlebesguemeasure_measureBox: (a: number, b: number, c: number) => [number, number, number];
3238
3974
  readonly wasmlebesguemeasure_measureInterval: (a: number, b: number, c: number, d: number, e: number) => [number, number, number];
3239
3975
  readonly wasmlebesguemeasure_new: (a: number) => [number, number, number];
3976
+ readonly wasmmatrixoperator_add: (a: number, b: number) => [number, number, number];
3977
+ readonly wasmmatrixoperator_apply: (a: number, b: number, c: number) => [number, number, number, number];
3978
+ readonly wasmmatrixoperator_compose: (a: number, b: number) => [number, number, number];
3979
+ readonly wasmmatrixoperator_diagonal: (a: number, b: number) => [number, number, number];
3980
+ readonly wasmmatrixoperator_getEntries: (a: number) => [number, number];
3981
+ readonly wasmmatrixoperator_getEntry: (a: number, b: number, c: number) => [number, number, number];
3982
+ readonly wasmmatrixoperator_identity: () => number;
3983
+ readonly wasmmatrixoperator_isSymmetric: (a: number, b: number) => number;
3984
+ readonly wasmmatrixoperator_new: (a: number, b: number) => [number, number, number];
3985
+ readonly wasmmatrixoperator_operatorNorm: (a: number) => number;
3986
+ readonly wasmmatrixoperator_scale: (a: number, b: number) => number;
3987
+ readonly wasmmatrixoperator_scaling: (a: number) => number;
3988
+ readonly wasmmatrixoperator_trace: (a: number) => number;
3989
+ readonly wasmmatrixoperator_transpose: (a: number) => number;
3990
+ readonly wasmmatrixoperator_zero: () => number;
3240
3991
  readonly wasmmcmcdiagnostics_getEffectiveSampleSize: (a: number) => number;
3241
3992
  readonly wasmmcmcdiagnostics_getRHat: (a: number) => number;
3242
3993
  readonly wasmmcmcdiagnostics_isConverged: (a: number) => number;
@@ -3266,7 +4017,6 @@ export interface InitOutput {
3266
4017
  readonly wasmmultidualnumber_variable: (a: number, b: number, c: number) => number;
3267
4018
  readonly wasmmultiobjectiveoptimizer_optimizeBiObjective: (a: number, b: number, c: number, d: number) => [number, number, number];
3268
4019
  readonly wasmmultiobjectiveresult_converged: (a: number) => number;
3269
- readonly wasmmultiobjectiveresult_generations: (a: number) => number;
3270
4020
  readonly wasmmultiobjectiveresult_pareto_front: (a: number) => [number, number];
3271
4021
  readonly wasmmultivector_add: (a: number, b: number) => number;
3272
4022
  readonly wasmmultivector_basisVector: (a: number) => [number, number, number];
@@ -3294,6 +4044,48 @@ export interface InitOutput {
3294
4044
  readonly wasmnodemetadata_setProperty: (a: number, b: number, c: number, d: number) => void;
3295
4045
  readonly wasmnodemetadata_set_label: (a: number, b: number, c: number) => void;
3296
4046
  readonly wasmnodemetadata_withLabel: (a: number, b: number) => number;
4047
+ readonly wasmopticalcodebook_clearCache: (a: number) => void;
4048
+ readonly wasmopticalcodebook_contains: (a: number, b: number, c: number) => number;
4049
+ readonly wasmopticalcodebook_generate: (a: number, b: number, c: number) => number;
4050
+ readonly wasmopticalcodebook_get: (a: number, b: number, c: number) => number;
4051
+ readonly wasmopticalcodebook_getSeed: (a: number, b: number, c: number) => [number, bigint];
4052
+ readonly wasmopticalcodebook_isEmpty: (a: number) => number;
4053
+ readonly wasmopticalcodebook_length: (a: number) => number;
4054
+ readonly wasmopticalcodebook_new: (a: number, b: number, c: bigint) => number;
4055
+ readonly wasmopticalcodebook_register: (a: number, b: number, c: number) => void;
4056
+ readonly wasmopticalcodebook_registerAll: (a: number, b: number, c: number) => void;
4057
+ readonly wasmopticalcodebook_registerWithSeed: (a: number, b: number, c: number, d: bigint) => void;
4058
+ readonly wasmopticalcodebook_remove: (a: number, b: number, c: number) => number;
4059
+ readonly wasmopticalcodebook_symbols: (a: number) => [number, number];
4060
+ readonly wasmopticalfieldalgebra_addPhase: (a: number, b: number, c: number) => number;
4061
+ readonly wasmopticalfieldalgebra_bind: (a: number, b: number, c: number) => [number, number, number];
4062
+ readonly wasmopticalfieldalgebra_bundle: (a: number, b: number, c: number, d: number, e: number) => [number, number, number];
4063
+ readonly wasmopticalfieldalgebra_bundleUniform: (a: number, b: number, c: number) => [number, number, number];
4064
+ readonly wasmopticalfieldalgebra_identity: (a: number) => number;
4065
+ readonly wasmopticalfieldalgebra_inverse: (a: number, b: number) => number;
4066
+ readonly wasmopticalfieldalgebra_meanPhase: (a: number, b: number) => number;
4067
+ readonly wasmopticalfieldalgebra_new: (a: number, b: number) => number;
4068
+ readonly wasmopticalfieldalgebra_phaseVariance: (a: number, b: number) => number;
4069
+ readonly wasmopticalfieldalgebra_random: (a: number, b: bigint) => number;
4070
+ readonly wasmopticalfieldalgebra_scale: (a: number, b: number, c: number) => number;
4071
+ readonly wasmopticalfieldalgebra_similarity: (a: number, b: number, c: number) => [number, number, number];
4072
+ readonly wasmopticalfieldalgebra_unbind: (a: number, b: number, c: number) => [number, number, number];
4073
+ readonly wasmopticalrotorfield_amplitudeAt: (a: number, b: number, c: number) => number;
4074
+ readonly wasmopticalrotorfield_clone: (a: number) => number;
4075
+ readonly wasmopticalrotorfield_fromPhase: (a: number, b: number, c: number, d: number) => [number, number, number];
4076
+ readonly wasmopticalrotorfield_getAmplitudes: (a: number) => [number, number];
4077
+ readonly wasmopticalrotorfield_getBivectors: (a: number) => [number, number];
4078
+ readonly wasmopticalrotorfield_getScalars: (a: number) => [number, number];
4079
+ readonly wasmopticalrotorfield_height: (a: number) => number;
4080
+ readonly wasmopticalrotorfield_identity: (a: number, b: number) => number;
4081
+ readonly wasmopticalrotorfield_length: (a: number) => number;
4082
+ readonly wasmopticalrotorfield_new: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number, number];
4083
+ readonly wasmopticalrotorfield_normalized: (a: number) => number;
4084
+ readonly wasmopticalrotorfield_phaseAt: (a: number, b: number, c: number) => number;
4085
+ readonly wasmopticalrotorfield_random: (a: number, b: number, c: bigint) => number;
4086
+ readonly wasmopticalrotorfield_totalEnergy: (a: number) => number;
4087
+ readonly wasmopticalrotorfield_uniform: (a: number, b: number, c: number, d: number) => number;
4088
+ readonly wasmopticalrotorfield_width: (a: number) => number;
3297
4089
  readonly wasmoptimizationresult_converged: (a: number) => number;
3298
4090
  readonly wasmoptimizationresult_solution: (a: number) => [number, number];
3299
4091
  readonly wasmoptimizationutils_dominates: (a: number, b: number, c: number, d: number) => number;
@@ -3351,6 +4143,17 @@ export interface InitOutput {
3351
4143
  readonly wasmsensitivitymap_getMostSensitive: (a: number, b: number) => [number, number];
3352
4144
  readonly wasmsensitivitymap_getTotalSensitivity: (a: number) => number;
3353
4145
  readonly wasmsimpleoptimizer_optimizeQuadratic: (a: number, b: number, c: number, d: number, e: number) => [number, number, number];
4146
+ readonly wasmsobolevspace_bounds: (a: number) => [number, number];
4147
+ readonly wasmsobolevspace_h1Norm: (a: number, b: any, c: any) => [number, number, number];
4148
+ readonly wasmsobolevspace_h1Seminorm: (a: number, b: any) => [number, number, number];
4149
+ readonly wasmsobolevspace_h1UnitInterval: () => number;
4150
+ readonly wasmsobolevspace_h2UnitInterval: () => number;
4151
+ readonly wasmsobolevspace_l2InnerProduct: (a: number, b: any, c: any) => [number, number, number];
4152
+ readonly wasmsobolevspace_l2Norm: (a: number, b: any) => [number, number, number];
4153
+ readonly wasmsobolevspace_new: (a: number, b: number, c: number) => [number, number, number];
4154
+ readonly wasmsobolevspace_order: (a: number) => number;
4155
+ readonly wasmsobolevspace_poincareConstant: (a: number) => number;
4156
+ readonly wasmsobolevspace_setQuadraturePoints: (a: number, b: number) => void;
3354
4157
  readonly wasmspacetimevector_is_null: (a: number) => number;
3355
4158
  readonly wasmspacetimevector_is_spacelike: (a: number) => number;
3356
4159
  readonly wasmspacetimevector_is_timelike: (a: number) => number;
@@ -3360,6 +4163,16 @@ export interface InitOutput {
3360
4163
  readonly wasmspacetimevector_spacelike: (a: number, b: number, c: number) => number;
3361
4164
  readonly wasmspacetimevector_timelike: (a: number) => number;
3362
4165
  readonly wasmspacetimevector_to_string: (a: number) => [number, number];
4166
+ readonly wasmspectraldecomposition_apply: (a: number, b: number, c: number) => [number, number, number, number];
4167
+ readonly wasmspectraldecomposition_applyFunction: (a: number, b: any, c: number, d: number) => [number, number, number, number];
4168
+ readonly wasmspectraldecomposition_compute: (a: number, b: number, c: number) => [number, number, number];
4169
+ readonly wasmspectraldecomposition_conditionNumber: (a: number) => [number, number];
4170
+ readonly wasmspectraldecomposition_eigenvalues: (a: number) => [number, number];
4171
+ readonly wasmspectraldecomposition_eigenvectors: (a: number) => [number, number];
4172
+ readonly wasmspectraldecomposition_isComplete: (a: number) => number;
4173
+ readonly wasmspectraldecomposition_isPositiveDefinite: (a: number) => number;
4174
+ readonly wasmspectraldecomposition_isPositiveSemidefinite: (a: number) => number;
4175
+ readonly wasmspectraldecomposition_spectralRadius: (a: number) => number;
3363
4176
  readonly wasmtropicalcurve_expectedVertices: (a: number) => number;
3364
4177
  readonly wasmtropicalcurve_getDegree: (a: number) => number;
3365
4178
  readonly wasmtropicalcurve_new: (a: number, b: number) => number;
@@ -3409,6 +4222,13 @@ export interface InitOutput {
3409
4222
  readonly wasmtropicalnumber_one: () => number;
3410
4223
  readonly wasmtropicalnumber_toProb: (a: number) => number;
3411
4224
  readonly wasmtropicalnumber_tropicalPow: (a: number, b: number) => number;
4225
+ readonly wasmtropicalopticalalgebra_attractorConverge: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number, number];
4226
+ readonly wasmtropicalopticalalgebra_normalizedPhaseDistance: (a: number, b: number, c: number) => [number, number, number];
4227
+ readonly wasmtropicalopticalalgebra_phaseDistance: (a: number, b: number, c: number) => [number, number, number];
4228
+ readonly wasmtropicalopticalalgebra_softTropicalAdd: (a: number, b: number, c: number, d: number) => [number, number, number];
4229
+ readonly wasmtropicalopticalalgebra_tropicalAdd: (a: number, b: number, c: number) => [number, number, number];
4230
+ readonly wasmtropicalopticalalgebra_tropicalMax: (a: number, b: number, c: number) => [number, number, number];
4231
+ readonly wasmtropicalopticalalgebra_tropicalMul: (a: number, b: number, c: number) => [number, number, number];
3412
4232
  readonly wasmtropicalpolynomial_evaluate: (a: number, b: number) => number;
3413
4233
  readonly wasmtropicalpolynomial_new: (a: number, b: number) => number;
3414
4234
  readonly wasmtropicalpolynomial_tropical_roots: (a: number) => any;
@@ -3453,6 +4273,7 @@ export interface InitOutput {
3453
4273
  readonly __wbg_vectorfield_free: (a: number, b: number) => void;
3454
4274
  readonly vectorfield_new: (a: any, b: number) => number;
3455
4275
  readonly wasmgeometricbrownianmotion_new: (a: number, b: number) => number;
4276
+ readonly wasmtropicalopticalalgebra_new: (a: number, b: number) => number;
3456
4277
  readonly wasmtropicalnumber_isZero: (a: number) => number;
3457
4278
  readonly wasmtropicalnumber_tropicalAdd: (a: number, b: number) => number;
3458
4279
  readonly __wbg_get_wasmtrajectorypoint_time: (a: number) => number;
@@ -3462,10 +4283,15 @@ export interface InitOutput {
3462
4283
  readonly wasmevaluationresult_getGradientNorm: (a: number) => number;
3463
4284
  readonly wasmgeometricbrownianmotion_getMu: (a: number) => number;
3464
4285
  readonly wasmgeometricbrownianmotion_getSigma: (a: number) => number;
4286
+ readonly wasmgeometricedge_target: (a: number) => number;
3465
4287
  readonly wasmgeometricedge_weight: (a: number) => number;
4288
+ readonly wasmgeometricleeencoder_width: (a: number) => number;
3466
4289
  readonly wasmgradeprojecteddistribution_getGrade: (a: number) => number;
3467
4290
  readonly wasmmodulispace_getGenus: (a: number) => number;
3468
4291
  readonly wasmmultidualnumber_getReal: (a: number) => number;
4292
+ readonly wasmmultiobjectiveresult_generations: (a: number) => number;
4293
+ readonly wasmopticalfieldalgebra_height: (a: number) => number;
4294
+ readonly wasmopticalfieldalgebra_width: (a: number) => number;
3469
4295
  readonly wasmoptimizationresult_iterations: (a: number) => number;
3470
4296
  readonly wasmoptimizationresult_objective_value: (a: number) => number;
3471
4297
  readonly wasmprojectivespace_getDimension: (a: number) => number;
@@ -3477,6 +4303,8 @@ export interface InitOutput {
3477
4303
  readonly wasmtropicalcurve_getGenus: (a: number) => number;
3478
4304
  readonly wasmtropicalnetwork_getSize: (a: number) => number;
3479
4305
  readonly wasmtropicalnumber_getValue: (a: number) => number;
4306
+ readonly wasmtropicalopticalalgebra_height: (a: number) => number;
4307
+ readonly wasmtropicalopticalalgebra_width: (a: number) => number;
3480
4308
  readonly wasmwienerprocess_getDim: (a: number) => number;
3481
4309
  readonly __wbg_automatabatchoperations_free: (a: number, b: number) => void;
3482
4310
  readonly __wbg_automatautils_free: (a: number, b: number) => void;
@@ -3500,8 +4328,10 @@ export interface InitOutput {
3500
4328
  readonly __wbg_wasmgeometricbrownianmotion_free: (a: number, b: number) => void;
3501
4329
  readonly __wbg_wasmgeometricedge_free: (a: number, b: number) => void;
3502
4330
  readonly __wbg_wasmgpuoptimizer_free: (a: number, b: number) => void;
4331
+ readonly __wbg_wasmhilbertspace_free: (a: number, b: number) => void;
3503
4332
  readonly __wbg_wasmmontecarloestimator_free: (a: number, b: number) => void;
3504
4333
  readonly __wbg_wasmmultiobjectiveoptimizer_free: (a: number, b: number) => void;
4334
+ readonly __wbg_wasmopticalfieldalgebra_free: (a: number, b: number) => void;
3505
4335
  readonly __wbg_wasmoptimizationutils_free: (a: number, b: number) => void;
3506
4336
  readonly __wbg_wasmprojectivespace_free: (a: number, b: number) => void;
3507
4337
  readonly __wbg_wasmrelativisticconstants_free: (a: number, b: number) => void;
@@ -3511,11 +4341,14 @@ export interface InitOutput {
3511
4341
  readonly __wbg_wasmtropicalcurve_free: (a: number, b: number) => void;
3512
4342
  readonly __wbg_wasmtropicalmeasure_free: (a: number, b: number) => void;
3513
4343
  readonly __wbg_wasmtropicalnumber_free: (a: number, b: number) => void;
4344
+ readonly __wbg_wasmtropicalopticalalgebra_free: (a: number, b: number) => void;
3514
4345
  readonly __wbg_wasmwienerprocess_free: (a: number, b: number) => void;
4346
+ readonly __wbg_wasmmatrixoperator_free: (a: number, b: number) => void;
3515
4347
  readonly __wbg_wasmmultiobjectiveresult_free: (a: number, b: number) => void;
3516
4348
  readonly wasmrotor_inverse: (a: number) => number;
3517
4349
  readonly __wbg_wasmrotor_free: (a: number, b: number) => void;
3518
4350
  readonly wasmgpuoptimizer_new: () => number;
4351
+ readonly wasmhilbertspace_new: () => number;
3519
4352
  readonly wasmmultiobjectiveoptimizer_new: () => number;
3520
4353
  readonly wasmsimpleoptimizer_new: () => number;
3521
4354
  readonly wasmtropicalmeasure_new: () => number;
@@ -3527,8 +4360,9 @@ export interface InitOutput {
3527
4360
  readonly __wbindgen_realloc: (a: number, b: number, c: number, d: number) => number;
3528
4361
  readonly __wbindgen_export_6: WebAssembly.Table;
3529
4362
  readonly __externref_table_dealloc: (a: number) => void;
3530
- readonly closure41_externref_shim: (a: number, b: number, c: any) => void;
3531
- readonly closure34_externref_shim: (a: number, b: number, c: any, d: any) => void;
4363
+ readonly __externref_drop_slice: (a: number, b: number) => void;
4364
+ readonly closure44_externref_shim: (a: number, b: number, c: any) => void;
4365
+ readonly closure37_externref_shim: (a: number, b: number, c: any, d: any) => void;
3532
4366
  readonly __wbindgen_start: () => void;
3533
4367
  }
3534
4368