Re: ALGABRIC SOLUTION

From: Peter L. Montgomery (Peter-Lawrence.Montgomery_at_cwi.nl)
Date: 07/29/04


Date: Thu, 29 Jul 2004 01:05:11 GMT

In article <ynwuqx37wsd1@legacy> H2MAF@se.com.sa ("M. A. Fajjal") writes:
>Is there any algabric solution to get a1 and a0 such that
>x^7 + a1*x + a0 =0
>r1*r2 + r2*r3 + r3*r4 + r4*r5 + r5*r6 + r6*r7 + r7*r1 = 2
>r1*r3 + r2*r4 + r3*r5 + r4*r6 + r5*r7 + r6*r1 + r7*r2 = -1 + 3^(1/2)*I
>
>I=(-1)^(1/2)
>
>where r1, r2, r3, r4, r5, r6 and r7 are the roots of the above
>polynomial
>
      The maple script below takes about 40 minutes at 1700 MHz -- beware.
It shows that a1 in Q(v) and a0^6 in Q(v) where v
satisfies a quartic vpoly4 over Q(sqrt(-3))
with small coefficients (<= 125). We express the seven roots
r1, r2, r3, r4, r5, r6, r7 as multiples of r1
but do not get r1 nicely -- only r1^2

f := x^7 + a1*x + a0;

# Let r1, ..., r7 be the roots of f.
# We want the three sums

sym1 := r1*r2 + r2*r3 + r3*r4 + r4*r5 + r5*r6 + r6*r7 + r7*r1;
sym2 := r1*r3 + r2*r4 + r3*r5 + r4*r6 + r5*r7 + r6*r1 + r7*r2;
sym3 := r1*r4 + r2*r5 + r3*r6 + r4*r7 + r5*r1 + r6*r2 + r7*r3;

# to be the three cube roots of 8:

sqrtm3 := RootOf(z^2 + 3, z);
sym1val := 1;
sym2val := -1 + sqrtm3;
sym3val := -1 - sqrtm3;

# As in a previous posting, we replace a1 = t*u^6 and a0 = t*u^7.
# That posting showed t must satisfy teqn if
# the ratio sym1 : sym2 : sym3 is as desired, where

teqn :=
37077407219066991542272*t^4+1893573316454956138496*t^4*sqrtm3+
67440326332820365372293120*t^3-97338836250938815021056*sqrtm3*t^3-
1020690794147069929791299479360-5478558604922686124012971296*t^2+
38528917995277728287221232*sqrtm3*t^2+16075629258892833146421802107*sqrtm3*t-
170603162060486892389810279164*t+174679900241290523573626478528*sqrtm3;

# If v satisfies vpoly4 and t satisfies teqn, then
# the extension fields Q(v) and Q(t) are isomorphic.
# We supply the formulae for t = tsub(v) and v = vsub(t)

vpoly4 := (2*v^4 - 2*v^3 + 47*v^2 - 9*v + 125)
        + sqrtm3*( -v^2 - 59*v + 7);

tsub := (-16560777708783059-6710898291177747*sqrtm3-5437525379301961*v
        +17641564575656613*v*sqrtm3-495385487368207*v^2
        -2944061638350741*v^2*sqrtm3-930703482357568*v^3
        + 606986493335710*v^3*sqrtm3 ) / 84143714729984;

vsub :=
(-14602055158491896893598168858762827184290733147969692240457474426118884886649\
3275832320/21988352386785419901321919939073142724044344217577630063538125856729\
0169284759108222923762303+71688023102412380872032743343470133798423407190884793\
3514891806461899886016321424457728/21988352386785419901321919939073142724044344\
2175776300635381258567290169284759108222923762303*sqrtm3)*t^3+(-141752192605030\
9475548689779533387770057357692258034550120075705844200250910809732939776/51135\
7032250823718635393486955189365675449865525061164268328508296023649499439786564\
9389821+30195057105520450399131628945052072810728009815968284031722606574154708\
813983592690483200/511357032250823718635393486955189365675449865525061164268328\
5082960236494994397865649389821*sqrtm3)*t^2+(-193010173786349582024451332448206\
0686804657973922938060960500062659537041554816611344/26699701638876682700626342\
4485098443239082163500602033695121273044989963225671407835321-14866469349909203\
2453253563921317511448826288365841976390455389118226261371000843213792/26699701\
6388766827006263424485098443239082163500602033695121273044989963225671407835321
*sqrtm3)*t-60239532820990991100443628073616285591356080879245415295400334856328\
8541418614479/64841062674023536598881521544132715168262534804036227299636150885\
8650885808443294-56002441457602279912619347919266535681416525130427374274420457\
85192364750563966567/6484106267402353659888152154413271516826253480403622729963\
61508858650885808443294*sqrtm3 : # vsub

simplify(rem(subs(t = tsub, vsub), vpoly4, v)); # Expect v
simplify(rem(subs(v = vsub, tsub), teqn, t)); # Expect t

# Over Q, the minimal polynomial for v has degree 8.
# The field Q(v) includes sqrtm3. Give an explicit formula for sqrtm3.
# Using Q(v) allows many intermediate polynomials to
# have rational coefficients rather then coefficients in Q(sqrtm3)
# (as the cost of using degree 7 rather than 3).

