## 12950 Reputation

8 years, 362 days

## duplicate again...

Denote by p the polynomial.
Solving the equation p=0 wrt sigma and ploting the result
it is easy to conclude that p has a unique positive root in Z for any real sigma.
This root can be obtained by solve symbolically or numerically (for a numeric sigma).

 > p:=6125*Z^4 + 68644*Z^3*sigma - 219625*Z^3 + 255712*Z^2*sigma - 959250*Z^2 + 238144*Z*sigma - 1113500*Z - 245000;
 (1)
 > s:=solve(p,sigma);
 (2)
 > plot(s, Z=0 .. 60);
 > sol:=solve(eval(p, sigma=2), Z, explicit)[1]; # Take e.g.sigma=2
 (3)
 > evalf(sol)
 (4)
 >

## Useless examples...

```restart;
eq:=sin(x)+x^4+x^2+x+1;
s:=solve(eq, x);      # RootOf(eq, x)
is(eval(eq, x=s)=0);  # FAIL
```

## 0^n again...

This seems to be related to the bug in the evaluation of 0^n.
See strange odetest result. Is this valid? - MaplePrimes

```restart;
diff(1,x)^n;  # 0
0^n;          # 0^n
diff(1,x)^n;  # 0^n```

Also for  diff(1,x) replaced with sin(0).

## 0^x...

```restart;
simplify(0^x) assuming x>0;
0^x
normal(0^x) assuming x>0;
0^x
eval(0^x) assuming x>0;
0^x
expand(0^x) assuming x>0;
0^x
0.0^x assuming x>0;
0.^x
#########################
is(0^x = 0) assuming x>0;
true
limit(0^x, x=x) assuming x>0;
0
eval(z^x, z=0) assuming x>0;
0
simplify(sin(0)^x) assuming x>0;
0
is(0.0^x = 0) assuming x>0;
true
#########################
eval(z^x, z=0) assuming x<0;   # ?
0
```

The bug seems to be rather old.
Also strange, in Maple 2018,  0^x  automatically simplifies to 0 (without any assumption).
I suspect that 0^x = 0 was removed from automatic simplification but the evaluation/simplification was not modified.

## bug...

```restart
```

Error, (in dsolve) numeric exception: division by zero

## dsolve and multiple solutions...

You asked a similar question recently.
In your examples dsolve simply does not eliminate a solution even when obtainable from another.
Anyway, note that actually:

•  (x + y(x))*(1+diff(y(x),x)) = 0 has one solution: y(x) = -x + c.
•  (x + y(x))*(a+diff(y(x),x)) = 0 has two solutions  (shown).
• (x + y(x))^2 *(1+diff(y(x), x))=0 has also one solution: y(x) = -x + c.

## standard ode...

If you express the ode in a standard form (as I told you in a comment a few days ago for a similar question),  ODESteps works.

```restart;
ode1:=diff(y(x), x) = abs(x - 2)^(2/3);
ic:=y(2)=1;
Student:-ODEs:-ODESteps([ode1,ic]);
```

Note that the final result is actually
y(x) = 1+3/5*abs(x-2)^(5/3)*signum(x-2);

Edit.
Maybe better (valid in complex too):

`ode1:=diff(y(x), x) = ((x - 2)^2)^(1/3);`

then:

## mysol...

Your mysol is not in the form expected by odetest for an implicit solution: F(y(x), x) = 0; in this form everything is OK.

Of course, odetest could have converted mysol, but it does not; maybe it should.

## Duplicate...

1. There should only be two (solutions).

Actually there is only one: y(x) = c1 * x + c2.

2. Where did the third solution come from?

E.g. from y' y'' = 0 <==>  (y' ^ 2)' = 0 <==> y'^2 = c1^2 <==> y' = +- c1 <==> y = c1*x + c2 or  y = -c1*x + c2.

## Classical results...

isolve recognizes several known equations such as Pytagorean triples, Pell's equation etc and uses the corresponding theorems or algorithms.

## symbolic parameters...

It is better and easier to use first symbolic parameters.

`dsolve({diff(f(x),x) = a*f(x)^(2/3)+b*f(x), f(1)=c})`

## assuming positive...

```V := int(int(int(1, x = -x1 .. x1), y = -r .. r), z = 0 .. h) assuming positive;
```

## gfun...

```restart;
Order:=20;
ode:=t*diff(u(t),t,t)+8*diff(u(t),t)+18*a*t*u(t)=-4*a*t*u(t)*ln(u(t));
ic1:=u(0)=1;   ic2:=D(u)(0)=0;
sol := dsolve([ode, ic1, ic2], u(t), series);
rec := gfun:-seriestorec(subs(sol, u(t)), A(n));
ode1 := gfun:-rectodiffeq(rec[1], A(n), u(t));

dsolve(ode1);
odetest(%, [ode, ic1, ic2]) assuming real;
```

u(t) = exp(-a*t^2)
[0, 0, 0]

 1 2 3 4 5 6 7 Last Page 3 of 115
﻿