import type { NumberArray } from 'cheminfo-types'; import type { CalculateAdaptiveWeightsOptions } from '../utils/index.ts'; export interface XWhittakerSmootherOptions extends CalculateAdaptiveWeightsOptions { /** * Factor of weights matrix in -> [I + lambda D'D]z = x * @default 100 */ lambda?: number; /** * Maximum number of iterations for the baseline refinement process. * @default 100 */ maxIterations?: number; /** * Tolerance for convergence. The process stops if the change in baseline is less than this value. * @default 1e-6 */ tolerance?: number; /** * Learning rate for weight updates. * @default 0.5 */ learningRate?: number; /** * Solver algorithm to use for the smoothing routine. * - `'cholesky'` — build the full (symmetric) system and solve using a * Cholesky decomposition. Generally more robust for small/medium arrays * and when a matrix factorization is acceptable. * - `'thomas'` — use a tridiagonal formulation and solve with the Thomas * algorithm (specialised tridiagonal solver). Lower memory usage and * faster for large inputs when the system is tridiagonal. * @default 'thomas' */ algorithm?: 'cholesky' | 'thomas'; } export declare function xWhittakerSmoother(yData: NumberArray, options?: XWhittakerSmootherOptions): Float64Array; /** * @deprecated Use xWhittakerSmoother instead. * TODO: Remove in next major version. */ export declare const xWhitakerSmoother: typeof xWhittakerSmoother; //# sourceMappingURL=xWhittakerSmoother.d.ts.map