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.

Reply via email to