@astermind/astermind-elm
Version:
JavaScript Extreme Learning Machine (ELM) library for browser and Node.js.
39 lines (38 loc) • 1.55 kB
TypeScript
export declare class DimError extends Error {
constructor(msg: string);
}
/**
* Coerce any 2D array-like into a strict rectangular number[][]
* - If width is not provided, infer from the first row's length
* - Pads/truncates to width
* - Non-finite values become 0
*/
export declare function ensureRectNumber2D(M: any, width?: number, name?: string): number[][];
/**
* Relaxed rectangularity check:
* - Accepts any array-like rows (typed arrays included)
* - Verifies consistent width and finite numbers
*/
export declare function assertRect(A: any, name?: string): void;
export declare class Matrix {
static shape(A: any): [number, number];
static clone(A: any): number[][];
static zeros(rows: number, cols: number): number[][];
static identity(n: number): number[][];
static transpose(A: any): number[][];
static add(A: any, B: any): number[][];
/** Adds lambda to the diagonal (ridge regularization) */
static addRegularization(A: any, lambda?: number): number[][];
static multiply(A: any, B: any): number[][];
static multiplyVec(A: any, v: any): number[];
static cholesky(A: any, jitter?: number): number[][];
static solveCholesky(A: any, B: any, jitter?: number): number[][];
static inverse(A: any): number[][];
static inverseSPDOrFallback(A: any): number[][];
private static assertSquare;
static eigSym(A: any, maxIter?: number, tol?: number): {
values: number[];
vectors: number[][];
};
static invSqrtSym(A: any, eps?: number): number[][];
}