vv

13932 Reputation

20 Badges

10 years, 29 days

MaplePrimes Activity


These are answers submitted by vv

 

Let us check the provided manual solution.

 

de := Diff(a(x)*Diff(u(x),x),x) = -1;

Diff(a(x)*(Diff(u(x), x)), x) = -1

(1)

bc := u(-1)=0, u(1)=0;

u(-1) = 0, u(1) = 0

(2)

a := x -> 1 + 2*Heaviside(x);

proc (x) options operator, arrow; 1+2*Heaviside(x) end proc

(3)

c := int(x/a(x),x=-1..1) / int(1/a(x),x=-1..1) ;

-1/4

(4)

U:=int((c-xi)/a(xi), xi=-1..x); # the "solution" u(x) = U

-(1/4)*x+(1/6)*x*Heaviside(x)-(1/2)*x^2+(1/3)*x^2*Heaviside(x)+1/4

(5)

eval(U, x=1), eval(U, x=-1);  # bc, OK

0, 0

(6)

U is continuous everywhere, differentiable except at x=0.

value(eval(lhs(de), u(x)=U)) assuming x<0;
value(eval(lhs(de), u(x)=U)) assuming x>0

-1

 

-1

(7)

So, the provided solution U, is continuous in [-1,1],  not differentiable at 0 but C^2 in [-1,1] \ {0} and satisfies the de  here.
It seems to be a "generalized" solution, but the exact sense is not mentioned. Distributional sense maybe?

 

Unfortunately the documentation for dsolve is silent about this type of ode.
Is this solution acceptable for you?

Anyway, it is not a big surprise that dsolve has problems.

 

[edited]

 

RD := (S::set) -> {ListTools:-MakeUnique([S[]], 1, LinearAlgebra:-Equal)[]}:

RD( {Matrix([1])} union {Matrix([1])} union {Matrix([1]), Matrix([2])} );

        

fn must be declared as procedure, not function

f1:=proc(t::numeric, fn::procedure)::numeric;

sin()  and sin(x)  do not have the type procedure; their type is function in Maple.

So, sin  or sin()  are functions mathematically, but for Maple, sin is a procedure and sin() gives an error because the procedure sin cannot be called with 0 arguments.
You may check whattype('sin()');

whattype(sin);
whattype(sin(x));

                           procedure
                           function

The "interrupt current operation" button is in the bottom left corner of the screen, but it usually does not work.
The new interface has many bugs ...
Better use the "old" Screen Readers one. 

restart;

f:=(x1,x2)->(x1-1/2)^4+x1*x2+2*x2^2-1;  
g:=(x1,x2)->(x1-sin(x1))^2+(x2-sin(x2))^2-1;

proc (x1, x2) options operator, arrow; (x1-1/2)^4+x1*x2+2*x2^2-1 end proc

 

proc (x1, x2) options operator, arrow; (x1-sin(x1))^2+(x2-sin(x2))^2-1 end proc

(1)

Find the circle of maximum radius that is tangent to both curves f=0, g=0.

 

Here is an approach using Optimization:-Maximize

It gives local maxima.

For a global maxima we must play with the intervals for variables and/or their initialpoint (using rand(...) conditions).

 

with(plottools):

pfg:=plots:-implicitplot([f(x,y),g(x,y)], x=-2..2,y=-2..2);

 

EQ:=
f(a,b)=0, g(c,d)=0, r2=(u-a)^2+(v-b)^2, r2=(u-c)^2+(v-d)^2,
D[1](f)(a,b) * (v-b) - D[2](f)(a,b) * (u-a) = 0,
D[1](g)(c,d) * (v-d) - D[2](g)(c,d) * (u-c) = 0:
rnd:=rand(-2. .. 2.):

unassign('a','b','c','d','u','v','r2');
sol:=Optimization:-Maximize( r2, {EQ}, u=-2..-1, v=-1.5..2, a=-5..0, b=-1..0, c=-2..-1, d=-2..-1, r2=0..3,
     initialpoint={u=0.7, v=0.5} )[2];
assign(sol);r:=sqrt(r2):
plots:-display(pfg,circle([u,v],r), plot([[a,b],[u,v]],color=red),plot([[c,d],[u,v]],color=blue),
               scaling=constrained,title=("Local max radius"=r));

[a = HFloat(-0.3036274461741274), b = HFloat(-0.46927384815579104), c = HFloat(-1.910428572753095), d = HFloat(-1.1755927491183271), r2 = HFloat(0.8409103269146442), u = HFloat(-1.0), v = HFloat(-1.0659107504612695)]

 

 

 

