1% Demonstration of the REDUCE SOLVE package. 2 3on fullroots; % To get complete solutions. 4 5% Simultaneous linear fractional equations. 6 7solve({(a*x+y)/(z-1)-3,y+b+z,x-y},{x,y,z}); 8 9 10% Use of square-free factorization together with recursive use of 11% quadratic and binomial solutions. 12 13solve((x**6-x**3-1)*(x**5-1)**2*x**2); 14 15multiplicities!*; 16 17 18% A singular equation without and with a consistent inhomogeneous term. 19 20solve(a,x); 21 22solve(0,x); 23 24off solvesingular; 25 26solve(0,x); 27 28 29% Use of DECOMPOSE to solve high degree polynomials. 30 31solve(x**8-8*x**7+34*x**6-92*x**5+175*x**4-236*x**3+226*x**2-140*x+46); 32 33solve(x**8-88*x**7+2924*x**6-43912*x**5+263431*x**4-218900*x**3+ 34 65690*x**2-7700*x+234,x); 35 36 37% Recursive use of inverses, including multiple branches of rational 38% fractional powers. 39 40solve(log(acos(asin(x**(2/3)-b)-1))+2,x); 41 42 43% Square-free factors that are unsolvable, being of fifth degree, 44% transcendental, or without a defined inverse. 45 46operator f; 47 48solve((x-1)*(x+1)*(x-2)*(x+2)*(x-3)*(x*log(x)-1)*(f(x)-1),x); 49 50multiplicities!*; 51 52 53% Factors with more than one distinct top-level kernel, the first factor 54% a cubic. (Cubic solution suppressed since it is too messy to be of 55% much use). 56 57off fullroots; 58 59solve((x**(1/2)-(x-a)**(1/3))*(acos x-acos(2*x-b))* (2*log x 60 -log(x**2+x-c)-4),x); 61 62on fullroots; 63 64% Treatment of multiple-argument exponentials as polynomials. 65 66solve(a**(2*x)-3*a**x+2,x); 67 68 69% A 12th degree reciprocal polynomial that is irreductible over the 70% integers, having a reduced polynomial that is also reciprocal. 71% (Reciprocal polynomials are those that have symmetric or antisymmetric 72% coefficient patterns.) We also demonstrate suppression of automatic 73% integer root extraction. 74 75solve(x**12-4*x**11+12*x**10-28*x**9+45*x**8-68*x**7+69*x**6-68*x**5+ 7645*x**4-28*x**3+12*x**2-4*x+1); 77 78 79% The treatment of factors with non-unique inverses by introducing 80% unique new real or integer indeterminant kernels. 81 82solve((sin x-a)*(2**x-b)*(x**c-3),x); 83 84 85% Automatic restriction to principal branches. 86 87off allbranch; 88 89solve((sin x-a)*(2**x-b)*(x**c-3),x); 90 91 92% Regular system of linear equations. 93 94solve({2*x1+x2+3*x3-9,x1-2*x2+x3+2,3*x1+2*x2+2*x3-7}, {x1,x2,x3}); 95 96 97% Underdetermined system of linear equations. 98 99on solvesingular; 100 101solve({x1-4*x2+2*x3+1,2*x1-3*x2-x3-5*x4+7,3*x1-7*x2+x3-5*x4+8}, 102 {x1,x2,x3,x4}); 103 104 105% Inconsistent system of linear equations. 106 107solve({2*x1+3*x2-x3-2,7*x1+4*x2+2*x3-8,3*x1-2*x2+4*x3-5}, 108 {x1,x2,x3}); 109 110 111% Overdetermined system of linear equations. 112 113solve({x1-x2+x3-12,2*x1+3*x2-x3-13,3*x2+4*x3-5,-3*x1+x2+4*x3+20}, 114 {x1,x2,x3}); 115 116 117% Degenerate system of linear equations. 118 119operator xx,yy; 120 121yy(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) 122 -xx(5))-xx(4)-xx(5)+xx(1)-1; 123 124yy(2) := -a*b**3-b**5+b**4*(-xx(4)-xx(5)+xx(1)-5)-b**3*c+b**3*(xx(2) 125 -xx(5)-3)+b**2*(xx(3)-1); 126 127yy(3) := -a*b**3*c-3*a*b**2*c-4*a*b*c+a*b*(-xx(4)-xx(5)+xx(1)-1) 128 +a*c*(xx(3)-1)-b**2*c-b*c**2+b*c*(xx(2)-xx(5)); 129 130yy(4) := -a**2-a*c+a*(xx(2)-xx(4)-2*xx(5)+xx(1)-1)-b**4-b**3*c-3*b**3 131 -3*b**2*c-2*b**2-2*b*c+b*(xx(3)-xx(2)-xx(4)+xx(1)-2) 132 +c*(xx(3)-1); 133 134yy(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) 135 -4; 136 137soln := solve({yy(1),yy(2),yy(3),yy(4),yy(5)}, 138 {xx(1),xx(2),xx(3),xx(4),xx(5)}); 139 140for i := 1:5 do xx(i) := part(soln,1,i,2); 141 142for i := 1:5 do write yy(i); 143 144 145% Single equations liftable to polynomial systems. 146 147solve ({a*sin x + b*cos x},{x}); 148 149solve ({a*sin(x+1) + b*cos(x+1)},{x}); 150 151% Intersection of 2 curves: system with a free parameter. 152 153solve ({sqrt(x^2 + y^2)=r,0=sqrt(x)+ y**3-1},{x,y,r}); 154 155solve ({e^x - e^(1/2 * x) - 7},{x}); 156 157% Generally not liftable. 158 159 % variable inside and outside of sin. 160 161 solve({sin x + x - 1/2},{x}); 162 163 % Variable inside and outside of exponential. 164 165 solve({e^x - x**2},{x}); 166 167 % Variable inside trigonometrical functions with different forms. 168 169 solve ({a*sin(x+1) + b*cos(x+2)},{x}); 170 171 % Undetermined exponents. 172 173 solve({x^a - 2},{x}); 174 175 176% Example taken from M.L. Griss, ACM Trans. Math. Softw. 2 (1976) 1. 177 178e1 := x1 - l/(3*k)$ 179 180e2 := x2 - 1$ 181 182e3 := x3 - 35*b6/(6*l)*x4 + 33*b11/(2*l)*x6 - 715*b15/(14*l)*x8$ 183 184e4 := 14*k/(3*l)*x1 - 7*b4/(2*l)*x3 + x4$ 185 186e5 := x5 - 891*b11/(40*l)*x6 +3861*b15/(56*l)*x8$ 187 188e6 := -88*k/(15*l)*x1 + 22*b4/(5*l)*x3 - 99*b9/(8*l)*x5 +x6$ 189 190e7 := -768*k/(5005*b13)*x1 + 576*b4/(5005*b13)*x3 - 191 324*b9/(1001*b13)*x5 + x7 - 16*l/(715*b13)*x8$ 192 193e8 := 7*l/(143*b15)*x1 + 49*b6/(429*b15)*x4 - 21*b11/(65*b15)*x6 + 194 x8 - 7*b2/(143*b15)$ 195 196solve({e1,e2,e3,e4,e5,e6,e7,e8},{x1,x2,x3,x4,x5,x6,x7,x8}); 197 198 199f1 := x1 - x*x2 - y*x3 + 1/2*x**2*x4 + x*y*x5 + 1/2*y**2*x6 + 200 1/6*x**3*x7 + 1/2*x*y*(x - y)*x8 - 1/6*y**3*x9$ 201 202f2 := x1 - y*x3 + 1/2*y**2*x6 - 1/6*y**3*x9$ 203 204f3 := x1 + y*x2 - y*x3 + 1/2*y**2*x4 - y**2*x5 + 1/2*y**2*x6 + 205 1/6*y**3*x7 + 1/2*y**3*x8 - 1/6*y**3*x9$ 206 207f4 := x1 + (1 - x)*x2 - x*x3 + 1/2*(1 - x)**2*x4 - y*(1 - x)*x5 + 208 1/2*y**2*x6 + 1/6*(1 - x)**3*x7 + 1/2*y*(1 - x - y)*(1 - x)*x8 209 - 1/6*y**3*x9$ 210 211f5 := x1 + (1 - x - y)*x2 + 1/2*(1 - x - y)**2*x4 + 212 1/6*(1 - x - y)**3*x7$ 213 214f6 := x1 + (1 - x - y)*x3 + 1/2*(1 - x - y)*x6 + 215 1/6*(1 - x - y)**3*x9$ 216 217f7 := x1 - x*x2 + (1 - y)*x3 + 1/2*x*x4 - x*(1 - y)*x5 + 218 1/2*(1 - y)**2*x6 - 1/6*x**3*x7 + 1/2*x*(1 - y)*(1 - y + x)*x8 219 + 1/6*(1-y)**3*x9$ 220 221f8 := x1 - x*x2 + x*x3 + 1/2*x**2*x4 - x**2*x5 + 1/2*x**2*x6 + 222 1/6*x**3*x7 - 1/2*x**3*x8 + 1/6*x**3*x9$ 223 224f9 := x1 - x*x2 + 1/2*x**2*x4 + 1/6*x**3*x7$ 225 226solve({f1,f2,f3,f4,f5,f6,f7,f8,f9},{x1,x2,x3,x4,x5,x6,x7,x8,x9}); 227 228solve({f1 - 1,f2,f3,f4,f5,f6,f7,f8,f9},{x1,x2,x3,x4,x5,x6,x7,x8,x9}); 229 230 231% The following examples were discussed in Char, B.W., Fee, G.J., 232% Geddes, K.O., Gonnet, G.H., Monagan, M.B., Watt, S.M., "On the 233% Design and Performance of the Maple System", Proc. 1984 Macsyma 234% Users' Conference, G.E., Schenectady, NY, 1984, 199-219. 235 236% Problem 1. 237 238solve({ -22319*x0+25032*x1-83247*x2+67973*x3+54189*x4 239 -67793*x5+81135*x6+22293*x7+27327*x8+96599*x9-15144, 240 79815*x0+37299*x1-28495*x2-52463*x3+25708*x4 -55333*x5- 241 2742*x6+83127*x7-29417*x8-43202*x9+93314, -29065*x0-77803*x1- 242 49717*x2-64748*x3-68324*x4 -50162*x5-64222*x6- 243 4716*x7+30737*x8+22971*x9+90348, 62470*x0+59658*x1- 244 46120*x2+58376*x3-28208*x4 -74506*x5+28491*x6+21099*x7+29149*x8- 245 20387*x9+36254, -98233*x0-26263*x1-63227*x2+34307*x3+92294*x4 246 +10148*x5+3192*x6+24044*x7-83764*x8-1121*x9+13871, 247 -20427*x0+62666*x1+27330*x2-78670*x3+9036*x4 +56024*x5-4525*x6- 248 50589*x7-62127*x8-32846*x9+38466, 249 -85609*x0+5424*x1+86992*x2+59651*x3-60859*x4 -55984*x5- 250 6061*x6+44417*x7+92421*x8+6701*x9-9459, 251 -68255*x0+19652*x1+92650*x2-93032*x3-30191*x4 -31075*x5- 252 89060*x6+12150*x7-78089*x8-12462*x9+1027, 55526*x0- 253 91202*x1+91329*x2-25919*x3-98215*x4 +30554*x5+913*x6- 254 35751*x7+17948*x8-58850*x9+66583, 40612*x0+84364*x1- 255 83317*x2+10658*x3+37213*x4 +50489*x5+72040*x6- 256 21227*x7+60772*x8+95114*x9-68533}); 257 258solve({ -22319*x0+25032*x1-83247*x2+67973*x3+54189*x4 259 -67793*x5+81135*x6+22293*x7+27327*x8+96599*x9-15144, 260 79815*x0+37299*x1-28495*x2-52463*x3+25708*x4 -55333*x5- 261 2742*x6+83127*x7-29417*x8-43202*x9+93314, -29065*x0-77803*x1- 262 49717*x2-64748*x3-68324*x4 -50162*x5-64222*x6- 263 4716*x7+30737*x8+22971*x9+90348, 62470*x0+59658*x1- 264 46120*x2+58376*x3-28208*x4-74506*x5+28491*x6+21099*x7+29149*x8- 265 20387*x9+36254,-98233*x0-26263*x1-63227*x2+34307*x3+92294*x4 266 +10148*x5+3192*x6+24044*x7-83764*x8-1121*x9+13871, 267 -20427*x0+62666*x1+27330*x2-78670*x3+9036*x4 +56024*x5-4525*x6- 268 50589*x7-62127*x8-32846*x9+38466, 269 -85609*x0+5424*x1+86992*x2+59651*x3-60859*x4 -55984*x5- 270 6061*x6+44417*x7+92421*x8+6701*x9-9459, 271 -68255*x0+19652*x1+92650*x2-93032*x3-30191*x4 -31075*x5- 272 89060*x6+12150*x7-78089*x8-12462*x9+1027, 55526*x0- 273 91202*x1+91329*x2-25919*x3-98215*x4 +30554*x5+913*x6- 274 35751*x7+17948*x8-58850*x9+66583, 40612*x0+84364*x1- 275 83317*x2+10658*x3+37213*x4 +50489*x5+72040*x6- 276 21227*x7+60772*x8+95114*x9-68533}); 277 278 279% The next two problems give the current routines some trouble and 280% have therefore been commented out. 281 282% Problem 2. 283 284comment 285solve({ 81*x30-96*x21-45, -36*x4+59*x29+26, 286 -59*x26+5*x3-33, -81*x19-92*x23-21*x17-9, -46*x29- 287 13*x22+22*x24+83, 47*x4-47*x14-15*x26-40, 83*x30+70*x17+56*x10- 288 31, 10*x27-90*x9+52*x21+52, -33*x20-97*x26+20*x6-76, 289 97*x16+41*x8-13*x12+66, 16*x16-52*x10-73*x28+49, -28*x1-53*x24- 290 x27-67, -22*x26-29*x24+73*x10+8, 88*x18+61*x19-98*x9-55, 99*x28- 291 91*x26+26*x21-95, -6*x18+25*x7-77*x2+99, 28*x13-50*x17-52*x14-64, 292 -50*x20+26*x11+93*x2+77, -70*x8+74*x19-94*x26+86, -18*x18-2*x16- 293 79*x23+91, 36*x26-13*x11-53*x25-5, 10*x7+57*x16-85*x10-14, 294 -3*x27+44*x4+52*x22-1, 21*x11+20*x25-30*x4-83, 70*x2-97*x19- 295 41*x26-50, -51*x8+95*x12-85*x26+45, 83*x30+41*x12+50*x2+53, 296 -4*x26+69*x8-58*x5-95, 59*x27-78*x30-66*x23+16, -10*x20-36*x11- 297 60*x1-59}); 298 299 300% Problem 3. 301comment 302solve({ 115*x40+566*x41-378*x42+11401086415/6899901, 303 560*x0-45*x1-506*x2-11143386403/8309444, -621*x1- 304 328*x2+384*x3+1041841/64675, -856*x2+54*x3+869*x4-41430291/24700, 305 596*x3-608*x4-560*x5-10773384/11075, 306 -61*x4+444*x5+924*x6+4185100079/11278780, 67*x5-95*x6- 307 682*x7+903866812/6618863, 196*x6+926*x7-930*x8- 308 2051864151/2031976, -302*x7-311*x8-890*x9-14210414139/27719792, 309 121*x8-781*x9-125*x10-4747129093/39901584, 10*x9+555*x10- 310 912*x11+32476047/3471829, -151*x38+732*x39- 311 397*x40+327281689/173242, 913*x10-259*x11-982*x12- 312 18080663/5014020, 305*x11+9*x12-357*x13+1500752933/1780680, 313 179*x12-588*x13+665*x14+8128189/51832, 406*x13+843*x14- 314 833*x15+201925713/97774, 107*x14+372*x15+505*x16- 315 5161192791/3486415, 720*x15-212*x16+607*x17-31529295571/7197760, 316 951*x16-685*x17+148*x18+1034546543/711104, -654*x17- 317 899*x18+543*x19+1942961717/1646560, 318 -448*x18+673*x19+702*x20+856422818/1286375, 396*x19- 319 196*x20+218*x21-4386267866/21303625, -233*x20-796*x21-373*x22- 320 85246365829/57545250, 921*x21-368*x22+730*x23- 321 93446707622/51330363, -424*x22+378*x23+727*x24- 322 6673617931/3477462, -633*x23+565*x24-208*x25+8607636805/4092942, 323 971*x24+170*x25-865*x26-25224505/18354, 937*x25+333*x26-463*x27- 324 339307103/1025430, 494*x26-8*x27-50*x28+57395804/34695, 325 530*x27+631*x28-193*x29-8424597157/680022, 326 -435*x28+252*x29+916*x30+196828511/19593, 327*x29+403*x30- 327 845*x31+8458823325/5927971, 246*x30+881*x31- 328 394*x32+13624765321/156546826, 946*x31+169*x32-43*x33- 329 53594199271/126093183, -146*x32+503*x33- 330 363*x34+66802797635/15234909, -132*x33- 331 686*x34+376*x35+8167530636/902635, -38*x34-188*x35- 332 583*x36+1814153743/1124240, 389*x35+562*x36-688*x37- 333 12251043951/5513560, -769*x37-474*x38-89*x39-2725415872/1235019, 334 -625*x36-122*x37+468*x38+7725682775/4506736, 335 839*x39+936*x40+703*x41+1912091857/1000749, 336 -314*x41+102*x42+790*x43+7290073150/8132873, -905*x42- 337 454*x43+524*x44-10110944527/4538233, 379*x43+518*x44-328*x45- 338 2071620692/519645, 284*x44-979*x45+690*x46-915987532/16665, 339 198*x45-650*x46-763*x47+548801657/11220, 974*x46+12*x47+410*x48- 340 3831097561/51051, -498*x47-135*x48-230*x49-18920705/9282, 341 665*x48+156*x49+34*x0-27714736/156585, -519*x49-366*x0-730*x1- 342 2958446681/798985}); 343 344 345% Problem 4. 346 347% This one needs the Cramer code --- it takes forever otherwise. 348 349on cramer; 350 351solve({ -b*k8/a+c*k8/a, -b*k11/a+c*k11/a, 352 -b*k10/a+c*k10/a+k2, 353 -k3-b*k9/a+c*k9/a, -b*k14/a+c*k14/a, -b*k15/a+c*k15/a, 354 -b*k18/a+c*k18/a-k2, -b*k17/a+c*k17/a, -b*k16/a+c*k16/a+k4, 355 -b*k13/a+c*k13/a-b*k21/a+c*k21/a+b*k5/a-c*k5/a, 356 b*k44/a-c*k44/a, -b*k45/a+c*k45/a, -b*k20/a+c*k20/a, 357 -b*k44/a+c*k44/a, b*k46/a-c*k46/a, 358 b**2*k47/a**2-2*b*c*k47/a**2+c**2*k47/a**2, 359 k3, -k4, -b*k12/a+c*k12/a-a*k6/b+c*k6/b, 360 -b*k19/a+c*k19/a+a*k7/c-b*k7/c, b*k45/a-c*k45/a, 361 -b*k46/a+c*k46/a, -k48+c*k48/a+c*k48/b-c**2*k48/(a*b), 362 -k49+b*k49/a+b*k49/c-b**2*k49/(a*c), a*k1/b-c*k1/b, 363 a*k4/b-c*k4/b, a*k3/b-c*k3/b+k9, -k10+a*k2/b-c*k2/b, 364 a*k7/b-c*k7/b, -k9, k11, b*k12/a-c*k12/a+a*k6/b-c*k6/b, 365 a*k15/b-c*k15/b, k10+a*k18/b-c*k18/b, 366 -k11+a*k17/b-c*k17/b, a*k16/b-c*k16/b, 367 -a*k13/b+c*k13/b+a*k21/b-c*k21/b+a*k5/b-c*k5/b, 368 -a*k44/b+c*k44/b, a*k45/b-c*k45/b, 369 a*k14/c-b*k14/c+a*k20/b-c*k20/b, a*k44/b-c*k44/b, 370 -a*k46/b+c*k46/b, -k47+c*k47/a+c*k47/b-c**2*k47/(a*b), 371 a*k19/b-c*k19/b, -a*k45/b+c*k45/b, a*k46/b-c*k46/b, 372 a**2*k48/b**2-2*a*c*k48/b**2+c**2*k48/b**2, 373 -k49+a*k49/b+a*k49/c-a**2*k49/(b*c), k16, -k17, 374 -a*k1/c+b*k1/c, -k16-a*k4/c+b*k4/c, -a*k3/c+b*k3/c, 375 k18-a*k2/c+b*k2/c, b*k19/a-c*k19/a-a*k7/c+b*k7/c, 376 -a*k6/c+b*k6/c, -a*k8/c+b*k8/c, -a*k11/c+b*k11/c+k17, 377 -a*k10/c+b*k10/c-k18, -a*k9/c+b*k9/c, 378 -a*k14/c+b*k14/c-a*k20/b+c*k20/b, 379 -a*k13/c+b*k13/c+a*k21/c-b*k21/c-a*k5/c+b*k5/c, 380 a*k44/c-b*k44/c, -a*k45/c+b*k45/c, -a*k44/c+b*k44/c, 381 a*k46/c-b*k46/c, -k47+b*k47/a+b*k47/c-b**2*k47/(a*c), 382 -a*k12/c+b*k12/c, a*k45/c-b*k45/c, -a*k46/c+b*k46/c, 383 -k48+a*k48/b+a*k48/c-a**2*k48/(b*c), 384 a**2*k49/c**2-2*a*b*k49/c**2+b**2*k49/c**2, k8, k11, -k15, 385 k10-k18, -k17, k9, -k16, -k29, k14-k32, -k21+k23-k31, 386 -k24-k30, -k35, k44, -k45, k36, k13-k23+k39, -k20+k38, 387 k25+k37, b*k26/a-c*k26/a-k34+k42, -2*k44, k45, k46, 388 b*k47/a-c*k47/a, k41, k44, -k46, -b*k47/a+c*k47/a, 389 k12+k24, -k19-k25, -a*k27/b+c*k27/b-k33, k45, -k46, 390 -a*k48/b+c*k48/b, a*k28/c-b*k28/c+k40, -k45, k46, 391 a*k48/b-c*k48/b, a*k49/c-b*k49/c, -a*k49/c+b*k49/c, 392 -k1, -k4, -k3, k15, k18-k2, k17, k16, k22, k25-k7, 393 k24+k30, k21+k23-k31, k28, -k44, k45, -k30-k6, k20+k32, 394 k27+b*k33/a-c*k33/a, k44, -k46, -b*k47/a+c*k47/a, -k36, 395 k31-k39-k5, -k32-k38, k19-k37, k26-a*k34/b+c*k34/b-k42, 396 k44, -2*k45, k46, a*k48/b-c*k48/b, a*k35/c-b*k35/c-k41, 397 -k44, k46, b*k47/a-c*k47/a, -a*k49/c+b*k49/c, -k40, k45, 398 -k46, -a*k48/b+c*k48/b, a*k49/c-b*k49/c, k1, k4, k3, -k8, 399 -k11, -k10+k2, -k9, k37+k7, -k14-k38, -k22, -k25-k37, -k24+k6, 400 -k13-k23+k39, -k28+b*k40/a-c*k40/a, k44, -k45, -k27, -k44, 401 k46, b*k47/a-c*k47/a, k29, k32+k38, k31-k39+k5, -k12+k30, 402 k35-a*k41/b+c*k41/b, -k44, k45, -k26+k34+a*k42/c-b*k42/c, 403 k44, k45, -2*k46, -b*k47/a+c*k47/a, -a*k48/b+c*k48/b, 404 a*k49/c-b*k49/c, k33, -k45, k46, a*k48/b-c*k48/b, 405 -a*k49/c+b*k49/c }, 406 {k1, k2, k3, k4, k5, k6, k7, k8, k9, k10, k11, k12, k13, k14, 407 k15, k16, k17, k18, k19, k20, k21, k22, k23, k24, k25, k26, 408 k27, k28, k29, k30, k31, k32, k33, k34, k35, k36, k37, k38, 409 k39, k40, k41, k42, k43, k44, k45, k46, k47, k48, k49}); 410 411off cramer; 412 413% Problem 5. 414 415solve ({2*a3*b3+a5*b3+a3*b5, a5*b3+2*a5*b5+a3*b5, 416 a5*b5, a2*b2, a4*b4, a5*b1+b5+a4*b3+a3*b4, 417 a5*b3+a5*b5+a3*b5+a3*b3, a0*b2+b2+a4*b2+a2*b4+c2+a2*b0+a2*b1, 418 a0*b0+a0*b1+a0*b4+a3*b2+b0+b1+b4+a4*b0+a4*b1+a2*b5+a4*b4+c1+c4 419 +a5*b2+a2*b3+c0, 420 -1+a3*b0+a0*b3+a0*b5+a5*b0+b3+b5+a5*b4+a4*b3+a4*b5+a3*b4+a5*b1 421 +a3*b1+c3+c5, 422 b4+a4*b1, a5*b3+a3*b5, a2*b1+b2, a4*b5+a5*b4, a2*b4+a4*b2, 423 a0*b5+a5*b0+a3*b4+2*a5*b4+a5*b1+b5+a4*b3+2*a4*b5+c5, 424 a4*b0+2*a4*b4+a2*b5+b4+a4*b1+a5*b2+a0*b4+c4, 425 c3+a0*b3+2*b3+b5+a4*b3+a3*b0+2*a3*b1+a5*b1+a3*b4, 426 c1+a0*b1+2*b1+a4*b1+a2*b3+b0+a3*b2+b4}); 427 428 429% Problem 6. 430 431solve({2*a3*b3+a5*b3+a3*b5, a5*b3+2*a5*b5+a3*b5, 432 a4*b4, a5*b3+a5*b5+a3*b5+a3*b3, b1, a3*b3, a2*b2, a5*b5, 433 a5*b1+b5+a4*b3+a3*b4, a0*b2+b2+a4*b2+a2*b4+c2+a2*b0+a2*b1, 434 b4+a4*b1, b3+a3*b1, a5*b3+a3*b5, a2*b1+b2, a4*b5+a5*b4, 435 a2*b4+a4*b2, a0*b0+a0*b1+a0*b4+a3*b2+b0+b1+b4+a4*b0+a4*b1 436 +a2*b5+a4*b4+c1+c4+a5*b2+a2*b3+c0,-1+a3*b0+a0*b3+a0*b5+a5*b0 437 +b3+b5+a5*b4+a4*b3+a4*b5+a3*b4+a5*b1+a3*b1+c3+c5, 438 a0*b5+a5*b0+a3*b4+2*a5*b4+a5*b1+b5+a4*b3+2*a4*b5+c5, 439 a4*b0+2*a4*b4+a2*b5+b4+a4*b1+a5*b2+a0*b4+c4, 440 c3+a0*b3+2*b3+b5+a4*b3+a3*b0+2*a3*b1+a5*b1+a3*b4, 441 c1+a0*b1+2*b1+a4*b1+a2*b3+b0+a3*b2+b4}); 442 443% Example cited by Bruno Buchberger 444% in R.Janssen: Trends in Computer Algebra, 445% Springer, 1987 446% Geometry of a simple robot, 447% l1,l2 length of arms 448% ci,si cos and sin of rotation angles 449 450 451solve( { c1*c2 -cf*ct*cp + sf*sp, 452 s1*c2 - sf*ct*cp - cf*sp, 453 s2 + st*cp, 454 -c1*s2 - cf*ct*sp + sf*cp, 455 -s1*s2 + sf*ct*sp - cf*cp, 456 c2 - st*sp, 457 s1 - cf*st, 458 -c1 - sf*st, 459 ct, 460 l2*c1*c2 - px, 461 l2*s1*c2 - py, 462 l2*s2 + l1 - pz, 463 c1**2 + s1**2 -1, 464 c2**2 + s2**2 -1, 465 cf**2 + sf**2 -1, 466 ct**2 + st**2 -1, 467 cp**2 + sp**2 -1}, 468 {c1,c2,s1,s2,py,cf,ct,cp,sf,st,sp}); 469 470% Steady state computation of a prototypical chemical 471% reaction network (the "Edelstein" network) 472 473solve( 474 { alpha * c1 - beta * c1**2 - gamma*c1*c2 + epsilon*c3, 475 -gamma*c1*c2 + (epsilon+theta)*c3 -eta *c2, 476 gamma*c1*c2 + eta*c2 - (epsilon+theta) * c3}, 477 {c3,c2,c1}); 478 479solve( 480{( - 81*y1**2*y2**2 + 594*y1**2*y2 - 225*y1**2 + 594*y1*y2**2 - 3492* 481y1*y2 - 750*y1 - 225*y2**2 - 750*y2 + 14575)/81, 482( - 81*y2**2*y3**2 + 594*y2**2*y3 - 225*y2**2 + 594*y2*y3**2 - 3492* 483y2*y3 - 750*y2 - 225*y3**2 - 750*y3 + 14575)/81, 484( - 81*y1**2*y3**2 + 594*y1**2*y3 - 225*y1**2 + 594*y1*y3**2 - 3492* 485y1*y3 - 750*y1 - 225*y3**2 - 750*y3 + 14575)/81, 486(2*(81*y1**2*y2**2*y3 + 81*y1**2*y2*y3**2 - 594*y1**2*y2*y3 - 225*y1 487**2*y2 - 225*y1**2*y3 + 1650*y1**2 + 81*y1*y2**2*y3**2 - 594*y1* 488y2**2*y3 - 225*y1*y2**2 - 594*y1*y2*y3**2 + 2592*y1*y2*y3 + 2550 489*y1*y2 - 225*y1*y3**2 + 2550*y1*y3 - 3575*y1 - 225*y2**2*y3 + 4901650*y2**2 - 225*y2*y3**2 + 2550*y2*y3 - 3575*y2 + 1650*y3**2 - 4913575*y3 - 30250))/81}, {y1,y2,y3}); 492 493% Another nice nonlinear system. 494 495solve({y=x+t^2,x=y+u^2},{x,y,u,t}); 496 497% Example from Stan Kameny (relation between Gamma function values) 498% containing surds in the coefficients. 499 500solve({x54=x14/4,x54*x34=sqrt pi/sqrt 2*x32,x32=x12/2, 501 x12=sqrt pi, x14*x34=pi*sqrt 2}); 502 503% A system given by J. Hietarinta with complex coefficients. 504 505on complex; 506 507apu := {2*a - a6,2*b*c3 - 1,i - 2*x + 1,2*x**2 - 2*x + 1,n1 + 1}$ 508 509solve apu; 510 511clear apu; 512 513off complex; 514 515% a trivial system which led to a wrong result: 516 517{a**2*b - a*b**2 + 1, a**2*b + a*b**2 - 1}$ 518 519solve ws; 520 521% also communicated by Jarmo Hietarinta 522 523% More examples that can now be solved. 524 525solve({e^(x+y)-1,x-y},{x,y}); 526 527solve({e^(x+y)+sin x,x-y},{x,y}); % no algebraic solution exists. 528 529solve({e^(x+y)-1,x-y**2},{x,y}); 530 531solve(e^(y^2) * e^y -1,y); 532 533solve(e^(y^2 +y)-1,y); 534 535solve(e^(y^2)-1,y); 536 537solve(e^(y^2+1)-1,y); 538 539solve({e^(x+y+z)-1,x-y**2=1,x**2-z=2},{x,y,z}); 540 541solve(e^(y^4+3y^2+y)-1,y); 542 543% Transcendental equations proposed by Roger Germundsson 544% <roger@isy.liu.se> 545 546eq1 := 2*asin(x) + asin(2*x) - PI/2; 547eq2 := 2*asin(x) - acos(3*x); 548eq3 := acos(x) - atan(x); 549eq4 := acos(2*x**2 - 4*x -x) - 2*asin(x); 550eq5 := 2*atan(x) - atan( 2*x/(1-x**2) ); 551 552sol1 := solve(eq1,x); 553sol2 := solve(eq2,x); 554sol3 := solve(eq3,x); 555sol4 := solve(eq4,x); 556sol5 := solve(eq5,x); % This solution should be the open interval 557 % (-1,1). 558 559% Example 52 of M. Wester: the function has no real zero although 560% REDUCE 3.5 and Maple tend to return 3/4. 561 562if solve(sqrt(x^2 +1) - x +2,x) neq {} then rederr "Illegal result"; 563 564% Using a root_of expression as an algebraic number. 565 566solve(x^5 - x - 1,x); 567 568w:=rhs first ws; 569 570w^5; 571 572w^5-w; 573 574clear w; 575 576% The following examples come from Daniel Lichtblau of WRI and were 577% communicated by Laurent.Bernardin from ETH Zuerich. 578 579solve(x-Pi/2 = cos(x+Pi),x); 580 581solve(exp(x^2+x+2)-1,x); 582 583solve(log(sqrt(1+z)/sqrt(z-1))=x,z); 584 585solve({exp(x+3*y-2)=7,3^(2*x-y+4)=2},{x,y}); 586 587solve(a*3^(c*t)+b*3^((c+a)*t),t); 588 589solve(log(x+sqrt(x^2+a))=b,{x}); 590 591solve(z=log(w)/log(2)+w^2,w); 592 593solve(w*2^(w^2)=5,w); 594 595solve(log(x/y)=1/y^2*(x+(1/x)),y); 596 597solve(exp(z)=w*z^(-n),z); 598 599solve(-log(3)+log(2+y/3)/2-log(y/3)/2=(-I)/2*Pi,y); 600 601solve(-log(x)-log(y/x)/2+log(2+y/x)/2=(-3*I)/2*Pi,y); 602 603solve((I+1)*log(x)+(3*I+3)*log(x+3)=7,x); 604 605solve(x+sqrt(x)=1,x); 606 607solve({cos(1/5+alpha+x)=5,cos(2/5+alpha-x)=6},{alpha,x}); 608 609end; 610