/** Options accepted by {@link svds}. */ export interface SvdsOptions { /** Convergence tolerance forwarded to the Lanczos eigensolver (default 1e-10). */ tol?: number; /** Maximum Lanczos steps (default `min(max(2k + 20, 20), dim)`). */ maxIter?: number; } /** * Result of {@link svds}. Singular values are returned **descending** * (`s[0]` largest — matching this library's full {@link svd}); note this is the * opposite of `scipy.sparse.linalg.svds`, which returns them ascending. * Singular vectors are stored as **columns**: `U[i][j]` is the `i`-th component * of the `j`-th left singular vector (for `s[j]`), and likewise `V` for the * right singular vectors. */ export interface SvdsResult { /** Left singular vectors, `m × k`, as columns. */ U: number[][]; /** The `k` largest singular values, descending. */ s: number[]; /** Right singular vectors, `n × k`, as columns. */ V: number[][]; } /** * The `k` largest singular triplets of `A` (dense `m × n`) via Lanczos on the * smaller normal operator. * * @example * svds([[1,2,0],[0,3,1],[4,0,2]], 2) // => { U, s: [σ₁, σ₂] (descending), V } */ export declare function svds(A: number[][], k?: number, opts?: SvdsOptions): SvdsResult; //# sourceMappingURL=svds.d.ts.map