vpoly8 := evala(Norm(vpoly4/2)); # monic, no sqrtm3 term
sqrtm3v :=
      ( 18608547-215037290*v+4621717*v^2-32574099*v^3
      +2599737*v^4-2520301*v^5+99278*v^6-52771*v^7) / 97367410;
simplify(rem(sqrtm3v, vpoly4, v)); # sqrtm3
simplify(rem(sqrtm3v^2, vpoly8, v)); # -3

# We claim the value of a1 is

a1claim := (
          -504289030097 + 57169821645*v - 74671587552*v^2 + 14733419384*v^3
          - 5332136432*v^4 + 1289336496*v^5 - 130692293*v^6 + 27082431*v^7)
     / 460742584120;

# After solving vpoly4 for v, we can get t = a1^7/a0^6 from tsub(v)
# and also get a1 = a1claim from v. From these we get a0^6.
# The minimal polynomial for a0 over Q(sqrtm3) has degree 24,
# with a0^6 in the field Q(a1).

# If ri and rj and two distinct roots of f,
# we can solve two linear equations for a1 and a0.
# From those we get t and u.

a0val := -normal((ri^6 - rj^6)/(1/ri - 1/rj)); # Degree 7 in ri, rj
a1val := -normal((ri^7 - rj^7)/(ri - rj)); # Degree 6 in ri, rj
tval := factor(a1val^7 / a0val^6); # Degree 42 numerator and denominator.
uval := factor(a0val/a1val);
r2 := r1*r21; # r21 denotes r2/r1
tval12 := normal(subs(ri = r1, rj = r2, tval));
uval12 := normal(subs(ri = r1, rj = r2, uval));
a0 := normal(subs(ri = r1, rj = r2, a0val));
a1 := normal(subs(ri = r1, rj = r2, a1val));

# The tval formula is a rational function in ri and rj
# with degree-42 homogeneous numerator and denominator.

# All 42 ratios r = ri/rj where 1 <= i, j <= 7 with i <> j
# lead to the same value of t. All values of r satisfy a degree-42
# polynomial g(r) = 0.

# Suppose we know one of these ratios r21 = r2/r1 and we want
# r32 = r3/r2. This satisfied both f(r32) = 0 and f(r32*r21) = 0.
# Actually there are five common roots, namely
# r3/r2, r4/r2, r5/r2, r6/r2, r7/r2.
# More simply, the determinant

# | r1^7 r1 1 |
# | r2^7 r2 1 | = 0
# | r3^7 r3 1 |

# vanishes, since the columns are linearly dependent.
# This gives a degree-8 homogeneous polynomial in r1, r2, r3.
# Dividing by (r1 - r2)*(r1 - r3)*(r2 - r3), we get the
# quintic satisfied by r3/r1 with coefficients in Q(r2/r1).

r3poly := normal(subs(x = r3, ri = r1, rj = r2,
            subs(a1 = a1val, a0 = a0val, f)/(x - r1)/(x - r2)));
                   # Satisfied by r3, r4, r5, r6, r7

twant := rem(subs(sqrtm3 = sqrtm3v, tsub), vpoly8, v);

r21poly := numer(normal(tval12 - twant));
                 # Polynomial satisfied by all ri/rj

rx2poly := primpart(subs(r3 = rx2*r2, r3poly), rx2); # degree 5
                 # Satisfied by r3/r2, r4/r2, r5/r2, r6/r2, r7/r2

# We assert (but do not prove) the value of r32 = r3/r2 is
# given by the huge formula

