Matrices with special spectral property
```
M = MatrixSpace(ZZ,4,4)
for A in M:
if A.determinant()!=0:
p=A.eigenvalues()
o=list(p)
for e in o:
X = Set([1,2,3,4])
for i,j in X:
if e[i]*e[j]==1:
print(A)
I am trying to find those 4 by 4 nonsingular integer matrices which satisfy the following property: Suppose that if $\lambda$ is an eigenvalue of $A$ iff $\frac{1}{\lambda}$ is also an eigenvalue of $A$ with the same multiplicity as that of $\lambda$. How to obtain that class of matrices?
First, you cannot do
for A in MsinceMis infinite and the loop will never end. Second, the property you describe can be restated as the characteristic polynomial being palindromic or antipalindromic, which can be tested as follows:Third, it's unclear what you mean under "to obtain that class of matrices" since such a class is an infinite object.