@pawells/math-extended 1.0.5 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (106) hide show
  1. package/README.md +5 -5
  2. package/build/angles.d.ts +43 -3
  3. package/build/angles.d.ts.map +1 -1
  4. package/build/angles.js +61 -34
  5. package/build/angles.js.map +1 -1
  6. package/build/clamp.d.ts +5 -3
  7. package/build/clamp.d.ts.map +1 -1
  8. package/build/clamp.js +5 -3
  9. package/build/clamp.js.map +1 -1
  10. package/build/interpolation.d.ts +444 -67
  11. package/build/interpolation.d.ts.map +1 -1
  12. package/build/interpolation.js +444 -67
  13. package/build/interpolation.js.map +1 -1
  14. package/build/matrices/_exports.d.ts +13 -0
  15. package/build/matrices/_exports.d.ts.map +1 -0
  16. package/build/matrices/_exports.js +13 -0
  17. package/build/matrices/_exports.js.map +1 -0
  18. package/build/matrices/arithmetic.d.ts +170 -181
  19. package/build/matrices/arithmetic.d.ts.map +1 -1
  20. package/build/matrices/arithmetic.js +192 -202
  21. package/build/matrices/arithmetic.js.map +1 -1
  22. package/build/matrices/asserts.d.ts +244 -116
  23. package/build/matrices/asserts.d.ts.map +1 -1
  24. package/build/matrices/asserts.js +291 -94
  25. package/build/matrices/asserts.js.map +1 -1
  26. package/build/matrices/core.d.ts +40 -41
  27. package/build/matrices/core.d.ts.map +1 -1
  28. package/build/matrices/core.js +12 -13
  29. package/build/matrices/core.js.map +1 -1
  30. package/build/matrices/decompositions.d.ts +121 -124
  31. package/build/matrices/decompositions.d.ts.map +1 -1
  32. package/build/matrices/decompositions.js +168 -226
  33. package/build/matrices/decompositions.js.map +1 -1
  34. package/build/matrices/index.d.ts +3 -2
  35. package/build/matrices/index.d.ts.map +1 -1
  36. package/build/matrices/index.js +5 -2
  37. package/build/matrices/index.js.map +1 -1
  38. package/build/matrices/linear-algebra.d.ts +18 -13
  39. package/build/matrices/linear-algebra.d.ts.map +1 -1
  40. package/build/matrices/linear-algebra.js +58 -23
  41. package/build/matrices/linear-algebra.js.map +1 -1
  42. package/build/matrices/normalization.d.ts +8 -8
  43. package/build/matrices/transformations.d.ts +184 -168
  44. package/build/matrices/transformations.d.ts.map +1 -1
  45. package/build/matrices/transformations.js +99 -83
  46. package/build/matrices/transformations.js.map +1 -1
  47. package/build/matrices/types.d.ts +12 -12
  48. package/build/matrices/types.d.ts.map +1 -1
  49. package/build/quaternions/_exports.d.ts +11 -0
  50. package/build/quaternions/_exports.d.ts.map +1 -0
  51. package/build/quaternions/_exports.js +11 -0
  52. package/build/quaternions/_exports.js.map +1 -0
  53. package/build/quaternions/asserts.d.ts +115 -7
  54. package/build/quaternions/asserts.d.ts.map +1 -1
  55. package/build/quaternions/asserts.js +162 -8
  56. package/build/quaternions/asserts.js.map +1 -1
  57. package/build/quaternions/conversions.d.ts +31 -21
  58. package/build/quaternions/conversions.d.ts.map +1 -1
  59. package/build/quaternions/conversions.js +28 -18
  60. package/build/quaternions/conversions.js.map +1 -1
  61. package/build/quaternions/core.d.ts +73 -41
  62. package/build/quaternions/core.d.ts.map +1 -1
  63. package/build/quaternions/core.js +84 -49
  64. package/build/quaternions/core.js.map +1 -1
  65. package/build/quaternions/index.d.ts +3 -2
  66. package/build/quaternions/index.d.ts.map +1 -1
  67. package/build/quaternions/index.js +5 -2
  68. package/build/quaternions/index.js.map +1 -1
  69. package/build/quaternions/interpolation.d.ts +15 -9
  70. package/build/quaternions/interpolation.d.ts.map +1 -1
  71. package/build/quaternions/interpolation.js +15 -9
  72. package/build/quaternions/interpolation.js.map +1 -1
  73. package/build/quaternions/predefined.d.ts +9 -3
  74. package/build/quaternions/predefined.d.ts.map +1 -1
  75. package/build/quaternions/predefined.js +9 -3
  76. package/build/quaternions/predefined.js.map +1 -1
  77. package/build/quaternions/types.d.ts +3 -3
  78. package/build/random.d.ts +5 -2
  79. package/build/random.d.ts.map +1 -1
  80. package/build/random.js +20 -17
  81. package/build/random.js.map +1 -1
  82. package/build/vectors/_exports.d.ts +10 -0
  83. package/build/vectors/_exports.d.ts.map +1 -0
  84. package/build/vectors/_exports.js +10 -0
  85. package/build/vectors/_exports.js.map +1 -0
  86. package/build/vectors/asserts.d.ts +153 -49
  87. package/build/vectors/asserts.d.ts.map +1 -1
  88. package/build/vectors/asserts.js +202 -52
  89. package/build/vectors/asserts.js.map +1 -1
  90. package/build/vectors/core.d.ts +216 -137
  91. package/build/vectors/core.d.ts.map +1 -1
  92. package/build/vectors/core.js +217 -158
  93. package/build/vectors/core.js.map +1 -1
  94. package/build/vectors/index.d.ts +1 -0
  95. package/build/vectors/index.d.ts.map +1 -1
  96. package/build/vectors/index.js +3 -0
  97. package/build/vectors/index.js.map +1 -1
  98. package/build/vectors/interpolation.d.ts +39 -27
  99. package/build/vectors/interpolation.d.ts.map +1 -1
  100. package/build/vectors/interpolation.js +39 -27
  101. package/build/vectors/interpolation.js.map +1 -1
  102. package/build/vectors/predefined.d.ts +48 -24
  103. package/build/vectors/predefined.d.ts.map +1 -1
  104. package/build/vectors/predefined.js +38 -18
  105. package/build/vectors/predefined.js.map +1 -1
  106. package/package.json +12 -15
