Commit 2d9480c
Release Manager
sagemathgh-40948: speed up construction of kernel polynomial for Vélu isogeny using product tree
Computing a product of a collection of linear polynomials is best done
using a balanced product tree.
Example:
```sage
sage: E = EllipticCurve(GF(16411), [1,0])
sage: P = E.lift_x(25)
sage: phi = E.isogeny(P)
sage: assert phi._EllipticCurveIsogeny__algorithm == 'velu'
sage: %time _ = phi.kernel_polynomial()
```
Current `develop`:
```
CPU times: user 25.6 ms, sys: 0 ns, total: 25.6 ms
Wall time: 25.7 ms
```
This branch:
```
CPU times: user 13.7 ms, sys: 0 ns, total: 13.7 ms
Wall time: 13.8 ms
```
URL: sagemath#40948
Reported by: Lorenz Panny
Reviewer(s): Giacomo Pope, Lorenz Panny, user202729
1 file changed
+3
-4
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2244 | 2244 | | |
2245 | 2245 | | |
2246 | 2246 | | |
2247 | | - | |
2248 | | - | |
2249 | | - | |
| 2247 | + | |
| 2248 | + | |
2250 | 2249 | | |
2251 | | - | |
| 2250 | + | |
2252 | 2251 | | |
2253 | 2252 | | |
2254 | 2253 | | |
| |||
0 commit comments