Kitonum

21595 Reputation

26 Badges

17 years, 162 days

MaplePrimes Activity


These are answers submitted by Kitonum

See the  Large Operators  palette :

                               

 

In Maple we can use the  extrema  command for symbolic calculation of the  maximum  or the  minimum . The  extrema  command employs the method of Lagrange multipliers. Of course, this method is not universal and can fail if the extremum is reached at the points where differentiability is violated.

 

restart:
f:=(x-2*y)/(5*x^2-2*x*y+2*y^2):
V:=extrema(f, {2*x^2 - y^2 + x*y=1}, {x,y}, s);
s;
s1:=convert(s,list);
simplify(eval~(f, s1)); # Check

{-(1/4)*2^(1/2), (1/4)*2^(1/2)}

 

{{x = -(1/3)*6^(1/2), y = -(1/6)*6^(1/2)-(1/2)*2^(1/2)}, {x = -(1/3)*6^(1/2), y = -(1/6)*6^(1/2)+(1/2)*2^(1/2)}, {x = (1/3)*6^(1/2), y = (1/6)*6^(1/2)-(1/2)*2^(1/2)}, {x = (1/3)*6^(1/2), y = (1/6)*6^(1/2)+(1/2)*2^(1/2)}}

 

[{x = -(1/3)*6^(1/2), y = -(1/6)*6^(1/2)-(1/2)*2^(1/2)}, {x = -(1/3)*6^(1/2), y = -(1/6)*6^(1/2)+(1/2)*2^(1/2)}, {x = (1/3)*6^(1/2), y = (1/6)*6^(1/2)-(1/2)*2^(1/2)}, {x = (1/3)*6^(1/2), y = (1/6)*6^(1/2)+(1/2)*2^(1/2)}]

 

[(1/4)*2^(1/2), -(1/4)*2^(1/2), (1/4)*2^(1/2), -(1/4)*2^(1/2)]

(1)

 


We see that the maximum  sqrt(2)/4  is reached at two points. At the same time, we also learned everything about the minimum.

 

Download extrema.mw

1. For grouping the terms of an equation in Maple do not use square or curly brackets (only parentheses).

2. There is no need to use the  fsolve  command first for plotting, you can immediately plot with the  plots:-implicitplot  command. We see 2 values of  M  for each value of  sigmai from the range  0.1..0.4 :


 

Eq:=-(1/18)*(((M+sqrt(3)*sqrt(sigmai))^2-(M-sqrt(3)*sqrt(sigmai))^2)^(3/2)-(M+sqrt(3)*sqrt(sigmai))^3+(M-sqrt(3)*sqrt(sigmai))^3)*sqrt(3)/sqrt(sigmai)+2*f*(1-(1+(1/2*(qc-1))*(M-sqrt(3)*sqrt(sigmai))^2)^((3*qc-1)/(2*qc-2)))/(3*qc-1)+(2*(1-f))*(1-(1+(1/2)*beta*(qh-1)*(M-sqrt(3)*sqrt(sigmai))^2)^((3*qh-1)/(2*qh-2)))/(beta*(3*qh-1))=0;
params:=[qc=0.7,qh=0.7,beta=0.1, f=0.11];
R:=sigmai=0.1..0.4;
Eq1:=eval(Eq, params);
plots:-implicitplot(Eq1, R, M=-10..10, gridrefine=4);

-(1/18)*(((M+3^(1/2)*sigmai^(1/2))^2-(M-3^(1/2)*sigmai^(1/2))^2)^(3/2)-(M+3^(1/2)*sigmai^(1/2))^3+(M-3^(1/2)*sigmai^(1/2))^3)*3^(1/2)/sigmai^(1/2)+2*f*(1-(1+(1/2)*(qc-1)*(M-3^(1/2)*sigmai^(1/2))^2)^((3*qc-1)/(2*qc-2)))/(3*qc-1)+2*(1-f)*(1-(1+(1/2)*beta*(qh-1)*(M-3^(1/2)*sigmai^(1/2))^2)^((3*qh-1)/(2*qh-2)))/(beta*(3*qh-1)) = 0

 

[qc = .7, qh = .7, beta = .1, f = .11]

 

sigmai = .1 .. .4

 

-(1/18)*(((M+3^(1/2)*sigmai^(1/2))^2-(M-3^(1/2)*sigmai^(1/2))^2)^(3/2)-(M+3^(1/2)*sigmai^(1/2))^3+(M-3^(1/2)*sigmai^(1/2))^3)*3^(1/2)/sigmai^(1/2)+16.38181818-.2000000000/(1-.1500000000*(M-3^(1/2)*sigmai^(1/2))^2)^1.833333333-16.18181818/(1-0.1500000000e-1*(M-3^(1/2)*sigmai^(1/2))^2)^1.833333333 = 0

 

 

``


 

Download eq_new.mw

 

We can think of a conformal mapping as a mapping from R^2 to R^2 :


 