@@ -1,11 +1,11 @@
1
- import { IMatrix, IMatrix1, IMatrix2, IMatrix3, IMatrix4, TMatrixResult } from './types.js';
2
- export declare function MatrixCreate(): IMatrix1;
3
- export declare function MatrixCreate(size: 1): IMatrix1;
4
- export declare function MatrixCreate(size: 2): IMatrix2;
5
- export declare function MatrixCreate(size: 3): IMatrix3;
6
- export declare function MatrixCreate(size: 4): IMatrix4;
7
- export declare function MatrixCreate(size: number): IMatrix;
8
- export declare function MatrixCreate(rows: number, cols: number): IMatrix;
1
+ import { TMatrix, TMatrix1, TMatrix2, TMatrix3, TMatrix4, TMatrixResult } from './types.js';
2
+ export declare function MatrixCreate(): TMatrix1;
3
+ export declare function MatrixCreate(size: 1): TMatrix1;
4
+ export declare function MatrixCreate(size: 2): TMatrix2;
5
+ export declare function MatrixCreate(size: 3): TMatrix3;
6
+ export declare function MatrixCreate(size: 4): TMatrix4;
7
+ export declare function MatrixCreate(size: number): TMatrix;
8
+ export declare function MatrixCreate(rows: number, cols: number): TMatrix;
9
9
  /**
10
10
  * Returns the dimensions of a matrix as [rows, columns].
11
11
  * @param matrix - The matrix to measure
@@ -13,7 +13,7 @@ export declare function MatrixCreate(rows: number, cols: number): IMatrix;
13
13
  * @throws {Error} If the input is not a valid matrix
14
14
  * @example MatrixSize([[1, 2, 3], [4, 5, 6]]) // [2, 3]
15
15
  */
