diff --git a/where_fi/processing/aoa.py b/where_fi/processing/aoa.py index 6d3eb0f..d8303c1 100644 --- a/where_fi/processing/aoa.py +++ b/where_fi/processing/aoa.py @@ -113,11 +113,12 @@ class AoA: def evaluate(self, theta: torch.Tensor, tof: torch.Tensor) -> torch.Tensor: R = torch.mean(self.historical_autocorr, dim=0) + assert (R == torch.conj(R).T).all() # The smallest eigenvectors span the noise subspace, # and the largest span the signal subspace. logger.debug(f"Calculating eigenvectors of R: {R.shape}") - eigvals, eigvecs = torch.linalg.eig(R) + eigvals, eigvecs = torch.linalg.eigh(R) assert isinstance(eigvals, torch.Tensor) assert isinstance(eigvecs, torch.Tensor) logger.info(f"Eigenvalues: {eigvals}")