r32 := (
-97751409059163876036933491959395256527623249314060727596538280638*v^2*r21^8+
24549744639724219752363544704119399281481740712580972944345194870*v*r21^8+
54742953118683427760663585111696077633447599667426397873595476420*v*r21^9+
83303201421655601336442938929556545782827726994946046168128943464*v^3*r21^14+
9074264711541567267531571184582518363867026710792046726933057815*v*r21^7+
167673409811673910748491205571838821485381299862101948723200*v+
77956207361645879525804123471220507662518321318059218914944297432*v^3*r21^13+
1921061904199642334193749588337359598304373069510401726368844096*v^3*r21^17+
7495054034687926782785543177377016933764588611085600642590296100*v^2*r21^35+
578385652798670222447683824217096367207675278921216766478336*v^4-\
1537865382999757714072480373030377903328026824130926621386752*v^3+
13828027714434625125397587420845990862276800889637588630317056*v^2+
5059212403630261781081964527301012121615374569492851389366949888*v^2*r21^36-\
4281659558389590905683406146109531437778712199087626983476183040*v*r21^36-\
16774434364380256734190773918216073560522326910350662414022264728*v^2*r21^33-\
31590142761657466059398132413866055234802867201159517704442879636*v^2*r21^7+
47245401043305068353544483076953588740505911553721535384201351192*v^3*r21^16+
74352558341117620889371243663536439543602227462039997206002542344*v^3*r21^15-\
436065870736788764482467209140839859975235093139302054557771059494*v^2*r21^30-\
33160330359924677095667539138755069179657191712390368363920133325*v*r21^33+
383066278916006204272883929453645218049581787246684770029846039825*v*r21^13+
4089200232598259988429465809471143747543075259622005050696628902*v^2*r21^34-\
200321021381120284438775865679490155046678848648361777519381930658*v^2*r21^31-\
1482216860700271059214476270072159990272677382340600981992000875617*r21^15-\
2187225713155169900091320409667018276616651554710309102724408304753*r21^17-\
2447750663487306214393824529456252250583860031941202234743208134418*r21^18-\
1853309842380985991390511030907583814537319103315109320880117621036*r21^16-\
2628746155223304469398385973976445613253214291469797632156105930504*r21^20-\
782923059732994999290584089908793020370509089501621436029571229671*r21^13-\
1112795402317776210163016282414008460060705840576169422920459479002*r21^14-\
2601292208612460873736135502606124505013024558868573926776362746267*r21^19-\
1620174312727382977043321380699736603216576007343436348575516356020*r21^24-\
2295767996233893878032983943341266153644889643528488581854722040034*r21^22-\
2520396564754912911136842875936330391005805784423347543165332420643*r21^21-\
1983984409212994217208459329317273450196024529294565281505059108761*r21^23-\
74882521470844304090912483447740424315934074524370658873897344408*v^2*r21^32-\
509321658118496282716323072618457221131744934279234934167952939696*r21^12-\
301724535236274205995461883509111949274406478180358446559489169012*r21^11-\
157286666767835388055120686370537534221070077923114388288118543528*r21^10-\
68234921075187278423754812282526702236346572210783699718758741898*r21^9-\
18313372500343143616500105694872880316838892710906476882576727660*v*r21^34-\
87966141132276574564937003925115431950868272629271985322322155060*v*r21^31-\
21287135186223198577663346558554782118357189535137977918262065408*r21^8+
282511043349870137440595083497225969893628435032080967633221669*r21^7-\
55823894444623347612040492827038486104632340826191321521771463820*v*r21^32-\
9336617338824661373770378821907705371684696420471598568893564025*v*r21^35-\
2291728753834880981751961111194637051555103476994852321171212497986*v^2*r21^13-\
775664641290936755626715147556074006142776874649747621888*v^7+
5955495055816382323434884445601709918680002041468831248384*v^6-\
124493461151492671157338740730904012405027889701655744247808*v^5+
597406035901185971879572574511523070715974938368922144415335582515*v*r21^15+
497313378905070321124327747948471223228244898955875266352988891200*v*r21^14-\
5652638588070216106045763141950494592454536824080619335846497604966*v^2*r21^16-\
4448259489252818236192901579094403613079759811368059475723993617802*v^2*r21^15-\
3295271698957674839409375267090669269982534719059947716835598488302*v^2*r21^14-\
58004324504282475376377633736949033797156496918931325525056115664*v^3*r21^18+
12445574349305617936137764490037595841505080755905586013003985645*r21^35-\
12854607077702145645890341144291279340362931926640216114601638538*r21^31+
18270132471016493610853097614646249547215003856457172055068715662*r21^34+
20786929061563369912841259407142826669932003609529180488928345677*r21^33+
6954966104556163405552449588336165001829922369284355838673758208*r21^36-\
353248483260296395332226263170873504998212141700702759118697875912*r21^28-\
1244083855427753964343855578300133780558854862647007746629483342393*r21^25-\
890213237982320800627538587959272280130824555838075211522326446370*r21^26+
13645689970398262050475547460493289555680004859923452010266897252*r21^32-\
183349296801130482546879941483389853407885092568057089667958911220*r21^29-\
73936175734529759695302775484779880812740678983345866429568137004*r21^30-\
589464256954502339468837199463033321222180273562274381660153874143*r21^27+
3187141233618230773354144017668038835678377043940473941088098816*r21^37-\
1408554442611497109497448246509641843538197973523465019266925369682*v^2*r21^28-\
2200577992578355374398356635735950484064014741192465347484071449038*v^2*r21^27-\
826710579639655494406991062782980159002826509254847405665251943280*v^2*r21^29-\
7712726579168311608711403058113253070028657957873851004992501847798*v^2*r21^18-\
6784154736866594195015235753678644974914314724021079003844112408038*v^2*r21^17+
8772928818579428349786916491557389739688597802775273759465472*r21^36*v^6-\
4352313033296585991880721807031390354652467579933565200310128987*r21^23*v^7+
5904556269329997446175419823330559088790319690874285424365155291*r21^23*v^6-\
149531985610691320418664478337176047586028048307592372883618566912*r21^23*v^5+
1289749929514287882288538620292926930146576056211952326085284864*r21^38+
105435356091261126723080573249263957913709512807978621176760651240*v*r21^10+
179672906303602449327049970814213595517665787842990714399308633050*v*r21^11-\
96956633108688444665289363562685976320516150843859010271968912820*v^3*r21^29+
275832056519107758882578288258882829793439480950705951315207823230*v*r21^12-\
117524432637872642403525060126563197865703471302520565686892544*r21^36*v^5-\
3194233508488930909207538175543513927152474122358802550975443080410*v^2*r21^26-\
8321701071798318923021504627455749410895302933351502785215813472642*v^2*r21^19-\
8525397005701859493544472799179575021818225306353456682660394059874*v^2*r21^20-\
139840193674957435331378841213230144821772625276421543942172370536*v^3*r21^28-\
188166067341747177117363734218508298460570159666684909229071813544*v^3*r21^27-\
4343360211023988580825311448825958090037229308702525395028989462918*v^2*r21^25+
663814393192452517306301130366606053908597739972239239837013052810*v*r21^16-\
62275427874141129321731308836092792889667027191440846473107850132*v^3*r21^30+
438322684015580768250520779159556683206533300106255091100354048*r21^39-\
279001705784786548445348024510733416396910527719713992990419635704*v^3*r21^25+
681209641198245135335180478470273229651425638632717928089969070895*v*r21^17-\
5551880944292956910241944285773152845299484477188740509282813522690*v^2*r21^24-\
195032499168328347916836940201013905382181963821824576523066136912*v^3*r21^20-\
208037093843116320858577166475431163932095015620734370504044160*r21^3*v+
821669963426996243147537839079396093004504055308017870248661504*r21^3*v^2-\
93204677241343182343100320750674058190075988225094663510898048*r21^3*v^3-\
923464115846131755518807707740710466717135321204755185459678*r21^6*v^6-\
125677014884606762603105061805455739392516788697720064108858369136*v^3*r21^19-\
7649000497040108480971778815834200088263849518337677947376115078734*v^2*r21^22-\
6697037506427199999689576382575906984517411003396331240893882077046*v^2*r21^23+
1074716064303370579160068598618550330113891669990381651706625930*v*r21^6+
1050881461216719774408517444800649883254528669278972597853866564*v^3*r21^6+
112868708293652426128651962723367625226784595980843036795290624*r21^40-\
236990009532121040636613314697179869413649279024510057027585936200*v^3*r21^26+
641944279544187556340565444509542287390728815562405044697590326720*v*r21^18-\
304985705223669999009412844677815952206761064577172345860788462520*v^3*r21^24-\
294148300547400726478509569207053839415574184766973270904779136112*v^3*r21^22-\
311192856548900495335984820995167498822447038560527969597703200408*v^3*r21^23-\
252306639312185447642178382003156575920031892773141763466295100155*v*r21^27-\
175697672660790849479399361194072308731711015577217930788916502540*v*r21^29-\
130396391116719359615480758227167571008669275106474515777934781510*v*r21^30-\
219607908285911835172275549144433380374510528184370977900355098750*v*r21^28+
554139106809012880718630097489860900854086442129027843319399417845*v*r21^19+
416683982508602180691553823422667634065618564813513224974086725650*v*r21^20-\
4477300014153035693964031660812878465085443588998452956263529204*v^3*r21^34-\
19955877089456644560543104705740308100517809264625986388840585004*v^3*r21^32-\
1779107250193469420685655010411921879273005613216558746182430920*v^3*r21^35-\
655055772422522381877633524226122004426318267482740127962351616*v^3*r21^36-\
9979172582259967404273820826628912643855638583514035516668749324*v^3*r21^33+
4004740625925632953238260481165864318967407213834634332240468132*v^3*r21^7-\
36551924871586808439033429582249908256312099650494998433617885204*v^3*r21^31-\
236380627490337707278540821640974539658728721116823881245960282185*v*r21^25-\
8288189976102283428933932103792238084214494903041284622995934429638*v^2*r21^21-\
254038413490444910889714579733394731682003814917086411266571293264*v^3*r21^21-\
6702431551220699422668094182577822200660784641361497571584520476*r21^10*v^5-\
233604729268498228533424242417129886766407591111629059599038269898*v^2*r21^9-\
482238236456105102134881564822033537510633409764621008420855449568*v^2*r21^10-\
887850837468121029198034255640103741185604210777750815103589979302*v^2*r21^11-\
1485517978360580225183080525284248484066520410513250675935887551126*v^2*r21^12+
9210633938509638096066519654228631973347034285013928546067110876*v^3*r21^8+
31853415030416887323553425381780366830387452628657652784030861636*v^3*r21^10+
48454016305320967166412564027361666242142352361170185052292055744*v^3*r21^11+
65268980992490150141079403259593958994189455543012698148070575832*v^3*r21^12+
18361164832270655244390339170627136216044059108382247412189752956*v^3*r21^9+
89204337723311182305045008073447936692912433317348679544854359400*v*r21^22-\
262041381303662239928145323017326196949756031764305839160178711580*v*r21^26-\
111469332762276227861961635502013160297781967195512645293481687466*r21^23*v^4-\
5113611197386886380404467741692616679083262934466697490452763852*v^2*r21^6-\
55297452012073988023721396122900896324423572678447324981249327145*v*r21^23-\
164432246154472542749269444920256739708572821742786477388523106530*v*r21^24+
27474373738392125931612991713429333093161428471833223996090728*r21^10*v^6-\
6402608432465824829480134058874859546186448269385492665826334*r21^6*v^7-\
2960866120602685324552099641176310897595461397691307905726464*r21^36*v^7+
253536202098745269496699339680826139139332814493579037468631502065*v*r21^21-\
264356987044217906208561572325169323172239325363251371240192*r21^3*v^7-\
13614842070552717483865424110487158367218608589814885093808512*r21^3*v^5+
836442336860396732673612603792469536116969080331564971920256*r21^3*v^6+
312936367525706178404408729761740513644081901722934654435678208*r21^36*v^4+
66390175316410775000224196811384640824633897381021205003682304*r21+
512152152299617482188643254480329575521223826836959926776055168*r21^2+
1466797541154755798253675455409393278375024928453619311124527744*r21^3+
3606794283262050038404613709744414101001929033008103388184540624*r21^4+
6215304717917870643060568753149645547516623785836207847378289765*r21^5+
6565743142010540855348105198601494656173471969354243088134660738*r21^6+
16710125474614018723172609997922586016309192192944907753768448*r21^41-\
187467335839204999743984655467665414509392503560759813519182604*r21^6*v^5+
2030361485436809094224332933141324698261566014731082050445699790*r21^5*v^2-\
1896590395020843916964554990421610745520124525178067271030725*r21^5*v^7-\
71343953605798225701884398187665920781639920512995203803843460*r21^5*v^5-\
664764267031916309366578291924116652369452223290136911470994000*r21^4*v+
1992006726024029862097248858995113383815371705418218067058326464*r21^4*v^2-\
676645796482473694045441326180602320344857101512756817523392*r21^4*v^7+
2029885743309436256887249264664886693077232688480019385041136*r21^4*v^6-\
33343415969507135465776996508272036819309550042389687477926032*r21^4*v^5-\
180779968521577109428824204127592444824212616273845547077299828058*r21^17*v^4+
3555851216390363590269486324007284913357632999309150486645750403*r21^17*v^6-\
3804080066110709189866549123531512035791752812580595136226997851*r21^17*v^7-\
122158435142322244901936923779170064778618976199322287240371655016*r21^17*v^5-\
4230421561108677583297120761472100753924582644765767345808863276*r21^32*v^5+
231287149044488123259361979424023814076021158557753554276449668*r21^32*v^6-\
111653281148814874545761672279717614911139348202667063058789536*r21^32*v^7+
2368710152986586852475338473124894214915409437819118776529129832*r21^32*v^4+
67621036981966255046148381479921317064699404965747195125850624*r21*v^2-\
237893454466374259600518088193889042962586625077980580331541236*r21^10*v^7-\
140695523075535972265409554132684387130406463663384473825848320*r21*v-\
56055543998101410813207382433481653508529518529417620043786464058*r21^25*v^4-\
3004748241010540968771434808090417655749277239643777482913036251*r21^25*v^7-\
105269110056790601604776704007784941477772342216626495560045575456*r21^25*v^5-\
439921773508930450757483860073639301172303234842707468522322314*r21^11*v^7+
4451214430646473876315215300667225837399826781546538762783970603*r21^25*v^6-\
10454775953086610603105481414741932455340044793328294372540588658*r21^9*v^4-\
36877506125095463655730463507308380428980211454577306921472*r21*v^7+
116756794463534270627149856878726606957962257015662927131231102*r21^11*v^6-\
12682943161691018055146940984174004809393067730243009509040357744*r21^11*v^5-\
2068037144188675078007810499867577713185772468138884968300032*r21*v^5+
79828876194728270751085091491548556281766607239215239074816*r21*v^6-\
24359098461132485873050721686065180647601311117837101716351488*r21*v^3+
3719011397021919285258200981824251483260461048945889040648704*r21*v^4-\
895314833288536643759206036508001482699077523983470282833607680*r21^38*v-\
20102470323049780567497728119049301211254652688203638210365398288*r21^10*v^4-\
419203628721821200103751407248600351634381606717276393697495732*r21^6*v^4-\
218219565645182924164941586796834929661333495905338988634534288*r21^4*v^3+
95765846077285860104146340475547512634457117811250067576505664*r21^4*v^4-\
815964750482228645727377348761478325171350045061373502885001915*r21^5*v+
1994096271468933405237031800865969803575186417581617299291185*r21^5*v^6-\
8369280092248619962747019546306741305249012097137926645896086036*r21^31*v^5-\
224097953438076619644190620414006357275339754331358720398762536*r21^31*v^7+
435213648484529869467409877320541961962011644592543689189543048*r21^31*v^6+
44935401173407150838654280386667421863334278888458896084588930*r21^5*v^4-\
49849869741899180030896258888590603058723786234221853744287980*r21^5*v^3+
40273865886904141537033286179178757483065358498104397580317184*r21^3*v^4-\
19643563782851981688022669647127922923637351298422344841205767*r21^7*v^7-\
6330774387898624077014070712961327178669647460952806251797889*r21^7*v^6-\
529620304466792324050324358105428787393950439516198042434527652*r21^7*v^5-\
1796222211755953030417560721673610838140592666261758334991783536*r21^7*v^4-\
4761674147597849650374991012917289644622920331349096138147163998*r21^8*v^4-\
8291031187134739386825525006296952044659555492341396738957102*r21^8*v^6-\
1418267884361951505836603746307105629130733655430134693929725236*r21^8*v^5-\
52051900074938654081249151003972931388152799447594292323649226*r21^8*v^7-\
11846878724384364313260497377802383311945452597474875538944*r21^41*v^7-\
450704996329425734822131800017893268400292951993602719087104*r21^41*v^5+
33643875203199448442675637848113906283497529640835594304512*r21^41*v^6+
17039584498895840540385130814515042933113039137055805960693248*r21^41*v^2-\
2515655012481793902596978900583621257762078505796830917213696*r21^41*v^3+
1146342398987015645502528041324129973195605478315054195465728*r21^41*v^4-\
18574041886900971141237237303448446747807608839699110147425280*r21^41*v-\
8832288180473620397204174166946151680666681332247342999960064*r21^39*v^5-\
227848764240269508997582349686461236398674519725699921534464*r21^39*v^7+
366347142348079535241393904318005060317532187302115806765188608*r21^39*v^2+
671641738359006582261752576002780939837216196380104287788032*r21^39*v^6-\
47863873166995274511974705238658610602361016636250484212563456*r21^39*v^3+
23461955514759480686014024558505733488510346166412846551531008*r21^39*v^4-\
333011559755932469074276798157904549665192420175676888707425280*r21^39*v-\
1946276413412094495788274584977518175224686414586177288470313716*r21^33*v^5-\
50474383875985121657004312894889249093075119373166840283413171*r21^33*v^7+
1781988392381089956915310013106155273487953268525351915733097292*r21^33*v^4-\
164621082493513683331667088033442830839092961581314731595926624528*r21^22*v^5+
113474474608676939513421752207899002315941624268250143055671283*r21^33*v^6+
6263581136020876951238835666077234093191412560124584653090509204*r21^22*v^6-\
4839004250544016629650056385390888035029203159434761670728336848*r21^22*v^7-\
24130361224668464922875022547004285502233898095170467342021632*r21^38*v^5-\
140243084410078913219889636771274380195819057082540341495404106694*r21^22*v^4+
1825180201167728326743060766977225404952243109968881600449536*r21^38*v^6-\
616788531931167255516598124311787619521720688328510686482432*r21^38*v^7-\
131847089980379299891905495512921417889850126763869017426019328*r21^38*v^3+
64282993847771282982550815583894136250990332317220893384136704*r21^38*v^4+
1018250700948099607498798757350471385865610561448862374794113024*r21^38*v^2+
50907161232727622063577306143825529232586927630084449327132568*r21^34*v^6-\
804888367515108418744211823141610681136258053914700272829973076*r21^34*v^5-\
20465829338610751626408434223145082594003715027834353641532176*r21^34*v^7+
1143808658269100832762219148029607706240979366913669096475806622*r21^34*v^4-\
34570560017901063133209489246873492387730411237816773371447736422*r21^11*v^4-\
3254551693173535891167390614874426023684122679166164059895712*r21^9*v^6-\
3239532344178497615868163505112012507072036483842722534386836356*r21^9*v^5-\
117302022934766132295841506592102723138113574652889151385696016*r21^9*v^7+
6655320095130226790668481761023907160124744837391069149292544*r21^40*v^4-\
13722710391567475124701128085679887456279047202344679160460288*r21^40*v^3+
101897099813505894878061256256724520489568937672336257249624064*r21^40*v^2-\
65972004504527424192768736113630159223368570487120397279232*r21^40*v^7-\
2531233058294622441014772976558842978618281603370827986076672*r21^40*v^5+
192488954630755734248562907624545151055427798552583189974016*r21^40*v^6-\
98249635793999116124154190723902705755499519262085362471828480*r21^40*v-\
4426114228777931295675706013976638955817001161701104877014512456*r21^18*v^7+
4493078762883102527313530476055384823931948417282660418597977948*r21^18*v^6-\
143991641645643133227237228107560217361009805958729096033635717296*r21^18*v^5-\
192468775035320679544295812877940128735771461518178815167407090158*r21^18*v^4-\
134676619185062474205764981191140362355552598015962315762572294782*r21^15*v^4+
1786871081915470279484547944251643714868466253164117876953956527*r21^15*v^6-\
74220737018098704469206984676080663814414746164747836668979313024*r21^15*v^5-\
2381164116515371140394258022946191180369690582066833546288137719*r21^15*v^7-\
4887333264264099610038663083671120047929729186303565230262225289*r21^19*v^7+
5326299253069984910354302381181448864085402646112753743272569857*r21^19*v^6-\
1428521846299444628513754524772847712306648462732810321950208*r21^37*v^7-\
160910150838407389996619870655504056854782580242056846926985856744*r21^19*v^5+
2404300215120793940354010769286091807522374521507848449892097536*r21^37*v^2-\
193976544811813903851673335669312246741777286994503526800700961982*r21^19*v^4-\
56329028568224932162452950459342391338022159909220454168616448*r21^37*v^5+
4232328922878445735579512918222912003707202379704642494726144*r21^37*v^6-\
310947558808590473763993930101994570154225866955592380745400832*r21^37*v^3+
150086612425427129017665137582727531425247841050277087554162176*r21^37*v^4-\
2068357807898003880560625890181991312900431916184453562851112960*r21^37*v+
288116438391141090581747260728911655622242325099945043801266688*r21^2*v^2-\
81141515128211998301574667275319196796204913555650673018730271240*r21^26*v^5-\
2294173536311622604039026259045447831009654998677706933367001540*r21^26*v^7+
3540714484167504420424822017414211021143716520881997419705090920*r21^26*v^6-\
16260811717642537102541756994693214546236720901967743655424*r21^2*v^7-\
34531564825798064870414453803657988060668747155116990678959444690*r21^26*v^4+
7042706317797640109632355208977004162964812872752146627712*r21^2*v^6-\
1377792133001200219459004853308898678634589406170248995351424*r21^2*v^5+
2551647511837826884826425855766665126012635194704869139324514102*r21^31*v^4-\
128900091760186425225677658816358099949649553836983493052479678120*r21^24*v^5+
5270966875318510182429087640063144913043465541923785115596631330*r21^24*v^6-\
3715519992418853174468295781528866873902912008488922040085922310*r21^24*v^7-\
82473659642383088745358948646729433258717258911820664565893887810*r21^24*v^4-\
817438116144871447155106206202887161032751000987600644383616*r21^2*v^3-\
5454296805673212938904220123303808210570531046536217450879360*r21^2*v+
6500438276046009756221359891653515994124954519874668071443968*r21^2*v^4-\
170841516712187886573405523529597326826842914084382922882203223008*r21^20*v^5-\
5129257019944832065715160549757618040699439100730378956410672098*r21^20*v^7+
5959731448656791036648136020842566351222772375545922612787940214*r21^20*v^6-\
7620749260958063339708853233373329757972892682144189853775475*r21^35*v^7-\
184513212428409459176369424303008434149673099263935397382483998354*r21^20*v^4-\
304272503167190293656398406576615488168939722549023677191896560*r21^35*v^5+
21109505288689233148986826791686321213907151118181405098215055*r21^35*v^6+
635224476385211698294386738299671948659546464346336761544339800*r21^35*v^4-\
35410899282481292745085420505765715148702334767719847975308350272*r21^13*v^5+
630859046726007301225525777531207310421856806149800855479491181*r21^13*v^6-\
1175958464390529204061478852706666739887347441729488037339018637*r21^13*v^7-\
78342528470444268535538847770720141501875888525948973577833586126*r21^13*v^4-\
22039942226952548189048036503312546222076626703958371356573980632*r21^12*v^5-\
747333410133067515359307177521336043503178636439559792281110822*r21^12*v^7+
305203932995146626081533575161060962104899662886647854717580426*r21^12*v^6-\
54125625697165379657855568678497680400056325285021990601378847526*r21^12*v^4-\
106098845132011998250099669597898429417657179040392277858862193062*r21^14*v^4+
1116272578614340508245007512015379715996778129751097905259739372*r21^14*v^6-\
52889543449739382955842554101734315098335121535295867145520793144*r21^14*v^5-\
1725462893841850779847783780039422625059522157838999743801719824*r21^14*v^7-\
40348732895242531991430196577809499360369620853655074155637246904*r21^28*v^5+
1875589030441482775363905838549908413638340823172610968969908102*r21^28*v^6-\
1118541363325796754398593401214476350689736503568890326229287114*r21^28*v^7-\
7717837302964811862333288430554209743329448349988687846555023522*r21^28*v^4+
1241297833728757332621470072832834431692131050518652537217762820*r21^29*v^6-\
707412338916841172850634766563100236894687366184797974945241000*r21^29*v^7-\
1325676983509373694137132524352569686740289101223609782964689520*r21^29*v^4-\
25798361253148637356072249238541148537117858142414641253335742900*r21^29*v^5+
2621745414133633275261557157435560295581971210032431918232225686*r21^16*v^6-\
98033622055472607781758199238801896144531643587192514795427286072*r21^16*v^5-\
3096577809610994418638319987886950232766407861084895082861640642*r21^16*v^7-\
160649754675089996896865331806903204302731103141654340620501840486*r21^16*v^4-\
172113206741569966158551366956451668999468129139827626318789263016*r21^21*v^5+
6287071473419599916738866205016273095642470728456582584985639973*r21^21*v^6-\
5111451618423907772862707777897485903565811181057354040324996741*r21^21*v^7-\
165654881695139181002141793410269209588162528558653101046814334018*r21^21*v^4-\
59005948270060915853760759938158083356866073027478507982000891616*r21^27*v^5-\
1652379913397056456867715867210582865654172809090302248027994081*r21^27*v^7+
2655929079857355703670243227522434030776211954738372642585740793*r21^27*v^6-\
18523835956206390604473445397931983608839388283427362149961353498*r21^27*v^4-\
15310455064776066592528158945189572557897447589845120536523925188*r21^30*v^5+
764456195104455351858967330159420540417027143922879376658660214*r21^30*v^6-\
414910876129560753259476523217755010287345014979431211685979278*r21^30*v^7+
1708205637103817501373121475554621533880221809910912938664585226*r21^30*v^4+
13608700478588061368194283075921246514457491720297398058223616)/
     27820261911937624493044238950858703689683608488977302021079040:

