def test_tensor_state_vector_implicit_qubits(): q = cirq.LineQubit.range(2) c = cirq.Circuit(cirq.YPowGate(exponent=0.25).on(q[0])) psi1 = cirq.final_state_vector(c, dtype=np.complex128) psi2 = ccq.tensor_state_vector(c) np.testing.assert_allclose(psi1, psi2, atol=1e-15)
def test_tensor_state_vector_4(): qubits = cirq.LineQubit.range(4) circuit = cirq.testing.random_circuit(qubits=qubits, n_moments=100, op_density=0.8) psi1 = cirq.final_state_vector(circuit, dtype=np.complex128) psi2 = ccq.tensor_state_vector(circuit, qubits) np.testing.assert_allclose(psi1, psi2, atol=1e-8)
def test_tensor_state_vector_2(): q = cirq.LineQubit.range(2) rs = np.random.RandomState(52) for _ in range(10): g = cirq.MatrixGate(cirq.testing.random_unitary(dim=2 ** len(q), random_state=rs)) c = cirq.Circuit(g.on(*q)) psi1 = cirq.final_state_vector(c, dtype=np.complex128) psi2 = ccq.tensor_state_vector(c, q) np.testing.assert_allclose(psi1, psi2, atol=1e-8)