pub fn distances_from_kernel(
kernel_matrix: &[Vec<f64>],
) -> Result<Vec<Vec<f64>>>Expand description
Compute pairwise distances from a kernel matrix.
For a valid kernel K(x,y), the distance is: d(x,y) = sqrt(K(x,x) + K(y,y) - 2*K(x,y))
§Arguments
kernel_matrix- Symmetric kernel matrix
§Returns
- Distance matrix
§Examples
use tensorlogic_sklears_kernels::kernel_utils::distances_from_kernel;
let K = vec![
vec![1.0, 0.8, 0.6],
vec![0.8, 1.0, 0.7],
vec![0.6, 0.7, 1.0],
];
let distances = distances_from_kernel(&K).unwrap();
// distances[i][j] = distance between points i and j