# v_reduce is a function which reduces the exponent of v in a polynomial.
# The output degree is at most 7.

v_reduce := x -> simplify(rem(collect(x, v), vpoly8, v));

# r21 satisfies r21 poly, of degree 42 over Q(v).
# Anything of higher degree in r21 can be
# simplified, by taking a remainder
# modulo r21poly. Do that processing once,
# by building a set of substitutions
# {r21^42 = ..., r21^43 = ..., r21^123 = ...}

# This allows us to directly replace higher
# powers, after collect(expression, r21), where the input is
# a product of two or three degree-41 expressions in r21.

r21_higher_powers := {};
r21_j := r21^41;
for j from 42 to 123 do
    r21_j := collect(rem(r21*r21_j, r21poly, r21), r21, v_reduce);
    r21_higher_powers := r21_higher_powers union {r21^j = r21_j};
od:
# r21_j;

r21_reduce := x -> collect(subs(r21_higher_powers, collect(x, r21, v_reduce)),
                           r21, v_reduce);

#
# We also need powers of r32.
# These will occur only in expressions such as
# subs(var = r32, degree-41 expression in var) or
# subs(var = r32*r21, degree-41 expression in var)
# Here we need r32^0 to r32^41.
# These powers are stored in a set
# [r32sub^41 = ..., r32sub^40 = ..., r32sub^2 = ...]
# We substitute for r32sub^1 separately

