Ejemplo n.º 1
0
    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)
Ejemplo n.º 2
0
    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)