Skip to content

Commit

Permalink
Test cirq.Circuit to Quantum conversion
Browse files Browse the repository at this point in the history
  • Loading branch information
mofeing committed Jan 9, 2025
1 parent 17e8982 commit 4858204
Showing 1 changed file with 38 additions and 0 deletions.
38 changes: 38 additions & 0 deletions test/integration/python/test_cirq.jl
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
@testset "cirq" begin
using PythonCall
cirq = pyimport("cirq")

@testset "LineQubit" begin
circuit = cirq.Circuit()
qubits = cirq.LineQubit.range(3)
circuit.append(cirq.H(qubits[0]))
circuit.append(cirq.H(qubits[1]))
circuit.append(cirq.CNOT(qubits[1], qubits[2]))
circuit.append(cirq.CNOT(qubits[0], qubits[2]))
circuit.append(cirq.H(qubits[0]))
circuit.append(cirq.H(qubits[1]))
circuit.append(cirq.H(qubits[2]))

tn = convert(Quantum, circuit)
@test issetequal(sites(tn; set=:inputs), adjoint.(Site.([0, 1, 2])))
@test issetequal(sites(tn; set=:outputs), Site.([0, 1, 2]))
@test Tenet.ntensors(tn) == 7
end

@testset "GridQubit" begin
circuit = cirq.Circuit()
qubits = cirq.GridQubit.rect(3, 1)
circuit.append(cirq.H(qubits[0]))
circuit.append(cirq.H(qubits[1]))
circuit.append(cirq.CNOT(qubits[1], qubits[2]))
circuit.append(cirq.CNOT(qubits[0], qubits[2]))
circuit.append(cirq.H(qubits[0]))
circuit.append(cirq.H(qubits[1]))
circuit.append(cirq.H(qubits[2]))

tn = convert(Quantum, circuit)
@test issetequal(sites(tn; set=:inputs), adjoint.(Site.([(0, 0), (1, 0), (2, 0)])))
@test issetequal(sites(tn; set=:outputs), Site.([(0, 0), (1, 0), (2, 0)]))
@test Tenet.ntensors(tn) == 7
end
end

0 comments on commit 4858204

Please sign in to comment.