r32_j := r32:
r32sub_powers := {};
for j from 2 to 41 do
    r32_j := r21_reduce(r32*r32_j);
    print(j, degree(r21_j, r21), degree(r21_j, v)); # Watch the clock advance
    r32sub_powers := r32sub_powers union {r32sub^j = r32_j};
od:

r32sub_eliminate := x -> r21_reduce(subs(r32sub_powers, r32sub = r32,
                                     collect(x, r32sub)));

test32:= r32sub_eliminate(subs(rx2 = r32sub, rx2poly));
                                  # Zero, so r32 is a root
lprint(test32);

# Iterate the r21 -> r32 map to get r4/r3, r5/r4, r6/r5, r7/r1, r1/r7

r43 := r32sub_eliminate(subs(r21 = r32sub, r32)):
r54 := r32sub_eliminate(subs(r21 = r32sub, r43)):
r65 := r32sub_eliminate(subs(r21 = r32sub, r54)):
r76 := r32sub_eliminate(subs(r21 = r32sub, r65)):
r17 := r32sub_eliminate(subs(r21 = r32sub, r76)):
r21check := r32sub_eliminate(subs(r21 = r32sub, r17)); # Expect r21

# Express r1 through r7 as multiples of r1

r3 := r21_reduce(r32*r2):
r4 := r21_reduce(r43*r3):
r5 := r21_reduce(r54*r4):
r6 := r21_reduce(r65*r5):
r7 := r21_reduce(r76*r6):
r1check := r21_reduce(r17*r7); # Expect r1