16
- export declare function MatrixSize(matrix: IMatrix): [number, number];
16
+ export declare function MatrixSize(matrix: TMatrix): [number, number];
17
17
  /**
18
18
  * Returns the size of a square matrix (number of rows/columns).
19
19
  * @param matrix - The square matrix to measure
@@ -21,7 +21,7 @@ export declare function MatrixSize(matrix: IMatrix): [number, number];
21
21
  * @throws {Error} If the matrix is not square
22
22
  * @example MatrixSizeSquare([[1, 2], [3, 4]]) // 2
23
23
  */
24
- export declare function MatrixSizeSquare(matrix: IMatrix): number;
24
+ export declare function MatrixSizeSquare(matrix: TMatrix): number;
25
25
  /**
26
26
  * Validates that the input is a well-formed matrix.
27
27
  * @param matrix - The value to validate as a matrix
@@ -37,7 +37,7 @@ export declare function MatrixIsValid(matrix: unknown): boolean;
37
37
  * @example MatrixIsSquare([[1, 2], [3, 4]]) // true (2×2)
38
38
  * @example MatrixIsSquare([[1, 2, 3], [4, 5, 6]]) // false (3×2)
39
39
  */
40
- export declare function MatrixIsSquare(matrix: IMatrix): boolean;
40
+ export declare function MatrixIsSquare(matrix: TMatrix): boolean;
41
41
  /**
42
42
  * Checks if a matrix is a zero matrix (all elements are zero within tolerance).
43
43
  * @param matrix - The matrix to check
@@ -48,7 +48,7 @@ export declare function MatrixIsSquare(matrix: IMatrix): boolean;
48
48
  * @example MatrixIsZero([[1e-15, 0], [0, 0]]) // true (within default threshold)
49
49
  * @example MatrixIsZero([[0.1, 0], [0, 0]]) // false
50
50
  */
51
- export declare function MatrixIsZero(matrix: IMatrix, threshold?: number): boolean;
51
+ export declare function MatrixIsZero(matrix: TMatrix, threshold?: number): boolean;
52
52
  /**
53
53
  * Checks if a matrix is an identity matrix (1s on the main diagonal, 0s elsewhere).
54
54
  * @param matrix - The matrix to check
@@ -59,7 +59,7 @@ export declare function MatrixIsZero(matrix: IMatrix, threshold?: number): boole
59
59
  * @example MatrixIsIdentity([[1, 0, 0], [0, 1, 0], [0, 0, 1]]) // true
60
60
  * @example MatrixIsIdentity([[1, 1], [0, 1]]) // false
61
61
  */
62
- export declare function MatrixIsIdentity(matrix: IMatrix, threshold?: number): boolean;
62
+ export declare function MatrixIsIdentity(matrix: TMatrix, threshold?: number): boolean;
63
63
  /**
64
64
  * Checks if a matrix is symmetric (A = Aᵀ, i.e. A[i][j] === A[j][i] for all i, j).
65
65
  * @param matrix - The matrix to check (must be square)
@@ -70,7 +70,7 @@ export declare function MatrixIsIdentity(matrix: IMatrix, threshold?: number): b
70
70
  * @example MatrixIsSymmetric([[1, 2], [3, 4]]) // false
71
71
  * @example MatrixIsSymmetric([[1, 2, 3], [2, 5, 4], [3, 4, 6]]) // true
72
72
  */
73
- export declare function MatrixIsSymmetric(matrix: IMatrix, threshold?: number): boolean;
73
+ export declare function MatrixIsSymmetric(matrix: TMatrix, threshold?: number): boolean;
74
74
  /**
75
75
  * Checks if a matrix is diagonal (all off-diagonal elements are zero within tolerance).
76
76
  * A diagonal matrix has non-zero values only on its main diagonal.
@@ -82,87 +82,86 @@ export declare function MatrixIsSymmetric(matrix: IMatrix, threshold?: number):
82
82
  * @example MatrixIsDiagonal([[1, 0, 0], [0, 5, 0], [0, 0, 2]]) // true
83
83
  * @example MatrixIsDiagonal([[1, 2], [0, 1]]) // false
84
84
  */
