import type BigNumber from 'bignumber.js'; /** Scalar types for real symmetric eigenvalue computation */ type Scalar = number | BigNumber; /** Result for a single eigenvector with its corresponding eigenvalue */ interface EigenvectorResult { value: Scalar; vector: Scalar[]; } /** Result of real symmetric eigenvalue computation */ interface EigenResult { values: Scalar[]; eigenvectors?: EigenvectorResult[]; } /** Configuration object */ interface Config { relTol: number | BigNumber; } /** Dependencies for createRealSymmetric */ interface Dependencies { config: Config; addScalar: (a: Scalar, b: Scalar) => Scalar; subtract: (a: Scalar, b: Scalar) => Scalar; abs: (x: Scalar) => number | BigNumber; atan: (x: Scalar) => Scalar; cos: (x: Scalar) => Scalar; sin: (x: Scalar) => Scalar; multiplyScalar: (a: Scalar, b: Scalar) => Scalar; inv: (x: Scalar) => Scalar; bignumber: (x: number | string) => BigNumber; multiply: (...args: Scalar[]) => Scalar; add: (...args: Scalar[]) => Scalar; } /** * Create the function that computes the eigenvalues and the optional eigenvectors of a * real symmetric matrix. */ export declare function createRealSymmetric({ config, addScalar, subtract, abs, atan, cos, sin, multiplyScalar, inv, bignumber, multiply, add, }: Dependencies): (arr: Scalar[][], _N: number, prec: number | BigNumber | undefined, type: 'number' | 'BigNumber', computeVectors: boolean) => EigenResult; export {}; //# sourceMappingURL=realSymmetric.d.ts.map