On 21 March 2018 at 13:18, Dima Pasechnik <[email protected]> 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. 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].
> 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.