Re: ALGABRIC SOLUTION
From: Peter L. Montgomery (Peter-Lawrence.Montgomery_at_cwi.nl)
Date: 07/29/04
- Next message: Michael Wilmarth: "Applications Scientist - Mannheim, Germany"
- Previous message: Robert Israel: "Re: roots of polynomials"
- In reply to: M. A. Fajjal: "Re: ALGABRIC SOLUTION"
- Messages sorted by: [ date ] [ thread ]
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
- Next message: Michael Wilmarth: "Applications Scientist - Mannheim, Germany"
- Previous message: Robert Israel: "Re: roots of polynomials"
- In reply to: M. A. Fajjal: "Re: ALGABRIC SOLUTION"
- Messages sorted by: [ date ] [ thread ]
Relevant Pages
|