@@ -11,17 +11,17 @@ def return_one_on_two(qubits):
1111
1212
1313def return_one_on_one (qubits ):
14- return qubits == IntQubit (1 , qubits .nqubits )
14+ return qubits == IntQubit (1 , nqubits = qubits .nqubits )
1515
1616
1717def test_superposition_basis ():
1818 nbits = 2
19- first_half_state = IntQubit (0 , nbits )/ 2 + IntQubit (1 , nbits )/ 2
19+ first_half_state = IntQubit (0 , nqubits = nbits )/ 2 + IntQubit (1 , nqubits = nbits )/ 2
2020 second_half_state = IntQubit (2 , nbits )/ 2 + IntQubit (3 , nbits )/ 2
2121 assert first_half_state + second_half_state == superposition_basis (nbits )
2222
2323 nbits = 3
24- firstq = (1 / sqrt (8 ))* IntQubit (0 , nbits ) + (1 / sqrt (8 ))* IntQubit (1 , nbits )
24+ firstq = (1 / sqrt (8 ))* IntQubit (0 , nqubits = nbits ) + (1 / sqrt (8 ))* IntQubit (1 , nqubits = nbits )
2525 secondq = (1 / sqrt (8 ))* IntQubit (2 , nbits ) + (1 / sqrt (8 ))* IntQubit (3 , nbits )
2626 thirdq = (1 / sqrt (8 ))* IntQubit (4 , nbits ) + (1 / sqrt (8 ))* IntQubit (5 , nbits )
2727 fourthq = (1 / sqrt (8 ))* IntQubit (6 , nbits ) + (1 / sqrt (8 ))* IntQubit (7 , nbits )
@@ -35,30 +35,30 @@ def test_OracleGate():
3535
3636 nbits = 2
3737 v = OracleGate (2 , return_one_on_two )
38- assert qapply (v * IntQubit (0 , nbits )) == IntQubit (0 , nbits )
39- assert qapply (v * IntQubit (1 , nbits )) == IntQubit (1 , nbits )
38+ assert qapply (v * IntQubit (0 , nbits )) == IntQubit (0 , nqubits = nbits )
39+ assert qapply (v * IntQubit (1 , nbits )) == IntQubit (1 , nqubits = nbits )
4040 assert qapply (v * IntQubit (2 , nbits )) == - IntQubit (2 , nbits )
4141 assert qapply (v * IntQubit (3 , nbits )) == IntQubit (3 , nbits )
4242
43- # Due to a bug of IntQubit, this first assertion is buggy
44- # assert represent(OracleGate(1, lambda qubits: qubits == IntQubit(0)), nqubits=1) == \
45- # Matrix([[-1/sqrt(2), 0], [0, 1/sqrt(2)]])
43+ assert represent (OracleGate (1 , lambda qubits : qubits == IntQubit (0 )), nqubits = 1 ) == \
44+ Matrix ([[- 1 , 0 ], [0 , 1 ]])
4645 assert represent (v , nqubits = 2 ) == Matrix ([[1 , 0 , 0 , 0 ], [0 , 1 , 0 , 0 ], [0 , 0 , - 1 , 0 ], [0 , 0 , 0 , 1 ]])
4746
47+
4848def test_WGate ():
4949 nqubits = 2
5050 basis_states = superposition_basis (nqubits )
5151 assert qapply (WGate (nqubits )* basis_states ) == basis_states
5252
53- expected = ((2 / sqrt (pow (2 , nqubits )))* basis_states ) - IntQubit (1 , nqubits )
54- assert qapply (WGate (nqubits )* IntQubit (1 , nqubits )) == expected
53+ expected = ((2 / sqrt (pow (2 , nqubits )))* basis_states ) - IntQubit (1 , nqubits = nqubits )
54+ assert qapply (WGate (nqubits )* IntQubit (1 , nqubits = nqubits )) == expected
5555
5656
5757def test_grover_iteration_1 ():
5858 numqubits = 2
5959 basis_states = superposition_basis (numqubits )
6060 v = OracleGate (numqubits , return_one_on_one )
61- expected = IntQubit (1 , numqubits )
61+ expected = IntQubit (1 , nqubits = numqubits )
6262 assert qapply (grover_iteration (basis_states , v )) == expected
6363
6464
@@ -83,7 +83,7 @@ def test_grover_iteration_2():
8383
8484def test_grover ():
8585 nqubits = 2
86- assert apply_grover (return_one_on_one , nqubits ) == IntQubit (1 , nqubits )
86+ assert apply_grover (return_one_on_one , nqubits ) == IntQubit (1 , nqubits = nqubits )
8787
8888 nqubits = 4
8989 basis_states = superposition_basis (nqubits )
0 commit comments