Unanswered Questions

This page lists MaplePrimes questions that have not yet received an answer

Dear Users!

I hope everyone here is fine. In the attached file I have a list of points in three dimensions. I want to plot surfaceplot (also in Dimension=2) of only those points which are less than 1.

But I want to plot the density plot for all points with the range on x-axes 5 to 15 and the range on y-axes 50-1000

Help.mw

May be someone can come up with a way to simplify this ode solution? I used the option useInt but the solution can be written in much simpler way than Maple gives.  Below is worksheet showing Maple's 2024 solution and my hand solution.

(having trouble uploading worksheet, will try again).


 

144036

ode:=diff(y(x),x)^3=y(x)+x

(diff(y(x), x))^3 = y(x)+x

maple_sol:=dsolve(ode,useInt):
maple_sol:=Vector([maple_sol]);

Vector(3, {(1) = x-Intat(3*_a^2/(_a+1), _a = (y(x)+x)^(1/3))-_C1 = 0, (2) = x-Intat(3*_a^2/(_a+1), _a = -(1/2)*(y(x)+x)^(1/3)-((1/2)*I)*sqrt(3)*(y(x)+x)^(1/3))-_C1 = 0, (3) = x-Intat(3*_a^2/(_a+1), _a = -(1/2)*(y(x)+x)^(1/3)+((1/2)*I)*sqrt(3)*(y(x)+x)^(1/3))-_C1 = 0})

mysol1:= Intat(1/(_a^(1/3) + 1), _a = (y(x) + x))=x+_C1:
mysol2:= Intat(1/( -(-1)^(1/3)*_a^(1/3) + 1), _a = (y(x) + x))=x+_C1:
mysol3:= Intat(1/( (-1)^(2/3)*_a^(1/3) + 1), _a = (y(x) + x))=x+_C1:
mysol:=Vector([mysol1,mysol2,mysol3]);

 

Vector(3, {(1) = Intat(1/(1+_a^(1/3)), _a = y(x)+x) = x+_C1, (2) = Intat(1/(-(-1)^(1/3)*_a^(1/3)+1), _a = y(x)+x) = x+_C1, (3) = Intat(1/((-1)^(2/3)*_a^(1/3)+1), _a = y(x)+x) = x+_C1})

map(X->odetest(X,ode),mysol)

 

Vector(3, {(1) = 0, (2) = 0, (3) = 0})

 


 

Download simpler_solution.mw

I keep losing the edits I do. I post screen shot. Click submit, then find all my changes are lost. Will try one more time and give up:

This is Maple solution

This is implified version

 

Both versions are verified correct by odetest. The question is there is a way to obtain the simpler form from Maple.

 

When I calculate the edge values of a matrix the result is lengthy expression that could be simplified if evaluated numerically, Why is that not done? 

THis ode looks complicated

ode := (2*x^(5/2) - 3*y(x)^(5/3))/(2*x^(5/2)*y(x)^(2/3)) + ((-2*x^(5/2) + 3*y(x)^(5/3))*diff(y(x), x))/(3*x^(3/2)*y(x)^(5/3)) = 0;

But is actually a simple first order linear ode:

RHS:=solve(ode,diff(y(x),x));
new_ode:=diff(y(x),x)=RHS;

Whose solution is 

But Maple gives this very complicated answer as shown below. When asking it to solve as linear ode, it now gives the much simpler solution.  

Maple complicated solutions are all verified OK. But the question is, why did it not give this simple solution?

Attached worksheet.  All on Maple 2024


 

204152

restart;

204152

interface(version);

`Standard Worksheet Interface, Maple 2024.0, Windows 10, March 01 2024 Build ID 1794891`

Physics:-Version();

