aroche

Dr. Austin Roche

915 Reputation

11 Badges

13 years, 102 days
Maplesoft
Waterloo, Ontario, Canada
I am a Software Architect in the Math Group, working mostly on the Maple library. I have been working at Maplesoft since 2007, in various areas including differential equations, integration, mathematical functions, simplification, root finding, and logic. I completed a Master's degree from McGill University with a thesis in Differential Geometry, and a PhD from Simon Fraser University with a thesis on Differential Equations.

MaplePrimes Activity


These are answers submitted by aroche

Hi @Rouben Rostamian ,

This bug is now fixed and the fix is available via the Maple Customer Support Updates in Maple 2026 - I'm not sure you will be able to access this fix though if you only have Maple 2024. For those that do have Maple 2026, the Customer Support Updates requires a first installation via the command

PackageTools:-Install(4797495082876928); 

See also the help page here: https://jp.maplesoft.com/support/help/addons/view.aspx?path=SupportTools.

This is the new behaviour after the fix is installed:

SupportTools:-Version();

`The Customer Support Updates version in the MapleCloud is 35 and is the same as the version installed in this computer, created March 24, 2026, 06:15 hours Eastern Time.`

(1)

pic1 := plot(1-cos(t), t=0..2*Pi, coords=polar):
pic2 := plot(1+cos(t), t=0..2*Pi, coords=polar):
plots:-display(pic1, pic2, scaling=constrained);

 

Download 242322.mw

Cheers,
   Austin

Hi @C_R ,

Sorry I didn't notice this post until now.

Unfortunately upgrading SupportTools to work with 2026.0 had some unexpected issues that were not resolved before 2026.0 was released. The best way to fix these is to install the latest Maple Customer Support Update from the cloud via the GUI cloud interface or with this command:

PackageTools:-Install(4797495082876928);

This only needs to be done once to fix the issue. After that, SupportTools should work properly in 2026.0 and new updates can be installed via SupportTools:-Update() command. 

https://www.mapleprimes.com/maplesoftblog/234338-Maple-2026-Is-Here#comment206652

Cheers,
    Austin

For the record, this is now solved. The new solution is this:

sol := c__1+2*(3*(2*x+1)/x-1/(1/4*x/(2*x+1)^2/(x-1)^2*(1/(1/y(x)^2+1/(4*x^2-2*x-2))+4*x*(x-1)*(2*x+1)*(-1-1/2/x))+x^2/(2*x+1)/(x-1)))^(3/2)*x^3/(1/y(x)^2+1/(4*x^2-2*x-2))*(x-1)*(4*x^2-2*x-1/(1/y(x)^2+1/(4*x^2-2*x-2))-2)^2/(-1024*(x+1/2)^2*x*(x^2-1/2*x-1/4/(1/y(x)^2+1/(4*x^2-2*x-2))-1/2)*(x^3-3/4*x-3/8/(1/y(x)^2+1/(4*x^2-2*x-2))-1/4)^2*((x-1)*(8*x^3-2*x/(1/y(x)^2+1/(4*x^2-2*x-2))-6*x-3/(1/y(x)^2+1/(4*x^2-2*x-2))-2)/(8*x^3-6*x-3/(1/y(x)^2+1/(4*x^2-2*x-2))-2))^(3/2)+(x-1)*(1024*(x+1/2)^2*(x^5+(-1/4/(1/y(x)^2+1/(4*x^2-2*x-2))-1/2)*x^4+(-5/8/(1/y(x)^2+1/(4*x^2-2*x-2))-5/4)*x^3+(1/16/(1/y(x)^2+1/(4*x^2-2*x-2))^2-1/4/(1/y(x)^2+1/(4*x^2-2*x-2))+1/8)*x^2+(3/4/(1/y(x)^2+1/(4*x^2-2*x-2))+1/2)*x+9/32*(1/(1/y(x)^2+1/(4*x^2-2*x-2))+2/3)^2)*(x^3-3/4*x-3/8/(1/y(x)^2+1/(4*x^2-2*x-2))-1/4)*((x-1)*(8*x^3-2*x/(1/y(x)^2+1/(4*x^2-2*x-2))-6*x-3/(1/y(x)^2+1/(4*x^2-2*x-2))-2)/(8*x^3-6*x-3/(1/y(x)^2+1/(4*x^2-2*x-2))-2))^(1/2)+6*(3*(2*x+1)/x-1/(1/4*x/(2*x+1)^2/(x-1)^2*(1/(1/y(x)^2+1/(4*x^2-2*x-2))+4*x*(x-1)*(2*x+1)*(-1-1/2/x))+x^2/(2*x+1)/(x-1)))^(3/2)*x^3/(1/y(x)^2+1/(4*x^2-2*x-2))*ln((2*x+1)/((2*x+1)/x*(8*x^3-6*x-3/(1/y(x)^2+1/(4*x^2-2*x-2))-2)/(4*x^2-2*x-1/(1/y(x)^2+1/(4*x^2-2*x-2))-2))^(1/2)+((x-1)*(8*x^3-2*x/(1/y(x)^2+1/(4*x^2-2*x-2))-6*x-3/(1/y(x)^2+1/(4*x^2-2*x-2))-2)/(8*x^3-6*x-3/(1/y(x)^2+1/(4*x^2-2*x-2))-2))^(1/2))*(4*x^2-2*x-1/(1/y(x)^2+1/(4*x^2-2*x-2))-2)^2)) = 0

> odetest(sol, ode);
                                                                     0
Austin

Hi @nm,

I can confirm what @Kitonum wrote, that it is not in the mandate of 'simplify' to transform equations into simpler ones with equivalent solution sets. I would think this objective is better satisfied by the 'isolate', 'solve', or system solvers/simplifiers such as PDEtools:-casesplit. The restriction in 'simplify' is stronger: both the LHS and RHS must be, in general, mathematically equivalent in the output to what they were in the input.

One reason for this (other than that other commands are better suited) is that equations are not necessarily always meant to be solved, or to represent solution spaces. Sometimes, for example, they are just used for substitution or evaluation, and if you allow simplify to change the meaning of the LHS and RHS then the meaning of the corresponding substitution or evaluation will also change, sometimes counter to expectations.

Cheers,
   Austin

Hi @nm,

Thanks for this report. Although the example consists of an invalid IVP problem (i.e. the IC contradicts the ODE), nevertheless it would be good if odetest would not return [0,0] which indicates that the solution satsifies the IVP. Therefore, I considered this a bug and I was able to fix it:

ode:=2*y(x) + 2*x*y(x)^2 + (2*x + 2*x^2*y(x))*diff(y(x), x) = 0:
IC:=y(0) = 1:
my_sol_1:=x*y(x)*(2+y(x)*x)=0:
odetest(my_sol_1,[ode,IC]);

[0, 1]

Download 242128.mw


The fix should be available in the next beta release.

Cheers,

   Austin

Hi @nm

Thanks for finding this! This is now fixed and the fix should appear in the next beta release:

sol:=y(x) = -4/9*I*(x+1)^(1/4)*(x-1)^(1/4)*2^(1/2)*x^2+4/9*(x+1)^(1/4)*(x-1)^(1/4)*2^(1/2)*x^2+4/9*I*(x+1)^(1/4)*(x-1)^(1/4)*2^(1/2)+1/9*x^4-4/9*(x+1)^(1/4)*(x-1)^(1/4)*2^(1/2)-16/9*I*(x+1)^(1/2)*(x-1)^(1/2)-2/9*x^2+1/9:
ode:=(-x^2+1)*diff(y(x),x)+x*y(x) = x*(-x^2+1)*y(x)^(1/2):
IC:=y(0) = 1:

odetest(sol,[ode,IC]) assuming integer,positive;

[(1/3)*x*(-(x+1)^(3/4)*(x-1)^(3/4)*x^4+(x+1)^(3/4)*(x-1)^(3/4)*(-(4*I)*(x+1)^(1/4)*(x-1)^(1/4)*2^(1/2)*x^2+4*(x+1)^(1/4)*(x-1)^(1/4)*2^(1/2)*x^2+(4*I)*(x+1)^(1/4)*(x-1)^(1/4)*2^(1/2)+x^4-4*(x+1)^(1/4)*(x-1)^(1/4)*2^(1/2)-(16*I)*(x+1)^(1/2)*(x-1)^(1/2)-2*x^2+1)^(1/2)*x^2+2*(x+1)^(3/4)*(x-1)^(3/4)*x^2-(x+1)^(3/4)*(x-1)^(3/4)*(-(4*I)*(x+1)^(1/4)*(x-1)^(1/4)*2^(1/2)*x^2+4*(x+1)^(1/4)*(x-1)^(1/4)*2^(1/2)*x^2+(4*I)*(x+1)^(1/4)*(x-1)^(1/4)*2^(1/2)+x^4-4*(x+1)^(1/4)*(x-1)^(1/4)*2^(1/2)-(16*I)*(x+1)^(1/2)*(x-1)^(1/2)-2*x^2+1)^(1/2)+(2*I)*2^(1/2)*x^4-(x-1)^(3/4)*(x+1)^(3/4)-2*x^4*2^(1/2)-(4*I)*2^(1/2)*x^2+4*2^(1/2)*x^2+(2*I)*2^(1/2)-2*2^(1/2))/((x-1)^(3/4)*(x+1)^(3/4)), 0]