sym1 := collect(sym1, r1, r21_reduce): # Multiple of r1^2
sym1_cubed := collect(sym1*r21_reduce(sym1*sym1), r1, r21_reduce):
                                                 # Multiple of r1^6

       # Get the degree-7 polynomial satisfied by r1, ..., r7.
       # This gives us f(X) = X^7 + a1*X + a0.

fpoly := collect((X - r7)*(X - r6), X, r21_reduce):
fpoly := collect(fpoly*(X - r5), X, r21_reduce):
fpoly := collect(fpoly*(X - r4), X, r21_reduce):
fpoly := collect(fpoly*(X - r3), X, r21_reduce); # Involves only r1 and r2
fpoly := collect(fpoly*(X - r2)*(X - r1), X, normal);
coeff(fpoly, X, 7); # 1
coeff(fpoly, X, 6); # 0
coeff(fpoly, X, 5); # 0
coeff(fpoly, X, 4); # 0
coeff(fpoly, X, 3); # 0
coeff(fpoly, X, 2); # 0

# The sym1 expression is a multiple of r1^2
# a1f is also a multiple of r1^6. Solve sym1 = sym1val
# for r1^2 and plug into the a1f formula.
# The output a1f depends only on v, not on r1 and r2.

a1f := normal(simplify(coeff(fpoly, X, 1)*sym1val^3/sym1_cubed)); # Eliminate r1
a1test := simplify(a1f - a1claim, {vpoly8}); # Zero
;quit;