unassign('a','b','c','d','u','v','r2');
solglobmax:=[r2=0]:
to 200 do
ok:=true;
try
  sol:=Optimization:-Maximize( r2, {EQ}, initialpoint={u=rnd(), v=rnd()} )[2];
  catch:
  ok:=false;
end try;
if not ok then next fi;  
if eval(r2,sol)>eval(r2,solglobmax) then solglobmax:=sol fi;
od:
assign(solglobmax);r:=sqrt(r2):

plots:-display(pfg,circle([u,v],r), plot([[a,b],[u,v]],color=red),plot([[c,d],[u,v]],color=blue),
               scaling=constrained, title=("Global max radius"=r));

Warning, limiting number of major iterations has been reached

 

Warning, limiting number of major iterations has been reached

 

Warning, limiting number of major iterations has been reached

 

Warning, limiting number of major iterations has been reached

 

Warning, limiting number of major iterations has been reached

 

Warning, limiting number of major iterations has been reached

 

Warning, limiting number of major iterations has been reached

 

Warning, limiting number of major iterations has been reached

 

Warning, limiting number of major iterations has been reached

 

Warning, limiting number of major iterations has been reached

 

 

 

 

Download 2curves-vv.mw
(edited for Global max).

The constraints must be included in a set.

Optimization:-NLPSolve( TP_T(p1, p2), {C1, C2}, assume = nonnegative,  maximize );

 

diff( c * x / (1+x), x);

Optimization:-Maxima computes only local maxima.
In your case when computing the max in the interval {256.9131467 <= Pc, Pc <= 1436.173707},
Pc = 256.9131467  is a local maximal point. The global maximal point is of course Pc = 1436.173707.
If you want a global max (1-dimensiomal only!) you must use NLPSolve (and also method=branchandbound,   but it seems to be the default here).

When you meet such an aparent discrepancy you should look at a simple example; it is also much better to post a minimal example and with standard notations. Here is such an example:

f:=(x-2)^2:
Optimization:-Maximize(f, {1 <= x, x <= 5});
Optimization:-NLPSolve(f, x=1..5, maximize); # method=branchandbound);
plot(f, x=0..5);

                         [1., [x = 1.]]

                         [9., [x = 5.]]

C := C1 - C2 is a rational function (with 15 indeterminates). It will be enough to compute the minimal value for C and - C.
This can be obtained with the command  DirectSearch:-GlobalOptima(C, vars);
Here DirectSearch is a package which can be downloaded at https://www.maplesoft.com/Applications/Detail.aspx?id=101333

Actually, both min values are < 0, so, the answer to your question is that C1<C2 and C2<C1  are both false.
This can be seen directly (without DirectSearch) using:

P:=numer(normal(C1-C2)) / (lambda*varphi):
eval(-P, {Cm = 1, Cr = 10, Pu = 1, U = 2, a = 9, beta = 9, k = 10, lambda = 10, p1 = 1, tau0 = 10, upsilon = 10, varphi = 10, w = 10, varepsilon = 10, U[0] = 10});
#                     -63035971982554554000

eval(P, {Cm = 89, Cr = 65, Pu = 81, U = 50, a = 37, beta = 43, k = 44, lambda = 0, p1 = 85, tau0 = 74, upsilon = 75, varphi = 59, w = 62, varepsilon = 48, U[0] = 41});
#                       -19372211411803488

 

L := Sum((-1)^(k+1)/(floor(5*k*(1/2))-1), k = 1 .. infinity);
M := Sum(4*(-1)^(k+1)/(10*k+(-1)^k-5), k = 1 .. infinity);

Sum((-1)^(k+1)/(floor((5/2)*k)-1), k = 1 .. infinity)

 

Sum(4*(-1)^(k+1)/(10*k+(-1)^k-5), k = 1 .. infinity)

(1)

simplify(value(L)); # Maple needs help!

-(sum((-1)^k/(floor((5/2)*k)-1), k = 1 .. infinity))

(2)

a:=unapply(op(1,L),k ): b:=unapply(op(1,M),k ):

u:=simplify(a(2*n) + a(2*n-1)) assuming n::posint;
v:=simplify(b(2*n) + b(2*n-1)) assuming n::posint;

3/(25*n^2-25*n+4)

 

3/(25*n^2-25*n+4)

(3)

L = sum(u, n=1..infinity);  M=sum(v, n=1..infinity);

