dharr

Dr. David Harrington

7109 Reputation

21 Badges

20 years, 148 days
University of Victoria
Professor or university staff
Victoria, British Columbia, Canada

Social Networks and Content at Maplesoft.com

Maple Application Center
I am a retired professor of chemistry at the University of Victoria, BC, Canada. My research areas are electrochemistry and surface science. I have been a user of Maple since about 1990.

MaplePrimes Activity


These are answers submitted by dharr

The 19 equations don't have a solution in those variables. You could change variables or use a smaller set of equations, e.g.,

solve(eqs1[1 .. 14], {a[0], a[1], a[2], a[3], a[4], e[1], k[1], n[1], p[1]});

returns solutions.

Y is already used for something else.

N-soliton.mw

In eq5, you are missing a multiplication between the c and the (. Use a space, or better, a * for multiplication. Here c(...) is being interpreted an an unknown function named c, which solve doesn't know anything about.

maple_code_for_disease_equilibruim.mw

To add to @acer's answer, operators with names starting with & automatically are displayed as infix operators. (See the help page ?neutral.) So using &T instead of T will work, though it will display with the &. If you also want it to have a nice symbol output, choose one of the HTML codes that start with "&" and end with ";" (but not in the `&#...;` form; use the entity form). You are probably familiar with these. Many of the symbols on the operator palette are of this form. For example, I like to use

`⊗` := LinearAlgebra:-KroneckerProduct;

and use the palette in 2D input to easily input

On the main page for the app there is an "Attachment" link, separate from the "Download" link, which has a zip file with the library files, called "maple.hdb", "maple.ind" and "maple.lib" files, which comprise the package.

The strategy I gave earlier of converting to exp should work in general for any trig or hyperbolic trig functions.

https://www.mapleprimes.com/questions/239498-How-To-Derive-A-System-Of-Equations#answer306528

restart

with(PDEtools)

undeclare(prime)

`There is no more prime differentiation variable; all derivatives will be displayed as indexed functions`

_local(gamma)

ode := beta*U(xi)^2*c^2+(-alpha*c^2+1)*U(xi)+mu^2*c^2*(diff(diff(U(xi), xi), xi))

beta*U(xi)^2*c^2+(-alpha*c^2+1)*U(xi)+mu^2*c^2*(diff(diff(U(xi), xi), xi))

n := 2

2

F := U(xi) = sum(tanh(xi)^(i-1)*(B[i]*sech(xi)+A[i]*tanh(xi)), i = 1 .. n)+A[0]

U(xi) = B[1]*sech(xi)+A[1]*tanh(xi)+tanh(xi)*(B[2]*sech(xi)+A[2]*tanh(xi))+A[0]

K1 := eval(ode, F)

beta*(B[1]*sech(xi)+A[1]*tanh(xi)+tanh(xi)*(B[2]*sech(xi)+A[2]*tanh(xi))+A[0])^2*c^2+(-alpha*c^2+1)*(B[1]*sech(xi)+A[1]*tanh(xi)+tanh(xi)*(B[2]*sech(xi)+A[2]*tanh(xi))+A[0])+mu^2*c^2*(B[1]*sech(xi)*tanh(xi)^2-B[1]*sech(xi)*(1-tanh(xi)^2)-2*A[1]*tanh(xi)*(1-tanh(xi)^2)-2*tanh(xi)*(1-tanh(xi)^2)*(B[2]*sech(xi)+A[2]*tanh(xi))+2*(1-tanh(xi)^2)*(-B[2]*sech(xi)*tanh(xi)+A[2]*(1-tanh(xi)^2))+tanh(xi)*(B[2]*sech(xi)*tanh(xi)^2-B[2]*sech(xi)*(1-tanh(xi)^2)-2*A[2]*tanh(xi)*(1-tanh(xi)^2)))

Convert everything to exp, then write in terms of a variable eX = exp(xi)

K2 := collect(numer(normal(eval(convert(K1, exp), xi = ln(eX)))), exp)

eqns := {coeffs(K2, eX)}; nops(%); indets(eqns)

9

{alpha, beta, c, mu, A[0], A[1], A[2], B[1], B[2]}

solve(eqns, {A[0], A[1], A[2], B[1], B[2]})

{A[0] = 0, A[1] = 0, A[2] = 0, B[1] = 0, B[2] = 0}, {A[0] = (alpha*c^2-1)/(beta*c^2), A[1] = 0, A[2] = 0, B[1] = 0, B[2] = 0}

NULL

Download Find_params.mw

In general if you don't want a formula, use add, not Sum or sum. You have sums 5 deep, so it will take some time. I get the answer in 2 minutes on my machine using add.

add.mw

Applying simplify to the output of EulerLagrange solves the apparent singularity problem - odeplot can now plot the solutions. However x is not changing with time so something is wrong with the physics.

Rolling_circle.mw

As far as I know, that can't be done directly with plot structures, as you surmised. You can convert to images and then manipulate as required with the ImageTools package (but maybe you figured this out already, because you did produce such an image).

restart

with(ImageTools)

Main plot

p1 := plot(sin(x), size = [900, 900]); p1img := convert(p1, Image)

Inset plot

p2 := plot(sin(x), view = [0 .. Pi, .5 .. 1], size = [270, 270], axes = boxed); p2img := convert(p2, Image)

pboth := SetSubImage(p1img, p2img, 20, 620); Embed(pboth)


Download plots.mw

Maple can find a solution to your system if given a hint. This may not be the set of solutions you are looking for. In the paper it looks like u is replaced by f,g and phi (eq 6), but you have u and f and g. So it is hard to understand the relationship of your worksheet to the paper; perhaps yoou can explain further about what you have done to get to this point. Or parhaps you like this solution.

restart

with(PDEtools); with(plots)

alias(u = u(x, y, t), f = f(x, y, t), g = g(x, y, t), q = q(x, y, t))

u, f, g, q

eq1 := 24*g*(diff(q, y))*(diff(q, x))^3-12*(diff(q, y))*(diff(q, x))^2*g^2 = 0

eq2 := 60*g*sigma*(diff(q, y))*(diff(q, x))^3-30*sigma*(diff(q, y))*(diff(q, x))^2*g^2+18*(diff(g, x))*(diff(q, y))*(diff(q, x))^2-15*(diff(q, y))*(diff(q, x))*(diff(g, x))*g+18*g*(diff(q, y))*(diff(q, x))*(diff(q, x, x))-3*(diff(q, y))*g^2*(diff(q, x, x))+6*(diff(g, y))*(diff(q, x))^3+18*g*(diff(q, x))^2*(diff(q, y, x))-9*(diff(g, y))*g*(diff(q, x))^2-3*g^2*(diff(q, x))*(diff(q, y, x)) = 0

eq3 := -6*sigma*(diff(q, x))*(diff(q, y, x))*g^2+50*g*sigma^2*(diff(q, y))*(diff(q, x))^3-24*sigma^2*(diff(q, y))*(diff(q, x))^2*g^2+36*(diff(g, x))*sigma*(diff(q, y))*(diff(q, x))^2-15*(diff(q, x))^2*sigma*(diff(g, y))*g-6*(diff(f, x))*(diff(q, y))*(diff(q, x))*g-6*sigma*(diff(q, y))*(diff(q, x, x))*g^2+36*g*sigma*(diff(q, x))^2*(diff(q, y, x))-3*(diff(q, y))*(diff(g, x))^2+6*(diff(g, y, x))*(diff(q, x))^2-9*(diff(g, y))*(diff(g, x))*(diff(q, x))+6*(diff(g, x))*(diff(q, y))*(diff(q, x, x))+2*g*(diff(q, y))*(diff(q, x, x, x))-6*(diff(f, y))*(diff(q, x))^2*g+2*g*(diff(q, y))*(diff(q, t))-3*(diff(q, x, x))*(diff(g, y))*g-3*g*(diff(q, x))*(diff(g, y, x))+6*(diff(q, y))*(diff(g, x, x))*(diff(q, x))+12*(diff(g, y))*sigma*(diff(q, x))^3+12*(diff(q, x))*(diff(g, x))*(diff(q, y, x))+6*(diff(g, y))*(diff(q, x))*(diff(q, x, x))-3*(diff(q, y, x))*(diff(g, x))*g+6*g*(diff(q, y, x))*(diff(q, x, x))-3*(diff(q, y))*(diff(g, x, x))*g+6*(diff(q, x))*g*(diff(q, y, x, x))+36*g*sigma*(diff(q, y))*(diff(q, x))*(diff(q, x, x))-27*sigma*(diff(q, y))*(diff(q, x))*(diff(g, x))*g = 0

eq4 := 9*(diff(g, y, x))*sigma*(diff(q, x))^2+7*(diff(g, y))*sigma^2*(diff(q, x))^3-3*sigma^2*(diff(q, y))*(diff(q, x, x))*g^2+21*g*sigma^2*(diff(q, x))^2*(diff(q, y, x))-3*sigma^2*(diff(q, x))*(diff(q, y, x))*g^2+9*sigma*(diff(q, y))*(diff(g, x, x))*(diff(q, x))-3*sigma*(diff(q, y))*(diff(g, x, x))*g+9*(diff(g, x))*sigma*(diff(q, y))*(diff(q, x, x))+3*g*sigma*(diff(q, y))*(diff(q, x, x, x))+18*sigma*(diff(q, x))*(diff(g, x))*(diff(q, y, x))-3*sigma*(diff(q, x))*(diff(g, y, x))*g+9*(diff(g, y))*sigma*(diff(q, x))*(diff(q, x, x))+9*sigma*(diff(q, x))*g*(diff(q, y, x, x))-3*sigma*(diff(q, y, x))*(diff(g, x))*g-3*(diff(g, y))*(diff(q, x))*(diff(f, x))-6*(diff(g, x))*(diff(q, x))*(diff(f, y))-3*(diff(q, y))*(diff(g, x))*(diff(f, x))-3*sigma*(diff(q, y))*(diff(g, x))^2-3*(diff(g, y, x))*(diff(g, x))-3*(diff(g, x, x))*(diff(g, y))+g*(diff(q, y, t))+3*(diff(g, y, x))*(diff(q, x, x))+3*(diff(g, x))*(diff(q, y, x, x))+(diff(g, y))*(diff(q, x, x, x))+(diff(q, y, x, x, x))*g+(diff(q, y))*(diff(g, x, x, x))+3*(diff(q, x))*(diff(g, y, x, x))-6*(diff(q, x))^2*sigma^2*(diff(g, y))*g+21*(diff(g, x))*sigma^2*(diff(q, y))*(diff(q, x))^2+15*g*sigma^3*(diff(q, y))*(diff(q, x))^3-6*sigma^3*(diff(q, y))*(diff(q, x))^2*g^2+9*g*sigma*(diff(q, y, x))*(diff(q, x, x))-3*sigma*(diff(q, x, x))*(diff(g, y))*g-9*sigma*(diff(q, x))*(diff(g, x))*(diff(g, y))-9*(diff(f, x))*(diff(q, y))*(diff(q, x))*sigma*g-12*sigma^2*(diff(q, y))*(diff(q, x))*(diff(g, x))*g+21*g*sigma^2*(diff(q, y))*(diff(q, x))*(diff(q, x, x))+(diff(g, y))*(diff(q, t))+(diff(q, y))*(diff(g, t))+3*(diff(g, x, x))*(diff(q, y, x))-9*(diff(f, y))*(diff(q, x))^2*sigma*g+3*g*sigma*(diff(q, y))*(diff(q, t))-3*g*(diff(f, y))*(diff(q, x, x))-3*(diff(q, y))*g*(diff(f, x, x))-3*g*(diff(q, x))*(diff(f, y, x))-3*g*(diff(q, y, x))*(diff(f, x)) = 0

eq5 := 3*(diff(g, x))*sigma^3*(diff(q, y))*(diff(q, x))^2+g*sigma^2*(diff(q, y))*(diff(q, t))+g*sigma^4*(diff(q, y))*(diff(q, x))^3-3*(diff(f, x))*sigma*(diff(q, y))*(diff(g, x))-3*(diff(f, x))*sigma*(diff(q, x))*(diff(g, y))-6*(diff(f, y))*sigma*(diff(q, x))*(diff(g, x))+3*g*sigma^3*(diff(q, x))^2*(diff(q, y, x))+g*sigma^2*(diff(q, y))*(diff(q, x, x, x))-3*(diff(f, x))*sigma*(diff(q, y, x))*g-3*(diff(f, y))*sigma*(diff(q, x, x))*g-3*g*sigma*(diff(q, y))*(diff(f, x, x))-3*sigma*(diff(q, x))*g*(diff(f, y, x))+diff(g, y, t)+3*(diff(g, x))*sigma^2*(diff(q, y))*(diff(q, x, x))+3*(diff(g, y))*sigma^2*(diff(q, x))*(diff(q, x, x))+3*(diff(g, x, x))*sigma^2*(diff(q, y))*(diff(q, x))+6*(diff(g, x))*sigma^2*(diff(q, x))*(diff(q, y, x))-3*(diff(f, x))*(diff(q, y))*(diff(q, x))*sigma^2*g+diff(g, y, x, x, x)+3*(diff(g, y, x))*sigma*(diff(q, x, x))+(diff(g, y))*sigma*(diff(q, x, x, x))+3*(diff(g, x, x))*sigma*(diff(q, y, x))+g*sigma*(diff(q, y, x, x, x))-3*(diff(g, x))*(diff(f, y, x))-3*(diff(g, y))*(diff(f, x, x))+3*(diff(g, y, x))*sigma^2*(diff(q, x))^2+3*(diff(g, y, x, x))*sigma*(diff(q, x))+g*sigma*(diff(q, y, t))+(diff(g, x, x, x))*sigma*(diff(q, y))+3*(diff(g, x))*sigma*(diff(q, y, x, x))+3*g*sigma^3*(diff(q, y))*(diff(q, x))*(diff(q, x, x))+(diff(g, y))*sigma*(diff(q, t))+(diff(g, t))*sigma*(diff(q, y))+(diff(g, y))*sigma^3*(diff(q, x))^3+3*g*sigma^2*(diff(q, x))*(diff(q, y, x, x))-3*(diff(f, y))*(diff(q, x))^2*sigma^2*g+3*g*sigma^2*(diff(q, y, x))*(diff(q, x, x))-3*(diff(f, x))*(diff(g, y, x))-3*(diff(f, y))*(diff(g, x, x)) = 0

eq6 := -3*(diff(f, x))*(diff(f, y, x))-3*(diff(f, y))*(diff(f, x, x))+diff(f, y, x, x, x)+diff(f, y, t) = 0

sys := {eq1, eq2, eq3, eq4, eq5, eq6}

sol := pdsolve(sys, {f, g, q}, HINT = `+`)

{f = f__1(x)+c__1+f__3(t), g = f__4(x)+c__2+f__6(t), q = f__7(x)+c__3+f__9(t)}

pdetest(sol, sys)

{0}

So we can replace the subscripted f functions with arbitrary functions of x (or t), e.g.,

sol1 := eval(sol, {f__1(x) = x^2, f__3(t) = sin(t), f__4(x) = exp(x), f__6(t) = t, f__7(x) = cos(x), f__9(t) = t^3})

{f = x^2+c__1+sin(t), g = exp(x)+c__2+t, q = cos(x)+c__3+t^3}

pdetest(sol1, sys)

{0}

NULL

Download PDEs_system_solution.mw

I played aound with the record form. It is nice to look at (similar to Display(dec,R) on the default output), but hard to extract the pieces. The pieces from the piecewise output can be extracted as follows.

with(RegularChains)

eq_5382 := {(-x-y+1)*p+m*x*y = 0, y*(m*x-m-n+1)+(-x+1)*n-x = 0, (-p+t)*k+p*y-t = 0, (k-x-y)*t-k*p+y = 0, (-x-y+1)*t+(-k+y)*n+s*x = 0, (-x-y+1)*p+m*y^2+x-y = 0, m*x^2+(-m-n+1)*x+(-y+1)*n+t*y-1 = 0, -k*n+s*x = 0, 0 < k, 0 < m, 0 < s, 0 < x, 0 < y, 0 < n+(t-1)*p, 0 < (m*y-1)*n+(1-p)*(m*x-m+1), 0 < (m*x-m-t+1)*p+m*y*(t-n), 1 < y+x, k < 1, m < 1, s < t, t < 1}

Triangularize with output as piecewise. You need to look at this to see when conditions are Anded. (Could be automated.)

sys := eq_5382; SuggestVariableOrder(sys); R := PolynomialRing(%); dec_5382 := RealTriangularize(sys, R, output = piecewise)

[s, k, n, p, m, t, x, y]

polynomial_ring

The sequence of pieces may be extracted by using op. They are condition,solution,condition, solution, ..., otherwise  as in the ?piecewise help page.
The conditions (inequalities), if more than one, are Anded together, and can be separated out by another op

nops(dec_5382); sol := op(dec_5382); sol1conds := op(sol[1]); sol1eqns := sol[2][][]; sol2conds := sol[3]; sol2eqns := sol[4][][]; solotherwise := sol[5]

5

y^3-2*y^2+y < 1, 0 < y-1, 23*y^3-37*y^2+13*y-3 <> 0

s*x-k*n = 0, (p-t)*k+(y+x)*t-y = 0, (x+y-1)*n+(-x*y+y)*m+x-y = 0, (x+y-1)*p-m*y^2-x+y = 0, m*y-1 = 0, t*y^2+x^2+(y-1)*x-y^2 = 0, x^3+(3*y-2)*x^2+(2*y^2-3*y+1)*x-y^3+y^2 = 0, 0 < k, 0 < s, 0 < x, 0 < -2*x^2*y^2-2*x*y^3+2*y^4+x^2*y+3*x*y^2-3*y^3-x*y+y^2, 0 < x^2*y^2+2*x*y^3+y^4-x^2*y-4*x*y^2-3*y^3+2*x*y+3*y^2-y, 0 < -x^2*y-x*y^2+y^3+x*y-y^2, 0 < x+y-1, 0 < 1-k, 0 < t-s, 0 < 1-t

23*y^3-37*y^2+13*y-3 = 0

s*x-k*n = 0, (p-t)*k+(y+x)*t-y = 0, (x+y-1)*n+(-x*y+y)*m+x-y = 0, (x+y-1)*p-m*y^2-x+y = 0, m*y-1 = 0, t*y^2+x^2+(y-1)*x-y^2 = 0, (2377326*y^2-1587000*y+302588)*x^2+(390793*y^2+497766*y+138115)*x-507805*y^2+152032*y-109047 = 0, 23*y^3-37*y^2+13*y-3 = 0, 0 < k, 0 < m, 0 < s, 0 < x, 0 < y, 0 < 700112222844255556263586865*x*y^2-260269572171898884295316974*x*y-93795749047261033657544191*y^2+73822886321394794237709987*x+34866975665513154551125606*y-9877974587657378842117575, 0 < -26166721441919*x*y^2+9412709182291*x*y+53422638514257*y^2-3387596446782*x-21180373503698*y+6484087812711, 0 < 21236600258115*x*y^2-8079468597142*x*y-3053799376681*y^2+2340822678357*x+1387037467490*y-370794765921, 0 < x+y-1, 0 < 1-k, 0 < 1-m, 0 < t-s, 0 < 1-t

[]

``

NULL

Download Output_of_RegularChains.mw

I agree that the geometry and geom3d packages can be frustrating in the sense that they work differently from the rest of Maple. For some reason, these packages make extensive use of attributes, which are hidden behind the scenes; attributes are rarely used in the rest of Maple. So c1 is actually just a symbol - it doesn't have a value, but its attached attributes can be seen using attributes(c1).

From a practical point of view this means you need to do all your geometry calculations with the commands in the package (or decide to calculate outside the package). In particular, use the draw command to plot objects created in the package, e.g. draw([c1,A,B,C],printtext=true);

It is possible to assign the result of draw to a variable, and then it can be combined with other regular plots with display.

As for Equation vs equation, that is frustrating though clearly outlined on the circle help page.

Well, as is often the case, Maple needs help to go the extra mile. Actually, ThueSolve sends this case to isolve, but without the inequalities.

restart;

isolve({a*b=4,a>=1,b>=1});

Warning, solutions may have been lost

sols:=NumberTheory:-ThueSolve(a*b=4);
goodsols:=select(x->eval((a>=1 and b>=1),x),sols);

[[a = -4, b = -1], [a = -2, b = -2], [a = -1, b = -4], [a = 1, b = 4], [a = 2, b = 2], [a = 4, b = 1]]

[[a = 1, b = 4], [a = 2, b = 2], [a = 4, b = 1]]

isolve(a*b=4);

{a = -4, b = -1}, {a = -2, b = -2}, {a = -1, b = -4}, {a = 1, b = 4}, {a = 2, b = 2}, {a = 4, b = 1}

NULL

Download Thue.mw

My take on it is that the elimination process does not lead to any valid solutions.

restart;

expr :=[a, b, c]^~2 =~ 4*[y*z/((x + y)*(x + z)), z*x/((y + z)*(y + x)), x*y/((z + x)*(z + y))];

[a^2 = 4*y*z/((x+y)*(x+z)), b^2 = 4*z*x/((y+z)*(x+y)), c^2 = 4*x*y/((x+z)*(y+z))]

The following assumes denominators are not zero

expr2:=map(w->numer(normal(lhs(w)-rhs(w))),expr);

[a^2*x^2+a^2*x*y+a^2*x*z+a^2*y*z-4*y*z, b^2*x*y+b^2*x*z+b^2*y^2+b^2*y*z-4*x*z, c^2*x*y+c^2*x*z+c^2*y*z+c^2*z^2-4*x*y]

denoms1:={map(denom@rhs,expr)[]};

{(x+y)*(x+z), (x+z)*(y+z), (y+z)*(x+y)}

Interesting result - probably an error message or null result would be better

eliminate(expr2,{x,y,z});

[{x = 0, y = FAIL, z = 0}, {}]

Let's do it "by hand" - eliminate x between pairs, leaving 2 eqns in y and z. Denominators in expressions for x must be nonzero

e12:=eliminate(expr2[1..2],x);
e23:=eliminate(expr2[2..3],x);
expr3 := e12[2] union e23[2];

[{x = -b^2*y*(y+z)/(b^2*y+b^2*z-4*z)}, {4*y*z*(a^2*b^2*y^2-a^2*b^2*z^2-b^4*y^2-2*b^4*y*z-b^4*z^2+4*a^2*z^2+8*b^2*y*z+8*b^2*z^2-16*z^2)}]

[{x = -c^2*z*(y+z)/(c^2*y+c^2*z-4*y)}, {b^2*c^2*y^3+b^2*c^2*y^2*z-b^2*c^2*y*z^2-b^2*c^2*z^3-4*b^2*y^3-4*b^2*y^2*z+4*c^2*y*z^2+4*c^2*z^3}]

{4*y*z*(a^2*b^2*y^2-a^2*b^2*z^2-b^4*y^2-2*b^4*y*z-b^4*z^2+4*a^2*z^2+8*b^2*y*z+8*b^2*z^2-16*z^2), b^2*c^2*y^3+b^2*c^2*y^2*z-b^2*c^2*y*z^2-b^2*c^2*z^3-4*b^2*y^3-4*b^2*y^2*z+4*c^2*y*z^2+4*c^2*z^3}

denoms2:={denom(rhs(e12[1][])), denom(rhs(e23[1][]))};

{b^2*y+b^2*z-4*z, c^2*y+c^2*z-4*y}

Now eliminate y between the remaining 2 equations - denom has no restrictions on z

e13:=eliminate(expr3,y);

[{y = -z*c^2*(-a^2*b^4*c^2+a^4*b^2+2*a^2*b^4+5*a^2*b^2*c^2+b^6+3*b^4*c^2-4*a^4-12*a^2*b^2-4*a^2*c^2-16*b^4-12*b^2*c^2+16*a^2+48*b^2)/(-a^2*b^4*c^4+a^4*b^2*c^2+2*a^2*b^4*c^2+3*a^2*b^2*c^4+b^6*c^2+3*b^4*c^4-16*b^4*c^2-4*b^2*c^4-16*a^4-16*a^2*b^2-32*a^2*c^2-16*c^4+128*a^2+64*b^2+128*c^2-256)}, {c*z*(b-2)*(b+2)*(a-2)*(a+2)*(-a*b*c+a^2+b^2+c^2-4)*(a*b*c+a^2+b^2+c^2-4)}]

denoms3:=denom(rhs(e13[1][]));

-a^2*b^4*c^4+a^4*b^2*c^2+2*a^2*b^4*c^2+3*a^2*b^2*c^4+b^6*c^2+3*b^4*c^4-16*b^4*c^2-4*b^2*c^4-16*a^4-16*a^2*b^2-32*a^2*c^2-16*c^4+128*a^2+64*b^2+128*c^2-256

eqz:={isolate(e13[2][],z)};

{z = 0}

From which we conclude y=0

eqy:=eval(e13[1],eqz);

{y = 0}

So we have a problem at the eliminate x stage, and with the original equations

eval(denoms2, eqy union eqz);
eval(denoms1, eqy union eqz);

{0}

{0, x^2}

solve(expr,{x,y,z},parametric); # correct

[]

Here the c<>0 solution doesn't solve the original equations (zero denoms). And solve is too lazy to do the c=0 case (default option - see ?solve,parametric

ans := solve(expr2,{x,y,z},parametric);

ans := piecewise(c = 0, %SolveTools[Parametric]({-4*y*x, a^2*x^2+a^2*x*y+a^2*x*z+a^2*y*z-4*y*z, b^2*x*y+b^2*x*z+b^2*y^2+b^2*y*z-4*x*z}, {x, y, z}, {a, b}), c <> 0, [{x = 0, y = 0, z = 0}])

Force it. None of these solve the original equations either.

op(2,ans);
value(%);

%SolveTools[Parametric]({-4*y*x, a^2*x^2+a^2*x*y+a^2*x*z+a^2*y*z-4*y*z, b^2*x*y+b^2*x*z+b^2*y^2+b^2*y*z-4*x*z}, {x, y, z}, {a, b})

piecewise(b = 0, [{x = 0, y = 0, z = z}, {x = 0, y = y, z = 0}], b <> 0, [{x = 0, y = 0, z = z}])

In one step

ans := solve(expr2,{x,y,z},parametric=full);

ans := piecewise(c = 0, piecewise(b = 0, [{x = 0, y = 0, z = z}, {x = 0, y = y, z = 0}], b <> 0, [{x = 0, y = 0, z = z}]), c <> 0, [{x = 0, y = 0, z = 0}])

Same result.

SolveTools:-PolynomialSystem(expr2,[x,y,z]);

{x = 0, y = 0, z = 0}

 

NULL

Download eliminate.mw

Your question is not clear. Is this what you want to do?

restart

Output from solve - the variables we solved for are only on the left of the =.

case1 := {alpha = alpha, beta = gamma, delta = delta, gamma = gamma, k = k, lambda = 0, m = 2*n, mu = mu, n = n, sigma = 32*alpha*mu^2*n^4/a[-1]^2, w = -2*alpha*k^2*n-4*alpha*mu^2*n+delta^2, a[-1] = a[-1], a[0] = 0, a[1] = 0}

To remove the restriction on beta so it is now arbitrary (actually would remove if beta was on the right also)

case2 := remove(has, case1, beta)

{alpha = alpha, delta = delta, gamma = gamma, k = k, lambda = 0, m = 2*n, mu = mu, n = n, sigma = 32*alpha*mu^2*n^4/a[-1]^2, w = -2*alpha*k^2*n-4*alpha*mu^2*n+delta^2, a[-1] = a[-1], a[0] = 0, a[1] = 0}

A little more specific for the left-hand side.

case3 := remove(proc (q) options operator, arrow; has(lhs(q), beta) end proc, case1)

{alpha = alpha, delta = delta, gamma = gamma, k = k, lambda = 0, m = 2*n, mu = mu, n = n, sigma = 32*alpha*mu^2*n^4/a[-1]^2, w = -2*alpha*k^2*n-4*alpha*mu^2*n+delta^2, a[-1] = a[-1], a[0] = 0, a[1] = 0}

NULL

Download removal.mw

1 2 3 4 5 6 7 Last Page 1 of 73