@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.
- package/dist/backends/Backend.d.ts +146 -0
- package/dist/backends/Backend.d.ts.map +1 -0
- package/dist/backends/BackendManager.d.ts +189 -0
- package/dist/backends/BackendManager.d.ts.map +1 -0
- package/dist/backends/GPUBackend.d.ts +128 -0
- package/dist/backends/GPUBackend.d.ts.map +1 -0
- package/dist/backends/GPUMatrixBackend.d.ts +123 -0
- package/dist/backends/GPUMatrixBackend.d.ts.map +1 -0
- package/dist/backends/JSBackend.d.ts +93 -0
- package/dist/backends/JSBackend.d.ts.map +1 -0
- package/dist/backends/ParallelBackend.d.ts +131 -0
- package/dist/backends/ParallelBackend.d.ts.map +1 -0
- package/dist/backends/WASMBackend.d.ts +156 -0
- package/dist/backends/WASMBackend.d.ts.map +1 -0
- package/dist/backends/WasmLoader.d.ts +326 -0
- package/dist/backends/WasmLoader.d.ts.map +1 -0
- package/dist/backends/gpu/BatchExecutor.d.ts +190 -0
- package/dist/backends/gpu/BatchExecutor.d.ts.map +1 -0
- package/dist/backends/gpu/Sync.d.ts +167 -0
- package/dist/backends/gpu/Sync.d.ts.map +1 -0
- package/dist/backends/gpu/builtin-shaders.d.ts +178 -0
- package/dist/backends/gpu/builtin-shaders.d.ts.map +1 -0
- package/dist/backends/gpu/index.d.ts +13 -0
- package/dist/backends/gpu/index.d.ts.map +1 -0
- package/dist/backends/index.d.ts +18 -0
- package/dist/backends/index.d.ts.map +1 -0
- package/dist/backends/register-backends.d.ts +18 -0
- package/dist/backends/register-backends.d.ts.map +1 -0
- package/dist/backends/wasm/detect.d.ts +58 -0
- package/dist/backends/wasm/detect.d.ts.map +1 -0
- package/dist/backends/wasm/fft-wasm.d.ts +120 -0
- package/dist/backends/wasm/fft-wasm.d.ts.map +1 -0
- package/dist/backends/wasm/index.d.ts +9 -0
- package/dist/backends/wasm/index.d.ts.map +1 -0
- package/dist/backends/wasm/integrity.d.ts +18 -0
- package/dist/backends/wasm/integrity.d.ts.map +1 -0
- package/dist/backends/wasm/resolve.d.ts +12 -0
- package/dist/backends/wasm/resolve.d.ts.map +1 -0
- package/dist/{chunk-4VMDO6W2.js → chunk-PNKVD2UK.js} +2 -7
- package/dist/config.d.ts +145 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/index.d.ts +14 -3037
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +9 -9
- package/dist/{integrity-LIWCCDIJ.js → integrity-IBNQNHXP.js} +1 -1
- package/dist/operations/cholesky.d.ts +24 -0
- package/dist/operations/cholesky.d.ts.map +1 -0
- package/dist/operations/common.d.ts +61 -0
- package/dist/operations/common.d.ts.map +1 -0
- package/dist/operations/condest.d.ts +27 -0
- package/dist/operations/condest.d.ts.map +1 -0
- package/dist/operations/eig-wasm.d.ts +35 -0
- package/dist/operations/eig-wasm.d.ts.map +1 -0
- package/dist/operations/eig.d.ts +75 -0
- package/dist/operations/eig.d.ts.map +1 -0
- package/dist/operations/expm.d.ts +46 -0
- package/dist/operations/expm.d.ts.map +1 -0
- package/dist/operations/index.d.ts +21 -0
- package/dist/operations/index.d.ts.map +1 -0
- package/dist/operations/logm.d.ts +59 -0
- package/dist/operations/logm.d.ts.map +1 -0
- package/dist/operations/lu.d.ts +51 -0
- package/dist/operations/lu.d.ts.map +1 -0
- package/dist/operations/pinv.d.ts +36 -0
- package/dist/operations/pinv.d.ts.map +1 -0
- package/dist/operations/qr-family.d.ts +52 -0
- package/dist/operations/qr-family.d.ts.map +1 -0
- package/dist/operations/qr-pivoted.d.ts +39 -0
- package/dist/operations/qr-pivoted.d.ts.map +1 -0
- package/dist/operations/qr.d.ts +35 -0
- package/dist/operations/qr.d.ts.map +1 -0
- package/dist/operations/schur.d.ts +58 -0
- package/dist/operations/schur.d.ts.map +1 -0
- package/dist/operations/sqrtm.d.ts +76 -0
- package/dist/operations/sqrtm.d.ts.map +1 -0
- package/dist/operations/svd-wasm.d.ts +23 -0
- package/dist/operations/svd-wasm.d.ts.map +1 -0
- package/dist/operations/svd.d.ts +70 -0
- package/dist/operations/svd.d.ts.map +1 -0
- package/dist/parallel-matrix.d.ts +222 -0
- package/dist/parallel-matrix.d.ts.map +1 -0
- package/dist/{resolve-DDCEWHWX.js → resolve-2SX6WJ6R.js} +1 -1
- package/dist/typed-operations.d.ts +161 -0
- package/dist/typed-operations.d.ts.map +1 -0
- package/dist/types/DenseMatrix.d.ts +213 -0
- package/dist/types/DenseMatrix.d.ts.map +1 -0
- package/dist/types/Matrix.d.ts +188 -0
- package/dist/types/Matrix.d.ts.map +1 -0
- package/dist/types/SparseMatrix.d.ts +214 -0
- package/dist/types/SparseMatrix.d.ts.map +1 -0
- package/dist/types/dense/arithmetic.d.ts +8 -0
- package/dist/types/dense/arithmetic.d.ts.map +1 -0
- package/dist/types/dense/reduction.d.ts +8 -0
- package/dist/types/dense/reduction.d.ts.map +1 -0
- package/dist/types/index.d.ts +9 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/wasm/mathts-as.wasm +0 -0
- package/dist/wasm/wasm-manifest.json +1 -1
- 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
|
|
6
|
-
|
|
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)
|
package/dist/config.d.ts
ADDED
|
@@ -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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"}
|