Sum((-1)^(k+1)/(floor((5/2)*k)-1), k = 1 .. infinity) = (1/5)*Pi*cot((1/5)*Pi)

 

Sum(4*(-1)^(k+1)/(10*k+(-1)^k-5), k = 1 .. infinity) = (1/5)*Pi*cot((1/5)*Pi)

(4)

 

 

Download LM-vv.mw

Maple cannot compute the limit, but your expression 
Sum(Sum(j/(j^2 + k^2), j = 1..n), k = 1..n) / n
is a Riemann sum of the double integral

int(y/(x^2+y^2), [x=0..1,y=0..1]);

         

and this is the result of the limit (not difficult to justify).

 

It seems that Maple does not like your problems. I do :-) 

 

Problem 1.

restart

sum(x^(2^k)/product(x^(2^m) + 1, m = 0 .. k), k = 0 .. infinity) assuming x>1;

sum(x^(2^k)/(product(x^(2^m)+1, m = 0 .. k)), k = 0 .. infinity)

(1)

So, this does not work. Amplifying the fraction by  x-1

Workaround:   Amplifying the fraction by  x-1 ==>

sum(x^(2^k)/product(x^(2^m) + 1, m = 0 .. k), k = 0 .. infinity) =
sum(x^(2^k)*(x - 1)/(x^(2^(k + 1)) - 1), k = 0 .. infinity);

sum(x^(2^k)/(product(x^(2^m)+1, m = 0 .. k)), k = 0 .. infinity) = sum(x^(2^k)*(x-1)/(x^(2^(k+1))-1), k = 0 .. infinity)

(2)

The main ingredient is the identity:

sum(x^(2^k)*(x - 1)/(x^(2^(k + 1)) - 1), k = 0 .. n) = (x^(2^(n + 1)) - x)/(x^(2^(n + 1)) - 1);

sum(x^(2^k)*(x-1)/(x^(2^(k+1))-1), k = 0 .. n) = (x^(2^(n+1))-x)/(x^(2^(n+1))-1)

(3)

This can ve checked by induction. Finally:

 

map(limit, %, n=infinity) assuming x>1;

sum(x^(2^k)*(x-1)/(x^(2^(k+1))-1), k = 0 .. infinity) = 1

(4)

Problem 2.

 

S:=Sum(Sum(1/i,i=1..n)/n/(n+1), n=1..infinity);

Sum((Sum(1/i, i = 1 .. n))/(n*(n+1)), n = 1 .. infinity)

(5)

S = value(S);

Sum((Sum(1/i, i = 1 .. n))/(n*(n+1)), n = 1 .. infinity) = sum((Psi(n+1)+gamma)/(n*(n+1)), n = 1 .. infinity)

(6)

So, Maple practically also fails.

 

Here it is enough to change the summation order (legit, because the summands are positive).

 

Sum(Sum(1/i/n/(n+1), n=i..infinity), i=1..infinity);

Sum(Sum(1/(i*n*(n+1)), n = i .. infinity), i = 1 .. infinity)

(7)

S = value(%);

Warning, unable to determine if the summand is singular in the interval of summation (1 <= i or not); try to use assumptions or option 'parametric'

 

Sum((Sum(1/i, i = 1 .. n))/(n*(n+1)), n = 1 .. infinity) = (1/6)*Pi^2

(8)

It is interesting that the warning disappears if we execute the last command once more!NULL


Download test12-vv.mw

B:=(4*exp(x/2) - 3*x - 2*exp(x/3)+1)^11 + (4*exp(x/2) + x - 2*exp(x/3)+1)^11 - 13:
A:=combine(expand(B)):
A1:=simplify(A, size): B1:=simplify(B, size):
length~([A, B, A1, B1]);
MmaTranslator:-Mma:-LeafCount~([A, B, A1, B1]);                   

                    [6209, 120, 3487, 120]

                      [1539, 38, 976, 38]

It will be very difficult (no algorithms available) to simplify A to B.  For the other software too!

eval(A-B, x=2*t):
simplify(factor(expand(%))) assuming real;

                     0

Maple 2024 does not solve the problem.
Here is a workaround:

convert(series((f:=(lhs-rhs)(eq)),t,16),polynom):
solve([coeffs(%,t)]);
eval(f,%); #check

        {A[1]=0, A[2]=0, A[3]=-7/25, A[4]=1/25, A[5]=-2/5, A[6]=1/5, A[7]=3/16, A[8]=0, A[9]=0, A[10]=3/8}
        0

1 2 3 4 5 6 7 Last Page 2 of 120