/** * Many numerical eigensolvers return eigenvectors in arbitrary order and with * an arbitrary global ± sign per vector. For downstream algorithms (e.g. * Spectral Clustering) we require a stable ordering and sign convention so * that identical input always produces identical embeddings. * * The convention implemented here matches scikit-learn: * 1. Eigen-pairs are sorted by ascending eigen-value. * 2. For every eigen-vector the component with the largest absolute value * is made positive by optionally multiplying the vector by −1. * * The function operates purely on native JavaScript arrays to avoid pulling * TensorFlow.js into low-level utilities and reduce garbage generation. */ export interface EigenPairInput { eigenvalues: number[]; eigenvectors: number[][]; } export interface EigenPairOutput { eigenvalues: number[]; eigenvectors: number[][]; } export declare function deterministic_eigenpair_processing(input: EigenPairInput): EigenPairOutput;