Download 242133.mw


Cheers,

  Austin

Hi @nm,

Thank you again for this report! I've added some extra precautions to avoid this type of error in the Lie symmetry methods algorithms. The new solution is very compact and tests correctly:

ode:=sin(x)*diff(y(x), x, x) + (2*sin(x) - cos(x))*diff(y(x), x) + (sin(x) - cos(x))*y(x) = exp(-x):

sol := dsolve(ode, Lie);

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

odetest(sol, ode);

0

Download 242054.mw


This fix should appear in the next [Maple 2026.0] beta.

Cheers,

  Austin

Hi @nm,

Another good catch! These are now fixed in the development version and the fix should appear in the next beta release:

eqs1:=[_C1+_C2 = 0, _C1*exp(3^(1/2)*((cos(1/6*Pi*3^(1/2))-1)*(cos(1/6*Pi*3^(1/2))+1))^(1/2)/(cos(1/6*Pi*3^(1/2))-1)^(1/2)/(cos(1/6*Pi*3^(1/2))+1)^(1/2)*ln(cos(1/6*Pi*3^(1/2))+(cos(1/6*Pi*3^(1/2))^2-1)^(1/2)))+_C2*exp(-3^(1/2)*((cos(1/6*Pi*3^(1/2))-1)*(cos(1/6*Pi*3^(1/2))+1))^(1/2)/(cos(1/6*Pi*3^(1/2))-1)^(1/2)/(cos(1/6*Pi*3^(1/2))+1)^(1/2)*ln(cos(1/6*Pi*3^(1/2))+(cos(1/6*Pi*3^(1/2))^2-1)^(1/2))) = 4];
c:=[_C1, _C2];

[_C1+_C2 = 0, _C1*exp(3^(1/2)*((cos((1/6)*Pi*3^(1/2))-1)*(cos((1/6)*Pi*3^(1/2))+1))^(1/2)*ln(cos((1/6)*Pi*3^(1/2))+(cos((1/6)*Pi*3^(1/2))^2-1)^(1/2))/((cos((1/6)*Pi*3^(1/2))-1)^(1/2)*(cos((1/6)*Pi*3^(1/2))+1)^(1/2)))+_C2*exp(-3^(1/2)*((cos((1/6)*Pi*3^(1/2))-1)*(cos((1/6)*Pi*3^(1/2))+1))^(1/2)*ln(cos((1/6)*Pi*3^(1/2))+(cos((1/6)*Pi*3^(1/2))^2-1)^(1/2))/((cos((1/6)*Pi*3^(1/2))-1)^(1/2)*(cos((1/6)*Pi*3^(1/2))+1)^(1/2))) = 4]

[_C1, _C2]

ans1 := solve(eqs1,c);

[[_C1 = 4/(exp(3^(1/2)*((cos((1/6)*Pi*3^(1/2))-1)*(cos((1/6)*Pi*3^(1/2))+1))^(1/2)*ln(cos((1/6)*Pi*3^(1/2))+(cos((1/6)*Pi*3^(1/2))^2-1)^(1/2))/((cos((1/6)*Pi*3^(1/2))-1)^(1/2)*(cos((1/6)*Pi*3^(1/2))+1)^(1/2)))-exp(-3^(1/2)*((cos((1/6)*Pi*3^(1/2))-1)*(cos((1/6)*Pi*3^(1/2))+1))^(1/2)*ln(cos((1/6)*Pi*3^(1/2))+(cos((1/6)*Pi*3^(1/2))^2-1)^(1/2))/((cos((1/6)*Pi*3^(1/2))-1)^(1/2)*(cos((1/6)*Pi*3^(1/2))+1)^(1/2)))), _C2 = -4/(exp(3^(1/2)*((cos((1/6)*Pi*3^(1/2))-1)*(cos((1/6)*Pi*3^(1/2))+1))^(1/2)*ln(cos((1/6)*Pi*3^(1/2))+(cos((1/6)*Pi*3^(1/2))^2-1)^(1/2))/((cos((1/6)*Pi*3^(1/2))-1)^(1/2)*(cos((1/6)*Pi*3^(1/2))+1)^(1/2)))-exp(-3^(1/2)*((cos((1/6)*Pi*3^(1/2))-1)*(cos((1/6)*Pi*3^(1/2))+1))^(1/2)*ln(cos((1/6)*Pi*3^(1/2))+(cos((1/6)*Pi*3^(1/2))^2-1)^(1/2))/((cos((1/6)*Pi*3^(1/2))-1)^(1/2)*(cos((1/6)*Pi*3^(1/2))+1)^(1/2))))]]

simplify(eval((lhs-rhs)~(eqs1), ans1[]));

[0, 0]

eqs2 := [3^(1/4*3^(1/2))*exp(3/4*Pi)*_C1-1/3*exp(3/4*Pi)*3^(-1/4*3^(1/2)+1/2
)*_C2 = 1, _C1/(cos(1/3*Pi*3^(1/2))-1)^(1/4)/(cos(1/3*Pi*3^(1/2))+1)^(1/4)*exp(
3/4*Pi-1/2*Pi*3^(1/2))*(cos(1/3*Pi*3^(1/2))^2-1)^(1/4)*3^(1/4*3^(1/2))*((cos(1/
3*Pi*3^(1/2))^2-1)^(1/2)+cos(1/3*Pi*3^(1/2)))^(1/2*3^(1/2))-_C2*3^(-1/2-1/4*3^(
1/2))/(cos(1/3*Pi*3^(1/2))-1)^(1/4)/(cos(1/3*Pi*3^(1/2))+1)^(1/4)*(cos(1/3*Pi*3
^(1/2))^2-1)^(1/4)*exp(3/4*Pi-1/2*Pi*3^(1/2))*((cos(1/3*Pi*3^(1/2))^2-1)^(1/2)+
cos(1/3*Pi*3^(1/2)))^(-1/2*3^(1/2)) = 5*exp(-1/2*Pi*3^(1/2))]:

ans2 := solve(eqs2, c);

[[_C1 = (5*3^(-(1/4)*3^(1/2)+1/2)*exp(-(1/2)*Pi*3^(1/2))*(-1+cos((1/3)*Pi*3^(1/2)))^(1/4)*(1+cos((1/3)*Pi*3^(1/2)))^(1/4)*exp((3/4)*Pi)-3*exp((3/4)*Pi-(1/2)*Pi*3^(1/2))*(cos((1/3)*Pi*3^(1/2))^2-1)^(1/4)*3^(-1/2-(1/4)*3^(1/2))*((cos((1/3)*Pi*3^(1/2))^2-1)^(1/2)+cos((1/3)*Pi*3^(1/2)))^(-(1/2)*3^(1/2)))/(3^((1/4)*3^(1/2))*exp((3/4)*Pi-(1/2)*Pi*3^(1/2))*(cos((1/3)*Pi*3^(1/2))^2-1)^(1/4)*(3^(-(1/4)*3^(1/2)+1/2)*((cos((1/3)*Pi*3^(1/2))^2-1)^(1/2)+cos((1/3)*Pi*3^(1/2)))^((1/2)*3^(1/2))-3*3^(-1/2-(1/4)*3^(1/2))*((cos((1/3)*Pi*3^(1/2))^2-1)^(1/2)+cos((1/3)*Pi*3^(1/2)))^(-(1/2)*3^(1/2)))*exp((3/4)*Pi)), _C2 = -3*(-5*exp(-(1/2)*Pi*3^(1/2))*(-1+cos((1/3)*Pi*3^(1/2)))^(1/4)*(1+cos((1/3)*Pi*3^(1/2)))^(1/4)*exp((3/4)*Pi)+exp((3/4)*Pi-(1/2)*Pi*3^(1/2))*(cos((1/3)*Pi*3^(1/2))^2-1)^(1/4)*((cos((1/3)*Pi*3^(1/2))^2-1)^(1/2)+cos((1/3)*Pi*3^(1/2)))^((1/2)*3^(1/2)))/(exp((3/4)*Pi-(1/2)*Pi*3^(1/2))*(cos((1/3)*Pi*3^(1/2))^2-1)^(1/4)*(3^(-(1/4)*3^(1/2)+1/2)*((cos((1/3)*Pi*3^(1/2))^2-1)^(1/2)+cos((1/3)*Pi*3^(1/2)))^((1/2)*3^(1/2))-3*3^(-1/2-(1/4)*3^(1/2))*((cos((1/3)*Pi*3^(1/2))^2-1)^(1/2)+cos((1/3)*Pi*3^(1/2)))^(-(1/2)*3^(1/2)))*exp((3/4)*Pi))]]

