While doing quantum tomography in cirq, I ended up getting a density matrix which is not positive semi-definite. Why is this so? Here's the code I used:
import cirq
from cirq.experiments import state_tomography
q0, q1, q2 = cirq.LineQubit.range(3)
circuit = cirq.Circuit(
cirq.CNOT(q0,q1),
cirq.CNOT(q0, q2)
)
simulator = cirq.Simulator()
results = state_tomography(
sampler=simulator,
qubits=[q0, q1],
circuit=circuit,
repetitions=5000
)
density_matrix = results.data
print("Reconstructed Density Matrix:")
print(density_matrix)
eigenvalues, _ = np.linalg.eigh(density_matrix)
print(eigenvalues)