def test_fock_state(self, setup_eng, cutoff, bsize, pure, tol): """Test fock state function matches Fock backends""" eng, prog = setup_eng(1) n = 2 with prog.context as q: ops.Fock(n) | q[0] state = eng.run(prog).state ket = utils.fock_state(n, fock_dim=cutoff) if not pure: expected = state.dm() ket = np.tile(np.outer(ket, ket.conj()), (bsize, 1, 1)) else: expected = state.ket() ket = np.tile(ket, (bsize, 1)) assert np.allclose(expected, ket, atol=tol, rtol=0)
def test_fock_state(self): """test correct fock state returned""" n = 3 cutoff = 10 state = utils.fock_state(n, fock_dim=cutoff) assert np.all(state == np.eye(1, cutoff, n))