pub fn dot_product(a: &[f64], b: &[f64]) -> f64
Computes the dot product of two f64 slices
Panics if the slices have different lengths