/** * Test-only reference oracle for mutual reachability. Production HDBSCAN * computes this on-tensor via a broadcast `tf.maximum` inside * `clustering/hdbscan.ts`; this pure-JS version exists so tests can * cross-check that path against a simple, readable formula. * * The mutual-reachability distance smooths raw distance by each point's core * (k-)distance: * * d_mreach(i, j) = max(core_distance_i, core_distance_j, distance_i_j) * * Connecting points by mutual reachability rather than raw distance is what * makes HDBSCAN robust to single-linkage chaining through sparse regions: a * point in a sparse region has a large core distance, so edges through it are * inflated and it is harder for it to bridge dense clusters. */ /** * Diagonal is `core_i` since `distance[i][i] = 0`, giving `max(core_i, core_i, 0) = core_i`. * @throws If the dimensions of `distance_matrix` and `core_distances` disagree. */ export declare function mutual_reachability(distance_matrix: number[][], core_distances: ArrayLike): number[][]; //# sourceMappingURL=mutual_reachability.d.ts.map