@danielsimonjr/mathts-matrix 0.7.0 → 0.7.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (99) hide show
  1. package/dist/backends/Backend.d.ts +146 -0
  2. package/dist/backends/Backend.d.ts.map +1 -0
  3. package/dist/backends/BackendManager.d.ts +189 -0
  4. package/dist/backends/BackendManager.d.ts.map +1 -0
  5. package/dist/backends/GPUBackend.d.ts +128 -0
  6. package/dist/backends/GPUBackend.d.ts.map +1 -0
  7. package/dist/backends/GPUMatrixBackend.d.ts +123 -0
  8. package/dist/backends/GPUMatrixBackend.d.ts.map +1 -0
  9. package/dist/backends/JSBackend.d.ts +93 -0
  10. package/dist/backends/JSBackend.d.ts.map +1 -0
  11. package/dist/backends/ParallelBackend.d.ts +131 -0
  12. package/dist/backends/ParallelBackend.d.ts.map +1 -0
  13. package/dist/backends/WASMBackend.d.ts +156 -0
  14. package/dist/backends/WASMBackend.d.ts.map +1 -0
  15. package/dist/backends/WasmLoader.d.ts +326 -0
  16. package/dist/backends/WasmLoader.d.ts.map +1 -0
  17. package/dist/backends/gpu/BatchExecutor.d.ts +190 -0
  18. package/dist/backends/gpu/BatchExecutor.d.ts.map +1 -0
  19. package/dist/backends/gpu/Sync.d.ts +167 -0
  20. package/dist/backends/gpu/Sync.d.ts.map +1 -0
  21. package/dist/backends/gpu/builtin-shaders.d.ts +178 -0
  22. package/dist/backends/gpu/builtin-shaders.d.ts.map +1 -0
  23. package/dist/backends/gpu/index.d.ts +13 -0
  24. package/dist/backends/gpu/index.d.ts.map +1 -0
  25. package/dist/backends/index.d.ts +18 -0
  26. package/dist/backends/index.d.ts.map +1 -0
  27. package/dist/backends/register-backends.d.ts +18 -0
  28. package/dist/backends/register-backends.d.ts.map +1 -0
  29. package/dist/backends/wasm/detect.d.ts +58 -0
  30. package/dist/backends/wasm/detect.d.ts.map +1 -0
  31. package/dist/backends/wasm/fft-wasm.d.ts +120 -0
  32. package/dist/backends/wasm/fft-wasm.d.ts.map +1 -0
  33. package/dist/backends/wasm/index.d.ts +9 -0
  34. package/dist/backends/wasm/index.d.ts.map +1 -0
  35. package/dist/backends/wasm/integrity.d.ts +18 -0
  36. package/dist/backends/wasm/integrity.d.ts.map +1 -0
  37. package/dist/backends/wasm/resolve.d.ts +12 -0
  38. package/dist/backends/wasm/resolve.d.ts.map +1 -0
  39. package/dist/{chunk-4VMDO6W2.js → chunk-PNKVD2UK.js} +2 -7
  40. package/dist/config.d.ts +145 -0
  41. package/dist/config.d.ts.map +1 -0
  42. package/dist/index.d.ts +14 -3037
  43. package/dist/index.d.ts.map +1 -0
  44. package/dist/index.js +9 -9
  45. package/dist/{integrity-LIWCCDIJ.js → integrity-IBNQNHXP.js} +1 -1
  46. package/dist/operations/cholesky.d.ts +24 -0
  47. package/dist/operations/cholesky.d.ts.map +1 -0
  48. package/dist/operations/common.d.ts +61 -0
  49. package/dist/operations/common.d.ts.map +1 -0
  50. package/dist/operations/condest.d.ts +27 -0
  51. package/dist/operations/condest.d.ts.map +1 -0
  52. package/dist/operations/eig-wasm.d.ts +35 -0
  53. package/dist/operations/eig-wasm.d.ts.map +1 -0
  54. package/dist/operations/eig.d.ts +75 -0
  55. package/dist/operations/eig.d.ts.map +1 -0
  56. package/dist/operations/expm.d.ts +46 -0
  57. package/dist/operations/expm.d.ts.map +1 -0
  58. package/dist/operations/index.d.ts +21 -0
  59. package/dist/operations/index.d.ts.map +1 -0
  60. package/dist/operations/logm.d.ts +59 -0
  61. package/dist/operations/logm.d.ts.map +1 -0
  62. package/dist/operations/lu.d.ts +51 -0
  63. package/dist/operations/lu.d.ts.map +1 -0
  64. package/dist/operations/pinv.d.ts +36 -0
  65. package/dist/operations/pinv.d.ts.map +1 -0
  66. package/dist/operations/qr-family.d.ts +52 -0
  67. package/dist/operations/qr-family.d.ts.map +1 -0
  68. package/dist/operations/qr-pivoted.d.ts +39 -0
  69. package/dist/operations/qr-pivoted.d.ts.map +1 -0
  70. package/dist/operations/qr.d.ts +35 -0
  71. package/dist/operations/qr.d.ts.map +1 -0
  72. package/dist/operations/schur.d.ts +58 -0
  73. package/dist/operations/schur.d.ts.map +1 -0
  74. package/dist/operations/sqrtm.d.ts +76 -0
  75. package/dist/operations/sqrtm.d.ts.map +1 -0
  76. package/dist/operations/svd-wasm.d.ts +23 -0
  77. package/dist/operations/svd-wasm.d.ts.map +1 -0
  78. package/dist/operations/svd.d.ts +70 -0
  79. package/dist/operations/svd.d.ts.map +1 -0
  80. package/dist/parallel-matrix.d.ts +222 -0
  81. package/dist/parallel-matrix.d.ts.map +1 -0
  82. package/dist/{resolve-DDCEWHWX.js → resolve-2SX6WJ6R.js} +1 -1
  83. package/dist/typed-operations.d.ts +161 -0
  84. package/dist/typed-operations.d.ts.map +1 -0
  85. package/dist/types/DenseMatrix.d.ts +213 -0
  86. package/dist/types/DenseMatrix.d.ts.map +1 -0
  87. package/dist/types/Matrix.d.ts +188 -0
  88. package/dist/types/Matrix.d.ts.map +1 -0
  89. package/dist/types/SparseMatrix.d.ts +214 -0
  90. package/dist/types/SparseMatrix.d.ts.map +1 -0
  91. package/dist/types/dense/arithmetic.d.ts +8 -0
  92. package/dist/types/dense/arithmetic.d.ts.map +1 -0
  93. package/dist/types/dense/reduction.d.ts +8 -0
  94. package/dist/types/dense/reduction.d.ts.map +1 -0
  95. package/dist/types/index.d.ts +9 -0
  96. package/dist/types/index.d.ts.map +1 -0
  97. package/dist/wasm/mathts-as.wasm +0 -0
  98. package/dist/wasm/wasm-manifest.json +1 -1
  99. package/package.json +70 -70
