Sun Aug 18 16:00:52 2002 run on Windows
% Demonstration of the REDUCE SOLVE package.
on fullroots;
% To get complete solutions.
% Simultaneous linear fractional equations.
solve({(a*x+y)/(z-1)-3,y+b+z,x-y},{x,y,z});
- 3*(b + 1)
{{x=--------------,
a + 4
- 3*(b + 1)
y=--------------,
a + 4
- a*b - b + 3
z=----------------}}
a + 4
% Use of square-free factorization together with recursive use of
% quadratic and binomial solutions.
solve((x**6-x**3-1)*(x**5-1)**2*x**2);
Unknown: x
2*sqrt( - sqrt(5) - 5) + sqrt(10) - sqrt(2)
{x=---------------------------------------------,
4*sqrt(2)
- 2*sqrt( - sqrt(5) - 5) + sqrt(10) - sqrt(2)
x=------------------------------------------------,
4*sqrt(2)
2*sqrt(sqrt(5) - 5) - sqrt(10) - sqrt(2)
x=------------------------------------------,
4*sqrt(2)
- 2*sqrt(sqrt(5) - 5) - sqrt(10) - sqrt(2)
x=---------------------------------------------,
4*sqrt(2)
x=1,
x=0,
1/3
( - sqrt(5) + 1) *(sqrt(3)*i - 1)
x=-------------------------------------,
1/3
2*2
1/3
- ( - sqrt(5) + 1) *(sqrt(3)*i + 1)
x=----------------------------------------,
1/3
2*2
1/3
( - sqrt(5) + 1)
x=---------------------,
1/3
2
1/3
(sqrt(5) + 1) *(sqrt(3)*i - 1)
x=----------------------------------,
1/3
2*2
1/3
- (sqrt(5) + 1) *(sqrt(3)*i + 1)
x=-------------------------------------,
1/3
2*2
1/3
(sqrt(5) + 1)
x=------------------}
1/3
2
multiplicities!*;
{2,2,2,2,2,2,1,1,1,1,1,1}
% A singular equation without and with a consistent inhomogeneous term.
solve(a,x);
{}
solve(0,x);
{x=arbcomplex(1)}
off solvesingular;
solve(0,x);
{}
% Use of DECOMPOSE to solve high degree polynomials.
solve(x**8-8*x**7+34*x**6-92*x**5+175*x**4-236*x**3+226*x**2-140*x+46);
Unknown: x
sqrt( - sqrt( - 4*sqrt(3) - 3) - 3)*sqrt(2) + 2
{x=-------------------------------------------------,
2
- sqrt( - sqrt( - 4*sqrt(3) - 3) - 3)*sqrt(2) + 2
x=----------------------------------------------------,
2
sqrt( - sqrt(4*sqrt(3) - 3) - 3)*sqrt(2) + 2
x=----------------------------------------------,
2
- sqrt( - sqrt(4*sqrt(3) - 3) - 3)*sqrt(2) + 2
x=-------------------------------------------------,
2
sqrt(sqrt( - 4*sqrt(3) - 3) - 3)*sqrt(2) + 2
x=----------------------------------------------,
2
- sqrt(sqrt( - 4*sqrt(3) - 3) - 3)*sqrt(2) + 2
x=-------------------------------------------------,
2
sqrt(sqrt(4*sqrt(3) - 3) - 3)*sqrt(2) + 2
x=-------------------------------------------,
2
- sqrt(sqrt(4*sqrt(3) - 3) - 3)*sqrt(2) + 2
x=----------------------------------------------}
2
solve(x**8-88*x**7+2924*x**6-43912*x**5+263431*x**4-218900*x**3+
65690*x**2-7700*x+234,x);
{x=sqrt( - i + 116) + 11,
x= - sqrt( - i + 116) + 11,
x=sqrt(i + 116) + 11,
x= - sqrt(i + 116) + 11,
x=4*sqrt(7) + 11,
x= - 4*sqrt(7) + 11,
x=2*sqrt(30) + 11,
x= - 2*sqrt(30) + 11}
% Recursive use of inverses, including multiple branches of rational
% fractional powers.
solve(log(acos(asin(x**(2/3)-b)-1))+2,x);
1 1
{x=sqrt(sin(cos(----) + 1) + b)*(sin(cos(----) + 1) + b),
2 2
e e
1 1
x= - sqrt(sin(cos(----) + 1) + b)*(sin(cos(----) + 1) + b)}
2 2
e e
% Square-free factors that are unsolvable, being of fifth degree,
% transcendental, or without a defined inverse.
operator f;
solve((x-1)*(x+1)*(x-2)*(x+2)*(x-3)*(x*log(x)-1)*(f(x)-1),x);
{f(x) - 1=0,
x=root_of(log(x_)*x_ - 1,x_,tag_2),
x=3,
x=2,
x=1,
x=-1,
x=-2}
multiplicities!*;
{1,1,1,1,1,1,1}
% Factors with more than one distinct top-level kernel, the first factor
% a cubic. (Cubic solution suppressed since it is too messy to be of
% much use).
off fullroots;
solve((x**(1/2)-(x-a)**(1/3))*(acos x-acos(2*x-b))* (2*log x
-log(x**2+x-c)-4),x);
2 4 4 2
e *(sqrt(4*c*e - 4*c + e ) - e )
{x=-----------------------------------,
4
2*(e - 1)
2 4 4 2
- e *(sqrt(4*c*e - 4*c + e ) + e )
x=--------------------------------------,
4
2*(e - 1)
2 3 2
x=root_of(a - 2*a*x_ - x_ + x_ ,x_,tag_7),
x=b}
on fullroots;
% Treatment of multiple-argument exponentials as polynomials.
solve(a**(2*x)-3*a**x+2,x);
2*arbint(3)*i*pi + log(2)
{x=---------------------------,
log(a)
2*arbint(2)*i*pi
x=------------------}
log(a)
% A 12th degree reciprocal polynomial that is irreductible over the
% integers, having a reduced polynomial that is also reciprocal.
% (Reciprocal polynomials are those that have symmetric or antisymmetric
% coefficient patterns.) We also demonstrate suppression of automatic
% integer root extraction.
solve(x**12-4*x**11+12*x**10-28*x**9+45*x**8-68*x**7+69*x**6-68*x**5+
45*x**4-28*x**3+12*x**2-4*x+1);
Unknown: x
sqrt( - sqrt(5) - 3)
{x=----------------------,
sqrt(2)
- sqrt( - sqrt(5) - 3)
x=-------------------------,
sqrt(2)
2*sqrt( - sqrt(3)*i - 9) - sqrt(6)*i + sqrt(2)
x=------------------------------------------------,
4*sqrt(2)
- 2*sqrt( - sqrt(3)*i - 9) - sqrt(6)*i + sqrt(2)
x=---------------------------------------------------,
4*sqrt(2)
2*sqrt( - 3*sqrt(5) - 1) - sqrt(10) + 3*sqrt(2)
x=-------------------------------------------------,
4*sqrt(2)
- 2*sqrt( - 3*sqrt(5) - 1) - sqrt(10) + 3*sqrt(2)
x=----------------------------------------------------,
4*sqrt(2)
2*sqrt(sqrt(3)*i - 9) + sqrt(6)*i + sqrt(2)
x=---------------------------------------------,
4*sqrt(2)
- 2*sqrt(sqrt(3)*i - 9) + sqrt(6)*i + sqrt(2)
x=------------------------------------------------,
4*sqrt(2)
2*sqrt(3*sqrt(5) - 1) + sqrt(10) + 3*sqrt(2)
x=----------------------------------------------,
4*sqrt(2)
- 2*sqrt(3*sqrt(5) - 1) + sqrt(10) + 3*sqrt(2)
x=-------------------------------------------------,
4*sqrt(2)
i*(sqrt(5) - 1)
x=-----------------,
2
i*( - sqrt(5) + 1)
x=--------------------}
2
% The treatment of factors with non-unique inverses by introducing
% unique new real or integer indeterminant kernels.
solve((sin x-a)*(2**x-b)*(x**c-3),x);
{x=2*arbint(6)*pi + asin(a),
x=2*arbint(6)*pi - asin(a) + pi,
2*arbint(5)*i*pi + log(b)
x=---------------------------,
log(2)
1/c 2*arbint(4)*pi 2*arbint(4)*pi
x=3 *(cos(----------------) + sin(----------------)*i)}
c c
% Automatic restriction to principal branches.
off allbranch;
solve((sin x-a)*(2**x-b)*(x**c-3),x);
{x=asin(a),
1/c
x=3 ,
log(b)
x=--------}
log(2)
% Regular system of linear equations.
solve({2*x1+x2+3*x3-9,x1-2*x2+x3+2,3*x1+2*x2+2*x3-7}, {x1,x2,x3});
{{x1=-1,x2=2,x3=3}}
% Underdetermined system of linear equations.
on solvesingular;
solve({x1-4*x2+2*x3+1,2*x1-3*x2-x3-5*x4+7,3*x1-7*x2+x3-5*x4+8},
{x1,x2,x3,x4});
{{x1=4*arbcomplex(8) + 2*arbcomplex(7) - 5,
x2=arbcomplex(8) + arbcomplex(7) - 1,
x3=arbcomplex(7),
x4=arbcomplex(8)}}
% Inconsistent system of linear equations.
solve({2*x1+3*x2-x3-2,7*x1+4*x2+2*x3-8,3*x1-2*x2+4*x3-5},
{x1,x2,x3});
{}
% Overdetermined system of linear equations.
solve({x1-x2+x3-12,2*x1+3*x2-x3-13,3*x2+4*x3-5,-3*x1+x2+4*x3+20},
{x1,x2,x3});
{{x1=9,x2=-1,x3=2}}
% Degenerate system of linear equations.
operator xx,yy;
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)
-xx(5))-xx(4)-xx(5)+xx(1)-1;
2 2 3
yy(1) := - xx(5)*a - xx(5) - xx(4) + xx(3)*a + xx(2)*a + xx(1) - a *b
2 2 2 2
- 3*a *b - 3*a *b - 2*a - a*b - a*c - 1
yy(2) := -a*b**3-b**5+b**4*(-xx(4)-xx(5)+xx(1)-5)-b**3*c+b**3*(xx(2)
-xx(5)-3)+b**2*(xx(3)-1);
2 2 2 2
yy(2) := b *( - xx(5)*b - xx(5)*b - xx(4)*b + xx(3) + xx(2)*b + xx(1)*b - a*b
3 2
- b - 5*b - b*c - 3*b - 1)
yy(3) := -a*b**3*c-3*a*b**2*c-4*a*b*c+a*b*(-xx(4)-xx(5)+xx(1)-1)
+a*c*(xx(3)-1)-b**2*c-b*c**2+b*c*(xx(2)-xx(5));
yy(3) := - xx(5)*a*b - xx(5)*b*c - xx(4)*a*b + xx(3)*a*c + xx(2)*b*c
3 2 2 2
+ xx(1)*a*b - a*b *c - 3*a*b *c - 4*a*b*c - a*b - a*c - b *c - b*c
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
-3*b**2*c-2*b**2-2*b*c+b*(xx(3)-xx(2)-xx(4)+xx(1)-2)
+c*(xx(3)-1);
yy(4) := - 2*xx(5)*a - xx(4)*a - xx(4)*b + xx(3)*b + xx(3)*c + xx(2)*a
2 4 3 3
- xx(2)*b + xx(1)*a + xx(1)*b - a - a*c - a - b - b *c - 3*b
2 2
- 3*b *c - 2*b - 2*b*c - 2*b - c
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)
-4;
3 2
yy(5) := - 3*xx(5) - xx(4) + 3*xx(3) + 2*xx(2) + xx(1) - 2*a - 3*b - 9*b
- 11*b - 2*c - 4
soln := solve({yy(1),yy(2),yy(3),yy(4),yy(5)},
{xx(1),xx(2),xx(3),xx(4),xx(5)});
soln := {{xx(1)=arbcomplex(10) + arbcomplex(9) + 1,
xx(2)=arbcomplex(10) + a + b + c,
3 2
xx(3)=b + 3*b + 3*b + 1,
xx(4)=arbcomplex(9),
xx(5)=arbcomplex(10)}}
for i := 1:5 do xx(i) := part(soln,1,i,2);
for i := 1:5 do write yy(i);
0
0
0
0
0
% Single equations liftable to polynomial systems.
solve ({a*sin x + b*cos x},{x});
2 2
sqrt(a + b ) - a
{x= - 2*atan(-------------------),
b
2 2
sqrt(a + b ) + a
x=2*atan(-------------------)}
b
solve ({a*sin(x+1) + b*cos(x+1)},{x});
2 2
sqrt(a + b ) - a
{x= - 2*atan(-------------------) - 1,
b
2 2
sqrt(a + b ) + a
x=2*atan(-------------------) - 1}
b
% Intersection of 2 curves: system with a free parameter.
solve ({sqrt(x^2 + y^2)=r,0=sqrt(x)+ y**3-1},{x,y,r});
6 3
{{x=y - 2*y + 1,
y=arbcomplex(12),
12 9 6 3 2
r=sqrt(y - 4*y + 6*y - 4*y + y + 1)},
6 3
{x=y - 2*y + 1,
y=arbcomplex(11),
12 9 6 3 2
r= - sqrt(y - 4*y + 6*y - 4*y + y + 1)}}
solve ({e^x - e^(1/2 * x) - 7},{x});
- sqrt(29) + 1
{x=2*log(-----------------),
2
sqrt(29) + 1
x=2*log(--------------)}
2
% Generally not liftable.
% variable inside and outside of sin.
solve({sin x + x - 1/2},{x});
{x=root_of(2*sin(x_) + 2*x_ - 1,x_,tag_12)}
% Variable inside and outside of exponential.
solve({e^x - x**2},{x});
- 1
{x= - 2*lambert_w(------)}
2
% Variable inside trigonometrical functions with different forms.
solve ({a*sin(x+1) + b*cos(x+2)},{x});
2 2
{x=2*atan((cos(1)*a - sqrt(2*cos(2)*sin(1)*a*b - 2*cos(1)*sin(2)*a*b + a + b )
- sin(2)*b)/(cos(2)*b + sin(1)*a)),
2 2
x=2*atan((cos(1)*a + sqrt(2*cos(2)*sin(1)*a*b - 2*cos(1)*sin(2)*a*b + a + b )
- sin(2)*b)/(cos(2)*b + sin(1)*a))}
% Undetermined exponents.
solve({x^a - 2},{x});
1/a
{x=2 }
% Example taken from M.L. Griss, ACM Trans. Math. Softw. 2 (1976) 1.
e1 := x1 - l/(3*k)$
e2 := x2 - 1$
e3 := x3 - 35*b6/(6*l)*x4 + 33*b11/(2*l)*x6 - 715*b15/(14*l)*x8$
e4 := 14*k/(3*l)*x1 - 7*b4/(2*l)*x3 + x4$
e5 := x5 - 891*b11/(40*l)*x6 +3861*b15/(56*l)*x8$
e6 := -88*k/(15*l)*x1 + 22*b4/(5*l)*x3 - 99*b9/(8*l)*x5 +x6$
e7 := -768*k/(5005*b13)*x1 + 576*b4/(5005*b13)*x3 -
324*b9/(1001*b13)*x5 + x7 - 16*l/(715*b13)*x8$
e8 := 7*l/(143*b15)*x1 + 49*b6/(429*b15)*x4 - 21*b11/(65*b15)*x6 +
x8 - 7*b2/(143*b15)$
solve({e1,e2,e3,e4,e5,e6,e7,e8},{x1,x2,x3,x4,x5,x6,x7,x8});
l
{{x1=-----,
3*k
x2=1,
2
5*(3*b2*k - l )
x3=-----------------,
6*k*l
2 2
7*(45*b2*b4*k - 15*b4*l - 8*k*l )
x4=------------------------------------,
2
36*k*l
2 2 2 4
2205*b2*b4*b6*k - 108*b2*k*l - 735*b4*b6*l - 392*b6*k*l + 36*l
x5=--------------------------------------------------------------------,
3
32*k*l
2 2
x6=(11*(893025*b2*b4*b6*b9*k - 11520*b2*b4*k*l - 43740*b2*b9*k*l
2 4 2 4
- 297675*b4*b6*b9*l + 3840*b4*l - 158760*b6*b9*k*l + 14580*b9*l
4 4
+ 2048*k*l ))/(11520*k*l ),
2
x7=(47652707025*b11*b2*b4*b6*b9*k - 614718720*b11*b2*b4*k*l
2 2
- 2334010140*b11*b2*b9*k*l - 15884235675*b11*b4*b6*b9*l
4 2 4
+ 204906240*b11*b4*l - 8471592360*b11*b6*b9*k*l + 778003380*b11*b9*l
4
+ 109283328*b11*k*l + 172398476250*b15*b2*b4*b6*b9*k
2 2
- 2223936000*b15*b2*b4*k*l - 8444007000*b15*b2*b9*k*l
2 4
- 57466158750*b15*b4*b6*b9*l + 741312000*b15*b4*l
2 4 4
- 30648618000*b15*b6*b9*k*l + 2814669000*b15*b9*l + 395366400*b15*k*l
2 4 4
- 172872000*b2*b4*b6*k*l + 8467200*b2*k*l + 57624000*b4*b6*l
4 6 3
+ 30732800*b6*k*l - 2822400*l )/(7729722000*b13*b15*k*l ),
2
x8=(7*(972504225*b11*b2*b4*b6*b9*k - 12545280*b11*b2*b4*k*l
2 2
- 47632860*b11*b2*b9*k*l - 324168075*b11*b4*b6*b9*l
4 2 4
+ 4181760*b11*b4*l - 172889640*b11*b6*b9*k*l + 15877620*b11*b9*l
4 2 4
+ 2230272*b11*k*l - 3528000*b2*b4*b6*k*l + 172800*b2*k*l
4 4 6 4
+ 1176000*b4*b6*l + 627200*b6*k*l - 57600*l ))/(24710400*b15*k*l )}}
f1 := x1 - x*x2 - y*x3 + 1/2*x**2*x4 + x*y*x5 + 1/2*y**2*x6 +
1/6*x**3*x7 + 1/2*x*y*(x - y)*x8 - 1/6*y**3*x9$
f2 := x1 - y*x3 + 1/2*y**2*x6 - 1/6*y**3*x9$
f3 := x1 + y*x2 - y*x3 + 1/2*y**2*x4 - y**2*x5 + 1/2*y**2*x6 +
1/6*y**3*x7 + 1/2*y**3*x8 - 1/6*y**3*x9$
f4 := x1 + (1 - x)*x2 - x*x3 + 1/2*(1 - x)**2*x4 - y*(1 - x)*x5 +
1/2*y**2*x6 + 1/6*(1 - x)**3*x7 + 1/2*y*(1 - x - y)*(1 - x)*x8
- 1/6*y**3*x9$
f5 := x1 + (1 - x - y)*x2 + 1/2*(1 - x - y)**2*x4 +
1/6*(1 - x - y)**3*x7$
f6 := x1 + (1 - x - y)*x3 + 1/2*(1 - x - y)*x6 +
1/6*(1 - x - y)**3*x9$
f7 := x1 - x*x2 + (1 - y)*x3 + 1/2*x*x4 - x*(1 - y)*x5 +
1/2*(1 - y)**2*x6 - 1/6*x**3*x7 + 1/2*x*(1 - y)*(1 - y + x)*x8
+ 1/6*(1-y)**3*x9$
f8 := x1 - x*x2 + x*x3 + 1/2*x**2*x4 - x**2*x5 + 1/2*x**2*x6 +
1/6*x**3*x7 - 1/2*x**3*x8 + 1/6*x**3*x9$
f9 := x1 - x*x2 + 1/2*x**2*x4 + 1/6*x**3*x7$
solve({f1,f2,f3,f4,f5,f6,f7,f8,f9},{x1,x2,x3,x4,x5,x6,x7,x8,x9});
{{x1=0,x2=0,x3=0,x4=0,x5=0,x6=0,x7=0,x8=0,x9=0}}
solve({f1 - 1,f2,f3,f4,f5,f6,f7,f8,f9},{x1,x2,x3,x4,x5,x6,x7,x8,x9});
8 8 7 3 7 2 7 7 6 4
{{x1=(y*( - 8*x *y + 10*x + 9*x *y - 49*x *y + 85*x *y - 43*x + 23*x *y
6 3 6 2 6 6 5 5 5 4
- 128*x *y + 266*x *y - 246*x *y + 77*x + 20*x *y - 145*x *y
5 3 5 2 5 5 4 6 4 5
+ 383*x *y - 512*x *y + 329*x *y - 75*x + 9*x *y - 84*x *y
4 4 4 3 4 2 4 4 3 7
+ 276*x *y - 469*x *y + 464*x *y - 233*x *y + 43*x + 3*x *y
3 6 3 5 3 4 3 3 3 2 3
- 23*x *y + 97*x *y - 196*x *y + 245*x *y - 201*x *y + 87*x *y
3 2 8 2 7 2 6 2 5 2 4
- 14*x - 2*x *y + 13*x *y - 25*x *y + 23*x *y - 10*x *y
2 3 2 2 2 2 9 8 7
- 17*x *y + 31*x *y - 15*x *y + 2*x - 2*x*y + 10*x*y - 24*x*y
6 5 4 3 2 6 5
+ 41*x*y - 57*x*y + 53*x*y - 24*x*y + 2*x*y + x*y - 2*y + 7*y
4 3 2 10 10 9 2 9 9
- 9*y + 5*y - y ))/(2*x *y - 4*x + 8*x *y - 24*x *y + 20*x
8 3 8 2 8 8 7 4 7 3 7 2
+ x *y - 17*x *y + 47*x *y - 31*x - 24*x *y + 92*x *y - 105*x *y
7 7 6 5 6 4 6 3 6 2
+ 18*x *y + 15*x - 28*x *y + 172*x *y - 350*x *y + 308*x *y
6 6 5 6 5 5 5 4 5 3
- 104*x *y + 4*x - 14*x *y + 103*x *y - 290*x *y + 401*x *y
5 2 5 5 4 7 4 6 4 5 4 4
- 278*x *y + 83*x *y - 5*x + 6*x *y - 35*x *y + 14*x *y + 90*x *y
4 3 4 2 4 4 3 8 3 7
- 149*x *y + 97*x *y - 24*x *y + x + 20*x *y - 118*x *y
3 6 3 5 3 4 3 3 3 2 3
+ 244*x *y - 237*x *y + 117*x *y - 21*x *y - 7*x *y + 2*x *y
2 9 2 8 2 7 2 6 2 5 2 4
+ 13*x *y - 86*x *y + 228*x *y - 294*x *y + 204*x *y - 86*x *y
2 3 2 2 10 9 8 7
+ 23*x *y - 2*x *y + 4*x*y - 31*x*y + 84*x*y - 121*x*y
6 5 4 3 9 8 7 6
+ 100*x*y - 48*x*y + 15*x*y - 3*x*y + 4*y - 12*y + 15*y - 9*y
5
+ 2*y ),
10 10 9 2 9 9 8 3 8 2 8
x2=(2*x *y - 2*x + 5*x *y - 12*x *y + 7*x - 8*x *y + 9*x *y + 2*x *y
8 7 4 7 3 7 2 7 7 6 5
- x - 15*x *y + 65*x *y - 83*x *y + 52*x *y - 17*x + 5*x *y
6 4 6 3 6 2 6 6 5 6 5 5
- 5*x *y - 20*x *y + 46*x *y - 54*x *y + 20*x + 23*x *y - 151*x *y
5 4 5 3 5 2 5 5 4 7
+ 321*x *y - 338*x *y + 166*x *y - 13*x *y - 8*x + 29*x *y
4 6 4 5 4 4 4 3 4 2 4
- 207*x *y + 523*x *y - 676*x *y + 522*x *y - 222*x *y + 36*x *y
4 3 8 3 7 3 6 3 5 3 4
+ x + 16*x *y - 103*x *y + 300*x *y - 463*x *y + 433*x *y
3 3 3 2 3 2 9 2 7 2 6 2 5
- 268*x *y + 98*x *y - 15*x *y - x *y + 22*x *y - 54*x *y + 60*x *y
2 4 2 3 2 2 2 10 9 8
- 56*x *y + 44*x *y - 17*x *y + 2*x *y - 2*x*y + 10*x*y - 22*x*y
7 6 5 4 3 2 7 6
+ 34*x*y - 48*x*y + 48*x*y - 23*x*y + 2*x*y + x*y - 2*y + 7*y
5 4 3 10 10 9 2 9 9
- 9*y + 5*y - y )/(x*(2*x *y - 4*x + 8*x *y - 24*x *y + 20*x
8 3 8 2 8 8 7 4 7 3
+ x *y - 17*x *y + 47*x *y - 31*x - 24*x *y + 92*x *y
7 2 7 7 6 5 6 4 6 3
- 105*x *y + 18*x *y + 15*x - 28*x *y + 172*x *y - 350*x *y
6 2 6 6 5 6 5 5 5 4
+ 308*x *y - 104*x *y + 4*x - 14*x *y + 103*x *y - 290*x *y
5 3 5 2 5 5 4 7 4 6
+ 401*x *y - 278*x *y + 83*x *y - 5*x + 6*x *y - 35*x *y
4 5 4 4 4 3 4 2 4 4
+ 14*x *y + 90*x *y - 149*x *y + 97*x *y - 24*x *y + x
3 8 3 7 3 6 3 5 3 4
+ 20*x *y - 118*x *y + 244*x *y - 237*x *y + 117*x *y
3 3 3 2 3 2 9 2 8 2 7
- 21*x *y - 7*x *y + 2*x *y + 13*x *y - 86*x *y + 228*x *y
2 6 2 5 2 4 2 3 2 2 10
- 294*x *y + 204*x *y - 86*x *y + 23*x *y - 2*x *y + 4*x*y
9 8 7 6 5 4
- 31*x*y + 84*x*y - 121*x*y + 100*x*y - 48*x*y + 15*x*y
3 9 8 7 6 5
- 3*x*y + 4*y - 12*y + 15*y - 9*y + 2*y )),
9 9 8 2 8 8 7 3 7 2 7
x3=(2*x *y - 4*x + 8*x *y - 32*x *y + 26*x + 9*x *y - 70*x *y + 131*x *y
7 6 4 6 3 6 2 6 6 5 5
- 66*x + 7*x *y - 73*x *y + 226*x *y - 253*x *y + 89*x + 11*x *y
5 4 5 3 5 2 5 5 4 6
- 81*x *y + 244*x *y - 383*x *y + 280*x *y - 73*x + 13*x *y
4 5 4 4 4 3 4 2 4 4
- 89*x *y + 235*x *y - 367*x *y + 360*x *y - 189*x *y + 39*x
3 7 3 6 3 5 3 4 3 3 3 2
+ 9*x *y - 59*x *y + 156*x *y - 227*x *y + 231*x *y - 171*x *y
3 3 2 8 2 7 2 6 2 5 2 4
+ 74*x *y - 13*x + 3*x *y - 21*x *y + 62*x *y - 78*x *y + 51*x *y
2 3 2 2 2 2 8 7 6
- 35*x *y + 30*x *y - 14*x *y + 2*x - 5*x*y + 18*x*y - 22*x*y
5 4 3 2 8 7 6 5 4
- x*y + 21*x*y - 13*x*y + x*y + x*y + 2*y - 6*y + 6*y + y - 6*y
3 2 10 10 9 2 9 9 8 3
+ 4*y - y )/(2*x *y - 4*x + 8*x *y - 24*x *y + 20*x + x *y
8 2 8 8 7 4 7 3 7 2
- 17*x *y + 47*x *y - 31*x - 24*x *y + 92*x *y - 105*x *y
7 7 6 5 6 4 6 3 6 2
+ 18*x *y + 15*x - 28*x *y + 172*x *y - 350*x *y + 308*x *y
6 6 5 6 5 5 5 4 5 3
- 104*x *y + 4*x - 14*x *y + 103*x *y - 290*x *y + 401*x *y
5 2 5 5 4 7 4 6 4 5 4 4
- 278*x *y + 83*x *y - 5*x + 6*x *y - 35*x *y + 14*x *y + 90*x *y
4 3 4 2 4 4 3 8 3 7
- 149*x *y + 97*x *y - 24*x *y + x + 20*x *y - 118*x *y
3 6 3 5 3 4 3 3 3 2 3
+ 244*x *y - 237*x *y + 117*x *y - 21*x *y - 7*x *y + 2*x *y
2 9 2 8 2 7 2 6 2 5 2 4
+ 13*x *y - 86*x *y + 228*x *y - 294*x *y + 204*x *y - 86*x *y
2 3 2 2 10 9 8 7
+ 23*x *y - 2*x *y + 4*x*y - 31*x*y + 84*x*y - 121*x*y
6 5 4 3 9 8 7 6
+ 100*x*y - 48*x*y + 15*x*y - 3*x*y + 4*y - 12*y + 15*y - 9*y
5
+ 2*y ),
9 9 8 2 8 8 7 3 7 2 7
x4=(2*(2*x *y - 2*x + 4*x *y - 10*x *y + 6*x - 9*x *y + 21*x *y - 13*x *y
7 6 4 6 3 6 2 6 6 5 5
+ x - 18*x *y + 88*x *y - 130*x *y + 74*x *y - 14*x - 10*x *y
5 4 5 3 5 2 5 5 4 6
+ 74*x *y - 180*x *y + 191*x *y - 90*x *y + 15*x + 4*x *y
4 5 4 4 4 3 4 2 4 4
- 18*x *y - 20*x *y + 105*x *y - 111*x *y + 47*x *y - 7*x
3 7 3 6 3 5 3 4 3 3 3 2
+ 16*x *y - 96*x *y + 188*x *y - 155*x *y + 44*x *y + 8*x *y
3 3 2 8 2 7 2 6 2 5
- 6*x *y + x + 10*x *y - 62*x *y + 164*x *y - 219*x *y
2 4 2 3 2 2 2 9 8 7
+ 154*x *y - 56*x *y + 10*x *y - x *y + x*y - 13*x*y + 45*x*y
6 5 4 3 2 8 7 6
- 72*x*y + 64*x*y - 35*x*y + 12*x*y - 2*x*y + 2*y - 7*y + 9*y
5 4 10 10 9 2 9 9 8 3
- 5*y + y ))/(x*(2*x *y - 4*x + 8*x *y - 24*x *y + 20*x + x *y
8 2 8 8 7 4 7 3 7 2
- 17*x *y + 47*x *y - 31*x - 24*x *y + 92*x *y - 105*x *y
7 7 6 5 6 4 6 3 6 2
+ 18*x *y + 15*x - 28*x *y + 172*x *y - 350*x *y + 308*x *y
6 6 5 6 5 5 5 4 5 3
- 104*x *y + 4*x - 14*x *y + 103*x *y - 290*x *y + 401*x *y
5 2 5 5 4 7 4 6 4 5
- 278*x *y + 83*x *y - 5*x + 6*x *y - 35*x *y + 14*x *y
4 4 4 3 4 2 4 4 3 8
+ 90*x *y - 149*x *y + 97*x *y - 24*x *y + x + 20*x *y
3 7 3 6 3 5 3 4 3 3 3 2
- 118*x *y + 244*x *y - 237*x *y + 117*x *y - 21*x *y - 7*x *y
3 2 9 2 8 2 7 2 6 2 5
+ 2*x *y + 13*x *y - 86*x *y + 228*x *y - 294*x *y + 204*x *y
2 4 2 3 2 2 10 9 8
- 86*x *y + 23*x *y - 2*x *y + 4*x*y - 31*x*y + 84*x*y
7 6 5 4 3 9 8
- 121*x*y + 100*x*y - 48*x*y + 15*x*y - 3*x*y + 4*y - 12*y
7 6 5
+ 15*y - 9*y + 2*y )),
10 10 9 2 9 9 8 3 8 2 8
x5=(2*x *y - 2*x + 7*x *y - 16*x *y + 7*x - 3*x *y - 11*x *y + 21*x *y
8 7 4 7 3 7 2 7 7 6 5
- x - 18*x *y + 60*x *y - 46*x *y + 23*x *y - 17*x - 4*x *y
6 4 6 3 6 2 6 6 5 6 5 5
+ 38*x *y - 70*x *y + 40*x *y - 36*x *y + 20*x + 14*x *y - 86*x *y
5 4 5 3 5 2 5 5 4 7
+ 164*x *y - 182*x *y + 114*x *y - 14*x *y - 8*x + 24*x *y
4 6 4 5 4 4 4 3 4 2 4
- 167*x *y + 387*x *y - 455*x *y + 348*x *y - 164*x *y + 32*x *y
4 3 8 3 7 3 6 3 5 3 4
+ x + 21*x *y - 130*x *y + 339*x *y - 458*x *y + 370*x *y
3 3 3 2 3 2 9 2 8 2 7
- 211*x *y + 81*x *y - 14*x *y + 5*x *y - 43*x *y + 140*x *y
2 6 2 5 2 4 2 3 2 2 2
- 209*x *y + 165*x *y - 86*x *y + 42*x *y - 16*x *y + 2*x *y
9 8 7 6 5 4 3 2
- 5*x*y + 20*x*y - 32*x*y + 16*x*y + 8*x*y - 9*x*y + x*y + x*y
9 8 7 6 5 4 3 10 10
+ 2*y - 6*y + 6*y + y - 6*y + 4*y - y )/(x*y*(2*x *y - 4*x
9 2 9 9 8 3 8 2 8 8
+ 8*x *y - 24*x *y + 20*x + x *y - 17*x *y + 47*x *y - 31*x
7 4 7 3 7 2 7 7 6 5
- 24*x *y + 92*x *y - 105*x *y + 18*x *y + 15*x - 28*x *y
6 4 6 3 6 2 6 6 5 6
+ 172*x *y - 350*x *y + 308*x *y - 104*x *y + 4*x - 14*x *y
5 5 5 4 5 3 5 2 5 5
+ 103*x *y - 290*x *y + 401*x *y - 278*x *y + 83*x *y - 5*x
4 7 4 6 4 5 4 4 4 3 4 2
+ 6*x *y - 35*x *y + 14*x *y + 90*x *y - 149*x *y + 97*x *y
4 4 3 8 3 7 3 6 3 5
- 24*x *y + x + 20*x *y - 118*x *y + 244*x *y - 237*x *y
3 4 3 3 3 2 3 2 9 2 8
+ 117*x *y - 21*x *y - 7*x *y + 2*x *y + 13*x *y - 86*x *y
2 7 2 6 2 5 2 4 2 3 2 2
+ 228*x *y - 294*x *y + 204*x *y - 86*x *y + 23*x *y - 2*x *y
10 9 8 7 6 5
+ 4*x*y - 31*x*y + 84*x*y - 121*x*y + 100*x*y - 48*x*y
4 3 9 8 7 6 5
+ 15*x*y - 3*x*y + 4*y - 12*y + 15*y - 9*y + 2*y )),
9 9 8 2 8 8 7 3 7 2
x6=(2*(2*x *y - 4*x + 8*x *y - 24*x *y + 16*x - 2*x *y - 19*x *y
7 7 6 4 6 3 6 2 6 6
+ 50*x *y - 23*x - 20*x *y + 71*x *y - 46*x *y - 15*x *y + 12*x
5 5 5 4 5 3 5 2 5 5
- 8*x *y + 82*x *y - 195*x *y + 155*x *y - 46*x *y + 2*x
4 6 4 5 4 4 4 3 4 2 4
+ 8*x *y - 11*x *y - 81*x *y + 184*x *y - 142*x *y + 46*x *y
4 3 6 3 5 3 4 3 3 3 2 3
- 4*x - 21*x *y + 50*x *y + x *y - 60*x *y + 49*x *y - 14*x *y
3 2 8 2 7 2 6 2 5 2 4 2 3
+ x + 6*x *y - 34*x *y + 82*x *y - 99*x *y + 54*x *y - 8*x *y
2 2 2 8 7 6 5 4
- 4*x *y + x *y - 6*x*y + 38*x*y - 79*x*y + 78*x*y - 41*x*y
3 2 7 6 5 4 3 10
+ 11*x*y - x*y - 4*y + 10*y - 10*y + 5*y - y ))/(y*(2*x *y
10 9 2 9 9 8 3 8 2 8
- 4*x + 8*x *y - 24*x *y + 20*x + x *y - 17*x *y + 47*x *y
8 7 4 7 3 7 2 7 7
- 31*x - 24*x *y + 92*x *y - 105*x *y + 18*x *y + 15*x
6 5 6 4 6 3 6 2 6 6
- 28*x *y + 172*x *y - 350*x *y + 308*x *y - 104*x *y + 4*x
5 6 5 5 5 4 5 3 5 2 5
- 14*x *y + 103*x *y - 290*x *y + 401*x *y - 278*x *y + 83*x *y
5 4 7 4 6 4 5 4 4 4 3
- 5*x + 6*x *y - 35*x *y + 14*x *y + 90*x *y - 149*x *y
4 2 4 4 3 8 3 7 3 6
+ 97*x *y - 24*x *y + x + 20*x *y - 118*x *y + 244*x *y
3 5 3 4 3 3 3 2 3 2 9
- 237*x *y + 117*x *y - 21*x *y - 7*x *y + 2*x *y + 13*x *y
2 8 2 7 2 6 2 5 2 4 2 3
- 86*x *y + 228*x *y - 294*x *y + 204*x *y - 86*x *y + 23*x *y
2 2 10 9 8 7 6
- 2*x *y + 4*x*y - 31*x*y + 84*x*y - 121*x*y + 100*x*y
5 4 3 9 8 7 6 5
- 48*x*y + 15*x*y - 3*x*y + 4*y - 12*y + 15*y - 9*y + 2*y )),
7 2 7 7 6 3 6 2 6 6 5 4
x7=(6*(x *y - 2*x *y + x + x *y - 4*x *y + 5*x *y - 2*x - 6*x *y
5 3 5 2 5 5 4 5 4 4
+ 26*x *y - 38*x *y + 21*x *y - 3*x - 8*x *y + 49*x *y
4 3 4 2 4 4 3 6 3 5 3 4
- 106*x *y + 101*x *y - 41*x *y + 5*x - x *y + 12*x *y - 42*x *y
3 3 3 2 3 3 2 7 2 6 2 5
+ 69*x *y - 52*x *y + 15*x *y - x + 4*x *y - 27*x *y + 59*x *y
2 4 2 3 2 2 2 8 7 6
- 52*x *y + 14*x *y + 3*x *y - x *y + 3*x*y - 18*x*y + 39*x*y
5 4 3 2 7 6 5 4 3
- 48*x*y + 34*x*y - 11*x*y + x*y + 2*y - 5*y + 6*y - 4*y + y )
10 10 9 2 9 9 8 3 8 2
)/(x*(2*x *y - 4*x + 8*x *y - 24*x *y + 20*x + x *y - 17*x *y
8 8 7 4 7 3 7 2 7
+ 47*x *y - 31*x - 24*x *y + 92*x *y - 105*x *y + 18*x *y
7 6 5 6 4 6 3 6 2 6
+ 15*x - 28*x *y + 172*x *y - 350*x *y + 308*x *y - 104*x *y
6 5 6 5 5 5 4 5 3 5 2
+ 4*x - 14*x *y + 103*x *y - 290*x *y + 401*x *y - 278*x *y
5 5 4 7 4 6 4 5 4 4
+ 83*x *y - 5*x + 6*x *y - 35*x *y + 14*x *y + 90*x *y
4 3 4 2 4 4 3 8 3 7
- 149*x *y + 97*x *y - 24*x *y + x + 20*x *y - 118*x *y
3 6 3 5 3 4 3 3 3 2 3
+ 244*x *y - 237*x *y + 117*x *y - 21*x *y - 7*x *y + 2*x *y
2 9 2 8 2 7 2 6 2 5
+ 13*x *y - 86*x *y + 228*x *y - 294*x *y + 204*x *y
2 4 2 3 2 2 10 9 8
- 86*x *y + 23*x *y - 2*x *y + 4*x*y - 31*x*y + 84*x*y
7 6 5 4 3 9 8
- 121*x*y + 100*x*y - 48*x*y + 15*x*y - 3*x*y + 4*y - 12*y
7 6 5
+ 15*y - 9*y + 2*y )),
9 8 2 8 8 7 3 7 2 7
x8=(2*( - 2*x + x *y - 10*x *y + 13*x + 5*x *y - 24*x *y + 49*x *y
7 6 4 6 3 6 2 6 6 5 5
- 30*x + 8*x *y - 41*x *y + 75*x *y - 78*x *y + 32*x + 7*x *y
5 4 5 3 5 2 5 5 4 6 4 5
- 35*x *y + 61*x *y - 56*x *y + 41*x *y - 16*x - x *y + 9*x *y
4 4 4 3 4 2 4 4 3 7 3 6
- 10*x *y + 15*x *y - 22*x *y + 6*x *y + 3*x - 10*x *y + 57*x *y
3 5 3 4 3 3 3 2 3 2 8
- 107*x *y + 91*x *y - 55*x *y + 34*x *y - 10*x *y - 8*x *y
2 7 2 6 2 5 2 4 2 3 2 2
+ 46*x *y - 105*x *y + 116*x *y - 63*x *y + 23*x *y - 11*x *y
2 9 8 7 6 5 4
+ 2*x *y - 2*x*y + 16*x*y - 42*x*y + 54*x*y - 34*x*y + 6*x*y
3 2 8 7 6 5 4 3 10
+ x*y + x*y - 2*y + 6*y - 7*y + 3*y + y - y ))/(x*y*(2*x *y
10 9 2 9 9 8 3 8 2 8
- 4*x + 8*x *y - 24*x *y + 20*x + x *y - 17*x *y + 47*x *y
8 7 4 7 3 7 2 7 7
- 31*x - 24*x *y + 92*x *y - 105*x *y + 18*x *y + 15*x
6 5 6 4 6 3 6 2 6 6
- 28*x *y + 172*x *y - 350*x *y + 308*x *y - 104*x *y + 4*x
5 6 5 5 5 4 5 3 5 2 5
- 14*x *y + 103*x *y - 290*x *y + 401*x *y - 278*x *y + 83*x *y
5 4 7 4 6 4 5 4 4 4 3
- 5*x + 6*x *y - 35*x *y + 14*x *y + 90*x *y - 149*x *y
4 2 4 4 3 8 3 7 3 6
+ 97*x *y - 24*x *y + x + 20*x *y - 118*x *y + 244*x *y
3 5 3 4 3 3 3 2 3 2 9
- 237*x *y + 117*x *y - 21*x *y - 7*x *y + 2*x *y + 13*x *y
2 8 2 7 2 6 2 5 2 4 2 3
- 86*x *y + 228*x *y - 294*x *y + 204*x *y - 86*x *y + 23*x *y
2 2 10 9 8 7 6
- 2*x *y + 4*x*y - 31*x*y + 84*x*y - 121*x*y + 100*x*y
5 4 3 9 8 7 6 5
- 48*x*y + 15*x*y - 3*x*y + 4*y - 12*y + 15*y - 9*y + 2*y )),
7 2 7 7 6 3 6 2 6 6 5 4
x9=(6*( - 2*x *y + 2*x *y + 4*x - 4*x *y + 16*x *y - 6*x *y - 8*x + x *y
5 3 5 2 5 5 4 5 4 4 4 3
+ 18*x *y - 56*x *y + 26*x *y + 3*x + 4*x *y - 6*x *y - 40*x *y
4 2 4 4 3 6 3 5 3 4 3 3
+ 82*x *y - 38*x *y + 2*x - 6*x *y + 15*x *y - 9*x *y + 32*x *y
3 2 3 3 2 7 2 5 2 4 2 3
- 46*x *y + 19*x *y - x + x *y - 5*x *y + 2*x *y - 7*x *y
2 2 2 8 7 6 5 4
+ 10*x *y - 3*x *y - 2*x*y + 9*x*y - 4*x*y - 16*x*y + 22*x*y
3 7 6 5 4 3 10 10
- 9*x*y - 2*y + 2*y + 2*y - 4*y + 2*y ))/(y*(2*x *y - 4*x
9 2 9 9 8 3 8 2 8 8
+ 8*x *y - 24*x *y + 20*x + x *y - 17*x *y + 47*x *y - 31*x
7 4 7 3 7 2 7 7 6 5
- 24*x *y + 92*x *y - 105*x *y + 18*x *y + 15*x - 28*x *y
6 4 6 3 6 2 6 6 5 6
+ 172*x *y - 350*x *y + 308*x *y - 104*x *y + 4*x - 14*x *y
5 5 5 4 5 3 5 2 5 5
+ 103*x *y - 290*x *y + 401*x *y - 278*x *y + 83*x *y - 5*x
4 7 4 6 4 5 4 4 4 3 4 2
+ 6*x *y - 35*x *y + 14*x *y + 90*x *y - 149*x *y + 97*x *y
4 4 3 8 3 7 3 6 3 5
- 24*x *y + x + 20*x *y - 118*x *y + 244*x *y - 237*x *y
3 4 3 3 3 2 3 2 9 2 8
+ 117*x *y - 21*x *y - 7*x *y + 2*x *y + 13*x *y - 86*x *y
2 7 2 6 2 5 2 4 2 3 2 2
+ 228*x *y - 294*x *y + 204*x *y - 86*x *y + 23*x *y - 2*x *y
10 9 8 7 6 5
+ 4*x*y - 31*x*y + 84*x*y - 121*x*y + 100*x*y - 48*x*y
4 3 9 8 7 6 5
+ 15*x*y - 3*x*y + 4*y - 12*y + 15*y - 9*y + 2*y ))}}
% The following examples were discussed in Char, B.W., Fee, G.J.,
% Geddes, K.O., Gonnet, G.H., Monagan, M.B., Watt, S.M., "On the
% Design and Performance of the Maple System", Proc. 1984 Macsyma
% Users' Conference, G.E., Schenectady, NY, 1984, 199-219.
% Problem 1.
solve({ -22319*x0+25032*x1-83247*x2+67973*x3+54189*x4
-67793*x5+81135*x6+22293*x7+27327*x8+96599*x9-15144,
79815*x0+37299*x1-28495*x2-52463*x3+25708*x4 -55333*x5-
2742*x6+83127*x7-29417*x8-43202*x9+93314, -29065*x0-77803*x1-
49717*x2-64748*x3-68324*x4 -50162*x5-64222*x6-
4716*x7+30737*x8+22971*x9+90348, 62470*x0+59658*x1-
46120*x2+58376*x3-28208*x4 -74506*x5+28491*x6+21099*x7+29149*x8-
20387*x9+36254, -98233*x0-26263*x1-63227*x2+34307*x3+92294*x4
+10148*x5+3192*x6+24044*x7-83764*x8-1121*x9+13871,
-20427*x0+62666*x1+27330*x2-78670*x3+9036*x4 +56024*x5-4525*x6-
50589*x7-62127*x8-32846*x9+38466,
-85609*x0+5424*x1+86992*x2+59651*x3-60859*x4 -55984*x5-
6061*x6+44417*x7+92421*x8+6701*x9-9459,
-68255*x0+19652*x1+92650*x2-93032*x3-30191*x4 -31075*x5-
89060*x6+12150*x7-78089*x8-12462*x9+1027, 55526*x0-
91202*x1+91329*x2-25919*x3-98215*x4 +30554*x5+913*x6-
35751*x7+17948*x8-58850*x9+66583, 40612*x0+84364*x1-
83317*x2+10658*x3+37213*x4 +50489*x5+72040*x6-
21227*x7+60772*x8+95114*x9-68533});
Unknowns: {x0,x1,x2,x3,x4,x5,x6,x7,x8,x9}
4352444991703786550093529782474564455970663240687
{{x0=---------------------------------------------------,
8420785423059099972039395927798127489505890997055
459141297061698284317621371232198410031030658042
x1=---------------------------------------------------,
1684157084611819994407879185559625497901178199411
1068462443128238131632235196977352568525519548284
x2=---------------------------------------------------,
1684157084611819994407879185559625497901178199411
1645748379263608982132912334741766606871657041427
x3=---------------------------------------------------,
1684157084611819994407879185559625497901178199411
25308331428404990886292916036626876985377936966579
x4=----------------------------------------------------,
42103927115295499860196979638990637447529454985275
17958909252564152456194678743404876001526265937527
x5=----------------------------------------------------,
42103927115295499860196979638990637447529454985275
- 50670056205024448621117426699348037457452368820774
x6=-------------------------------------------------------,
42103927115295499860196979638990637447529454985275
- 11882862555847887107599498171234654114612212813799
x7=-------------------------------------------------------,
42103927115295499860196979638990637447529454985275
- 273286267131634194631661772113331181980867938658
x8=-----------------------------------------------------,
8420785423059099972039395927798127489505890997055
46816360472823082478331070276129336252954604132203
x9=----------------------------------------------------}}
42103927115295499860196979638990637447529454985275
solve({ -22319*x0+25032*x1-83247*x2+67973*x3+54189*x4
-67793*x5+81135*x6+22293*x7+27327*x8+96599*x9-15144,
79815*x0+37299*x1-28495*x2-52463*x3+25708*x4 -55333*x5-
2742*x6+83127*x7-29417*x8-43202*x9+93314, -29065*x0-77803*x1-
49717*x2-64748*x3-68324*x4 -50162*x5-64222*x6-
4716*x7+30737*x8+22971*x9+90348, 62470*x0+59658*x1-
46120*x2+58376*x3-28208*x4-74506*x5+28491*x6+21099*x7+29149*x8-
20387*x9+36254,-98233*x0-26263*x1-63227*x2+34307*x3+92294*x4
+10148*x5+3192*x6+24044*x7-83764*x8-1121*x9+13871,
-20427*x0+62666*x1+27330*x2-78670*x3+9036*x4 +56024*x5-4525*x6-
50589*x7-62127*x8-32846*x9+38466,
-85609*x0+5424*x1+86992*x2+59651*x3-60859*x4 -55984*x5-
6061*x6+44417*x7+92421*x8+6701*x9-9459,
-68255*x0+19652*x1+92650*x2-93032*x3-30191*x4 -31075*x5-
89060*x6+12150*x7-78089*x8-12462*x9+1027, 55526*x0-
91202*x1+91329*x2-25919*x3-98215*x4 +30554*x5+913*x6-
35751*x7+17948*x8-58850*x9+66583, 40612*x0+84364*x1-
83317*x2+10658*x3+37213*x4 +50489*x5+72040*x6-
21227*x7+60772*x8+95114*x9-68533});
Unknowns: {x0,x1,x2,x3,x4,x5,x6,x7,x8,x9}
4352444991703786550093529782474564455970663240687
{{x0=---------------------------------------------------,
8420785423059099972039395927798127489505890997055
459141297061698284317621371232198410031030658042
x1=---------------------------------------------------,
1684157084611819994407879185559625497901178199411
1068462443128238131632235196977352568525519548284
x2=---------------------------------------------------,
1684157084611819994407879185559625497901178199411
1645748379263608982132912334741766606871657041427
x3=---------------------------------------------------,
1684157084611819994407879185559625497901178199411
25308331428404990886292916036626876985377936966579
x4=----------------------------------------------------,
42103927115295499860196979638990637447529454985275
17958909252564152456194678743404876001526265937527
x5=----------------------------------------------------,
42103927115295499860196979638990637447529454985275
- 50670056205024448621117426699348037457452368820774
x6=-------------------------------------------------------,
42103927115295499860196979638990637447529454985275
- 11882862555847887107599498171234654114612212813799
x7=-------------------------------------------------------,
42103927115295499860196979638990637447529454985275
- 273286267131634194631661772113331181980867938658
x8=-----------------------------------------------------,
8420785423059099972039395927798127489505890997055
46816360472823082478331070276129336252954604132203
x9=----------------------------------------------------}}
42103927115295499860196979638990637447529454985275
% The next two problems give the current routines some trouble and
% have therefore been commented out.
% Problem 2.
comment
solve({ 81*x30-96*x21-45, -36*x4+59*x29+26,
-59*x26+5*x3-33, -81*x19-92*x23-21*x17-9, -46*x29-
13*x22+22*x24+83, 47*x4-47*x14-15*x26-40, 83*x30+70*x17+56*x10-
31, 10*x27-90*x9+52*x21+52, -33*x20-97*x26+20*x6-76,
97*x16+41*x8-13*x12+66, 16*x16-52*x10-73*x28+49, -28*x1-53*x24-
x27-67, -22*x26-29*x24+73*x10+8, 88*x18+61*x19-98*x9-55, 99*x28-
91*x26+26*x21-95, -6*x18+25*x7-77*x2+99, 28*x13-50*x17-52*x14-64,
-50*x20+26*x11+93*x2+77, -70*x8+74*x19-94*x26+86, -18*x18-2*x16-
79*x23+91, 36*x26-13*x11-53*x25-5, 10*x7+57*x16-85*x10-14,
-3*x27+44*x4+52*x22-1, 21*x11+20*x25-30*x4-83, 70*x2-97*x19-
41*x26-50, -51*x8+95*x12-85*x26+45, 83*x30+41*x12+50*x2+53,
-4*x26+69*x8-58*x5-95, 59*x27-78*x30-66*x23+16, -10*x20-36*x11-
60*x1-59});
% Problem 3.
comment
solve({ 115*x40+566*x41-378*x42+11401086415/6899901,
560*x0-45*x1-506*x2-11143386403/8309444, -621*x1-
328*x2+384*x3+1041841/64675, -856*x2+54*x3+869*x4-41430291/24700,
596*x3-608*x4-560*x5-10773384/11075,
-61*x4+444*x5+924*x6+4185100079/11278780, 67*x5-95*x6-
682*x7+903866812/6618863, 196*x6+926*x7-930*x8-
2051864151/2031976, -302*x7-311*x8-890*x9-14210414139/27719792,
121*x8-781*x9-125*x10-4747129093/39901584, 10*x9+555*x10-
912*x11+32476047/3471829, -151*x38+732*x39-
397*x40+327281689/173242, 913*x10-259*x11-982*x12-
18080663/5014020, 305*x11+9*x12-357*x13+1500752933/1780680,
179*x12-588*x13+665*x14+8128189/51832, 406*x13+843*x14-
833*x15+201925713/97774, 107*x14+372*x15+505*x16-
5161192791/3486415, 720*x15-212*x16+607*x17-31529295571/7197760,
951*x16-685*x17+148*x18+1034546543/711104, -654*x17-
899*x18+543*x19+1942961717/1646560,
-448*x18+673*x19+702*x20+856422818/1286375, 396*x19-
196*x20+218*x21-4386267866/21303625, -233*x20-796*x21-373*x22-
85246365829/57545250, 921*x21-368*x22+730*x23-
93446707622/51330363, -424*x22+378*x23+727*x24-
6673617931/3477462, -633*x23+565*x24-208*x25+8607636805/4092942,
971*x24+170*x25-865*x26-25224505/18354, 937*x25+333*x26-463*x27-
339307103/1025430, 494*x26-8*x27-50*x28+57395804/34695,
530*x27+631*x28-193*x29-8424597157/680022,
-435*x28+252*x29+916*x30+196828511/19593, 327*x29+403*x30-
845*x31+8458823325/5927971, 246*x30+881*x31-
394*x32+13624765321/156546826, 946*x31+169*x32-43*x33-
53594199271/126093183, -146*x32+503*x33-
363*x34+66802797635/15234909, -132*x33-
686*x34+376*x35+8167530636/902635, -38*x34-188*x35-
583*x36+1814153743/1124240, 389*x35+562*x36-688*x37-
12251043951/5513560, -769*x37-474*x38-89*x39-2725415872/1235019,
-625*x36-122*x37+468*x38+7725682775/4506736,
839*x39+936*x40+703*x41+1912091857/1000749,
-314*x41+102*x42+790*x43+7290073150/8132873, -905*x42-
454*x43+524*x44-10110944527/4538233, 379*x43+518*x44-328*x45-
2071620692/519645, 284*x44-979*x45+690*x46-915987532/16665,
198*x45-650*x46-763*x47+548801657/11220, 974*x46+12*x47+410*x48-
3831097561/51051, -498*x47-135*x48-230*x49-18920705/9282,
665*x48+156*x49+34*x0-27714736/156585, -519*x49-366*x0-730*x1-
2958446681/798985});
% Problem 4.
% This one needs the Cramer code --- it takes forever otherwise.
on cramer;
solve({ -b*k8/a+c*k8/a, -b*k11/a+c*k11/a,
-b*k10/a+c*k10/a+k2,
-k3-b*k9/a+c*k9/a, -b*k14/a+c*k14/a, -b*k15/a+c*k15/a,
-b*k18/a+c*k18/a-k2, -b*k17/a+c*k17/a, -b*k16/a+c*k16/a+k4,
-b*k13/a+c*k13/a-b*k21/a+c*k21/a+b*k5/a-c*k5/a,
b*k44/a-c*k44/a, -b*k45/a+c*k45/a, -b*k20/a+c*k20/a,
-b*k44/a+c*k44/a, b*k46/a-c*k46/a,
b**2*k47/a**2-2*b*c*k47/a**2+c**2*k47/a**2,
k3, -k4, -b*k12/a+c*k12/a-a*k6/b+c*k6/b,
-b*k19/a+c*k19/a+a*k7/c-b*k7/c, b*k45/a-c*k45/a,
-b*k46/a+c*k46/a, -k48+c*k48/a+c*k48/b-c**2*k48/(a*b),
-k49+b*k49/a+b*k49/c-b**2*k49/(a*c), a*k1/b-c*k1/b,
a*k4/b-c*k4/b, a*k3/b-c*k3/b+k9, -k10+a*k2/b-c*k2/b,
a*k7/b-c*k7/b, -k9, k11, b*k12/a-c*k12/a+a*k6/b-c*k6/b,
a*k15/b-c*k15/b, k10+a*k18/b-c*k18/b,
-k11+a*k17/b-c*k17/b, a*k16/b-c*k16/b,
-a*k13/b+c*k13/b+a*k21/b-c*k21/b+a*k5/b-c*k5/b,
-a*k44/b+c*k44/b, a*k45/b-c*k45/b,
a*k14/c-b*k14/c+a*k20/b-c*k20/b, a*k44/b-c*k44/b,
-a*k46/b+c*k46/b, -k47+c*k47/a+c*k47/b-c**2*k47/(a*b),
a*k19/b-c*k19/b, -a*k45/b+c*k45/b, a*k46/b-c*k46/b,
a**2*k48/b**2-2*a*c*k48/b**2+c**2*k48/b**2,
-k49+a*k49/b+a*k49/c-a**2*k49/(b*c), k16, -k17,
-a*k1/c+b*k1/c, -k16-a*k4/c+b*k4/c, -a*k3/c+b*k3/c,
k18-a*k2/c+b*k2/c, b*k19/a-c*k19/a-a*k7/c+b*k7/c,
-a*k6/c+b*k6/c, -a*k8/c+b*k8/c, -a*k11/c+b*k11/c+k17,
-a*k10/c+b*k10/c-k18, -a*k9/c+b*k9/c,
-a*k14/c+b*k14/c-a*k20/b+c*k20/b,
-a*k13/c+b*k13/c+a*k21/c-b*k21/c-a*k5/c+b*k5/c,
a*k44/c-b*k44/c, -a*k45/c+b*k45/c, -a*k44/c+b*k44/c,
a*k46/c-b*k46/c, -k47+b*k47/a+b*k47/c-b**2*k47/(a*c),
-a*k12/c+b*k12/c, a*k45/c-b*k45/c, -a*k46/c+b*k46/c,
-k48+a*k48/b+a*k48/c-a**2*k48/(b*c),
a**2*k49/c**2-2*a*b*k49/c**2+b**2*k49/c**2, k8, k11, -k15,
k10-k18, -k17, k9, -k16, -k29, k14-k32, -k21+k23-k31,
-k24-k30, -k35, k44, -k45, k36, k13-k23+k39, -k20+k38,
k25+k37, b*k26/a-c*k26/a-k34+k42, -2*k44, k45, k46,
b*k47/a-c*k47/a, k41, k44, -k46, -b*k47/a+c*k47/a,
k12+k24, -k19-k25, -a*k27/b+c*k27/b-k33, k45, -k46,
-a*k48/b+c*k48/b, a*k28/c-b*k28/c+k40, -k45, k46,
a*k48/b-c*k48/b, a*k49/c-b*k49/c, -a*k49/c+b*k49/c,
-k1, -k4, -k3, k15, k18-k2, k17, k16, k22, k25-k7,
k24+k30, k21+k23-k31, k28, -k44, k45, -k30-k6, k20+k32,
k27+b*k33/a-c*k33/a, k44, -k46, -b*k47/a+c*k47/a, -k36,
k31-k39-k5, -k32-k38, k19-k37, k26-a*k34/b+c*k34/b-k42,
k44, -2*k45, k46, a*k48/b-c*k48/b, a*k35/c-b*k35/c-k41,
-k44, k46, b*k47/a-c*k47/a, -a*k49/c+b*k49/c, -k40, k45,
-k46, -a*k48/b+c*k48/b, a*k49/c-b*k49/c, k1, k4, k3, -k8,
-k11, -k10+k2, -k9, k37+k7, -k14-k38, -k22, -k25-k37, -k24+k6,
-k13-k23+k39, -k28+b*k40/a-c*k40/a, k44, -k45, -k27, -k44,
k46, b*k47/a-c*k47/a, k29, k32+k38, k31-k39+k5, -k12+k30,
k35-a*k41/b+c*k41/b, -k44, k45, -k26+k34+a*k42/c-b*k42/c,
k44, k45, -2*k46, -b*k47/a+c*k47/a, -a*k48/b+c*k48/b,
a*k49/c-b*k49/c, k33, -k45, k46, a*k48/b-c*k48/b,
-a*k49/c+b*k49/c },
{k1, k2, k3, k4, k5, k6, k7, k8, k9, k10, k11, k12, k13, k14,
k15, k16, k17, k18, k19, k20, k21, k22, k23, k24, k25, k26,
k27, k28, k29, k30, k31, k32, k33, k34, k35, k36, k37, k38,
k39, k40, k41, k42, k43, k44, k45, k46, k47, k48, k49});
{{k1=0,
k2=0,
k3=0,
k4=0,
k5=0,
k6=0,
k7=0,
k8=0,
k9=0,
k10=0,
k11=0,
k12=0,
k13=0,
k14=0,
k15=0,
k16=0,
k17=0,
k18=0,
k19=0,
k20=0,
k21=0,
k22=0,
k23=arbcomplex(14),
k24=0,
k25=0,
arbcomplex(15)*a
k26=------------------,
c
k27=0,
k28=0,
k29=0,
k30=0,
k31=arbcomplex(14),
k32=0,
k33=0,
arbcomplex(15)*b
k34=------------------,
c
k35=0,
k36=0,
k37=0,
k38=0,
k39=arbcomplex(14),
k40=0,
k41=0,
k42=arbcomplex(15),
k43=arbcomplex(16),
k44=0,
k45=0,
k46=0,
k47=0,
k48=0,
k49=0}}
off cramer;
% Problem 5.
solve ({2*a3*b3+a5*b3+a3*b5, a5*b3+2*a5*b5+a3*b5,
a5*b5, a2*b2, a4*b4, a5*b1+b5+a4*b3+a3*b4,
a5*b3+a5*b5+a3*b5+a3*b3, a0*b2+b2+a4*b2+a2*b4+c2+a2*b0+a2*b1,
a0*b0+a0*b1+a0*b4+a3*b2+b0+b1+b4+a4*b0+a4*b1+a2*b5+a4*b4+c1+c4
+a5*b2+a2*b3+c0,
-1+a3*b0+a0*b3+a0*b5+a5*b0+b3+b5+a5*b4+a4*b3+a4*b5+a3*b4+a5*b1
+a3*b1+c3+c5,
b4+a4*b1, a5*b3+a3*b5, a2*b1+b2, a4*b5+a5*b4, a2*b4+a4*b2,
a0*b5+a5*b0+a3*b4+2*a5*b4+a5*b1+b5+a4*b3+2*a4*b5+c5,
a4*b0+2*a4*b4+a2*b5+b4+a4*b1+a5*b2+a0*b4+c4,
c3+a0*b3+2*b3+b5+a4*b3+a3*b0+2*a3*b1+a5*b1+a3*b4,
c1+a0*b1+2*b1+a4*b1+a2*b3+b0+a3*b2+b4});
Unknowns: {a0,a2,a3,a4,a5,b0,b1,b2,b3,b4,b5,c0,c1,c2,c3,c4,c5}
{{a0=arbcomplex(25),
a2=0,
- 1
a3=------,
b1
a4=0,
a5=0,
b0=arbcomplex(24),
b1=arbcomplex(23),
b2=0,
b3=0,
b4=0,
b5=0,
c0= - a0*b0 + b1,
c1= - a0*b1 - b0 - 2*b1,
c2=0,
b0 + 2*b1
c3=-----------,
b1
c4=0,
c5=0},
{a0=arbcomplex(20),
a2=arbcomplex(21),
a3=0,
a4=0,
a5=0,
b0=arbcomplex(22),
b1=0,
b2=0,
b3=-1,
b4=0,
b5=0,
c0= - a0*b0,
c1=a2 - b0,
c2= - a2*b0,
c3=a0 + 2,
c4=0,
c5=0},
{a0=arbcomplex(17),
a2=0,
a3=0,
a4=0,
a5=0,
b0=arbcomplex(18),
b1=arbcomplex(19),
b2=0,
b3=-1,
b4=0,
b5=0,
c0= - a0*b0 + b1,
c1= - a0*b1 - b0 - 2*b1,
c2=0,
c3=a0 + 2,
c4=0,
c5=0}}
% Problem 6.
solve({2*a3*b3+a5*b3+a3*b5, a5*b3+2*a5*b5+a3*b5,
a4*b4, a5*b3+a5*b5+a3*b5+a3*b3, b1, a3*b3, a2*b2, a5*b5,
a5*b1+b5+a4*b3+a3*b4, a0*b2+b2+a4*b2+a2*b4+c2+a2*b0+a2*b1,
b4+a4*b1, b3+a3*b1, a5*b3+a3*b5, a2*b1+b2, a4*b5+a5*b4,
a2*b4+a4*b2, a0*b0+a0*b1+a0*b4+a3*b2+b0+b1+b4+a4*b0+a4*b1
+a2*b5+a4*b4+c1+c4+a5*b2+a2*b3+c0,-1+a3*b0+a0*b3+a0*b5+a5*b0
+b3+b5+a5*b4+a4*b3+a4*b5+a3*b4+a5*b1+a3*b1+c3+c5,
a0*b5+a5*b0+a3*b4+2*a5*b4+a5*b1+b5+a4*b3+2*a4*b5+c5,
a4*b0+2*a4*b4+a2*b5+b4+a4*b1+a5*b2+a0*b4+c4,
c3+a0*b3+2*b3+b5+a4*b3+a3*b0+2*a3*b1+a5*b1+a3*b4,
c1+a0*b1+2*b1+a4*b1+a2*b3+b0+a3*b2+b4});
Unknowns: {a0,a2,a3,a4,a5,b0,b1,b2,b3,b4,b5,c0,c1,c2,c3,c4,c5}
{}
% Example cited by Bruno Buchberger
% in R.Janssen: Trends in Computer Algebra,
% Springer, 1987
% Geometry of a simple robot,
% l1,l2 length of arms
% ci,si cos and sin of rotation angles
solve( { c1*c2 -cf*ct*cp + sf*sp,
s1*c2 - sf*ct*cp - cf*sp,
s2 + st*cp,
-c1*s2 - cf*ct*sp + sf*cp,
-s1*s2 + sf*ct*sp - cf*cp,
c2 - st*sp,
s1 - cf*st,
-c1 - sf*st,
ct,
l2*c1*c2 - px,
l2*s1*c2 - py,
l2*s2 + l1 - pz,
c1**2 + s1**2 -1,
c2**2 + s2**2 -1,
cf**2 + sf**2 -1,
ct**2 + st**2 -1,
cp**2 + sp**2 -1},
{c1,c2,s1,s2,py,cf,ct,cp,sf,st,sp});
2 2 2
sqrt( - l1 + 2*l1*pz + l2 - pz )*px
{{c1=---------------------------------------,
2 2 2
l1 - 2*l1*pz - l2 + pz
2 2 2
- sqrt( - l1 + 2*l1*pz + l2 - pz )
c2=---------------------------------------,
l2
2 2 2 2
sqrt(l1 - 2*l1*pz - l2 + px + pz )
s1=---------------------------------------,
2 2 2
sqrt(l1 - 2*l1*pz - l2 + pz )
- l1 + pz
s2=------------,
l2
py
2 2 2 2 2 2 2
- sqrt( - l1 + 2*l1*pz + l2 - pz )*sqrt(l1 - 2*l1*pz - l2 + px + pz )
=-----------------------------------------------------------------------------
2 2 2
sqrt(l1 - 2*l1*pz - l2 + pz )
,
2 2 2 2
sqrt(l1 - 2*l1*pz - l2 + px + pz )
cf=---------------------------------------,
2 2 2
sqrt(l1 - 2*l1*pz - l2 + pz )
ct=0,
l1 - pz
cp=---------,
l2
2 2 2
- sqrt( - l1 + 2*l1*pz + l2 - pz )*px
sf=------------------------------------------,
2 2 2
l1 - 2*l1*pz - l2 + pz
st=1,
2 2 2
- sqrt( - l1 + 2*l1*pz + l2 - pz )
sp=---------------------------------------},
l2
2 2 2
sqrt( - l1 + 2*l1*pz + l2 - pz )*px
{c1=---------------------------------------,
2 2 2
l1 - 2*l1*pz - l2 + pz
2 2 2
- sqrt( - l1 + 2*l1*pz + l2 - pz )
c2=---------------------------------------,
l2
2 2 2 2
sqrt(l1 - 2*l1*pz - l2 + px + pz )
s1=---------------------------------------,
2 2 2
sqrt(l1 - 2*l1*pz - l2 + pz )
- l1 + pz
s2=------------,
l2
py
2 2 2 2 2 2 2
- sqrt( - l1 + 2*l1*pz + l2 - pz )*sqrt(l1 - 2*l1*pz - l2 + px + pz )
=-----------------------------------------------------------------------------
2 2 2
sqrt(l1 - 2*l1*pz - l2 + pz )
,
2 2 2 2
- sqrt(l1 - 2*l1*pz - l2 + px + pz )
cf=------------------------------------------,
2 2 2
sqrt(l1 - 2*l1*pz - l2 + pz )
ct=0,
- l1 + pz
cp=------------,
l2
2 2 2
sqrt( - l1 + 2*l1*pz + l2 - pz )*px
sf=---------------------------------------,
2 2 2
l1 - 2*l1*pz - l2 + pz
st=-1,
2 2 2
sqrt( - l1 + 2*l1*pz + l2 - pz )
sp=------------------------------------},
l2
2 2 2
sqrt( - l1 + 2*l1*pz + l2 - pz )*px
{c1=---------------------------------------,
2 2 2
l1 - 2*l1*pz - l2 + pz
2 2 2
- sqrt( - l1 + 2*l1*pz + l2 - pz )
c2=---------------------------------------,
l2
2 2 2 2
- sqrt(l1 - 2*l1*pz - l2 + px + pz )
s1=------------------------------------------,
2 2 2
sqrt(l1 - 2*l1*pz - l2 + pz )
- l1 + pz
s2=------------,
l2
2 2 2 2 2 2 2
sqrt( - l1 + 2*l1*pz + l2 - pz )*sqrt(l1 - 2*l1*pz - l2 + px + pz )
py=--------------------------------------------------------------------------,
2 2 2
sqrt(l1 - 2*l1*pz - l2 + pz )
2 2 2 2
sqrt(l1 - 2*l1*pz - l2 + px + pz )
cf=---------------------------------------,
2 2 2
sqrt(l1 - 2*l1*pz - l2 + pz )
ct=0,
- l1 + pz
cp=------------,
l2
2 2 2
sqrt( - l1 + 2*l1*pz + l2 - pz )*px
sf=---------------------------------------,
2 2 2
l1 - 2*l1*pz - l2 + pz
st=-1,
2 2 2
sqrt( - l1 + 2*l1*pz + l2 - pz )
sp=------------------------------------},
l2
2 2 2
sqrt( - l1 + 2*l1*pz + l2 - pz )*px
{c1=---------------------------------------,
2 2 2
l1 - 2*l1*pz - l2 + pz
2 2 2
- sqrt( - l1 + 2*l1*pz + l2 - pz )
c2=---------------------------------------,
l2
2 2 2 2
- sqrt(l1 - 2*l1*pz - l2 + px + pz )
s1=------------------------------------------,
2 2 2
sqrt(l1 - 2*l1*pz - l2 + pz )
- l1 + pz
s2=------------,
l2
2 2 2 2 2 2 2
sqrt( - l1 + 2*l1*pz + l2 - pz )*sqrt(l1 - 2*l1*pz - l2 + px + pz )
py=--------------------------------------------------------------------------,
2 2 2
sqrt(l1 - 2*l1*pz - l2 + pz )
2 2 2 2
- sqrt(l1 - 2*l1*pz - l2 + px + pz )
cf=------------------------------------------,
2 2 2
sqrt(l1 - 2*l1*pz - l2 + pz )
ct=0,
l1 - pz
cp=---------,
l2
2 2 2
- sqrt( - l1 + 2*l1*pz + l2 - pz )*px
sf=------------------------------------------,
2 2 2
l1 - 2*l1*pz - l2 + pz
st=1,
2 2 2
- sqrt( - l1 + 2*l1*pz + l2 - pz )
sp=---------------------------------------},
l2
2 2 2
- sqrt( - l1 + 2*l1*pz + l2 - pz )*px
{c1=------------------------------------------,
2 2 2
l1 - 2*l1*pz - l2 + pz
2 2 2
sqrt( - l1 + 2*l1*pz + l2 - pz )
c2=------------------------------------,
l2
2 2 2 2
sqrt(l1 - 2*l1*pz - l2 + px + pz )
s1=---------------------------------------,
2 2 2
sqrt(l1 - 2*l1*pz - l2 + pz )
- l1 + pz
s2=------------,
l2
2 2 2 2 2 2 2
sqrt( - l1 + 2*l1*pz + l2 - pz )*sqrt(l1 - 2*l1*pz - l2 + px + pz )
py=--------------------------------------------------------------------------,
2 2 2
sqrt(l1 - 2*l1*pz - l2 + pz )
2 2 2 2
sqrt(l1 - 2*l1*pz - l2 + px + pz )
cf=---------------------------------------,
2 2 2
sqrt(l1 - 2*l1*pz - l2 + pz )
ct=0,
l1 - pz
cp=---------,
l2
2 2 2
sqrt( - l1 + 2*l1*pz + l2 - pz )*px
sf=---------------------------------------,
2 2 2
l1 - 2*l1*pz - l2 + pz
st=1,
2 2 2
sqrt( - l1 + 2*l1*pz + l2 - pz )
sp=------------------------------------},
l2
2 2 2
- sqrt( - l1 + 2*l1*pz + l2 - pz )*px
{c1=------------------------------------------,
2 2 2
l1 - 2*l1*pz - l2 + pz
2 2 2
sqrt( - l1 + 2*l1*pz + l2 - pz )
c2=------------------------------------,
l2
2 2 2 2
sqrt(l1 - 2*l1*pz - l2 + px + pz )
s1=---------------------------------------,
2 2 2
sqrt(l1 - 2*l1*pz - l2 + pz )
- l1 + pz
s2=------------,
l2
2 2 2 2 2 2 2
sqrt( - l1 + 2*l1*pz + l2 - pz )*sqrt(l1 - 2*l1*pz - l2 + px + pz )
py=--------------------------------------------------------------------------,
2 2 2
sqrt(l1 - 2*l1*pz - l2 + pz )
2 2 2 2
- sqrt(l1 - 2*l1*pz - l2 + px + pz )
cf=------------------------------------------,
2 2 2
sqrt(l1 - 2*l1*pz - l2 + pz )
ct=0,
- l1 + pz
cp=------------,
l2
2 2 2
- sqrt( - l1 + 2*l1*pz + l2 - pz )*px
sf=------------------------------------------,
2 2 2
l1 - 2*l1*pz - l2 + pz
st=-1,
2 2 2
- sqrt( - l1 + 2*l1*pz + l2 - pz )
sp=---------------------------------------},
l2
2 2 2
- sqrt( - l1 + 2*l1*pz + l2 - pz )*px
{c1=------------------------------------------,
2 2 2
l1 - 2*l1*pz - l2 + pz
2 2 2
sqrt( - l1 + 2*l1*pz + l2 - pz )
c2=------------------------------------,
l2
2 2 2 2
- sqrt(l1 - 2*l1*pz - l2 + px + pz )
s1=------------------------------------------,
2 2 2
sqrt(l1 - 2*l1*pz - l2 + pz )
- l1 + pz
s2=------------,
l2
py
2 2 2 2 2 2 2
- sqrt( - l1 + 2*l1*pz + l2 - pz )*sqrt(l1 - 2*l1*pz - l2 + px + pz )
=-----------------------------------------------------------------------------
2 2 2
sqrt(l1 - 2*l1*pz - l2 + pz )
,
2 2 2 2
sqrt(l1 - 2*l1*pz - l2 + px + pz )
cf=---------------------------------------,
2 2 2
sqrt(l1 - 2*l1*pz - l2 + pz )
ct=0,
- l1 + pz
cp=------------,
l2
2 2 2
- sqrt( - l1 + 2*l1*pz + l2 - pz )*px
sf=------------------------------------------,
2 2 2
l1 - 2*l1*pz - l2 + pz
st=-1,
2 2 2
- sqrt( - l1 + 2*l1*pz + l2 - pz )
sp=---------------------------------------},
l2
2 2 2
- sqrt( - l1 + 2*l1*pz + l2 - pz )*px
{c1=------------------------------------------,
2 2 2
l1 - 2*l1*pz - l2 + pz
2 2 2
sqrt( - l1 + 2*l1*pz + l2 - pz )
c2=------------------------------------,
l2
2 2 2 2
- sqrt(l1 - 2*l1*pz - l2 + px + pz )
s1=------------------------------------------,
2 2 2
sqrt(l1 - 2*l1*pz - l2 + pz )
- l1 + pz
s2=------------,
l2
py
2 2 2 2 2 2 2
- sqrt( - l1 + 2*l1*pz + l2 - pz )*sqrt(l1 - 2*l1*pz - l2 + px + pz )
=-----------------------------------------------------------------------------
2 2 2
sqrt(l1 - 2*l1*pz - l2 + pz )
,
2 2 2 2
- sqrt(l1 - 2*l1*pz - l2 + px + pz )
cf=------------------------------------------,
2 2 2
sqrt(l1 - 2*l1*pz - l2 + pz )
ct=0,
l1 - pz
cp=---------,
l2
2 2 2
sqrt( - l1 + 2*l1*pz + l2 - pz )*px
sf=---------------------------------------,
2 2 2
l1 - 2*l1*pz - l2 + pz
st=1,
2 2 2
sqrt( - l1 + 2*l1*pz + l2 - pz )
sp=------------------------------------}}
l2
% Steady state computation of a prototypical chemical
% reaction network (the "Edelstein" network)
solve(
{ alpha * c1 - beta * c1**2 - gamma*c1*c2 + epsilon*c3,
-gamma*c1*c2 + (epsilon+theta)*c3 -eta *c2,
gamma*c1*c2 + eta*c2 - (epsilon+theta) * c3},
{c3,c2,c1});
2
c1*( - c1 *beta*gamma + c1*alpha*gamma - c1*beta*eta + alpha*eta)
{{c3=-------------------------------------------------------------------,
c1*gamma*theta - epsilon*eta
c1*( - c1*beta*epsilon - c1*beta*theta + alpha*epsilon + alpha*theta)
c2=-----------------------------------------------------------------------,
c1*gamma*theta - epsilon*eta
c1=arbcomplex(26)}}
solve(
{( - 81*y1**2*y2**2 + 594*y1**2*y2 - 225*y1**2 + 594*y1*y2**2 - 3492*
y1*y2 - 750*y1 - 225*y2**2 - 750*y2 + 14575)/81,
( - 81*y2**2*y3**2 + 594*y2**2*y3 - 225*y2**2 + 594*y2*y3**2 - 3492*
y2*y3 - 750*y2 - 225*y3**2 - 750*y3 + 14575)/81,
( - 81*y1**2*y3**2 + 594*y1**2*y3 - 225*y1**2 + 594*y1*y3**2 - 3492*
y1*y3 - 750*y1 - 225*y3**2 - 750*y3 + 14575)/81,
(2*(81*y1**2*y2**2*y3 + 81*y1**2*y2*y3**2 - 594*y1**2*y2*y3 - 225*y1
**2*y2 - 225*y1**2*y3 + 1650*y1**2 + 81*y1*y2**2*y3**2 - 594*y1*
y2**2*y3 - 225*y1*y2**2 - 594*y1*y2*y3**2 + 2592*y1*y2*y3 + 2550
*y1*y2 - 225*y1*y3**2 + 2550*y1*y3 - 3575*y1 - 225*y2**2*y3 +
1650*y2**2 - 225*y2*y3**2 + 2550*y2*y3 - 3575*y2 + 1650*y3**2 -
3575*y3 - 30250))/81}, {y1,y2,y3,y4});
2
{{y1=(99*y3 - 582*y3
4 3 2
+ 4*sqrt(243*y3 - 3348*y3 + 15282*y3 - 26100*y3 + 11875)*sqrt(2) - 125
2
)/(3*(9*y3 - 66*y3 + 25)),
2
y2=(99*y3 - 582*y3
4 3 2
- 4*sqrt(243*y3 - 3348*y3 + 15282*y3 - 26100*y3 + 11875)*sqrt(2) - 125
2
)/(3*(9*y3 - 66*y3 + 25)),
y3=arbcomplex(27)},
2
{y1=(99*y3 - 582*y3
4 3 2
- 4*sqrt(243*y3 - 3348*y3 + 15282*y3 - 26100*y3 + 11875)*sqrt(2) - 125
2
)/(3*(9*y3 - 66*y3 + 25)),
2
y2=(99*y3 - 582*y3
4 3 2
+ 4*sqrt(243*y3 - 3348*y3 + 15282*y3 - 26100*y3 + 11875)*sqrt(2) - 125
2
)/(3*(9*y3 - 66*y3 + 25)),
y3=arbcomplex(28)},
11 11 11
{y1=----,y2=----,y3=----},
3 3 3
- 5 - 5 - 5
{y1=------,y2=------,y3=------}}
3 3 3
% Another nice nonlinear system.
solve({y=x+t^2,x=y+u^2},{x,y,u,t});
2
{{x=y - t ,
y=arbcomplex(32),
u=t*i,
t=arbcomplex(31)},
2
{x=y - t ,
y=arbcomplex(30),
u= - t*i,
t=arbcomplex(29)}}
% Example from Stan Kameny (relation between Gamma function values)
% containing surds in the coefficients.
solve({x54=x14/4,x54*x34=sqrt pi/sqrt 2*x32,x32=x12/2,
x12=sqrt pi, x14*x34=pi*sqrt 2});
Unknowns: {x12,x14,x32,x34,x54}
{{x12=sqrt(pi),
x14=4*arbcomplex(33),
sqrt(pi)
x32=----------,
2
sqrt(2)*pi
x34=------------,
4*x54
x54=arbcomplex(33)}}
% A system given by J. Hietarinta with complex coefficients.
on complex;
apu := {2*a - a6,2*b*c3 - 1,i - 2*x + 1,2*x**2 - 2*x + 1,n1 + 1}$
solve apu;
Unknowns: {a,a6,b,c3,n1,x}
a6
{{a=----,
2
1
b=------,
2*c3
c3=arbcomplex(34),
n1=-1,
1
x=-------}}
1 - i
clear apu;
off complex;
% More examples that can now be solved.
solve({e^(x+y)-1,x-y},{x,y});
{{x=log(-1),y=log(-1)},{x=0,y=0}}
solve({e^(x+y)+sin x,x-y},{x,y});
2*y_
{{x=y,y=root_of(e + sin(y_),y_,tag_14)}}
% no algebraic solution exists.
solve({e^(x+y)-1,x-y**2},{x,y});
2 2
{{x=y ,y=0},{x=y ,y=-1}}
solve(e^(y^2) * e^y -1,y);
{y=0}
solve(e^(y^2 +y)-1,y);
{y=0}
solve(e^(y^2)-1,y);
{y=0}
solve(e^(y^2+1)-1,y);
{y=i,y= - i}
solve({e^(x+y+z)-1,x-y**2=1,x**2-z=2},{x,y,z});
2
{{x=y + 1,
atanh(sqrt(5))
y=2*cosh(----------------)*i,
3
4 2
z=y + 2*y - 1},
2
{x=y + 1,
atanh(sqrt(5)) atanh(sqrt(5))
y= - cosh(----------------)*i + sqrt(3)*sinh(----------------),
3 3
4 2
z=y + 2*y - 1},
2
{x=y + 1,
atanh(sqrt(5)) atanh(sqrt(5))
y= - (cosh(----------------)*i + sqrt(3)*sinh(----------------)),
3 3
4 2
z=y + 2*y - 1},
2 4 2
{x=y + 1,y=0,z=y + 2*y - 1}}
solve(e^(y^4+3y^2+y)-1,y);
2/3 1/3 1/3
{y=(sqrt( - (sqrt(5) + 3) - 4*(sqrt(5) + 3) *2 + 2*sqrt(
2/3 2/3 1/3
3*(sqrt(5) + 3) *2 + (sqrt(5) + 3) *sqrt(5)
1/3 1/3 1/3 2/3
+ 7*(sqrt(5) + 3) + 2*2 *sqrt(5) + 8*2 ) - 2 )
1/3 1/3 1/6 1/6
+ (sqrt(5) + 3) - 2 )/(2*(sqrt(5) + 3) *2 )}
% Transcendental equations proposed by Roger Germundsson
% <roger@isy.liu.se>
eq1 := 2*asin(x) + asin(2*x) - PI/2;
2*asin(2*x) + 4*asin(x) - pi
eq1 := ------------------------------
2
eq2 := 2*asin(x) - acos(3*x);
eq2 := - acos(3*x) + 2*asin(x)
eq3 := acos(x) - atan(x);
eq3 := acos(x) - atan(x)
eq4 := acos(2*x**2 - 4*x -x) - 2*asin(x);
2
eq4 := acos(2*x - 5*x) - 2*asin(x)
eq5 := 2*atan(x) - atan( 2*x/(1-x**2) );
2*x
eq5 := atan(--------) + 2*atan(x)
2
x - 1
sol1 := solve(eq1,x);
sqrt(3) - 1
sol1 := {x=-------------}
2
sol2 := solve(eq2,x);
sqrt(17) - 3
sol2 := {x=--------------}
4
sol3 := solve(eq3,x);
sqrt(sqrt(5) - 1)
sol3 := {x=-------------------}
sqrt(2)
sol4 := solve(eq4,x);
sol4 := {}
sol5 := solve(eq5,x);
sol5 := {x=arbcomplex(36)}
% This solution should be the open interval
% (-1,1).
% Example 52 of M. Wester: the function has no real zero although
% REDUCE 3.5 and Maple tend to return 3/4.
if solve(sqrt(x^2 +1) - x +2,x) neq {} then rederr "Illegal result";
% Using a root_of expression as an algebraic number.
solve(x^5 - x - 1,x);
5
{x=root_of(x_ - x_ - 1,x_,tag_20)}
w:=rhs first ws;
5
w := root_of(x_ - x_ - 1,x_,tag_20)
w^5;
5
root_of(x_ - x_ - 1,x_,tag_20) + 1
w^5-w;
1
clear w;
% The following examples come from Daniel Lichtblau of WRI and were
% communicated by Laurent.Bernardin from ETH Zuerich.
solve(x-Pi/2 = cos(x+Pi),x);
{x=root_of(2*cos(x_) - pi + 2*x_,x_,tag_22)}
solve(exp(x^2+x+2)-1,x);
sqrt(7)*i - 1
{x=---------------}
2
solve(log(sqrt(1+z)/sqrt(z-1))=x,z);
2*x
e + 1
{z=----------}
2*x
e - 1
solve({exp(x+3*y-2)=7,3^(2*x-y+4)=2},{x,y});
x + 3*y 2
{{e - 7*e =0},
2*x y
{81*3 - 2*3 =0}}
solve(a*3^(c*t)+b*3^((c+a)*t),t);
- a
log(------)
b
{t=-------------}
log(3)*a
solve(log(x+sqrt(x^2+a))=b,{x});
2*b
e - a
{x=----------}
b
2*e
solve(z=log(w)/log(2)+w^2,w);
2
{w=root_of(log(w_) + log(2)*w_ - log(2)*z,w_,tag_25)}
solve(w*2^(w^2)=5,w);
2
w_
{w=root_of(2 *w_ - 5,w_,tag_27)}
solve(log(x/y)=1/y^2*(x+(1/x)),y);
x 2 2
{y=root_of(log(----)*x*y_ - x - 1,y_,tag_29)}
y_
solve(exp(z)=w*z^(-n),z);
n z_
{z=root_of(z_ *e - w,z_,tag_31)}
solve(-log(3)+log(2+y/3)/2-log(y/3)/2=(-I)/2*Pi,y);
- 3
{y=------}
5
solve(-log(x)-log(y/x)/2+log(2+y/x)/2=(-3*I)/2*Pi,y);
- 2*x
{y=--------}
2
x + 1
solve((I+1)*log(x)+(3*I+3)*log(x+3)=7,x);
i 3*i 4 i 3*i 3 i 3*i 2
{x=root_of(x_ *(x_ + 3) *x_ + 9*x_ *(x_ + 3) *x_ + 27*x_ *(x_ + 3) *x_
i 3*i 7
+ 27*x_ *(x_ + 3) *x_ - e ,x_,tag_33)}
solve(x+sqrt(x)=1,x);
- sqrt(5) + 3
{x=----------------}
2
solve({cos(1/5+alpha+x)=5,cos(2/5+alpha-x)=6},{alpha,x});
5*alpha - 5*x + 2
{{cos(-------------------) - 6=0},
5
5*alpha + 5*x + 1
{cos(-------------------) - 5=0}}
5
end;
Time for test: 225380 ms, plus GC time: 38486 ms