Items tagged with simplify



i'm using expand cmd, but surprisingly, not only execute the expand but execute simplify cmd. Is there any cmd only execute expand withoud simplify?

Best wishes,

from China

I did change of variables as below:





Error, invalid input: with expects its 1st argument, pname, to be of type {`module`, package}, but received shareman



UP := Int(1/2*(K__ux0*u0(x, y, t)^2+K__vx0*v0(x, y, t)^2+K__wx0*w0(x, y, t)^2+`K__φx0`*phi(x, y, t)^2+`K__ψx0`*psi(x, y, t)^2), y = 0 .. b)+Int(1/2*(K__uxa*u0(x, y, t)^2+K__vxa*v0(x, y, t)^2+K__wxa*w0(x, y, t)^2+`K__φxa`*phi(x, y, t)^2+`K__ψxa`*psi(x, y, t)^2), y = 0 .. b)+Int(1/2*(K__uy0*u0(x, y, t)^2+K__vyb*v0(x, y, t)^2+K__wyb*w0(x, y, t)^2+`K__φyb`*phi(x, y, t)^2+`K__ψy0`*psi(x, y, t)^2), x = 0 .. a)+Int(1/2*(K__uyb*u0(x, y, t)^2+K__vyb*v0(x, y, t)^2+K__wyb*w0(x, y, t)^2+`K__φyb`*phi(x, y, t)^2+`K__ψyb`*psi(x, y, t)^2), x = 0 .. a):

varchange := {t = a*tau*sqrt(rho/A__ref), x = (1/2)*a*(Zeta+1), y = (1/2)*b*(eta+1), phi(x, y, t) = h*`#mover(mi("φ",fontstyle = "normal"),mo("&uminus0;"))`(Zeta, eta, tau), psi(x, y, t) = h*`#mover(mi("ψ",fontstyle = "normal"),mo("&uminus0;"))`(Zeta, eta, tau), u0(x, y, t) = h*`#mover(mi("u"),mo("&uminus0;"))`(Zeta, eta, tau), v0(x, y, t) = h*`#mover(mi("v"),mo("&uminus0;"))`(Zeta, eta, tau), w0(x, y, t) = h*`#mover(mi("w"),mo("&uminus0;"))`(Zeta, eta, tau)}:


Ut := PDEtools:-dchange(varchange, UP, [`#mover(mi("u"),mo("&uminus0;"))`, `#mover(mi("v"),mo("&uminus0;"))`, `#mover(mi("w"),mo("&uminus0;"))`, `#mover(mi("φ",fontstyle = "normal"),mo("&uminus0;"))`, `#mover(mi("ψ",fontstyle = "normal"),mo("&uminus0;"))`, Zeta, eta, tau], params = [a, b, rho, A__ref]):


Int((1/2)*((1/2)*K__ux0*h^2*`#mover(mi("u"),mo("&uminus0;"))`(Zeta, eta, tau)^2+(1/2)*K__vx0*h^2*`#mover(mi("v"),mo("&uminus0;"))`(Zeta, eta, tau)^2+(1/2)*K__wx0*h^2*`#mover(mi("w"),mo("&uminus0;"))`(Zeta, eta, tau)^2+(1/2)*`K__φx0`*h^2*`#mover(mi("φ",fontstyle = "normal"),mo("&uminus0;"))`(Zeta, eta, tau)^2+(1/2)*`K__ψx0`*h^2*`#mover(mi("ψ",fontstyle = "normal"),mo("&uminus0;"))`(Zeta, eta, tau)^2)*b, eta = -1 .. 1)+Int((1/2)*((1/2)*K__uxa*h^2*`#mover(mi("u"),mo("&uminus0;"))`(Zeta, eta, tau)^2+(1/2)*K__vxa*h^2*`#mover(mi("v"),mo("&uminus0;"))`(Zeta, eta, tau)^2+(1/2)*K__wxa*h^2*`#mover(mi("w"),mo("&uminus0;"))`(Zeta, eta, tau)^2+(1/2)*`K__φxa`*h^2*`#mover(mi("φ",fontstyle = "normal"),mo("&uminus0;"))`(Zeta, eta, tau)^2+(1/2)*`K__ψxa`*h^2*`#mover(mi("ψ",fontstyle = "normal"),mo("&uminus0;"))`(Zeta, eta, tau)^2)*b, eta = -1 .. 1)+Int((1/2)*((1/2)*K__uy0*h^2*`#mover(mi("u"),mo("&uminus0;"))`(Zeta, eta, tau)^2+(1/2)*K__vyb*h^2*`#mover(mi("v"),mo("&uminus0;"))`(Zeta, eta, tau)^2+(1/2)*K__wyb*h^2*`#mover(mi("w"),mo("&uminus0;"))`(Zeta, eta, tau)^2+(1/2)*`K__φyb`*h^2*`#mover(mi("φ",fontstyle = "normal"),mo("&uminus0;"))`(Zeta, eta, tau)^2+(1/2)*`K__ψy0`*h^2*`#mover(mi("ψ",fontstyle = "normal"),mo("&uminus0;"))`(Zeta, eta, tau)^2)*a, Zeta = -1 .. 1)+Int((1/2)*((1/2)*K__uyb*h^2*`#mover(mi("u"),mo("&uminus0;"))`(Zeta, eta, tau)^2+(1/2)*K__vyb*h^2*`#mover(mi("v"),mo("&uminus0;"))`(Zeta, eta, tau)^2+(1/2)*K__wyb*h^2*`#mover(mi("w"),mo("&uminus0;"))`(Zeta, eta, tau)^2+(1/2)*`K__φyb`*h^2*`#mover(mi("φ",fontstyle = "normal"),mo("&uminus0;"))`(Zeta, eta, tau)^2+(1/2)*`K__ψyb`*h^2*`#mover(mi("ψ",fontstyle = "normal"),mo("&uminus0;"))`(Zeta, eta, tau)^2)*a, Zeta = -1 .. 1)