@@ -2,13 +2,8 @@ var __defProp = Object.defineProperty;
2
2
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
3
  var __getOwnPropNames = Object.getOwnPropertyNames;
4
4
  var __hasOwnProp = Object.prototype.hasOwnProperty;
5
- var __esm = (fn, res, err) => function __init() {
6
- if (err) throw err[0];
7
- try {
8
- return fn && (res = (0, fn[__getOwnPropNames(fn)[0]])(fn = 0)), res;
9
- } catch (e) {
10
- throw err = [e], e;
11
- }
5
+ var __esm = (fn, res) => function __init() {
6
+ return fn && (res = (0, fn[__getOwnPropNames(fn)[0]])(fn = 0)), res;
12
7
  };
13
8
  var __export = (target, all) => {
14
9
  for (var name in all)
@@ -0,0 +1,145 @@
1
+ /**
2
+ * MathTS Matrix Configuration
3
+ *
4
+ * Centralized configuration for matrix operations, backend selection,
5
+ * and performance tuning.
6
+ *
7
+ * @packageDocumentation
8
+ */
9
+ import type { BackendType } from './backends/Backend.js';
10
+ /**
11
+ * Operation type hints for backend selection.
12
+ *
13
+ * Defined here rather than in `BackendManager.ts` so that `config.ts` (the
14
+ * lower-level module) owns it — `BackendManager` already imports `config`, so
15
+ * sourcing the type the other way round closed an import cycle.
16
+ */
17
+ export type OperationType = 'add' | 'subtract' | 'multiply' | 'multiplyElementwise' | 'transpose' | 'scale' | 'decomposition' | 'solve' | 'fft' | 'eig' | 'svd';
18
+ /**
19
+ * Backend preference level
20
+ */
21
+ export type BackendPreference = 'auto' | 'prefer' | 'require' | 'disable';
22
+ /**
23
+ * Backend-specific configuration
24
+ */
25
+ export interface BackendConfig {
26
+ /** Enable this backend */
27
+ enabled: boolean;
28
+ /** Preference level */
29
+ preference: BackendPreference;
30
+ /** Minimum elements to trigger this backend */
31
+ threshold: number;
32
+ /** Operation-specific thresholds */
33
+ operationThresholds?: Partial<Record<OperationType, number>>;
34
+ }
35
+ /**
36
+ * Adaptive tuning configuration
37
+ */
38
+ export interface AdaptiveTuningConfig {
39
+ /** Enable adaptive threshold tuning */
40
+ enabled: boolean;
41
+ /** Number of samples to collect before adjusting */
42
+ sampleSize: number;
43
+ /** Minimum speedup ratio to switch backends */
44
+ minSpeedupRatio: number;
45
+ /** Maximum adjustment per iteration (percentage) */
46
+ maxAdjustmentPercent: number;
47
+ /** Cooldown period between adjustments (ms) */
48
+ cooldownMs: number;
49
+ }
50
+ /**
51
+ * Profiling configuration
52
+ */
53
+ export interface ProfilingConfig {
54
+ /** Enable performance profiling */
55
+ enabled: boolean;
56
+ /** Log slow operations (threshold in ms) */
57
+ slowOperationThresholdMs: number;
58
+ /** Collect statistics */
59
+ collectStats: boolean;
60
+ }
61
+ /**
62
+ * Matrix library configuration
63
+ */
64
+ export interface MatrixConfig {
65
+ /** Backend configurations */
66
+ backends: {
67
+ js: BackendConfig;
68
+ wasm: BackendConfig;
69
+ gpu: BackendConfig;
70
+ };
71
+ /** Adaptive tuning settings */
72
+ adaptiveTuning: AdaptiveTuningConfig;
73
+ /** Profiling settings */
74
+ profiling: ProfilingConfig;
75
+ /** Default numeric precision */
76
+ precision: 'single' | 'double';
77
+ /** Enable debug logging */
78
+ debug: boolean;
79
+ }
80
+ /**
81
+ * Default configuration
82
+ */
83
+ export declare const DEFAULT_CONFIG: MatrixConfig;
84
+ /**
85
+ * Configuration change listeners
86
+ */
87
+ type ConfigListener = (config: MatrixConfig) => void;
88
+ /**
89
+ * Get current configuration
90
+ */
91
+ export declare function getConfig(): Readonly<MatrixConfig>;
92
+ /**
93
+ * Update configuration
94
+ */
95
+ export declare function setConfig(config: Partial<MatrixConfig>): void;
96
+ /**
97
+ * Reset to default configuration
98
+ */
99
+ export declare function resetConfig(): void;
100
+ /**
101
+ * Subscribe to configuration changes
102
+ */
103
+ export declare function onConfigChange(listener: ConfigListener): () => void;
104
+ /**
105
+ * Set backend preference
106
+ */
107
+ export declare function setBackendPreference(backend: BackendType, preference: BackendPreference): void;
108
+ /**
109
+ * Set backend threshold
110
+ */
111
+ export declare function setBackendThreshold(backend: BackendType, threshold: number): void;
112
+ /**
113
+ * Enable or disable a backend
114
+ */
115
+ export declare function setBackendEnabled(backend: BackendType, enabled: boolean): void;
116
+ /**
117
+ * Get recommended backend for given operation and size
118
+ */
119
+ export declare function getRecommendedBackend(elementCount: number, operation?: OperationType): BackendType;
120
+ /**
121
+ * Force a specific backend for all operations
122
+ */
123
+ export declare function forceBackend(backend: BackendType | null): void;
124
+ /**
125
+ * Enable profiling
126
+ */
127
+ export declare function enableProfiling(collectStats?: boolean): void;
128
+ /**
129
+ * Disable profiling
130
+ */
131
+ export declare function disableProfiling(): void;
132
+ /**
133
+ * Enable adaptive tuning
134
+ */
135
+ export declare function enableAdaptiveTuning(): void;
136
+ /**
137
+ * Disable adaptive tuning
138
+ */
139
+ export declare function disableAdaptiveTuning(): void;
140
+ /**
141
+ * Configure adaptive tuning parameters
142
+ */
143
+ export declare function configureAdaptiveTuning(config: Partial<AdaptiveTuningConfig>): void;
144
+ export {};
145
+ //# sourceMappingURL=config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}