simplify(eval((lhs-rhs)~(eqs2), ans2[1]));

[0, 0]

eqs3 := [3^(1/2*3^(1/2))*exp(1/2*Pi)*_C1-1/6*3^(-1/2*3^(1/2)+1/2)*exp(1/2*Pi
)*_C2 = 5, _C1/(cos(1/6*Pi*3^(1/2))-1)^(1/4)/(cos(1/6*Pi*3^(1/2))+1)^(1/4)*exp(
1/2*Pi-1/6*Pi*3^(1/2))*(cos(1/6*Pi*3^(1/2))^2-1)^(1/4)*3^(1/2*3^(1/2))*((cos(1/
6*Pi*3^(1/2))^2-1)^(1/2)+cos(1/6*Pi*3^(1/2)))^(3^(1/2))-1/6*_C2*3^(-1/2*3^(1/2)
+1/2)/(cos(1/6*Pi*3^(1/2))-1)^(1/4)/(cos(1/6*Pi*3^(1/2))+1)^(1/4)*exp(1/2*Pi-1/
6*Pi*3^(1/2))*(cos(1/6*Pi*3^(1/2))^2-1)^(1/4)*((cos(1/6*Pi*3^(1/2))^2-1)^(1/2)+
cos(1/6*Pi*3^(1/2)))^(-3^(1/2)) = 2*exp(-1/6*Pi*3^(1/2))]:

ans3 := solve(eqs3, c);

[[_C1 = (2*exp(-(1/6)*Pi*3^(1/2))*(cos((1/6)*Pi*3^(1/2))-1)^(1/4)*(cos((1/6)*Pi*3^(1/2))+1)^(1/4)*exp((1/2)*Pi)-5*exp((1/2)*Pi-(1/6)*Pi*3^(1/2))*(cos((1/6)*Pi*3^(1/2))^2-1)^(1/4)*(cos((1/6)*Pi*3^(1/2))+(cos((1/6)*Pi*3^(1/2))^2-1)^(1/2))^(-3^(1/2)))/(3^((1/2)*3^(1/2))*exp((1/2)*Pi-(1/6)*Pi*3^(1/2))*(cos((1/6)*Pi*3^(1/2))^2-1)^(1/4)*((cos((1/6)*Pi*3^(1/2))+(cos((1/6)*Pi*3^(1/2))^2-1)^(1/2))^(3^(1/2))-(cos((1/6)*Pi*3^(1/2))+(cos((1/6)*Pi*3^(1/2))^2-1)^(1/2))^(-3^(1/2)))*exp((1/2)*Pi)), _C2 = 6*(2*exp(-(1/6)*Pi*3^(1/2))*(cos((1/6)*Pi*3^(1/2))-1)^(1/4)*(cos((1/6)*Pi*3^(1/2))+1)^(1/4)*exp((1/2)*Pi)-5*exp((1/2)*Pi-(1/6)*Pi*3^(1/2))*(cos((1/6)*Pi*3^(1/2))^2-1)^(1/4)*(cos((1/6)*Pi*3^(1/2))+(cos((1/6)*Pi*3^(1/2))^2-1)^(1/2))^(3^(1/2)))/(3^(-(1/2)*3^(1/2)+1/2)*exp((1/2)*Pi-(1/6)*Pi*3^(1/2))*(cos((1/6)*Pi*3^(1/2))^2-1)^(1/4)*((cos((1/6)*Pi*3^(1/2))+(cos((1/6)*Pi*3^(1/2))^2-1)^(1/2))^(3^(1/2))-(cos((1/6)*Pi*3^(1/2))+(cos((1/6)*Pi*3^(1/2))^2-1)^(1/2))^(-3^(1/2)))*exp((1/2)*Pi))]]

simplify(eval((lhs-rhs)~(eqs3), ans3[1]));

[0, 0]

Download 242071.mw


Cheers,

   Austin

Hi @nm,

Thank you for noticing this inconsistency. I've put in a fix that should appear in the next beta release:

ode := diff(y(x),x) + cos(1/exp(2*x))*y(x) = sin(1/exp(x)):
IC := a*D(y)(x0)+c*y(x0) = b*y0:
sol:=y(x) = ((-cos(exp(-2*x0))*a + c)*Int(sin(exp(-tau))*exp(-1/2*Ci(exp(-2*tau))), tau = 0 .. x0) + Int(sin(exp(-tau))*exp(-1/2*Ci(exp(-2*tau))), tau = 0 .. x)*(cos(exp(-2*x0))*a - c) + exp(-1/2*Ci(exp(-2*x0)))*(a*sin(exp(-x0)) - b*y0))*exp(1/2*Ci(exp(-2*x)))/(cos(exp(-2*x0))*a - c):

odetest(sol,ode);

0

 

odetest(sol, [ode, IC]);

[0, 0]

 

Download 242077.mw

Cheers,

     Austin

Hi @nm,

Thank you for this important report. I've put in a fix that should appear in the next beta release:

A := Matrix(2,2,[2/3,3,0,6/5]):

simplify(A);

Matrix(2, 2, {(1, 1) = 2/3, (1, 2) = 3, (2, 1) = 0, (2, 2) = 6/5})

(1)

A[2,2] := 1:

simplify(A);

Matrix(2, 2, {(1, 1) = 2/3, (1, 2) = 3, (2, 1) = 0, (2, 2) = 1})

(2)
Download 242116.mw


Cheers,

   Austin

Hi @nm,

In cmaple, there are no missing commas:

So, it seems this is just a problem of the GUI not displaying the commas properly.

Austin

Hi @nm,

Thanks for this report. Here's my response:

Example1:

ode:=diff(y(x), x) = y(x)*(-1 - x^(2/(ln(x) + 1))*exp(2*ln(x)^2/(ln(x) + 1))*x^2 - x^(2/(ln(x) + 1))*exp(2*ln(x)^2/(ln(x) + 1))*x^2*ln(x) + x^(2/(ln(x) + 1))*exp(2*ln(x)^2/(ln(x) + 1))*x^2*y(x) + 2*x^(2/(ln(x) + 1))*exp(2*ln(x)^2/(ln(x) + 1))*x^2*y(x)*ln(x) + x^(2/(ln(x) + 1))*exp(2*ln(x)^2/(ln(x) + 1))*x^2*y(x)*ln(x)^2)/((ln(x) + 1)*x):

sol_1:=dsolve(ode);

y(x) = exp(-(1/4)*x^4)/(ln(x)^2*x^(-2*ln(x)/(ln(x)+1))*exp((1/4)*(-x^4*ln(x)-x^4+8*ln(x)^2-4*ln(ln(x)+1)*ln(x)-4*ln(ln(x)+1))/(ln(x)+1))+2*ln(x)*x^(-2*ln(x)/(ln(x)+1))*exp((1/4)*(-x^4*ln(x)-x^4+8*ln(x)^2-4*ln(ln(x)+1)*ln(x)-4*ln(ln(x)+1))/(ln(x)+1))+ln(x)*c__1+x^(-2*ln(x)/(ln(x)+1))*exp((1/4)*(-x^4*ln(x)-x^4+8*ln(x)^2-4*ln(ln(x)+1)*ln(x)-4*ln(ln(x)+1))/(ln(x)+1))+c__1)

(1)

odetest(sol_1,ode);

0

(2)

This result from simplify is actually correct, and as you mentioned, a considerable improvement:

sol_2:=simplify(sol_1);

y(x) = 1/((ln(x)+1)*(c__1*exp((1/4)*x^4)+1))

(3)

The weakness here is actually in odetest:

remainder := odetest(sol_2,ode);

x^(ln(x)/(ln(x)+1)+3/(ln(x)+1))*c__1*exp(2*ln(x)^2/(ln(x)+1)+(1/4)*x^4)/((c__1*exp((1/4)*x^4)+1)^2*(ln(x)+1))-c__1*x^3*exp((1/4)*x^4)/((ln(x)+1)*(c__1*exp((1/4)*x^4)+1)^2)

(4)

It's a weakness that simplify doesn't recognize that the remainder is 0:

simplify(remainder);

-c__1*exp((1/4)*x^4)*(x^3-x^((ln(x)+3)/(ln(x)+1))*exp(2*ln(x)^2/(ln(x)+1)))/((c__1*exp((1/4)*x^4)+1)^2*(ln(x)+1))

(5)

However, simplify just needs a little help to prove it:

simplify(eval(%, x=X/exp(1)));

0

(6)

Example2:

