@danielsimonjr/mathts-matrix 0.7.3 → 0.7.5
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 +62 -62
- package/dist/backends/WASMBackend.d.ts +1 -0
- package/dist/backends/WASMBackend.d.ts.map +1 -1
- package/dist/backends/WasmLoader.d.ts +40 -10
- package/dist/backends/WasmLoader.d.ts.map +1 -1
- package/dist/index.js +100 -46
- package/dist/operations/cholesky.d.ts +3 -0
- package/dist/operations/cholesky.d.ts.map +1 -1
- package/dist/operations/expm.d.ts +6 -0
- package/dist/operations/expm.d.ts.map +1 -1
- package/dist/operations/logm.d.ts +3 -0
- package/dist/operations/logm.d.ts.map +1 -1
- package/dist/operations/lu.d.ts +3 -0
- package/dist/operations/lu.d.ts.map +1 -1
- package/dist/operations/pinv.d.ts +3 -0
- package/dist/operations/pinv.d.ts.map +1 -1
- package/dist/operations/qr-family.d.ts +9 -0
- package/dist/operations/qr-family.d.ts.map +1 -1
- package/dist/operations/qr-pivoted.d.ts +7 -0
- package/dist/operations/qr-pivoted.d.ts.map +1 -1
- package/dist/operations/qr.d.ts +6 -0
- package/dist/operations/qr.d.ts.map +1 -1
- package/dist/operations/schur.d.ts +6 -0
- package/dist/operations/schur.d.ts.map +1 -1
- package/dist/operations/sqrtm.d.ts +3 -0
- package/dist/operations/sqrtm.d.ts.map +1 -1
- package/dist/operations/svd.d.ts +16 -0
- package/dist/operations/svd.d.ts.map +1 -1
- package/dist/types/dense/arithmetic.d.ts +53 -0
- package/dist/types/dense/arithmetic.d.ts.map +1 -1
- package/dist/types/dense/reduction.d.ts +38 -0
- package/dist/types/dense/reduction.d.ts.map +1 -1
- package/dist/wasm/mathts-as.wasm +0 -0
- package/dist/wasm/wasm-manifest.json +1 -1
- package/package.json +70 -70
package/README.md
CHANGED
|
@@ -1,62 +1,62 @@
|
|
|
1
|
-
# @danielsimonjr/mathts-matrix
|
|
2
|
-
|
|
3
|
-
High-performance matrix operations with multi-backend support (JS/WASM/GPU).
|
|
4
|
-
|
|
5
|
-
## Installation
|
|
6
|
-
|
|
7
|
-
```bash
|
|
8
|
-
npm install @danielsimonjr/mathts-matrix
|
|
9
|
-
```
|
|
10
|
-
|
|
11
|
-
## Usage
|
|
12
|
-
|
|
13
|
-
```typescript
|
|
14
|
-
import { DenseMatrix } from '@danielsimonjr/mathts-matrix';
|
|
15
|
-
|
|
16
|
-
// Create a matrix from a 2D array
|
|
17
|
-
const A = DenseMatrix.fromArray([
|
|
18
|
-
[1, 2, 3],
|
|
19
|
-
[4, 5, 6],
|
|
20
|
-
[7, 8, 9],
|
|
21
|
-
]);
|
|
22
|
-
|
|
23
|
-
// Basic operations
|
|
24
|
-
const sum = A.add(A);
|
|
25
|
-
const product = A.multiply(A);
|
|
26
|
-
const transposed = A.transpose();
|
|
27
|
-
|
|
28
|
-
// Decompositions (operate on number[][])
|
|
29
|
-
import { svd, eig } from '@danielsimonjr/mathts-matrix';
|
|
30
|
-
const { U, S, V } = svd(A.toArray());
|
|
31
|
-
```
|
|
32
|
-
|
|
33
|
-
## Backends
|
|
34
|
-
|
|
35
|
-
| Backend | Trigger | Performance |
|
|
36
|
-
| -------- | -------------- | ------------ |
|
|
37
|
-
| **JS** | Default | 1x baseline |
|
|
38
|
-
| **WASM** | >1K elements | ~10x faster |
|
|
39
|
-
| **GPU** | >100K elements | ~100x faster |
|
|
40
|
-
|
|
41
|
-
## Matrix Types
|
|
42
|
-
|
|
43
|
-
- `DenseMatrix` - Standard dense storage (row-major)
|
|
44
|
-
- `SparseMatrix` - CSR format for sparse data
|
|
45
|
-
|
|
46
|
-
## Status
|
|
47
|
-
|
|
48
|
-
This package is under active development. Currently implemented:
|
|
49
|
-
|
|
50
|
-
- [x] Type definitions
|
|
51
|
-
- [x] Backend infrastructure
|
|
52
|
-
- [x] Dense matrix structure
|
|
53
|
-
- [x] Sparse matrix (CSR) structure
|
|
54
|
-
- [x] Matrix operations (add, multiply, transpose, etc.)
|
|
55
|
-
- [x] WASM backend (AssemblyScript)
|
|
56
|
-
- [x] GPU backend (WebGPU)
|
|
57
|
-
- [x] SVD decomposition
|
|
58
|
-
- [x] Eigenvalue solvers
|
|
59
|
-
|
|
60
|
-
## License
|
|
61
|
-
|
|
62
|
-
MIT
|
|
1
|
+
# @danielsimonjr/mathts-matrix
|
|
2
|
+
|
|
3
|
+
High-performance matrix operations with multi-backend support (JS/WASM/GPU).
|
|
4
|
+
|
|
5
|
+
## Installation
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
npm install @danielsimonjr/mathts-matrix
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## Usage
|
|
12
|
+
|
|
13
|
+
```typescript
|
|
14
|
+
import { DenseMatrix } from '@danielsimonjr/mathts-matrix';
|
|
15
|
+
|
|
16
|
+
// Create a matrix from a 2D array
|
|
17
|
+
const A = DenseMatrix.fromArray([
|
|
18
|
+
[1, 2, 3],
|
|
19
|
+
[4, 5, 6],
|
|
20
|
+
[7, 8, 9],
|
|
21
|
+
]);
|
|
22
|
+
|
|
23
|
+
// Basic operations
|
|
24
|
+
const sum = A.add(A);
|
|
25
|
+
const product = A.multiply(A);
|
|
26
|
+
const transposed = A.transpose();
|
|
27
|
+
|
|
28
|
+
// Decompositions (operate on number[][])
|
|
29
|
+
import { svd, eig } from '@danielsimonjr/mathts-matrix';
|
|
30
|
+
const { U, S, V } = svd(A.toArray());
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
## Backends
|
|
34
|
+
|
|
35
|
+
| Backend | Trigger | Performance |
|
|
36
|
+
| -------- | -------------- | ------------ |
|
|
37
|
+
| **JS** | Default | 1x baseline |
|
|
38
|
+
| **WASM** | >1K elements | ~10x faster |
|
|
39
|
+
| **GPU** | >100K elements | ~100x faster |
|
|
40
|
+
|
|
41
|
+
## Matrix Types
|
|
42
|
+
|
|
43
|
+
- `DenseMatrix` - Standard dense storage (row-major)
|
|
44
|
+
- `SparseMatrix` - CSR format for sparse data
|
|
45
|
+
|
|
46
|
+
## Status
|
|
47
|
+
|
|
48
|
+
This package is under active development. Currently implemented:
|
|
49
|
+
|
|
50
|
+
- [x] Type definitions
|
|
51
|
+
- [x] Backend infrastructure
|
|
52
|
+
- [x] Dense matrix structure
|
|
53
|
+
- [x] Sparse matrix (CSR) structure
|
|
54
|
+
- [x] Matrix operations (add, multiply, transpose, etc.)
|
|
55
|
+
- [x] WASM backend (AssemblyScript)
|
|
56
|
+
- [x] GPU backend (WebGPU)
|
|
57
|
+
- [x] SVD decomposition
|
|
58
|
+
- [x] Eigenvalue solvers
|
|
59
|
+
|
|
60
|
+
## License
|
|
61
|
+
|
|
62
|
+
MIT
|
|
@@ -77,6 +77,7 @@ export declare class WASMBackend implements MatrixBackend {
|
|
|
77
77
|
private initPromise;
|
|
78
78
|
/** Pooled allocations — see `AsAllocCache` for rationale. */
|
|
79
79
|
private allocCache;
|
|
80
|
+
private int32Cache;
|
|
80
81
|
constructor(config?: WASMBackendConfig);
|
|
81
82
|
isAvailable(): boolean;
|
|
82
83
|
initialize(): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WASMBackend.d.ts","sourceRoot":"","sources":["../../src/backends/WASMBackend.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiDG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC/D,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAEtD,OAAO,EAAsB,KAAK,YAAY,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"WASMBackend.d.ts","sourceRoot":"","sources":["../../src/backends/WASMBackend.ts"],"names":[],"mappings":"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"}
|
|
@@ -27,6 +27,13 @@
|
|
|
27
27
|
*/
|
|
28
28
|
import type { LoadingMetrics } from '@danielsimonjr/mathts-core/internal';
|
|
29
29
|
export type { LoadingMetrics };
|
|
30
|
+
/**
|
|
31
|
+
* Functions that the compiled WebAssembly matrix module exports.
|
|
32
|
+
*
|
|
33
|
+
* Each function reads and writes data through pointers into the linear
|
|
34
|
+
* memory of the module. Use the `WasmLoader` allocation methods to get
|
|
35
|
+
* these pointers.
|
|
36
|
+
*/
|
|
30
37
|
export interface WasmModule {
|
|
31
38
|
multiplyDense: (aPtr: number, aRows: number, aCols: number, bPtr: number, bRows: number, bCols: number, resultPtr: number) => void;
|
|
32
39
|
multiplyDenseSIMD: (aPtr: number, aRows: number, aCols: number, bPtr: number, bRows: number, bCols: number, resultPtr: number) => void;
|
|
@@ -153,7 +160,7 @@ export interface WasmModule {
|
|
|
153
160
|
rightArithShift_i32_array?: (a: Int32Array, b: Int32Array, result: Int32Array) => void;
|
|
154
161
|
rightLogShift_i32_array?: (a: Int32Array, b: Int32Array, result: Int32Array) => void;
|
|
155
162
|
matrix_lu_decompose?: (aHdr: number, n: number, lOutHdr: number, uOutHdr: number, permOutHdr: number) => number;
|
|
156
|
-
matrix_qr_decompose?: (aHdr: number, m: number, n: number, qOutHdr: number, rOutHdr: number) => number;
|
|
163
|
+
matrix_qr_decompose?: (aHdr: number, m: number, n: number, qOutHdr: number, rOutHdr: number, vWorkHdr?: number) => number;
|
|
157
164
|
matrix_cholesky?: (aHdr: number, n: number, lOutHdr: number) => number;
|
|
158
165
|
matrix_inverse?: (aHdr: number, n: number, resultHdr: number, workHdr: number) => number;
|
|
159
166
|
matrix_determinant?: (aHdr: number, n: number, workHdr: number) => number;
|
|
@@ -180,6 +187,13 @@ export interface Allocation<TArray extends Float64Array | Int32Array> {
|
|
|
180
187
|
/** Internal: the data-block offset (the ArrayBuffer the header points at). */
|
|
181
188
|
readonly dataPtr: number;
|
|
182
189
|
}
|
|
190
|
+
/**
|
|
191
|
+
* Singleton that compiles, loads, and caches the WebAssembly matrix module.
|
|
192
|
+
*
|
|
193
|
+
* Use `WasmLoader.getInstance()` to get the instance; the constructor is
|
|
194
|
+
* private. The loader also allocates typed arrays in the memory of the
|
|
195
|
+
* module, keeps a pool of released allocations, and records loading metrics.
|
|
196
|
+
*/
|
|
183
197
|
export declare class WasmLoader {
|
|
184
198
|
private static instance;
|
|
185
199
|
private wasmModule;
|
|
@@ -254,7 +268,8 @@ export declare class WasmLoader {
|
|
|
254
268
|
*/
|
|
255
269
|
readReturnedFloat64Array(headerPtr: number): Float64Array;
|
|
256
270
|
/**
|
|
257
|
-
* Allocate
|
|
271
|
+
* Allocate a zero-filled Float64Array (for output buffers). Zeroed explicitly,
|
|
272
|
+
* since a recycled pool block still holds its previous contents.
|
|
258
273
|
*/
|
|
259
274
|
allocateFloat64ArrayEmpty(length: number): Allocation<Float64Array>;
|
|
260
275
|
/**
|
|
@@ -262,29 +277,44 @@ export declare class WasmLoader {
|
|
|
262
277
|
*/
|
|
263
278
|
allocateInt32Array(data: number[] | Int32Array): Allocation<Int32Array>;
|
|
264
279
|
/**
|
|
265
|
-
* Allocate
|
|
280
|
+
* Allocate a zero-filled Int32Array (for output buffers). Zeroed explicitly,
|
|
281
|
+
* since a recycled pool block still holds its previous contents.
|
|
266
282
|
*/
|
|
267
283
|
allocateInt32ArrayEmpty(length: number): Allocation<Int32Array>;
|
|
268
284
|
private allocateAsFloat64;
|
|
269
285
|
private allocateAsInt32;
|
|
270
286
|
private makeAsFloat64;
|
|
271
287
|
private makeAsInt32;
|
|
288
|
+
/** Record a new in-use allocation so it can be recycled once released. */
|
|
289
|
+
private track;
|
|
272
290
|
/**
|
|
273
|
-
* Find a pool entry whose data region is large enough
|
|
274
|
-
*
|
|
291
|
+
* Find a released pool entry whose data region is large enough (best fit,
|
|
292
|
+
* at most 2x the request); returns null when none is available. The entry's
|
|
293
|
+
* header `byteLength` is rewritten to the requested size, because kernels read
|
|
294
|
+
* their length from the header: a recycled larger block would otherwise make
|
|
295
|
+
* them process trailing elements the caller never wrote.
|
|
275
296
|
*/
|
|
276
297
|
private acquireFromAsPool;
|
|
298
|
+
/** The pool entry for a header pointer, searching both pools. */
|
|
299
|
+
private findEntry;
|
|
300
|
+
/** Unpin an allocation's header and its separately pinned data buffer. */
|
|
301
|
+
private unpinAllocation;
|
|
302
|
+
/** Data pointer recorded in an AS typed-array header (`dataStart`). */
|
|
303
|
+
private headerDataPtr;
|
|
277
304
|
/**
|
|
278
305
|
* Return an allocation to the pool for reuse.
|
|
279
306
|
*
|
|
280
|
-
* `isFloat64`
|
|
281
|
-
*
|
|
282
|
-
*
|
|
283
|
-
*
|
|
307
|
+
* Both pools are searched, so `isFloat64` is only a hint kept for backwards
|
|
308
|
+
* compatibility. An allocation above `poolSizeThreshold` is not pooled; it is
|
|
309
|
+
* unpinned instead (header and data buffer), which under the stub runtime
|
|
310
|
+
* leaves it allocated but at least unpinned for a GC runtime.
|
|
284
311
|
*/
|
|
285
312
|
release(ptr: number, isFloat64?: boolean): void;
|
|
286
313
|
/**
|
|
287
|
-
*
|
|
314
|
+
* Release an allocation the caller is done with. A pooled block goes back to
|
|
315
|
+
* the pool, because the stub runtime cannot reclaim it and recycling is the
|
|
316
|
+
* only way to reuse the memory; a larger block is unpinned. Same as
|
|
317
|
+
* `release()`.
|
|
288
318
|
*/
|
|
289
319
|
free(ptr: number): void;
|
|
290
320
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WasmLoader.d.ts","sourceRoot":"","sources":["../../src/backends/WasmLoader.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"WasmLoader.d.ts","sourceRoot":"","sources":["../../src/backends/WasmLoader.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -2444,10 +2444,22 @@ function readAsInt32Array(module, alloc) {
|
|
|
2444
2444
|
const view = new Int32Array(module.memory.buffer, alloc.bufferPtr, alloc.length);
|
|
2445
2445
|
return new Int32Array(view);
|
|
2446
2446
|
}
|
|
2447
|
-
|
|
2448
|
-
|
|
2449
|
-
module
|
|
2450
|
-
|
|
2447
|
+
var AsInt32Cache = class {
|
|
2448
|
+
free = /* @__PURE__ */ new Map();
|
|
2449
|
+
acquire(module, length) {
|
|
2450
|
+
const alloc = this.free.get(length)?.pop();
|
|
2451
|
+
if (alloc) {
|
|
2452
|
+
alloc.view = new Int32Array(module.memory.buffer, alloc.bufferPtr, length);
|
|
2453
|
+
return alloc;
|
|
2454
|
+
}
|
|
2455
|
+
return allocAsInt32Array(module, length);
|
|
2456
|
+
}
|
|
2457
|
+
release(alloc) {
|
|
2458
|
+
const pool = this.free.get(alloc.length);
|
|
2459
|
+
if (pool) pool.push(alloc);
|
|
2460
|
+
else this.free.set(alloc.length, [alloc]);
|
|
2461
|
+
}
|
|
2462
|
+
};
|
|
2451
2463
|
var DEFAULT_CONFIG = {
|
|
2452
2464
|
minElements: 100,
|
|
2453
2465
|
wasmPath: "",
|
|
@@ -2461,6 +2473,7 @@ var WASMBackend = class {
|
|
|
2461
2473
|
initPromise = null;
|
|
2462
2474
|
/** Pooled allocations — see `AsAllocCache` for rationale. */
|
|
2463
2475
|
allocCache = new AsAllocCache();
|
|
2476
|
+
int32Cache = new AsInt32Cache();
|
|
2464
2477
|
constructor(config = {}) {
|
|
2465
2478
|
this.config = { ...DEFAULT_CONFIG, ...config };
|
|
2466
2479
|
}
|
|
@@ -2661,7 +2674,7 @@ var WASMBackend = class {
|
|
|
2661
2674
|
const aAlloc = writeAsFloat64Array(this.allocCache, mod, a.toFloat64Array());
|
|
2662
2675
|
const lAlloc = allocAsFloat64Array(this.allocCache, mod, n * n);
|
|
2663
2676
|
const uAlloc = allocAsFloat64Array(this.allocCache, mod, n * n);
|
|
2664
|
-
const permAlloc =
|
|
2677
|
+
const permAlloc = this.int32Cache.acquire(mod, n);
|
|
2665
2678
|
try {
|
|
2666
2679
|
const status = mod.matrix_lu_decompose(
|
|
2667
2680
|
aAlloc.headerPtr,
|
|
@@ -2691,7 +2704,7 @@ var WASMBackend = class {
|
|
|
2691
2704
|
this.allocCache.release(aAlloc);
|
|
2692
2705
|
this.allocCache.release(lAlloc);
|
|
2693
2706
|
this.allocCache.release(uAlloc);
|
|
2694
|
-
|
|
2707
|
+
this.int32Cache.release(permAlloc);
|
|
2695
2708
|
}
|
|
2696
2709
|
}
|
|
2697
2710
|
luDecompositionJS(a) {
|
|
@@ -2746,8 +2759,16 @@ var WASMBackend = class {
|
|
|
2746
2759
|
const aAlloc = writeAsFloat64Array(this.allocCache, mod, a.toFloat64Array());
|
|
2747
2760
|
const qAlloc = allocAsFloat64Array(this.allocCache, mod, m * m);
|
|
2748
2761
|
const rAlloc = allocAsFloat64Array(this.allocCache, mod, m * n);
|
|
2762
|
+
const vAlloc = allocAsFloat64Array(this.allocCache, mod, m);
|
|
2749
2763
|
try {
|
|
2750
|
-
mod.matrix_qr_decompose(
|
|
2764
|
+
mod.matrix_qr_decompose(
|
|
2765
|
+
aAlloc.headerPtr,
|
|
2766
|
+
m,
|
|
2767
|
+
n,
|
|
2768
|
+
qAlloc.headerPtr,
|
|
2769
|
+
rAlloc.headerPtr,
|
|
2770
|
+
vAlloc.headerPtr
|
|
2771
|
+
);
|
|
2751
2772
|
const qFlat = readAsFloat64Array(mod, qAlloc);
|
|
2752
2773
|
const rFlat = readAsFloat64Array(mod, rAlloc);
|
|
2753
2774
|
return {
|
|
@@ -2758,6 +2779,7 @@ var WASMBackend = class {
|
|
|
2758
2779
|
this.allocCache.release(aAlloc);
|
|
2759
2780
|
this.allocCache.release(qAlloc);
|
|
2760
2781
|
this.allocCache.release(rAlloc);
|
|
2782
|
+
this.allocCache.release(vAlloc);
|
|
2761
2783
|
}
|
|
2762
2784
|
}
|
|
2763
2785
|
qrDecompositionJS(a) {
|
|
@@ -2816,7 +2838,7 @@ var WASMBackend = class {
|
|
|
2816
2838
|
}
|
|
2817
2839
|
const aAlloc = writeAsFloat64Array(this.allocCache, mod, a.toFloat64Array());
|
|
2818
2840
|
const resultAlloc = allocAsFloat64Array(this.allocCache, mod, n * n);
|
|
2819
|
-
const workAlloc = allocAsFloat64Array(this.allocCache, mod, n * n);
|
|
2841
|
+
const workAlloc = allocAsFloat64Array(this.allocCache, mod, n * n + n);
|
|
2820
2842
|
try {
|
|
2821
2843
|
const status = mod.matrix_inverse(
|
|
2822
2844
|
aAlloc.headerPtr,
|
|
@@ -4278,7 +4300,14 @@ var WasmLoader = class _WasmLoader {
|
|
|
4278
4300
|
return this.loading;
|
|
4279
4301
|
}
|
|
4280
4302
|
this.loading = this.loadModule(wasmPath);
|
|
4281
|
-
|
|
4303
|
+
try {
|
|
4304
|
+
this.wasmModule = await this.loading;
|
|
4305
|
+
} catch (error) {
|
|
4306
|
+
this.compiledModule = null;
|
|
4307
|
+
throw error;
|
|
4308
|
+
} finally {
|
|
4309
|
+
this.loading = null;
|
|
4310
|
+
}
|
|
4282
4311
|
return this.wasmModule;
|
|
4283
4312
|
}
|
|
4284
4313
|
/**
|
|
@@ -4504,12 +4533,15 @@ var WasmLoader = class _WasmLoader {
|
|
|
4504
4533
|
return new Float64Array(view);
|
|
4505
4534
|
}
|
|
4506
4535
|
/**
|
|
4507
|
-
* Allocate
|
|
4536
|
+
* Allocate a zero-filled Float64Array (for output buffers). Zeroed explicitly,
|
|
4537
|
+
* since a recycled pool block still holds its previous contents.
|
|
4508
4538
|
*/
|
|
4509
4539
|
allocateFloat64ArrayEmpty(length) {
|
|
4510
4540
|
const module = this.wasmModule;
|
|
4511
4541
|
if (!module) throw new Error("WASM module not loaded");
|
|
4512
|
-
|
|
4542
|
+
const alloc = this.allocateAsFloat64(module, length);
|
|
4543
|
+
alloc.array.fill(0);
|
|
4544
|
+
return alloc;
|
|
4513
4545
|
}
|
|
4514
4546
|
/**
|
|
4515
4547
|
* Allocate Int32Array in WASM memory and copy `data` into it.
|
|
@@ -4523,18 +4555,21 @@ var WasmLoader = class _WasmLoader {
|
|
|
4523
4555
|
return alloc;
|
|
4524
4556
|
}
|
|
4525
4557
|
/**
|
|
4526
|
-
* Allocate
|
|
4558
|
+
* Allocate a zero-filled Int32Array (for output buffers). Zeroed explicitly,
|
|
4559
|
+
* since a recycled pool block still holds its previous contents.
|
|
4527
4560
|
*/
|
|
4528
4561
|
allocateInt32ArrayEmpty(length) {
|
|
4529
4562
|
const module = this.wasmModule;
|
|
4530
4563
|
if (!module) throw new Error("WASM module not loaded");
|
|
4531
|
-
|
|
4564
|
+
const alloc = this.allocateAsInt32(module, length);
|
|
4565
|
+
alloc.array.fill(0);
|
|
4566
|
+
return alloc;
|
|
4532
4567
|
}
|
|
4533
4568
|
// ---- AS managed runtime (header pointers) ------------------------------
|
|
4534
4569
|
allocateAsFloat64(module, length) {
|
|
4535
4570
|
const byteLength = length * 8;
|
|
4536
4571
|
if (byteLength <= this.poolSizeThreshold) {
|
|
4537
|
-
const recycled = this.acquireFromAsPool(this.float64Pool, byteLength);
|
|
4572
|
+
const recycled = this.acquireFromAsPool(module, this.float64Pool, byteLength);
|
|
4538
4573
|
if (recycled) {
|
|
4539
4574
|
const array = new Float64Array(module.memory.buffer, recycled.dataPtr, length);
|
|
4540
4575
|
return {
|
|
@@ -4550,7 +4585,7 @@ var WasmLoader = class _WasmLoader {
|
|
|
4550
4585
|
allocateAsInt32(module, length) {
|
|
4551
4586
|
const byteLength = length * 4;
|
|
4552
4587
|
if (byteLength <= this.poolSizeThreshold) {
|
|
4553
|
-
const recycled = this.acquireFromAsPool(this.int32Pool, byteLength);
|
|
4588
|
+
const recycled = this.acquireFromAsPool(module, this.int32Pool, byteLength);
|
|
4554
4589
|
if (recycled) {
|
|
4555
4590
|
const array = new Int32Array(module.memory.buffer, recycled.dataPtr, length);
|
|
4556
4591
|
return {
|
|
@@ -4573,6 +4608,7 @@ var WasmLoader = class _WasmLoader {
|
|
|
4573
4608
|
dv.setUint32(headerPtr + 4, bufferPtr, true);
|
|
4574
4609
|
dv.setUint32(headerPtr + 8, byteLength, true);
|
|
4575
4610
|
const array = new Float64Array(module.memory.buffer, bufferPtr, length);
|
|
4611
|
+
this.track(this.float64Pool, headerPtr, bufferPtr, byteLength);
|
|
4576
4612
|
return { ptr: headerPtr, dataPtr: bufferPtr, array, length };
|
|
4577
4613
|
}
|
|
4578
4614
|
makeAsInt32(module, length) {
|
|
@@ -4585,13 +4621,23 @@ var WasmLoader = class _WasmLoader {
|
|
|
4585
4621
|
dv.setUint32(headerPtr + 4, bufferPtr, true);
|
|
4586
4622
|
dv.setUint32(headerPtr + 8, byteLength, true);
|
|
4587
4623
|
const array = new Int32Array(module.memory.buffer, bufferPtr, length);
|
|
4624
|
+
this.track(this.int32Pool, headerPtr, bufferPtr, byteLength);
|
|
4588
4625
|
return { ptr: headerPtr, dataPtr: bufferPtr, array, length };
|
|
4589
4626
|
}
|
|
4627
|
+
/** Record a new in-use allocation so it can be recycled once released. */
|
|
4628
|
+
track(pool, ptr, dataPtr, size2) {
|
|
4629
|
+
if (size2 <= this.poolSizeThreshold) {
|
|
4630
|
+
pool.push({ ptr, dataPtr, size: size2, inUse: true });
|
|
4631
|
+
}
|
|
4632
|
+
}
|
|
4590
4633
|
/**
|
|
4591
|
-
* Find a pool entry whose data region is large enough
|
|
4592
|
-
*
|
|
4634
|
+
* Find a released pool entry whose data region is large enough (best fit,
|
|
4635
|
+
* at most 2x the request); returns null when none is available. The entry's
|
|
4636
|
+
* header `byteLength` is rewritten to the requested size, because kernels read
|
|
4637
|
+
* their length from the header: a recycled larger block would otherwise make
|
|
4638
|
+
* them process trailing elements the caller never wrote.
|
|
4593
4639
|
*/
|
|
4594
|
-
acquireFromAsPool(pool, requestedSize) {
|
|
4640
|
+
acquireFromAsPool(module, pool, requestedSize) {
|
|
4595
4641
|
let bestFit = null;
|
|
4596
4642
|
let bestFitWaste = Infinity;
|
|
4597
4643
|
for (const entry of pool) {
|
|
@@ -4603,37 +4649,53 @@ var WasmLoader = class _WasmLoader {
|
|
|
4603
4649
|
}
|
|
4604
4650
|
}
|
|
4605
4651
|
}
|
|
4606
|
-
if (bestFit)
|
|
4652
|
+
if (bestFit) {
|
|
4653
|
+
bestFit.inUse = true;
|
|
4654
|
+
new DataView(module.memory.buffer).setUint32(bestFit.ptr + 8, requestedSize, true);
|
|
4655
|
+
}
|
|
4607
4656
|
return bestFit;
|
|
4608
4657
|
}
|
|
4658
|
+
/** The pool entry for a header pointer, searching both pools. */
|
|
4659
|
+
findEntry(ptr) {
|
|
4660
|
+
return this.float64Pool.find((e) => e.ptr === ptr) ?? this.int32Pool.find((e) => e.ptr === ptr);
|
|
4661
|
+
}
|
|
4662
|
+
/** Unpin an allocation's header and its separately pinned data buffer. */
|
|
4663
|
+
unpinAllocation(module, ptr, dataPtr) {
|
|
4664
|
+
if (typeof module.__unpin !== "function") return;
|
|
4665
|
+
module.__unpin(ptr);
|
|
4666
|
+
if (dataPtr !== void 0) module.__unpin(dataPtr);
|
|
4667
|
+
}
|
|
4668
|
+
/** Data pointer recorded in an AS typed-array header (`dataStart`). */
|
|
4669
|
+
headerDataPtr(module, ptr) {
|
|
4670
|
+
return new DataView(module.memory.buffer).getUint32(ptr + 4, true);
|
|
4671
|
+
}
|
|
4609
4672
|
/**
|
|
4610
4673
|
* Return an allocation to the pool for reuse.
|
|
4611
4674
|
*
|
|
4612
|
-
* `isFloat64`
|
|
4613
|
-
*
|
|
4614
|
-
*
|
|
4615
|
-
*
|
|
4675
|
+
* Both pools are searched, so `isFloat64` is only a hint kept for backwards
|
|
4676
|
+
* compatibility. An allocation above `poolSizeThreshold` is not pooled; it is
|
|
4677
|
+
* unpinned instead (header and data buffer), which under the stub runtime
|
|
4678
|
+
* leaves it allocated but at least unpinned for a GC runtime.
|
|
4616
4679
|
*/
|
|
4617
4680
|
release(ptr, isFloat64 = true) {
|
|
4618
|
-
|
|
4619
|
-
const entry =
|
|
4681
|
+
void isFloat64;
|
|
4682
|
+
const entry = this.findEntry(ptr);
|
|
4620
4683
|
if (entry) {
|
|
4621
4684
|
entry.inUse = false;
|
|
4622
4685
|
return;
|
|
4623
4686
|
}
|
|
4624
|
-
this.
|
|
4687
|
+
const module = this.wasmModule;
|
|
4688
|
+
if (!module) return;
|
|
4689
|
+
this.unpinAllocation(module, ptr, this.headerDataPtr(module, ptr));
|
|
4625
4690
|
}
|
|
4626
4691
|
/**
|
|
4627
|
-
*
|
|
4692
|
+
* Release an allocation the caller is done with. A pooled block goes back to
|
|
4693
|
+
* the pool, because the stub runtime cannot reclaim it and recycling is the
|
|
4694
|
+
* only way to reuse the memory; a larger block is unpinned. Same as
|
|
4695
|
+
* `release()`.
|
|
4628
4696
|
*/
|
|
4629
4697
|
free(ptr) {
|
|
4630
|
-
|
|
4631
|
-
if (!module) return;
|
|
4632
|
-
this.float64Pool = this.float64Pool.filter((e) => e.ptr !== ptr);
|
|
4633
|
-
this.int32Pool = this.int32Pool.filter((e) => e.ptr !== ptr);
|
|
4634
|
-
if (typeof module.__unpin === "function") {
|
|
4635
|
-
module.__unpin(ptr);
|
|
4636
|
-
}
|
|
4698
|
+
this.release(ptr);
|
|
4637
4699
|
}
|
|
4638
4700
|
/**
|
|
4639
4701
|
* Clear the memory pool
|
|
@@ -4641,13 +4703,8 @@ var WasmLoader = class _WasmLoader {
|
|
|
4641
4703
|
clearPool() {
|
|
4642
4704
|
const module = this.wasmModule;
|
|
4643
4705
|
if (!module) return;
|
|
4644
|
-
|
|
4645
|
-
|
|
4646
|
-
module.__unpin(entry.ptr);
|
|
4647
|
-
}
|
|
4648
|
-
for (const entry of this.int32Pool) {
|
|
4649
|
-
module.__unpin(entry.ptr);
|
|
4650
|
-
}
|
|
4706
|
+
for (const entry of [...this.float64Pool, ...this.int32Pool]) {
|
|
4707
|
+
if (!entry.inUse) this.unpinAllocation(module, entry.ptr, entry.dataPtr);
|
|
4651
4708
|
}
|
|
4652
4709
|
this.float64Pool = [];
|
|
4653
4710
|
this.int32Pool = [];
|
|
@@ -7269,9 +7326,7 @@ function sqrtmGeneral(A) {
|
|
|
7269
7326
|
const { values, vectors } = eig(A, { computeVectors: true });
|
|
7270
7327
|
for (const v of values) {
|
|
7271
7328
|
if (Math.abs(v.im) > 1e-7) {
|
|
7272
|
-
throw new Error(
|
|
7273
|
-
"matrixSqrtm: complex eigenvalues detected \u2014 real square root not supported"
|
|
7274
|
-
);
|
|
7329
|
+
throw new Error("matrixSqrtm: complex eigenvalues detected \u2014 real square root not supported");
|
|
7275
7330
|
}
|
|
7276
7331
|
if (v.re < -1e-7) {
|
|
7277
7332
|
throw new Error(
|
|
@@ -7375,8 +7430,7 @@ function sqrtmQuasiTriangular(T) {
|
|
|
7375
7430
|
const sol = solveLinearSystem(MAT, rhs);
|
|
7376
7431
|
if (sol === null) return null;
|
|
7377
7432
|
for (let ii = 0; ii < si; ii++)
|
|
7378
|
-
for (let jj = 0; jj < sj; jj++)
|
|
7379
|
-
U[ri + ii][rj + jj] = sol[ii * sj + jj];
|
|
7433
|
+
for (let jj = 0; jj < sj; jj++) U[ri + ii][rj + jj] = sol[ii * sj + jj];
|
|
7380
7434
|
}
|
|
7381
7435
|
}
|
|
7382
7436
|
return U;
|
|
@@ -9,6 +9,9 @@
|
|
|
9
9
|
* // A ≈ L · L^T (to floating-point precision)
|
|
10
10
|
*/
|
|
11
11
|
import { DenseMatrix } from '../types/DenseMatrix.js';
|
|
12
|
+
/**
|
|
13
|
+
* Result of `cholesky`: the lower-triangular factor of the decomposition.
|
|
14
|
+
*/
|
|
12
15
|
export interface CholeskyResult {
|
|
13
16
|
/** Lower-triangular Cholesky factor L such that A = L · Lᵀ. */
|
|
14
17
|
L: DenseMatrix;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cholesky.d.ts","sourceRoot":"","sources":["../../src/operations/cholesky.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAEtD,MAAM,WAAW,cAAc;IAC7B,+DAA+D;IAC/D,CAAC,EAAE,WAAW,CAAC;CAChB;AAED;;;;;;GAMG;AACH,wBAAgB,QAAQ,CAAC,CAAC,EAAE,WAAW,GAAG,cAAc,CA+BvD"}
|
|
1
|
+
{"version":3,"file":"cholesky.d.ts","sourceRoot":"","sources":["../../src/operations/cholesky.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAEtD;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,+DAA+D;IAC/D,CAAC,EAAE,WAAW,CAAC;CAChB;AAED;;;;;;GAMG;AACH,wBAAgB,QAAQ,CAAC,CAAC,EAAE,WAAW,GAAG,cAAc,CA+BvD"}
|
|
@@ -15,6 +15,12 @@
|
|
|
15
15
|
* stay within the Padé approximant's accuracy radius.
|
|
16
16
|
*/
|
|
17
17
|
import { DenseMatrix } from '../types/DenseMatrix.js';
|
|
18
|
+
/**
|
|
19
|
+
* Options for the matrix exponential.
|
|
20
|
+
*
|
|
21
|
+
* This interface has no usable fields at this time. It is reserved for
|
|
22
|
+
* future options.
|
|
23
|
+
*/
|
|
18
24
|
export interface ExpmOptions {
|
|
19
25
|
/**
|
|
20
26
|
* When true, return the result as a DenseMatrix.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"expm.d.ts","sourceRoot":"","sources":["../../src/operations/expm.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAmHtD,MAAM,WAAW,WAAW;IAC1B;;;;OAIG;IACH,SAAS,CAAC,EAAE,KAAK,CAAC;CACnB;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,UAAU,CAAC,CAAC,EAAE,WAAW,GAAG,WAAW,CA+BtD"}
|
|
1
|
+
{"version":3,"file":"expm.d.ts","sourceRoot":"","sources":["../../src/operations/expm.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAmHtD;;;;;GAKG;AACH,MAAM,WAAW,WAAW;IAC1B;;;;OAIG;IACH,SAAS,CAAC,EAAE,KAAK,CAAC;CACnB;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,UAAU,CAAC,CAAC,EAAE,WAAW,GAAG,WAAW,CA+BtD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logm.d.ts","sourceRoot":"","sources":["../../src/operations/logm.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAiXtD,MAAM,WAAW,WAAW;IAC1B;;;OAGG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,wBAAgB,UAAU,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,EAAE,WAAW,GAAG,WAAW,CAyD1E"}
|
|
1
|
+
{"version":3,"file":"logm.d.ts","sourceRoot":"","sources":["../../src/operations/logm.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAiXtD;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B;;;OAGG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,wBAAgB,UAAU,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,EAAE,WAAW,GAAG,WAAW,CAyD1E"}
|
package/dist/operations/lu.d.ts
CHANGED
|
@@ -13,6 +13,9 @@
|
|
|
13
13
|
* // P[i] gives the original row moved to position i, so P · A = L · U.
|
|
14
14
|
*/
|
|
15
15
|
import { DenseMatrix } from '../types/DenseMatrix.js';
|
|
16
|
+
/**
|
|
17
|
+
* Result of `lu`: the factors L and U and the row permutation P.
|
|
18
|
+
*/
|
|
16
19
|
export interface LUResult {
|
|
17
20
|
/** Unit lower-triangular factor L. */
|
|
18
21
|
L: DenseMatrix;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lu.d.ts","sourceRoot":"","sources":["../../src/operations/lu.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAEtD,MAAM,WAAW,QAAQ;IACvB,sCAAsC;IACtC,CAAC,EAAE,WAAW,CAAC;IACf,iCAAiC;IACjC,CAAC,EAAE,WAAW,CAAC;IACf,2FAA2F;IAC3F,CAAC,EAAE,MAAM,EAAE,CAAC;CACb;AAED;;;;;;;;GAQG;AACH,wBAAgB,EAAE,CAAC,CAAC,EAAE,WAAW,GAAG,QAAQ,CAuE3C;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,OAAO,CAAC,GAAG,EAAE,QAAQ,EAAE,CAAC,EAAE,SAAS,CAAC,MAAM,CAAC,GAAG,MAAM,EAAE,CA2BrE"}
|
|
1
|
+
{"version":3,"file":"lu.d.ts","sourceRoot":"","sources":["../../src/operations/lu.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAEtD;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,sCAAsC;IACtC,CAAC,EAAE,WAAW,CAAC;IACf,iCAAiC;IACjC,CAAC,EAAE,WAAW,CAAC;IACf,2FAA2F;IAC3F,CAAC,EAAE,MAAM,EAAE,CAAC;CACb;AAED;;;;;;;;GAQG;AACH,wBAAgB,EAAE,CAAC,CAAC,EAAE,WAAW,GAAG,QAAQ,CAuE3C;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,OAAO,CAAC,GAAG,EAAE,QAAQ,EAAE,CAAC,EAAE,SAAS,CAAC,MAAM,CAAC,GAAG,MAAM,EAAE,CA2BrE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pinv.d.ts","sourceRoot":"","sources":["../../src/operations/pinv.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAGtD,MAAM,WAAW,WAAW;IAC1B;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;GAMG;AACH,wBAAgB,IAAI,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,EAAE,WAAW,GAAG,WAAW,CAoCpE"}
|
|
1
|
+
{"version":3,"file":"pinv.d.ts","sourceRoot":"","sources":["../../src/operations/pinv.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAGtD;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;GAMG;AACH,wBAAgB,IAAI,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,EAAE,WAAW,GAAG,WAAW,CAoCpE"}
|
|
@@ -16,18 +16,27 @@
|
|
|
16
16
|
* factor pairing is (m×k, k×n) with k = min(m, n).
|
|
17
17
|
*/
|
|
18
18
|
import { DenseMatrix } from '../types/DenseMatrix.js';
|
|
19
|
+
/**
|
|
20
|
+
* Result of the LQ decomposition, where A = L · Q.
|
|
21
|
+
*/
|
|
19
22
|
export interface LQResult {
|
|
20
23
|
/** Lower-triangular (trapezoidal) factor. m × k, k = min(m, n). */
|
|
21
24
|
L: DenseMatrix;
|
|
22
25
|
/** Orthonormal-row factor (Q · Qᵀ = I). k × n. */
|
|
23
26
|
Q: DenseMatrix;
|
|
24
27
|
}
|
|
28
|
+
/**
|
|
29
|
+
* Result of the RQ decomposition, where A = R · Q.
|
|
30
|
+
*/
|
|
25
31
|
export interface RQResult {
|
|
26
32
|
/** Upper-triangular (trapezoidal) factor. m × k, k = min(m, n). */
|
|
27
33
|
R: DenseMatrix;
|
|
28
34
|
/** Orthonormal-row factor (Q · Qᵀ = I). k × n. */
|
|
29
35
|
Q: DenseMatrix;
|
|
30
36
|
}
|
|
37
|
+
/**
|
|
38
|
+
* Result of the QL decomposition, where A = Q · L.
|
|
39
|
+
*/
|
|
31
40
|
export interface QLResult {
|
|
32
41
|
/** Orthonormal-column factor (Qᵀ · Q = I). m × k, k = min(m, n). */
|
|
33
42
|
Q: DenseMatrix;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"qr-family.d.ts","sourceRoot":"","sources":["../../src/operations/qr-family.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAGtD,MAAM,WAAW,QAAQ;IACvB,mEAAmE;IACnE,CAAC,EAAE,WAAW,CAAC;IACf,kDAAkD;IAClD,CAAC,EAAE,WAAW,CAAC;CAChB;AAED,MAAM,WAAW,QAAQ;IACvB,mEAAmE;IACnE,CAAC,EAAE,WAAW,CAAC;IACf,kDAAkD;IAClD,CAAC,EAAE,WAAW,CAAC;CAChB;AAED,MAAM,WAAW,QAAQ;IACvB,oEAAoE;IACpE,CAAC,EAAE,WAAW,CAAC;IACf,oDAAoD;IACpD,CAAC,EAAE,WAAW,CAAC;CAChB;AA8BD;;;GAGG;AACH,wBAAgB,EAAE,CAAC,CAAC,EAAE,WAAW,GAAG,QAAQ,CAG3C;AAED;;;GAGG;AACH,wBAAgB,EAAE,CAAC,CAAC,EAAE,WAAW,GAAG,QAAQ,CAM3C;AAED;;;GAGG;AACH,wBAAgB,EAAE,CAAC,CAAC,EAAE,WAAW,GAAG,QAAQ,CAM3C"}
|
|
1
|
+
{"version":3,"file":"qr-family.d.ts","sourceRoot":"","sources":["../../src/operations/qr-family.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAGtD;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,mEAAmE;IACnE,CAAC,EAAE,WAAW,CAAC;IACf,kDAAkD;IAClD,CAAC,EAAE,WAAW,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,mEAAmE;IACnE,CAAC,EAAE,WAAW,CAAC;IACf,kDAAkD;IAClD,CAAC,EAAE,WAAW,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,oEAAoE;IACpE,CAAC,EAAE,WAAW,CAAC;IACf,oDAAoD;IACpD,CAAC,EAAE,WAAW,CAAC;CAChB;AA8BD;;;GAGG;AACH,wBAAgB,EAAE,CAAC,CAAC,EAAE,WAAW,GAAG,QAAQ,CAG3C;AAED;;;GAGG;AACH,wBAAgB,EAAE,CAAC,CAAC,EAAE,WAAW,GAAG,QAAQ,CAM3C;AAED;;;GAGG;AACH,wBAAgB,EAAE,CAAC,CAAC,EAAE,WAAW,GAAG,QAAQ,CAM3C"}
|
|
@@ -15,6 +15,10 @@
|
|
|
15
15
|
* `svd.ts`/`schur.ts`) rather than re-deriving reflection algebra here.
|
|
16
16
|
*/
|
|
17
17
|
import { DenseMatrix } from '../types/DenseMatrix.js';
|
|
18
|
+
/**
|
|
19
|
+
* Result of `qrPivoted`: the factors Q and R, the column permutation P, and
|
|
20
|
+
* the numerical rank.
|
|
21
|
+
*/
|
|
18
22
|
export interface QRPivotedResult {
|
|
19
23
|
/** Orthonormal Q factor (m × k, k = min(m, n)). */
|
|
20
24
|
Q: DenseMatrix;
|
|
@@ -25,6 +29,9 @@ export interface QRPivotedResult {
|
|
|
25
29
|
/** Numerical rank: count of `i` with `|R[i,i]| > tolerance · |R[0,0]|`. */
|
|
26
30
|
rank: number;
|
|
27
31
|
}
|
|
32
|
+
/**
|
|
33
|
+
* Options for `qrPivoted`.
|
|
34
|
+
*/
|
|
28
35
|
export interface QRPivotedOptions {
|
|
29
36
|
/** Relative rank tolerance (default `1e-10`). */
|
|
30
37
|
tolerance?: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"qr-pivoted.d.ts","sourceRoot":"","sources":["../../src/operations/qr-pivoted.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAGtD,MAAM,WAAW,eAAe;IAC9B,mDAAmD;IACnD,CAAC,EAAE,WAAW,CAAC;IACf,uEAAuE;IACvE,CAAC,EAAE,WAAW,CAAC;IACf,yGAAyG;IACzG,CAAC,EAAE,MAAM,EAAE,CAAC;IACZ,2EAA2E;IAC3E,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,gBAAgB;IAC/B,iDAAiD;IACjD,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,EAAE,gBAAgB,GAAG,eAAe,CA6GlF"}
|
|
1
|
+
{"version":3,"file":"qr-pivoted.d.ts","sourceRoot":"","sources":["../../src/operations/qr-pivoted.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAGtD;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B,mDAAmD;IACnD,CAAC,EAAE,WAAW,CAAC;IACf,uEAAuE;IACvE,CAAC,EAAE,WAAW,CAAC;IACf,yGAAyG;IACzG,CAAC,EAAE,MAAM,EAAE,CAAC;IACZ,2EAA2E;IAC3E,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,iDAAiD;IACjD,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,EAAE,gBAAgB,GAAG,eAAe,CA6GlF"}
|
package/dist/operations/qr.d.ts
CHANGED
|
@@ -15,12 +15,18 @@
|
|
|
15
15
|
* Q's columns are orthonormal (Qᵀ · Q = I_k); R is upper-triangular.
|
|
16
16
|
*/
|
|
17
17
|
import { DenseMatrix } from '../types/DenseMatrix.js';
|
|
18
|
+
/**
|
|
19
|
+
* Result of `qr`: the factors Q and R, where A = Q · R.
|
|
20
|
+
*/
|
|
18
21
|
export interface QRResult {
|
|
19
22
|
/** Orthonormal Q factor. Reduced: (m × k); full: (m × m). */
|
|
20
23
|
Q: DenseMatrix;
|
|
21
24
|
/** Upper-triangular R factor. Reduced: (k × n); full: (m × n). */
|
|
22
25
|
R: DenseMatrix;
|
|
23
26
|
}
|
|
27
|
+
/**
|
|
28
|
+
* Options for `qr`.
|
|
29
|
+
*/
|
|
24
30
|
export interface QROptions {
|
|
25
31
|
/** 'reduced' (default, thin QR) or 'full'. */
|
|
26
32
|
mode?: 'reduced' | 'full';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"qr.d.ts","sourceRoot":"","sources":["../../src/operations/qr.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAEtD,MAAM,WAAW,QAAQ;IACvB,6DAA6D;IAC7D,CAAC,EAAE,WAAW,CAAC;IACf,kEAAkE;IAClE,CAAC,EAAE,WAAW,CAAC;CAChB;AAED,MAAM,WAAW,SAAS;IACxB,8CAA8C;IAC9C,IAAI,CAAC,EAAE,SAAS,GAAG,MAAM,CAAC;CAC3B;AAED;;;;;GAKG;AACH,wBAAgB,EAAE,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,EAAE,SAAS,GAAG,QAAQ,CAqJ7D"}
|
|
1
|
+
{"version":3,"file":"qr.d.ts","sourceRoot":"","sources":["../../src/operations/qr.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAEtD;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,6DAA6D;IAC7D,CAAC,EAAE,WAAW,CAAC;IACf,kEAAkE;IAClE,CAAC,EAAE,WAAW,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,8CAA8C;IAC9C,IAAI,CAAC,EAAE,SAAS,GAAG,MAAM,CAAC;CAC3B;AAED;;;;;GAKG;AACH,wBAAgB,EAAE,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,EAAE,SAAS,GAAG,QAAQ,CAqJ7D"}
|
|
@@ -14,12 +14,18 @@
|
|
|
14
14
|
* Higham (2008) "Functions of Matrices: Theory and Computation," §1.
|
|
15
15
|
*/
|
|
16
16
|
import { DenseMatrix } from '../types/DenseMatrix.js';
|
|
17
|
+
/**
|
|
18
|
+
* Result of the real Schur decomposition, where A = Q · T · Qᵀ.
|
|
19
|
+
*/
|
|
17
20
|
export interface SchurResult {
|
|
18
21
|
/** Orthogonal factor Q (Q^T · Q = I, Q · Q^T = I). */
|
|
19
22
|
Q: DenseMatrix;
|
|
20
23
|
/** Quasi-upper-triangular Schur form T (real Schur form). */
|
|
21
24
|
T: DenseMatrix;
|
|
22
25
|
}
|
|
26
|
+
/**
|
|
27
|
+
* Options for the real Schur decomposition. They control the QR iteration.
|
|
28
|
+
*/
|
|
23
29
|
export interface SchurOptions {
|
|
24
30
|
/** Maximum QR iterations (default: 1000). */
|
|
25
31
|
maxIterations?: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schur.d.ts","sourceRoot":"","sources":["../../src/operations/schur.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAqVtD,MAAM,WAAW,WAAW;IAC1B,sDAAsD;IACtD,CAAC,EAAE,WAAW,CAAC;IACf,6DAA6D;IAC7D,CAAC,EAAE,WAAW,CAAC;CAChB;AAED,MAAM,WAAW,YAAY;IAC3B,6CAA6C;IAC7C,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,4CAA4C;IAC5C,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,EAAE,YAAY,GAAG,WAAW,CA+B5E;AAMD;;;;GAIG;AACH,wBAAgB,aAAa,CAC3B,CAAC,EAAE,MAAM,EAAE,EAAE,EACb,aAAa,SAAO,EACpB,SAAS,SAAQ,GAChB;IAAE,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC;IAAC,CAAC,EAAE,MAAM,EAAE,EAAE,CAAA;CAAE,CAElC"}
|
|
1
|
+
{"version":3,"file":"schur.d.ts","sourceRoot":"","sources":["../../src/operations/schur.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAqVtD;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,sDAAsD;IACtD,CAAC,EAAE,WAAW,CAAC;IACf,6DAA6D;IAC7D,CAAC,EAAE,WAAW,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,6CAA6C;IAC7C,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,4CAA4C;IAC5C,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,EAAE,YAAY,GAAG,WAAW,CA+B5E;AAMD;;;;GAIG;AACH,wBAAgB,aAAa,CAC3B,CAAC,EAAE,MAAM,EAAE,EAAE,EACb,aAAa,SAAO,EACpB,SAAS,SAAQ,GAChB;IAAE,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC;IAAC,CAAC,EAAE,MAAM,EAAE,EAAE,CAAA;CAAE,CAElC"}
|
|
@@ -19,6 +19,9 @@
|
|
|
19
19
|
* - Björck & Hammarling (1983) "A Schur method for the square root of a matrix."
|
|
20
20
|
*/
|
|
21
21
|
import { DenseMatrix } from '../types/DenseMatrix.js';
|
|
22
|
+
/**
|
|
23
|
+
* Options for `matrixSqrtm`.
|
|
24
|
+
*/
|
|
22
25
|
export interface SqrtmOptions {
|
|
23
26
|
/**
|
|
24
27
|
* Force the symmetric-eigendecomposition path even for non-SPD matrices.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sqrtm.d.ts","sourceRoot":"","sources":["../../src/operations/sqrtm.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"sqrtm.d.ts","sourceRoot":"","sources":["../../src/operations/sqrtm.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAoatD;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B;;;OAGG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,EAAE,YAAY,GAAG,WAAW,CAqC5E;AAUD;;;;;;;;GAQG;AACH,wBAAgB,wBAAwB,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,GAAG,MAAM,EAAE,EAAE,CAsBlE"}
|
package/dist/operations/svd.d.ts
CHANGED
|
@@ -39,6 +39,22 @@ export interface SVDOptions {
|
|
|
39
39
|
/** Threshold for rank determination */
|
|
40
40
|
rankTolerance?: number;
|
|
41
41
|
}
|
|
42
|
+
/**
|
|
43
|
+
* Compute the singular value decomposition A = U · diag(S) · Vᵀ.
|
|
44
|
+
*
|
|
45
|
+
* The singular values in `S` are non-negative and in descending order.
|
|
46
|
+
* If a singular value is near zero, the function computes the decomposition
|
|
47
|
+
* again with one-sided Jacobi SVD, because that method is correct for
|
|
48
|
+
* rank-deficient input.
|
|
49
|
+
*
|
|
50
|
+
* @param matrix - Input matrix as a 2D array, or as a row-major
|
|
51
|
+
* `Float64Array`. A `Float64Array` must hold a square matrix.
|
|
52
|
+
* @param options - Iteration limit, tolerances, and the `fullMatrices` flag.
|
|
53
|
+
* Default rank tolerance: 1e-10.
|
|
54
|
+
* @returns The factors U, S, and V, and the numerical rank. For an empty
|
|
55
|
+
* input, all arrays are empty and the rank is 0.
|
|
56
|
+
* @throws Error if a `Float64Array` length is not a perfect square.
|
|
57
|
+
*/
|
|
42
58
|
export declare function svd(matrix: number[][] | Float64Array, options?: SVDOptions): SVDResult;
|
|
43
59
|
/**
|
|
44
60
|
* Compute only singular values (faster than full SVD)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"svd.d.ts","sourceRoot":"","sources":["../../src/operations/svd.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAUH;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,oCAAoC;IACpC,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC;IACd,wCAAwC;IACxC,CAAC,EAAE,MAAM,EAAE,CAAC;IACZ,qCAAqC;IACrC,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC;IACd,oBAAoB;IACpB,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,mCAAmC;IACnC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,4BAA4B;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;;;OAMG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,uCAAuC;IACvC,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAuVD,wBAAgB,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,GAAG,YAAY,EAAE,OAAO,GAAE,UAAe,GAAG,SAAS,CA0K1F;AAED;;GAEG;AACH,wBAAgB,cAAc,CAC5B,MAAM,EAAE,MAAM,EAAE,EAAE,GAAG,YAAY,EACjC,OAAO,CAAC,EAAE,IAAI,CAAC,UAAU,EAAE,cAAc,CAAC,GACzC,MAAM,EAAE,CAEV;AAED;;GAEG;AACH,wBAAgB,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,OAAO,CAAC,EAAE,UAAU,GAAG,MAAM,EAAE,EAAE,CAmCzE;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,UAAU,GAAG,MAAM,EAAE,EAAE,CAqB7F;AAED;;GAEG;AACH,wBAAgB,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,OAAO,CAAC,EAAE,UAAU,GAAG,MAAM,CAQrE;AAED;;;GAGG;AACH,wBAAgB,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,OAAO,CAAC,EAAE,UAAU,GAAG,MAAM,CAGtE;AAED;;;GAGG;AACH,wBAAgB,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,GAAG,MAAM,CAQlD"}
|
|
1
|
+
{"version":3,"file":"svd.d.ts","sourceRoot":"","sources":["../../src/operations/svd.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAUH;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,oCAAoC;IACpC,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC;IACd,wCAAwC;IACxC,CAAC,EAAE,MAAM,EAAE,CAAC;IACZ,qCAAqC;IACrC,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC;IACd,oBAAoB;IACpB,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,mCAAmC;IACnC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,4BAA4B;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;;;OAMG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,uCAAuC;IACvC,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAuVD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,GAAG,YAAY,EAAE,OAAO,GAAE,UAAe,GAAG,SAAS,CA0K1F;AAED;;GAEG;AACH,wBAAgB,cAAc,CAC5B,MAAM,EAAE,MAAM,EAAE,EAAE,GAAG,YAAY,EACjC,OAAO,CAAC,EAAE,IAAI,CAAC,UAAU,EAAE,cAAc,CAAC,GACzC,MAAM,EAAE,CAEV;AAED;;GAEG;AACH,wBAAgB,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,OAAO,CAAC,EAAE,UAAU,GAAG,MAAM,EAAE,EAAE,CAmCzE;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,UAAU,GAAG,MAAM,EAAE,EAAE,CAqB7F;AAED;;GAEG;AACH,wBAAgB,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,OAAO,CAAC,EAAE,UAAU,GAAG,MAAM,CAQrE;AAED;;;GAGG;AACH,wBAAgB,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,OAAO,CAAC,EAAE,UAAU,GAAG,MAAM,CAGtE;AAED;;;GAGG;AACH,wBAAgB,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,GAAG,MAAM,CAQlD"}
|
|
@@ -1,8 +1,61 @@
|
|
|
1
1
|
import type { Matrix } from '../Matrix.js';
|
|
2
|
+
/**
|
|
3
|
+
* Add two matrices element by element.
|
|
4
|
+
*
|
|
5
|
+
* The function does not check the shapes. The two matrices must have the
|
|
6
|
+
* same number of elements.
|
|
7
|
+
*
|
|
8
|
+
* @param a - First matrix.
|
|
9
|
+
* @param b - Second matrix.
|
|
10
|
+
* @returns A new row-major array that holds a + b.
|
|
11
|
+
*/
|
|
2
12
|
export declare function add(a: Matrix<number>, b: Matrix<number>): Float64Array;
|
|
13
|
+
/**
|
|
14
|
+
* Subtract one matrix from another, element by element.
|
|
15
|
+
*
|
|
16
|
+
* The function does not check the shapes. The two matrices must have the
|
|
17
|
+
* same number of elements.
|
|
18
|
+
*
|
|
19
|
+
* @param a - Matrix to subtract from.
|
|
20
|
+
* @param b - Matrix to subtract.
|
|
21
|
+
* @returns A new row-major array that holds a - b.
|
|
22
|
+
*/
|
|
3
23
|
export declare function subtract(a: Matrix<number>, b: Matrix<number>): Float64Array;
|
|
24
|
+
/**
|
|
25
|
+
* Multiply two matrices element by element (Hadamard product).
|
|
26
|
+
*
|
|
27
|
+
* The function does not check the shapes. The two matrices must have the
|
|
28
|
+
* same number of elements.
|
|
29
|
+
*
|
|
30
|
+
* @param a - First matrix.
|
|
31
|
+
* @param b - Second matrix.
|
|
32
|
+
* @returns A new row-major array that holds the element-wise product.
|
|
33
|
+
*/
|
|
4
34
|
export declare function multiplyElementwise(a: Matrix<number>, b: Matrix<number>): Float64Array;
|
|
35
|
+
/**
|
|
36
|
+
* Multiply two matrices (matrix product a · b).
|
|
37
|
+
*
|
|
38
|
+
* The function does not check that `a.cols` equals `b.rows`. The loop skips
|
|
39
|
+
* the zero elements of `a`.
|
|
40
|
+
*
|
|
41
|
+
* @param a - Left matrix (n × p).
|
|
42
|
+
* @param b - Right matrix (p × m).
|
|
43
|
+
* @returns A new row-major array of length n · m that holds a · b.
|
|
44
|
+
*/
|
|
5
45
|
export declare function multiply(a: Matrix<number>, b: Matrix<number>): Float64Array;
|
|
46
|
+
/**
|
|
47
|
+
* Multiply each element of a matrix by a scalar.
|
|
48
|
+
*
|
|
49
|
+
* @param a - Input matrix.
|
|
50
|
+
* @param scalar - Value to multiply by.
|
|
51
|
+
* @returns A new row-major array that holds scalar · a.
|
|
52
|
+
*/
|
|
6
53
|
export declare function scale(a: Matrix<number>, scalar: number): Float64Array;
|
|
54
|
+
/**
|
|
55
|
+
* Transpose a matrix.
|
|
56
|
+
*
|
|
57
|
+
* @param a - Input matrix (rows × cols).
|
|
58
|
+
* @returns A new row-major array of the transposed matrix (cols × rows).
|
|
59
|
+
*/
|
|
7
60
|
export declare function transpose(a: Matrix<number>): Float64Array;
|
|
8
61
|
//# sourceMappingURL=arithmetic.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"arithmetic.d.ts","sourceRoot":"","sources":["../../../src/types/dense/arithmetic.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAmB3C,wBAAgB,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,YAAY,CAMtE;AAED,wBAAgB,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,YAAY,CAM3E;AAED,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,YAAY,CAMtF;AAED,wBAAgB,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,YAAY,CAoB3E;AAED,wBAAgB,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,MAAM,GAAG,YAAY,CAKrE;AAED,wBAAgB,SAAS,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,YAAY,CAUzD"}
|
|
1
|
+
{"version":3,"file":"arithmetic.d.ts","sourceRoot":"","sources":["../../../src/types/dense/arithmetic.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAmB3C;;;;;;;;;GASG;AACH,wBAAgB,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,YAAY,CAMtE;AAED;;;;;;;;;GASG;AACH,wBAAgB,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,YAAY,CAM3E;AAED;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,YAAY,CAMtF;AAED;;;;;;;;;GASG;AACH,wBAAgB,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,YAAY,CAoB3E;AAED;;;;;;GAMG;AACH,wBAAgB,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,MAAM,GAAG,YAAY,CAKrE;AAED;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,YAAY,CAUzD"}
|
|
@@ -1,8 +1,46 @@
|
|
|
1
1
|
import type { Matrix } from '../Matrix.js';
|
|
2
|
+
/**
|
|
3
|
+
* Add all elements of a matrix.
|
|
4
|
+
*
|
|
5
|
+
* @param a - Input matrix.
|
|
6
|
+
* @returns The sum of all elements. For an empty matrix, 0.
|
|
7
|
+
*/
|
|
2
8
|
export declare function sum(a: Matrix<number>): number;
|
|
9
|
+
/**
|
|
10
|
+
* Compute the arithmetic mean of all elements of a matrix.
|
|
11
|
+
*
|
|
12
|
+
* @param a - Input matrix.
|
|
13
|
+
* @returns The sum of the elements divided by the number of elements.
|
|
14
|
+
*/
|
|
3
15
|
export declare function mean(a: Matrix<number>): number;
|
|
16
|
+
/**
|
|
17
|
+
* Find the smallest element of a matrix.
|
|
18
|
+
*
|
|
19
|
+
* @param a - Input matrix.
|
|
20
|
+
* @returns The smallest element. For an empty matrix, `Infinity`.
|
|
21
|
+
*/
|
|
4
22
|
export declare function min(a: Matrix<number>): number;
|
|
23
|
+
/**
|
|
24
|
+
* Find the largest element of a matrix.
|
|
25
|
+
*
|
|
26
|
+
* @param a - Input matrix.
|
|
27
|
+
* @returns The largest element. For an empty matrix, `-Infinity`.
|
|
28
|
+
*/
|
|
5
29
|
export declare function max(a: Matrix<number>): number;
|
|
30
|
+
/**
|
|
31
|
+
* Compute the Frobenius norm of a matrix: the square root of the sum of the
|
|
32
|
+
* squares of all elements.
|
|
33
|
+
*
|
|
34
|
+
* @param a - Input matrix.
|
|
35
|
+
* @returns The Frobenius norm.
|
|
36
|
+
*/
|
|
6
37
|
export declare function norm(a: Matrix<number>): number;
|
|
38
|
+
/**
|
|
39
|
+
* Compute the trace of a square matrix: the sum of its diagonal elements.
|
|
40
|
+
*
|
|
41
|
+
* @param a - Square input matrix.
|
|
42
|
+
* @returns The sum of the diagonal elements.
|
|
43
|
+
* @throws Error if the matrix is not square.
|
|
44
|
+
*/
|
|
7
45
|
export declare function trace(a: Matrix<number>): number;
|
|
8
46
|
//# sourceMappingURL=reduction.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reduction.d.ts","sourceRoot":"","sources":["../../../src/types/dense/reduction.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAE3C,wBAAgB,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,MAAM,CAQ7C;AAED,wBAAgB,IAAI,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,MAAM,CAE9C;AAED,wBAAgB,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,MAAM,CAS7C;AAED,wBAAgB,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,MAAM,CAS7C;AAED,wBAAgB,IAAI,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,MAAM,CAS9C;AAED,wBAAgB,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,MAAM,CAS/C"}
|
|
1
|
+
{"version":3,"file":"reduction.d.ts","sourceRoot":"","sources":["../../../src/types/dense/reduction.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAE3C;;;;;GAKG;AACH,wBAAgB,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,MAAM,CAQ7C;AAED;;;;;GAKG;AACH,wBAAgB,IAAI,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,MAAM,CAE9C;AAED;;;;;GAKG;AACH,wBAAgB,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,MAAM,CAS7C;AAED;;;;;GAKG;AACH,wBAAgB,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,MAAM,CAS7C;AAED;;;;;;GAMG;AACH,wBAAgB,IAAI,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,MAAM,CAS9C;AAED;;;;;;GAMG;AACH,wBAAgB,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,MAAM,CAS/C"}
|
package/dist/wasm/mathts-as.wasm
CHANGED
|
Binary file
|
package/package.json
CHANGED
|
@@ -1,70 +1,70 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "@danielsimonjr/mathts-matrix",
|
|
3
|
-
"version": "0.7.
|
|
4
|
-
"description": "Matrix operations for MathTS with WASM/WebGPU backend support",
|
|
5
|
-
"author": "Daniel Simon Jr.",
|
|
6
|
-
"license": "MIT",
|
|
7
|
-
"type": "module",
|
|
8
|
-
"main": "./dist/index.js",
|
|
9
|
-
"module": "./dist/index.js",
|
|
10
|
-
"types": "./dist/index.d.ts",
|
|
11
|
-
"exports": {
|
|
12
|
-
".": {
|
|
13
|
-
"import": "./dist/index.js",
|
|
14
|
-
"types": "./dist/index.d.ts"
|
|
15
|
-
}
|
|
16
|
-
},
|
|
17
|
-
"files": [
|
|
18
|
-
"dist",
|
|
19
|
-
"README.md"
|
|
20
|
-
],
|
|
21
|
-
"scripts": {
|
|
22
|
-
"build": "tsup src/index.ts --format esm --clean && tsc -p tsconfig.dts.json && node scripts/copy-wasm.mjs",
|
|
23
|
-
"copy:wasm": "node scripts/copy-wasm.mjs",
|
|
24
|
-
"dev": "tsup src/index.ts --format esm --
|
|
25
|
-
"test": "bun test --isolate --timeout 30000",
|
|
26
|
-
"test:watch": "vitest",
|
|
27
|
-
"test:coverage": "bun test --isolate --timeout 30000 --coverage",
|
|
28
|
-
"typecheck": "tsc --noEmit",
|
|
29
|
-
"lint": "oxlint src",
|
|
30
|
-
"lint:fix": "oxlint src --fix",
|
|
31
|
-
"clean": "rm -rf dist",
|
|
32
|
-
"build:prod": "tsup src/index.ts --format esm --
|
|
33
|
-
},
|
|
34
|
-
"dependencies": {
|
|
35
|
-
"@danielsimonjr/mathts-core": "^0.15.
|
|
36
|
-
"@danielsimonjr/mathts-gpu": "^0.2.
|
|
37
|
-
"@danielsimonjr/mathts-parallel": "^0.6.
|
|
38
|
-
},
|
|
39
|
-
"devDependencies": {
|
|
40
|
-
"@types/node": "^26.4.0",
|
|
41
|
-
"tsup": "^8.0.0",
|
|
42
|
-
"typescript": "^7.0.2",
|
|
43
|
-
"vitest": "^5.0.0",
|
|
44
|
-
"@webgpu/types": "^0.1.72"
|
|
45
|
-
},
|
|
46
|
-
"publishConfig": {
|
|
47
|
-
"access": "public"
|
|
48
|
-
},
|
|
49
|
-
"repository": {
|
|
50
|
-
"type": "git",
|
|
51
|
-
"url": "git+https://github.com/danielsimonjr/MathTS.git",
|
|
52
|
-
"directory": "matrix"
|
|
53
|
-
},
|
|
54
|
-
"keywords": [
|
|
55
|
-
"math",
|
|
56
|
-
"matrix",
|
|
57
|
-
"linear-algebra",
|
|
58
|
-
"typescript",
|
|
59
|
-
"wasm",
|
|
60
|
-
"webgpu"
|
|
61
|
-
],
|
|
62
|
-
"peerDependencies": {
|
|
63
|
-
"@webgpu/types": "^0.1.72"
|
|
64
|
-
},
|
|
65
|
-
"peerDependenciesMeta": {
|
|
66
|
-
"@webgpu/types": {
|
|
67
|
-
"optional": true
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"name": "@danielsimonjr/mathts-matrix",
|
|
3
|
+
"version": "0.7.5",
|
|
4
|
+
"description": "Matrix operations for MathTS with WASM/WebGPU backend support",
|
|
5
|
+
"author": "Daniel Simon Jr.",
|
|
6
|
+
"license": "MIT",
|
|
7
|
+
"type": "module",
|
|
8
|
+
"main": "./dist/index.js",
|
|
9
|
+
"module": "./dist/index.js",
|
|
10
|
+
"types": "./dist/index.d.ts",
|
|
11
|
+
"exports": {
|
|
12
|
+
".": {
|
|
13
|
+
"import": "./dist/index.js",
|
|
14
|
+
"types": "./dist/index.d.ts"
|
|
15
|
+
}
|
|
16
|
+
},
|
|
17
|
+
"files": [
|
|
18
|
+
"dist",
|
|
19
|
+
"README.md"
|
|
20
|
+
],
|
|
21
|
+
"scripts": {
|
|
22
|
+
"build": "tsup src/index.ts --format esm --clean && tsc -p tsconfig.dts.json && node scripts/copy-wasm.mjs",
|
|
23
|
+
"copy:wasm": "node scripts/copy-wasm.mjs",
|
|
24
|
+
"dev": "tsup src/index.ts --format esm --watch --onSuccess \"tsc -p tsconfig.dts.json && node scripts/copy-wasm.mjs\"",
|
|
25
|
+
"test": "bun test --isolate --timeout 30000",
|
|
26
|
+
"test:watch": "vitest",
|
|
27
|
+
"test:coverage": "bun test --isolate --timeout 30000 --coverage",
|
|
28
|
+
"typecheck": "tsc --noEmit && tsc -p tsconfig.test.json",
|
|
29
|
+
"lint": "oxlint src",
|
|
30
|
+
"lint:fix": "oxlint src --fix",
|
|
31
|
+
"clean": "rm -rf dist",
|
|
32
|
+
"build:prod": "tsup src/index.ts --format esm --clean --minify --treeshake && tsc -p tsconfig.dts.json && node scripts/copy-wasm.mjs"
|
|
33
|
+
},
|
|
34
|
+
"dependencies": {
|
|
35
|
+
"@danielsimonjr/mathts-core": "^0.15.5",
|
|
36
|
+
"@danielsimonjr/mathts-gpu": "^0.2.1",
|
|
37
|
+
"@danielsimonjr/mathts-parallel": "^0.6.7"
|
|
38
|
+
},
|
|
39
|
+
"devDependencies": {
|
|
40
|
+
"@types/node": "^26.4.0",
|
|
41
|
+
"tsup": "^8.0.0",
|
|
42
|
+
"typescript": "^7.0.2",
|
|
43
|
+
"vitest": "^5.0.0",
|
|
44
|
+
"@webgpu/types": "^0.1.72"
|
|
45
|
+
},
|
|
46
|
+
"publishConfig": {
|
|
47
|
+
"access": "public"
|
|
48
|
+
},
|
|
49
|
+
"repository": {
|
|
50
|
+
"type": "git",
|
|
51
|
+
"url": "git+https://github.com/danielsimonjr/MathTS.git",
|
|
52
|
+
"directory": "matrix"
|
|
53
|
+
},
|
|
54
|
+
"keywords": [
|
|
55
|
+
"math",
|
|
56
|
+
"matrix",
|
|
57
|
+
"linear-algebra",
|
|
58
|
+
"typescript",
|
|
59
|
+
"wasm",
|
|
60
|
+
"webgpu"
|
|
61
|
+
],
|
|
62
|
+
"peerDependencies": {
|
|
63
|
+
"@webgpu/types": "^0.1.72"
|
|
64
|
+
},
|
|
65
|
+
"peerDependenciesMeta": {
|
|
66
|
+
"@webgpu/types": {
|
|
67
|
+
"optional": true
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
}
|