(1/4)*(b*(Int(K__ux0*`#mover(mi("u"),mo("&uminus0;"))`(Zeta, _a, tau)^2+K__vx0*`#mover(mi("v"),mo("&uminus0;"))`(Zeta, _a, tau)^2+K__wx0*`#mover(mi("w"),mo("&uminus0;"))`(Zeta, _a, tau)^2+`K__φx0`*`#mover(mi("φ",fontstyle = "normal"),mo("&uminus0;"))`(Zeta, _a, tau)^2+`K__ψx0`*`#mover(mi("ψ",fontstyle = "normal"),mo("&uminus0;"))`(Zeta, _a, tau)^2, _a = -1 .. 1))+b*(Int(K__uxa*`#mover(mi("u"),mo("&uminus0;"))`(Zeta, _a, tau)^2+K__vxa*`#mover(mi("v"),mo("&uminus0;"))`(Zeta, _a, tau)^2+K__wxa*`#mover(mi("w"),mo("&uminus0;"))`(Zeta, _a, tau)^2+`K__φxa`*`#mover(mi("φ",fontstyle = "normal"),mo("&uminus0;"))`(Zeta, _a, tau)^2+`K__ψxa`*`#mover(mi("ψ",fontstyle = "normal"),mo("&uminus0;"))`(Zeta, _a, tau)^2, _a = -1 .. 1))+a*(Int(K__uy0*`#mover(mi("u"),mo("&uminus0;"))`(_a, eta, tau)^2+K__vyb*`#mover(mi("v"),mo("&uminus0;"))`(_a, eta, tau)^2+K__wyb*`#mover(mi("w"),mo("&uminus0;"))`(_a, eta, tau)^2+`K__φyb`*`#mover(mi("φ",fontstyle = "normal"),mo("&uminus0;"))`(_a, eta, tau)^2+`K__ψy0`*`#mover(mi("ψ",fontstyle = "normal"),mo("&uminus0;"))`(_a, eta, tau)^2, _a = -1 .. 1)+Int(K__uyb*`#mover(mi("u"),mo("&uminus0;"))`(_a, eta, tau)^2+K__vyb*`#mover(mi("v"),mo("&uminus0;"))`(_a, eta, tau)^2+K__wyb*`#mover(mi("w"),mo("&uminus0;"))`(_a, eta, tau)^2+`K__φyb`*`#mover(mi("φ",fontstyle = "normal"),mo("&uminus0;"))`(_a, eta, tau)^2+`K__ψyb`*`#mover(mi("ψ",fontstyle = "normal"),mo("&uminus0;"))`(_a, eta, tau)^2, _a = -1 .. 1)))*h^2







But I amezed when I use simplify command deteriorate my eq.



Hi all,


I am looking for a boolean logic check to see if a rational expression is simplified.

For example: x/x^2  =  1/x  I want something along the lines of issimplified(x/x^2)=FALSE

Similarily, (x^2-x-12)/(x-4) = x+3  so I would like some logic test to say (x^2-x-12)/(x-4) is NOT simplified.


Thanks in advance,


I am curious whether anyone here can come up with a way to simplify the expression x1 to 15*Pi/32 in fewer exact, symbolic steps. The following was performed in Maple 2016.2 for Linux.


x1 := arcsin(1/2*(2+(2+(2+2^(1/2))^(1/2))^(1/2))^(1/2));


x2 := evalc(convert(x1,expln));


x3 := convert(x2, expln);


# non-Pro wolframalpha can simplify x3 to 15*Pi/32 (but not x2 or x1).

x4 := combine(x3);


x5 := simplify(x4);


x6 := expand(x5);


x7 := combine(x6);




# It's a pity that last step worked while this next is inadequate.


# Another way, using x7


# Another way, using x7




I am new user of Maple, couldn’t find solution for my problem in the last two days therefore I would like to turn to your community with my question. I am trying to replicate the calculations from a study to be sure about my understanding of the topic.


I cannot simplify the final equation even though the variables with their values are given. A screenshot and the file are attached, that might make easier to understand my problem.

I know what the solution should be. I cannot simplify/replace the values in the equation to get a simpler form; [(D0 - d1c - R)/ 2d1)]+c


Thank you if you have the time to help.



Dear all,

I have the following problem: Maple does not simplify the denominator in the following example:

