def test_displaced_squeezed_state(self, tol): """Test the displaced squeezed state is correct.""" alpha = 0.541+0.109j a = abs(alpha) phi_a = np.angle(alpha) r = 0.432 phi_r = 0.123 means, cov = displaced_squeezed_state(a, phi_a, r, phi_r, hbar=hbar) # test vector of means is correct assert means == pytest.approx(np.array([alpha.real, alpha.imag])*np.sqrt(2*hbar), abs=tol) R = rotation(phi_r/2) expected = R @ np.array([[np.exp(-2*r), 0], [0, np.exp(2*r)]]) * hbar/2 @ R.T # test covariance matrix is correct assert cov == pytest.approx(expected, abs=tol)
def test_displaced_squeezed_state(self): """Test the displaced squeezed state is correct.""" self.logTestName() alpha = 0.541+0.109j a = abs(alpha) phi_a = np.angle(alpha) r = 0.432 phi_r = 0.123 means, cov = displaced_squeezed_state(a, phi_a, r, phi_r, hbar=hbar) # test vector of means is correct self.assertAllAlmostEqual(means, np.array([alpha.real, alpha.imag])*np.sqrt(2*hbar), delta=self.tol) R = rotation(phi_r/2) expected = R @ np.array([[np.exp(-2*r), 0], [0, np.exp(2*r)]]) * hbar/2 @ R.T # test covariance matrix is correct self.assertAllAlmostEqual(cov, expected, delta=self.tol)