Maple 2024 Questions and Posts

These are Posts and Questions associated with the product, Maple 2024

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 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

 

In many special cases, generalized hypergeometric functions can be transformed into other (possibly less general) functions, but sometimes Maple fails to convert some of them to other functions when possible.
For instance, 

4*hypergeom([1, 1], [2, 3, 7/2], -(x/2)**2) - 
 35*hypergeom([1, 1], [2, 5/2, 3], -(x/2)**2) - 
 2*hypergeom([1, 1], [3, 3, 7/2], -(x/2)**2) + 
 10*hypergeom([1, 1], [5/2, 3, 3], -(x/2)**2): # which is, in fact, “360*((Ci(x) - ln(x) + 19/18 - gamma)/x**2 - sin(x)/x**3 + (cos(x) + 5/3)/x**4 - 8/3*sin(x)/x**5)” 
expand(%);
 = 
RealDomain:-expand(4*hypergeom([1, 1], [2, 3, 7/2], -(x/2)**2) - 35*hypergeom([1, 1], [2, 5/2, 3], -(x/2)**2) - 2*hypergeom([1, 1], [3, 3, 7/2], -(x/2)**2) + 10*hypergeom([1, 1], [5/2, 3, 3], -(x/2)**2))


simplify(%);
RealDomain:-simplify(4*hypergeom([1, 1], [2, 3, 7/2], -(x/2)**2) - 35*hypergeom([1, 1], [2, 5/2, 3], -(x/2)**2) - 2*hypergeom([1, 1], [3, 3, 7/2], -(x/2)**2) + 10*hypergeom([1, 1], [5/2, 3, 3], -(x/2)**2))


Is it possible to obtain a non-hypergeometric form of it? E.g., 

Here are more examples that `simplify/hypergeom` (as well as expand) is unable to deal with: 

  1. hypergeom([1, 1, 3/2], [5/2, 5/2, 3, 3], -(x/2)**2):
  2. hypergeom([1, 1], [5/2, 3, 3], -(x/2)**2):
  3. hypergeom([1, 1], [3/2, 2, 2], -(x/2)**2):
  4. hypergeom([3/2], [5/2, 5/2], -(x/2)**2):
  5. … (to be continued) 

I have read something like How to simplify this hypergeometric function? - MaplePrimes, yet those tricks do not appear to work here. Is there any workaround? 

Edit. There seems to be a bug in `simplify/hypergeom`: 

'hypergeom([-1/3, 1/3, -1/2 - m, -m], [1/2, 1/3 - m, 2/3 - m], 1)':
simplify(`%`, hypergeom) assuming m::nonnegint;
 = 
                               -1
                               --
                               2 

simplify(eval(`%%`, m = 0), 'constant');
 = 
                               1

The expected result should be a piecewise function. 

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

I just installed Maple 2024.0 and I discovered a problem in that the "Manage Style Sets" under the "Format" menu DOESN'T WORK!!! Type the following to understand how this feature works and see if you have the same problem:

>?workshhet,documenting,styles

Follow the instructions.  They are pretty simple.  Find a worksheet that has the styles you like and open it up and then save this Style Set in Maple 2024.0.  Then close it.  Open a new worksheet.  Go to "Format" and then click on "Managing Style Sets" and then click on the Style Set file name you saved previously and you will find that it does not set the style set you saved previously.  

 

Another problem you will find is that it doesn't save your Style Set file where it is supposed to save it.  It needs to be saved in a Maple 2024.0 created folder known as "data" and then in a folder under "data" called "stylesets".  I had to manually go find my Style Set file and copy and paste it there.  

Please check this out and see if I am wrong.  I use the "Format" "Manage Style Sets" option a lot when I download files from this blog and ".mw"  have fonts size 12 and they default to the nearly impossible to read font!  After I have applied the "Manage Style Sets" I can see what I have! But for some reason in Maple 2024.0 this feature was not tested or something has changed in Maple 2024.0 to break this feature!

AllGraphs is a new function in Maple 2024. Good things!

However, it seems that most of its functionalities are already provided by NonIsomorphicGraphs, and its speed even lags behind that of NonIsomorphicGraphs 

 

I'm curious about what truly sets this function apart from existing ones. It generates isomorphic graphs if nonisomorphic=falseBut I donot know what its application is. Supporting directed graphs is a new thing, but its speed is not well.

iterator := GraphTheory[AllGraphs](vertices = 6, edges =6..7, connected, nonisomorphic)
s:=[seq(p, p = iterator)]:
nops(s)

Note that this function is suitable for generating non-isomorphic connected graphs with 6 vertices and either 6 or 7 edges. It doesn't hold an advantage in terms of speed, andNonIsomorphicGraphs also provides an iteration option.

I have been trying Maple 2024 and found this strange result. 