f := sqrt(1 + sin(x)^2);
F := int(f, x);
df := diff(F, x):
simplify(df - f);

(1+sin(x)^2)^(1/2)

 

((1+sin(x)^2)*cos(x)^2)^(1/2)*(cos(x)^2)^(1/2)*EllipticE(sin(x), I)/((-sin(x)^4+1)^(1/2)*cos(x))

 

0

(7)

F2 := simplify(F);
df2 := diff(F2, x):
simplify(df2 - f);

csgn(cos(x))*EllipticE(sin(x), I)

 

-csgn(1, cos(x))*sin(x)*EllipticE(sin(x), I)

(8)

Note this quote from the ?int,details help page:

Handling Discontinuities

 
• 

Note that the indefinite integral in Maple is defined up to a piecewise constant. Hence, the results returned by int may be discontinuous at some points. In many cases, you can ensure continuity by replacing an indefinite integration problem by the corresponding definite integral.

F and F2 above are actually equal expressions mathematically, which we can tell from the plots:

plot(F, x=-2*Pi..2*Pi), plot(F2, x=-2*Pi..2*Pi);

INTERFACE_PLOT(CURVES(Matrix(244, 2, {(1, 1) = -6.283185295, (1, 2) = 0.1217958648e-7, (2, 1) = -6.217116282, (2, 2) = 0.6611701837e-1, (3, 1) = -6.159629987, (3, 2) = .1238680151, (4, 1) = -6.094980636, (4, 2) = .1893021599, (5, 1) = -6.0299027469999995, (5, 2) = .2559314012, (6, 1) = -5.965134162, (6, 2) = .3232309191, (7, 1) = -5.905085392, (7, 2) = .386682464, (8, 1) = -5.84290837, (8, 2) = .4536052645, (9, 1) = -5.778604804, (9, 2) = .5242580538, (10, 1) = -5.714507461, (10, 2) = .596249366, (11, 1) = -5.648575464, (11, 2) = .6720116477, (12, 1) = -5.590502526, (12, 2) = .7402187420999999, (13, 1) = -5.525126153, (13, 2) = .8186730769, (14, 1) = -5.459481337, (14, 2) = .8992163441, (15, 1) = -5.396220394, (15, 2) = .978472231, (16, 1) = -5.338773397, (16, 2) = 1.051786629, (17, 1) = -5.270463361, (17, 2) = 1.140542461, (18, 1) = -5.2125958, (18, 2) = 1.21698501, (19, 1) = -5.14528207, (19, 2) = 1.307230971, (20, 1) = -5.085698014, (20, 2) = 1.388184117, (21, 1) = -5.02032486, (21, 2) = 1.478012144, (22, 1) = -4.9580741580000005, (22, 2) = 1.564382092, (23, 1) = -4.893122081, (23, 2) = 1.655196587, (24, 1) = -4.833475799, (24, 2) = 1.739065122, (25, 1) = -4.801307512, (25, 2) = 1.7844318729999973, (26, 1) = -4.769139225, (26, 2) = 1.829863465, (27, 1) = -4.7524323205000005, (27, 2) = 1.8534766249999617, (28, 1) = -4.735725416, (28, 2) = 1.8770976880002048, (29, 1) = -4.7273719637500005, (29, 2) = 1.8889101530001908, (30, 1) = -4.7190185115, (30, 2) = 1.9007233559989454, (31, 1) = -4.7169301484375, (31, 2) = 1.9036767240053527, (32, 1) = -4.714841785375, (32, 2) = 1.906630105989005, (33, 1) = -4.712753422312501, (33, 2) = 1.9095834954727415, (34, 1) = -4.71066505925, (34, 2) = -1.907660902024767, (35, 1) = -4.706488333125, (35, 2) = -1.9017541430014686, (36, 1) = -4.702311607, (36, 2) = -1.895847556, (37, 1) = -4.673224787500001, (37, 2) = -1.8547194399999387, (38, 1) = -4.644137968, (38, 2) = -1.813614817, (39, 1) = -4.581308845, (39, 2) = -1.724988445, (40, 1) = -4.516400213, (40, 2) = -1.633811869, (41, 1) = -4.45289978, (41, 2) = -1.545167552, (42, 1) = -4.391459846, (42, 2) = -1.460081755, (43, 1) = -4.323241274, (43, 2) = -1.366574024, (44, 1) = -4.261943854, (44, 2) = -1.283569751, (45, 1) = -4.196495773, (45, 2) = -1.196154988, (46, 1) = -4.137190085, (46, 2) = -1.118137239, (47, 1) = -4.072353303, (47, 2) = -1.034252108, (48, 1) = -4.011346944, (48, 2) = -.9567539629, (49, 1) = -3.94757772, (49, 2) = -.8773034001, (50, 1) = -3.885231649, (50, 2) = -.8012164833, (51, 1) = -3.819961089, (51, 2) = -.7232769975, (52, 1) = -3.757097783, (52, 2) = -.6498765644, (53, 1) = -3.692810973, (53, 2) = -.5764798219, (54, 1) = -3.62905649, (54, 2) = -.5053016247, (55, 1) = -3.570472742, (55, 2) = -.4412394454, (56, 1) = -3.503329155, (56, 2) = -.3692823393, (57, 1) = -3.443275131, (57, 2) = -.3061180279, (58, 1) = -3.379245015, (58, 2) = -.2398461826, (59, 1) = -3.317960024, (59, 2) = -.1772718725, (60, 1) = -3.249910918, (60, 2) = -.1085292123, (61, 1) = -3.190985392, (61, 2) = -0.4941280471e-1, (62, 1) = -3.124104393, (62, 2) = 0.1748915193e-1, (63, 1) = -3.063149623, (63, 2) = 0.7852330514e-1, (64, 1) = -2.996474684, (64, 2) = .1456235928, (65, 1) = -2.938945488, (65, 2) = .2040145399, (66, 1) = -2.873426448, (66, 2) = .2713017161, (67, 1) = -2.810138291, (67, 2) = .3372999515, (68, 1) = -2.746891478, (68, 2) = .4044235733, (69, 1) = -2.683877339, (69, 2) = .47261567, (70, 1) = -2.623340478, (70, 2) = .5394793032, (71, 1) = -2.557898529, (71, 2) = .6133497622999999, (72, 1) = -2.495527606, (72, 2) = .6853556922, (73, 1) = -2.429885147, (73, 2) = .7628667984999999, (74, 1) = -2.370462914, (74, 2) = .8345698347, (75, 1) = -2.304790223, (75, 2) = .9154963725, (76, 1) = -2.241887228, (76, 2) = .9946235416, (77, 1) = -2.179137341, (77, 2) = 1.075068057, (78, 1) = -2.113594842, (78, 2) = 1.160613797, (79, 1) = -2.053227806, (79, 2) = 1.24068293, (80, 1) = -1.991403705, (80, 2) = 1.323844711, (81, 1) = -1.923142551, (81, 2) = 1.416880992, (82, 1) = -1.861337667, (82, 2) = 1.502071221, (83, 1) = -1.798130597, (83, 2) = 1.589975345, (84, 1) = -1.733850635, (84, 2) = 1.680014474, (85, 1) = -1.674764841, (85, 2) = 1.763197479, (86, 1) = -1.6432730695, (86, 2) = 1.807646140000001, (87, 1) = -1.611781298, (87, 2) = 1.852145477, (88, 1) = -1.596155271, (88, 2) = 1.8742378529999932, (89, 1) = -1.580529244, (89, 2) = 1.8963345800007954, (90, 1) = -1.5766227372500001, (90, 2) = 1.9018591289981701, (91, 1) = -1.5727162305, (91, 2) = 1.9073837410000234, (92, 1) = -1.5707629771249998, (92, 2) = -1.910051668590898, (93, 1) = -1.5688097237499998, (93, 2) = -1.9072894139870107, (94, 1) = -1.5668564703749999, (94, 2) = -1.904527102998631, (95, 1) = -1.564903217, (95, 2) = -1.9017648029992629, (96, 1) = -1.5570902035, (96, 2) = -1.8907158119997216, (97, 1) = -1.54927719, (97, 2) = -1.87966739, (98, 1) = -1.5158472065, (98, 2) = -1.8324086490000036, (99, 1) = -1.482417223, (99, 2) = -1.785193238, (100, 1) = -1.423416198, (100, 2) = -1.702048159, (101, 1) = -1.355341264, (101, 2) = -1.606571279, (102, 1) = -1.293908884, (102, 2) = -1.520998641, (103, 1) = -1.233124755, (103, 2) = -1.437031821, (104, 1) = -1.16776229, (104, 2) = -1.347680783, (105, 1) = -1.10213542, (105, 2) = -1.259108689, (106, 1) = -1.042424685, (106, 2) = -1.179641626, (107, 1) = -.979014537, (107, 2) = -1.096538357, (108, 1) = -.91713243, (108, 2) = -1.016816635, (109, 1) = -.850051574, (109, 2) = -.9320333772, (110, 1) = -.792007982, (110, 2) = -.860107646, (111, 1) = -.725342807, (111, 2) = -.7791911951, (112, 1) = -.662674038, (112, 2) = -.7047993370000001, (113, 1) = -.600610581, (113, 2) = -.6327228684999999, (114, 1) = -.538497751, (114, 2) = -.5621521715, (115, 1) = -.475146597, (115, 2) = -.4917285207, (116, 1) = -.407995435, (116, 2) = -.4186963322, (117, 1) = -.346424395, (117, 2) = -.3530758408, (118, 1) = -.285645873, (118, 2) = -.2894229735, (119, 1) = -.220674633, (119, 2) = -.2224357442, (120, 1) = -.155844829, (120, 2) = -.1564703689, (121, 1) = -0.9765623e-1, (121, 2) = -0.9781093419e-1, (122, 1) = -0.28727639e-1, (122, 2) = -0.2873158923e-1, (123, 1) = 0.28948609e-1, (123, 2) = 0.2895265108e-1, (124, 1) = 0.96407458e-1, (124, 2) = 0.9655631557e-1, (125, 1) = .160790399, (125, 2) = .1614770292, (126, 1) = .218276695, (126, 2) = .219981631, (127, 1) = .282926043, (127, 2) = .2865981904, (128, 1) = .348003936, (128, 2) = .3547443254, (129, 1) = .412772519, (129, 2) = .423839571, (130, 1) = .472821287, (130, 2) = .4891724426, (131, 1) = .534998312, (131, 2) = .5582217656999999, (132, 1) = .599301876, (132, 2) = .6312199756, (133, 1) = .66339922, (133, 2) = .7056508801, (134, 1) = .729331215, (134, 2) = .783980722, (135, 1) = .787404152, (135, 2) = .8544610386, (136, 1) = .852780531, (136, 2) = .935448202, (137, 1) = .918425344, (137, 2) = 1.018467742, (138, 1) = .981686284, (138, 2) = 1.100011679, (139, 1) = 1.039133283, (139, 2) = 1.175294458, (140, 1) = 1.107443323, (140, 2) = 1.266226243, (141, 1) = 1.165310878, (141, 2) = 1.344350753, (142, 1) = 1.232624612, (142, 2) = 1.436344221, (143, 1) = 1.292208665, (143, 2) = 1.518639792, (144, 1) = 1.357581823, (144, 2) = 1.609703861, (145, 1) = 1.419832522, (145, 2) = 1.69700814, (146, 1) = 1.4847846, (146, 2) = 1.788534862, (147, 1) = 1.514607742, (147, 2) = 1.8306571339999915, (148, 1) = 1.544430884, (148, 2) = 1.872814578, (149, 1) = 1.5524729555, (149, 2) = 1.8841864589997026, (150, 1) = 1.560515027, (150, 2) = 1.8955590690002697, (151, 1) = 1.5645360627500002, (151, 2) = 1.9012455730013702, (152, 1) = 1.5685570985000001, (152, 2) = 1.9069321490033861, (153, 1) = 1.570567616375, (153, 2) = 1.9097754477577096, (154, 1) = 1.57257813425, (154, 2) = -1.9075790389955893, (155, 1) = 1.574588652125, (155, 2) = -1.9047357430028689, (156, 1) = 1.5765991700000002, (156, 2) = -1.901892458001876, (157, 1) = 1.5926833130000002, (157, 2) = -1.8791472570001604, (158, 1) = 1.608767456, (158, 2) = -1.85640609, (159, 1) = 1.642181265, (159, 2) = -1.8091881890000099, (160, 1) = 1.675595074, (160, 2) = -1.762026534, (161, 1) = 1.733768712, (161, 2) = -1.680129568, (162, 1) = 1.796597837, (162, 2) = -1.59211547, (163, 1) = 1.861506469, (163, 2) = -1.501837454, (164, 1) = 1.925006903, (164, 2) = -1.414324517, (165, 1) = 1.986446838, (165, 2) = -1.330559612, (166, 1) = 2.054665408, (166, 2) = -1.238762683, (167, 1) = 2.115962825, (167, 2) = -1.157497272, (168, 1) = 2.181410908, (168, 2) = -1.072127927, (169, 1) = 2.240716599, (169, 2) = -.9961106938, (170, 1) = 2.305553376, (170, 2) = -.9145459687, (171, 1) = 2.366559739, (171, 2) = -.8393305630000001, (172, 1) = 2.430328961, (172, 2) = -.7623367518999999, (173, 1) = 2.492675032, (173, 2) = -.6886870238, (174, 1) = 2.557945595, (174, 2) = -.6132960225999999, (175, 1) = 2.620808895, (175, 2) = -.5423057048, (176, 1) = 2.685095706, (176, 2) = -.4712839148, (177, 1) = 2.74885019, (177, 2) = -.4023256743, (178, 1) = 2.80743394, (178, 2) = -.3401449639, (179, 1) = 2.874577523, (179, 2) = -.2701110837, (180, 1) = 2.934631552, (180, 2) = -.2084167904, (181, 1) = 2.998661668, (181, 2) = -.1434141973, (182, 1) = 3.059946657, (182, 2) = -0.8173649515e-1, (183, 1) = 3.127995764, (183, 2) = -0.1359730852e-1, (184, 1) = 3.186921288, (184, 2) = 0.4534414593e-1, (185, 1) = 3.253802291, (185, 2) = .112444077, (186, 1) = 3.314757057, (186, 2) = .1740208463, (187, 1) = 3.381431996, (187, 2) = .2420934852, (188, 1) = 3.438961194, (188, 2) = .3016202121, (189, 1) = 3.50448023, (189, 2) = .3705035777, (190, 1) = 3.567768387, (190, 2) = .4383118491, (191, 1) = 3.631015202, (191, 2) = .507465268, (192, 1) = 3.694029343, (192, 2) = .5778554645, (193, 1) = 3.754566205, (193, 2) = .6469546315, (194, 1) = 3.820008145, (194, 2) = .7233325516, (195, 1) = 3.882379075, (195, 2) = .797773404, (196, 1) = 3.948021535, (196, 2) = .8778507164, (197, 1) = 4.007443765, (197, 2) = .9518445897, (198, 1) = 4.073116455, (198, 2) = 1.035230517, (199, 1) = 4.136019455, (199, 2) = 1.116609341, (200, 1) = 4.198769335, (200, 2) = 1.199169168, (201, 1) = 4.264311835, (201, 2) = 1.286756761, (202, 1) = 4.324678875, (202, 2) = 1.368532837, (203, 1) = 4.386502975, (203, 2) = 1.453250975, (204, 1) = 4.454764125, (204, 2) = 1.547760685, (205, 1) = 4.516569015, (205, 2) = 1.634048318, (206, 1) = 4.579776085, (206, 2) = 1.722830177, (207, 1) = 4.644056045, (207, 2) = 1.813499109, (208, 1) = 4.67359894, (208, 2) = 1.8552483709999785, (209, 1) = 4.703141835, (209, 2) = 1.897022717, (210, 1) = 4.707078306875, (210, 2) = 1.902588486000359, (211, 1) = 4.71101477875, (211, 2) = 1.9081554800004745, (212, 1) = 4.7129830146875005, (212, 2) = -1.9092588030647895, (213, 1) = 4.714951250625, (213, 2) = -1.9064752989922698, (214, 1) = 4.7169194865624995, (214, 2) = -1.9036918020030833, (215, 1) = 4.7188877225, (215, 2) = -1.900908317997764, (216, 1) = 4.72676066625, (216, 2) = -1.8897746110003135, (217, 1) = 4.7346336099999995, (217, 2) = -1.8786415349998113, (218, 1) = 4.750379497499999, (218, 2) = -1.8563786510000528, (219, 1) = 4.766125385, (219, 2) = -1.834122419, (220, 1) = 4.797377435, (220, 2) = -1.7899793499999992, (221, 1) = 4.828629485, (221, 2) = -1.74589478, (222, 1) = 4.895489455, (222, 2) = -1.651876123, (223, 1) = 4.954490485, (223, 2) = -1.569375738, (224, 1) = 5.022565415, (224, 2) = -1.474917675, (225, 1) = 5.083997795, (225, 2) = -1.390507621, (226, 1) = 5.144781925, (226, 2) = -1.307906483, (227, 1) = 5.210144395, (227, 2) = -1.220247321, (228, 1) = 5.275771255, (228, 2) = -1.133586923, (229, 1) = 5.335481995, (229, 2) = -1.056024634, (230, 1) = 5.398892145, (230, 2) = -.9750931677, (231, 1) = 5.4607742550000005, (231, 2) = -.8976131135, (232, 1) = 5.527855115, (232, 2) = -.8153629099999999, (233, 1) = 5.585898695, (233, 2) = -.7456856406000001, (234, 1) = 5.652563875, (234, 2) = -.6673782466, (235, 1) = 5.715232645, (235, 2) = -.5954258195, (236, 1) = 5.777296105, (236, 2) = -.5257119875, (237, 1) = 5.839408935, (237, 2) = -.4574114365, (238, 1) = 5.902760085000001, (238, 2) = -.3891620248, (239, 1) = 5.9699112450000005, (239, 2) = -.318228927, (240, 1) = 6.031482285, (240, 2) = -.25430332, (241, 1) = 6.0922608050000004, (241, 2) = -.1920698562, (242, 1) = 6.157232055, (242, 2) = -.1262844402, (243, 1) = 6.222061845, (243, 2) = -0.6116147283e-1, (244, 1) = 6.283185295, (244, 2) = -0.1217958648e-7}, datatype = float[8]), COLOUR(RGB, .47058824, 0., 0.54901961e-1, _ATTRIBUTE("source" = "mathdefault"))), AXESLABELS(x, ""), AXESTICKS(_PITICKS, DEFAULT, _ATTRIBUTE("source" = "mathdefault")), VIEW(-6.283185295 .. 6.283185295, DEFAULT, _ATTRIBUTE("source" = "mathdefault")), _ATTRIBUTE("input" = [TABLE([1 = plot, 2 = [((1+sin(x)^2)*cos(x)^2)^(1/2)*(cos(x)^2)^(1/2)*EllipticE(sin(x), I)/((-sin(x)^4+1)^(1/2)*cos(x))], 3 = (x = -2*Pi .. 2*Pi)]), "originalview" = [-6.28318529500000000 .. 6.28318529500000000, -1.91005166859089792 .. 1.90977544775770958], "originalaxesticks" = AXESTICKS(_PITICKS, DEFAULT, _ATTRIBUTE("source" = "mathdefault"))])), INTERFACE_PLOT(CURVES(Matrix(244, 2, {(1, 1) = -6.283185295, (1, 2) = 0.1217958648e-7, (2, 1) = -6.217116282, (2, 2) = 0.6611701837e-1, (3, 1) = -6.159629987, (3, 2) = .1238680151, (4, 1) = -6.094980636, (4, 2) = .1893021599, (5, 1) = -6.0299027469999995, (5, 2) = .2559314012, (6, 1) = -5.965134162, (6, 2) = .3232309192, (7, 1) = -5.905085392, (7, 2) = .386682464, (8, 1) = -5.84290837, (8, 2) = .4536052646, (9, 1) = -5.778604804, (9, 2) = .5242580539, (10, 1) = -5.714507461, (10, 2) = .596249366, (11, 1) = -5.648575464, (11, 2) = .6720116477, (12, 1) = -5.590502526, (12, 2) = .7402187420999999, (13, 1) = -5.525126153, (13, 2) = .8186730769, (14, 1) = -5.459481337, (14, 2) = .8992163442, (15, 1) = -5.396220394, (15, 2) = .978472231, (16, 1) = -5.338773397, (16, 2) = 1.05178663, (17, 1) = -5.270463361, (17, 2) = 1.140542461, (18, 1) = -5.2125958, (18, 2) = 1.21698501, (19, 1) = -5.14528207, (19, 2) = 1.307230971, (20, 1) = -5.085698014, (20, 2) = 1.388184117, (21, 1) = -5.02032486, (21, 2) = 1.478012144, (22, 1) = -4.9580741580000005, (22, 2) = 1.564382092, (23, 1) = -4.893122081, (23, 2) = 1.655196589, (24, 1) = -4.833475799, (24, 2) = 1.73906512, (25, 1) = -4.801307512, (25, 2) = 1.784431873, (26, 1) = -4.769139225, (26, 2) = 1.82986346, (27, 1) = -4.7524323205000005, (27, 2) = 1.853476625, (28, 1) = -4.735725416, (28, 2) = 1.877097688, (29, 1) = -4.7273719637500005, (29, 2) = 1.888910153, (30, 1) = -4.7190185115, (30, 2) = 1.900723356, (31, 1) = -4.7169301484375, (31, 2) = 1.903676724, (32, 1) = -4.714841785375, (32, 2) = 1.906630106, (33, 1) = -4.712753422312501, (33, 2) = 1.909583496, (34, 1) = -4.71066505925, (34, 2) = -1.907660902, (35, 1) = -4.706488333125, (35, 2) = -1.901754143, (36, 1) = -4.702311607, (36, 2) = -1.895847457, (37, 1) = -4.673224787500001, (37, 2) = -1.85471944, (38, 1) = -4.644137968, (38, 2) = -1.813614833, (39, 1) = -4.581308845, (39, 2) = -1.724988446, (40, 1) = -4.516400213, (40, 2) = -1.633811869, (41, 1) = -4.45289978, (41, 2) = -1.545167553, (42, 1) = -4.391459846, (42, 2) = -1.460081755, (43, 1) = -4.323241274, (43, 2) = -1.366574024, (44, 1) = -4.261943854, (44, 2) = -1.283569751, (45, 1) = -4.196495773, (45, 2) = -1.196154989, (46, 1) = -4.137190085, (46, 2) = -1.118137239, (47, 1) = -4.072353303, (47, 2) = -1.034252107, (48, 1) = -4.011346944, (48, 2) = -.9567539629, (49, 1) = -3.94757772, (49, 2) = -.8773034001, (50, 1) = -3.885231649, (50, 2) = -.8012164835, (51, 1) = -3.819961089, (51, 2) = -.7232769975, (52, 1) = -3.757097783, (52, 2) = -.6498765645, (53, 1) = -3.692810973, (53, 2) = -.5764798219, (54, 1) = -3.62905649, (54, 2) = -.505301625, (55, 1) = -3.570472742, (55, 2) = -.4412394456, (56, 1) = -3.503329155, (56, 2) = -.3692823389, (57, 1) = -3.443275131, (57, 2) = -.3061180281, (58, 1) = -3.379245015, (58, 2) = -.2398461826, (59, 1) = -3.317960024, (59, 2) = -.1772718723, (60, 1) = -3.249910918, (60, 2) = -.1085292123, (61, 1) = -3.190985392, (61, 2) = -0.4941280472e-1, (62, 1) = -3.124104393, (62, 2) = 0.1748915193e-1, (63, 1) = -3.063149623, (63, 2) = 0.7852330514e-1, (64, 1) = -2.996474684, (64, 2) = .1456235928, (65, 1) = -2.938945488, (65, 2) = .2040145399, (66, 1) = -2.873426448, (66, 2) = .2713017161, (67, 1) = -2.810138291, (67, 2) = .3372999516, (68, 1) = -2.746891478, (68, 2) = .4044235735, (69, 1) = -2.683877339, (69, 2) = .4726156701, (70, 1) = -2.623340478, (70, 2) = .5394793032, (71, 1) = -2.557898529, (71, 2) = .6133497623999999, (72, 1) = -2.495527606, (72, 2) = .6853556923, (73, 1) = -2.429885147, (73, 2) = .7628667989, (74, 1) = -2.370462914, (74, 2) = .8345698347, (75, 1) = -2.304790223, (75, 2) = .9154963728, (76, 1) = -2.241887228, (76, 2) = .9946235416, (77, 1) = -2.179137341, (77, 2) = 1.075068057, (78, 1) = -2.113594842, (78, 2) = 1.160613797, (79, 1) = -2.053227806, (79, 2) = 1.24068293, (80, 1) = -1.991403705, (80, 2) = 1.323844711, (81, 1) = -1.923142551, (81, 2) = 1.416880992, (82, 1) = -1.861337667, (82, 2) = 1.502071222, (83, 1) = -1.798130597, (83, 2) = 1.589975343, (84, 1) = -1.733850635, (84, 2) = 1.680014475, (85, 1) = -1.674764841, (85, 2) = 1.763197479, (86, 1) = -1.6432730695, (86, 2) = 1.80764614, (87, 1) = -1.611781298, (87, 2) = 1.852145503, (88, 1) = -1.596155271, (88, 2) = 1.874237853, (89, 1) = -1.580529244, (89, 2) = 1.89633458, (90, 1) = -1.5766227372500001, (90, 2) = 1.901859129, (91, 1) = -1.5727162305, (91, 2) = 1.907383741, (92, 1) = -1.5707629771249998, (92, 2) = -1.910051731, (93, 1) = -1.5688097237499998, (93, 2) = -1.907289414, (94, 1) = -1.5668564703749999, (94, 2) = -1.904527103, (95, 1) = -1.564903217, (95, 2) = -1.901764803, (96, 1) = -1.5570902035, (96, 2) = -1.890715812, (97, 1) = -1.54927719, (97, 2) = -1.879667413, (98, 1) = -1.5158472065, (98, 2) = -1.832408649, (99, 1) = -1.482417223, (99, 2) = -1.785193242, (100, 1) = -1.423416198, (100, 2) = -1.702048161, (101, 1) = -1.355341264, (101, 2) = -1.606571277, (102, 1) = -1.293908884, (102, 2) = -1.520998642, (103, 1) = -1.233124755, (103, 2) = -1.43703182, (104, 1) = -1.16776229, (104, 2) = -1.347680782, (105, 1) = -1.10213542, (105, 2) = -1.259108689, (106, 1) = -1.042424685, (106, 2) = -1.179641626, (107, 1) = -.979014537, (107, 2) = -1.096538357, (108, 1) = -.91713243, (108, 2) = -1.016816635, (109, 1) = -.850051574, (109, 2) = -.9320333772, (110, 1) = -.792007982, (110, 2) = -.860107646, (111, 1) = -.725342807, (111, 2) = -.7791911954999999, (112, 1) = -.662674038, (112, 2) = -.7047993373, (113, 1) = -.600610581, (113, 2) = -.6327228684999999, (114, 1) = -.538497751, (114, 2) = -.5621521718, (115, 1) = -.475146597, (115, 2) = -.4917285208, (116, 1) = -.407995435, (116, 2) = -.4186963322, (117, 1) = -.346424395, (117, 2) = -.3530758409, (118, 1) = -.285645873, (118, 2) = -.2894229735, (119, 1) = -.220674633, (119, 2) = -.222435744, (120, 1) = -.155844829, (120, 2) = -.156470369, (121, 1) = -0.9765623e-1, (121, 2) = -0.9781093425e-1, (122, 1) = -0.28727639e-1, (122, 2) = -0.2873158924e-1, (123, 1) = 0.28948609e-1, (123, 2) = 0.2895265108e-1, (124, 1) = 0.96407458e-1, (124, 2) = 0.9655631558e-1, (125, 1) = .160790399, (125, 2) = .1614770292, (126, 1) = .218276695, (126, 2) = .2199816311, (127, 1) = .282926043, (127, 2) = .2865981905, (128, 1) = .348003936, (128, 2) = .3547443254, (129, 1) = .412772519, (129, 2) = .423839571, (130, 1) = .472821287, (130, 2) = .4891724426, (131, 1) = .534998312, (131, 2) = .5582217657999999, (132, 1) = .599301876, (132, 2) = .6312199756, (133, 1) = .66339922, (133, 2) = .7056508801, (134, 1) = .729331215, (134, 2) = .7839807223999999, (135, 1) = .787404152, (135, 2) = .8544610386, (136, 1) = .852780531, (136, 2) = .9354482023, (137, 1) = .918425344, (137, 2) = 1.018467742, (138, 1) = .981686284, (138, 2) = 1.100011679, (139, 1) = 1.039133283, (139, 2) = 1.175294458, (140, 1) = 1.107443323, (140, 2) = 1.266226243, (141, 1) = 1.165310878, (141, 2) = 1.344350753, (142, 1) = 1.232624612, (142, 2) = 1.436344221, (143, 1) = 1.292208665, (143, 2) = 1.518639792, (144, 1) = 1.357581823, (144, 2) = 1.609703862, (145, 1) = 1.419832522, (145, 2) = 1.697008142, (146, 1) = 1.4847846, (146, 2) = 1.788534865, (147, 1) = 1.514607742, (147, 2) = 1.830657134, (148, 1) = 1.544430884, (148, 2) = 1.872814685, (149, 1) = 1.5524729555, (149, 2) = 1.884186459, (150, 1) = 1.560515027, (150, 2) = 1.895559069, (151, 1) = 1.5645360627500002, (151, 2) = 1.901245573, (152, 1) = 1.5685570985000001, (152, 2) = 1.906932149, (153, 1) = 1.570567616375, (153, 2) = 1.909775449, (154, 1) = 1.57257813425, (154, 2) = -1.907579039, (155, 1) = 1.574588652125, (155, 2) = -1.904735743, (156, 1) = 1.5765991700000002, (156, 2) = -1.901892458, (157, 1) = 1.5926833130000002, (157, 2) = -1.879147257, (158, 1) = 1.608767456, (158, 2) = -1.85640606, (159, 1) = 1.642181265, (159, 2) = -1.809188189, (160, 1) = 1.675595074, (160, 2) = -1.762026542, (161, 1) = 1.733768712, (161, 2) = -1.680129566, (162, 1) = 1.796597837, (162, 2) = -1.592115472, (163, 1) = 1.861506469, (163, 2) = -1.501837452, (164, 1) = 1.925006903, (164, 2) = -1.414324517, (165, 1) = 1.986446838, (165, 2) = -1.330559612, (166, 1) = 2.054665408, (166, 2) = -1.238762682, (167, 1) = 2.115962825, (167, 2) = -1.157497272, (168, 1) = 2.181410908, (168, 2) = -1.072127927, (169, 1) = 2.240716599, (169, 2) = -.9961106938, (170, 1) = 2.305553376, (170, 2) = -.9145459687, (171, 1) = 2.366559739, (171, 2) = -.8393305630000001, (172, 1) = 2.430328961, (172, 2) = -.7623367511000001, (173, 1) = 2.492675032, (173, 2) = -.6886870238, (174, 1) = 2.557945595, (174, 2) = -.6132960225999999, (175, 1) = 2.620808895, (175, 2) = -.5423057048, (176, 1) = 2.685095706, (176, 2) = -.4712839149, (177, 1) = 2.74885019, (177, 2) = -.4023256743, (178, 1) = 2.80743394, (178, 2) = -.3401449639, (179, 1) = 2.874577523, (179, 2) = -.2701110838, (180, 1) = 2.934631552, (180, 2) = -.2084167904, (181, 1) = 2.998661668, (181, 2) = -.1434141973, (182, 1) = 3.059946657, (182, 2) = -0.8173649517e-1, (183, 1) = 3.127995764, (183, 2) = -0.1359730852e-1, (184, 1) = 3.186921288, (184, 2) = 0.4534414594e-1, (185, 1) = 3.253802291, (185, 2) = .112444077, (186, 1) = 3.314757057, (186, 2) = .1740208463, (187, 1) = 3.381431996, (187, 2) = .2420934852, (188, 1) = 3.438961194, (188, 2) = .3016202121, (189, 1) = 3.50448023, (189, 2) = .3705035778, (190, 1) = 3.567768387, (190, 2) = .4383118491, (191, 1) = 3.631015202, (191, 2) = .507465268, (192, 1) = 3.694029343, (192, 2) = .5778554647, (193, 1) = 3.754566205, (193, 2) = .6469546315, (194, 1) = 3.820008145, (194, 2) = .7233325516, (195, 1) = 3.882379075, (195, 2) = .7977734041, (196, 1) = 3.948021535, (196, 2) = .8778507164, (197, 1) = 4.007443765, (197, 2) = .9518445897, (198, 1) = 4.073116455, (198, 2) = 1.035230517, (199, 1) = 4.136019455, (199, 2) = 1.116609341, (200, 1) = 4.198769335, (200, 2) = 1.199169168, (201, 1) = 4.264311835, (201, 2) = 1.286756761, (202, 1) = 4.324678875, (202, 2) = 1.368532837, (203, 1) = 4.386502975, (203, 2) = 1.453250975, (204, 1) = 4.454764125, (204, 2) = 1.547760685, (205, 1) = 4.516569015, (205, 2) = 1.634048319, (206, 1) = 4.579776085, (206, 2) = 1.722830181, (207, 1) = 4.644056045, (207, 2) = 1.813499112, (208, 1) = 4.67359894, (208, 2) = 1.855248371, (209, 1) = 4.703141835, (209, 2) = 1.897021556, (210, 1) = 4.707078306875, (210, 2) = 1.902588486, (211, 1) = 4.71101477875, (211, 2) = 1.90815548, (212, 1) = 4.7129830146875005, (212, 2) = -1.909258803, (213, 1) = 4.714951250625, (213, 2) = -1.906475299, (214, 1) = 4.7169194865624995, (214, 2) = -1.903691802, (215, 1) = 4.7188877225, (215, 2) = -1.900908318, (216, 1) = 4.72676066625, (216, 2) = -1.889774611, (217, 1) = 4.7346336099999995, (217, 2) = -1.878641535, (218, 1) = 4.750379497499999, (218, 2) = -1.856378651, (219, 1) = 4.766125385, (219, 2) = -1.834122423, (220, 1) = 4.797377435, (220, 2) = -1.78997935, (221, 1) = 4.828629485, (221, 2) = -1.745894783, (222, 1) = 4.895489455, (222, 2) = -1.651876125, (223, 1) = 4.954490485, (223, 2) = -1.569375738, (224, 1) = 5.022565415, (224, 2) = -1.474917674, (225, 1) = 5.083997795, (225, 2) = -1.390507621, (226, 1) = 5.144781925, (226, 2) = -1.307906483, (227, 1) = 5.210144395, (227, 2) = -1.220247321, (228, 1) = 5.275771255, (228, 2) = -1.133586924, (229, 1) = 5.335481995, (229, 2) = -1.056024633, (230, 1) = 5.398892145, (230, 2) = -.9750931677, (231, 1) = 5.4607742550000005, (231, 2) = -.8976131135, (232, 1) = 5.527855115, (232, 2) = -.8153629099999999, (233, 1) = 5.585898695, (233, 2) = -.7456856406000001, (234, 1) = 5.652563875, (234, 2) = -.6673782467, (235, 1) = 5.715232645, (235, 2) = -.5954258197, (236, 1) = 5.777296105, (236, 2) = -.5257119876, (237, 1) = 5.839408935, (237, 2) = -.4574114365, (238, 1) = 5.902760085000001, (238, 2) = -.389162025, (239, 1) = 5.9699112450000005, (239, 2) = -.318228927, (240, 1) = 6.031482285, (240, 2) = -.25430332, (241, 1) = 6.0922608050000004, (241, 2) = -.192069856, (242, 1) = 6.157232055, (242, 2) = -.1262844401, (243, 1) = 6.222061845, (243, 2) = -0.6116147283e-1, (244, 1) = 6.283185295, (244, 2) = -0.1217958648e-7}, datatype = float[8]), COLOUR(RGB, .47058824, 0., 0.54901961e-1, _ATTRIBUTE("source" = "mathdefault"))), AXESLABELS(x, ""), AXESTICKS(_PITICKS, DEFAULT, _ATTRIBUTE("source" = "mathdefault")), VIEW(-6.283185295 .. 6.283185295, DEFAULT, _ATTRIBUTE("source" = "mathdefault")), _ATTRIBUTE("input" = [TABLE([1 = plot, 2 = [csgn(cos(x))*EllipticE(sin(x), I)], 3 = (x = -2*Pi .. 2*Pi)]), "originalview" = [-6.28318529500000000 .. 6.28318529500000000, -1.91005173100000003 .. 1.90977544900000007], "originalaxesticks" = AXESTICKS(_PITICKS, DEFAULT, _ATTRIBUTE("source" = "mathdefault"))]))