85
- export declare function MatrixIsDiagonal(matrix: IMatrix, threshold?: number): boolean;
85
+ export declare function MatrixIsDiagonal(matrix: TMatrix, threshold?: number): boolean;
86
86
  /**
87
87
  * Creates an identity matrix of the specified size.
88
88
  * @param size - The dimensions of the square identity matrix (must be non-negative integer)
89
- * @returns {IMatrix} A square identity matrix of size n×n
89
+ * @returns {TMatrix} A square identity matrix of size n×n
90
90
  * @throws {Error} If size is negative or not an integer
91
91
  * @example MatrixIdentity(2) // [[1, 0], [0, 1]]
92
92
  * @example MatrixIdentity(3) // [[1, 0, 0], [0, 1, 0], [0, 0, 1]]
93
93
  */
94
- export declare function MatrixIdentity(size: 0): IMatrix;
95
- export declare function MatrixIdentity(size: 1): IMatrix1;
96
- export declare function MatrixIdentity(size: 2): IMatrix2;
97
- export declare function MatrixIdentity(size: 3): IMatrix3;
98
- export declare function MatrixIdentity(size: 4): IMatrix4;
99
- export declare function MatrixIdentity(size: number): IMatrix;
94
+ export declare function MatrixIdentity(size: 0): TMatrix;
95
+ export declare function MatrixIdentity(size: 1): TMatrix1;
96
+ export declare function MatrixIdentity(size: 2): TMatrix2;
97
+ export declare function MatrixIdentity(size: 3): TMatrix3;
98
+ export declare function MatrixIdentity(size: 4): TMatrix4;
99
+ export declare function MatrixIdentity(size: number): TMatrix;
100
100
  /**
101
101
  * Creates a deep copy of the given matrix.
102
- * @param matrix - The matrix to clone (supports both IMatrix and IMatrixFlat formats)
103
- * @returns {IMatrix | IMatrixFlat} A new matrix with identical values but independent memory allocation
102
+ * @param matrix - The matrix to clone
103
+ * @returns {TMatrixResult<T>} A new matrix with identical values but independent memory allocation
104
104
  * @throws {Error} If the input is not a valid matrix
105
105
  * @example MatrixClone([[1, 2], [3, 4]]) // [[1, 2], [3, 4]] (independent copy)
106
- * @example MatrixClone({data: Float64Array[1,2,3,4], rows: 2, columns: 2}) // New IMatrixFlat with copied data
107
106
  */
108
- export declare function MatrixClone<T extends IMatrix>(matrix: T): TMatrixResult<T>;
107
+ export declare function MatrixClone<T extends TMatrix>(matrix: T): TMatrixResult<T>;
109
108
  /**
110
109
  * Checks if two matrices are equal within a specified tolerance.
111
- * @param a - First matrix to compare (supports both IMatrix and IMatrixFlat formats)
112
- * @param b - Second matrix to compare (supports both IMatrix and IMatrixFlat formats)
110
+ * @param a - First matrix to compare
111
+ * @param b - Second matrix to compare
113
112
  * @param tolerance - Maximum allowed difference between corresponding elements (default: 1e-8)
114
113
  * @returns {boolean} True if matrices are equal within tolerance, false otherwise
115
114
  * @throws {Error} If either input is not a valid matrix or if matrix data is corrupted
116
115
  * @example MatrixEquals([[1, 2]], [[1.0001, 2]], 0.001) // true
117
116
  * @example MatrixEquals([[1, 2]], [[1, 3]]) // false
118
117
  */
