Here algorithms are proposed in a paper: "Efficient theta-based algorithms for computing
We can measure time to implement two algorithms
Here,
By implementing algorithms
First, we load main.m
in Magma as follows:
load "main.m";
Write as follows:
Time_for_isogeny_1({degree l},{the number of samples s},{method "CodSq" or "CodOne"});
For example, if
> Time_for_isogeny_1(5,100,"CodSq");
log_2(p)= 256
ell= 5
Samples: 100
method: CodSq
Average time(sec): 0.003
Write as follows:
Time_for_isogeny_2({degree l},{the number of samples s},{method "CodSq" or "CodOne"});
For example, if
> Time_for_isogeny_2(5,100,"CodOne");
log_2(p)= 256
ell= 5
Samples: 100
Codomain: CodOne
3 points, Average time(sec): 0.017
6 points, Average time(sec): 0.033
9 points, Average time(sec): 0.047
12 points, Average time(sec): 0.062
Comparison with NN_isogenies
Here, we compre with the algorithm of the paper Isogenies on Kummer Surfaces.
We can implement for the same
Under NN_isogenies in Magma, load additional_file.m
in this folder:
load "additional_file.m";
You choose the degree
Time_SFalg_1({degree ell},{the number of samples s},{method 2(GE) or 3(sqrt)});
For example, if
> Time_SFalg_1(7 ,100,2);
log_2(p)= 256
ell= 7
Samples: 100
method: 2
Average time(sec): 0.030
For Table 2, write as follows:
Time_SFalg_2({degree ell},{the number of samples s},{method 2(GE) or 3(sqrt)});
For example, if
> Time_SFalg_2(7,100,2);
log_2(p)= 256
ell= 7
Samples: 100
method: 2
2 points, Average time(sec): 0.032
3 points, Average time(sec): 0.032
4 points, Average time(sec): 0.033
5 points, Average time(sec): 0.033