which gives


However, the result should be B. If only the denomiator is expanded it works: 



which equals the nominator except for the B...

How can I use simplify in order to yield the desired result? 

Thanks a lot!




if I use the command below, I will get the right answer.

`assuming`([simplify((2*I)*deltas*Pi*BW*Ei(1, (2*I)*deltas*Pi*BW)-(2*I)*deltas*Pi*BW*Ei(1, -(2*I)*deltas*Pi*BW))], [real, BW > 0, deltas > 0, ts > 0, deltas <= ts, 2*BW*ts >= 1])

and the answer is :


while I use the same command for the compliacated Ei function, it doesn't work any more, I don't know the reason.

 `assuming`([simplify(Ei(1, I*BW*Pi*deltas-(5*I)*BW*Pi*ts)-Ei(1, -I*BW*Pi*deltas+(5*I)*BW*Pi*ts), Ei)], [real, BW > 0, deltas > 0, ts > 0, deltas <= ts, 2*BW*ts >= 1])

 and it's reault is :



I have a Maple code which generates a matrix, saves it to a .txt file and this is then read in to a C++ program. I have hit a snag with these matrices, in that they are generating absolutely enourmous .txt files. I need to get to a 5000*5000 matrix yet a 200*200 is generating a 100MB file.

The matrix elements contain a lot of algebraic terms which I would like to keep general as these are defined in the C++ code. They also contain hypergeometric functions which in the example below I have left unsimplified (although they are simplified before reaching C++). I have tried various operations/combinations to simplify, but the file sizes still come out very large.

From previous experience expanding the expressions and then simplifying allows Maple to "do more" with it, but it does not seem to work in this instance. I have tried map(options,expr), simplify(expr,options), combine(expr,options), convert (expr,options) etc... The script attached only contains a small example 10*10 matrix on its own without the code which generates it due to the size of the code. What is the best way to simplify these matrices to generate the smallest .txt file?

Any help is appreciated.


Hello people in mapleprimes,

Please help me with simplifying the next expression.
This e1 has the expression of ((epsilon-1)*k/epsilon)^epsilon in the numerator and the denominator. How can I collect each of them with that expression?

Thanks in advance.




I started using Maple recently. The output sometime is not simplified like that in the attached picture. How can I simplify such expressions?

Hi all,

I'am new to Maple and have some very basic questions. Maple can figure out that the exponential is positive.

> is(exp(x)>0) assuming x::real;

But it cannot figure out that a sum of exponentials is positive too:

> is(sum(exp(x*i),i=1..N)>0) assuming x::real,N::integer,N>1;

What am I doing wrong? Moreover, what's wrong with this statement:

> is(ln(a+b)-ln(a)=ln(1-b/a)) assuming a::real,b::real,a>0,b>0,b<a;

Finally, is there a way to declare a generic fuction f and assume that its image is always a positive real?



I have been looking at a method for computing the inverse of a periodic, tridiagonal, matrix (tridiagonal with non-zero elements in (1,n) and (n,1), where n is the order of the matrix).

Using test matrices with rational elements I get a good improvement in execution time compared to Maple's MatrixInverse procedure from LinearAlgebra. However when I use algebraic elements I get faster times with small orders but from around
n=25 (for a particular example matrix) my method is running slower than MatrixInverse.

If I look at the element (1,1) of the inverse returned by both procedures I see that the Maple inverse is quite compact while the value returned by my procedure is very complex (on printing Maple extracts 17 subexpressions of varying complexity). I
have a check in the test rig to determine if the two inverses are the same; this uses


and all the elements do agree.

The Maple MatrixInverse appears to be able to simplify the elements of the inverse; is this a feature of the algorithm that's being used or is there some mechanism I should be using to achieve this?

The source code of the procedure I've written (first 100 odd lines) and the test rig are attached. The file is set up to run the algebraic test (Test4) for n=20 and to print the (1,1) inverse elements generated by both the Maple and my procedures.

Any help in improving my code to produce simplified forms of the elements would be greatfully received.

Maple source as text file: KilicInv.txt


I have a question here. Is there any way to simplify a complicated number expressed in terms of RootOf() forms?

I got numbers like


I am quite sure this number is 0: 
evalf(c, 100) gives:

However, I tried simplify(c) and convert( c, 'radical' ) and some other choices of simplify() function. None of them can output 0. Is there any maple functions that can help me to simplify this kind of expressions?




I need a function like this:


    f := proc (n) options operator, arrow; sum(i, i = 1 .. n) end proc

proc (n) options operator, arrow; sum(i, i = 1 .. n) end proc


But I know that the sum actually simplifes.

simplify(sum(i, i = 1 .. n))



So I actually want define my function as

f := proc (n) options operator, arrow; (1/2)*n^2+(1/2)*n end proc

proc (n) options operator, arrow; (1/2)*n^2+(1/2)*n end proc


Is there any way to do this with programming instead of copying the result of simplify manually?




I've just started to use Maple 16, and I can't seem to get a neat result, when I use the solve function to solve 4 equations with 4 unknown constants.

I've posted my calculations.


How can I get a simpler result? I found a simplification command, but that didn't help

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