(9)

Indeed, this antiderivative is actually discontinuous when x is an odd multiple of Pi/2. So it makes sense that its derivative is not defined there and one should actually not expect 0 when subtracting f from the derivative of this F. When expressed in terms of csgn, this problem is made clear: the derivative of csgn is expressed in terms of csgn(1, z) which is 0 everywhere except when z is imaginary, in which case it is undefined. When the csgn function is instead converted to sqrt form i.e. csgn(z) = sqrt(z^2)/z:

F3 := eval(F2, csgn = (z -> sqrt(z^2)/z));

(cos(x)^2)^(1/2)*EllipticE(sin(x), I)/cos(x)

(10)

then diff actually ignored these points of discontinuity where the derivative is not defined, and returns 0:

simplify(diff(F3,x)-f);

0

(11)

So in conclusion, both the original antiderivative and the simplified version are correct according to the expectations of the int command, but when verifying the result, writing the result in terms of csgn actually makes it clear that the result is only piecewise an antiderivative and therefore the derivative is not defined at those points of discontinuity.

Download 24122.mw

Hi @nm !

It's true there haven't been new updates since Jun 23rd, but there's no official change in status - just a delay unfortunately in getting new updates out recently. I'm the only one working on them, and it's been a very busy time for me with other projects taking higher priority. I understand your frustration and expect more consistency going forward. In the meantime, almost all of the changes that would have appeared in the Customer Support Updates are anyway in the 1st beta release which was just released 2 days ago, and I'll try to catch up with the others as soon as possible.

