Bill Allombert on Fri, 26 Sep 2014 10:05:10 +0200 |
[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]
Re: Two questions |
On Fri, Sep 26, 2014 at 04:16:22PM +1000, Alasdair McAndrew wrote: > My questions are: > > 2. (More generic) - is there any way to solve, over the rationals or > over the algebraic numbers, a system of polynomial equations? I'm applying > a Tschirnhaus transformation to a particular set of sixth degree > polynomials (which I know to be solvable by an analysis of their Galois > groups), but in order to eliminate powers, I need to set several of the > coefficients to be zero. > > For example: > > > L1 = 9*t^6 - 35*t^4 + 288*t^3 - 5*t^2 - 1 > > res = polresultant(L1,x-t^2-p*t-q,t) > > r4 = polcoeff(res,4,x) > > r5 = polcoeff(res,5,x) > How can I solve the equations [r4=0,r5=0] for the variables p and q? PARI does not provide high-level functionality for solving systems of equation directly, so you have to eliminate variables until you have a univariate equation. In this instance, you system is triangular: r4 = -315*p^2+7776*p+(1215*q^2+3150*q+1135) r5 = -486*q-630 So you can first solve r5=0 to get q=-35/27 and then substitute q in r4=0. polroots(subst(r4,'q,-35/27)) %10 = [0.11715407224919055597974779708294428191+0.E-38*I,24.568560213465095158305966488631341432+0.E-38*I]~ In the general case, you can use polresultant(r4,r5,'q) to eliminate q and then solve for p. ? raux=polresultant(r4,r5,'q) %7 = -74401740*p^2+1836660096*p-214151040 ? polroots(raux) %8 = [0.11715407224919055597974779708294428191+0.E-38*I,24.568560213465095158305966488631341432+0.E-38*I]~ Cheers, Bill.