solve.rlg 82 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818
  1. Sun Aug 18 16:00:52 2002 run on Windows
  2. % Demonstration of the REDUCE SOLVE package.
  3. on fullroots;
  4. % To get complete solutions.
  5. % Simultaneous linear fractional equations.
  6. solve({(a*x+y)/(z-1)-3,y+b+z,x-y},{x,y,z});
  7. - 3*(b + 1)
  8. {{x=--------------,
  9. a + 4
  10. - 3*(b + 1)
  11. y=--------------,
  12. a + 4
  13. - a*b - b + 3
  14. z=----------------}}
  15. a + 4
  16. % Use of square-free factorization together with recursive use of
  17. % quadratic and binomial solutions.
  18. solve((x**6-x**3-1)*(x**5-1)**2*x**2);
  19. Unknown: x
  20. 2*sqrt( - sqrt(5) - 5) + sqrt(10) - sqrt(2)
  21. {x=---------------------------------------------,
  22. 4*sqrt(2)
  23. - 2*sqrt( - sqrt(5) - 5) + sqrt(10) - sqrt(2)
  24. x=------------------------------------------------,
  25. 4*sqrt(2)
  26. 2*sqrt(sqrt(5) - 5) - sqrt(10) - sqrt(2)
  27. x=------------------------------------------,
  28. 4*sqrt(2)
  29. - 2*sqrt(sqrt(5) - 5) - sqrt(10) - sqrt(2)
  30. x=---------------------------------------------,
  31. 4*sqrt(2)
  32. x=1,
  33. x=0,
  34. 1/3
  35. ( - sqrt(5) + 1) *(sqrt(3)*i - 1)
  36. x=-------------------------------------,
  37. 1/3
  38. 2*2
  39. 1/3
  40. - ( - sqrt(5) + 1) *(sqrt(3)*i + 1)
  41. x=----------------------------------------,
  42. 1/3
  43. 2*2
  44. 1/3
  45. ( - sqrt(5) + 1)
  46. x=---------------------,
  47. 1/3
  48. 2
  49. 1/3
  50. (sqrt(5) + 1) *(sqrt(3)*i - 1)
  51. x=----------------------------------,
  52. 1/3
  53. 2*2
  54. 1/3
  55. - (sqrt(5) + 1) *(sqrt(3)*i + 1)
  56. x=-------------------------------------,
  57. 1/3
  58. 2*2
  59. 1/3
  60. (sqrt(5) + 1)
  61. x=------------------}
  62. 1/3
  63. 2
  64. multiplicities!*;
  65. {2,2,2,2,2,2,1,1,1,1,1,1}
  66. % A singular equation without and with a consistent inhomogeneous term.
  67. solve(a,x);
  68. {}
  69. solve(0,x);
  70. {x=arbcomplex(1)}
  71. off solvesingular;
  72. solve(0,x);
  73. {}
  74. % Use of DECOMPOSE to solve high degree polynomials.
  75. solve(x**8-8*x**7+34*x**6-92*x**5+175*x**4-236*x**3+226*x**2-140*x+46);
  76. Unknown: x
  77. sqrt( - sqrt( - 4*sqrt(3) - 3) - 3)*sqrt(2) + 2
  78. {x=-------------------------------------------------,
  79. 2
  80. - sqrt( - sqrt( - 4*sqrt(3) - 3) - 3)*sqrt(2) + 2
  81. x=----------------------------------------------------,
  82. 2
  83. sqrt( - sqrt(4*sqrt(3) - 3) - 3)*sqrt(2) + 2
  84. x=----------------------------------------------,
  85. 2
  86. - sqrt( - sqrt(4*sqrt(3) - 3) - 3)*sqrt(2) + 2
  87. x=-------------------------------------------------,
  88. 2
  89. sqrt(sqrt( - 4*sqrt(3) - 3) - 3)*sqrt(2) + 2
  90. x=----------------------------------------------,
  91. 2
  92. - sqrt(sqrt( - 4*sqrt(3) - 3) - 3)*sqrt(2) + 2
  93. x=-------------------------------------------------,
  94. 2
  95. sqrt(sqrt(4*sqrt(3) - 3) - 3)*sqrt(2) + 2
  96. x=-------------------------------------------,
  97. 2
  98. - sqrt(sqrt(4*sqrt(3) - 3) - 3)*sqrt(2) + 2
  99. x=----------------------------------------------}
  100. 2
  101. solve(x**8-88*x**7+2924*x**6-43912*x**5+263431*x**4-218900*x**3+
  102. 65690*x**2-7700*x+234,x);
  103. {x=sqrt( - i + 116) + 11,
  104. x= - sqrt( - i + 116) + 11,
  105. x=sqrt(i + 116) + 11,
  106. x= - sqrt(i + 116) + 11,
  107. x=4*sqrt(7) + 11,
  108. x= - 4*sqrt(7) + 11,
  109. x=2*sqrt(30) + 11,
  110. x= - 2*sqrt(30) + 11}
  111. % Recursive use of inverses, including multiple branches of rational
  112. % fractional powers.
  113. solve(log(acos(asin(x**(2/3)-b)-1))+2,x);
  114. 1 1
  115. {x=sqrt(sin(cos(----) + 1) + b)*(sin(cos(----) + 1) + b),
  116. 2 2
  117. e e
  118. 1 1
  119. x= - sqrt(sin(cos(----) + 1) + b)*(sin(cos(----) + 1) + b)}
  120. 2 2
  121. e e
  122. % Square-free factors that are unsolvable, being of fifth degree,
  123. % transcendental, or without a defined inverse.
  124. operator f;
  125. solve((x-1)*(x+1)*(x-2)*(x+2)*(x-3)*(x*log(x)-1)*(f(x)-1),x);
  126. {f(x) - 1=0,
  127. x=root_of(log(x_)*x_ - 1,x_,tag_2),
  128. x=3,
  129. x=2,
  130. x=1,
  131. x=-1,
  132. x=-2}
  133. multiplicities!*;
  134. {1,1,1,1,1,1,1}
  135. % Factors with more than one distinct top-level kernel, the first factor
  136. % a cubic. (Cubic solution suppressed since it is too messy to be of
  137. % much use).
  138. off fullroots;
  139. solve((x**(1/2)-(x-a)**(1/3))*(acos x-acos(2*x-b))* (2*log x
  140. -log(x**2+x-c)-4),x);
  141. 2 4 4 2
  142. e *(sqrt(4*c*e - 4*c + e ) - e )
  143. {x=-----------------------------------,
  144. 4
  145. 2*(e - 1)
  146. 2 4 4 2
  147. - e *(sqrt(4*c*e - 4*c + e ) + e )
  148. x=--------------------------------------,
  149. 4
  150. 2*(e - 1)
  151. 2 3 2
  152. x=root_of(a - 2*a*x_ - x_ + x_ ,x_,tag_7),
  153. x=b}
  154. on fullroots;
  155. % Treatment of multiple-argument exponentials as polynomials.
  156. solve(a**(2*x)-3*a**x+2,x);
  157. 2*arbint(3)*i*pi + log(2)
  158. {x=---------------------------,
  159. log(a)
  160. 2*arbint(2)*i*pi
  161. x=------------------}
  162. log(a)
  163. % A 12th degree reciprocal polynomial that is irreductible over the
  164. % integers, having a reduced polynomial that is also reciprocal.
  165. % (Reciprocal polynomials are those that have symmetric or antisymmetric
  166. % coefficient patterns.) We also demonstrate suppression of automatic
  167. % integer root extraction.
  168. solve(x**12-4*x**11+12*x**10-28*x**9+45*x**8-68*x**7+69*x**6-68*x**5+
  169. 45*x**4-28*x**3+12*x**2-4*x+1);
  170. Unknown: x
  171. sqrt( - sqrt(5) - 3)
  172. {x=----------------------,
  173. sqrt(2)
  174. - sqrt( - sqrt(5) - 3)
  175. x=-------------------------,
  176. sqrt(2)
  177. 2*sqrt( - sqrt(3)*i - 9) - sqrt(6)*i + sqrt(2)
  178. x=------------------------------------------------,
  179. 4*sqrt(2)
  180. - 2*sqrt( - sqrt(3)*i - 9) - sqrt(6)*i + sqrt(2)
  181. x=---------------------------------------------------,
  182. 4*sqrt(2)
  183. 2*sqrt( - 3*sqrt(5) - 1) - sqrt(10) + 3*sqrt(2)
  184. x=-------------------------------------------------,
  185. 4*sqrt(2)
  186. - 2*sqrt( - 3*sqrt(5) - 1) - sqrt(10) + 3*sqrt(2)
  187. x=----------------------------------------------------,
  188. 4*sqrt(2)
  189. 2*sqrt(sqrt(3)*i - 9) + sqrt(6)*i + sqrt(2)
  190. x=---------------------------------------------,
  191. 4*sqrt(2)
  192. - 2*sqrt(sqrt(3)*i - 9) + sqrt(6)*i + sqrt(2)
  193. x=------------------------------------------------,
  194. 4*sqrt(2)
  195. 2*sqrt(3*sqrt(5) - 1) + sqrt(10) + 3*sqrt(2)
  196. x=----------------------------------------------,
  197. 4*sqrt(2)
  198. - 2*sqrt(3*sqrt(5) - 1) + sqrt(10) + 3*sqrt(2)
  199. x=-------------------------------------------------,
  200. 4*sqrt(2)
  201. i*(sqrt(5) - 1)
  202. x=-----------------,
  203. 2
  204. i*( - sqrt(5) + 1)
  205. x=--------------------}
  206. 2
  207. % The treatment of factors with non-unique inverses by introducing
  208. % unique new real or integer indeterminant kernels.
  209. solve((sin x-a)*(2**x-b)*(x**c-3),x);
  210. {x=2*arbint(6)*pi + asin(a),
  211. x=2*arbint(6)*pi - asin(a) + pi,
  212. 2*arbint(5)*i*pi + log(b)
  213. x=---------------------------,
  214. log(2)
  215. 1/c 2*arbint(4)*pi 2*arbint(4)*pi
  216. x=3 *(cos(----------------) + sin(----------------)*i)}
  217. c c
  218. % Automatic restriction to principal branches.
  219. off allbranch;
  220. solve((sin x-a)*(2**x-b)*(x**c-3),x);
  221. {x=asin(a),
  222. 1/c
  223. x=3 ,
  224. log(b)
  225. x=--------}
  226. log(2)
  227. % Regular system of linear equations.
  228. solve({2*x1+x2+3*x3-9,x1-2*x2+x3+2,3*x1+2*x2+2*x3-7}, {x1,x2,x3});
  229. {{x1=-1,x2=2,x3=3}}
  230. % Underdetermined system of linear equations.
  231. on solvesingular;
  232. solve({x1-4*x2+2*x3+1,2*x1-3*x2-x3-5*x4+7,3*x1-7*x2+x3-5*x4+8},
  233. {x1,x2,x3,x4});
  234. {{x1=4*arbcomplex(8) + 2*arbcomplex(7) - 5,
  235. x2=arbcomplex(8) + arbcomplex(7) - 1,
  236. x3=arbcomplex(7),
  237. x4=arbcomplex(8)}}
  238. % Inconsistent system of linear equations.
  239. solve({2*x1+3*x2-x3-2,7*x1+4*x2+2*x3-8,3*x1-2*x2+4*x3-5},
  240. {x1,x2,x3});
  241. {}
  242. % Overdetermined system of linear equations.
  243. solve({x1-x2+x3-12,2*x1+3*x2-x3-13,3*x2+4*x3-5,-3*x1+x2+4*x3+20},
  244. {x1,x2,x3});
  245. {{x1=9,x2=-1,x3=2}}
  246. % Degenerate system of linear equations.
  247. operator xx,yy;
  248. yy(1) := -a**2*b**3-3*a**2*b**2-3*a**2*b+a**2*(xx(3)-2)-a*b-a*c+a*(xx(2)
  249. -xx(5))-xx(4)-xx(5)+xx(1)-1;
  250. 2 2 3
  251. yy(1) := - xx(5)*a - xx(5) - xx(4) + xx(3)*a + xx(2)*a + xx(1) - a *b
  252. 2 2 2 2
  253. - 3*a *b - 3*a *b - 2*a - a*b - a*c - 1
  254. yy(2) := -a*b**3-b**5+b**4*(-xx(4)-xx(5)+xx(1)-5)-b**3*c+b**3*(xx(2)
  255. -xx(5)-3)+b**2*(xx(3)-1);
  256. 2 2 2 2
  257. yy(2) := b *( - xx(5)*b - xx(5)*b - xx(4)*b + xx(3) + xx(2)*b + xx(1)*b - a*b
  258. 3 2
  259. - b - 5*b - b*c - 3*b - 1)
  260. yy(3) := -a*b**3*c-3*a*b**2*c-4*a*b*c+a*b*(-xx(4)-xx(5)+xx(1)-1)
  261. +a*c*(xx(3)-1)-b**2*c-b*c**2+b*c*(xx(2)-xx(5));
  262. yy(3) := - xx(5)*a*b - xx(5)*b*c - xx(4)*a*b + xx(3)*a*c + xx(2)*b*c
  263. 3 2 2 2
  264. + xx(1)*a*b - a*b *c - 3*a*b *c - 4*a*b*c - a*b - a*c - b *c - b*c
  265. yy(4) := -a**2-a*c+a*(xx(2)-xx(4)-2*xx(5)+xx(1)-1)-b**4-b**3*c-3*b**3
  266. -3*b**2*c-2*b**2-2*b*c+b*(xx(3)-xx(2)-xx(4)+xx(1)-2)
  267. +c*(xx(3)-1);
  268. yy(4) := - 2*xx(5)*a - xx(4)*a - xx(4)*b + xx(3)*b + xx(3)*c + xx(2)*a
  269. 2 4 3 3
  270. - xx(2)*b + xx(1)*a + xx(1)*b - a - a*c - a - b - b *c - 3*b
  271. 2 2
  272. - 3*b *c - 2*b - 2*b*c - 2*b - c
  273. yy(5) := -2*a-3*b**3-9*b**2-11*b-2*c+3*xx(3)+2*xx(2)-xx(4)-3*xx(5)+xx(1)
  274. -4;
  275. 3 2
  276. yy(5) := - 3*xx(5) - xx(4) + 3*xx(3) + 2*xx(2) + xx(1) - 2*a - 3*b - 9*b
  277. - 11*b - 2*c - 4
  278. soln := solve({yy(1),yy(2),yy(3),yy(4),yy(5)},
  279. {xx(1),xx(2),xx(3),xx(4),xx(5)});
  280. soln := {{xx(1)=arbcomplex(10) + arbcomplex(9) + 1,
  281. xx(2)=arbcomplex(10) + a + b + c,
  282. 3 2
  283. xx(3)=b + 3*b + 3*b + 1,
  284. xx(4)=arbcomplex(9),
  285. xx(5)=arbcomplex(10)}}
  286. for i := 1:5 do xx(i) := part(soln,1,i,2);
  287. for i := 1:5 do write yy(i);
  288. 0
  289. 0
  290. 0
  291. 0
  292. 0
  293. % Single equations liftable to polynomial systems.
  294. solve ({a*sin x + b*cos x},{x});
  295. 2 2
  296. sqrt(a + b ) - a
  297. {x= - 2*atan(-------------------),
  298. b
  299. 2 2
  300. sqrt(a + b ) + a
  301. x=2*atan(-------------------)}
  302. b
  303. solve ({a*sin(x+1) + b*cos(x+1)},{x});
  304. 2 2
  305. sqrt(a + b ) - a
  306. {x= - 2*atan(-------------------) - 1,
  307. b
  308. 2 2
  309. sqrt(a + b ) + a
  310. x=2*atan(-------------------) - 1}
  311. b
  312. % Intersection of 2 curves: system with a free parameter.
  313. solve ({sqrt(x^2 + y^2)=r,0=sqrt(x)+ y**3-1},{x,y,r});
  314. 6 3
  315. {{x=y - 2*y + 1,
  316. y=arbcomplex(12),
  317. 12 9 6 3 2
  318. r=sqrt(y - 4*y + 6*y - 4*y + y + 1)},
  319. 6 3
  320. {x=y - 2*y + 1,
  321. y=arbcomplex(11),
  322. 12 9 6 3 2
  323. r= - sqrt(y - 4*y + 6*y - 4*y + y + 1)}}
  324. solve ({e^x - e^(1/2 * x) - 7},{x});
  325. - sqrt(29) + 1
  326. {x=2*log(-----------------),
  327. 2
  328. sqrt(29) + 1
  329. x=2*log(--------------)}
  330. 2
  331. % Generally not liftable.
  332. % variable inside and outside of sin.
  333. solve({sin x + x - 1/2},{x});
  334. {x=root_of(2*sin(x_) + 2*x_ - 1,x_,tag_12)}
  335. % Variable inside and outside of exponential.
  336. solve({e^x - x**2},{x});
  337. - 1
  338. {x= - 2*lambert_w(------)}
  339. 2
  340. % Variable inside trigonometrical functions with different forms.
  341. solve ({a*sin(x+1) + b*cos(x+2)},{x});
  342. 2 2
  343. {x=2*atan((cos(1)*a - sqrt(2*cos(2)*sin(1)*a*b - 2*cos(1)*sin(2)*a*b + a + b )
  344. - sin(2)*b)/(cos(2)*b + sin(1)*a)),
  345. 2 2
  346. x=2*atan((cos(1)*a + sqrt(2*cos(2)*sin(1)*a*b - 2*cos(1)*sin(2)*a*b + a + b )
  347. - sin(2)*b)/(cos(2)*b + sin(1)*a))}
  348. % Undetermined exponents.
  349. solve({x^a - 2},{x});
  350. 1/a
  351. {x=2 }
  352. % Example taken from M.L. Griss, ACM Trans. Math. Softw. 2 (1976) 1.
  353. e1 := x1 - l/(3*k)$
  354. e2 := x2 - 1$
  355. e3 := x3 - 35*b6/(6*l)*x4 + 33*b11/(2*l)*x6 - 715*b15/(14*l)*x8$
  356. e4 := 14*k/(3*l)*x1 - 7*b4/(2*l)*x3 + x4$
  357. e5 := x5 - 891*b11/(40*l)*x6 +3861*b15/(56*l)*x8$
  358. e6 := -88*k/(15*l)*x1 + 22*b4/(5*l)*x3 - 99*b9/(8*l)*x5 +x6$
  359. e7 := -768*k/(5005*b13)*x1 + 576*b4/(5005*b13)*x3 -
  360. 324*b9/(1001*b13)*x5 + x7 - 16*l/(715*b13)*x8$
  361. e8 := 7*l/(143*b15)*x1 + 49*b6/(429*b15)*x4 - 21*b11/(65*b15)*x6 +
  362. x8 - 7*b2/(143*b15)$
  363. solve({e1,e2,e3,e4,e5,e6,e7,e8},{x1,x2,x3,x4,x5,x6,x7,x8});
  364. l
  365. {{x1=-----,
  366. 3*k
  367. x2=1,
  368. 2
  369. 5*(3*b2*k - l )
  370. x3=-----------------,
  371. 6*k*l
  372. 2 2
  373. 7*(45*b2*b4*k - 15*b4*l - 8*k*l )
  374. x4=------------------------------------,
  375. 2
  376. 36*k*l
  377. 2 2 2 4
  378. 2205*b2*b4*b6*k - 108*b2*k*l - 735*b4*b6*l - 392*b6*k*l + 36*l
  379. x5=--------------------------------------------------------------------,
  380. 3
  381. 32*k*l
  382. 2 2
  383. x6=(11*(893025*b2*b4*b6*b9*k - 11520*b2*b4*k*l - 43740*b2*b9*k*l
  384. 2 4 2 4
  385. - 297675*b4*b6*b9*l + 3840*b4*l - 158760*b6*b9*k*l + 14580*b9*l
  386. 4 4
  387. + 2048*k*l ))/(11520*k*l ),
  388. 2
  389. x7=(47652707025*b11*b2*b4*b6*b9*k - 614718720*b11*b2*b4*k*l
  390. 2 2
  391. - 2334010140*b11*b2*b9*k*l - 15884235675*b11*b4*b6*b9*l
  392. 4 2 4
  393. + 204906240*b11*b4*l - 8471592360*b11*b6*b9*k*l + 778003380*b11*b9*l
  394. 4
  395. + 109283328*b11*k*l + 172398476250*b15*b2*b4*b6*b9*k
  396. 2 2
  397. - 2223936000*b15*b2*b4*k*l - 8444007000*b15*b2*b9*k*l
  398. 2 4
  399. - 57466158750*b15*b4*b6*b9*l + 741312000*b15*b4*l
  400. 2 4 4
  401. - 30648618000*b15*b6*b9*k*l + 2814669000*b15*b9*l + 395366400*b15*k*l
  402. 2 4 4
  403. - 172872000*b2*b4*b6*k*l + 8467200*b2*k*l + 57624000*b4*b6*l
  404. 4 6 3
  405. + 30732800*b6*k*l - 2822400*l )/(7729722000*b13*b15*k*l ),
  406. 2
  407. x8=(7*(972504225*b11*b2*b4*b6*b9*k - 12545280*b11*b2*b4*k*l
  408. 2 2
  409. - 47632860*b11*b2*b9*k*l - 324168075*b11*b4*b6*b9*l
  410. 4 2 4
  411. + 4181760*b11*b4*l - 172889640*b11*b6*b9*k*l + 15877620*b11*b9*l
  412. 4 2 4
  413. + 2230272*b11*k*l - 3528000*b2*b4*b6*k*l + 172800*b2*k*l
  414. 4 4 6 4
  415. + 1176000*b4*b6*l + 627200*b6*k*l - 57600*l ))/(24710400*b15*k*l )}}
  416. f1 := x1 - x*x2 - y*x3 + 1/2*x**2*x4 + x*y*x5 + 1/2*y**2*x6 +
  417. 1/6*x**3*x7 + 1/2*x*y*(x - y)*x8 - 1/6*y**3*x9$
  418. f2 := x1 - y*x3 + 1/2*y**2*x6 - 1/6*y**3*x9$
  419. f3 := x1 + y*x2 - y*x3 + 1/2*y**2*x4 - y**2*x5 + 1/2*y**2*x6 +
  420. 1/6*y**3*x7 + 1/2*y**3*x8 - 1/6*y**3*x9$
  421. f4 := x1 + (1 - x)*x2 - x*x3 + 1/2*(1 - x)**2*x4 - y*(1 - x)*x5 +
  422. 1/2*y**2*x6 + 1/6*(1 - x)**3*x7 + 1/2*y*(1 - x - y)*(1 - x)*x8
  423. - 1/6*y**3*x9$
  424. f5 := x1 + (1 - x - y)*x2 + 1/2*(1 - x - y)**2*x4 +
  425. 1/6*(1 - x - y)**3*x7$
  426. f6 := x1 + (1 - x - y)*x3 + 1/2*(1 - x - y)*x6 +
  427. 1/6*(1 - x - y)**3*x9$
  428. f7 := x1 - x*x2 + (1 - y)*x3 + 1/2*x*x4 - x*(1 - y)*x5 +
  429. 1/2*(1 - y)**2*x6 - 1/6*x**3*x7 + 1/2*x*(1 - y)*(1 - y + x)*x8
  430. + 1/6*(1-y)**3*x9$
  431. f8 := x1 - x*x2 + x*x3 + 1/2*x**2*x4 - x**2*x5 + 1/2*x**2*x6 +
  432. 1/6*x**3*x7 - 1/2*x**3*x8 + 1/6*x**3*x9$
  433. f9 := x1 - x*x2 + 1/2*x**2*x4 + 1/6*x**3*x7$
  434. solve({f1,f2,f3,f4,f5,f6,f7,f8,f9},{x1,x2,x3,x4,x5,x6,x7,x8,x9});
  435. {{x1=0,x2=0,x3=0,x4=0,x5=0,x6=0,x7=0,x8=0,x9=0}}
  436. solve({f1 - 1,f2,f3,f4,f5,f6,f7,f8,f9},{x1,x2,x3,x4,x5,x6,x7,x8,x9});
  437. 8 8 7 3 7 2 7 7 6 4
  438. {{x1=(y*( - 8*x *y + 10*x + 9*x *y - 49*x *y + 85*x *y - 43*x + 23*x *y
  439. 6 3 6 2 6 6 5 5 5 4
  440. - 128*x *y + 266*x *y - 246*x *y + 77*x + 20*x *y - 145*x *y
  441. 5 3 5 2 5 5 4 6 4 5
  442. + 383*x *y - 512*x *y + 329*x *y - 75*x + 9*x *y - 84*x *y
  443. 4 4 4 3 4 2 4 4 3 7
  444. + 276*x *y - 469*x *y + 464*x *y - 233*x *y + 43*x + 3*x *y
  445. 3 6 3 5 3 4 3 3 3 2 3
  446. - 23*x *y + 97*x *y - 196*x *y + 245*x *y - 201*x *y + 87*x *y
  447. 3 2 8 2 7 2 6 2 5 2 4
  448. - 14*x - 2*x *y + 13*x *y - 25*x *y + 23*x *y - 10*x *y
  449. 2 3 2 2 2 2 9 8 7
  450. - 17*x *y + 31*x *y - 15*x *y + 2*x - 2*x*y + 10*x*y - 24*x*y
  451. 6 5 4 3 2 6 5
  452. + 41*x*y - 57*x*y + 53*x*y - 24*x*y + 2*x*y + x*y - 2*y + 7*y
  453. 4 3 2 10 10 9 2 9 9
  454. - 9*y + 5*y - y ))/(2*x *y - 4*x + 8*x *y - 24*x *y + 20*x
  455. 8 3 8 2 8 8 7 4 7 3 7 2
  456. + x *y - 17*x *y + 47*x *y - 31*x - 24*x *y + 92*x *y - 105*x *y
  457. 7 7 6 5 6 4 6 3 6 2
  458. + 18*x *y + 15*x - 28*x *y + 172*x *y - 350*x *y + 308*x *y
  459. 6 6 5 6 5 5 5 4 5 3
  460. - 104*x *y + 4*x - 14*x *y + 103*x *y - 290*x *y + 401*x *y
  461. 5 2 5 5 4 7 4 6 4 5 4 4
  462. - 278*x *y + 83*x *y - 5*x + 6*x *y - 35*x *y + 14*x *y + 90*x *y
  463. 4 3 4 2 4 4 3 8 3 7
  464. - 149*x *y + 97*x *y - 24*x *y + x + 20*x *y - 118*x *y
  465. 3 6 3 5 3 4 3 3 3 2 3
  466. + 244*x *y - 237*x *y + 117*x *y - 21*x *y - 7*x *y + 2*x *y
  467. 2 9 2 8 2 7 2 6 2 5 2 4
  468. + 13*x *y - 86*x *y + 228*x *y - 294*x *y + 204*x *y - 86*x *y
  469. 2 3 2 2 10 9 8 7
  470. + 23*x *y - 2*x *y + 4*x*y - 31*x*y + 84*x*y - 121*x*y
  471. 6 5 4 3 9 8 7 6
  472. + 100*x*y - 48*x*y + 15*x*y - 3*x*y + 4*y - 12*y + 15*y - 9*y
  473. 5
  474. + 2*y ),
  475. 10 10 9 2 9 9 8 3 8 2 8
  476. x2=(2*x *y - 2*x + 5*x *y - 12*x *y + 7*x - 8*x *y + 9*x *y + 2*x *y
  477. 8 7 4 7 3 7 2 7 7 6 5
  478. - x - 15*x *y + 65*x *y - 83*x *y + 52*x *y - 17*x + 5*x *y
  479. 6 4 6 3 6 2 6 6 5 6 5 5
  480. - 5*x *y - 20*x *y + 46*x *y - 54*x *y + 20*x + 23*x *y - 151*x *y
  481. 5 4 5 3 5 2 5 5 4 7
  482. + 321*x *y - 338*x *y + 166*x *y - 13*x *y - 8*x + 29*x *y
  483. 4 6 4 5 4 4 4 3 4 2 4
  484. - 207*x *y + 523*x *y - 676*x *y + 522*x *y - 222*x *y + 36*x *y
  485. 4 3 8 3 7 3 6 3 5 3 4
  486. + x + 16*x *y - 103*x *y + 300*x *y - 463*x *y + 433*x *y
  487. 3 3 3 2 3 2 9 2 7 2 6 2 5
  488. - 268*x *y + 98*x *y - 15*x *y - x *y + 22*x *y - 54*x *y + 60*x *y
  489. 2 4 2 3 2 2 2 10 9 8
  490. - 56*x *y + 44*x *y - 17*x *y + 2*x *y - 2*x*y + 10*x*y - 22*x*y
  491. 7 6 5 4 3 2 7 6
  492. + 34*x*y - 48*x*y + 48*x*y - 23*x*y + 2*x*y + x*y - 2*y + 7*y
  493. 5 4 3 10 10 9 2 9 9
  494. - 9*y + 5*y - y )/(x*(2*x *y - 4*x + 8*x *y - 24*x *y + 20*x
  495. 8 3 8 2 8 8 7 4 7 3
  496. + x *y - 17*x *y + 47*x *y - 31*x - 24*x *y + 92*x *y
  497. 7 2 7 7 6 5 6 4 6 3
  498. - 105*x *y + 18*x *y + 15*x - 28*x *y + 172*x *y - 350*x *y
  499. 6 2 6 6 5 6 5 5 5 4
  500. + 308*x *y - 104*x *y + 4*x - 14*x *y + 103*x *y - 290*x *y
  501. 5 3 5 2 5 5 4 7 4 6
  502. + 401*x *y - 278*x *y + 83*x *y - 5*x + 6*x *y - 35*x *y
  503. 4 5 4 4 4 3 4 2 4 4
  504. + 14*x *y + 90*x *y - 149*x *y + 97*x *y - 24*x *y + x
  505. 3 8 3 7 3 6 3 5 3 4
  506. + 20*x *y - 118*x *y + 244*x *y - 237*x *y + 117*x *y
  507. 3 3 3 2 3 2 9 2 8 2 7
  508. - 21*x *y - 7*x *y + 2*x *y + 13*x *y - 86*x *y + 228*x *y
  509. 2 6 2 5 2 4 2 3 2 2 10
  510. - 294*x *y + 204*x *y - 86*x *y + 23*x *y - 2*x *y + 4*x*y
  511. 9 8 7 6 5 4
  512. - 31*x*y + 84*x*y - 121*x*y + 100*x*y - 48*x*y + 15*x*y
  513. 3 9 8 7 6 5
  514. - 3*x*y + 4*y - 12*y + 15*y - 9*y + 2*y )),
  515. 9 9 8 2 8 8 7 3 7 2 7
  516. x3=(2*x *y - 4*x + 8*x *y - 32*x *y + 26*x + 9*x *y - 70*x *y + 131*x *y
  517. 7 6 4 6 3 6 2 6 6 5 5
  518. - 66*x + 7*x *y - 73*x *y + 226*x *y - 253*x *y + 89*x + 11*x *y
  519. 5 4 5 3 5 2 5 5 4 6
  520. - 81*x *y + 244*x *y - 383*x *y + 280*x *y - 73*x + 13*x *y
  521. 4 5 4 4 4 3 4 2 4 4
  522. - 89*x *y + 235*x *y - 367*x *y + 360*x *y - 189*x *y + 39*x
  523. 3 7 3 6 3 5 3 4 3 3 3 2
  524. + 9*x *y - 59*x *y + 156*x *y - 227*x *y + 231*x *y - 171*x *y
  525. 3 3 2 8 2 7 2 6 2 5 2 4
  526. + 74*x *y - 13*x + 3*x *y - 21*x *y + 62*x *y - 78*x *y + 51*x *y
  527. 2 3 2 2 2 2 8 7 6
  528. - 35*x *y + 30*x *y - 14*x *y + 2*x - 5*x*y + 18*x*y - 22*x*y
  529. 5 4 3 2 8 7 6 5 4
  530. - x*y + 21*x*y - 13*x*y + x*y + x*y + 2*y - 6*y + 6*y + y - 6*y
  531. 3 2 10 10 9 2 9 9 8 3
  532. + 4*y - y )/(2*x *y - 4*x + 8*x *y - 24*x *y + 20*x + x *y
  533. 8 2 8 8 7 4 7 3 7 2
  534. - 17*x *y + 47*x *y - 31*x - 24*x *y + 92*x *y - 105*x *y
  535. 7 7 6 5 6 4 6 3 6 2
  536. + 18*x *y + 15*x - 28*x *y + 172*x *y - 350*x *y + 308*x *y
  537. 6 6 5 6 5 5 5 4 5 3
  538. - 104*x *y + 4*x - 14*x *y + 103*x *y - 290*x *y + 401*x *y
  539. 5 2 5 5 4 7 4 6 4 5 4 4
  540. - 278*x *y + 83*x *y - 5*x + 6*x *y - 35*x *y + 14*x *y + 90*x *y
  541. 4 3 4 2 4 4 3 8 3 7
  542. - 149*x *y + 97*x *y - 24*x *y + x + 20*x *y - 118*x *y
  543. 3 6 3 5 3 4 3 3 3 2 3
  544. + 244*x *y - 237*x *y + 117*x *y - 21*x *y - 7*x *y + 2*x *y
  545. 2 9 2 8 2 7 2 6 2 5 2 4
  546. + 13*x *y - 86*x *y + 228*x *y - 294*x *y + 204*x *y - 86*x *y
  547. 2 3 2 2 10 9 8 7
  548. + 23*x *y - 2*x *y + 4*x*y - 31*x*y + 84*x*y - 121*x*y
  549. 6 5 4 3 9 8 7 6
  550. + 100*x*y - 48*x*y + 15*x*y - 3*x*y + 4*y - 12*y + 15*y - 9*y
  551. 5
  552. + 2*y ),
  553. 9 9 8 2 8 8 7 3 7 2 7
  554. x4=(2*(2*x *y - 2*x + 4*x *y - 10*x *y + 6*x - 9*x *y + 21*x *y - 13*x *y
  555. 7 6 4 6 3 6 2 6 6 5 5
  556. + x - 18*x *y + 88*x *y - 130*x *y + 74*x *y - 14*x - 10*x *y
  557. 5 4 5 3 5 2 5 5 4 6
  558. + 74*x *y - 180*x *y + 191*x *y - 90*x *y + 15*x + 4*x *y
  559. 4 5 4 4 4 3 4 2 4 4
  560. - 18*x *y - 20*x *y + 105*x *y - 111*x *y + 47*x *y - 7*x
  561. 3 7 3 6 3 5 3 4 3 3 3 2
  562. + 16*x *y - 96*x *y + 188*x *y - 155*x *y + 44*x *y + 8*x *y
  563. 3 3 2 8 2 7 2 6 2 5
  564. - 6*x *y + x + 10*x *y - 62*x *y + 164*x *y - 219*x *y
  565. 2 4 2 3 2 2 2 9 8 7
  566. + 154*x *y - 56*x *y + 10*x *y - x *y + x*y - 13*x*y + 45*x*y
  567. 6 5 4 3 2 8 7 6
  568. - 72*x*y + 64*x*y - 35*x*y + 12*x*y - 2*x*y + 2*y - 7*y + 9*y
  569. 5 4 10 10 9 2 9 9 8 3
  570. - 5*y + y ))/(x*(2*x *y - 4*x + 8*x *y - 24*x *y + 20*x + x *y
  571. 8 2 8 8 7 4 7 3 7 2
  572. - 17*x *y + 47*x *y - 31*x - 24*x *y + 92*x *y - 105*x *y
  573. 7 7 6 5 6 4 6 3 6 2
  574. + 18*x *y + 15*x - 28*x *y + 172*x *y - 350*x *y + 308*x *y
  575. 6 6 5 6 5 5 5 4 5 3
  576. - 104*x *y + 4*x - 14*x *y + 103*x *y - 290*x *y + 401*x *y
  577. 5 2 5 5 4 7 4 6 4 5
  578. - 278*x *y + 83*x *y - 5*x + 6*x *y - 35*x *y + 14*x *y
  579. 4 4 4 3 4 2 4 4 3 8
  580. + 90*x *y - 149*x *y + 97*x *y - 24*x *y + x + 20*x *y
  581. 3 7 3 6 3 5 3 4 3 3 3 2
  582. - 118*x *y + 244*x *y - 237*x *y + 117*x *y - 21*x *y - 7*x *y
  583. 3 2 9 2 8 2 7 2 6 2 5
  584. + 2*x *y + 13*x *y - 86*x *y + 228*x *y - 294*x *y + 204*x *y
  585. 2 4 2 3 2 2 10 9 8
  586. - 86*x *y + 23*x *y - 2*x *y + 4*x*y - 31*x*y + 84*x*y
  587. 7 6 5 4 3 9 8
  588. - 121*x*y + 100*x*y - 48*x*y + 15*x*y - 3*x*y + 4*y - 12*y
  589. 7 6 5
  590. + 15*y - 9*y + 2*y )),
  591. 10 10 9 2 9 9 8 3 8 2 8
  592. x5=(2*x *y - 2*x + 7*x *y - 16*x *y + 7*x - 3*x *y - 11*x *y + 21*x *y
  593. 8 7 4 7 3 7 2 7 7 6 5
  594. - x - 18*x *y + 60*x *y - 46*x *y + 23*x *y - 17*x - 4*x *y
  595. 6 4 6 3 6 2 6 6 5 6 5 5
  596. + 38*x *y - 70*x *y + 40*x *y - 36*x *y + 20*x + 14*x *y - 86*x *y
  597. 5 4 5 3 5 2 5 5 4 7
  598. + 164*x *y - 182*x *y + 114*x *y - 14*x *y - 8*x + 24*x *y
  599. 4 6 4 5 4 4 4 3 4 2 4
  600. - 167*x *y + 387*x *y - 455*x *y + 348*x *y - 164*x *y + 32*x *y
  601. 4 3 8 3 7 3 6 3 5 3 4
  602. + x + 21*x *y - 130*x *y + 339*x *y - 458*x *y + 370*x *y
  603. 3 3 3 2 3 2 9 2 8 2 7
  604. - 211*x *y + 81*x *y - 14*x *y + 5*x *y - 43*x *y + 140*x *y
  605. 2 6 2 5 2 4 2 3 2 2 2
  606. - 209*x *y + 165*x *y - 86*x *y + 42*x *y - 16*x *y + 2*x *y
  607. 9 8 7 6 5 4 3 2
  608. - 5*x*y + 20*x*y - 32*x*y + 16*x*y + 8*x*y - 9*x*y + x*y + x*y
  609. 9 8 7 6 5 4 3 10 10
  610. + 2*y - 6*y + 6*y + y - 6*y + 4*y - y )/(x*y*(2*x *y - 4*x
  611. 9 2 9 9 8 3 8 2 8 8
  612. + 8*x *y - 24*x *y + 20*x + x *y - 17*x *y + 47*x *y - 31*x
  613. 7 4 7 3 7 2 7 7 6 5
  614. - 24*x *y + 92*x *y - 105*x *y + 18*x *y + 15*x - 28*x *y
  615. 6 4 6 3 6 2 6 6 5 6
  616. + 172*x *y - 350*x *y + 308*x *y - 104*x *y + 4*x - 14*x *y
  617. 5 5 5 4 5 3 5 2 5 5
  618. + 103*x *y - 290*x *y + 401*x *y - 278*x *y + 83*x *y - 5*x
  619. 4 7 4 6 4 5 4 4 4 3 4 2
  620. + 6*x *y - 35*x *y + 14*x *y + 90*x *y - 149*x *y + 97*x *y
  621. 4 4 3 8 3 7 3 6 3 5
  622. - 24*x *y + x + 20*x *y - 118*x *y + 244*x *y - 237*x *y
  623. 3 4 3 3 3 2 3 2 9 2 8
  624. + 117*x *y - 21*x *y - 7*x *y + 2*x *y + 13*x *y - 86*x *y
  625. 2 7 2 6 2 5 2 4 2 3 2 2
  626. + 228*x *y - 294*x *y + 204*x *y - 86*x *y + 23*x *y - 2*x *y
  627. 10 9 8 7 6 5
  628. + 4*x*y - 31*x*y + 84*x*y - 121*x*y + 100*x*y - 48*x*y
  629. 4 3 9 8 7 6 5
  630. + 15*x*y - 3*x*y + 4*y - 12*y + 15*y - 9*y + 2*y )),
  631. 9 9 8 2 8 8 7 3 7 2
  632. x6=(2*(2*x *y - 4*x + 8*x *y - 24*x *y + 16*x - 2*x *y - 19*x *y
  633. 7 7 6 4 6 3 6 2 6 6
  634. + 50*x *y - 23*x - 20*x *y + 71*x *y - 46*x *y - 15*x *y + 12*x
  635. 5 5 5 4 5 3 5 2 5 5
  636. - 8*x *y + 82*x *y - 195*x *y + 155*x *y - 46*x *y + 2*x
  637. 4 6 4 5 4 4 4 3 4 2 4
  638. + 8*x *y - 11*x *y - 81*x *y + 184*x *y - 142*x *y + 46*x *y
  639. 4 3 6 3 5 3 4 3 3 3 2 3
  640. - 4*x - 21*x *y + 50*x *y + x *y - 60*x *y + 49*x *y - 14*x *y
  641. 3 2 8 2 7 2 6 2 5 2 4 2 3
  642. + x + 6*x *y - 34*x *y + 82*x *y - 99*x *y + 54*x *y - 8*x *y
  643. 2 2 2 8 7 6 5 4
  644. - 4*x *y + x *y - 6*x*y + 38*x*y - 79*x*y + 78*x*y - 41*x*y
  645. 3 2 7 6 5 4 3 10
  646. + 11*x*y - x*y - 4*y + 10*y - 10*y + 5*y - y ))/(y*(2*x *y
  647. 10 9 2 9 9 8 3 8 2 8
  648. - 4*x + 8*x *y - 24*x *y + 20*x + x *y - 17*x *y + 47*x *y
  649. 8 7 4 7 3 7 2 7 7
  650. - 31*x - 24*x *y + 92*x *y - 105*x *y + 18*x *y + 15*x
  651. 6 5 6 4 6 3 6 2 6 6
  652. - 28*x *y + 172*x *y - 350*x *y + 308*x *y - 104*x *y + 4*x
  653. 5 6 5 5 5 4 5 3 5 2 5
  654. - 14*x *y + 103*x *y - 290*x *y + 401*x *y - 278*x *y + 83*x *y
  655. 5 4 7 4 6 4 5 4 4 4 3
  656. - 5*x + 6*x *y - 35*x *y + 14*x *y + 90*x *y - 149*x *y
  657. 4 2 4 4 3 8 3 7 3 6
  658. + 97*x *y - 24*x *y + x + 20*x *y - 118*x *y + 244*x *y
  659. 3 5 3 4 3 3 3 2 3 2 9
  660. - 237*x *y + 117*x *y - 21*x *y - 7*x *y + 2*x *y + 13*x *y
  661. 2 8 2 7 2 6 2 5 2 4 2 3
  662. - 86*x *y + 228*x *y - 294*x *y + 204*x *y - 86*x *y + 23*x *y
  663. 2 2 10 9 8 7 6
  664. - 2*x *y + 4*x*y - 31*x*y + 84*x*y - 121*x*y + 100*x*y
  665. 5 4 3 9 8 7 6 5
  666. - 48*x*y + 15*x*y - 3*x*y + 4*y - 12*y + 15*y - 9*y + 2*y )),
  667. 7 2 7 7 6 3 6 2 6 6 5 4
  668. x7=(6*(x *y - 2*x *y + x + x *y - 4*x *y + 5*x *y - 2*x - 6*x *y
  669. 5 3 5 2 5 5 4 5 4 4
  670. + 26*x *y - 38*x *y + 21*x *y - 3*x - 8*x *y + 49*x *y
  671. 4 3 4 2 4 4 3 6 3 5 3 4
  672. - 106*x *y + 101*x *y - 41*x *y + 5*x - x *y + 12*x *y - 42*x *y
  673. 3 3 3 2 3 3 2 7 2 6 2 5
  674. + 69*x *y - 52*x *y + 15*x *y - x + 4*x *y - 27*x *y + 59*x *y
  675. 2 4 2 3 2 2 2 8 7 6
  676. - 52*x *y + 14*x *y + 3*x *y - x *y + 3*x*y - 18*x*y + 39*x*y
  677. 5 4 3 2 7 6 5 4 3
  678. - 48*x*y + 34*x*y - 11*x*y + x*y + 2*y - 5*y + 6*y - 4*y + y )
  679. 10 10 9 2 9 9 8 3 8 2
  680. )/(x*(2*x *y - 4*x + 8*x *y - 24*x *y + 20*x + x *y - 17*x *y
  681. 8 8 7 4 7 3 7 2 7
  682. + 47*x *y - 31*x - 24*x *y + 92*x *y - 105*x *y + 18*x *y
  683. 7 6 5 6 4 6 3 6 2 6
  684. + 15*x - 28*x *y + 172*x *y - 350*x *y + 308*x *y - 104*x *y
  685. 6 5 6 5 5 5 4 5 3 5 2
  686. + 4*x - 14*x *y + 103*x *y - 290*x *y + 401*x *y - 278*x *y
  687. 5 5 4 7 4 6 4 5 4 4
  688. + 83*x *y - 5*x + 6*x *y - 35*x *y + 14*x *y + 90*x *y
  689. 4 3 4 2 4 4 3 8 3 7
  690. - 149*x *y + 97*x *y - 24*x *y + x + 20*x *y - 118*x *y
  691. 3 6 3 5 3 4 3 3 3 2 3
  692. + 244*x *y - 237*x *y + 117*x *y - 21*x *y - 7*x *y + 2*x *y
  693. 2 9 2 8 2 7 2 6 2 5
  694. + 13*x *y - 86*x *y + 228*x *y - 294*x *y + 204*x *y
  695. 2 4 2 3 2 2 10 9 8
  696. - 86*x *y + 23*x *y - 2*x *y + 4*x*y - 31*x*y + 84*x*y
  697. 7 6 5 4 3 9 8
  698. - 121*x*y + 100*x*y - 48*x*y + 15*x*y - 3*x*y + 4*y - 12*y
  699. 7 6 5
  700. + 15*y - 9*y + 2*y )),
  701. 9 8 2 8 8 7 3 7 2 7
  702. x8=(2*( - 2*x + x *y - 10*x *y + 13*x + 5*x *y - 24*x *y + 49*x *y
  703. 7 6 4 6 3 6 2 6 6 5 5
  704. - 30*x + 8*x *y - 41*x *y + 75*x *y - 78*x *y + 32*x + 7*x *y
  705. 5 4 5 3 5 2 5 5 4 6 4 5
  706. - 35*x *y + 61*x *y - 56*x *y + 41*x *y - 16*x - x *y + 9*x *y
  707. 4 4 4 3 4 2 4 4 3 7 3 6
  708. - 10*x *y + 15*x *y - 22*x *y + 6*x *y + 3*x - 10*x *y + 57*x *y
  709. 3 5 3 4 3 3 3 2 3 2 8
  710. - 107*x *y + 91*x *y - 55*x *y + 34*x *y - 10*x *y - 8*x *y
  711. 2 7 2 6 2 5 2 4 2 3 2 2
  712. + 46*x *y - 105*x *y + 116*x *y - 63*x *y + 23*x *y - 11*x *y
  713. 2 9 8 7 6 5 4
  714. + 2*x *y - 2*x*y + 16*x*y - 42*x*y + 54*x*y - 34*x*y + 6*x*y
  715. 3 2 8 7 6 5 4 3 10
  716. + x*y + x*y - 2*y + 6*y - 7*y + 3*y + y - y ))/(x*y*(2*x *y
  717. 10 9 2 9 9 8 3 8 2 8
  718. - 4*x + 8*x *y - 24*x *y + 20*x + x *y - 17*x *y + 47*x *y
  719. 8 7 4 7 3 7 2 7 7
  720. - 31*x - 24*x *y + 92*x *y - 105*x *y + 18*x *y + 15*x
  721. 6 5 6 4 6 3 6 2 6 6
  722. - 28*x *y + 172*x *y - 350*x *y + 308*x *y - 104*x *y + 4*x
  723. 5 6 5 5 5 4 5 3 5 2 5
  724. - 14*x *y + 103*x *y - 290*x *y + 401*x *y - 278*x *y + 83*x *y
  725. 5 4 7 4 6 4 5 4 4 4 3
  726. - 5*x + 6*x *y - 35*x *y + 14*x *y + 90*x *y - 149*x *y
  727. 4 2 4 4 3 8 3 7 3 6
  728. + 97*x *y - 24*x *y + x + 20*x *y - 118*x *y + 244*x *y
  729. 3 5 3 4 3 3 3 2 3 2 9
  730. - 237*x *y + 117*x *y - 21*x *y - 7*x *y + 2*x *y + 13*x *y
  731. 2 8 2 7 2 6 2 5 2 4 2 3
  732. - 86*x *y + 228*x *y - 294*x *y + 204*x *y - 86*x *y + 23*x *y
  733. 2 2 10 9 8 7 6
  734. - 2*x *y + 4*x*y - 31*x*y + 84*x*y - 121*x*y + 100*x*y
  735. 5 4 3 9 8 7 6 5
  736. - 48*x*y + 15*x*y - 3*x*y + 4*y - 12*y + 15*y - 9*y + 2*y )),
  737. 7 2 7 7 6 3 6 2 6 6 5 4
  738. x9=(6*( - 2*x *y + 2*x *y + 4*x - 4*x *y + 16*x *y - 6*x *y - 8*x + x *y
  739. 5 3 5 2 5 5 4 5 4 4 4 3
  740. + 18*x *y - 56*x *y + 26*x *y + 3*x + 4*x *y - 6*x *y - 40*x *y
  741. 4 2 4 4 3 6 3 5 3 4 3 3
  742. + 82*x *y - 38*x *y + 2*x - 6*x *y + 15*x *y - 9*x *y + 32*x *y
  743. 3 2 3 3 2 7 2 5 2 4 2 3
  744. - 46*x *y + 19*x *y - x + x *y - 5*x *y + 2*x *y - 7*x *y
  745. 2 2 2 8 7 6 5 4
  746. + 10*x *y - 3*x *y - 2*x*y + 9*x*y - 4*x*y - 16*x*y + 22*x*y
  747. 3 7 6 5 4 3 10 10
  748. - 9*x*y - 2*y + 2*y + 2*y - 4*y + 2*y ))/(y*(2*x *y - 4*x
  749. 9 2 9 9 8 3 8 2 8 8
  750. + 8*x *y - 24*x *y + 20*x + x *y - 17*x *y + 47*x *y - 31*x
  751. 7 4 7 3 7 2 7 7 6 5
  752. - 24*x *y + 92*x *y - 105*x *y + 18*x *y + 15*x - 28*x *y
  753. 6 4 6 3 6 2 6 6 5 6
  754. + 172*x *y - 350*x *y + 308*x *y - 104*x *y + 4*x - 14*x *y
  755. 5 5 5 4 5 3 5 2 5 5
  756. + 103*x *y - 290*x *y + 401*x *y - 278*x *y + 83*x *y - 5*x
  757. 4 7 4 6 4 5 4 4 4 3 4 2
  758. + 6*x *y - 35*x *y + 14*x *y + 90*x *y - 149*x *y + 97*x *y
  759. 4 4 3 8 3 7 3 6 3 5
  760. - 24*x *y + x + 20*x *y - 118*x *y + 244*x *y - 237*x *y
  761. 3 4 3 3 3 2 3 2 9 2 8
  762. + 117*x *y - 21*x *y - 7*x *y + 2*x *y + 13*x *y - 86*x *y
  763. 2 7 2 6 2 5 2 4 2 3 2 2
  764. + 228*x *y - 294*x *y + 204*x *y - 86*x *y + 23*x *y - 2*x *y
  765. 10 9 8 7 6 5
  766. + 4*x*y - 31*x*y + 84*x*y - 121*x*y + 100*x*y - 48*x*y
  767. 4 3 9 8 7 6 5
  768. + 15*x*y - 3*x*y + 4*y - 12*y + 15*y - 9*y + 2*y ))}}
  769. % The following examples were discussed in Char, B.W., Fee, G.J.,
  770. % Geddes, K.O., Gonnet, G.H., Monagan, M.B., Watt, S.M., "On the
  771. % Design and Performance of the Maple System", Proc. 1984 Macsyma
  772. % Users' Conference, G.E., Schenectady, NY, 1984, 199-219.
  773. % Problem 1.
  774. solve({ -22319*x0+25032*x1-83247*x2+67973*x3+54189*x4
  775. -67793*x5+81135*x6+22293*x7+27327*x8+96599*x9-15144,
  776. 79815*x0+37299*x1-28495*x2-52463*x3+25708*x4 -55333*x5-
  777. 2742*x6+83127*x7-29417*x8-43202*x9+93314, -29065*x0-77803*x1-
  778. 49717*x2-64748*x3-68324*x4 -50162*x5-64222*x6-
  779. 4716*x7+30737*x8+22971*x9+90348, 62470*x0+59658*x1-
  780. 46120*x2+58376*x3-28208*x4 -74506*x5+28491*x6+21099*x7+29149*x8-
  781. 20387*x9+36254, -98233*x0-26263*x1-63227*x2+34307*x3+92294*x4
  782. +10148*x5+3192*x6+24044*x7-83764*x8-1121*x9+13871,
  783. -20427*x0+62666*x1+27330*x2-78670*x3+9036*x4 +56024*x5-4525*x6-
  784. 50589*x7-62127*x8-32846*x9+38466,
  785. -85609*x0+5424*x1+86992*x2+59651*x3-60859*x4 -55984*x5-
  786. 6061*x6+44417*x7+92421*x8+6701*x9-9459,
  787. -68255*x0+19652*x1+92650*x2-93032*x3-30191*x4 -31075*x5-
  788. 89060*x6+12150*x7-78089*x8-12462*x9+1027, 55526*x0-
  789. 91202*x1+91329*x2-25919*x3-98215*x4 +30554*x5+913*x6-
  790. 35751*x7+17948*x8-58850*x9+66583, 40612*x0+84364*x1-
  791. 83317*x2+10658*x3+37213*x4 +50489*x5+72040*x6-
  792. 21227*x7+60772*x8+95114*x9-68533});
  793. Unknowns: {x0,x1,x2,x3,x4,x5,x6,x7,x8,x9}
  794. 4352444991703786550093529782474564455970663240687
  795. {{x0=---------------------------------------------------,
  796. 8420785423059099972039395927798127489505890997055
  797. 459141297061698284317621371232198410031030658042
  798. x1=---------------------------------------------------,
  799. 1684157084611819994407879185559625497901178199411
  800. 1068462443128238131632235196977352568525519548284
  801. x2=---------------------------------------------------,
  802. 1684157084611819994407879185559625497901178199411
  803. 1645748379263608982132912334741766606871657041427
  804. x3=---------------------------------------------------,
  805. 1684157084611819994407879185559625497901178199411
  806. 25308331428404990886292916036626876985377936966579
  807. x4=----------------------------------------------------,
  808. 42103927115295499860196979638990637447529454985275
  809. 17958909252564152456194678743404876001526265937527
  810. x5=----------------------------------------------------,
  811. 42103927115295499860196979638990637447529454985275
  812. - 50670056205024448621117426699348037457452368820774
  813. x6=-------------------------------------------------------,
  814. 42103927115295499860196979638990637447529454985275
  815. - 11882862555847887107599498171234654114612212813799
  816. x7=-------------------------------------------------------,
  817. 42103927115295499860196979638990637447529454985275
  818. - 273286267131634194631661772113331181980867938658
  819. x8=-----------------------------------------------------,
  820. 8420785423059099972039395927798127489505890997055
  821. 46816360472823082478331070276129336252954604132203
  822. x9=----------------------------------------------------}}
  823. 42103927115295499860196979638990637447529454985275
  824. solve({ -22319*x0+25032*x1-83247*x2+67973*x3+54189*x4
  825. -67793*x5+81135*x6+22293*x7+27327*x8+96599*x9-15144,
  826. 79815*x0+37299*x1-28495*x2-52463*x3+25708*x4 -55333*x5-
  827. 2742*x6+83127*x7-29417*x8-43202*x9+93314, -29065*x0-77803*x1-
  828. 49717*x2-64748*x3-68324*x4 -50162*x5-64222*x6-
  829. 4716*x7+30737*x8+22971*x9+90348, 62470*x0+59658*x1-
  830. 46120*x2+58376*x3-28208*x4-74506*x5+28491*x6+21099*x7+29149*x8-
  831. 20387*x9+36254,-98233*x0-26263*x1-63227*x2+34307*x3+92294*x4
  832. +10148*x5+3192*x6+24044*x7-83764*x8-1121*x9+13871,
  833. -20427*x0+62666*x1+27330*x2-78670*x3+9036*x4 +56024*x5-4525*x6-
  834. 50589*x7-62127*x8-32846*x9+38466,
  835. -85609*x0+5424*x1+86992*x2+59651*x3-60859*x4 -55984*x5-
  836. 6061*x6+44417*x7+92421*x8+6701*x9-9459,
  837. -68255*x0+19652*x1+92650*x2-93032*x3-30191*x4 -31075*x5-
  838. 89060*x6+12150*x7-78089*x8-12462*x9+1027, 55526*x0-
  839. 91202*x1+91329*x2-25919*x3-98215*x4 +30554*x5+913*x6-
  840. 35751*x7+17948*x8-58850*x9+66583, 40612*x0+84364*x1-
  841. 83317*x2+10658*x3+37213*x4 +50489*x5+72040*x6-
  842. 21227*x7+60772*x8+95114*x9-68533});
  843. Unknowns: {x0,x1,x2,x3,x4,x5,x6,x7,x8,x9}
  844. 4352444991703786550093529782474564455970663240687
  845. {{x0=---------------------------------------------------,
  846. 8420785423059099972039395927798127489505890997055
  847. 459141297061698284317621371232198410031030658042
  848. x1=---------------------------------------------------,
  849. 1684157084611819994407879185559625497901178199411
  850. 1068462443128238131632235196977352568525519548284
  851. x2=---------------------------------------------------,
  852. 1684157084611819994407879185559625497901178199411
  853. 1645748379263608982132912334741766606871657041427
  854. x3=---------------------------------------------------,
  855. 1684157084611819994407879185559625497901178199411
  856. 25308331428404990886292916036626876985377936966579
  857. x4=----------------------------------------------------,
  858. 42103927115295499860196979638990637447529454985275
  859. 17958909252564152456194678743404876001526265937527
  860. x5=----------------------------------------------------,
  861. 42103927115295499860196979638990637447529454985275
  862. - 50670056205024448621117426699348037457452368820774
  863. x6=-------------------------------------------------------,
  864. 42103927115295499860196979638990637447529454985275
  865. - 11882862555847887107599498171234654114612212813799
  866. x7=-------------------------------------------------------,
  867. 42103927115295499860196979638990637447529454985275
  868. - 273286267131634194631661772113331181980867938658
  869. x8=-----------------------------------------------------,
  870. 8420785423059099972039395927798127489505890997055
  871. 46816360472823082478331070276129336252954604132203
  872. x9=----------------------------------------------------}}
  873. 42103927115295499860196979638990637447529454985275
  874. % The next two problems give the current routines some trouble and
  875. % have therefore been commented out.
  876. % Problem 2.
  877. comment
  878. solve({ 81*x30-96*x21-45, -36*x4+59*x29+26,
  879. -59*x26+5*x3-33, -81*x19-92*x23-21*x17-9, -46*x29-
  880. 13*x22+22*x24+83, 47*x4-47*x14-15*x26-40, 83*x30+70*x17+56*x10-
  881. 31, 10*x27-90*x9+52*x21+52, -33*x20-97*x26+20*x6-76,
  882. 97*x16+41*x8-13*x12+66, 16*x16-52*x10-73*x28+49, -28*x1-53*x24-
  883. x27-67, -22*x26-29*x24+73*x10+8, 88*x18+61*x19-98*x9-55, 99*x28-
  884. 91*x26+26*x21-95, -6*x18+25*x7-77*x2+99, 28*x13-50*x17-52*x14-64,
  885. -50*x20+26*x11+93*x2+77, -70*x8+74*x19-94*x26+86, -18*x18-2*x16-
  886. 79*x23+91, 36*x26-13*x11-53*x25-5, 10*x7+57*x16-85*x10-14,
  887. -3*x27+44*x4+52*x22-1, 21*x11+20*x25-30*x4-83, 70*x2-97*x19-
  888. 41*x26-50, -51*x8+95*x12-85*x26+45, 83*x30+41*x12+50*x2+53,
  889. -4*x26+69*x8-58*x5-95, 59*x27-78*x30-66*x23+16, -10*x20-36*x11-
  890. 60*x1-59});
  891. % Problem 3.
  892. comment
  893. solve({ 115*x40+566*x41-378*x42+11401086415/6899901,
  894. 560*x0-45*x1-506*x2-11143386403/8309444, -621*x1-
  895. 328*x2+384*x3+1041841/64675, -856*x2+54*x3+869*x4-41430291/24700,
  896. 596*x3-608*x4-560*x5-10773384/11075,
  897. -61*x4+444*x5+924*x6+4185100079/11278780, 67*x5-95*x6-
  898. 682*x7+903866812/6618863, 196*x6+926*x7-930*x8-
  899. 2051864151/2031976, -302*x7-311*x8-890*x9-14210414139/27719792,
  900. 121*x8-781*x9-125*x10-4747129093/39901584, 10*x9+555*x10-
  901. 912*x11+32476047/3471829, -151*x38+732*x39-
  902. 397*x40+327281689/173242, 913*x10-259*x11-982*x12-
  903. 18080663/5014020, 305*x11+9*x12-357*x13+1500752933/1780680,
  904. 179*x12-588*x13+665*x14+8128189/51832, 406*x13+843*x14-
  905. 833*x15+201925713/97774, 107*x14+372*x15+505*x16-
  906. 5161192791/3486415, 720*x15-212*x16+607*x17-31529295571/7197760,
  907. 951*x16-685*x17+148*x18+1034546543/711104, -654*x17-
  908. 899*x18+543*x19+1942961717/1646560,
  909. -448*x18+673*x19+702*x20+856422818/1286375, 396*x19-
  910. 196*x20+218*x21-4386267866/21303625, -233*x20-796*x21-373*x22-
  911. 85246365829/57545250, 921*x21-368*x22+730*x23-
  912. 93446707622/51330363, -424*x22+378*x23+727*x24-
  913. 6673617931/3477462, -633*x23+565*x24-208*x25+8607636805/4092942,
  914. 971*x24+170*x25-865*x26-25224505/18354, 937*x25+333*x26-463*x27-
  915. 339307103/1025430, 494*x26-8*x27-50*x28+57395804/34695,
  916. 530*x27+631*x28-193*x29-8424597157/680022,
  917. -435*x28+252*x29+916*x30+196828511/19593, 327*x29+403*x30-
  918. 845*x31+8458823325/5927971, 246*x30+881*x31-
  919. 394*x32+13624765321/156546826, 946*x31+169*x32-43*x33-
  920. 53594199271/126093183, -146*x32+503*x33-
  921. 363*x34+66802797635/15234909, -132*x33-
  922. 686*x34+376*x35+8167530636/902635, -38*x34-188*x35-
  923. 583*x36+1814153743/1124240, 389*x35+562*x36-688*x37-
  924. 12251043951/5513560, -769*x37-474*x38-89*x39-2725415872/1235019,
  925. -625*x36-122*x37+468*x38+7725682775/4506736,
  926. 839*x39+936*x40+703*x41+1912091857/1000749,
  927. -314*x41+102*x42+790*x43+7290073150/8132873, -905*x42-
  928. 454*x43+524*x44-10110944527/4538233, 379*x43+518*x44-328*x45-
  929. 2071620692/519645, 284*x44-979*x45+690*x46-915987532/16665,
  930. 198*x45-650*x46-763*x47+548801657/11220, 974*x46+12*x47+410*x48-
  931. 3831097561/51051, -498*x47-135*x48-230*x49-18920705/9282,
  932. 665*x48+156*x49+34*x0-27714736/156585, -519*x49-366*x0-730*x1-
  933. 2958446681/798985});
  934. % Problem 4.
  935. % This one needs the Cramer code --- it takes forever otherwise.
  936. on cramer;
  937. solve({ -b*k8/a+c*k8/a, -b*k11/a+c*k11/a,
  938. -b*k10/a+c*k10/a+k2,
  939. -k3-b*k9/a+c*k9/a, -b*k14/a+c*k14/a, -b*k15/a+c*k15/a,
  940. -b*k18/a+c*k18/a-k2, -b*k17/a+c*k17/a, -b*k16/a+c*k16/a+k4,
  941. -b*k13/a+c*k13/a-b*k21/a+c*k21/a+b*k5/a-c*k5/a,
  942. b*k44/a-c*k44/a, -b*k45/a+c*k45/a, -b*k20/a+c*k20/a,
  943. -b*k44/a+c*k44/a, b*k46/a-c*k46/a,
  944. b**2*k47/a**2-2*b*c*k47/a**2+c**2*k47/a**2,
  945. k3, -k4, -b*k12/a+c*k12/a-a*k6/b+c*k6/b,
  946. -b*k19/a+c*k19/a+a*k7/c-b*k7/c, b*k45/a-c*k45/a,
  947. -b*k46/a+c*k46/a, -k48+c*k48/a+c*k48/b-c**2*k48/(a*b),
  948. -k49+b*k49/a+b*k49/c-b**2*k49/(a*c), a*k1/b-c*k1/b,
  949. a*k4/b-c*k4/b, a*k3/b-c*k3/b+k9, -k10+a*k2/b-c*k2/b,
  950. a*k7/b-c*k7/b, -k9, k11, b*k12/a-c*k12/a+a*k6/b-c*k6/b,
  951. a*k15/b-c*k15/b, k10+a*k18/b-c*k18/b,
  952. -k11+a*k17/b-c*k17/b, a*k16/b-c*k16/b,
  953. -a*k13/b+c*k13/b+a*k21/b-c*k21/b+a*k5/b-c*k5/b,
  954. -a*k44/b+c*k44/b, a*k45/b-c*k45/b,
  955. a*k14/c-b*k14/c+a*k20/b-c*k20/b, a*k44/b-c*k44/b,
  956. -a*k46/b+c*k46/b, -k47+c*k47/a+c*k47/b-c**2*k47/(a*b),
  957. a*k19/b-c*k19/b, -a*k45/b+c*k45/b, a*k46/b-c*k46/b,
  958. a**2*k48/b**2-2*a*c*k48/b**2+c**2*k48/b**2,
  959. -k49+a*k49/b+a*k49/c-a**2*k49/(b*c), k16, -k17,
  960. -a*k1/c+b*k1/c, -k16-a*k4/c+b*k4/c, -a*k3/c+b*k3/c,
  961. k18-a*k2/c+b*k2/c, b*k19/a-c*k19/a-a*k7/c+b*k7/c,
  962. -a*k6/c+b*k6/c, -a*k8/c+b*k8/c, -a*k11/c+b*k11/c+k17,
  963. -a*k10/c+b*k10/c-k18, -a*k9/c+b*k9/c,
  964. -a*k14/c+b*k14/c-a*k20/b+c*k20/b,
  965. -a*k13/c+b*k13/c+a*k21/c-b*k21/c-a*k5/c+b*k5/c,
  966. a*k44/c-b*k44/c, -a*k45/c+b*k45/c, -a*k44/c+b*k44/c,
  967. a*k46/c-b*k46/c, -k47+b*k47/a+b*k47/c-b**2*k47/(a*c),
  968. -a*k12/c+b*k12/c, a*k45/c-b*k45/c, -a*k46/c+b*k46/c,
  969. -k48+a*k48/b+a*k48/c-a**2*k48/(b*c),
  970. a**2*k49/c**2-2*a*b*k49/c**2+b**2*k49/c**2, k8, k11, -k15,
  971. k10-k18, -k17, k9, -k16, -k29, k14-k32, -k21+k23-k31,
  972. -k24-k30, -k35, k44, -k45, k36, k13-k23+k39, -k20+k38,
  973. k25+k37, b*k26/a-c*k26/a-k34+k42, -2*k44, k45, k46,
  974. b*k47/a-c*k47/a, k41, k44, -k46, -b*k47/a+c*k47/a,
  975. k12+k24, -k19-k25, -a*k27/b+c*k27/b-k33, k45, -k46,
  976. -a*k48/b+c*k48/b, a*k28/c-b*k28/c+k40, -k45, k46,
  977. a*k48/b-c*k48/b, a*k49/c-b*k49/c, -a*k49/c+b*k49/c,
  978. -k1, -k4, -k3, k15, k18-k2, k17, k16, k22, k25-k7,
  979. k24+k30, k21+k23-k31, k28, -k44, k45, -k30-k6, k20+k32,
  980. k27+b*k33/a-c*k33/a, k44, -k46, -b*k47/a+c*k47/a, -k36,
  981. k31-k39-k5, -k32-k38, k19-k37, k26-a*k34/b+c*k34/b-k42,
  982. k44, -2*k45, k46, a*k48/b-c*k48/b, a*k35/c-b*k35/c-k41,
  983. -k44, k46, b*k47/a-c*k47/a, -a*k49/c+b*k49/c, -k40, k45,
  984. -k46, -a*k48/b+c*k48/b, a*k49/c-b*k49/c, k1, k4, k3, -k8,
  985. -k11, -k10+k2, -k9, k37+k7, -k14-k38, -k22, -k25-k37, -k24+k6,
  986. -k13-k23+k39, -k28+b*k40/a-c*k40/a, k44, -k45, -k27, -k44,
  987. k46, b*k47/a-c*k47/a, k29, k32+k38, k31-k39+k5, -k12+k30,
  988. k35-a*k41/b+c*k41/b, -k44, k45, -k26+k34+a*k42/c-b*k42/c,
  989. k44, k45, -2*k46, -b*k47/a+c*k47/a, -a*k48/b+c*k48/b,
  990. a*k49/c-b*k49/c, k33, -k45, k46, a*k48/b-c*k48/b,
  991. -a*k49/c+b*k49/c },
  992. {k1, k2, k3, k4, k5, k6, k7, k8, k9, k10, k11, k12, k13, k14,
  993. k15, k16, k17, k18, k19, k20, k21, k22, k23, k24, k25, k26,
  994. k27, k28, k29, k30, k31, k32, k33, k34, k35, k36, k37, k38,
  995. k39, k40, k41, k42, k43, k44, k45, k46, k47, k48, k49});
  996. {{k1=0,
  997. k2=0,
  998. k3=0,
  999. k4=0,
  1000. k5=0,
  1001. k6=0,
  1002. k7=0,
  1003. k8=0,
  1004. k9=0,
  1005. k10=0,
  1006. k11=0,
  1007. k12=0,
  1008. k13=0,
  1009. k14=0,
  1010. k15=0,
  1011. k16=0,
  1012. k17=0,
  1013. k18=0,
  1014. k19=0,
  1015. k20=0,
  1016. k21=0,
  1017. k22=0,
  1018. k23=arbcomplex(14),
  1019. k24=0,
  1020. k25=0,
  1021. arbcomplex(15)*a
  1022. k26=------------------,
  1023. c
  1024. k27=0,
  1025. k28=0,
  1026. k29=0,
  1027. k30=0,
  1028. k31=arbcomplex(14),
  1029. k32=0,
  1030. k33=0,
  1031. arbcomplex(15)*b
  1032. k34=------------------,
  1033. c
  1034. k35=0,
  1035. k36=0,
  1036. k37=0,
  1037. k38=0,
  1038. k39=arbcomplex(14),
  1039. k40=0,
  1040. k41=0,
  1041. k42=arbcomplex(15),
  1042. k43=arbcomplex(16),
  1043. k44=0,
  1044. k45=0,
  1045. k46=0,
  1046. k47=0,
  1047. k48=0,
  1048. k49=0}}
  1049. off cramer;
  1050. % Problem 5.
  1051. solve ({2*a3*b3+a5*b3+a3*b5, a5*b3+2*a5*b5+a3*b5,
  1052. a5*b5, a2*b2, a4*b4, a5*b1+b5+a4*b3+a3*b4,
  1053. a5*b3+a5*b5+a3*b5+a3*b3, a0*b2+b2+a4*b2+a2*b4+c2+a2*b0+a2*b1,
  1054. a0*b0+a0*b1+a0*b4+a3*b2+b0+b1+b4+a4*b0+a4*b1+a2*b5+a4*b4+c1+c4
  1055. +a5*b2+a2*b3+c0,
  1056. -1+a3*b0+a0*b3+a0*b5+a5*b0+b3+b5+a5*b4+a4*b3+a4*b5+a3*b4+a5*b1
  1057. +a3*b1+c3+c5,
  1058. b4+a4*b1, a5*b3+a3*b5, a2*b1+b2, a4*b5+a5*b4, a2*b4+a4*b2,
  1059. a0*b5+a5*b0+a3*b4+2*a5*b4+a5*b1+b5+a4*b3+2*a4*b5+c5,
  1060. a4*b0+2*a4*b4+a2*b5+b4+a4*b1+a5*b2+a0*b4+c4,
  1061. c3+a0*b3+2*b3+b5+a4*b3+a3*b0+2*a3*b1+a5*b1+a3*b4,
  1062. c1+a0*b1+2*b1+a4*b1+a2*b3+b0+a3*b2+b4});
  1063. Unknowns: {a0,a2,a3,a4,a5,b0,b1,b2,b3,b4,b5,c0,c1,c2,c3,c4,c5}
  1064. {{a0=arbcomplex(25),
  1065. a2=0,
  1066. - 1
  1067. a3=------,
  1068. b1
  1069. a4=0,
  1070. a5=0,
  1071. b0=arbcomplex(24),
  1072. b1=arbcomplex(23),
  1073. b2=0,
  1074. b3=0,
  1075. b4=0,
  1076. b5=0,
  1077. c0= - a0*b0 + b1,
  1078. c1= - a0*b1 - b0 - 2*b1,
  1079. c2=0,
  1080. b0 + 2*b1
  1081. c3=-----------,
  1082. b1
  1083. c4=0,
  1084. c5=0},
  1085. {a0=arbcomplex(20),
  1086. a2=arbcomplex(21),
  1087. a3=0,
  1088. a4=0,
  1089. a5=0,
  1090. b0=arbcomplex(22),
  1091. b1=0,
  1092. b2=0,
  1093. b3=-1,
  1094. b4=0,
  1095. b5=0,
  1096. c0= - a0*b0,
  1097. c1=a2 - b0,
  1098. c2= - a2*b0,
  1099. c3=a0 + 2,
  1100. c4=0,
  1101. c5=0},
  1102. {a0=arbcomplex(17),
  1103. a2=0,
  1104. a3=0,
  1105. a4=0,
  1106. a5=0,
  1107. b0=arbcomplex(18),
  1108. b1=arbcomplex(19),
  1109. b2=0,
  1110. b3=-1,
  1111. b4=0,
  1112. b5=0,
  1113. c0= - a0*b0 + b1,
  1114. c1= - a0*b1 - b0 - 2*b1,
  1115. c2=0,
  1116. c3=a0 + 2,
  1117. c4=0,
  1118. c5=0}}
  1119. % Problem 6.
  1120. solve({2*a3*b3+a5*b3+a3*b5, a5*b3+2*a5*b5+a3*b5,
  1121. a4*b4, a5*b3+a5*b5+a3*b5+a3*b3, b1, a3*b3, a2*b2, a5*b5,
  1122. a5*b1+b5+a4*b3+a3*b4, a0*b2+b2+a4*b2+a2*b4+c2+a2*b0+a2*b1,
  1123. b4+a4*b1, b3+a3*b1, a5*b3+a3*b5, a2*b1+b2, a4*b5+a5*b4,
  1124. a2*b4+a4*b2, a0*b0+a0*b1+a0*b4+a3*b2+b0+b1+b4+a4*b0+a4*b1
  1125. +a2*b5+a4*b4+c1+c4+a5*b2+a2*b3+c0,-1+a3*b0+a0*b3+a0*b5+a5*b0
  1126. +b3+b5+a5*b4+a4*b3+a4*b5+a3*b4+a5*b1+a3*b1+c3+c5,
  1127. a0*b5+a5*b0+a3*b4+2*a5*b4+a5*b1+b5+a4*b3+2*a4*b5+c5,
  1128. a4*b0+2*a4*b4+a2*b5+b4+a4*b1+a5*b2+a0*b4+c4,
  1129. c3+a0*b3+2*b3+b5+a4*b3+a3*b0+2*a3*b1+a5*b1+a3*b4,
  1130. c1+a0*b1+2*b1+a4*b1+a2*b3+b0+a3*b2+b4});
  1131. Unknowns: {a0,a2,a3,a4,a5,b0,b1,b2,b3,b4,b5,c0,c1,c2,c3,c4,c5}
  1132. {}
  1133. % Example cited by Bruno Buchberger
  1134. % in R.Janssen: Trends in Computer Algebra,
  1135. % Springer, 1987
  1136. % Geometry of a simple robot,
  1137. % l1,l2 length of arms
  1138. % ci,si cos and sin of rotation angles
  1139. solve( { c1*c2 -cf*ct*cp + sf*sp,
  1140. s1*c2 - sf*ct*cp - cf*sp,
  1141. s2 + st*cp,
  1142. -c1*s2 - cf*ct*sp + sf*cp,
  1143. -s1*s2 + sf*ct*sp - cf*cp,
  1144. c2 - st*sp,
  1145. s1 - cf*st,
  1146. -c1 - sf*st,
  1147. ct,
  1148. l2*c1*c2 - px,
  1149. l2*s1*c2 - py,
  1150. l2*s2 + l1 - pz,
  1151. c1**2 + s1**2 -1,
  1152. c2**2 + s2**2 -1,
  1153. cf**2 + sf**2 -1,
  1154. ct**2 + st**2 -1,
  1155. cp**2 + sp**2 -1},
  1156. {c1,c2,s1,s2,py,cf,ct,cp,sf,st,sp});
  1157. 2 2 2
  1158. sqrt( - l1 + 2*l1*pz + l2 - pz )*px
  1159. {{c1=---------------------------------------,
  1160. 2 2 2
  1161. l1 - 2*l1*pz - l2 + pz
  1162. 2 2 2
  1163. - sqrt( - l1 + 2*l1*pz + l2 - pz )
  1164. c2=---------------------------------------,
  1165. l2
  1166. 2 2 2 2
  1167. sqrt(l1 - 2*l1*pz - l2 + px + pz )
  1168. s1=---------------------------------------,
  1169. 2 2 2
  1170. sqrt(l1 - 2*l1*pz - l2 + pz )
  1171. - l1 + pz
  1172. s2=------------,
  1173. l2
  1174. py
  1175. 2 2 2 2 2 2 2
  1176. - sqrt( - l1 + 2*l1*pz + l2 - pz )*sqrt(l1 - 2*l1*pz - l2 + px + pz )
  1177. =-----------------------------------------------------------------------------
  1178. 2 2 2
  1179. sqrt(l1 - 2*l1*pz - l2 + pz )
  1180. ,
  1181. 2 2 2 2
  1182. sqrt(l1 - 2*l1*pz - l2 + px + pz )
  1183. cf=---------------------------------------,
  1184. 2 2 2
  1185. sqrt(l1 - 2*l1*pz - l2 + pz )
  1186. ct=0,
  1187. l1 - pz
  1188. cp=---------,
  1189. l2
  1190. 2 2 2
  1191. - sqrt( - l1 + 2*l1*pz + l2 - pz )*px
  1192. sf=------------------------------------------,
  1193. 2 2 2
  1194. l1 - 2*l1*pz - l2 + pz
  1195. st=1,
  1196. 2 2 2
  1197. - sqrt( - l1 + 2*l1*pz + l2 - pz )
  1198. sp=---------------------------------------},
  1199. l2
  1200. 2 2 2
  1201. sqrt( - l1 + 2*l1*pz + l2 - pz )*px
  1202. {c1=---------------------------------------,
  1203. 2 2 2
  1204. l1 - 2*l1*pz - l2 + pz
  1205. 2 2 2
  1206. - sqrt( - l1 + 2*l1*pz + l2 - pz )
  1207. c2=---------------------------------------,
  1208. l2
  1209. 2 2 2 2
  1210. sqrt(l1 - 2*l1*pz - l2 + px + pz )
  1211. s1=---------------------------------------,
  1212. 2 2 2
  1213. sqrt(l1 - 2*l1*pz - l2 + pz )
  1214. - l1 + pz
  1215. s2=------------,
  1216. l2
  1217. py
  1218. 2 2 2 2 2 2 2
  1219. - sqrt( - l1 + 2*l1*pz + l2 - pz )*sqrt(l1 - 2*l1*pz - l2 + px + pz )
  1220. =-----------------------------------------------------------------------------
  1221. 2 2 2
  1222. sqrt(l1 - 2*l1*pz - l2 + pz )
  1223. ,
  1224. 2 2 2 2
  1225. - sqrt(l1 - 2*l1*pz - l2 + px + pz )
  1226. cf=------------------------------------------,
  1227. 2 2 2
  1228. sqrt(l1 - 2*l1*pz - l2 + pz )
  1229. ct=0,
  1230. - l1 + pz
  1231. cp=------------,
  1232. l2
  1233. 2 2 2
  1234. sqrt( - l1 + 2*l1*pz + l2 - pz )*px
  1235. sf=---------------------------------------,
  1236. 2 2 2
  1237. l1 - 2*l1*pz - l2 + pz
  1238. st=-1,
  1239. 2 2 2
  1240. sqrt( - l1 + 2*l1*pz + l2 - pz )
  1241. sp=------------------------------------},
  1242. l2
  1243. 2 2 2
  1244. sqrt( - l1 + 2*l1*pz + l2 - pz )*px
  1245. {c1=---------------------------------------,
  1246. 2 2 2
  1247. l1 - 2*l1*pz - l2 + pz
  1248. 2 2 2
  1249. - sqrt( - l1 + 2*l1*pz + l2 - pz )
  1250. c2=---------------------------------------,
  1251. l2
  1252. 2 2 2 2
  1253. - sqrt(l1 - 2*l1*pz - l2 + px + pz )
  1254. s1=------------------------------------------,
  1255. 2 2 2
  1256. sqrt(l1 - 2*l1*pz - l2 + pz )
  1257. - l1 + pz
  1258. s2=------------,
  1259. l2
  1260. 2 2 2 2 2 2 2
  1261. sqrt( - l1 + 2*l1*pz + l2 - pz )*sqrt(l1 - 2*l1*pz - l2 + px + pz )
  1262. py=--------------------------------------------------------------------------,
  1263. 2 2 2
  1264. sqrt(l1 - 2*l1*pz - l2 + pz )
  1265. 2 2 2 2
  1266. sqrt(l1 - 2*l1*pz - l2 + px + pz )
  1267. cf=---------------------------------------,
  1268. 2 2 2
  1269. sqrt(l1 - 2*l1*pz - l2 + pz )
  1270. ct=0,
  1271. - l1 + pz
  1272. cp=------------,
  1273. l2
  1274. 2 2 2
  1275. sqrt( - l1 + 2*l1*pz + l2 - pz )*px
  1276. sf=---------------------------------------,
  1277. 2 2 2
  1278. l1 - 2*l1*pz - l2 + pz
  1279. st=-1,
  1280. 2 2 2
  1281. sqrt( - l1 + 2*l1*pz + l2 - pz )
  1282. sp=------------------------------------},
  1283. l2
  1284. 2 2 2
  1285. sqrt( - l1 + 2*l1*pz + l2 - pz )*px
  1286. {c1=---------------------------------------,
  1287. 2 2 2
  1288. l1 - 2*l1*pz - l2 + pz
  1289. 2 2 2
  1290. - sqrt( - l1 + 2*l1*pz + l2 - pz )
  1291. c2=---------------------------------------,
  1292. l2
  1293. 2 2 2 2
  1294. - sqrt(l1 - 2*l1*pz - l2 + px + pz )
  1295. s1=------------------------------------------,
  1296. 2 2 2
  1297. sqrt(l1 - 2*l1*pz - l2 + pz )
  1298. - l1 + pz
  1299. s2=------------,
  1300. l2
  1301. 2 2 2 2 2 2 2
  1302. sqrt( - l1 + 2*l1*pz + l2 - pz )*sqrt(l1 - 2*l1*pz - l2 + px + pz )
  1303. py=--------------------------------------------------------------------------,
  1304. 2 2 2
  1305. sqrt(l1 - 2*l1*pz - l2 + pz )
  1306. 2 2 2 2
  1307. - sqrt(l1 - 2*l1*pz - l2 + px + pz )
  1308. cf=------------------------------------------,
  1309. 2 2 2
  1310. sqrt(l1 - 2*l1*pz - l2 + pz )
  1311. ct=0,
  1312. l1 - pz
  1313. cp=---------,
  1314. l2
  1315. 2 2 2
  1316. - sqrt( - l1 + 2*l1*pz + l2 - pz )*px
  1317. sf=------------------------------------------,
  1318. 2 2 2
  1319. l1 - 2*l1*pz - l2 + pz
  1320. st=1,
  1321. 2 2 2
  1322. - sqrt( - l1 + 2*l1*pz + l2 - pz )
  1323. sp=---------------------------------------},
  1324. l2
  1325. 2 2 2
  1326. - sqrt( - l1 + 2*l1*pz + l2 - pz )*px
  1327. {c1=------------------------------------------,
  1328. 2 2 2
  1329. l1 - 2*l1*pz - l2 + pz
  1330. 2 2 2
  1331. sqrt( - l1 + 2*l1*pz + l2 - pz )
  1332. c2=------------------------------------,
  1333. l2
  1334. 2 2 2 2
  1335. sqrt(l1 - 2*l1*pz - l2 + px + pz )
  1336. s1=---------------------------------------,
  1337. 2 2 2
  1338. sqrt(l1 - 2*l1*pz - l2 + pz )
  1339. - l1 + pz
  1340. s2=------------,
  1341. l2
  1342. 2 2 2 2 2 2 2
  1343. sqrt( - l1 + 2*l1*pz + l2 - pz )*sqrt(l1 - 2*l1*pz - l2 + px + pz )
  1344. py=--------------------------------------------------------------------------,
  1345. 2 2 2
  1346. sqrt(l1 - 2*l1*pz - l2 + pz )
  1347. 2 2 2 2
  1348. sqrt(l1 - 2*l1*pz - l2 + px + pz )
  1349. cf=---------------------------------------,
  1350. 2 2 2
  1351. sqrt(l1 - 2*l1*pz - l2 + pz )
  1352. ct=0,
  1353. l1 - pz
  1354. cp=---------,
  1355. l2
  1356. 2 2 2
  1357. sqrt( - l1 + 2*l1*pz + l2 - pz )*px
  1358. sf=---------------------------------------,
  1359. 2 2 2
  1360. l1 - 2*l1*pz - l2 + pz
  1361. st=1,
  1362. 2 2 2
  1363. sqrt( - l1 + 2*l1*pz + l2 - pz )
  1364. sp=------------------------------------},
  1365. l2
  1366. 2 2 2
  1367. - sqrt( - l1 + 2*l1*pz + l2 - pz )*px
  1368. {c1=------------------------------------------,
  1369. 2 2 2
  1370. l1 - 2*l1*pz - l2 + pz
  1371. 2 2 2
  1372. sqrt( - l1 + 2*l1*pz + l2 - pz )
  1373. c2=------------------------------------,
  1374. l2
  1375. 2 2 2 2
  1376. sqrt(l1 - 2*l1*pz - l2 + px + pz )
  1377. s1=---------------------------------------,
  1378. 2 2 2
  1379. sqrt(l1 - 2*l1*pz - l2 + pz )
  1380. - l1 + pz
  1381. s2=------------,
  1382. l2
  1383. 2 2 2 2 2 2 2
  1384. sqrt( - l1 + 2*l1*pz + l2 - pz )*sqrt(l1 - 2*l1*pz - l2 + px + pz )
  1385. py=--------------------------------------------------------------------------,
  1386. 2 2 2
  1387. sqrt(l1 - 2*l1*pz - l2 + pz )
  1388. 2 2 2 2
  1389. - sqrt(l1 - 2*l1*pz - l2 + px + pz )
  1390. cf=------------------------------------------,
  1391. 2 2 2
  1392. sqrt(l1 - 2*l1*pz - l2 + pz )
  1393. ct=0,
  1394. - l1 + pz
  1395. cp=------------,
  1396. l2
  1397. 2 2 2
  1398. - sqrt( - l1 + 2*l1*pz + l2 - pz )*px
  1399. sf=------------------------------------------,
  1400. 2 2 2
  1401. l1 - 2*l1*pz - l2 + pz
  1402. st=-1,
  1403. 2 2 2
  1404. - sqrt( - l1 + 2*l1*pz + l2 - pz )
  1405. sp=---------------------------------------},
  1406. l2
  1407. 2 2 2
  1408. - sqrt( - l1 + 2*l1*pz + l2 - pz )*px
  1409. {c1=------------------------------------------,
  1410. 2 2 2
  1411. l1 - 2*l1*pz - l2 + pz
  1412. 2 2 2
  1413. sqrt( - l1 + 2*l1*pz + l2 - pz )
  1414. c2=------------------------------------,
  1415. l2
  1416. 2 2 2 2
  1417. - sqrt(l1 - 2*l1*pz - l2 + px + pz )
  1418. s1=------------------------------------------,
  1419. 2 2 2
  1420. sqrt(l1 - 2*l1*pz - l2 + pz )
  1421. - l1 + pz
  1422. s2=------------,
  1423. l2
  1424. py
  1425. 2 2 2 2 2 2 2
  1426. - sqrt( - l1 + 2*l1*pz + l2 - pz )*sqrt(l1 - 2*l1*pz - l2 + px + pz )
  1427. =-----------------------------------------------------------------------------
  1428. 2 2 2
  1429. sqrt(l1 - 2*l1*pz - l2 + pz )
  1430. ,
  1431. 2 2 2 2
  1432. sqrt(l1 - 2*l1*pz - l2 + px + pz )
  1433. cf=---------------------------------------,
  1434. 2 2 2
  1435. sqrt(l1 - 2*l1*pz - l2 + pz )
  1436. ct=0,
  1437. - l1 + pz
  1438. cp=------------,
  1439. l2
  1440. 2 2 2
  1441. - sqrt( - l1 + 2*l1*pz + l2 - pz )*px
  1442. sf=------------------------------------------,
  1443. 2 2 2
  1444. l1 - 2*l1*pz - l2 + pz
  1445. st=-1,
  1446. 2 2 2
  1447. - sqrt( - l1 + 2*l1*pz + l2 - pz )
  1448. sp=---------------------------------------},
  1449. l2
  1450. 2 2 2
  1451. - sqrt( - l1 + 2*l1*pz + l2 - pz )*px
  1452. {c1=------------------------------------------,
  1453. 2 2 2
  1454. l1 - 2*l1*pz - l2 + pz
  1455. 2 2 2
  1456. sqrt( - l1 + 2*l1*pz + l2 - pz )
  1457. c2=------------------------------------,
  1458. l2
  1459. 2 2 2 2
  1460. - sqrt(l1 - 2*l1*pz - l2 + px + pz )
  1461. s1=------------------------------------------,
  1462. 2 2 2
  1463. sqrt(l1 - 2*l1*pz - l2 + pz )
  1464. - l1 + pz
  1465. s2=------------,
  1466. l2
  1467. py
  1468. 2 2 2 2 2 2 2
  1469. - sqrt( - l1 + 2*l1*pz + l2 - pz )*sqrt(l1 - 2*l1*pz - l2 + px + pz )
  1470. =-----------------------------------------------------------------------------
  1471. 2 2 2
  1472. sqrt(l1 - 2*l1*pz - l2 + pz )
  1473. ,
  1474. 2 2 2 2
  1475. - sqrt(l1 - 2*l1*pz - l2 + px + pz )
  1476. cf=------------------------------------------,
  1477. 2 2 2
  1478. sqrt(l1 - 2*l1*pz - l2 + pz )
  1479. ct=0,
  1480. l1 - pz
  1481. cp=---------,
  1482. l2
  1483. 2 2 2
  1484. sqrt( - l1 + 2*l1*pz + l2 - pz )*px
  1485. sf=---------------------------------------,
  1486. 2 2 2
  1487. l1 - 2*l1*pz - l2 + pz
  1488. st=1,
  1489. 2 2 2
  1490. sqrt( - l1 + 2*l1*pz + l2 - pz )
  1491. sp=------------------------------------}}
  1492. l2
  1493. % Steady state computation of a prototypical chemical
  1494. % reaction network (the "Edelstein" network)
  1495. solve(
  1496. { alpha * c1 - beta * c1**2 - gamma*c1*c2 + epsilon*c3,
  1497. -gamma*c1*c2 + (epsilon+theta)*c3 -eta *c2,
  1498. gamma*c1*c2 + eta*c2 - (epsilon+theta) * c3},
  1499. {c3,c2,c1});
  1500. 2
  1501. c1*( - c1 *beta*gamma + c1*alpha*gamma - c1*beta*eta + alpha*eta)
  1502. {{c3=-------------------------------------------------------------------,
  1503. c1*gamma*theta - epsilon*eta
  1504. c1*( - c1*beta*epsilon - c1*beta*theta + alpha*epsilon + alpha*theta)
  1505. c2=-----------------------------------------------------------------------,
  1506. c1*gamma*theta - epsilon*eta
  1507. c1=arbcomplex(26)}}
  1508. solve(
  1509. {( - 81*y1**2*y2**2 + 594*y1**2*y2 - 225*y1**2 + 594*y1*y2**2 - 3492*
  1510. y1*y2 - 750*y1 - 225*y2**2 - 750*y2 + 14575)/81,
  1511. ( - 81*y2**2*y3**2 + 594*y2**2*y3 - 225*y2**2 + 594*y2*y3**2 - 3492*
  1512. y2*y3 - 750*y2 - 225*y3**2 - 750*y3 + 14575)/81,
  1513. ( - 81*y1**2*y3**2 + 594*y1**2*y3 - 225*y1**2 + 594*y1*y3**2 - 3492*
  1514. y1*y3 - 750*y1 - 225*y3**2 - 750*y3 + 14575)/81,
  1515. (2*(81*y1**2*y2**2*y3 + 81*y1**2*y2*y3**2 - 594*y1**2*y2*y3 - 225*y1
  1516. **2*y2 - 225*y1**2*y3 + 1650*y1**2 + 81*y1*y2**2*y3**2 - 594*y1*
  1517. y2**2*y3 - 225*y1*y2**2 - 594*y1*y2*y3**2 + 2592*y1*y2*y3 + 2550
  1518. *y1*y2 - 225*y1*y3**2 + 2550*y1*y3 - 3575*y1 - 225*y2**2*y3 +
  1519. 1650*y2**2 - 225*y2*y3**2 + 2550*y2*y3 - 3575*y2 + 1650*y3**2 -
  1520. 3575*y3 - 30250))/81}, {y1,y2,y3,y4});
  1521. 2
  1522. {{y1=(99*y3 - 582*y3
  1523. 4 3 2
  1524. + 4*sqrt(243*y3 - 3348*y3 + 15282*y3 - 26100*y3 + 11875)*sqrt(2) - 125
  1525. 2
  1526. )/(3*(9*y3 - 66*y3 + 25)),
  1527. 2
  1528. y2=(99*y3 - 582*y3
  1529. 4 3 2
  1530. - 4*sqrt(243*y3 - 3348*y3 + 15282*y3 - 26100*y3 + 11875)*sqrt(2) - 125
  1531. 2
  1532. )/(3*(9*y3 - 66*y3 + 25)),
  1533. y3=arbcomplex(27)},
  1534. 2
  1535. {y1=(99*y3 - 582*y3
  1536. 4 3 2
  1537. - 4*sqrt(243*y3 - 3348*y3 + 15282*y3 - 26100*y3 + 11875)*sqrt(2) - 125
  1538. 2
  1539. )/(3*(9*y3 - 66*y3 + 25)),
  1540. 2
  1541. y2=(99*y3 - 582*y3
  1542. 4 3 2
  1543. + 4*sqrt(243*y3 - 3348*y3 + 15282*y3 - 26100*y3 + 11875)*sqrt(2) - 125
  1544. 2
  1545. )/(3*(9*y3 - 66*y3 + 25)),
  1546. y3=arbcomplex(28)},
  1547. 11 11 11
  1548. {y1=----,y2=----,y3=----},
  1549. 3 3 3
  1550. - 5 - 5 - 5
  1551. {y1=------,y2=------,y3=------}}
  1552. 3 3 3
  1553. % Another nice nonlinear system.
  1554. solve({y=x+t^2,x=y+u^2},{x,y,u,t});
  1555. 2
  1556. {{x=y - t ,
  1557. y=arbcomplex(32),
  1558. u=t*i,
  1559. t=arbcomplex(31)},
  1560. 2
  1561. {x=y - t ,
  1562. y=arbcomplex(30),
  1563. u= - t*i,
  1564. t=arbcomplex(29)}}
  1565. % Example from Stan Kameny (relation between Gamma function values)
  1566. % containing surds in the coefficients.
  1567. solve({x54=x14/4,x54*x34=sqrt pi/sqrt 2*x32,x32=x12/2,
  1568. x12=sqrt pi, x14*x34=pi*sqrt 2});
  1569. Unknowns: {x12,x14,x32,x34,x54}
  1570. {{x12=sqrt(pi),
  1571. x14=4*arbcomplex(33),
  1572. sqrt(pi)
  1573. x32=----------,
  1574. 2
  1575. sqrt(2)*pi
  1576. x34=------------,
  1577. 4*x54
  1578. x54=arbcomplex(33)}}
  1579. % A system given by J. Hietarinta with complex coefficients.
  1580. on complex;
  1581. apu := {2*a - a6,2*b*c3 - 1,i - 2*x + 1,2*x**2 - 2*x + 1,n1 + 1}$
  1582. solve apu;
  1583. Unknowns: {a,a6,b,c3,n1,x}
  1584. a6
  1585. {{a=----,
  1586. 2
  1587. 1
  1588. b=------,
  1589. 2*c3
  1590. c3=arbcomplex(34),
  1591. n1=-1,
  1592. 1
  1593. x=-------}}
  1594. 1 - i
  1595. clear apu;
  1596. off complex;
  1597. % More examples that can now be solved.
  1598. solve({e^(x+y)-1,x-y},{x,y});
  1599. {{x=log(-1),y=log(-1)},{x=0,y=0}}
  1600. solve({e^(x+y)+sin x,x-y},{x,y});
  1601. 2*y_
  1602. {{x=y,y=root_of(e + sin(y_),y_,tag_14)}}
  1603. % no algebraic solution exists.
  1604. solve({e^(x+y)-1,x-y**2},{x,y});
  1605. 2 2
  1606. {{x=y ,y=0},{x=y ,y=-1}}
  1607. solve(e^(y^2) * e^y -1,y);
  1608. {y=0}
  1609. solve(e^(y^2 +y)-1,y);
  1610. {y=0}
  1611. solve(e^(y^2)-1,y);
  1612. {y=0}
  1613. solve(e^(y^2+1)-1,y);
  1614. {y=i,y= - i}
  1615. solve({e^(x+y+z)-1,x-y**2=1,x**2-z=2},{x,y,z});
  1616. 2
  1617. {{x=y + 1,
  1618. atanh(sqrt(5))
  1619. y=2*cosh(----------------)*i,
  1620. 3
  1621. 4 2
  1622. z=y + 2*y - 1},
  1623. 2
  1624. {x=y + 1,
  1625. atanh(sqrt(5)) atanh(sqrt(5))
  1626. y= - cosh(----------------)*i + sqrt(3)*sinh(----------------),
  1627. 3 3
  1628. 4 2
  1629. z=y + 2*y - 1},
  1630. 2
  1631. {x=y + 1,
  1632. atanh(sqrt(5)) atanh(sqrt(5))
  1633. y= - (cosh(----------------)*i + sqrt(3)*sinh(----------------)),
  1634. 3 3
  1635. 4 2
  1636. z=y + 2*y - 1},
  1637. 2 4 2
  1638. {x=y + 1,y=0,z=y + 2*y - 1}}
  1639. solve(e^(y^4+3y^2+y)-1,y);
  1640. 2/3 1/3 1/3
  1641. {y=(sqrt( - (sqrt(5) + 3) - 4*(sqrt(5) + 3) *2 + 2*sqrt(
  1642. 2/3 2/3 1/3
  1643. 3*(sqrt(5) + 3) *2 + (sqrt(5) + 3) *sqrt(5)
  1644. 1/3 1/3 1/3 2/3
  1645. + 7*(sqrt(5) + 3) + 2*2 *sqrt(5) + 8*2 ) - 2 )
  1646. 1/3 1/3 1/6 1/6
  1647. + (sqrt(5) + 3) - 2 )/(2*(sqrt(5) + 3) *2 )}
  1648. % Transcendental equations proposed by Roger Germundsson
  1649. % <roger@isy.liu.se>
  1650. eq1 := 2*asin(x) + asin(2*x) - PI/2;
  1651. 2*asin(2*x) + 4*asin(x) - pi
  1652. eq1 := ------------------------------
  1653. 2
  1654. eq2 := 2*asin(x) - acos(3*x);
  1655. eq2 := - acos(3*x) + 2*asin(x)
  1656. eq3 := acos(x) - atan(x);
  1657. eq3 := acos(x) - atan(x)
  1658. eq4 := acos(2*x**2 - 4*x -x) - 2*asin(x);
  1659. 2
  1660. eq4 := acos(2*x - 5*x) - 2*asin(x)
  1661. eq5 := 2*atan(x) - atan( 2*x/(1-x**2) );
  1662. 2*x
  1663. eq5 := atan(--------) + 2*atan(x)
  1664. 2
  1665. x - 1
  1666. sol1 := solve(eq1,x);
  1667. sqrt(3) - 1
  1668. sol1 := {x=-------------}
  1669. 2
  1670. sol2 := solve(eq2,x);
  1671. sqrt(17) - 3
  1672. sol2 := {x=--------------}
  1673. 4
  1674. sol3 := solve(eq3,x);
  1675. sqrt(sqrt(5) - 1)
  1676. sol3 := {x=-------------------}
  1677. sqrt(2)
  1678. sol4 := solve(eq4,x);
  1679. sol4 := {}
  1680. sol5 := solve(eq5,x);
  1681. sol5 := {x=arbcomplex(36)}
  1682. % This solution should be the open interval
  1683. % (-1,1).
  1684. % Example 52 of M. Wester: the function has no real zero although
  1685. % REDUCE 3.5 and Maple tend to return 3/4.
  1686. if solve(sqrt(x^2 +1) - x +2,x) neq {} then rederr "Illegal result";
  1687. % Using a root_of expression as an algebraic number.
  1688. solve(x^5 - x - 1,x);
  1689. 5
  1690. {x=root_of(x_ - x_ - 1,x_,tag_20)}
  1691. w:=rhs first ws;
  1692. 5
  1693. w := root_of(x_ - x_ - 1,x_,tag_20)
  1694. w^5;
  1695. 5
  1696. root_of(x_ - x_ - 1,x_,tag_20) + 1
  1697. w^5-w;
  1698. 1
  1699. clear w;
  1700. % The following examples come from Daniel Lichtblau of WRI and were
  1701. % communicated by Laurent.Bernardin from ETH Zuerich.
  1702. solve(x-Pi/2 = cos(x+Pi),x);
  1703. {x=root_of(2*cos(x_) - pi + 2*x_,x_,tag_22)}
  1704. solve(exp(x^2+x+2)-1,x);
  1705. sqrt(7)*i - 1
  1706. {x=---------------}
  1707. 2
  1708. solve(log(sqrt(1+z)/sqrt(z-1))=x,z);
  1709. 2*x
  1710. e + 1
  1711. {z=----------}
  1712. 2*x
  1713. e - 1
  1714. solve({exp(x+3*y-2)=7,3^(2*x-y+4)=2},{x,y});
  1715. x + 3*y 2
  1716. {{e - 7*e =0},
  1717. 2*x y
  1718. {81*3 - 2*3 =0}}
  1719. solve(a*3^(c*t)+b*3^((c+a)*t),t);
  1720. - a
  1721. log(------)
  1722. b
  1723. {t=-------------}
  1724. log(3)*a
  1725. solve(log(x+sqrt(x^2+a))=b,{x});
  1726. 2*b
  1727. e - a
  1728. {x=----------}
  1729. b
  1730. 2*e
  1731. solve(z=log(w)/log(2)+w^2,w);
  1732. 2
  1733. {w=root_of(log(w_) + log(2)*w_ - log(2)*z,w_,tag_25)}
  1734. solve(w*2^(w^2)=5,w);
  1735. 2
  1736. w_
  1737. {w=root_of(2 *w_ - 5,w_,tag_27)}
  1738. solve(log(x/y)=1/y^2*(x+(1/x)),y);
  1739. x 2 2
  1740. {y=root_of(log(----)*x*y_ - x - 1,y_,tag_29)}
  1741. y_
  1742. solve(exp(z)=w*z^(-n),z);
  1743. n z_
  1744. {z=root_of(z_ *e - w,z_,tag_31)}
  1745. solve(-log(3)+log(2+y/3)/2-log(y/3)/2=(-I)/2*Pi,y);
  1746. - 3
  1747. {y=------}
  1748. 5
  1749. solve(-log(x)-log(y/x)/2+log(2+y/x)/2=(-3*I)/2*Pi,y);
  1750. - 2*x
  1751. {y=--------}
  1752. 2
  1753. x + 1
  1754. solve((I+1)*log(x)+(3*I+3)*log(x+3)=7,x);
  1755. i 3*i 4 i 3*i 3 i 3*i 2
  1756. {x=root_of(x_ *(x_ + 3) *x_ + 9*x_ *(x_ + 3) *x_ + 27*x_ *(x_ + 3) *x_
  1757. i 3*i 7
  1758. + 27*x_ *(x_ + 3) *x_ - e ,x_,tag_33)}
  1759. solve(x+sqrt(x)=1,x);
  1760. - sqrt(5) + 3
  1761. {x=----------------}
  1762. 2
  1763. solve({cos(1/5+alpha+x)=5,cos(2/5+alpha-x)=6},{alpha,x});
  1764. 5*alpha - 5*x + 2
  1765. {{cos(-------------------) - 6=0},
  1766. 5
  1767. 5*alpha + 5*x + 1
  1768. {cos(-------------------) - 5=0}}
  1769. 5
  1770. end;
  1771. Time for test: 225380 ms, plus GC time: 38486 ms