restart;
assume(y, real);
assume(x, real);
f := z -> I + z*exp(1/4*I*Pi);
w := f(x + y*I);
u := Re(w);
v := Im(w);
with(plots): with(plottools):
R:=display(polygon([[0,0],[1,0],[0,1]],color="LightBlue"),seq(plot(i,x=0..1-i,color=black),i=0..1,0.1),plot([seq([i,t,t=0..1-i],i=0..1,0.1)],color=black)):
F:=transform(unapply([u,v],x,y)):
`f(R)`:=display(F(R)):
display(<R |`f(R)`>, scaling=constrained, size=[300,300]);
display(R,`f(R)`);

proc (z) options operator, arrow; I+z*exp(((1/4)*I)*Pi) end proc

 

I+(x+I*y)*((1/2)*2^(1/2)+((1/2)*I)*2^(1/2))

 

(1/2)*x*2^(1/2)-(1/2)*y*2^(1/2)

 

1+(1/2)*x*2^(1/2)+(1/2)*y*2^(1/2)

 

 

 

 

 

 

 

 

 


 

Download conf.mw


 

restart; with(plots); with(plots, implicitplot)

pm2 := .5; dm2 := .14

NULL

A := inequal({pm2 > dm2+am2}, dt = 0 .. 1, am2 = 0 .. 1, color = "SkyBlue", numpoints = 8000); B := textplot([seq(seq([x, y, "+"], y = 0.3e-1 .. .33, 0.75e-1), x = 0.3e-1 .. .97, 0.47e-1)], font = [times, bold, 14]); display(A, B)

 

NULL


 

Download inequal_question_new.mw

restart;
eq:=x^2+2*x-1=0;
x=~[solve(eq)];

                   

 

Let  be the number of points on one dice, and   b  be the number of points on another one.
 

restart;
LE:=proc(a::integer,b::integer)
(type(a,even) and type(b,odd)) or (type(a,odd) and type(b,even)) implies a+b<=9;
end proc:

# Examples of use:
LE(2,3);
LE(5,6);

true

 

false

(1)

 


 

Download LE.mw

 

You can use an inert form for subtraction to keep the expression unchanged. For any calculations and transformations use the  value  command:

restart;
expr:=arccos(p%-a);
value(expr);
value(eval(expr,[p=0,a=1]));

                     

 

_B1  is a binary variable that is 0 or 1 :

restart;
ode:=diff(y(x),x)-y(x)/x+csc(y(x)/x)=0;
sol:=dsolve([ode,y(1)=0]);
about(_B1);
sol1:=eval(sol,_B1=0);
sol2:=eval(sol,_B1=1);
odetest(sol1,ode);
odetest(sol2,ode);

                   

Here is a solution in Maple:
 

restart;
Student:-Calculus1:-Roots(1/x^3-sin(12*x)=0, x=1.2..2);
map(x->[x,1/x^3], %); # Solutions of the system

Warning, some roots are returned as numeric approximations

 

[1.266058343, 1.591679997, 1.818677859]

 

[[1.266058343, .4927638521], [1.591679997, .2479891755], [1.818677859, .1662389018]]

(1)

 


 

Download nlsystem.mw

restart;
plots:-animate(plot,[cos(2*theta),theta=0..a, coords=polar], a=0..2*Pi);

 

We can significantly increase efficiency if we use symmetries: from one solution we can get  6 * 6 = 36 solutions by permutations of the first three and last three numbers. Instead of loops, it’s slightly more efficient and more compact to use nested seq . So we get the unique solution:


 

restart;
CodeTools:-Usage(seq(seq(seq(seq(seq(seq(`if`(a+b+c=a1+b1+c1 and a^2+b^2+c^2=a1^2+b1^2+c1^2 and a*b*c=2*a1*b1*c1,[a,b,c,a1,b1,c1],NULL),c1=b1..20),b1=a1..20),a1=1..20),c=b..20),b=a..20),a=1..20));

memory used=168.13MiB, alloc change=0 bytes, cpu time=3.25s, real time=3.26s, gc time=140.62ms

 

[3, 5, 16, 1, 8, 15]

(1)

 


 

Download isys.mw

Your surface is a torus:

restart;
plot3d(eval([x,sqrt(x^2+y^2)*cos(s),sqrt(x^2+y^2)*sin(s)],[x=cos(t),y=2+sin(t)]), t=0..2*Pi, s=0..2*Pi, scaling=constrained, labels=[x,y,z]);

                       

 


 

restart;
r1:=2:  r2:=2*(1-cos(theta)):
A:=plot([r1,r2], theta=0..2*Pi, color=[red,blue], thickness=3, coords=polar):
B:=plot(r1, theta=Pi/2..3*Pi/2, color=green, coords=polar, filled):
C:=plot(r2, theta=-Pi/2..Pi/2, color=green, coords=polar, filled):
plots:-display(A,B,C, scaling=constrained);

 

 


 

Download shade.mw


Here is another shorter way:
 

restart;
r1:=2:  r2:=2*(1-cos(theta)):
plot([r1,r2], theta=0..2*Pi, color=[red,blue], thickness=3, coords=polar, filled, scaling=constrained);

 

 


 

Download shade1.mw


Here is a more automatic plotting for the intersection:

restart;
r1:=2:  r2:=2*(1-cos(theta)):
plot(min(r1,r2), theta=0..2*Pi, color=green, coords=polar, filled, scaling=constrained);

Edit.

First 55 56 57 58 59 60 61 Last Page 57 of 290