/** * Minimal linear algebra utilities. Row-major Float64Array layout throughout. * Shape is carried alongside as a tuple [rows, cols] for matrices. */ export type Mat = { data: Float64Array; rows: number; cols: number; }; export declare function mat(rows: number, cols: number, init?: ArrayLike): Mat; export declare function transpose(m: Mat): Mat; /** Returns A @ B. Shapes (a, b) @ (b, c) -> (a, c). */ export declare function matmul(a: Mat, b: Mat): Mat; export declare function l2NormalizeRows(m: Mat): Mat; /** Row-wise add of vector v (length cols) into m. Returns new matrix. */ export declare function addRowVector(m: Mat, v: Float64Array, sign?: 1 | -1): Mat; export declare function elementwiseMulRow(m: Mat, v: Float64Array): Mat; export declare function rowSquareSum(m: Mat): Float64Array; /** Sum along axis 0 (returns vector of length cols). */ export declare function colSum(m: Mat): Float64Array; export declare function fromRows(rows: ArrayLike[]): Mat; //# sourceMappingURL=linalg.d.ts.map