1

advertisement
1
>>> So our next talk by Dr. Damien Robert from Bordeaux is on generalizing Velu's
formulas and some applications.
>> Damien Robert: Okay. Thank you. So on this talk, I will be talking about some
computations, but they won't be on ellipticals. And as you can see, the date is
wrong, but it's correct on my local time, which is in Paris.
And I know that the last talk of the day will be hitting soon, so have included some
lot of pictures, some even in color to keep you awake. First I'll try some theory.
So the outline is I first will call what an isogeny is, what we [indiscernible] in
genus one. Then we talk about the theory of the theta functions on [indiscernible]
to computer isogenies and Abelian varieties. I will then discuss the
[indiscernible] isogenies implementation we talk about in the one session, and then
finish by some examples and applications.
So we'll begin with Abelian variety. You all know what it is. It is a complete
connected group variety over a base field K. And polarized for Abelian varieties
has higher dimensional equivalent of elliptic curves. In fact, the correct
[indiscernible] is polarized Abelian varieties, because we really want to work
[indiscernible] and C is a curve of genus G. Jacobian is an Abelian variety of
dimension G. And most specifically if C is a hyperelliptic curve, then we have some
[indiscernible] coordinates on the Jacobians, which are given by Mumford,
coordinates.
So if we take a [indiscernible] D, let's say, which is a sum of at most G point,
we represent the results by the coordinates U and V, where U [indiscernible] X
coordinates and V [indiscernible] Y coordinates. So really coordinates
[indiscernible] on this coordinates what we use for elliptic curves.
And then isogenies is a finite surjective morphism between two Abelian varieties.
Here will be only for [indiscernible] isogenies. So in this case, we have an
equivalence between isogenies and finite subgroups. In isogenies, we can continue
on the kernel and when we have a subgroup, can concentrate on [indiscernible], which
is still an Abelian variety.
So isogenies is useful. You can think of them as [indiscernible] of [indiscernible]
by L is an isogeny. And also, the kernel of the dual isogenies is Cartier dual of
the kernel of F. So that's a way that [indiscernible] to use pairings. For
2
instance, when we [indiscernible] to L over [indiscernible] pairing. And since I'm
working with polar Abelian varieties I want to isogenies that are compatible with
polarizations so I want to the kernel of the isogeny to be isotropic.
[indiscernible] to what pairing but we want some sort of isotropic condition.
So isogenies are [indiscernible] in cryptography. So [indiscernible] to transfer
the DLP from one Abelian variety to another elliptic curves. We add some application
given by [indiscernible].
They are also used for point counting algorithm. L-adic [indiscernible] use
isogenies so we use them to verify that a curve is secure. We can also use them
for the [indiscernible] for the class, for the [indiscernible]. So when we want
to construct a secure curve, we can use isogenies to do that. We can use isogenies
to compute modular polynomials, which [indiscernible] to compute isogenies of higher
degrees, and we can also [indiscernible] so we have [indiscernible] by choosing
isogenies to [indiscernible], which is also one of the steps used for CRT method
for class field polynomials.
So in this talk, I will be speaking about explicit isogeny computation. So that
can mean a few things. For instance, if I'm giving isotropic subgroup K, I want
to compute the corresponding isogeny from A to A over K. So in genus one that's
what Velu's formula is to do. What I can ask is given the Abelian variety, compute
all the isogenous Abelian varieties. So if I know to do the first thing, I can simply
look at all subgroups and apply Velu's formula to all subgroups. But in genus one,
there are [indiscernible] to do that which are based on modular polynomials. And
one last thing can ask to do is [indiscernible] isogeny [indiscernible] and B, find
isogenies between them. So that we'll also know to do that in genous one and that's
one of the basic steps of the SEA algorithm. Here we're focusing on the first
questions, given the subgroup [indiscernible] isogenies not for elliptic curves but
for Abelian variety.
So first I will [indiscernible] Velu's formula. So we start with [indiscernible]
and [indiscernible] G. Then the isogenies elliptical E over G is given by
[indiscernible] big Y square is equal to G of X where the big X on big Y are given
by this formula, and as we see, this formula [indiscernible] by the amount of G.
[indiscernible] so the element of key of the invariant -- the element of the function
filled of E over G and what's nice about [indiscernible] coordinates is that
[indiscernible] this criterion, evaluation criterion, and it's easy to verify that
big X and big Y verifies this evaluation criterion for this [indiscernible]
coordinates and the [indiscernible] Abelian variety.
3
So that's how [indiscernible] formula works. And the big problem is when we try
to [indiscernible] is that [indiscernible] genus is that we don't have just
[indiscernible] genus G greater than two for Mumford coordinates.
For instance, let's say you start with an Abelian variety a [indiscernible] of genus
four [indiscernible], and you take an isogenous [indiscernible] isogenous Abelian
variety is a Jacobian [indiscernible] Jacobian at all so you can't use Mumford
coordinate then. And even genus two will depend that Mumford coordinates are linked
to the curve. Not really to the Jacobian. So you will need some sort of inverse
[indiscernible] to be able to use Mumford coordinates there.
So a bit, a bit about the other thing we use in genus one that is modular polynomials.
So the modular polynomial of the degree N is a way to parameterize N as a genus of
Abelian variety. So what it is, it's a curve so [indiscernible] we can compute the
[indiscernible] that E up to [indiscernible] field. And when we plug the
[indiscernible] in modular polynomials and the [indiscernible] isogenous elliptic
curves to the first one.
Here's a good thing that in genus two, you can have modular polynomials. You just
need to use Igusa invariants [indiscernible]. But the big problem here is that the
height of this polynomial [indiscernible] modular polynomial of the [indiscernible]
genus two takes like 50 megabytes, and it's estimated that the [indiscernible]
polynomial will take one gigabyte.
So in genus two, what we were able to do was to compute two [indiscernible] isogenies
using [indiscernible] formula. More recently [indiscernible] to compute two
isogenies [indiscernible].
So what we did to solve these two problems, so the first problem is that about modular
polynomials using Igusa invariants being too big is that we were looking at
invariants [indiscernible] structures and the Abelian variety. And the second
thing that we do is [indiscernible] do what we did look at formulas like we did with
Velu's one. When you know the coordinates you want to use, you know that you want
to use various test coordinates on the [indiscernible] two elliptic curves, and you
want to find the form of the isogeny. Here we looked for different thing, meaning
that we fixed the [indiscernible] of the isogeny we're going to use and we are looking
for different coordinates on the Abelian varieties [indiscernible] isogeny.
So for this, we need to have cutting edge that depend on Abelian varieties that are
4
linked to Abelian variety rather than the curve if we're on Jacobian and that our
family and for that we turn into the theory of theta functions.
So what you need to know is that it's a [indiscernible] and so theta functions of
level N, they are coordinates under Jacobian and they are [indiscernible] invariants
that are linked to [indiscernible] the composition of [indiscernible]. So having
theta function of N where a bit more information than only the Abelian variety, which
is exactly what we were looking for.
And as I said, the coordinate system is [indiscernible]. And when N is
[indiscernible] coordinates on the [indiscernible]. And the next thing is that so
we have the point and the [indiscernible] from the modular invariant so that's a
really nice feature of the theta coordinates. And one last thing that
[indiscernible] level N are linked to [indiscernible] several different
[indiscernible] coordinate. Just need to [indiscernible] it will be linked to
another family of theta function. So add a lot of theta function so typically what
we are looking for. And for instance, if we're working with the complex fill, then
Abelian variety is simply [indiscernible] and the theta function is simply
[indiscernible] theta functions for [indiscernible].
And the last thing that is really nice about theta function is that we have a lot
of formula with them. The principal being [indiscernible] formula so when you
[indiscernible] formula, you [indiscernible] following additional relations which
I have given here. So as you can see, we have the theta coordinates of Y and X.
You also have the -- since you're working with the Abelian variety, you know the
theta coordinates of zero because [indiscernible] Abelian variety. Then you can,
then you can [indiscernible] the theta coordinates of X plus Y, to the
[indiscernible] which is [indiscernible] zero of X minus Y. As you can see, what
is even nicer in the [indiscernible] formula is if in addition to the theta
coordinates of X and Y, you also know the theta coordinates of X minus Y, then you
can [indiscernible] the coordinates of X plus Y, but not up to a [indiscernible]
factor but [indiscernible] coordinates that [indiscernible] the C to the G, you can
[indiscernible] correct value of X plus Y and C to the G and not [indiscernible].
So you can that [indiscernible] some sort of [indiscernible] information, I will
call that the different [indiscernible] when you have X, Y and X minus Y and they
compute X plus Y exactly as in this edition, and it will be of tremendous help in
the algorithm.
5
>>:
[inaudible] explain that [inaudible].
>> Damien Robert: [indiscernible].
>>:
Like so [inaudible] maybe ten theta characteristics?
>> Damien Robert:
16.
>>: Index ranges over -- or 16, like the indices, they range over K plus T and K
prime plus T and all these other things here. So what is the T is in Z of -- I can't
quite read it, but looks like T ->> Damien Robert:
>>:
So T is the [indiscernible] amount of [indiscernible].
So that would set the index of the theta function.
>> Damien Robert: So the theta functions are of level N so I'm assuming that N is
[indiscernible] assumes that N is [indiscernible]. Then Z2 is Z over 2Z to the G
and [indiscernible]. So you can suppose that N is equal to 4 here. So in genus
2, we'll have 16 theta functions. And the term here is [indiscernible] and here
it's just characters. So just plus or minus one. And here it's a usual metrics
from [indiscernible] relations.
>>:
So the IJK --
>> Damien Robert:
>>:
All amount of zero for Z to the G.
If you apply that matrix A to IJKL.
>> Damien Robert: Actually, that's not quite true because I'm using bit different
formulas than the usual [indiscernible] one which can be for N squared. But it's
almost true to apply this matrix.
>>:
Your X and Y, are they like the --
>> Damien Robert:
>>:
X and Y --
-- or are they the complex variable.
6
>> Damien Robert: Yeah, the point of C to the G. So as you look at them
[indiscernible] or you take [indiscernible] and what is interesting if you should
take -- if you consider XY as point of C to the G, and you [indiscernible] able to
compute X minus Y then you can compute X plus Y and C to the G and that is
[indiscernible], which is what I will be using next.
Okay. So why did I put an N here with the 4 which is what everyone use when speaking
about theta function everyone use the functions of level 4 is because if I have theta
function of level N, let's say that N is equal to 4 and L is equal to 3 here. So
if I have theta functions of level 12, I have all the informations about the
[indiscernible]. So [indiscernible] I have all the information about the
[indiscernible], I can consider a subgroup of the [indiscernible], consider isogeny
[indiscernible] subgroup and since [indiscernible] I had all the informations about
the [indiscernible] and forgetting some information about the [indiscernible], but
I still have all the information about the [indiscernible].
So there should be a way to link theta functions of level N and B where B is the
isogenies have Abelian variety and [indiscernible] level L times N on 8 and that's
exactly what the so-called isogeny theorem give us, and it's really simple. The
theta function of level N on B, the isogenous Abelian variety only projections of
the coordinates on E, on A.
So [indiscernible] here so here [indiscernible] equal to one and theta function of
level 12 so points is given by 12 coordinates and isogenies given by [indiscernible]
the points of [indiscernible] here. So 3, 6 and 9 are [indiscernible] and it's
giving me an isogeny, which is very nice looking.
So, of course, here I move all the difficulty of [indiscernible] isogenies to
[indiscernible] express coordinates of level L times N. So we do that. We can use
a modular space, which is the modular space of theta null points of level N. And
as I tell you before, the theta null point is a modular invariant so it's a
[indiscernible] Abelian variety and the data -- and the data coordinates of level
N.
So we only need to find theta null point of level -- so [indiscernible] will be
looking at the theta null point of level 12. And if you specify -- if you look at
the [indiscernible] relations here and you put Y is equal to X is equal to zero,
then your [indiscernible] satisfied by the theta null points and the [indiscernible]
is that [indiscernible] to determine the modular space of theta null points if you
add some additional relation of symmetry here. So that's very --
7
>>:
[inaudible].
>> Damien Robert:
>>:
Sorry.
Where you see the N in the formula, where is the level coming in?
>> Damien Robert: In [indiscernible] here. It's the same as the one before and
here. So we have a question for the modular space of the theta null point of level
N. The only thing is we have [indiscernible] theta null points but the
[indiscernible] theta null points does not correspond to Abelian variety. But the
set of the theta null points from the [indiscernible] at least when [indiscernible].
It's [indiscernible] but it's proof for [indiscernible] by Mumford.
So what we can do is we select a theta null points of level 12 here. By
[indiscernible] solutions, it will correspond to an Abelian variety with theta
coordinates of level 12 so we have [indiscernible] 12 torsion. We select the
subgroup of [indiscernible] inside here. We can consider the isogeny and so where
[indiscernible] where theta function of level 4 here and the corresponding theta
null point is simply the coordinate here.
So that's all -- sorry. That's all very nice, but that [indiscernible] about this
[indiscernible] first by taking isogeny, we went from a theta null point of level
12 to theta null point of level 4, and if we want to repeat the process, you are
blocked because you will need theta null point of level 4 the [indiscernible] allows
to take isogenies by going down in the level, which you can do anymore if you're
in level 4.
The second program is that we don't want to take isogeny between random curves. What
you want to do is start with an [indiscernible] variety and compute an isogeny
starting from this [indiscernible] Abelian variety. So if I start, let's say, with
a Jacobian of elliptic curve, I can use the [indiscernible] formula to compute the
theta null point, but the theta null point of level 4. If I have the theta null
point of level 4, I can do much about that.
So what I would like to do is I will wait to go up in level that is for starting
from the theta null point of level 4 [indiscernible] the theta null point of level
12. But the only way that I know about changing with theta functions is the isogeny
[indiscernible]. So it seems we are stuck.
8
But what we can do is invest a process here. So that what we can do is start with
a theta null point of level 4 here, look for theta null points of level 12 here that
project to our theta null point here. So when we have a modular solution here, it
will correspond to an Abelian variety. By definition, it will correspond to an
isogeny [indiscernible] that goes from A to B
And since we are starting with B this time, I want an isogeny that start from B,
but I only need to consider the [indiscernible] isogeny here. So now I go
[indiscernible] Abelian variety given by the theta null point of level 4, find the
modular solutions, and compute the [indiscernible] isogeny. What we can prove, it
was a [indiscernible] was that isogeny here come from a modular solution. In fact,
there are several modular solution that will correspond to the same isogeny. As
I told you here we have some [indiscernible] theta null point so we have some
solutions that not correspond to any isogeny, but we can detect easily that case.
So I just need to explain we are computing the [indiscernible] isogeny. So as you
recall, we want to compute P dual of Y. So we just take [indiscernible] X equal
to Y and multiply it by L. So [indiscernible] examples. So it's maybe more clear
with a picture here. So here we are working with C and G is equal to one. So -- so
I assume I have a solution. So here N is equal to 2 is L is equal to 3. So I start
with the coordinate theta null point so my points on B will be given by true
coordinates. I assume that I have found the solutions. So here is the solution
with [indiscernible] level 6. So here is the solutions. And what's nice about the
solution is that it [indiscernible] the point of [indiscernible] that give me the
kernel of the isogenies.
So I want to compute to find a [indiscernible] of Y and for that, what I can do is
so I have Y. I have one of the point of my kernel. I can add it. So here, since
I don't know Y minus one, I can't use the different [indiscernible]. So I can only
compute a projective point, because that mean I have three tries to do. I can either
[indiscernible] to be here, here, or here. So here I have made this [indiscernible].
But then when I compute Y to two times one, since I know Y and I made [indiscernible]
one I can use a different [indiscernible] formula. And then when I can compute my
addition, it will be a line here. And then I can begin again compute Y plus three
times one. And since I'm using the [indiscernible], my coordinates are
[indiscernible] and I find [indiscernible] and I know that's Y [indiscernible] will
have given me [indiscernible].
But know that I have found X.
I can easily compute three times X and find the image
9
of Y by my [indiscernible] isogenies. So that means that I can compute that by using
some additions and different [indiscernible]. What's better is that I can even work
[indiscernible] the corresponding solutions only by knowing the point in the kernel,
because if I have one, so I can compute different [indiscernible] and compute two
times one and two times one to have a well defined modular solutions.
Here the only difference is that when I compute P dual of Y, it doesn't depend on
the choices make because I will multiply it by three. But here, for computing the
modular point here, I will need to make some choice. So all in all what I have is
the [indiscernible] to when I add the kernel, I can compute a corresponding modular
solutions by doing some additions and different [indiscernible] additions and doing
some choice so the choice meaning I have to take some [indiscernible].
And once I have the modular solution, I can compute the [indiscernible] isogeny by
only doing [indiscernible]. Here I don't need to make choice or take
[indiscernible].
So maybe it will be more clear on an example. So I start with the elliptic curve.
The [indiscernible] theta null point level 4 is here. I start with the kernel here
which is shows a point of three [indiscernible]. And if I apply [indiscernible],
I can find one [indiscernible]. Here is one of the choice I can make for modular
solutions. So it's level 12 modular solutions that correspond to [indiscernible].
As you can see, one of the big problem is even if the [indiscernible], the modular
solution is not, it's because of the [indiscernible] that I had to take.
Now I take this point so this point is a point of [indiscernible] that is not in
the kernel, and I want to compute the image base isogeny. So what I do is so one
is basis of, so it's a kernel, it's a [indiscernible] of the basis of kernel. I
first compute Y to 1. So first I can choose a different set [indiscernible] so it's
up to a [indiscernible] factor along the 1. But then when I compute Y plus 2 or
one or Y plus 3 or 1, I can use the [indiscernible] I can keep track of the basis.
So what I can do is I also compute two Ys [indiscernible] 1, three Ys [indiscernible]
1. And you can see here where -- so I still keep track of the [indiscernible]. And
what's nice thing that I know it work right, because Y plus three times R 1 is equal
to Y. So that give me any questions about number one to the cube. And if I plug
the solution here, here, you see that I don't even need to lambda one. I only need
to know lambda one to the cube which I know and I compute exactly [indiscernible]
one so it's a [indiscernible] exactly the image by isogeny.
10
So that's how it works. So if you [indiscernible] what we can do is starting with
Abelian variety of level N, we know we took [indiscernible] and find an Abelian
variety of level LN by taking an LN isogenies. But what we know is we also know
to go down by taking isogenies that the isogeny [indiscernible] so that's easy. And
so if we do that, so if we got an immediately, we find back B by definition of the
[indiscernible] isogeny. But what you can do is you can [indiscernible] the
[indiscernible] of the L torsion and I take the [indiscernible] and here we find
a new Abelian variety C.
So what we know to do is taking isogenies and C and B out of the same level, N, which
is nice because I can compose my isogeny. So only drawback here is here it's an
LL isogeny. That's an LL isogeny. So the isogeny in B and C is a [indiscernible]
isogeny.
So that's nice. I know to compute [indiscernible] isogeny, but that's not quite
LL isogeny, which is what I would like to do. And just as an aside here, we know
that we're to make some choice about modular solutions, because we are to make some
choice about the decomposition of the L torsion, but each choice will correspond
to a different [indiscernible] so that explain why you make some choice.
So now what I would like to do is be able to compute [indiscernible] isogenies to
[indiscernible] isogenies. So here I am in level LNLN. So what I would like to
do is be able to go from level LNLN so from level 12 to level 4 without taking
isogenies. Another way to be here in level 4 and go to level 12 without taking
isogenies. Instead I [indiscernible] to find [indiscernible].
But as I said before, the only way that I know to change level is by applying the
isogeny [indiscernible]. So what we can try to do is apply [indiscernible] to an
isogeny that goes from A, and I will have an A. So [indiscernible] multiplication
by L.
So it almost works if you place the isogeny [indiscernible] L, it will
[indiscernible] theta null point of level N to theta null point of level N times
L squared. Which is not what we want, because we want a theta null point of level
LLN times L here, but so to make things work, what we will do is [indiscernible]
the by LN2. So that's what did [indiscernible].
So what we consider is -- so what we consider is a matrix F. So we don't consider
is isogenies that don't go from A to A, but go from A to the [indiscernible] and
A to the [indiscernible] which is given [indiscernible] by [indiscernible] by matrix
11
F. That's the [indiscernible] F times F is equal to L. So we are [indiscernible]
isogeny [indiscernible]. The drawback is that the isogeny from -- so if F is
[indiscernible] the isogeny will not be from A to L, but A times L to A to the L.
And if I apply the isogeny the [indiscernible] what we is some relations between
products of theta functions here and product of theta function here, but that's nice
because that's what we want. Here with product of theta function of level N, and
here were some of product of theta function of level N times L. And if you think
about it, F is equal to one minus one minus one. That's exactly what you get for
the [indiscernible] formula. As you know the [indiscernible] relations follow from
the duplications formula.
So the [indiscernible] of the [indiscernible] relations that we have here. And so
here we just need to apply each. So for L equal 2, we can use this matrix. More
generally, L is equal to S squared plus B square, we can use A minus B, BA. So from
the complex and when L is a sum of -- [indiscernible] between products of two theta
functions here. And when L is the sum of [indiscernible], we can use matrix from
the [indiscernible] relation between products of four theta functions here.
So by using this formula, we showed [indiscernible] that we have a way to go down
in level. That is, from a theta null point of level 12, we know to go to theta null
point of level 4 without taking isogenies, which is what we wanted to do.
[indiscernible] or to go from theta null point of level 4 to theta null point of
level L if we know the L torsion. So combining this relations that I will be
calling -- by combining this relation with the preceding [indiscernible] here, we
have a way to compute L isogenies this time. And what's better is that we also have
a way to compute the corresponding modular solutions. Here we don't need to make
choice anymore. We don't need anymore L root to take.
So what we need to know, if we know the kernel, we're to do some different
[indiscernible] additions and apply the [indiscernible] formula. Which is either
L to the G, if L is a sum of two square, or L to the 2G if L is the sum of four square.
So that's work fast, and so the blocking path in fact would be to find K if we want.
If we are not given K, we need to find K, and the [indiscernible] the L torsion on
B and [indiscernible] is takes L to the 6. Whereas taking the isogeny will take
L square or L to the 4.
So what we are doing is that so we that we want to have the C algorithm here. I'm
supposing that we have the theta functions and from the theta functions, I'll be
finding the kernel and compute the isogenies. So what we do is for -- what we do
12
is we work in level 2. We see the function of level 2, because we are have less
of them so it's faster we're working. So that means we're on the [indiscernible]
Abelian variety. So we have to pay bit of care. But we can show that it works and
we [indiscernible] coordinates to look for the kernel. And when you have a kernel,
we transform to it theta coordinates.
So this has been implemented so we talk about it on the [indiscernible] sessions.
It's called avisogenies. It's a Magma code written by Bisson, Cosset and me. It's
released in LGPL and it implement isogeny computations for Abelian varieties and
theta functions and some application of isogenies. And the current release that
we have, it's a [indiscernible] implementation of isogenies in genus 2.
So some [indiscernible] implementation. So what we -- so the [indiscernible] does.
So you start with an hyperelliptic curve of genus 2. You start with an odd prime,
because if L is equal to 2, we can use a [indiscernible] isogeny. So we don't need
to [indiscernible] to 2. We suppose that L is prime to the [indiscernible] of K
and we suppose that [indiscernible] is not 2, because we are using theta function
of level 4. So the [indiscernible] 2 is not too nice.
And we compute -- we know the [indiscernible] is all rational LL isogenies. So for
that, we first compute the extensions of degree N when the [indiscernible]. Then
we compute symplectic basis of the torsion of the degree N point of the torsion.
Symplectic in quotes here because we may not have a full symplectic basis if
[indiscernible] contains the L torsion. Then we find all rational isotropic kernel
inside there. And then for each kernel, we convert the basis from Mumford to theta
coordinates so we convert first from Rosenhane from them we use Thomae to find theta
coordinates.
Then we use -- we apply the algorithm so we compute other point in K in theta
coordinates using differential additions and we apply the change level formula. So
here we have data coordinates in level L times N so we just need to apply the change
level formula to find back the theta points in level L, N.
Then we can compute the Igusa invariant of the [indiscernible] so find back the
corresponding -- so here since we have [indiscernible] coordinates, we are working
the Abelian variety, but we can work around the curve with the Igusa invariants.
And we will only need to distinguish between the curve and the twist, but that's
easy, we just need to test some points on [indiscernible].
So how do we compute the [indiscernible].
So suppose I have the Abelian variety
13
and I know the theta function. So I know where the point of L portion [indiscernible]
because we know that -- the [indiscernible] so when module L, we have the
[indiscernible] L on the L torsions. So the [indiscernible] devise X in the swing
here.
But we don't really need to work with the points of L torsion are defined, because
we are looking at points where you can living in the subgroup of [indiscernible]
that is rational. So what we really need to do is to check [indiscernible] X here
where P is polynomial [indiscernible], which is of degree two. Because we are
working with -- we only need to check to find where points of rational kernel lives.
And what's more is that we're also looking for K isotropic. So we know that whatever
the composition of the L torsions so not each [indiscernible] polynomial here will
correspond to just such a decomposition. In fact, what we will be looking is
polynomial
P [indiscernible]relation here . That's because as we know is that the
[indiscernible] is element, a twisted [indiscernible] element of [indiscernible]
as well as the finding of [indiscernible]. So we only need to look at polynomial
here that satisfies this [indiscernible] and computes there of X here. So that
[indiscernible] with extension of [indiscernible] degrees and where the L torsion
is different. So at most we're working at extension of degree S square minus 1,
and if we're looking at [indiscernible] will divide element of as 1, which is nice.
So compute the L torsion in the [indiscernible] so what we know since we know the
zeta function, we know to compute random point in the [indiscernible] of this group,
because we just need to take a random point and multiply it by the co-factor. And
from a point here, we know that a certain [indiscernible] of P will be a point of
L torsion. [indiscernible] is that the point of L torsion we obtain are not uniform
anymore, but we can apply the [indiscernible] of points to still have some uniform
points here.
So it's maybe [indiscernible] an example. So suppose that my L torsions, that is
the final extension degree and is [indiscernible] by P1 and P2. P1 is for the L2
and P2 is for the L. I suppose that my first [indiscernible] point is P1 so I work
around my first L torsion point L times P1. And the second random point will be
[indiscernible]. So if L4 is different from zero we are [indiscernible] times P1,
which is [indiscernible].
So here we sue see the [indiscernible] that we need to [indiscernible] to zero to
find those point of L torsion. But what we can do is since we have kept track of
14
this point here, we know to [indiscernible] this point. So we know that we can
correct [indiscernible] 2 by [indiscernible]. And by doing this corrections, we
find bit of P2 and if we beta is different from zero, we can work around the overall
L torsions. So it's a lot faster this way.
So here, so here what we need to do is find a way to express a point of L torsion
in term of [indiscernible] that we already have. So we can do it by computing all
the point of L torsion [indiscernible], but just take L to the 4. So what we can
do instead is just pairings to express a point in time of the basis and we're also
seeing pairings to check if the kernel is isotropics. So [indiscernible] Y pairing
in genus 2 is really slow when we're dealing with [indiscernible]. So what we are
doing is we are using the pairings since we're combatting points in theta coordinates
anyway later, we can use the pairing [indiscernible] theta coordinates and we present
it with [indiscernible] in [indiscernible] this summer and it's really faster than
Magma implementation. Even the fact that the theta coordinates in [indiscernible]
extensions so you think you would be slower, but it's still faster, because, yeah,
that's only because Magma implementation is bad on the [indiscernible].
Okay. So enough about the theory. It's time to give some timings. So this was
an example sent to me by Cole, some like in May or June to compute [indiscernible]
isogenies [indiscernible]. So first we compute all seven rationales into
subgroups. We compute that the kernel, the points of the isotropic kernel will
[indiscernible] degree 4. And we find only two [indiscernible]. So there is only
one subgroup that is isotropic. So only one corresponding seven isogenies.
So here are some [indiscernible] computations that depend on L. Here we compute
the L torsions with different [indiscernible] and here we apply the change of L
formula. And as can see, it's quite fast. It's only [indiscernible]. So when
[indiscernible] example, it will take two minutes and a half. So we improve the
[indiscernible] for implementation quite a bit.
So here we are lucky because the [indiscernible] degree was not [indiscernible].
As an example, here we compute [indiscernible] isogeny. Here the extension we need
to work with is 24, which is five to the square minus one. So it's a maximal
extension, the worst extension we could have. And we find all the points of L torsion
[indiscernible]. So it takes a bit longer here because you're working on the
[indiscernible]. It takes a bit longer to list also graphs because we have the full
L torsions and we find six isotropic rational subgroups. And here, computing the
six [indiscernible] isogenies is a lot faster than finding the subgroup. That's
the way it is. So it takes a bit more time.
15
So we can compute isogenies. We can also compute isogeny graphs [indiscernible]
when I want to compute the full [indiscernible] isogenic graph. We find 135 new
curves and [indiscernible] isogenies, and it's quite fast. It only takes 14 second.
So that's [indiscernible], and another computations were done in the [indiscernible]
of one.
Okay. So we know to compute [indiscernible] isogenies [indiscernible] isogeny,
[indiscernible] isogenies so how far can we get? So we try to improve L. Here is
an example where L is equal to 53. And it's still correct. You can see the full-time
is [indiscernible] to compute [indiscernible] isogenies. And as you can see most
of the time is spent in computing the L torsion. So can we do better?
Let's try L is equal to 19. We're going to say 19 is smaller than 53. But 53
[indiscernible] so [indiscernible] takes L2, but 19 is [indiscernible] L4. And as
you can see here, computing L torsion is very fast. Changing the level takes longer.
So we're here two 19 isogenies and it takes longer than computing 53 and 53 isogenies.
So we can [indiscernible] isogeny computation which L is equal to 1321. So for my
PLD [indiscernible] I did L is equal to 1,069, I think. So each time I give a new
talk I [indiscernible] new isogeny computations. We did not [indiscernible] yet.
So L is [indiscernible] to 1, of course. And as you can see, [indiscernible] same
time to compute the L torsions and to change level. And, of course, I've cheated.
I've chosen a Jacobian whose kernel is square so that I know that we find the kernel
in the extension degree 1. Which here is parameter to stay that only want to find
kernel in extension degree 1. We have two to the ten. It's because I'm looking
at torsion L theta null points so I [indiscernible] so that means that the
[indiscernible] rational explain why I'm looking at Jacobian where we have the
[indiscernible] torsion here.
So the computation here was not done -- here was done with [indiscernible] 32
gigabytes of because it choose 12 gigabyte of one. The cloud is not optimal for
[indiscernible]. That's why it use so much memory.
Okay. So to finish the promised pictures. So we can look at the equivalent of
isogeny graphs in genus 2. So here it's a case where L is totally split for now
I'm only looking at L [indiscernible] so I'm only staying with locally maximal order.
So here we for each curve, we are four different isogenies. So we know that isogenies
are given by [indiscernible] I times the conjugate is I is equal to L.
16
So here we can take Q1 times Q2, then Q1 [indiscernible] times [indiscernible]
correspond to the [indiscernible] isogeny and you can also take Q1 times Q2
[indiscernible] where [indiscernible] isogeny. And as you can see, we have a nice
[indiscernible]. So we're always get something of this shape, but it can vary a
bit. So for instance, it's not quite a [indiscernible] because where we're spiral
here, [indiscernible] here so we have different cases.
So from -- so when L is of this form, it's a circle, which is nice. It's also the
case for L of this form it's nice because when L is of this form, we have three
isogenies. We have Q2, Q2 [indiscernible], and Q2 [indiscernible] which is its own
isogeny. So Q [indiscernible] will correspond to the strip here, because it's its
own isogeny and as you can see, we have a [indiscernible]. In fact, we can have
as many twists as is possible we are [indiscernible] than just one so
[indiscernible]. And we are some [indiscernible] while only one curve here.
Okay. But all this is not really interesting, because we can -- you don't need to
have isogenies to compute this [indiscernible]. You only need to know the
[indiscernible]. So can fit -- I could have fit [indiscernible] so here are some
graph including maximal curves. So here is the decomposition, we know that the max
mull curve will be second. As you can see, we're working. So that's nice. The
graph in genus 2 looks like the genus 1. We can have some [indiscernible]. We can
have -- sorry, it's not symmetric.
We don't have any isogenies here. Because -- as you can see, with these
[indiscernible] but with [indiscernible] there are some isogeny. Some
[indiscernible] that we don't see in the isogeny graph.
But there's still a quite nice example. [indiscernible] since we consider LL
isogenies is that the [indiscernible] isogenies [indiscernible] even when the
[indiscernible] is not maximal. So usually when we compute to LL isogeny graph,
it's usually like that. It's more closer variety so I can see where the maximal
[indiscernible] there. Here where they are from the [indiscernible] and we have
some isogenies between them then they are [indiscernible] isogeny between them and
other [indiscernible]. And as you can see, we mix the [indiscernible] 9 on 81. And
here, we have the circle but you have some more isogenies.
The reason for that is that LL isogenies are composite of two L1 isogenies. So what
I find here is that we L1 isogeny going to index 3 and then another L1 isogeny going
to index one. That's why we're more isogenies than only [indiscernible]. So that's
why we have [indiscernible] isogeny because we have isogenies that go from L1
17
isogenies, they go to three to one and on back.
isogenies.
So that give [indiscernible] LL
So what happened in this case, where the maximal curve from [indiscernible]. So
we can have -- so we have some [indiscernible] where this happen, but we can even
have [indiscernible] isogeny where we have an [indiscernible]. Which give this
picture here. Maybe it's more clear with this one, where we see the two
[indiscernible] here. So to conclude, one [indiscernible] can anyone guess where
has the maximal Jacobians here in this graph? Anyone? No?
>> The middle?
>> Damien Robert: Yeah, but so the middle is maximal, but as you can see with this,
the [indiscernible] L is that we're expecting this case. On this case. And so
another maximal one, which is here. But you can't find it only by looking at the
isogeny graph. So yeah. As you can see, the [indiscernible] isogeny graph, that's
in genus two compared to genus one case. And so to conclude, I will talk briefly
about some applications. As [indiscernible] isogeny graph in genus 1, it's
currently be implemented in genus 2 by [indiscernible] Bisson.
So the idea is that if you can find an L where different number of max mall curve
according to [indiscernible] we have, we can compute the LL isogeny graph and check
the [indiscernible] find and determine the other [indiscernible]. So that's
[indiscernible] but by being [indiscernible], we can do a sub exponential algorithm.
So some works that I did involved computing class polynomials in genus 2 using the
CRT. What we do is take some small point P and we want to find all max mall jack
buns in this modular P. The [indiscernible] is when you have finite set of maximal
Jacobians and we work with [indiscernible] curves. But [indiscernible] were
expected to be [indiscernible]. So what we can do if we kind curve in isogeny class,
try to use isogenies to find the maximal curve.
So the big problem here is as you can see in the examples, we can't always
[indiscernible] add the curve the [indiscernible] index 9, you can't go up to the
maximal by taking [indiscernible] isogenies. So [indiscernible]. So what we're
really missing here is a way to compute L1 isogenies from [indiscernible].
And another thing that will be nice is to have an equivalent of [indiscernible]
polynomials where they find genus 1.
So by having them, with theta coordinates so that's [indiscernible] in size so
18
[indiscernible] compute modular [indiscernible] theta null point using
[indiscernible]. And I put [indiscernible] and we then go with L is equal to
[indiscernible] by using [indiscernible] isogeny computation. So that's some
[indiscernible] here that will be nice. So that's all of my talk.
>>:
Questions?
>>: In the steps of your algorithm, when you had the slide that listed eight steps,
like in the middle, like step five or six or so are you saying that you're using
that's isogeny relations mod P basically, just see that -- yeah, [indiscernible]
formula.
>> Damien Robert:
Which steps?
>>: To pass from one set of theta coordinates to another set of theta coordinates,
you're using I assume the isogeny relation there, or -- I'm wondering if those
[indiscernible] like Kemp and all that stuff, which is true in the complex analytic
setting and here if you're able to use them directly mod P is that what you're doing?
>> Damien Robert: Yeah, that's what I'm doing, but so [indiscernible] here I'm using
the formula. Which will [indiscernible] setting and [indiscernible] by Kemp using
the [indiscernible] theta functions [indiscernible] so this work for
[indiscernible] setting. We don't need to consider [indiscernible] so it does not
only work on ordinary Abelian varieties. It works on all Abelian varieties, which
is nice.
>>:
Any question?
Thank you.
Download