119
- export declare function MatrixEquals(a: IMatrix, b: IMatrix, tolerance?: number): boolean;
118
+ export declare function MatrixEquals(a: TMatrix, b: TMatrix, tolerance?: number): boolean;
120
119
  /**
121
120
  * Converts a matrix to a formatted string representation.
122
- * @param matrix - The matrix to convert to string (supports both IMatrix and IMatrixFlat formats)
121
+ * @param matrix - The matrix to convert to string
123
122
  * @param precision - Number of decimal places for formatting (default: 2)
124
123
  * @returns {string} A formatted string representation of the matrix
125
124
  * @throws {Error} If the input is not a valid matrix
126
125
  * @example MatrixToString([[1.23, 2.7]]) // "[ 1.23, 2.70 ]"
127
126
  * @example MatrixToString([[1, 2], [3, 4]], 0) // "[ 1, 2 ]\n[ 3, 4 ]"
128
127
  */
129
- export declare function MatrixToString(matrix: IMatrix, precision?: number): string;
128
+ export declare function MatrixToString(matrix: TMatrix, precision?: number): string;
130
129
  /**
131
130
  * Computes the rank of a matrix using Gaussian elimination.
132
- * @param matrix - The input matrix (any dimensions, supports both IMatrix and IMatrixFlat formats)
131
+ * @param matrix - The input matrix (any dimensions)
133
132
  * @param tolerance - Numerical tolerance for zero detection (default: 1e-10)
134
133
  * @returns {number} The rank of the matrix (0 ≤ rank ≤ min(rows, columns))
135
134
  * @throws {Error} If the matrix contains invalid values
136
135
  * @example MatrixRank([[1, 2], [2, 4]]) // 1 (second row = 2 × first row)
137
136
  * @example MatrixRank([[1, 0], [0, 1]]) // 2 (full rank)
138
137
  */
139
- export declare function MatrixRank(matrix: IMatrix, tolerance?: number): number;
138
+ export declare function MatrixRank(matrix: TMatrix, tolerance?: number): number;
140
139
  /**
141
140
  * Computes the trace of a matrix (sum of main diagonal elements).
142
- * @param matrix - The input matrix (can be square or rectangular, supports both IMatrix and IMatrixFlat formats)
141
+ * @param matrix - The input matrix (can be square or rectangular)
143
142
  * @returns {number} The trace value (sum of diagonal elements)
144
143
  * @throws {Error} If the matrix contains invalid values
145
144
  * @example MatrixTrace([[1, 2, 3], [4, 5, 6], [7, 8, 9]]) // 15 (1 + 5 + 9)
146
145
  * @example MatrixTrace([[1, 2], [3, 4], [5, 6]]) // 5 (1 + 4, rectangular matrix)
147
146
  */
148
- export declare function MatrixTrace(matrix: IMatrix): number;
147
+ export declare function MatrixTrace(matrix: TMatrix): number;
149
148
  /**
150
149
  * Returns the transpose of a matrix (rows become columns and vice versa).
151
- * @param matrix - The matrix to transpose (can be any m×n matrix, supports both IMatrix and IMatrixFlat formats)
152
- * @returns {IMatrix | IMatrixFlat} The transposed matrix with dimensions n×m (same format as input)
150
+ * @param matrix - The matrix to transpose (can be any m×n matrix)
151
+ * @returns {TMatrixResult<T>} The transposed matrix with dimensions n×m
153
152
  * @throws {Error} If the input is not a valid matrix
154
153
  * @example MatrixTranspose([[1, 2, 3], [4, 5, 6]]) // [[1, 4], [2, 5], [3, 6]]
155
154
  * @example MatrixTranspose([[1, 2], [3, 4]]) // [[1, 3], [2, 4]]
156
155
  */