Calling solve(identity...  on same input in Maple 2024 gives very large and complex output compare with Maple 2023.2.1.

This was causing problem, until I found that simplifying the solution now gives same output as Maple 2023.2.1

But why is this now needed in Maple 2024? i.e. why is calling simplify needed when in Maple 2023 the simpler solution was returned automatically?

I changed my code to call simplify now on result of solve(identity...  but I am just curious what happened to cause this?

Below are two worksheets, one from Maple 2024 and one from Maple 2023.2 and you see the huge difference in result.


 

56056

interface(version);

`Standard Worksheet Interface, Maple 2023.2, Windows 10, November 24 2023 Build ID 1762575`

Physics:-Version();

`The "Physics Updates" version in the MapleCloud is 1693. The version installed in this computer is 1672 created 2024, February 7, 18:34 hours Pacific Time, found in the directory C:\Users\Owner\maple\toolbox\2023\Physics Updates\lib\`

restart;

238012

trial_solution_constants:=[A[1], A[2], A[3], A[4], A[5], A[6], A[7], A[8]];
eq:=-2*A[1]*sin(x)+2*A[2]*cos(x)-4*A[2]*x*sin(x)+2*A[3]*sin(x)+4*A[3]*x*cos(x)+2*A[4]*cos(x)-6*A[5]*sin(3*x)-8*A[5]*x*cos(3*x)+6*A[6]*cos(3*x)-8*A[6]*x*sin(3*x)-8*A[7]*cos(3*x)-8*A[8]*sin(3*x) = x*cos(x)^3;
solve(identity(eq,x),trial_solution_constants)

[A[1], A[2], A[3], A[4], A[5], A[6], A[7], A[8]]

-2*A[1]*sin(x)+2*A[2]*cos(x)-4*A[2]*x*sin(x)+2*A[3]*sin(x)+4*A[3]*x*cos(x)+2*A[4]*cos(x)-6*A[5]*sin(3*x)-8*A[5]*x*cos(3*x)+6*A[6]*cos(3*x)-8*A[6]*x*sin(3*x)-8*A[7]*cos(3*x)-8*A[8]*sin(3*x) = x*cos(x)^3

[[A[1] = 3/16, A[2] = 0, A[3] = 3/16, A[4] = 0, A[5] = -1/32, A[6] = 0, A[7] = 0, A[8] = 3/128]]

 


 

Download solve_identity_march_11_2024_maple_2023.mw

 


 

56056

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 1693 and is the same as the version installed in this computer, created 2024, March 7, 17:27 hours Pacific Time.`

restart;

56944

trial_solution_constants:=[A[1], A[2], A[3], A[4], A[5], A[6], A[7], A[8]];
eq:=-2*A[1]*sin(x)+2*A[2]*cos(x)-4*A[2]*x*sin(x)+2*A[3]*sin(x)+4*A[3]*x*cos(x)+2*A[4]*cos(x)-6*A[5]*sin(3*x)-8*A[5]*x*cos(3*x)+6*A[6]*cos(3*x)-8*A[6]*x*sin(3*x)-8*A[7]*cos(3*x)-8*A[8]*sin(3*x) = x*cos(x)^3;
solve(identity(eq,x),trial_solution_constants)

[A[1], A[2], A[3], A[4], A[5], A[6], A[7], A[8]]

-2*A[1]*sin(x)+2*A[2]*cos(x)-4*A[2]*x*sin(x)+2*A[3]*sin(x)+4*A[3]*x*cos(x)+2*A[4]*cos(x)-6*A[5]*sin(3*x)-8*A[5]*x*cos(3*x)+6*A[6]*cos(3*x)-8*A[6]*x*sin(3*x)-8*A[7]*cos(3*x)-8*A[8]*sin(3*x) = x*cos(x)^3

[[A[1] = -(3/16)*(648*cos(3)*sin(1)^3+972*cos(3)*sin(1)^2*cos(1)+432*sin(3)*sin(1)^3+648*sin(3)*sin(1)^2*cos(1)+2268*sin(1)^4+1296*sin(1)^3*cos(1)+324*sin(3)*cos(3)-108*sin(1)*cos(3)-585*cos(3)*cos(1)-133*sin(3)^2-153*sin(3)*sin(1)-48*sin(3)*cos(1)-2025*sin(1)^2+225)/(108*sin(1)*cos(3)+99*cos(3)*cos(1)-2*sin(3)^2+153*sin(3)*sin(1)-276*sin(3)*cos(1)-162*sin(1)^2+261), A[2] = (9/32)*(-48*cos(3)*sin(1)^3-72*cos(3)*sin(1)^2*cos(1)+88*sin(3)*sin(1)^3+132*sin(3)*sin(1)^2*cos(1)+864*sin(1)^4-108*sin(1)^3*cos(1)+21*sin(3)*cos(3)+117*sin(1)*cos(3)-144*cos(3)*cos(1)+40*sin(3)^2-12*sin(3)*sin(1)-141*sin(3)*cos(1)-972*sin(1)^2+243*cos(1)*sin(1)+144)/(108*sin(1)*cos(3)+99*cos(3)*cos(1)-2*sin(3)^2+153*sin(3)*sin(1)-276*sin(3)*cos(1)-162*sin(1)^2+261), A[3] = -(3/32)*(648*cos(3)*sin(1)^3+972*cos(3)*sin(1)^2*cos(1)+432*sin(3)*sin(1)^3+648*sin(3)*sin(1)^2*cos(1)+2268*sin(1)^4+1296*sin(1)^3*cos(1)+324*sin(3)*cos(3)-216*sin(1)*cos(3)-684*cos(3)*cos(1)-131*sin(3)^2-306*sin(3)*sin(1)+228*sin(3)*cos(1)-1863*sin(1)^2-36)/(108*sin(1)*cos(3)+99*cos(3)*cos(1)-2*sin(3)^2+153*sin(3)*sin(1)-276*sin(3)*cos(1)-162*sin(1)^2+261), A[4] = 0, A[5] = (1/64)*(216*cos(3)*sin(1)^3+324*cos(3)*sin(1)^2*cos(1)+144*sin(3)*sin(1)^3+216*sin(3)*sin(1)^2*cos(1)+756*sin(1)^4+432*sin(1)^3*cos(1)+41*cos(3)^2+108*sin(3)*cos(3)-216*sin(1)*cos(3)-360*cos(3)*cos(1)-306*sin(3)*sin(1)+444*sin(3)*cos(1)-405*sin(1)^2-401)/(2*cos(3)^2+108*sin(1)*cos(3)+99*cos(3)*cos(1)+153*sin(3)*sin(1)-276*sin(3)*cos(1)-162*sin(1)^2+259), A[6] = -(3/64)*(48*cos(3)*sin(1)^3+72*cos(3)*sin(1)^2*cos(1)-88*sin(3)*sin(1)^3-132*sin(3)*sin(1)^2*cos(1)-864*sin(1)^4+108*sin(1)^3*cos(1)+40*cos(3)^2-21*sin(3)*cos(3)-117*sin(1)*cos(3)+144*cos(3)*cos(1)+12*sin(3)*sin(1)+141*sin(3)*cos(1)+972*sin(1)^2-243*cos(1)*sin(1)-184)/(2*cos(3)^2+108*sin(1)*cos(3)+99*cos(3)*cos(1)+153*sin(3)*sin(1)-276*sin(3)*cos(1)-162*sin(1)^2+259), A[7] = (27/256)*(-48*cos(3)*sin(1)^3-72*cos(3)*sin(1)^2*cos(1)+88*sin(3)*sin(1)^3+132*sin(3)*sin(1)^2*cos(1)+864*sin(1)^4-108*sin(1)^3*cos(1)+21*sin(3)*cos(3)+117*sin(1)*cos(3)-144*cos(3)*cos(1)+40*sin(3)^2-12*sin(3)*sin(1)-141*sin(3)*cos(1)-972*sin(1)^2+243*cos(1)*sin(1)+144)/(108*sin(1)*cos(3)+99*cos(3)*cos(1)-2*sin(3)^2+153*sin(3)*sin(1)-276*sin(3)*cos(1)-162*sin(1)^2+261), A[8] = -(3/256)*(744*cos(3)*sin(1)^3+1116*cos(3)*sin(1)^2*cos(1)+496*sin(3)*sin(1)^3+744*sin(3)*sin(1)^2*cos(1)+2604*sin(1)^4+1488*sin(1)^3*cos(1)+372*sin(3)*cos(3)-216*sin(1)*cos(3)-756*cos(3)*cos(1)-151*sin(3)^2-306*sin(3)*sin(1)+180*sin(3)*cos(1)-2187*sin(1)^2+36)/(108*sin(1)*cos(3)+99*cos(3)*cos(1)-2*sin(3)^2+153*sin(3)*sin(1)-276*sin(3)*cos(1)-162*sin(1)^2+261)]]

simplify(%);

[[A[1] = 3/16, A[2] = 0, A[3] = 3/16, A[4] = 0, A[5] = -1/32, A[6] = 0, A[7] = 0, A[8] = 3/128]]

 


 

Download solve_identity_march_11_2024.mw

 


 

I have the following expressions:

m^3*r*(cos(theta)^6*a^6-9*cos(theta)^4*a^4*r^2+11*cos(theta)^2*a^2*r^4-(1/3)*r^6)*(cos(theta)^2*a^2-(1/3)*r^2)/(r^2+cos(theta)^2*a^2)^9

m^3*r*(cos(theta)^6*a^6-9*cos(theta)^4*a^4*r^2+11*cos(theta)^2*a^2*r^4-(1/3)*r^6)*(cos(theta)^2*a^2-(1/3)*r^2)/(r^2+cos(theta)^2*a^2)^9

(1)

(a^8*(r^10-10*m*r^9+(5*(a^2+8*m^2))*r^8-80*m^3*r^7+(10*(a^4+12*a^2*m^2+8*m^4))*r^6+(4*(-15*a^4*m-40*a^2*m^3-8*m^5))*r^5+(10*(a^6+12*a^4*m^2+8*a^2*m^4))*r^4+(40*(-a^6*m-2*a^4*m^3))*r^3+(5*(a^8+8*a^6*m^2))*r^2-10*a^8*m*r+a^10)*cos(theta)^8-(1/3)*(28*(-30*sin(theta)^2*a^4*m*r^5*(1/7)+r^10-10*m*r^9+(5*(a^2+8*m^2))*r^8+(40*(-a^2*m-2*m^3))*r^7+(10*(a^4+12*a^2*m^2+8*m^4))*r^6+(32*(-5*a^2*m^3-m^5))*r^5+(10*(a^6+12*a^4*m^2+8*a^2*m^4))*r^4+(40*(-a^6*m-2*a^4*m^3))*r^3+(5*(a^8+8*a^6*m^2))*r^2-10*a^8*m*r+a^10))*a^6*r^2*cos(theta)^6+(14*(-260*sin(theta)^2*a^6*m*r^3*(1/7)+r^10-10*m*r^9+(5*(a^2+8*m^2))*r^8+(40*(-a^2*m-2*m^3))*r^7+(10*(a^4+12*a^2*m^2+8*m^4))*r^6+(4*(-15*a^4*m-40*a^2*m^3-8*m^5))*r^5+(10*(a^6+12*a^4*m^2+8*a^2*m^4))*r^4-80*a^4*m^3*r^3+(5*(a^8+8*a^6*m^2))*r^2-10*a^8*m*r+a^10))*a^4*r^4*cos(theta)^4-4*a^2*(-10*a^8*m*r*sin(theta)^2+r^10-10*m*r^9+(5*(a^2+8*m^2))*r^8+(40*(-a^2*m-2*m^3))*r^7+(10*(a^4+12*a^2*m^2+8*m^4))*r^6+(4*(-15*a^4*m-40*a^2*m^3-8*m^5))*r^5+(10*(a^6+12*a^4*m^2+8*a^2*m^4))*r^4+(40*(-a^6*m-2*a^4*m^3))*r^3+(5*(a^8+8*a^6*m^2))*r^2+a^10)*r^6*cos(theta)^2+(1/9)*r^8*(a^2-2*m*r+r^2)^5)*m^3*r/((r^2+a^2*cos(theta)^2)^9*(a^2-2*m*r+r^2)^5)

(a^8*(r^10-10*m*r^9+5*(a^2+8*m^2)*r^8-80*m^3*r^7+10*(a^4+12*a^2*m^2+8*m^4)*r^6+4*(-15*a^4*m-40*a^2*m^3-8*m^5)*r^5+10*(a^6+12*a^4*m^2+8*a^2*m^4)*r^4+40*(-a^6*m-2*a^4*m^3)*r^3+5*(a^8+8*a^6*m^2)*r^2-10*a^8*m*r+a^10)*cos(theta)^8-(28/3)*(-(30/7)*sin(theta)^2*a^4*m*r^5+r^10-10*m*r^9+5*(a^2+8*m^2)*r^8+40*(-a^2*m-2*m^3)*r^7+10*(a^4+12*a^2*m^2+8*m^4)*r^6+32*(-5*a^2*m^3-m^5)*r^5+10*(a^6+12*a^4*m^2+8*a^2*m^4)*r^4+40*(-a^6*m-2*a^4*m^3)*r^3+5*(a^8+8*a^6*m^2)*r^2-10*a^8*m*r+a^10)*a^6*r^2*cos(theta)^6+14*(-(260/7)*sin(theta)^2*a^6*m*r^3+r^10-10*m*r^9+5*(a^2+8*m^2)*r^8+40*(-a^2*m-2*m^3)*r^7+10*(a^4+12*a^2*m^2+8*m^4)*r^6+4*(-15*a^4*m-40*a^2*m^3-8*m^5)*r^5+10*(a^6+12*a^4*m^2+8*a^2*m^4)*r^4-80*a^4*m^3*r^3+5*(a^8+8*a^6*m^2)*r^2-10*a^8*m*r+a^10)*a^4*r^4*cos(theta)^4-4*a^2*(-10*a^8*m*r*sin(theta)^2+r^10-10*m*r^9+5*(a^2+8*m^2)*r^8+40*(-a^2*m-2*m^3)*r^7+10*(a^4+12*a^2*m^2+8*m^4)*r^6+4*(-15*a^4*m-40*a^2*m^3-8*m^5)*r^5+10*(a^6+12*a^4*m^2+8*a^2*m^4)*r^4+40*(-a^6*m-2*a^4*m^3)*r^3+5*(a^8+8*a^6*m^2)*r^2+a^10)*r^6*cos(theta)^2+(1/9)*r^8*(a^2-2*m*r+r^2)^5)*m^3*r/((r^2+cos(theta)^2*a^2)^9*(a^2-2*m*r+r^2)^5)

(2)

The two expressions are the same because:

simplify(m^3*r*(cos(theta)^6*a^6-9*cos(theta)^4*a^4*r^2+11*cos(theta)^2*a^2*r^4-(1/3)*r^6)*(a^2*cos(theta)^2-(1/3)*r^2)/(r^2+a^2*cos(theta)^2)^9-(a^8*(r^10-10*m*r^9+5*(a^2+8*m^2)*r^8-80*m^3*r^7+10*(a^4+12*a^2*m^2+8*m^4)*r^6+4*(-15*a^4*m-40*a^2*m^3-8*m^5)*r^5+10*(a^6+12*a^4*m^2+8*a^2*m^4)*r^4+40*(-a^6*m-2*a^4*m^3)*r^3+5*(a^8+8*a^6*m^2)*r^2-10*a^8*m*r+a^10)*cos(theta)^8-(28/3)*(-(30/7)*sin(theta)^2*a^4*m*r^5+r^10-10*m*r^9+5*(a^2+8*m^2)*r^8+40*(-a^2*m-2*m^3)*r^7+10*(a^4+12*a^2*m^2+8*m^4)*r^6+32*(-5*a^2*m^3-m^5)*r^5+10*(a^6+12*a^4*m^2+8*a^2*m^4)*r^4+40*(-a^6*m-2*a^4*m^3)*r^3+5*(a^8+8*a^6*m^2)*r^2-10*a^8*m*r+a^10)*a^6*r^2*cos(theta)^6+14*(-(260/7)*sin(theta)^2*a^6*m*r^3+r^10-10*m*r^9+5*(a^2+8*m^2)*r^8+40*(-a^2*m-2*m^3)*r^7+10*(a^4+12*a^2*m^2+8*m^4)*r^6+4*(-15*a^4*m-40*a^2*m^3-8*m^5)*r^5+10*(a^6+12*a^4*m^2+8*a^2*m^4)*r^4-80*a^4*m^3*r^3+5*(a^8+8*a^6*m^2)*r^2-10*a^8*m*r+a^10)*a^4*r^4*cos(theta)^4-4*a^2*(-10*a^8*m*r*sin(theta)^2+r^10-10*m*r^9+5*(a^2+8*m^2)*r^8+40*(-a^2*m-2*m^3)*r^7+10*(a^4+12*a^2*m^2+8*m^4)*r^6+4*(-15*a^4*m-40*a^2*m^3-8*m^5)*r^5+10*(a^6+12*a^4*m^2+8*a^2*m^4)*r^4+40*(-a^6*m-2*a^4*m^3)*r^3+5*(a^8+8*a^6*m^2)*r^2+a^10)*r^6*cos(theta)^2+(1/9)*r^8*(a^2-2*m*r+r^2)^5)*m^3*r/((r^2+a^2*cos(theta)^2)^9*(a^2-2*m*r+r^2)^5))

0

(3)

But I don't get the expression (1) from (2) with the help of simplify() command:

simplify((a^8*(r^10-10*m*r^9+5*(a^2+8*m^2)*r^8-80*m^3*r^7+10*(a^4+12*a^2*m^2+8*m^4)*r^6+4*(-15*a^4*m-40*a^2*m^3-8*m^5)*r^5+10*(a^6+12*a^4*m^2+8*a^2*m^4)*r^4+40*(-a^6*m-2*a^4*m^3)*r^3+5*(a^8+8*a^6*m^2)*r^2-10*a^8*m*r+a^10)*cos(theta)^8-(28/3)*(-(30/7)*sin(theta)^2*a^4*m*r^5+r^10-10*m*r^9+5*(a^2+8*m^2)*r^8+40*(-a^2*m-2*m^3)*r^7+10*(a^4+12*a^2*m^2+8*m^4)*r^6+32*(-5*a^2*m^3-m^5)*r^5+10*(a^6+12*a^4*m^2+8*a^2*m^4)*r^4+40*(-a^6*m-2*a^4*m^3)*r^3+5*(a^8+8*a^6*m^2)*r^2-10*a^8*m*r+a^10)*a^6*r^2*cos(theta)^6+14*(-(260/7)*sin(theta)^2*a^6*m*r^3+r^10-10*m*r^9+5*(a^2+8*m^2)*r^8+40*(-a^2*m-2*m^3)*r^7+10*(a^4+12*a^2*m^2+8*m^4)*r^6+4*(-15*a^4*m-40*a^2*m^3-8*m^5)*r^5+10*(a^6+12*a^4*m^2+8*a^2*m^4)*r^4-80*a^4*m^3*r^3+5*(a^8+8*a^6*m^2)*r^2-10*a^8*m*r+a^10)*a^4*r^4*cos(theta)^4-4*a^2*(-10*a^8*m*r*sin(theta)^2+r^10-10*m*r^9+5*(a^2+8*m^2)*r^8+40*(-a^2*m-2*m^3)*r^7+10*(a^4+12*a^2*m^2+8*m^4)*r^6+4*(-15*a^4*m-40*a^2*m^3-8*m^5)*r^5+10*(a^6+12*a^4*m^2+8*a^2*m^4)*r^4+40*(-a^6*m-2*a^4*m^3)*r^3+5*(a^8+8*a^6*m^2)*r^2+a^10)*r^6*cos(theta)^2+(1/9)*r^8*(a^2-2*m*r+r^2)^5)*m^3*r/((r^2+a^2*cos(theta)^2)^9*(a^2-2*m*r+r^2)^5))

(a^8*(r^10-10*m*r^9+5*(a^2+8*m^2)*r^8-80*m^3*r^7+10*(a^4+12*a^2*m^2+8*m^4)*r^6+4*(-15*a^4*m-40*a^2*m^3-8*m^5)*r^5+10*(a^6+12*a^4*m^2+8*a^2*m^4)*r^4+40*(-a^6*m-2*a^4*m^3)*r^3+5*(a^8+8*a^6*m^2)*r^2-10*a^8*m*r+a^10)*cos(theta)^8-(28/3)*(-(30/7)*sin(theta)^2*a^4*m*r^5+r^10-10*m*r^9+5*(a^2+8*m^2)*r^8+40*(-a^2*m-2*m^3)*r^7+10*(a^4+12*a^2*m^2+8*m^4)*r^6+32*(-5*a^2*m^3-m^5)*r^5+10*(a^6+12*a^4*m^2+8*a^2*m^4)*r^4+40*(-a^6*m-2*a^4*m^3)*r^3+5*(a^8+8*a^6*m^2)*r^2-10*a^8*m*r+a^10)*a^6*r^2*cos(theta)^6+14*(-(260/7)*sin(theta)^2*a^6*m*r^3+r^10-10*m*r^9+5*(a^2+8*m^2)*r^8+40*(-a^2*m-2*m^3)*r^7+10*(a^4+12*a^2*m^2+8*m^4)*r^6+4*(-15*a^4*m-40*a^2*m^3-8*m^5)*r^5+10*(a^6+12*a^4*m^2+8*a^2*m^4)*r^4-80*a^4*m^3*r^3+5*(a^8+8*a^6*m^2)*r^2-10*a^8*m*r+a^10)*a^4*r^4*cos(theta)^4-4*a^2*(-10*a^8*m*r*sin(theta)^2+r^10-10*m*r^9+5*(a^2+8*m^2)*r^8+40*(-a^2*m-2*m^3)*r^7+10*(a^4+12*a^2*m^2+8*m^4)*r^6+4*(-15*a^4*m-40*a^2*m^3-8*m^5)*r^5+10*(a^6+12*a^4*m^2+8*a^2*m^4)*r^4+40*(-a^6*m-2*a^4*m^3)*r^3+5*(a^8+8*a^6*m^2)*r^2+a^10)*r^6*cos(theta)^2+(1/9)*r^8*(a^2-2*m*r+r^2)^5)*m^3*r/((r^2+cos(theta)^2*a^2)^9*(a^2-2*m*r+r^2)^5)

(4)

Why not? Is there any solution for this?

 

NULL


 

Download QuestionSimplifyMultivariateRationalFunction.mw

 Hello,

  Doing simple calculations I found Maple 2024 and 2023 don't recognize Kronecker delta in the expression

Full worksheet attached. Is there any way to let Maple handle this?

Remaining questions:
1. Doing calculations using Int and value left the result unevaluated eq. (6) and eq. (7) while using int gives 0. Why?
2. Is there possibility to substitute indexed (i.e.) atomic variables like p__m? For example changing by command p__m to p__k.

Thank you in advance,

delta_kron-problem.mw

This code used to work OK in Maple 2023.2.1 on windows 10. Now it gives this new internal Maple error 

Error, (in property/ConvertRelation) numeric exception: division by zero

I think this is new problem in Maple 2024 as I have not seen it before. Will report it to Maplesoft. Mean while if someone has any workaround other than not using the `is` command will try it.

The following are two worksheets. One using 2023 shows it works OK (no error) and one in Maple 2024 with the new error

203072

interface(version);

`Standard Worksheet Interface, Maple 2023.2, Windows 10, November 24 2023 Build ID 1762575`

restart;

203072

r:=1/4*a*(a*x^2+6);
tmp:=-1/x^2+1/2*a+(1/x+1/2*a*x)^2;
is(tmp = r)

(1/4)*a*(a*x^2+6)

-1/x^2+(1/2)*a+(1/x+(1/2)*a*x)^2

true

 

 

Download no_numeric_exception_march_7_2024_version_2023.mw
 

interface(version);

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

restart;

r:=1/4*a*(a*x^2+6);
tmp:=-1/x^2+1/2*a+(1/x+1/2*a*x)^2;
is(tmp = r)
 

(1/4)*a*(a*x^2+6)

-1/x^2+(1/2)*a+(1/x+(1/2)*a*x)^2

Error, (in property/ConvertRelation) numeric exception: division by zero

 

 

Download numeric_exception_march_7_2024_version_2024.mw

I was wondering if this is by design or not. Here is one example., This ode is solved by Maple 2023.2.1 on windows 10. The solution is in terms of DESol though. It takes less than one minute.

In Maple 2024 on same PC, dsolve hangs on it.

If this by design? Since DESol solution is not very useful actually. I was thinking that may be Maple is now trying to return a solution without DESol in it, and that is why it hangs or take long time. I stopped it after 5 minutes. 

Or should I report it to Maplesoft as possible bug?  

Below are 2 worksheets. One using Maple 2023 and one using 2024.

42444

interface(version);

`Standard Worksheet Interface, Maple 2023.2, Windows 10, November 24 2023 Build ID 1762575`

Physics:-Version();

`The "Physics Updates" version in the MapleCloud is 1684. The version installed in this computer is 1672 created 2024, February 7, 18:34 hours Pacific Time, found in the directory C:\Users\Owner\maple\toolbox\2023\Physics Updates\lib\`

ode:=(x + 1)*diff(u(x), x, x)/((x - 1)*cosh(1/(x - 1))) - (1/((x - 1)*cosh(1/(x - 1))) - (x + 1)/((x - 1)^2*cosh(1/(x - 1))) + (x + 1)*sinh(1/(x - 1))/((x - 1)^3*cosh(1/(x - 1))^2) + (-2*x^3 - 2*x^2)*(x + 1)/((x - 1)^2*cosh(1/(x - 1))^2))*diff(u(x), x) + (x + 1)^2*(x^5 + x^4 + 2*x^2*cosh(1/(x - 1)) - 2*x*cosh(1/(x - 1)) - x - 1)*u(x)/((x - 1)^3*cosh(1/(x - 1))^3);

(x+1)*(diff(diff(u(x), x), x))/((x-1)*cosh(1/(x-1)))-(1/((x-1)*cosh(1/(x-1)))-(x+1)/((x-1)^2*cosh(1/(x-1)))+(x+1)*sinh(1/(x-1))/((x-1)^3*cosh(1/(x-1))^2)+(-2*x^3-2*x^2)*(x+1)/((x-1)^2*cosh(1/(x-1))^2))*(diff(u(x), x))+(x+1)^2*(x^5+x^4+2*x^2*cosh(1/(x-1))-2*x*cosh(1/(x-1))-x-1)*u(x)/((x-1)^3*cosh(1/(x-1))^3)

DEtools:-odeadvisor(ode);

[[_2nd_order, _with_linear_symmetries]]

dsolve(ode); #after about 1 minute...

u(x) = DESol({diff(diff(_Y(x), x), x)-(1/((x-1)*cosh(1/(x-1)))-(x+1)/((x-1)^2*cosh(1/(x-1)))+(x+1)*sinh(1/(x-1))/((x-1)^3*cosh(1/(x-1))^2)+(-2*x^3-2*x^2)*(x+1)/((x-1)^2*cosh(1/(x-1))^2))*(x-1)*cosh(1/(x-1))*(diff(_Y(x), x))/(x+1)+(x+1)*(x^5+x^4+2*x^2*cosh(1/(x-1))-2*x*cosh(1/(x-1))-x-1)*_Y(x)/((x-1)^2*cosh(1/(x-1))^2)}, {_Y(x)})

 

 

Download dsolve_march_7_2024_maple_2023.mw


restart;

interface(version);

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

ode:=(x + 1)*diff(u(x), x, x)/((x - 1)*cosh(1/(x - 1))) - (1/((x - 1)*cosh(1/(x - 1))) - (x + 1)/((x - 1)^2*cosh(1/(x - 1))) + (x + 1)*sinh(1/(x - 1))/((x - 1)^3*cosh(1/(x - 1))^2) + (-2*x^3 - 2*x^2)*(x + 1)/((x - 1)^2*cosh(1/(x - 1))^2))*diff(u(x), x) + (x + 1)^2*(x^5 + x^4 + 2*x^2*cosh(1/(x - 1)) - 2*x*cosh(1/(x - 1)) - x - 1)*u(x)/((x - 1)^3*cosh(1/(x - 1))^3);

(x+1)*(diff(diff(u(x), x), x))/((x-1)*cosh(1/(x-1)))-(1/((x-1)*cosh(1/(x-1)))-(x+1)/((x-1)^2*cosh(1/(x-1)))+(x+1)*sinh(1/(x-1))/((x-1)^3*cosh(1/(x-1))^2)+(-2*x^3-2*x^2)*(x+1)/((x-1)^2*cosh(1/(x-1))^2))*(diff(u(x), x))+(x+1)^2*(x^5+x^4+2*x^2*cosh(1/(x-1))-2*x*cosh(1/(x-1))-x-1)*u(x)/((x-1)^3*cosh(1/(x-1))^3)

DEtools:-odeadvisor(ode);

[[_2nd_order, _with_linear_symmetries]]

dsolve(ode); #hangs

 

 

Download dsolve_march_7_2024_maple_2024.mw

One may easily spot that the symbols “” and “” are missing here and here

These two PDF files were printed officially, so I think they can be considered examples of best practice for the export functionality. Does this mean that this functionality is still defective in the most recent release?

chatGPT version used by the new NaturalLanguage package seems to be using chatGPT 3?. I asked it and this what it said

NL:=NaturalLanguage;
NL:-Query("what is your name?");
"As an Artificial Intelligence, I don't have a personal name. However, If 
you're asking how to represent the question \"What is your name?\" in MathML, 
it's actually irrelevant as MathML is used for marking up mathematical notations, 
not regular text or questions. \n\nBut in English, it's as simple 
as just asking \"What is your name?

Then I asked it 

NL:-Query("what version of chatGPT are you?");
"As an AI developed by OpenAI, I don't have a specific version like software 
programs or applications. I get continuous updates and improvements over time. 
However, as of my current operation, I'm based on GPT-3 model.

some questions: It is possible to make it use chatGPT 3.5 or 4.0 with NL?

How is this free to use and without getting a key from openAI? After agreeing to terms fromn the options menu, can one continue to use it for free? I thought chatGPT requires some fee to use. But I could be wrong.  but this is nice to be able to use it this easily from Maple!

Btw, It is still not very good in math. Asked it to first this simple first order ode and got wrong answer

NL:-Query("what is the solution to the differential equation y'(x)+y(x)=sin(x)");
"Sorry, this query was too complicated. Please rephrase and/or try again."

So I tried

NL:-Query("solve the differential equation y'(x)+y(x)=sin(x)");
"The differential equation given is a first order linear 

   ordinary differential equation. 

  

  The general solution can be obtained through the following 

   steps:

  

  1. Identify the homogeneous part of the equation, which is 

   y'(x) + y(x) = 0. The solution of such a homogeneous 

   equation known as the "complementary function" is y_c = 

   e^(-x) * A. where A is an arbitrary constant which will be 

   determined by a specific condition or boundary value.

  

  2. Find a Particular Integral (solution specific to the 

   nonhomogeneous part of the differential equation) which in 

   this case is y_p = -cos(x)

  

  3. Combine the Complementary function and Particular Integral 

   to get a general solution, y(x) = e^(-x) * A - cos(x).

  

  Now let's express the solution in MathML:"


                            (-x)          
                     y x = e     A - cos x

 "Note: Here A is a to-be-determined constant. If the problem 

    was a boundary value or initial value problem, you would 

    substitute the given values into this general solution and 

    solve it for A."


The solution should be

dsolve(diff(y(x),x)+y(x)=sin(x))

                y(x) = -cos(x)/2 + sin(x)/2 + exp(-x)*c__1

 

A blue triangle with white text

Description automatically generated

 

Attention Maple enthusiasts! It gives me great pleasure to announce Maple 2024! Maple 2024 brings together a collection of new features and enhancements carefully designed to enrich your mathematical explorations. Maple 2024 is the result of a lot of hard work by a lot of people, and there is far more in it than I can cover here. But I’d like to share with you some of my favorite features in this release.

 

AI Formula Assistant

The AI Formula Assistant in Maple 2024 is undoubtedly the feature that excites me the most, especially considering how often I’m asked the question: 'When will Maple include AI features?' This assistant serves as your new mathematical companion and will change the way you look up and enter formulas and equations. Driven by advanced AI technology, it presents a range of relevant options based on your search query. Alongside suggestions, you'll also receive detailed explanations for each formula and its parameters so you can select the one you need, and then you can insert the formula into your document at a click of a button, as a proper Maple expression.

A screenshot of a computer

Description automatically generated

 

 

NaturalLanguage Package

The Formula Assistant is built on top of the new NaturalLanguage package, which integrates powerful language models like GPT-4 and ChatGPT from OpenAI into Maple. With this feature, you can leverage large language models to process natural language within Maple. Ask the AI to explain concepts, provide additional details, find specific Maple commands, and more. Of course, since this is a Maple package, you can also use it as a basis to build your own AI-powered applications inside Maple. We’re really looking forward to seeing what you will do with it!

 

A close-up of a document

Description automatically generated

 

 

Argument Completion
We’ve had a lot of requests from people who wanted Maple’s command completion features to do even more, and I’m happy to say that Maple 2024 delivers. The new argument completion feature in Maple 2024 is poised to significantly enhance your experience with commands. For many users, including myself, not being aware of all the options a command takes is a challenge, often leading me to refer to help pages for clarification. With argument completion, that's no longer a concern. Just enter the command with the help of the existing command completion feature, then automatic argument completion takes over to guide you through the rest. Give it a try with the 'plot' command!

A screenshot of a computer

Description automatically generated

 

Check My Work

A personal favorite feature that's gotten even better in Maple 2024 is Check My Work. As someone who has tutored students, I vividly recall their stress before exams, often receiving emails and text messages from them seeking last-minute help. At the time, I found myself wishing the students had a way to check their work themselves, so we would all be less stressed! So I was super excited when we added the first Check My Work feature a couple of years ago, and am very happy that it gets better ever year. In Maple 2024, we’ve expanded its capabilities to support problems involving factoring, simplification, and limits.

A screenshot of a computer

Description automatically generated

Scrollable Matrices:
This feature will definitely resonate with many of the engineers in the Maple Primes community. If you're someone who works with worksheets containing large matrices, you've likely wished that you could scroll the matrices inside your document instead of having to launch a separate matrix browser. With Maple 2024, your wish has come true.

 

A white sheet with numbers and lines

Description automatically generated with medium confidence

 

Color Bars

And finally, for those of you who appreciated the addition of color bars in Maple 2023 but wanted to see them extended to more 2D and 3D plots, you'll be delighted to know that this is exactly what we’ve done. We’ve also added new customization options, providing you with greater control over appearance.

 

A close-up of a graph

Description automatically generated

 

This is just a partial glimpse of what's new in Maple 2024. For a comprehensive overview, visit What’s New in Maple 2024.

The following code effectively converts the image to the JPG format.
with(GraphTheory):
s:=DrawGraph(CompleteGraph(5),size=[250,250])
Export("D:\\s1.jpg",s)

But I would like to export it using PDF format. However, the modified code below seems to be quite unsuccessful. I am aware that Maple has export options in the front end, but I still prefer to use code for this purpose.

Export("D:\\s1.pdf",s)

Error, (in Export) invalid input: member received _ImportExport:-InfoTable["PDF"][4], which is not valid for its 2nd argument, s

There are two reasons for this.

with(GraphTheory):
Graphs:=[NonIsomorphicGraphs(6,8,output=graphs,outputform = graph)]:
num_g:=nops(Graphs):
num:=ceil((num_g)/5.):
M1:=Matrix (num,5,(i,j)->`if`((i-1)*5+j<=num_g, DrawGraph(Graphs[(i-1)*5+j],size=[250,250] ,overrideoptions ,showlabels=false,style=planar, stylesheet =  [
 vertexcolor     = orange
,vertexfontcolor = black
,vertexborder    = false
,edgethickness   = 0.6
,edgecolor       = MidnightBlue
,vertexshape     =  "circle"
,vertexfont      = [Arial, 4],
vertexthickness=5], caption = cat(H__,5*(i-1)+j),captionfont=["ROMAN",7]),plot(x = 0 .. 1, axes = none))):
DocumentTools:-Tabulate (M1[1..5,.. ],widthmode=percentage ,width=80 , exterior =all):

First 39 40 41 42 Page 41 of 42