nm

11363 Reputation

20 Badges

13 years, 38 days

MaplePrimes Activity


These are questions asked by nm

Why Maple 2019.1 gives an error when no initial conditions are given for the following heat PDE with periodic BC?

I am using Physics 426 (current version). On windows 10.

When adding ic as some arbitrary function f(x), then the error goes away. But no ic needs to be given to solve this PDE. The answer can be left using arbitrary constants in this case.

I also found that this seems to happen when the BC are periodic. When using the normal Dirichlet B.C. and omitting the initial conditions, the error went away.

Am I doing something wrong or is this a bug?

restart;

pde:=diff(u(x,t),t)=diff(u(x,t),x$2); #try with NO IC
bc:=u(-Pi,t)=u(Pi,t),D[1](u)(-Pi,t)=D[1](u)(Pi,t);
pdsolve([pde,bc],u(x,t))

diff(u(x, t), t) = diff(diff(u(x, t), x), x)

u(-Pi, t) = u(Pi, t), (D[1](u))(-Pi, t) = (D[1](u))(Pi, t)

Error, (in pdsolve/BC/2nd_order/Series/TwoBC) invalid boolean expression: NULL

restart;

pde:=diff(u(x,t),t)=diff(u(x,t),x$2)-u(x,t); #now try with IC
bc:=u(-Pi,t)=u(Pi,t),D[1](u)(-Pi,t)=D[1](u)(Pi,t);
ic:=u(x,0)=f(x);
pdsolve([pde,bc,ic],u(x,t)); #solution is correct

 

diff(u(x, t), t) = diff(diff(u(x, t), x), x)-u(x, t)

u(-Pi, t) = u(Pi, t), (D[1](u))(-Pi, t) = (D[1](u))(Pi, t)

u(x, 0) = f(x)

u(x, t) = exp(-t)*_C7[0]+Sum(exp(-t*(n^2+1))*(sin(n*x)*_C1[n]+cos(n*x)*_C7[n]), n = 1 .. infinity)

restart;

pde:=diff(u(x,t),t)=diff(u(x,t),x$2); #now try with NO IC, but not periodic BC
bc:=u(0,t)=1,u(Pi,t)=0;
pdsolve([pde,bc],u(x,t)); #solution is correct

diff(u(x, t), t) = diff(diff(u(x, t), x), x)

u(0, t) = 1, u(Pi, t) = 0

u(x, t) = ((Sum(sin(n*x)*exp(-n^2*t)*_C1(n), n = 1 .. infinity))*Pi+Pi-x)/Pi

 

 

Download problem_09_20_2019.mw

Is this documented somewhere?  Why Maple do not return 0 from odetest after expanding the solution?

update: added additional tries to simplify it to zero as suggested but they do not give zero.

ode:=2*x^(1/2)*diff(y(x),x) = (1-y(x)^2)^(1/2);
sol:=dsolve(ode);

2*x^(1/2)*(diff(y(x), x)) = (1-y(x)^2)^(1/2)

y(x) = sin(x^(1/2)+(1/2)*_C1)

odetest(sol,ode);

0

res:=odetest(expand(sol),ode);

cos(x^(1/2)+(1/2)*_C1)-(1/2)*(2*cos(2*x^(1/2)+_C1)+2)^(1/2)

simplify(res)

cos(x^(1/2)+(1/2)*_C1)-(1/2)*(2*cos(2*x^(1/2)+_C1)+2)^(1/2)

simplify(res,symbolic)

cos(x^(1/2)+(1/2)*_C1)-(1/2)*(2*cos(2*x^(1/2)+_C1)+2)^(1/2)

simplify(res,trig)

cos(x^(1/2)+(1/2)*_C1)-(1/2)*(2*cos(2*x^(1/2)+_C1)+2)^(1/2)

combine(res)

cos(x^(1/2)+(1/2)*_C1)-(1/2)*(2*cos(2*x^(1/2)+_C1)+2)^(1/2)

combine(res,trig)

cos(x^(1/2)+(1/2)*_C1)-(1/2)*(2*cos(2*x^(1/2)+_C1)+2)^(1/2)

expand(res)

cos(x^(1/2))*cos((1/2)*_C1)-sin(x^(1/2))*sin((1/2)*_C1)-(1/2)*(4*cos(_C1)*cos(x^(1/2))^2-2*cos(_C1)-4*sin(_C1)*sin(x^(1/2))*cos(x^(1/2))+2)^(1/2)

simplify(expand(res))

cos(x^(1/2))*cos((1/2)*_C1)-sin(x^(1/2))*sin((1/2)*_C1)-(1/2)*(4*cos(_C1)*cos(x^(1/2))^2-2*cos(_C1)-4*sin(_C1)*sin(x^(1/2))*cos(x^(1/2))+2)^(1/2)

simplify(expand(res),symbolic)

