Opened 13 years ago

Closed 4 years ago

# modular abelian quotient -- something goes wrong

Reported by: Owned by: was craigcitro major sage-8.4 modular forms mderickx Kevin Lui Frédéric Chapoton N/A 0bc6f5a 0bc6f5a1c37f5a93e00d1fb4ecd4feaae7b35839 todo

### Description

This isn't right:

```sage: J = J0(43)
sage: G,_ = J[0].intersection(J[1])
sage: J[1]/G
Simple abelian subvariety 43b(1,43) of dimension 2 of J0(43)
```

This is

```sage: J[0]/G

(Abelian variety factor of dimension 1 of J0(43),
Abelian variety morphism:
From: Simple abelian subvariety 43a(1,43) of dimension 1 of J0(43)
To:   Abelian variety factor of dimension 1 of J0(43))
```

For some reason J[1]/G isn't even creating the right output (i.e., pair (abvar, map)).

### comment:1 Changed 12 years ago by mderickx

• Report Upstream set to N/A

G is strictly speaking not a subgroup of J[1] in this example it's a subgroup of J[0]. What happens if you travel down the code is equivalent to this:

```G=J[1].finite_subgroup(G) #This should raise an error since J[0] and J[1] have empty intersection
J[1]._quotient_by_finite_subgroup(G):
```

Now the source code of _quotient_by_finite_subgroup is

```def _quotient_by_finite_subgroup(self, G):
if G.order() == 1:
return self
L = self.lattice() + G.lattice()
A = ModularAbelianVariety(self.groups(), L, G.field_of_definition())
M = L.coordinate_module(self.lattice()).basis_matrix()
phi = self.Hom(A)(M)
return A, phi
```

So i guess it should instead return

```return self, self.Hom(self).identity()
```

There is also a problem with the is_subgroup code: sage: G.is_subgroup(J[1]) True This error is caused by the intersection code: sage: G.intersection(J[1]) Finite subgroup with invariants [2, 2] over QQ of Simple abelian subvariety 43b(1,43) of dimension 2 of J0(43)

Maybe I'm a bit confused but is the intersection of abelian varieties defined in an other way than just the set theoretic one. Because by reading the source code I really get the feeling that it does. The errors certainly seem to come from different assumtions about this in different parts of the code.

### comment:2 Changed 12 years ago by mderickx

My confusion mainly comes from the following:

```sage: J[1].finite_subgroup(G)
Finite subgroup with invariants [] over QQ of Simple abelian subvariety
43b(1,43) of dimension 2 of J0(43)
J[1].intersection(G)
Finite subgroup with invariants [2, 2] over QQ of Simple abelian
subvariety 43b(1,43) of dimension 2 of J0(43)
```

### comment:3 Changed 9 years ago by jdemeyer

• Milestone changed from sage-5.11 to sage-5.12

### comment:4 Changed 8 years ago by vbraun_spam

• Milestone changed from sage-6.1 to sage-6.2

### comment:5 Changed 8 years ago by vbraun_spam

• Milestone changed from sage-6.2 to sage-6.3

### comment:6 Changed 8 years ago by vbraun_spam

• Milestone changed from sage-6.3 to sage-6.4

### comment:7 Changed 7 years ago by jakobkroeker

• Stopgaps set to todo

### comment:8 Changed 4 years ago by klui

• Branch set to u/klui/finite_subgroup

### comment:9 Changed 4 years ago by klui

• Commit set to 0bc6f5a1c37f5a93e00d1fb4ecd4feaae7b35839

The issue was in `finite_subgroup`. We had to include the lattice of the ambient jacobian and not just the ambient abelian subvariety.

This branch returns the identity map as well when quotienting by a trivial group.

New commits:

 ​0bc6f5a `quotient by trivial subgroup now returns identity map, finite_subgroup now works when subgroup has different ambient variety`

### comment:10 Changed 4 years ago by klui

• Status changed from new to needs_review

### comment:11 Changed 4 years ago by chapoton

• Reviewers set to Frédéric Chapoton
• Status changed from needs_review to positive_review

### comment:12 Changed 4 years ago by chapoton

• Milestone changed from sage-6.4 to sage-8.4

### comment:13 Changed 4 years ago by vbraun

• Status changed from positive_review to needs_work

Author name is missing..

### comment:14 Changed 4 years ago by chapoton

• Authors set to Kevin Lui
• Status changed from needs_work to positive_review

### comment:15 Changed 4 years ago by vbraun

• Branch changed from u/klui/finite_subgroup to 0bc6f5a1c37f5a93e00d1fb4ecd4feaae7b35839
• Resolution set to fixed
• Status changed from positive_review to closed
Note: See TracTickets for help on using tickets.