@@ -12,16 +12,39 @@ import Statistics: mean, std
12
12
the_curve= analyticalrabi (t,ensemble,h)
13
13
mc_curve= rabi (t, ensemble, h; M= 400 , N= 500 )
14
14
15
- rabi_error = abs .(mc_curve- the_curve)
16
- avg_err= mean (rabi_error ); std_err= std (rabi_error );
15
+ error = abs .(mc_curve- the_curve)
16
+ avg_err= mean (error ); std_err= std (error );
17
17
18
- scatter (t,mc_curve,labels= " Numerical" , fmt = :png )
18
+ scatter (t,mc_curve,labels= " Numerical" ,
19
+ fmt = :png , title= " Rabi Oscillation" ,
20
+ xlabel= " t" ,
21
+ ylabel= " f(t)" )
19
22
plot! (t, the_curve,labels= " Analytical" ,linestyle= :dash )
20
23
savefig (" ./.figs/rabi_test.png" )
21
24
22
25
println (" mean error: " , avg_err)
23
26
println (" std error: " , std_err)
24
27
@test avg_err< 0.01
25
- @test std_err< 0.1
26
- # fid(ensemble)
28
+ @test std_err< 0.01
29
+
30
+ dt= T2/ 200 ;
31
+ t= 0 : dt: T2
32
+ println (" generating free induction decay curve..." )
33
+ the_curve= analyticalfid (t,ensemble)
34
+ mc_curve= fid (t, ensemble; M= 400 , N= 500 )
35
+
36
+ error= abs .(mc_curve- the_curve)
37
+ avg_err= mean (error); std_err= std (error);
38
+
39
+ scatter (t,mc_curve,labels= " Numerical" ,
40
+ fmt = :png , title= " Free Induction Decay" ,
41
+ xlabel= " t" ,
42
+ ylabel= " f(t)" )
43
+ plot! (t, the_curve,labels= " Analytical" ,linestyle= :dash )
44
+ savefig (" ./.figs/fid_test.png" )
45
+
46
+ println (" mean error: " , avg_err)
47
+ println (" std error: " , std_err)
48
+ @test avg_err< 0.01
49
+ @test std_err< 0.01
27
50
end
0 commit comments