/** * Embedding Normalization Utilities * * Features: * - L2 (Euclidean) normalization * - L1 (Manhattan) normalization * - Min-max normalization * - Z-score standardization * - Batch normalization */ /** * Normalization type */ export type NormalizationType = 'l2' | 'l1' | 'minmax' | 'zscore' | 'none'; /** * Normalization options */ export interface NormalizationOptions { /** Normalization type (default: 'l2') */ type?: NormalizationType; /** Epsilon for numerical stability (default: 1e-12) */ epsilon?: number; /** In-place modification (default: false) */ inPlace?: boolean; } /** * L2 (Euclidean) normalize embedding to unit length * Most common for cosine similarity * * @param embedding - Input embedding vector * @param epsilon - Small value to prevent division by zero * @returns Normalized embedding with ||v|| = 1 */ export declare function l2Normalize(embedding: Float32Array | number[], epsilon?: number): Float32Array; /** * L2 normalize embedding in-place (modifies original array) */ export declare function l2NormalizeInPlace(embedding: Float32Array, epsilon?: number): Float32Array; /** * L1 (Manhattan) normalize embedding * Sum of absolute values = 1 */ export declare function l1Normalize(embedding: Float32Array | number[], epsilon?: number): Float32Array; /** * Min-max normalize embedding to [0, 1] range */ export declare function minMaxNormalize(embedding: Float32Array | number[], epsilon?: number): Float32Array; /** * Z-score standardize embedding (mean=0, std=1) */ export declare function zScoreNormalize(embedding: Float32Array | number[], epsilon?: number): Float32Array; /** * Normalize embedding using specified method */ export declare function normalize(embedding: Float32Array | number[], options?: NormalizationOptions): Float32Array; /** * Batch normalize multiple embeddings */ export declare function normalizeBatch(embeddings: Array, options?: NormalizationOptions): Float32Array[]; /** * Calculate L2 norm of embedding */ export declare function l2Norm(embedding: Float32Array | number[]): number; /** * Check if embedding is already normalized (L2 norm ≈ 1) */ export declare function isNormalized(embedding: Float32Array | number[], tolerance?: number): boolean; /** * Center embeddings by subtracting mean across batch * Useful for improving similarity metrics */ export declare function centerEmbeddings(embeddings: Array): Float32Array[]; //# sourceMappingURL=normalization.d.ts.map