-- 
John Adams served two terms as Vice President and one as President, but lost
reelection.  Later his son became President despite losing the popular vote.
That son lost his reelection attempt badly.  Now history is repeating itself.
pmontgom@cwi.nl    Microsoft Research and CWI      Home: Bellevue, WA


Relevant Pages

  • Re: Coefficients of the Cyclotomic Polynomials
    ... Say we offset the roots of the unit circle by a complex number ... I know that for a0 and b=0 the coefficients are polynomials built by ... Defining the coefficients of the degree 5 polynomial using Pascal's ...
    (sci.math)
  • Re: factorization of multivariate polynomials
    ... the case of univariate factorization, why arent the zeroes of the polynomial ... Sure -- if it's a polynomial with small integer coefficients and low degree. ... complicated to consider all partitions of the roots looking for rational ... discriminant=0 variety there are subvarieties corresponding to polynomials ...
    (sci.math.symbolic)
  • Re: Some math, algebraic integers
    ... >> be related to the coefficients of their irreducible polynomials. ... > Roots of polynomials are not related to each other. ... There is a remarkable analogy with quantum mechanics. ...
    (sci.math)
  • Re: Root condition for polynomials
    ... in the above thread to transform to the interior of the unit circle. ... coefficients, the roots are real or come in complex-conjugate pairs. ... It is easy to extend this to polynomials of arbitrary degree. ...
    (sci.math.num-analysis)
  • Integrating Rational Functions
    ... as a linear combination of a rational function, ... tangents of polynomials of degree 1, ... of which will have real number coefficients. ... has complex roots that show up in complex conjugate ...
    (sci.math)