157
- export declare function MatrixTranspose<T extends IMatrix>(matrix: T): TMatrixResult<T>;
156
+ export declare function MatrixTranspose<T extends TMatrix>(matrix: T): TMatrixResult<T>;
158
157
  /**
159
158
  * Applies a transformation function to each element of the matrix.
160
- * @param matrix - The input matrix to transform (supports both IMatrix and IMatrixFlat formats)
159
+ * @param matrix - The input matrix to transform
161
160
  * @param fn - Transformation function: (value, row, col) => transformedValue
162
- * @returns {IMatrix | IMatrixFlat} A new matrix with transformed values (same dimensions and format as input)
161
+ * @returns {TMatrixResult<T>} A new matrix with transformed values (same dimensions as input)
163
162
  * @throws {Error} If the input matrix is invalid or transformation function throws
164
163
  * @example MatrixMap([[1, 2], [3, 4]], (value) => value * value) // [[1, 4], [9, 16]]
165
164
  * @example MatrixMap([[1, 2], [3, 4]], (value, row, col) => value + row + col) // [[1, 3], [4, 6]]
166
165
  */
167
- export declare function MatrixMap<T extends IMatrix>(matrix: T, fn: (value: number, row: number, col: number) => number): TMatrixResult<T>;
166
+ export declare function MatrixMap<T extends TMatrix>(matrix: T, fn: (value: number, row: number, col: number) => number): TMatrixResult<T>;
168
167
  //# sourceMappingURL=core.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../src/matrices/core.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../src/matrices/core.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,7 @@ import { AssertMatrix, AssertMatrixRow, AssertMatrixValue } from './asserts.js';
4
4
  * Creates a matrix with specified dimensions, initialized with zeros.
5
5
  * @param rows - Number of rows (non-negative integer). If only this parameter is provided, creates a square matrix.
6
6
  * @param cols - Number of columns (non-negative integer). Optional for square matrices.
7
- * @returns {IMatrix | IMatrix1 | IMatrix2 | IMatrix3 | IMatrix4} Zero-filled matrix with specified dimensions
7
+ * @returns {TMatrix | TMatrix1 | TMatrix2 | TMatrix3 | TMatrix4} Zero-filled matrix with specified dimensions
8
8
  * @throws {Error} If rows or cols are negative or not integers
9
9
  * @example MatrixCreate() // [[0]] (1x1 matrix)
10
10
  * @example MatrixCreate(2) // [[0, 0], [0, 0]] (2x2 matrix)
@@ -243,11 +243,10 @@ export function MatrixIdentity(size) {
243
243
  }
244
244
  /**
245
245
  * Creates a deep copy of the given matrix.
246
- * @param matrix - The matrix to clone (supports both IMatrix and IMatrixFlat formats)
247
- * @returns {IMatrix | IMatrixFlat} A new matrix with identical values but independent memory allocation
246
+ * @param matrix - The matrix to clone
247
+ * @returns {TMatrixResult<T>} A new matrix with identical values but independent memory allocation
248
248
  * @throws {Error} If the input is not a valid matrix
249
249
  * @example MatrixClone([[1, 2], [3, 4]]) // [[1, 2], [3, 4]] (independent copy)
250
- * @example MatrixClone({data: Float64Array[1,2,3,4], rows: 2, columns: 2}) // New IMatrixFlat with copied data
251
250
  */