Cheers,

   Austin

Hi @nm,

Thank for this helpful report! This example started going wrong after a previous fix reported here was implemented. There was nothing wrong with that fix, but it meant that for this example, the odetest algorithm ended up trying a bit harder at testing the implicit form of the solution instead of failing quickly and proceeding with the testing the explicit form (which happens to work well). It ended up getting stuck in a quite complicated call to 'solve'. Ideally 'solve' should not be getting stuck and crashing on that input, but in any case, I was able to add some preprocessors in odetest to make the 'solve' call easier to handle, and it now completes in about 4 seconds:

sol:=y(x) = ((2*(x+11)*(1+x)^4*exp(12*_C1)-29*(1+x)^2*(x+103/29)*exp(6*_C1)+27*x+81)
*RootOf(2+(exp(6*_C1)*x^2+2*exp(6*_C1)*x+exp(6*_C1)-1)*_Z^6+3*_Z^2)^4+(-2*(x-4)
*(1+x)^4*exp(12*_C1)-34*(1+x)^2*(x+67/17)*exp(6*_C1)+54*x+162)*RootOf(2+(exp(6*
_C1)*x^2+2*exp(6*_C1)*x+exp(6*_C1)-1)*_Z^6+3*_Z^2)^2-(x-1)*(1+x)^4*exp(12*_C1)-\
14*(x+29/7)*(1+x)^2*exp(6*_C1)+27*x+81)/((10*(1+x)^4*exp(12*_C1)+27-37*(1+x)^2*
exp(6*_C1))*RootOf(2+(exp(6*_C1)*x^2+2*exp(6*_C1)*x+exp(6*_C1)-1)*_Z^6+3*_Z^2)^
4+(5*(1+x)^4*exp(12*_C1)+54-50*(1+x)^2*exp(6*_C1))*RootOf(2+(exp(6*_C1)*x^2+2*
exp(6*_C1)*x+exp(6*_C1)-1)*_Z^6+3*_Z^2)^2+(1+x)^4*exp(12*_C1)+27-22*(1+x)^2*exp
(6*_C1)):
ode:=(4+2*x-y(x))*diff(y(x),x)+5+x-2*y(x) = 0:

