remove eigh
The original assumption that we can use eigh because the autocorrelation matrix is Hermitian is not true. Although the true autocorrelation matrix is Hermitian, this is not necessarily the case for the estimate we use.
This commit is contained in:
parent
c4196503d8
commit
342357bd0c
@ -113,12 +113,11 @@ 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.eigh(R)
|
||||
eigvals, eigvecs = torch.linalg.eig(R)
|
||||
assert isinstance(eigvals, torch.Tensor)
|
||||
assert isinstance(eigvecs, torch.Tensor)
|
||||
logger.info(f"Eigenvalues: {eigvals}")
|
||||
|
||||
Loading…
Reference in New Issue
Block a user