cos(x^(1/2))*cos((1/2)*_C1)-sin(x^(1/2))*sin((1/2)*_C1)-(1/2)*(4*cos(_C1)*cos(x^(1/2))^2-2*cos(_C1)-4*sin(_C1)*sin(x^(1/2))*cos(x^(1/2))+2)^(1/2)

simplify(expand(res),trig)

cos(x^(1/2))*cos((1/2)*_C1)-sin(x^(1/2))*sin((1/2)*_C1)-(1/2)*(4*cos(_C1)*cos(x^(1/2))^2-2*cos(_C1)-4*sin(_C1)*sin(x^(1/2))*cos(x^(1/2))+2)^(1/2)

simplify(expand(res),size)

cos(x^(1/2))*cos((1/2)*_C1)-sin(x^(1/2))*sin((1/2)*_C1)-(1/2)*(4*cos(_C1)*cos(x^(1/2))^2-2*cos(_C1)-4*sin(_C1)*sin(x^(1/2))*cos(x^(1/2))+2)^(1/2)

 

 

Download odetest_q.mw

Why Maple returns -1/x as singular solution below when this solution can be obtained from the general solution when constant of integration is zero?

restart;

ode:=2*y(x)+2*x*y(x)^2+(2*x+2*x^2*y(x))*diff(y(x),x) = 0;
dsolve(ode,singsol=false);

2*y(x)+2*x*y(x)^2+(2*x+2*x^2*y(x))*(diff(y(x), x)) = 0

y(x) = (-1-_C1)/x, y(x) = (-1+_C1)/x

sol:=[dsolve(ode,singsol=essential)];

[y(x) = -1/x, y(x) = (-1-_C1)/x, y(x) = (-1+_C1)/x]

subs(_C1=0,sol)

[y(x) = -1/x, y(x) = -1/x, y(x) = -1/x]

 


Download essential.mw

We all know that Maple's Latex is not the best of Maple to say the least.

But this one is really strange. Maple prints a `1` for no apparant reason in the latex which makes it ugly. 

I wonder if Maplesoft still maintains its Latex conversion code at all?  So one can at least hope may be one day all of this will get fixed? Year after year, and Maple's Latex still not changed.  

If Mapesoft do not intend to make any changes in its Latex conversion software at all, it will be good if an official statement is made in this regards so that at least customers know.

sol:=dsolve((x-a)*(x-b)*diff(y(x),x)+k*(y(x)-a)*(y(x)-b) = 0,y(x)):
sol:=subs(_C1=C[1],sol);

y(x) = ((x-b)^(-k)*(x-a)^k*a*exp(a*k*C[1]-b*k*C[1])-(x-b)^(-k)*(x-a)^k*b*exp(a*k*C[1]-b*k*C[1])+b*((-x+b)/(-x+a))^(-k)*exp(a*k*C[1]-b*k*C[1])-b)/(-1+((-x+b)/(-x+a))^(-k)*exp(a*k*C[1]-b*k*C[1]))

latex(sol)

y \left( x \right) ={1 \left(  \left( x-b \right) ^{-k} \left( x-a
 \right) ^{k}a{{\rm e}^{akC_{{1}}-bkC_{{1}}}}- \left( x-b \right) ^{-k
} \left( x-a \right) ^{k}b{{\rm e}^{akC_{{1}}-bkC_{{1}}}}+b \left( {
\frac {-x+b}{-x+a}} \right) ^{-k}{{\rm e}^{akC_{{1}}-bkC_{{1}}}}-b

 \right)  \left( -1+ \left( {\frac {-x+b}{-x+a}} \right) ^{-k}{{\rm e}
^{akC_{{1}}-bkC_{{1}}}} \right) ^{-1}}

 

 

Download why_1_in_latex.mw

 

Why odetest sometimes fail to give 0  from odetest when simply using C[1] instead of _C1 as constant of integration?

I do not remember now if I asked about this before now. But for me as a user, this does not look right. I like to use C[1] instead of _C1 as the constant of integration as it looks better in Latex. I had no idea it will make a difference to odetest what the constant of integration symbol used is.

Is this a known issue? Do you consider this a bug? Maple 2019.1 on windows 10.

restart;

ode:= x^2*diff(y(x),x)+x*y(x)+sqrt(y(x)) = 0;

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

sol_1:=sqrt(y(x))=1/x+_C1/sqrt(x);
odetest(sol_1,ode)

y(x)^(1/2) = 1/x+_C1/x^(1/2)

0

sol_2:=subs(_C1=C[1],sol_1);
odetest(sol_2,ode); #why this now fails??

y(x)^(1/2) = 1/x+C[1]/x^(1/2)

-y(x)^(1/2)-y(x)^(1/2)*x^(1/2)*C[1]+x*y(x)

sol_3:=subs(C[1]=_C1,sol_2);
odetest(sol_3,ode)

y(x)^(1/2) = 1/x+_C1/x^(1/2)

0

 

Download why_odetest_fail.mw

First 134 135 136 137 138 139 140 Last Page 136 of 199