odetest(sol,ode);

0

 

Download 242037.mw

This fix should appear in the next beta release.

Cheers,
     Austin 

@C_R,

First, you're mistaken in implying that signum(-alpha^2*x^2 + R^2 + x^2) should "disappear" under the assumptions R>0,alpha>0,x*alpha<R. This signum could be either 1 or -1:

conds:= R>0,alpha>0,x*alpha<R:

S := signum(-alpha^2*x^2 + R^2 + x^2):

S assuming conds;

signum(-alpha^2*x^2+R^2+x^2)

eval([S, conds],[x = -1, alpha=10, R=1/10]);
andmap(evalb, %[2..4]);

[-1, 0 < 1/10, 0 < 10, -10 < 1/10]

true

eval([S, conds],[x = 1, alpha=1/10, R=10]);
andmap(evalb, %[2..4]);

[1, 0 < 10, 0 < 1/10, 1/10 < 10]

true

Download 241921_signum.mw

Second, there was a weakness that simplify(.., radical) needed to be called twice to get the full simplification:

conds := R>0,alpha>0,x*alpha<R,x>=0:
expr := ((-alpha^2*x^2+R^2+x^2)/(-alpha^2*x^2+R^2))^(1/2)/(R^4/(-alpha^2*x^2+R^2+x^2)^2/(-alpha^2*x^2+R^2))^(1/2):