252
251
  export function MatrixClone(matrix) {
253
252
  AssertMatrix(matrix);
@@ -256,8 +255,8 @@ export function MatrixClone(matrix) {
256
255
  }
257
256
  /**
258
257
  * Checks if two matrices are equal within a specified tolerance.
259
- * @param a - First matrix to compare (supports both IMatrix and IMatrixFlat formats)
260
- * @param b - Second matrix to compare (supports both IMatrix and IMatrixFlat formats)
258
+ * @param a - First matrix to compare
259
+ * @param b - Second matrix to compare
261
260
  * @param tolerance - Maximum allowed difference between corresponding elements (default: 1e-8)
262
261
  * @returns {boolean} True if matrices are equal within tolerance, false otherwise
263
262
  * @throws {Error} If either input is not a valid matrix or if matrix data is corrupted
@@ -292,7 +291,7 @@ export function MatrixEquals(a, b, tolerance = 1e-8) {
292
291
  }
293
292
  /**
294
293
  * Converts a matrix to a formatted string representation.
295
- * @param matrix - The matrix to convert to string (supports both IMatrix and IMatrixFlat formats)
294
+ * @param matrix - The matrix to convert to string
296
295
  * @param precision - Number of decimal places for formatting (default: 2)
297
296
  * @returns {string} A formatted string representation of the matrix
298
297
  * @throws {Error} If the input is not a valid matrix
@@ -312,7 +311,7 @@ export function MatrixToString(matrix, precision = 2) {
312
311
  }
313
312
  /**
314
313
  * Computes the rank of a matrix using Gaussian elimination.
315
- * @param matrix - The input matrix (any dimensions, supports both IMatrix and IMatrixFlat formats)
314
+ * @param matrix - The input matrix (any dimensions)
316
315
  * @param tolerance - Numerical tolerance for zero detection (default: 1e-10)
317
316
  * @returns {number} The rank of the matrix (0 ≤ rank ≤ min(rows, columns))
318
317
  * @throws {Error} If the matrix contains invalid values
@@ -376,7 +375,7 @@ export function MatrixRank(matrix, tolerance = 1e-10) {
376
375
  }
377
376
  /**
378
377
  * Computes the trace of a matrix (sum of main diagonal elements).
379
- * @param matrix - The input matrix (can be square or rectangular, supports both IMatrix and IMatrixFlat formats)
378
+ * @param matrix - The input matrix (can be square or rectangular)
380
379
  * @returns {number} The trace value (sum of diagonal elements)
381
380
  * @throws {Error} If the matrix contains invalid values
382
381
  * @example MatrixTrace([[1, 2, 3], [4, 5, 6], [7, 8, 9]]) // 15 (1 + 5 + 9)
@@ -399,8 +398,8 @@ export function MatrixTrace(matrix) {
399
398
  }
400
399
  /**
401
400
  * Returns the transpose of a matrix (rows become columns and vice versa).
402
- * @param matrix - The matrix to transpose (can be any m×n matrix, supports both IMatrix and IMatrixFlat formats)
403
- * @returns {IMatrix | IMatrixFlat} The transposed matrix with dimensions n×m (same format as input)
401
+ * @param matrix - The matrix to transpose (can be any m×n matrix)
402
+ * @returns {TMatrixResult<T>} The transposed matrix with dimensions n×m
404
403
  * @throws {Error} If the input is not a valid matrix
405
404
  * @example MatrixTranspose([[1, 2, 3], [4, 5, 6]]) // [[1, 4], [2, 5], [3, 6]]
406
405
  * @example MatrixTranspose([[1, 2], [3, 4]]) // [[1, 3], [2, 4]]
@@ -430,9 +429,9 @@ export function MatrixTranspose(matrix) {
430
429
  }
431
430
  /**
432
431
  * Applies a transformation function to each element of the matrix.
433
- * @param matrix - The input matrix to transform (supports both IMatrix and IMatrixFlat formats)
432
+ * @param matrix - The input matrix to transform
434
433
  * @param fn - Transformation function: (value, row, col) => transformedValue
435
- * @returns {IMatrix | IMatrixFlat} A new matrix with transformed values (same dimensions and format as input)
434
+ * @returns {TMatrixResult<T>} A new matrix with transformed values (same dimensions as input)
436
435
  * @throws {Error} If the input matrix is invalid or transformation function throws
437
436
  * @example MatrixMap([[1, 2], [3, 4]], (value) => value * value) // [[1, 4], [9, 16]]
438
437
  * @example MatrixMap([[1, 2], [3, 4]], (value, row, col) => value + row + col) // [[1, 3], [4, 6]]
@@ -1 +1 @@
1
- {"version":3,"file":"core.js","sourceRoot":"","sources":["../../src/matrices/core.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"core.js","sourceRoot":"","sources":["../../src/matrices/core.ts"],"names":[],"mappings":"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"}