On Wednesday, March 21, 2018 at 1:56:53 PM UTC, John Cremona wrote:
>
>
>
> On 21 March 2018 at 13:18, Dima Pasechnik <[email protected] <javascript:>>
> wrote:
>
>>
>>
>> On Wednesday, March 21, 2018 at 9:23:26 AM UTC, John Cremona wrote:
>>>
>>>
>>>
>>> On 20 March 2018 at 23:57, Dima Pasechnik <[email protected]> wrote:
>>>
>>>>
>>>>
>>>> On Tuesday, March 20, 2018 at 4:06:46 PM UTC, John Cremona wrote:
>>>>>
>>>>> Working with your degree 8 polynomial over Q is almost certainly
>>>>> better. I would also recommend reducing the defining polynomial first:
>>>>>
>>>>> sage: R.<g> = QQ[]
>>>>> sage: pol = g^8 - 5661818/709635*g^7 + 11951452814641/503581833225*g^6
>>>>> - 5464287298588/167860611075*g^5 + 42311165180509/503581833225*g^4 +
>>>>> 290446480816/167860611075*g^3 + 6817133713732/503581833225*g^2 -
>>>>> 11294971392/55953537025*g + 2238425344/503581833225
>>>>> sage: K.<a> = NumberField(pol)
>>>>> sage: K1=K.optimized_representation()[0]; K1
>>>>> Number Field in a1 with defining polynomial x^8 - 2*x^7 -
>>>>> 2073127276349*x^6 - 585042438455127612*x^5 +
>>>>> 17251120619520968221641540*x^4
>>>>> + 47323235466058260399591984538122*x^3 +
>>>>> 52569579991119152255555179191805210311*x^2 +
>>>>> 26979907667586120684167115024265757878264932*x +
>>>>> 5304889912416030130201287805372669997413025784321
>>>>>
>>>>> -- not obviously a lot better, but at least it has integer
>>>>> coefficients. We can easily find its Galois group abstractly:
>>>>>
>>>>
>>>> Thanks---I was not aware about optimized_representation().
>>>>
>>>
>>> Underneath it's the pari function "polred" which does the work. It's a
>>> good way of getting a nicer polynomial defining the same number field. In
>>> most cases, calling it with two isomorphic fields will return the same nice
>>> version; not always, so there is the version polredabs which is guaranteed
>>> to always give the same output for any polynomial defining the field. (We
>>> use this in the LMFDB.)
>>>
>>>
>>>>
>>>> Let me explain a bit what I'm trying to do.
>>>>
>>>> Given 7 points in P^2 with coefficients in Q, I need
>>>> 1) to find an irreducible cubic q through them s.t. q intersects qbar
>>>> (it's complex conjugate) in 9 distinct real points, and
>>>>
>>>
>>> Assuming that your 7 points are in general position (no three on a line,
>>> no 6 on a conic), the cubics through them form a 2-dimensional family (they
>>> are all linear combinations of 3 of them, up to scaling). One way to get
>>> your q would be to take two such rational cubics q1 and q2 which intersect
>>> in 9 points and then let q=q1+i*q2, which intersects qbar in the same 9
>>> points.
>>>
>>
>> Thanks for pointing out an option of rational cubics. It might be easier
>> to work with them, right?
>> Is there a way to do a rational parametrisation of cubcs over Q[i] in
>> Sage?
>>
>
> I think you mean conics, since smooth cubics cannot be parametrized.
>
I mean singular cubics, naturally (as I talk about them below :-)).
> If so, the answer is "no" because Sage uses singular to parametrize
> conics; but that is sill y since if yo know a rational point on the conic
> (over any field, perhaps of characteristic not 2) then it is easy to write
> down a parametrization: do a line change of coordinates so that [0:0:1] is
> on the conic (if you do not know a rational point, perhaps there are none,
> then you can do nothing). Then the conic's equation looks like
>
> Q(X,Y) + L(X,Y)*Z = 0
>
> where Q is quadratic and L linear. the the parametrization is [t:u] -->
> [-t*L(t,u) : -u*L(t,u) : Q(t:u)].
>
>
>
>>
>> By the way, hat I get might be fun for a number theorist:
>> I start with 6 points [[1,0,0],[0,1,0],[0,0,1],[1,1,0],[1,0,1],[0,1,1]]
>> in P^2
>> (I had to drop the 7th point, but it turns out to be OK)
>> Through these 6 points I take the unique cubic q singular at a point on
>> the conic c={x^2+y^2+z^2=0},
>> say at a point over Z[i] - a Pythagorean triple (a,b,ic) with the last
>> coordinate made purely imaginary.
>>
>> It appears it is always true that q also contains (a^4,b^4,c^4) !
>> (so this gives me a 7th point I need back, amazingly :-))
>>
>
> Amazing!
>
>
>>
>>
>>
>>
>>
>>>
>>>> 2) to get hold of the points of the intersection of q and qbar with the
>>>> conic c={x^2+y^2+z^2=0}, and construct
>>>> cubics r and rbar through these 12 points so that q*qbar+r*rbar is
>>>> divisible by x^2+y^2+z^2; (and r should not vanish on any of the
>>>>
>>> 9 points of intersection of q and qbar...)
>>>> I am told this is called a complex structure on the conic c, but OK; I
>>>> need it to do some real algebraic geometry. :-)
>>>>
>>>> I've done 1) by choosing 2 points on c with coordinates in Q[i], and
>>>> they together with the original 7 points
>>>> give me q, and their conjugates give me qbar, and they have the real
>>>> intersection, as I need.
>>>>
>>>
>>> That sounds better than my construction in that I would expect the
>>> intersection s of q and c not to lie in Q(i).
>>>
>>>
>>>>
>>>> Now, for 2) I have the "ugly degree 4 polynomial" over Q[i] mentioned
>>>> above,
>>>> that specifies the intersection of q and c, (I know 2 intersection
>>>> points, and this gives me the remaining 4). The similar situation is
>>>> for qbar.
>>>> Now, I can "go symbolic", i.e. solve these degree 4 equations in
>>>> radicals, and use these radicals for computation.
>>>> Or I could construct an appropriate field extension, where these roots
>>>> live...
>>>>
>>>> Perhaps there is a better way to do this, I don't know.
>>>>
>>>>
>>> I have in the past successfully used QQbar to find intersection points
>>> of two curves each defined over Q. Once you have an intersection point
>>> with QQbar coordinates you can find out what number field it is defined
>>> over and then go back to find the points again, working over that field. I
>>> used to do that a lot with Magma's AlgebraicallyClosedFIeld and it also
>>> works using QQbar.
>>>
>>> John
>>>
>>>
>>>>
>>>>
>>>>>
>>>>> sage: K1.galois_group(type='pari')
>>>>> Galois group PARI group [1152, -1, 47, "[S(4)^2]2"] of degree 8 of the
>>>>> Number Field in a1 with defining polynomial x^8 - 2*x^7 -
>>>>> 2073127276349*x^6
>>>>> - 585042438455127612*x^5 + 17251120619520968221641540*x^4 +
>>>>> 47323235466058260399591984538122*x^3 +
>>>>> 52569579991119152255555179191805210311*x^2 +
>>>>> 26979907667586120684167115024265757878264932*x +
>>>>> 5304889912416030130201287805372669997413025784321
>>>>>
>>>>> That code means its a double cover of S4^2 (1152 = 2*24^2). That's
>>>>> bigger than the 32 you were expecting though, so perhaps working with
>>>>> relative extensions would be better after all.
>>>>>
>>>>> John
>>>>>
>>>>>
>>>>> On 20 March 2018 at 15:44, Dima Pasechnik <[email protected]> wrote:
>>>>>
>>>>>> I do not know how efficiently relative extensions of Q[i] are
>>>>>> implemented.
>>>>>> I would not mind an absolute field.
>>>>>> I need things like computing resultants and factoring univariate
>>>>>> polynomials to work not too slowly.
>>>>>>
>>>>>> I did some Groebner basis computation that gave me what I suspect is
>>>>>> an superfield of what I need, and it is of degree 32 over Q, with really
>>>>>> huge coefs....
>>>>>>
>>>>>> --
>>>>>> You received this message because you are subscribed to the Google
>>>>>> Groups "sage-nt" group.
>>>>>> To unsubscribe from this group and stop receiving emails from it,
>>>>>> send an email to [email protected].
>>>>>> To post to this group, send email to [email protected].
>>>>>> Visit this group at https://groups.google.com/group/sage-nt.
>>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>>
>>>>>
>>>>> --
>>>> You received this message because you are subscribed to the Google
>>>> Groups "sage-nt" group.
>>>> To unsubscribe from this group and stop receiving emails from it, send
>>>> an email to [email protected].
>>>> To post to this group, send email to [email protected].
>>>> Visit this group at https://groups.google.com/group/sage-nt.
>>>> For more options, visit https://groups.google.com/d/optout.
>>>>
>>>
>>> --
>> You received this message because you are subscribed to the Google Groups
>> "sage-nt" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to [email protected] <javascript:>.
>> To post to this group, send email to [email protected]
>> <javascript:>.
>> Visit this group at https://groups.google.com/group/sage-nt.
>> For more options, visit https://groups.google.com/d/optout.
>>
>
>
--
You received this message because you are subscribed to the Google Groups
"sage-nt" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/sage-nt.
For more options, visit https://groups.google.com/d/optout.