Skip to main content

is_valid_kernel_matrix

Function is_valid_kernel_matrix 

Source
pub fn is_valid_kernel_matrix(
    kernel_matrix: &[Vec<f64>],
    tolerance: f64,
) -> Result<bool>
Expand description

Check if a kernel matrix is valid (symmetric and positive semi-definite).

A valid kernel matrix must be:

  1. Square
  2. Symmetric: K[i,j] = K[j,i]
  3. Positive semi-definite (all eigenvalues ≥ 0)

Note: This function only checks symmetry. Full PSD checking requires eigendecomposition which is expensive.

§Arguments

  • kernel_matrix - Matrix to validate
  • tolerance - Tolerance for symmetry check

§Returns

  • true if matrix is valid

§Examples

use tensorlogic_sklears_kernels::kernel_utils::is_valid_kernel_matrix;

let K = vec![
    vec![1.0, 0.8, 0.6],
    vec![0.8, 1.0, 0.7],
    vec![0.6, 0.7, 1.0],
];

assert!(is_valid_kernel_matrix(&K, 1e-10).unwrap());