vv

13877 Reputation

20 Badges

10 years, 0 days

MaplePrimes Activity


These are answers submitted by vv

Cannot be verified by Maple!

 

We must first define correctly the problem.

The equation contains two antiderivatives, so both contain an additive constant.

The only possibility is to consider that we accept some pair of constants
(for arbitrary constants, the equation cannot have solutions).
But in this case, Maple cannot verify a solution because it would imply to choose a convenient pair of constants.


Let's take a simple example (which actually dsolve refuses to solve because it does not contain a derivative).

 

int(y(x), x) + int(y(x)^2, x) - 1 = 0.

 

Applying diff ==>  y(x) + y(x)^2 = 0 ==>  y(x)=0  and  y(x)=-1.

y(x) = -1  ==>  -x + C1  +  x + C2 - 1 = 0, so we must have  C1+C2=1.

The same for y(x)=0. So, there are two solutions, but the integration constants have to be chosen carefully.

 

 

Other examples.

 

restart;

eq1:=int(diff(y(x),x)*x,x)+int(y(x),x) = 0;

int((diff(y(x), x))*x, x)+int(y(x), x) = 0

(1)

sol1:=dsolve(eq1);

y(x) = _C1/x

(2)

eq2:=int(diff(y(x),x)*x,x)+int(y(x),x) +1 = 0;

int((diff(y(x), x))*x, x)+int(y(x), x)+1 = 0

(3)

dsolve(eq2);

odetest(sol1, eq1)

0

(4)

So, no solution for eq2, but y(x) = _C1/x  is a solution  if we choose the constants of integration satisfying C1+C2 = -1.

eq1 works just because the int computed by Maple have (by chance) convenient constants.

 

 

 

 

convert(s, list)  simply returns [op(s)]  i.e. the list of the operands, see ?type,series.
It seems that you are mainly interested in Taylor series. In this case, you may use

s:=series(10/(1-x^2)^2, x, 10);
             s := 10+20*x^2+30*x^4+40*x^6+50*x^8+O(x^10)
PolynomialTools:-CoefficientList(convert(s,polynom),x);
            [10, 0, 20, 0, 30, 0, 40, 0, 50]


 

Definitely, simplify & co must be revised, as pointed out in this forum several times.
Even very simple 0 expressions are not recognized!

f:= (exp(2*x)-1)/(exp(2*x)+1);

(exp(2*x)-1)/(exp(2*x)+1)

(1)

simplify(f - tanh(x));  # ?

((-tanh(x)+1)*exp(2*x)-tanh(x)-1)/(exp(2*x)+1)

(2)

is(f - tanh(x) = 0);

true

(3)

 

You probably want:

L[1, 0] := t + Pi*t/2 + (4*t^(3/2))/3:
L[2, 0] := t^(1/2) + Pi*t/4:
ans := int((L[1, 0] + L[2, 0])/(x - t)^(1/2), t = 0 .. x) assuming x>0;

                            

solve([f, diff(f,x)], explicit); # x1=x2;  (f is the polynomial);
evalf(%);

The result contains the answers for all your questions.

Remove or comment the first line    afa := 0.277 

J := Int(T2, [y=-Pi/6+afa..Pi/6, x=0..Pi/2], method = _CubaCuhre, epsilon = 1e-2):
afa:=0.277:
'afa'=afa, 'T2'=evalf( eval(T2, [y=afa, x=Pi/4]) );
#               afa = 0.277, T2 = 2.35384223415597*10^9

evalf(J);
#               1.83729944313523*10^9 + 0.*I

forget(evalf);
afa := 0.13;
evalf(J);
#                   afa := 0.13
#                   2.69229399550637*10^9 + 0.*I

forget(evalf);
afa := 0.33;
evalf(J);
#                          afa := 0.33
#                         1.54057599303060*10^9 + 0.*I

Just add global main_module;   (e.g. after local ... ;).

