Example #1
0
 def test_insufficient_samples(self):
     """Test if function returns ``ValueError`` when user specifies a number of samples less
     than 1 """
     with pytest.raises(
             ValueError,
             match="Number of samples must be greater than zero"):
         sample.uniform(modes=2, sampled_modes=2, samples=0)
Example #2
0
 def test_output_dimensions(self):
     """Tests if function returns list of correct dimensions"""
     samples = np.array(sample.uniform(modes=2, sampled_modes=1, samples=3))
     dims = samples.shape
     assert len(dims) == 2
     assert dims[0] == 3
     assert dims[1] == 2
Example #3
0
def test_seed(dim, adj):
    """Test for the function ``strawberryfields.gbs.sample.seed``. Checks that samples are identical
    after repeated initialization of ``seed``."""

    sample.seed(1968)
    q_s_1 = sample.sample(A=adj,
                          n_mean=2,
                          samples=10,
                          backend_options={"threshold": False})
    u_s_1 = sample.uniform(modes=dim, sampled_modes=2, samples=10)

    sample.seed(1968)
    q_s_2 = sample.sample(A=adj,
                          n_mean=2,
                          samples=10,
                          backend_options={"threshold": False})
    u_s_2 = sample.uniform(modes=dim, sampled_modes=2, samples=10)

    assert np.array_equal(q_s_1, q_s_2)
    assert np.array_equal(u_s_1, u_s_2)
Example #4
0
    def test_output_sampled_modes(self):
        """Tests if samples from function are only zeros and ones and have a number of ones equal to
        ``sampled_modes``"""
        samples = np.array(sample.uniform(modes=2, sampled_modes=1, samples=3))

        only_zero_one = True

        for samp in samples:
            if not np.allclose(np.unique(samp), [0, 1]):
                only_zero_one = False

        assert only_zero_one
        assert np.unique(np.sum(samples, axis=1)) == 1
Example #5
0
 def test_sampled_modes_exceeds_modes(self):
     """Test if function returns ``ValueError`` when user specifies a number of
     ``sampled_modes`` that exceeds ``modes`` """
     with pytest.raises(ValueError, match="Modes and sampled_modes"):
         sample.uniform(modes=2, sampled_modes=3, samples=2)
Example #6
0
 def test_insufficient_sampled_modes(self):
     """Tests if function returns ``ValueError`` when user specifies a number of
     ``sampled_modes`` less than 1 """
     with pytest.raises(ValueError, match="Modes and sampled_modes"):
         sample.uniform(modes=2, sampled_modes=0, samples=2)