From a5004556c251e0250a968c42f099a3d82c8e1832 Mon Sep 17 00:00:00 2001 From: Nicolas Tessore Date: Fri, 14 Feb 2025 14:37:36 +0000 Subject: [PATCH] typing suggestions from code review Co-authored-by: Saransh Chopra --- glass/core/algorithm.py | 7 ++++--- glass/fields.py | 5 +++-- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/glass/core/algorithm.py b/glass/core/algorithm.py index 34324f80..6889a4f3 100644 --- a/glass/core/algorithm.py +++ b/glass/core/algorithm.py @@ -137,7 +137,8 @@ def cov_clip( # put matrix back together # enforce symmetry v = xp.sqrt(w[..., None, :]) * v - return xp.matmul(v, xp.matrix_transpose(v)) # type: ignore[no-any-return] + cov_clipped: NDArray[np.float64] = xp.matmul(v, xp.matrix_transpose(v)) + return cov_clipped def nearcorr( @@ -250,9 +251,9 @@ def cov_nearest( raise ValueError(msg) # store the normalisation of the matrix - norm = xp.sqrt(diag) + norm: NDArray[np.float64] = xp.sqrt(diag) norm = norm[..., None, :] * norm[..., :, None] # find nearest correlation matrix corr = cov / xp.where(norm > 0, norm, 1.0) - return nearcorr(corr, niter=niter, tol=tol) * norm # type: ignore[no-any-return] + return nearcorr(corr, niter=niter, tol=tol) * norm diff --git a/glass/fields.py b/glass/fields.py index ff66473c..8ebe5a3d 100644 --- a/glass/fields.py +++ b/glass/fields.py @@ -945,7 +945,8 @@ def check_posdef_spectra(spectra: Cls) -> bool: """Test whether angular power spectra are positive semi-definite.""" cov = cov_from_spectra(spectra) xp = cov.__array_namespace__() - return xp.all(xp.linalg.eigvalsh(cov) >= 0) # type: ignore[no-any-return] + is_positive_semi_definite: bool = xp.all(xp.linalg.eigvalsh(cov) >= 0) + return is_positive_semi_definite def regularized_spectra( @@ -953,7 +954,7 @@ def regularized_spectra( *, lmax: int | None = None, method: Literal["nearest", "clip"] = "nearest", - **method_kwargs: Any, # noqa: ANN401 + **method_kwargs: float | None, ) -> Cls: r""" Regularise a set of angular power spectra.