restart;

 

It seems to be a bug.
If we alter a bit the bindings, the result is as expected
For x=0, y=0  the results should be the same, but they are not!

 

use a=a+b in
  use b=a-b in
    a*b
  end use             #   ==>   a*(a-b)  
end use;              #   ==>   (a+b)*a              ##??
   

(a+b)^2

(1)

use a=a+b+x in
  use b=a-b+y in
    a*b                     
  end use             # ==>    a*(a-b+y)
end use;              # ==>  (a+b+x)*(a+b+x -b +y)   ##OK                

(a+b+x)*(a+x+y)

(2)

eval(%,[x=0,y=0]);

(a+b)*a

(3)

 

expr:=1+3*diff(y(x),x):
select( has, ["itself"=expr, op(expr)], diff(y(x),x));

It is simpler to just use the obvious:
solve(Determinant(A),w);

Mathematicaly, you need the inverse of the function

f : (0, oo) -> (1, oo),  f(x) = sinh(x) / x.

The inverse exists, let's denote it by F : (1, oo) --> (0, oo);
it ca be developed in power series but cannot be expressed in terms of known functions.

Your equation has a unique positive solution  C = mu*g*a/F(L/(mu*g*a))
iff  L/(mu*g*a) > 1  (provided that your constants are >0).

It is not clear what "handle" means to you. If you want to eliminate x and sigma from A, then:
 

S:=solve([sigma+x=a, sigma*x=b], [sigma,x]): 
A1:=eval(A,S[1]); A2:=simplify(%);

Unfortunately, A is not rational (an "isolated" square root is there),. Also:

length(A1); length(A2);
                              1757
                             47950
 

restart;

pde := diff(u(x,t),t) + u(x,t)*diff(u(x,t),x) = 0;

diff(u(x, t), t)+u(x, t)*(diff(u(x, t), x)) = 0

(1)

The general solution is however correct:

pdsolve({pde});

{u(x, t) = RootOf(-_F1(_Z)*_Z+_Z*t-x)}

(2)

From here, one obtains for    pdsolve({pde,u(x,0)=f(x)});  # instead of  u(x,t)=0  :

sol:=f->RootOf((f@@(-1))(y)+y*t-x, y):   # or,

Sol:=f -> solve( (f@@(-1))(y)+y*t-x, y): # or,

SOL:=f -> solve( y - f(-y*t+x), y):

 

 

 

# Now:

sol(exp);
SOL(exp);
Sol(exp);

RootOf(ln(_Z)+_Z*t-x)

 

LambertW(t*exp(x))/t

 

exp(-LambertW(t*exp(x))+x)

(3)

SOL(x->x);

x/(t+1)

(4)

sol(sin);
SOL(sin);
Sol(sin);

RootOf(arcsin(_Z)+_Z*t-x)

 

-sin(RootOf(_Z+t*sin(_Z)+x))

 

-sin(RootOf(_Z+t*sin(_Z)+x))

(5)

SOL(erf);

RootOf(_Z+erf(_Z*t-x))

(6)

 

restart;
p := alpha -> alpha^m:
q := alpha -> alpha^n:
Sa := 1/2*int(p(alpha)*D(q)(alpha), alpha = 0 .. 1, continuous);

          

There are several issues in the worksheet.

1. You have the thype Z^+  (in 2D). It should be posint or nonnegint.
2. You have used m:type instead of m::type.  Note that ":" is a separator.
3.  assuming in the definition of p and q is not used (even when it is correctly inserted):

The assuming command does not scan programs regarding the presence of assumed variables; for that purpose use assume.

restart;
assume(m>0, n>0);
p := alpha -> alpha^m;
q := alpha -> alpha^n;

Sa := eval(1/2*int(simplify(p(alpha)*D(q)(alpha)), alpha = 0 .. 1)); # actually eval is not needed

 

First 13 14 15 16 17 18 19 Last Page 15 of 120