`The "Physics Updates" version in the MapleCloud is 1700. The version installed in this computer is 1693 created 2024, March 7, 17:27 hours Pacific Time, found in the directory C:\Users\Owner\maple\toolbox\2024\Physics Updates\lib\`

ode := (2*x^(5/2) - 3*y(x)^(5/3))/(2*x^(5/2)*y(x)^(2/3)) + ((-2*x^(5/2) + 3*y(x)^(5/3))*diff(y(x), x))/(3*x^(3/2)*y(x)^(5/3)) = 0;

(1/2)*(2*x^(5/2)-3*y(x)^(5/3))/(x^(5/2)*y(x)^(2/3))+(1/3)*(-2*x^(5/2)+3*y(x)^(5/3))*(diff(y(x), x))/(x^(3/2)*y(x)^(5/3)) = 0

DEtools:-odeadvisor(ode);

[[_1st_order, _with_linear_symmetries], _exact, _rational]

#why such complicated solutions?
sol:=[dsolve(ode)];

[y(x) = (1/3)*2^(3/5)*3^(2/5)*(x^(5/2))^(3/5), y(x) = (1/3)*(-(1/4)*5^(1/2)-1/4-((1/4)*I)*2^(1/2)*(5-5^(1/2))^(1/2))^3*2^(3/5)*3^(2/5)*(x^(5/2))^(3/5), y(x) = (1/3)*(-(1/4)*5^(1/2)-1/4+((1/4)*I)*2^(1/2)*(5-5^(1/2))^(1/2))^3*2^(3/5)*3^(2/5)*(x^(5/2))^(3/5), y(x) = (1/3)*((1/4)*5^(1/2)-1/4-((1/4)*I)*2^(1/2)*(5+5^(1/2))^(1/2))^3*2^(3/5)*3^(2/5)*(x^(5/2))^(3/5), y(x) = (1/3)*((1/4)*5^(1/2)-1/4+((1/4)*I)*2^(1/2)*(5+5^(1/2))^(1/2))^3*2^(3/5)*3^(2/5)*(x^(5/2))^(3/5), x/y(x)^(2/3)+y(x)/x^(3/2)+c__1 = 0]

#all solution are correct
map(X->odetest(X,ode),sol);

[0, 0, 0, 0, 0, 0]

RHS:=solve(ode,diff(y(x),x));
new_ode:=diff(y(x),x)=RHS;

(3/2)*y(x)/x

diff(y(x), x) = (3/2)*y(x)/x

dsolve(new_ode);

y(x) = c__1*x^(3/2)

#force it to solve it as first order linear ode
dsolve(ode,y(x),[`linear`])

y(x) = c__1*x^(3/2)


 

Download why_missed_simple_solution_march_17_2024.mw

I cannot figure out which operand(?) is substituded here

subs(1 = 2, a*b);
                              2  2
                             a  b 

Same for

subs(1 = 3, a + b);
                           3 a + 3 b

but

subs(1 = 2, a/b);
                                2
                               a 
                               --
                               b 

subs(1 = 3, a - b);
                            3 a - b

Is this by design?

Maple's coulditbe  is useful. But unfortunately it does not return back to the user the conditions under which the proposition was found true. This could make it much more useful. It seems in way similar to Mathematica' Reduce but Reduce returns the conditions.

Is there a way to find the conditions which makes it true? 

I use coulditbe alot. I use it to verify that the result of odetest (I call it the residue) is zero or not. Maytimes, odetest does not return zero. And using simplify, or evalb or is to check if the residue is zero, all fail. But many times, coulditbe returns true, meaning the residue is zero. But I do not know under what conditions. In Mathematica's Reduce, it tells me the conditions. 

Here is one of hundreds of examples I have

restart;
ode:=(t^3+y(t)^2*sqrt(t^2+y(t)^2))-(t*y(t)*sqrt(t^2+y(t)^2))*diff(y(t),t)=0;
ic:=y(1)=1;
sol:=dsolve([ode,ic]);
the_residue:=odetest(sol,[ode,ic]);

You see, odetest says it could not verify the solution (the first entry above) but it did verify the solution against the initial conditions. 

Using simplify, evalb and is all also could not verify it

simplify(the_residue[1]);
evalb(the_residue[1]=0);
is(the_residue[1]=0);

Now coulditbe does:

_EnvTry:='hard':
coulditbe(the_residue[1]=0);

So the solution is correct, but I do not know under what conditions. Using Mathematica's Reduce I can find this:

So now back in Maple, I can do this

simplify(the_residue[1]) assuming t>exp(-2*sqrt(2)/3);

                      0

Actually in this example, just using assume t>0 also gives zero. But I am using Mathematica's result for illustration.

You might ask, why do I need to know for what values of the independent variable is the residue zero?

Because in some cases, the residue is zero only at single point! So it does not make sense to say the solution is verified to be correct only at one single point of the domain, right?

it needs to be some finite range at least. Here is an example of an ode whose solution is correct only at x=0

ode:=diff(y(x),x)=3*x*(y(x)-1)^(1/3);
ic:=y(3)=-7;
sol:=dsolve([ode,ic]);
the_residue:=odetest(sol,[ode,ic]);

And simplify, evalb, is all fail to verifiy this, but coulditbe says true

simplify(the_residue[1]);
evalb(the_residue[1]=0);
is(the_residue[1]=0);
_EnvTry:='hard':
coulditbe(the_residue[1]=0);

So now, we ask, is this solution then correct or not? It turns out to be zero but only at origin x=0

plot(abs(the_residue[1]),x=-1..1)

If I knew that residue is zero only at single point, then I would say this solution is not correct, right?

And that is why I need to know under what conditions coulditbe retruned true.

I tried infolevel[coulditbe]:=5 but nothing more was displayed on the screen.

Mathematica's Reduce confirms that when x=0 the residue is zero.

So my question is simply this: Can one obtain the conditions used by coulditbe to determine when result is true?

It will be useful if Maple could in future version return the value/range which makes it true.

 

I asked a question a while ago

https://www.mapleprimes.com/questions/235734-How-Can-The-Functional-Derivativevariation

Which did not get any immediate responses but one late one which i had replied to, but nothing else since then. 

Is it appropriate to delete and repost and try to get more responses/exposure and see if anyone else has any ideas? 

Since @ecterrab is the one who responded I consider this an interesting problem that I would like to continue discussing. 

Hi,

I am trying to convert from MapleSim to Simulink Matlab by using the S-function code Generation connector, but I got the above message when I uploaded the selected subsystem and I have no idea how can I fix it. Please help me

Hi!

I am trying to implement the algorithms given in this paper (free for download) in Maple 2015

https://www.researchgate.net/publication/374636058_A_simple_algorithm_for_computing_a_multi-dimensional_the_Sierpinski_space-filling_curve_generalization

Such algorithms, apparently very easy, provides an approximation of  a sapce-filling curve and its pseudo-inverse. I am interesting in this space--filling curve for its properties. Please, find attached the Maple file, I am not sure if the code of the paper is not fine or I am doing something wrong. 

Many thanks un advsnce for your help

Sierp_v1.mw

How to solve and plot a ODE system in RK method.
eq1 := diff(f(x), x, x, x)-(1/2)*Sc*sin(alpha)*g(x)*(diff(g(x), x, x))+(1/2)*x*cos(alpha)*(diff(f(x), x, x))+(1/2)*sin(alpha)*f(x)*(diff(f(x), x, x)) = 0; eq2 := (diff(g(x), x, x, x))/Pm+(1/2)*x*cos(alpha)*(diff(g(x), x, x))+sin(alpha)*f(x)*(diff(g(x), x, x))-sin(alpha)*(diff(f(x), x, x))*g(x) = 0; eq3 := (diff(theta(x), x, x))/Pr+(1/2)*x*cos(alpha)*(diff(theta(x), x))+(1/2)*x*(diff(f(x), x))*(diff(theta(x), x))+sin(alpha)*(x*(diff(f(x), x))-f(x))*(diff(theta(x), x))-Nb*(diff(s(x), x))*(diff(theta(x), x))-Nt*(diff(theta(x), x))^2+(1/4)*Sc*Br*sin(alpha)^2*(diff(f(x), x))^2*(x*(diff(g(x), x))-g(x))+(diff(g(x), x))^2*(x*(diff(f(x), x))-f(x)) = 0; eq4 := diff(s(x), x, x)+S*((1/2)*cos(alpha)*x*(diff(s(x), x))+(1/2)*sin(alpha)*f(x)*(diff(s(x), x)))+Nt*(diff(theta(x), x, x))/Nb = 0

ics := f(0) = 0, (D(f))(0) = 1, g(0) = 0, (D(g))(0) = 1, theta(0) = 1, s(0) = 1; bcs := (D(f))(100) = 0, (D(g))(100) = 0, theta(100) = 0, s(100) = 0

alpha = - 30 degree, Sc = 1.0, Pm = .1, Pr = 6.2, Nb = .1, Nt = .1, Br = .5, S = 1

Hi, I have an homework where I need to find the highest point and the lowest point on an ellipse form by the intersection of two equations wich are 4x-3y+8z=5 and z^2=x^2+y^2 and I have to use the LagrangeMultiplier command. I get how it works but I can't get the correct form. How should I do it ? 

Is it possible overlay one column graph on top of another ? And if, how do I do it?

Regards

I have here a function  
                           "sin(x)/x"

and suppose sin(x)/x = 0 
Can I now use MapleAI to retrieve the correct command for this in Maple..could I?

The intersection points with the x-axis are positive and negative multiples of Pi
I have put these in an ordered list, but Maple gives this:
For x domain = -20...20 
X := {x = Pi}, {x = 2*Pi}, {x = 3*Pi}, {x = 4*Pi}, {x = 5*Pi}, {x = 6*Pi}, {x = -6*Pi}, {x = -5*Pi}, {x = -4*Pi}, {x = -3*Pi}, {x = -2*Pi}, {x = -Pi};

 
X := sort(eval~(x, [X]));
 X := [, -6 Pi, -5 Pi, -4 Pi, -3 Pi, -2 Pi, -Pi, 2 Pi, 3 Pi, 4 Pi, 5 Pi, 6 Pi]


A strange ranking that Maple comes up with ? 

with(NaturalLanguage);
        [Explain, GetCommand, GetMath, Query, RawQuery]



GetCommand("give for Maple solve command all options?");
            "solve(equations, variables, options);"

Explain("give for Maple solve command all options?");

"Maple is a symbolic and numeric computing environment. Its 

   "solve" command is used to find solutions (roots) of a given 

   equation or a system of equations.
  

  There are a number of options (or "parameters") which can be 

   specified in this command to alter its behavior:

  

  1. `Allsolutions`: This option makes Maple to generate all 

   possible solutions of an equation.

  

  2. `Real`: This option only provides the real solutions. If 

   equations do not have real solutions, it will return an 

   empty set.

  

  3. `Positive`: It only includes positive solutions in the 

   output.

  

  4. `explicit`: If specified, Maple attempts to isolate roots 

   and provide an explicit solution for each variable.

  

  5. `assume = real`: This option restrict the solutions to 

   only real numbers.

  

  6. `parametric`: This option allows Maple to write the 

   solutions in a parametric form. 

  

  7. `avoid ={x = a}`: This option makes solve exclude the 

   possibility `x = a` as a solution.

  

  8. `MaxDegree = d`: This option allows you to limit the 

   degree of the polynomial equations to be considered.

  

  9. `maxdepth = d`: This sets a limit on recursive depth to 

   which the computation should go to seek a solution.

  

  10. `multiplicities`: This option reports multiplicity of the 

   roots.

  

  11. `solutions = vars`: This option tells Maple to look for 

   solutions for specific variables.

  

  12. `numeric`: This option makes solve find a numeric 

   solution to the equation.

  

  13. `symbolic`: This option makes solve find a symbolic 

   solution to the equation.

  

  14. `simplify`: This option simplifies the solutions returned 

   by solve.

  

  15. `sqrt`: This option allows square roots in the output.

  

  It is important to note that not all options are suited for 

   use with all types of equations. Also, the "solve" command 

   in Maple can be occasionally limited by the complexity of 

   the equation, and may sometimes fail to find solutions that 

   more specialized software or methods can find."



 

 

I am trying to solve the following set of equations, I am able to find solutions for a simplified case (b=0) using the command solve but cannot seem to solve it for general b.

Is there a better way to attempt to find a solution?
solve.mw

restart

eqn := [(2*((q*r*a3^2-(1/2)*b^2*a3^2-(1/2)*r^2*a3^2-(1/2)*a2^2)*b^4*cos(theta)^4+(2*((q*r-(1/4)*b^2-(1/4)*r^2)*(b^2+r^2)*a4^2*sin(theta)^2-(1/2)*r^4*a3^2+q*r^3*a3^2+(1/2)*(1/2-b^2*a3^2+(1/2)*a1^2-a2^2)*r^2-(1/2)*q*(a1^2+1)*r+(1/4)*b^2*(a1^2+1)))*b^2*cos(theta)^2+2*r*(q^2*sin(theta)^4*b^2*r*a4^2-2*a4*((1/8)*a4*r^5-(1/4)*q*a4*r^4+(1/4)*b^2*a4*r^3-(1/2)*q*b*a1*r^2+b*((1/8)*b^3*a4+q^2*a1)*r+(1/4)*q*b^3*(a4*b-2*a1))*sin(theta)^2-(1/4)*r^5*a3^2+(1/2)*q*r^4*a3^2+(1/4)*(-a3^2*b^2+a1^2-a2^2+1)*r^3+q*(-a1^2-1/2)*r^2+((1/4)*b^2*(a1^2+1)+q^2*a1^2)*r-(1/2)*q*b^2*a1^2)))/((r^2+b^2*cos(theta)^2)*(-b^2+2*q*r-r^2)), (2*((q*r*s3^2-(1/2)*b^2*s3^2-(1/2)*r^2*s3^2-(1/2)*s2^2)*b^4*cos(theta)^4+(2*((q*r-(1/4)*b^2-(1/4)*r^2)*(b^2+r^2)*s4^2*sin(theta)^2-(1/2)*r^4*s3^2+q*r^3*s3^2+(1/2)*(1/2-b^2*s3^2+(1/2)*s1^2-s2^2)*r^2-(1/2)*q*(s1^2+1)*r+(1/4)*b^2*(s1^2+1)))*b^2*cos(theta)^2+2*r*(q^2*sin(theta)^4*b^2*r*s4^2-2*s4*((1/8)*r^5*s4-(1/4)*q*r^4*s4+(1/4)*b^2*r^3*s4-(1/2)*q*b*r^2*s1+b*((1/8)*b^3*s4+q^2*s1)*r+(1/4)*q*b^3*(b*s4-2*s1))*sin(theta)^2-(1/4)*r^5*s3^2+(1/2)*q*r^4*s3^2+(1/4)*(-b^2*s3^2+s1^2-s2^2+1)*r^3+q*(-s1^2-1/2)*r^2+((1/4)*b^2*(s1^2+1)+q^2*s1^2)*r-(1/2)*q*b^2*s1^2)))/((r^2+b^2*cos(theta)^2)*(-b^2+2*q*r-r^2)), (2*((1/2)*s2*sqrt(b^4*cos(theta)^4+8*q*sin(theta)^2*b^2*r+2*b^2*cos(theta)^2*r^2+r^4)+(q*r-(1/2)*b^2-(1/2)*r^2)*(b*sin(theta)^2*s4+s1)))/(-b^2+2*q*r-r^2), (2*((1/2)*a2*sqrt(b^4*cos(theta)^4+8*q*sin(theta)^2*b^2*r+2*b^2*cos(theta)^2*r^2+r^4)+(q*r-(1/2)*b^2-(1/2)*r^2)*(b*sin(theta)^2*a4+a1)))/(-b^2+2*q*r-r^2), (sqrt(b^4*cos(theta)^4+8*q*sin(theta)^2*b^2*r+2*b^2*cos(theta)^2*r^2+r^4)*n2+(2*(1+sin(theta)^2*b*n4+n1))*(q*r-(1/2)*b^2-(1/2)*r^2))/(-b^2+2*q*r-r^2), (2*(b^4*(q*s3*r*a3-(1/2)*s3*b^2*a3-(1/2)*s3*r^2*a3-(1/2)*a2*s2)*cos(theta)^4+(2*((q*r-(1/4)*b^2-(1/4)*r^2)*(b^2+r^2)*s4*a4*sin(theta)^2-(1/2)*s3*r^4*a3+q*s3*r^3*a3+(1/2)*(-s3*b^2*a3+(1/2)*a1*s1-a2*s2)*r^2-(1/2)*q*r*a1*s1+(1/4)*b^2*a1*s1))*b^2*cos(theta)^2+(2*(q^2*s4*sin(theta)^4*b^2*r*a4+(-(1/4)*s4*r^5*a4+(1/2)*q*s4*r^4*a4-(1/2)*s4*b^2*r^3*a4+(1/2)*q*b*(a1*s4+a4*s1)*r^2-b*((1/4)*s4*b^3*a4+q^2*(a1*s4+a4*s1))*r-(1/2)*q*b^3*(a4*b*s4-a1*s4-a4*s1))*sin(theta)^2-(1/4)*s3*r^5*a3+(1/2)*q*s3*r^4*a3+(1/4)*(-a3*b^2*s3+a1*s1-a2*s2)*r^3-q*r^2*a1*s1+a1*s1*(q^2+(1/4)*b^2)*r-(1/2)*q*b^2*a1*s1))*r))/((r^2+b^2*cos(theta)^2)*(-b^2+2*q*r-r^2)), (2*((1/2)*a2*sqrt(b^4*cos(theta)^4+8*q*sin(theta)^2*b^2*r+2*b^2*cos(theta)^2*r^2+r^4)+(q*r-(1/2)*b^2-(1/2)*r^2)*(b*sin(theta)^2*a4+a1)))/(-b^2+2*q*r-r^2), (2*(b^4*(q*n3*r*a3-(1/2)*n3*b^2*a3-(1/2)*n3*r^2*a3-(1/2)*a2*n2)*cos(theta)^4+(2*((q*r-(1/4)*b^2-(1/4)*r^2)*(b^2+r^2)*n4*a4*sin(theta)^2-(1/2)*n3*r^4*a3+q*n3*r^3*a3+(1/2)*(-n3*b^2*a3+(1/2)*a1*n1-a2*n2)*r^2-(1/2)*q*r*a1*n1+(1/4)*b^2*a1*n1))*b^2*cos(theta)^2+(2*(q^2*n4*sin(theta)^4*b^2*r*a4+(-(1/4)*n4*r^5*a4+(1/2)*q*n4*r^4*a4-(1/2)*n4*b^2*r^3*a4+(1/2)*q*b*(a1*n4+a4*n1)*r^2-b*((1/4)*n4*b^3*a4+q^2*(a1*n4+a4*n1))*r-(1/2)*q*b^3*(a4*b*n4-a1*n4-a4*n1))*sin(theta)^2-(1/4)*n3*r^5*a3+(1/2)*q*n3*r^4*a3+(1/4)*(-a3*b^2*n3+a1*n1-a2*n2)*r^3-q*r^2*a1*n1+a1*n1*(q^2+(1/4)*b^2)*r-(1/2)*q*b^2*a1*n1))*r))/((r^2+b^2*cos(theta)^2)*(-b^2+2*q*r-r^2)), (2*(b^4*(q*s3*r*n3-(1/2)*s3*b^2*n3-(1/2)*s3*r^2*n3-(1/2)*n2*s2)*cos(theta)^4+(2*((q*r-(1/4)*b^2-(1/4)*r^2)*(b^2+r^2)*s4*n4*sin(theta)^2-(1/2)*s3*r^4*n3+q*s3*r^3*n3+(1/2)*(-s3*b^2*n3+(1/2)*n1*s1-n2*s2)*r^2-(1/2)*q*r*n1*s1+(1/4)*b^2*n1*s1))*b^2*cos(theta)^2+(2*(q^2*s4*sin(theta)^4*b^2*r*n4+(-(1/4)*s4*r^5*n4+(1/2)*q*s4*r^4*n4-(1/2)*s4*b^2*r^3*n4+(1/2)*q*b*(n1*s4+n4*s1)*r^2-b*((1/4)*s4*b^3*n4+q^2*(n1*s4+n4*s1))*r-(1/2)*q*b^3*(b*n4*s4-n1*s4-n4*s1))*sin(theta)^2-(1/4)*s3*r^5*n3+(1/2)*q*s3*r^4*n3+(1/4)*(-b^2*n3*s3+n1*s1-n2*s2)*r^3-q*r^2*n1*s1+n1*s1*(q^2+(1/4)*b^2)*r-(1/2)*q*b^2*n1*s1))*r))/((r^2+b^2*cos(theta)^2)*(-b^2+2*q*r-r^2)), (2*((q*r*n3^2-(1/2)*b^2*n3^2-(1/2)*r^2*n3^2-(1/2)*n2^2)*b^4*cos(theta)^4+(2*((q*r-(1/4)*b^2-(1/4)*r^2)*(b^2+r^2)*n4^2*sin(theta)^2-(1/2)*r^4*n3^2+q*r^3*n3^2+(1/2)*(-b^2*n3^2+(1/2)*n1^2-n2^2)*r^2-(1/2)*q*r*n1^2+(1/4)*b^2*n1^2))*b^2*cos(theta)^2+2*r*(q^2*sin(theta)^4*b^2*r*n4^2-2*n4*((1/8)*n4*r^5-(1/4)*q*n4*r^4+(1/4)*n4*b^2*r^3-(1/2)*q*b*r^2*n1+b*((1/8)*n4*b^3+q^2*n1)*r+(1/4)*q*b^3*(b*n4-2*n1))*sin(theta)^2-(1/4)*r^5*n3^2+(1/2)*q*r^4*n3^2+(1/4)*(-b^2*n3^2+n1^2-n2^2)*r^3-q*r^2*n1^2+n1^2*(q^2+(1/4)*b^2)*r-(1/2)*q*b^2*n1^2)))/((r^2+b^2*cos(theta)^2)*(-b^2+2*q*r-r^2)), -(32*(((1/8)*(b*(-a2*a4+s2*s4)*(q-r)*sin(theta)^2+q*(a1*a2-s1*s2))*(q*r-(1/2)*b^2-(1/2)*r^2)*b^6*cos(theta)^6-(1/4)*b^4*((q*b^2-(3/2)*q*r^2+(3/2)*r^3)*(q*r-(1/2)*b^2-(1/2)*r^2)*(-a2*a4+s2*s4)*b*sin(theta)^2+(a1*a2-s1*s2)*q*(q*b^2*r+(1/2)*q*r^3-(1/2)*b^4-(3/4)*b^2*r^2))*cos(theta)^4+(b*(-a3*a4+s3*s4)*sin(theta)^2-s3*s1+a3*a1)*r*q*(q*r-(1/2)*b^2-(1/2)*r^2)^2*b^4*sin(theta)*cos(theta)^3+(1/8)*(7*(((1/14)*(3*(-a2*a4+s2*s4))*r^3-13*q*(-a2*a4+s2*s4)*r^2*(1/14)+(q^2+3*b^2*(1/14))*(-a2*a4+s2*s4)*r-(1/2)*q*b*(b*(-a2*a4+s2*s4)+(1/7)*a2*a1-(1/7)*s1*s2))*b*sin(theta)^2-(1/7)*r*(a1*a2-s1*s2)*(q-(1/2)*r)*q))*r^4*b^2*cos(theta)^2+(b*(-a3*a4+s3*s4)*sin(theta)^2-s3*s1+a3*a1)*r^3*q*(q*r-(1/2)*b^2-(1/2)*r^2)^2*b^2*sin(theta)*cos(theta)+(1/4)*(((1/4)*(-a2*a4+s2*s4)*r^5-7*q*(-a2*a4+s2*s4)*r^4*(1/4)+(1/2)*(5*(q^2+(1/10)*b^2))*(-a2*a4+s2*s4)*r^3-7*q*b^2*(-a2*a4+s2*s4)*r^2*(1/4)+q^2*b^2*(-a2*a4+s2*s4)*r-(1/2)*q*(b*(-a2*a4+s2*s4)+a2*a1-s1*s2)*b^3)*b*sin(theta)^2+r*(a1*a2-s1*s2)*(q*b^2+(1/2)*q*r^2-(3/4)*b^2*r-(1/4)*r^3)*q)*r^4)*sqrt(b^4*cos(theta)^4+8*q*sin(theta)^2*b^2*r+2*b^2*cos(theta)^2*r^2+r^4)-(1/32)*q*b^10*(a2-s2)*(a2+s2)*cos(theta)^10+(1/8)*b^8*((2*((1/8)*(-a4^2+s4^2)*r^4+5*q*(a4^2-s4^2)*r^3*(1/8)+(s4-a4)*(s4+a4)*(q^2+(1/4)*b^2)*r^2-3*q*b^2*(s4-a4)*(s4+a4)*r*(1/4)+(1/8)*((-a4^2+s4^2)*b^2-a2^2+s2^2)*b^2))*r*sin(theta)^2+(1/4)*(-a3^2+s3^2)*r^5+(a3^2-s3^2)*q*r^4+((1/2)*b^2+q^2)*(s3-a3)*(s3+a3)*r^3-((-a3^2+s3^2)*b^2+7*a2^2*(1/4)-7*s2^2*(1/4))*q*r^2+(1/4)*b^4*(-a3^2+s3^2)*r+q*b^2*(a2-s2)*(a2+s2))*cos(theta)^8+(1/2)*r*q*(q*r-(1/2)*b^2-(1/2)*r^2)*b^8*sin(theta)*(-a2*a3+s2*s3)*cos(theta)^7+(1/8)*((s4-a4)*(s4+a4)*(q*r-(1/2)*b^2)^2*q*b^2*sin(theta)^4+((-a4^2+s4^2)*r^7+25*q*(a4^2-s4^2)*r^6*(1/4)+(15*(s4-a4))*(s4+a4)*(q^2+2*b^2*(1/15))*r^5-33*q*b*((-a4^2+s4^2)*b+2*s1*s4*(1/33)-2*a1*a4*(1/33))*r^4*(1/4)+((-a4^2+s4^2)*b^4+((12*(-a4^2+s4^2))*q^2-a2^2+s2^2)*b^2+2*q^2*(-a1*a4+s1*s4)*b)*r^3-(2*((1/8)*(7*(-a4^2+s4^2))*b^3+(1/2)*(-a1*a4+s1*s4)*b^2+q^2*(-a1*a4+s1*s4)))*q*b*r^2+2*q^2*b^3*(-a1*a4+s1*s4)*r-(1/2)*q*b^5*(-a1*a4+s1*s4))*sin(theta)^2+(-a3^2+s3^2)*r^7+(6*(a3^2-s3^2))*q*r^6+(12*(q^2+(1/6)*b^2))*(s3-a3)*(s3+a3)*r^5-(8*((-a3^2+s3^2)*b^2+(1/32)*a1^2+11*a2^2*(1/16)-(1/32)*s1^2-11*s2^2*(1/16)))*q*r^4+(b^4*(-a3^2+s3^2)+8*q^2*(-a3^2+s3^2)*b^2+q^2*(a1^2-s1^2))*r^3-(2*b^4*(-a3^2+s3^2)+((1/2)*a1^2-2*a2^2-(1/2)*s1^2+2*s2^2)*b^2+q^2*(a1^2-s1^2))*q*r^2+q^2*b^2*(a1-s1)*(a1+s1)*r-(1/4)*q*b^4*(a1^2+4*a2^2-s1^2-4*s2^2))*b^6*cos(theta)^6-r*q*(q*r-(1/2)*b^2-(1/2)*r^2)*(b^2-(1/2)*r^2)*b^6*sin(theta)*(-a2*a3+s2*s3)*cos(theta)^5+r*b^4*((s4-a4)*(s4+a4)*(q*b^2*r+(17/8)*q*r^3-(1/4)*b^4)*q^2*b^2*sin(theta)^4+((1/16)*(3*(-a4^2+s4^2))*r^8+39*q*(a4^2-s4^2)*r^7*(1/32)+(1/8)*(19*(s4-a4))*(s4+a4)*(q^2+3*b^2*(1/19))*r^6-45*q*b*((-a4^2+s4^2)*b+2*s1*s4*(1/45)-2*a1*a4*(1/45))*r^5*(1/32)-(1/4)*((1/4)*(3*(a4^2-s4^2))*b^2+(-a4^2+s4^2)*q^2+3*a2^2*(1/4)-3*s2^2*(1/4))*b^2*r^4+((1/32)*(3*(-a4^2+s4^2))*b^3+(1/8)*(a1*a4-s1*s4)*b^2+q^2*(-a3^2+s3^2)*b-9*q^2*(-a1*a4+s1*s4)*(1/4))*q*b*r^3-(1/8)*(19*((-a4^2+s4^2)*b^2+(1/19)*(10*(a1*a4-s1*s4))*b+4*a2^2*(1/19)-4*s2^2*(1/19)))*q^2*b^2*r^2-(2*((1/64)*(9*(a4^2-s4^2))*b^3+(1/32)*(-a1*a4+s1*s4)*b^2+q^2*(-a1*a4+s1*s4)))*q*b^3*r+(1/2)*q^2*b^5*(-a1*a4+s1*s4))*sin(theta)^2+(1/16)*(3*(-a3^2+s3^2))*r^8+5*q*(a3^2-s3^2)*r^7*(1/4)+(1/4)*(11*(q^2+3*b^2*(1/22)))*(s3-a3)*(s3+a3)*r^6-(1/2)*(3*((-a3^2+s3^2)*b^2+(1/48)*a1^2+13*a2^2*(1/24)-(1/48)*s1^2-13*s2^2*(1/24)))*q*r^5+(q^2+3*b^2*(1/16))*(s3-a3)*(s3+a3)*b^2*r^4-(1/8)*(9*((1/9)*((1/2)*a1^2-4*a2^2-(1/2)*s1^2+4*s2^2)*b^2+q^2*(a1^2-s1^2)))*q*r^3-((-a3^2+s3^2)*b^2-5*a1^2*(1/8)+5*s1^2*(1/8))*q^2*b^2*r^2-q*b^2*((1/4)*(a3^2-s3^2)*b^4+(1/8)*((1/4)*a1^2+a2^2-(1/4)*s1^2-s2^2)*b^2+q^2*(a1^2-s1^2))*r+(1/4)*q^2*b^4*(a1-s1)*(a1+s1))*cos(theta)^4-(2*(b^2+(1/4)*r^2))*r^3*q*(q*r-(1/2)*b^2-(1/2)*r^2)*b^4*sin(theta)*(-a2*a3+s2*s3)*cos(theta)^3+(q^4*b^4*r^2*(s4-a4)*(s4+a4)*sin(theta)^6-(2*(7*q*(a4^2-s4^2)*r^5*(1/16)+3*b*(-a1*a4+s1*s4)*r^4*(1/8)+q*b^2*(s4-a4)*(s4+a4)*r^3+q^2*(-a1*a4+s1*s4)*b*r^2+(1/2)*q*b^4*(s4-a4)*(s4+a4)*r+(1/8)*b^6*(a4^2-s4^2)))*q^2*b^2*sin(theta)^4+((1/8)*(-a4^2+s4^2)*r^10+23*q*(a4^2-s4^2)*r^9*(1/32)+(1/8)*(11*(s4-a4))*(s4+a4)*(q^2+2*b^2*(1/11))*r^8-(1/32)*(15*((-a4^2+s4^2)*b-2*s1*s4*(1/15)+2*a1*a4*(1/15)))*q*b*r^7-(1/2)*((1/4)*(a4^2-s4^2)*b^3+((-a4^2+s4^2)*q^2+(1/4)*a2^2-(1/4)*s2^2)*b+3*q^2*(-a1*a4+s1*s4)*(1/2))*b*r^6+(2*((1/64)*(23*(-a4^2+s4^2))*b^3+(1/16)*(-a1*a4+s1*s4)*b^2+q^2*(-a3^2+s3^2)*b+9*q^2*(-a1*a4+s1*s4)*(1/8)))*q*b*r^5-(1/8)*(5*((-a4^2+s4^2)*b^2+3*a1^2*(1/5)+8*a2^2*(1/5)-3*s1^2*(1/5)-8*s2^2*(1/5)))*q^2*b^2*r^4+4*q*((1/128)*(15*(-a4^2+s4^2))*b^3+(1/64)*(-a1*a4+s1*s4)*b^2+q^2*(-a1*a4+s1*s4))*b^3*r^3-((a4^2-s4^2)*b^4+(1/2)*(3*(-a1*a4+s1*s4))*b^3+q^2*(a1^2-s1^2))*q^2*b^2*r^2+2*q^3*b^5*(-a1*a4+s1*s4)*r-(1/2)*q^2*b^7*(-a1*a4+s1*s4))*sin(theta)^2+(1/8)*(-a3^2+s3^2)*r^10+3*q*(a3^2-s3^2)*r^9*(1/4)+(1/2)*(3*(q^2+(1/6)*b^2))*(s3-a3)*(s3+a3)*r^8-(1/2)*((-a3^2+s3^2)*b^2-(1/16)*a1^2+9*a2^2*(1/16)+(1/16)*s1^2-9*s2^2*(1/16))*q*r^7+((1/8)*b^4*(-a3^2+s3^2)+(a3^2-s3^2)*q^2*b^2+3*q^2*(-a1^2+s1^2)*(1/8))*r^6+9*q*(2*b^4*(-a3^2+s3^2)*(1/3)+(1/3)*((1/6)*a1^2+2*a2^2-(1/6)*s1^2-2*s2^2)*b^2+q^2*(a1^2-s1^2))*r^5*(1/8)+(2*(a3^2-s3^2))*q^2*b^4*r^4+2*q*((1/4)*b^4*(-a3^2+s3^2)+(1/16)*((1/4)*a1^2+a2^2-(1/4)*s1^2-s2^2)*b^2+q^2*(a1^2-s1^2))*b^2*r^3-3*q^2*b^4*(a1-s1)*(a1+s1)*r^2*(1/4)+q^3*b^4*(a1-s1)*(a1+s1)*r-(1/4)*q^2*b^6*(a1-s1)*(a1+s1))*r*b^2*cos(theta)^2-(b^2+(1/2)*r^2)*r^5*q*(q*r-(1/2)*b^2-(1/2)*r^2)*b^2*sin(theta)*(-a2*a3+s2*s3)*cos(theta)-r^3*(q^4*b^4*r^2*(s4-a4)*(s4+a4)*sin(theta)^6-2*r*(7*q*(-a4^2+s4^2)*r^4*(1/16)+(1/2)*q*b^2*(s4-a4)*(s4+a4)*r^2+(-a1*a4+s1*s4)*((1/2)*b^2+q^2)*b*r+(1/2)*q*b^4*(s4-a4)*(s4+a4))*q^2*b^2*sin(theta)^4+((1/32)*(a4^2-s4^2)*r^10+(1/8)*q*(-a4^2+s4^2)*r^9-(1/8)*(s4-a4)*(s4+a4)*((1/2)*b^2+q^2)*r^8-(1/32)*(3*((-a4^2+s4^2)*b+2*s1*s4*(1/3)-2*a1*a4*(1/3)))*q*b*r^7+(1/8)*(7*((1/28)*(a4^2-s4^2)*b^3+((-a4^2+s4^2)*q^2+(1/28)*a2^2-(1/28)*s2^2)*b+2*q^2*(-a1*a4+s1*s4)*(1/7)))*b*r^6-((1/16)*(7*(-a4^2+s4^2))*b^3+(1/8)*(-a1*a4+s1*s4)*b^2+q^2*(-a3^2+s3^2)*b+(1/4)*q^2*(-a1*a4+s1*s4))*q*b*r^5+(1/8)*(9*((-a4^2+s4^2)*b^2+(1/9)*(2*(a1*a4-s1*s4))*b+4*a2^2*(1/9)-4*s2^2*(1/9)))*q^2*b^2*r^4+(2*((1/64)*(7*(a4^2-s4^2))*b^3+(1/32)*(a1*a4-s1*s4)*b^2+q^2*(-a1*a4+s1*s4)))*q*b^3*r^3-q^2*b^2*((1/2)*(a4^2-s4^2)*b^4+(1/2)*(a1^2-s1^2)*b^2+q^2*(a1^2-s1^2))*r^2+2*q^3*b^5*(-a1*a4+s1*s4)*r+(1/4)*q^2*b^7*((-a4^2+s4^2)*b-2*s1*s4+2*a1*a4))*sin(theta)^2+(1/32)*(a3^2-s3^2)*r^10+(1/8)*q*(-a3^2+s3^2)*r^9-(1/8)*((1/2)*b^2+q^2)*(s3-a3)*(s3+a3)*r^8-(1/8)*((-a3^2+s3^2)*b^2+(1/4)*a1^2+(1/4)*a2^2-(1/4)*s1^2-(1/4)*s2^2)*q*r^7+((1/32)*(a3^2-s3^2)*b^4+q^2*(-a3^2+s3^2)*b^2+(1/8)*q^2*(a1^2-s1^2))*r^6-(1/8)*(4*b^4*(-a3^2+s3^2)+((1/2)*a1^2+3*a2^2-(1/2)*s1^2-3*s2^2)*b^2+q^2*(a1^2-s1^2))*q*r^5+q^2*((-a3^2+s3^2)*b^2+(1/8)*s1^2-(1/8)*a1^2)*b^2*r^4+((1/4)*(a3^2-s3^2)*b^4+(1/8)*(-a2^2+s2^2+(1/4)*s1^2-(1/4)*a1^2)*b^2+q^2*(a1^2-s1^2))*q*b^2*r^3+q^3*b^4*(a1-s1)*(a1+s1)*r-(1/4)*q^2*b^6*(a1-s1)*(a1+s1))))/(sqrt(b^4*cos(theta)^4+8*q*sin(theta)^2*b^2*r+2*b^2*cos(theta)^2*r^2+r^4)*(r^2+b^2*cos(theta)^2)^3*(-b^2+2*q*r-r^2)^2)]

solve(eqn, {a1, a2, a3, a4, n1, n2, n3, n4, s1, s2, s3, s4})

``

NULL


 

Download solve.mw

 

Maple does not have full_simplify() command like with Mathematica.

So I figured why not make one? 

Here is a basic implementation. All what it does is blindly tries different simplifications methods I know about and learned from this forum then at the end sorts the result by leaf count and returns to the user the one with smallest leaf count.

I tried it on few inputs.

Advantage of full_simplify() is that user does not have to keep trying themselves. One disadvantage is that this can take longer time. timelimit can be added to this to make it not hang.

Can you see and make more improvement to this function?

May be we all together can make a better full_simplify() in Maple to use. Feel free to edit and change.

#version 1.0  
#increment version number each time when making changes.

full_simplify:=proc(e::anything)
   local result::list;
   local f:=proc(a,b)
      RETURN(MmaTranslator:-Mma:-LeafCount(a)<MmaTranslator:-Mma:-LeafCount(b))
   end proc;

   #add more methods as needed

   result:=[simplify(e),
            simplify(e,size),
            simplify(combine(e)),
            simplify(combine(e),size),
            radnormal(evala( combine(e) )),
            simplify(evala( combine(e) )),
            evala(radnormal( combine(e) )),
            simplify(radnormal( combine(e) )),
            evala(factor(e)),
            simplify(e,ln),
            simplify(e,power),
            simplify(e,RootOf),
            simplify(e,sqrt),
            simplify(e,trig),
            simplify(convert(e,trig)),
            simplify(convert(e,exp)),
            combine(e)
   ];   
   RETURN( sort(result,f)[1]);   

end proc:

worksheet below

 


 

204648

#version 1.0  
#increment version number each time when making changes.

full_simplify:=proc(e::anything)
   local result::list;
   local f:=proc(a,b)
      RETURN(MmaTranslator:-Mma:-LeafCount(a)<MmaTranslator:-Mma:-LeafCount(b))
   end proc;

   #add more methods as needed

   result:=[simplify(e),
            simplify(e,size),
            simplify(combine(e)),
            simplify(combine(e),size),
            radnormal(evala( combine(e) )),
            simplify(evala( combine(e) )),
            evala(radnormal( combine(e) )),
            simplify(radnormal( combine(e) )),
            evala(factor(e)),
            simplify(e,ln),
            simplify(e,power),
            simplify(e,RootOf),
            simplify(e,sqrt),
            simplify(e,trig),
            simplify(convert(e,trig)),
            simplify(convert(e,exp)),
            combine(e)
   ];   
   RETURN( sort(result,f)[1]);   

end proc:

#test cases
T:=[(-192*cos(t)^6 + 288*cos(t)^4 - 912*cos(t)^3 - 108*cos(t)^2 + 684*cos(t) - 54)/(4608*cos(t)^9 - 10368*cos(t)^7 + 6208*cos(t)^6 + 7776*cos(t)^5 - 9312*cos(t)^4 - 2440*cos(t)^3 + 3492*cos(t)^2 + 372*cos(t) - 1169),
(10*(5+sqrt(41)))/(sqrt(70+10*sqrt(41))*sqrt(130+10*sqrt(41))),
((6-4*sqrt(2))*ln(3-2*sqrt(2))+(3-2*sqrt(2))*ln(17-12*sqrt(2))+32-24*sqrt(2))/(48*sqrt(2)-72)*(ln(sqrt(2)+1)+sqrt(2))/3,
(1/2)*exp((1/2)*x)*(cosh((1/2)*x)-cosh((3/2)*x)+sinh((1/2)*x)+sinh((3/2)*x))
];

[(-192*cos(t)^6+288*cos(t)^4-912*cos(t)^3-108*cos(t)^2+684*cos(t)-54)/(4608*cos(t)^9-10368*cos(t)^7+6208*cos(t)^6+7776*cos(t)^5-9312*cos(t)^4-2440*cos(t)^3+3492*cos(t)^2+372*cos(t)-1169), 10*(5+41^(1/2))/((70+10*41^(1/2))^(1/2)*(130+10*41^(1/2))^(1/2)), (1/3)*((6-4*2^(1/2))*ln(3-2*2^(1/2))+(3-2*2^(1/2))*ln(17-12*2^(1/2))+32-24*2^(1/2))*(ln(1+2^(1/2))+2^(1/2))/(48*2^(1/2)-72), (1/2)*exp((1/2)*x)*(cosh((1/2)*x)-cosh((3/2)*x)+sinh((1/2)*x)+sinh((3/2)*x))]

full_simplify~(T)

[-6*(10+cos(6*t)+38*cos(3*t))/(-975+18*cos(9*t)-70*cos(3*t)+194*cos(6*t)), (1/2)*2^(1/2), (1/9)*(ln(1+2^(1/2))+2^(1/2))^2, (1/2)*exp(x)-(1/2)*exp(-x)]

 


 

Download full_simplify.mw

First 12 13 14 15 16 17 18 Last Page 14 of 347