Ask Your Question
0

why elliptic curve plot() the same in Q and QuadraticField()?

asked 2014-10-28 11:59:14 +0100

this post is marked as community wiki

This post is a wiki. Anyone with karma >750 is welcome to improve it.

sage: E = EllipticCurve([0,0,0,-15,22])
sage: show(E)
sage: K1.<a> = QuadraticField(3)
sage: E1 = EllipticCurve(K1,[0,0,0,-15,22])
sage: show(E1)
sage: E.torsion_subgroup()
Torsion Subgroup isomorphic to Z/6 associated to the Elliptic Curve defined by y^2 = x^3 - 15*x + 22 over Rational Field
sage: E1.torsion_subgroup()
Torsion Subgroup isomorphic to Z/2 + Z/6 associated to the Elliptic Curve defined by y^2 = x^3 + (-15)*x + 22 over Number Field in a with defining polynomial x^2 - 3
sage: table(E1.torsion_subgroup().list(),frame="true").transpose()
+----------------------------+
| (0 : 1 : 0)                |
+----------------------------+
| (-2*a + 5 : -6*a + 12 : 1) |
+----------------------------+
| (3 : 2 : 1)                |
+----------------------------+
| (-2*a - 1 : 0 : 1)         |
+----------------------------+
| (3 : -2 : 1)               |
+----------------------------+
| (-2*a + 5 : 6*a - 12 : 1)  |
+----------------------------+
| (2 : 0 : 1)                |
+----------------------------+
| (2*a + 5 : 6*a + 12 : 1)   |
+----------------------------+
| (-1 : 6 : 1)               |
+----------------------------+
| (2*a - 1 : 0 : 1)          |
+----------------------------+
| (-1 : -6 : 1)              |
+----------------------------+
| (2*a + 5 : -6*a - 12 : 1)  |
+----------------------------+
sage: E.plot()
sage: E1.plot()
edit retag flag offensive close merge delete

2 Answers

Sort by ยป oldest newest most voted
1

answered 2014-10-28 21:40:44 +0100

vdelecroix gravatar image

Hello,

The method plot actually plots the real points of the curve. Hence, it does not depend on the field of definition.

I agree that it is not very well documented.

Vincent

edit flag offensive delete link more

Comments

This does actually depend on the field of definition, see for example: E.change_ring(RealField(10)).plot() E.change_ring(CC).plot()

tmonteil gravatar imagetmonteil ( 2014-10-29 17:05:24 +0100 )edit
1

answered 2014-10-29 17:04:48 +0100

tmonteil gravatar image

updated 2014-10-29 18:20:17 +0100

As you can see (by typing E.plot??) that the first thing that the plot method does is to see if the field of definition of the curve can be put in RR, and then work on RR:

    RR = rings.RealField()
    K = self.base_ring()
    try:
        RR._coerce_(K(1))

This is indeed a bug since it is not documented. It is now reported at trac ticket 17256.

edit flag offensive delete link more

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

1 follower

Stats

Asked: 2014-10-28 11:59:14 +0100

Seen: 337 times

Last updated: Oct 29 '14