aroche

Dr. Austin Roche

900 Reputation

11 Badges

13 years, 48 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

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

Hi @nm,

As @ecterrab mentioned, the underlying problem here was a problem in evalc. The problem has been fixed in v.27:

SupportTools:-Version();

`The Customer Support Updates version in the MapleCloud is 27 and is the same as the version installed in this computer, created June 5, 2025, 10:05 hours Eastern Time.`

ode:=diff(y(x),x) = (ln(y(x))^2+2*_C1)^(1/2)*y(x):
sol:=y(x) = exp((-2*_C1)^(1/2)):
Physics:-Setup('assumingusesAssume'=true):
odetest(sol,ode) assuming positive;

-(2*Im(_C1^(1/2))^2-2*2^(1/2)*Im(_C1^(1/2))*ln(exp(I*2^(1/2)*Re(_C1^(1/2))))+ln(exp(I*2^(1/2)*Re(_C1^(1/2))))^2+2*_C1)^(1/2)*exp((-2*_C1)^(1/2))

Download 240461.mw

This fix is distributed for everybody using Maple 2025 within the Maple Customer Support Updates v.27 or newer. Please refer to the announcement of the new Maple Customer Support Updates for more detailed installation and usage instructions.

Austin Roche
Maplesoft

Hi @nm, @ecterrab,

The solution for this problem mentioned described by Edgardo here and mentioned as fixed in the development version of the library here is now included in v. 26 of the Customer Support Updates:

SupportTools:-Version();

`The Customer Support Updates version in the MapleCloud is 26 and is the same as the version installed in this computer, created June 3, 2025, 23:49 hours Eastern Time.`

restart;

#this shows no assumptions on y(x);
ode:=y(x)*sqrt(1 + diff(y(x), x)^2) - a*y(x)*diff(y(x), x) - a*x = 0:
sol:=-_C4^2 + (-y(x)*sqrt(_C4^2/y(x)^2) + a*x)^2/a^2 + y(x)^2 = 0;
hasassumptions(y(x));
getassumptions(y(x));

-_C4^2+(-y(x)*(_C4^2/y(x)^2)^(1/2)+a*x)^2/a^2+y(x)^2 = 0

false

{}

#now use a command that uses assuming
Physics:-Setup('assumingusesAssume'=true):
try
    timelimit(10,(odetest(sol,ode,y(x)) assuming integer)):
catch:
   print("caught exception, will now call restore state...");
  `assuming/restore_previous_state`;  #is this correct syntax?
end try;

"caught exception, will now call restore state..."

previous_state_is_restored

Yes, that is the correct syntax!

hasassumptions(y(x));
getassumptions(y(x));

false

{}

Download 240459_2.mw

This fix is distributed for everybody using Maple 2025 within the Maple Customer Support Updates v.26 or newer. Please refer to the announcement of the new Maple Customer Support Updates for more detailed installation and usage instructions.
 

Austin Roche
Maplesoft

1 2 3 4 Page 1 of 4