pub(crate) fn grid_search_laplace_blas_svd<T: RlstScalar<Real = T> + Epsilon + MatrixRsvd + Float + SampleUniform + MatrixQr + Default + Upcast + ArgmaxValue<T> + Cast<<T as Upcast>::Higher> + Cast<<<T as Upcast>::Higher as RlstScalar>::Real>>( filename: String, n_points: usize, expansion_order_vec: &[usize], svd_threshold_vec: &[Option<T>], surface_diff_vec: &[usize], depth_vec: &[u64], rsvd_settings_vec: &[FmmSvdMode], )where <T as RlstScalar>::Real: Epsilon, <T as Upcast>::Higher: RlstScalar + MatrixSvd + Epsilon + Cast<T>, <<T as Upcast>::Higher as RlstScalar>::Real: Epsilon + MatrixSvd + Cast<T::Real>,