simplify(expr, radical) assuming conds;

((-alpha^2*x^2+R^2+x^2)*(-alpha^2*x^2+R^2))^(1/2)*(-alpha^2*x^2+R^2+x^2)/((-alpha^2*x^2+R^2)^(1/2)*R^2)

simplify(%, radical) assuming conds;

(-alpha^2*x^2+R^2+x^2)^(3/2)/R^2

Download 241921_simplify.mw

That weakness has been fixed in the development version and the fix should be available in the next full release and potentially earlier in a Maple Customer Support Update. After the fix, the fully simplified result appears after the first call to simplify. Thank you for reporting this!

Third, in the first reply by @acer, I see no issues to fix. The result labelled #1 is better than that labelled #2 because the corresponding condition is stronger, as noted by @acer in his 2nd reply.

Fourth: @acer in his 2nd reply comments this:

> But the system didn't deduce from both,
>   ((1-alpha^2)*x^2)::real
>    R^2+(1-alpha^2)*x^2>0

> that R^2 must also be real, and then allow abs(R)^2 to become R^2.

> So that seems like a weakness to me.

It does not follow from R^2 being real that abs(R)^2 = R^2. Example: R = I (the imaginary unit). Then R^2 = -1 is real but it is not equal to abs(R)^2 which is 1. So I see no more issues to fix here.

Austin Roche
Maplesoft

1 2 3 4 Page 1 of 4