19
19
20
20
function unitary (seq:: Sequence , β:: Real = 0 , z0:: Vector{<:Real} = [0 ,0 ,1 ])
21
21
U0= unitary (seq. idle,β,z0)
22
- Un= [unitary (g,β,z0) for g in seq. gates]
22
+ Up= [unitary (g,β,z0) for g in seq. gates]
23
+ Un= [unitary (g,β,- z0)' for g in seq. gates]
24
+
23
25
V= σ_i
24
26
for i in seq. order
25
- U= i== 0 ? U0 : (sign (i)> 0 ? Un [abs (i)] : Un[abs (i)]' )
27
+ U= i== 0 ? U0 : (sign (i)> 0 ? Up [abs (i)] : Un[abs (i)])
26
28
V= U* V
27
29
end
28
30
return V
@@ -41,7 +43,7 @@ function deploy(ψ::Union{Vector{ComplexF64},Matrix{ComplexF64}}, seq::Sequence,
41
43
dt= seq. idle. t/ n
42
44
U0= unitary (Idle (dt),β,z0)
43
45
Up= map (g-> unitary (g,β,z0), seq. gates)
44
- Un= map (g-> unitary (g,β,- z0), seq. gates)
46
+ Un= map (g-> unitary (g,β,- z0)' , seq. gates)
45
47
46
48
t_cycle= cycleslice (seq,n)
47
49
N= length (t_cycle)
@@ -60,7 +62,7 @@ function deploy(ψ::Union{Vector{ComplexF64},Matrix{ComplexF64}}, seq::Sequence,
60
62
ψ_arr[p] = ψ
61
63
end
62
64
else
63
- U= sign (i)> 0 ? Up[abs (i)] : Un[abs (i)]'
65
+ U= sign (i)> 0 ? Up[abs (i)] : Un[abs (i)]
64
66
ψ= evolve (ψ, U)
65
67
p+= 1
66
68
ψ_arr[p] = ψ
0 commit comments