Kitonum

21952 Reputation

26 Badges

17 years, 349 days

MaplePrimes Activity


These are answers submitted by Kitonum

Use  extrema  command for this (gives min and max). Optimization:-Minimize  command gives the same result.

An example:

restart;
with(LinearAlgebra):
A:=RandomMatrix(10,3);
b:=RandomVector(10);
x:=<x1,x2,x3>;
Obj:=VectorNorm(A.x-b, 2, conjugate = false);
extrema(Obj, x1^2+x2^2+x3^2=1, {x1,x2,x3});
evalf(%); # First way (gives min and max)
Optimization:-Minimize(Obj, {x1^2+x2^2+x3^2=1}); # Second way  

Matrix(10, 3, {(1, 1) = -6, (1, 2) = -68, (1, 3) = 6, (2, 1) = -25, (2, 2) = -10, (2, 3) = 60, (3, 1) = 32, (3, 2) = 40, (3, 3) = 41, (4, 1) = 26, (4, 2) = 93, (4, 3) = -87, (5, 1) = 75, (5, 2) = -22, (5, 3) = -22, (6, 1) = -45, (6, 2) = 94, (6, 3) = 51, (7, 1) = -77, (7, 2) = 25, (7, 3) = -86, (8, 1) = -90, (8, 2) = 50, (8, 3) = 12, (9, 1) = 39, (9, 2) = 31, (9, 3) = 60, (10, 1) = 73, (10, 2) = 87, (10, 3) = 44})

 

Vector(10, {(1) = 40, (2) = 12, (3) = -93, (4) = -29, (5) = 21, (6) = 84, (7) = 55, (8) = -40, (9) = -61, (10) = -89})

 

Vector[column](%id = 18446745429957422726)

 

((-6*x1-68*x2+6*x3-40)^2+(-25*x1-10*x2+60*x3-12)^2+(32*x1+40*x2+41*x3+93)^2+(26*x1+93*x2-87*x3+29)^2+(75*x1-22*x2-22*x3-21)^2+(-45*x1+94*x2+51*x3-84)^2+(-77*x1+25*x2-86*x3-55)^2+(-90*x1+50*x2+12*x3+40)^2+(39*x1+31*x2+60*x3+61)^2+(73*x1+87*x2+44*x3+89)^2)^(1/2)

 

{RootOf(5746334135035672084375*_Z^6-913958027295259362004439418*_Z^5+209303995485125455462754953871449*_Z^4-32271236300897810282685984855604245768*_Z^3+1625279483013868647347724976179028140933357*_Z^2-36929029028260658945070210577750774205716044622*_Z+341556341515302335505787717878837563118963515418383, index = 1)^(1/2), RootOf(5746334135035672084375*_Z^6-913958027295259362004439418*_Z^5+209303995485125455462754953871449*_Z^4-32271236300897810282685984855604245768*_Z^3+1625279483013868647347724976179028140933357*_Z^2-36929029028260658945070210577750774205716044622*_Z+341556341515302335505787717878837563118963515418383, index = 2)^(1/2)}

 

{160.8926194, 338.9540270}

 

[160.892619369734575, [x1 = HFloat(-0.8163050519700333), x2 = HFloat(-0.5087313946293615), x3 = HFloat(-0.27356613505088273)]]

(1)

 


 

Download min.mw

See help on  CurveFitting:-PolynomialInterpolation  command.

A:=[[1,2],[5,7]]:
B:=[[1,2]]:
(convert(A,set) intersect convert(B,set))[];

# or

A:=[[1,2],[5,7]]:
B:=[[1,2]]:
({A[]} intersect {B[]})[];

 

p := [[[0, 5], [3, 10], [1, 20], [0, 50]], [[2, 5], [0, 10], [2, 20], [0, 50]]];
evalindets(p, list(numeric), i->`if`(i[1]<>0,i,NULL)) ;

evalc  command tries to bring the result to the form  a+b*I  , in which  a  and  b  are  reals.

evalc(I^I);
evalc(2^(2*I+6));

Apparently it should be regarded as a bug in Maple. Use  is  command instead:

is(a * conjugate(a) = abs(a) ^ 2);
                                                         
  true


Of course, Maple knows this identity, making a corresponding simplification:

simplify(a*conjugate(a));
                                                         
abs(a)^2

Here is the corrected version:


 

restart

Typesetting:-mrow(Typesetting:-mi("et", italic = "true", mathvariant = "italic"), Typesetting:-mo(" ", mathvariant = "normal", fence = "false", separator = "false", stretchy = "false", symmetric = "false", largeop = "false", movablelimits = "false", accent = "false", lspace = "0.0em", rspace = "0.0em"), Typesetting:-mo("&coloneq;", mathvariant = "normal", fence = "false", separator = "false", stretchy = "false", symmetric = "false", largeop = "false", movablelimits = "false", accent = "false", lspace = "0.2777778em", rspace = "0.2777778em"), Typesetting:-mo("proc", bold = "true", mathvariant = "bold", fontweight = "bold", fence = "false", separator = "false", stretchy = "false", symmetric = "false", largeop = "false", movablelimits = "false", accent = "false", lspace = "0.0em", rspace = "0.0em"), Typesetting:-mfenced(Typesetting:-mrow(Typesetting:-mi("x", italic = "true", mathvariant = "italic")), mathvariant = "normal"), Typesetting:-mi(""), Typesetting:-mspace(height = "0.0ex", width = "0.5em", depth = "0.0ex", linebreak = "firstprocnewline"), Typesetting:-mo("description", bold = "true", mathvariant = "bold", fontweight = "bold", fence = "false", separator = "false", stretchy = "false", symmetric = "false", largeop = "false", movablelimits = "false", accent = "false", lspace = "0.0em", rspace = "0.0em"), Typesetting:-mspace(height = "0.0ex", width = "0.5em", depth = "0.0ex", linebreak = "auto"), Typesetting:-ms("this is a variant of evalf that gets rid of almost 0 nos.(rounding error) and shortens the display to 2 digits"), Typesetting:-mo(";", mathvariant = "normal", fence = "false", separator = "true", stretchy = "false", symmetric = "false", largeop = "false", movablelimits = "false", accent = "false", lspace = "0.0em", rspace = "0.2777778em"), Typesetting:-mspace(height = "0.0ex", width = "0.5em", depth = "0.0ex", linebreak = "firstprocnewline"), Typesetting:-mo("if", bold = "true", mathvariant = "bold", fontweight = "bold", fence = "false", separator = "false", stretchy = "false", symmetric = "false", largeop = "false", movablelimits = "false", accent = "false", lspace = "0.0em", rspace = "0.0em"), Typesetting:-mo(" ", mathvariant = "normal", fence = "false", separator = "false", stretchy = "false", symmetric = "false", largeop = "false", movablelimits = "false", accent = "false", lspace = "0.0em", rspace = "0.0em"), Typesetting:-mi("abs", italic = "false", mathvariant = "normal"), Typesetting:-mfenced(Typesetting:-mrow(Typesetting:-mi("evalf", italic = "true", mathvariant = "italic"), Typesetting:-mfenced(Typesetting:-mrow(Typesetting:-mi("x", italic = "true", mathvariant = "italic"), Typesetting:-mo(",", mathvariant = "normal", fence = "false", separator = "true", stretchy = "false", symmetric = "false", largeop = "false", movablelimits = "false", accent = "false", lspace = "0.0em", rspace = "0.3333333em"), Typesetting:-mn("20", mathvariant = "normal")), mathvariant = "normal")), mathvariant = "normal"), Typesetting:-mo("<", mathvariant = "normal", fence = "false", separator = "false", stretchy = "false", symmetric = "false", largeop = "false", movablelimits = "false", accent = "false", lspace = "0.2777778em", rspace = "0.2777778em"), Typesetting:-mn("10", mathvariant = "normal"), Typesetting:-mo("^", mathvariant = "normal", fence = "false", separator = "false", stretchy = "false", symmetric = "false", largeop = "false", movablelimits = "false", accent = "false", lspace = "0.1111111em", rspace = "0.1111111em"), Typesetting:-mfenced(Typesetting:-mrow(Typesetting:-mo("&uminus0;", mathvariant = "normal", fence = "false", separator = "false", stretchy = "false", symmetric = "false", largeop = "false", movablelimits = "false", accent = "false", lspace = "0.2222222em", rspace = "0.2222222em"), Typesetting:-mn("14", mathvariant = "normal")), mathvariant = "normal"), Typesetting:-mo(" ", mathvariant = "normal", fence = "false", separator = "false", stretchy = "false", symmetric = "false", largeop = "false", movablelimits = "false", accent = "false", lspace = "0.0em", rspace = "0.0em"), Typesetting:-mo("then", bold = "true", mathvariant = "bold", fontweight = "bold", fence = "false", separator = "false", stretchy = "false", symmetric = "false", largeop = "false", movablelimits = "false", accent = "false", lspace = "0.0em", rspace = "0.0em"), Typesetting:-mspace(height = "0.0ex", width = "0.5em", depth = "0.0ex", linebreak = "increaseindentnewline"), Typesetting:-mn("0", mathvariant = "normal"), Typesetting:-mspace(height = "0.0ex", width = "0.5em", depth = "0.0ex", linebreak = "decreaseindentnewline"), Typesetting:-mo("else", bold = "true", mathvariant = "bold", fontweight = "bold", fence = "false", separator = "false", stretchy = "false", symmetric = "false", largeop = "false", movablelimits = "false", accent = "false", lspace = "0.0em", rspace = "0.0em"), Typesetting:-mspace(height = "0.0ex", width = "0.5em", depth = "0.0ex", linebreak = "increaseindentnewline"), Typesetting:-mi("evalf", italic = "true", mathvariant = "italic"), Typesetting:-mfenced(Typesetting:-mrow(Typesetting:-mi("x", italic = "true", mathvariant = "italic"), Typesetting:-mo(",", mathvariant = "normal", fence = "false", separator = "true", stretchy = "false", symmetric = "false", largeop = "false", movablelimits = "false", accent = "false", lspace = "0.0em", rspace = "0.3333333em"), Typesetting:-mn("2", mathvariant = "normal")), mathvariant = "normal"), Typesetting:-mi(""), Typesetting:-mspace(height = "0.0ex", width = "0.5em", depth = "0.0ex", linebreak = "decreaseindentnewline"), Typesetting:-mo("end if", bold = "true", mathvariant = "bold", fontweight = "bold", fence = "false", separator = "false", stretchy = "false", symmetric = "false", largeop = "false", movablelimits = "false", accent = "false", lspace = "0.0em", rspace = "0.0em"), Typesetting:-mspace(height = "0.0ex", width = "0.5em", depth = "0.0ex", linebreak = "decreaseindentnewline"), Typesetting:-mo("end", bold = "true", mathvariant = "bold", fontweight = "bold", fence = "false", separator = "false", stretchy = "false", symmetric = "false", largeop = "false", movablelimits = "false", accent = "false", lspace = "0.0em", rspace = "0.0em"), Typesetting:-mo(" ", mathvariant = "normal", fence = "false", separator = "false", stretchy = "false", symmetric = "false", largeop = "false", movablelimits = "false", accent = "false", lspace = "0.0em", rspace = "0.0em"), Typesetting:-mo("proc", bold = "true", mathvariant = "bold", fontweight = "bold", fence = "false", separator = "false", stretchy = "false", symmetric = "false", largeop = "false", movablelimits = "false", accent = "false", lspace = "0.0em", rspace = "0.0em"), Typesetting:-mo(":", mathvariant = "normal", fence = "false", separator = "false", stretchy = "false", symmetric = "false", largeop = "false", movablelimits = "false", accent = "false", lspace = "0.2777778em", rspace = "0.2777778em"))

et(Pi)

3.1

(1)

et(3.1637)

3.2

(2)

 


 

Download proc.description_new.mw

f:=(x^2+y^2+2*y)^2-4*(x^2+y^2):
plots:-implicitplot(f, x=-4..4,y=-4..4, gridrefine=3);

# Or
algcurves:-plot_real_curve(f, x, y);

# Or (in polar coordinates)
simplify(subs([x=r*cos(phi),y=r*sin(phi)], f));
solve(%, r);
plot(%[4], phi=0..2*Pi, coords=polar);

 

restart;
Set:={R = 7.339698158, S = 2.378491488, W = 2.512047349}:
X:=eval(R, Set);
Y:=eval(S, Set); 
#  and so on

You can do this in one line (multiple assignment):
restart;
Set:={R = 7.339698158, S = 2.378491488, W = 2.512047349}:
X, Y:=eval([R, S], Set)[];

 

Edit.

I think that in one answer it is easy to answer for everyone:

1. Student:-Calculus1:-LimitTutor command is very weak and just fails with this example.

2. For a student studying the theory of limits, it would be more useful to solve this example manually, first getting rid of the signs of the modules in the neighborhood of point  x=2  on the left and on the right.

3. The process of getting rid of modules is easy to automate with the help of Maple, after which the task becomes quite obvious:

Expr:=(2*abs(x-2)+abs(x+1)-3)/(abs(x^2-4)+x-2);  
A:=simplify(Expr) assuming x<2 and x>1.9;  
# On the left
B:=simplify(Expr) assuming x>2 and x<2.1;  # On the right
plot(Expr, x=1..3, view=0..1, discont, size=[600,300]);  # A visualization
                        

 

restart;
SplitChange := proc(str::string) 
local start, i, len, k, L;  
start := 1; len := length(str); k:=0;
for i from 2 to len do 
if str[i] <> str[start] then k:=k+1; L[k]:=str[start .. i-1]; start := i end if;
end do;
L[k+1]:=str[start..len]; 
convert(L, list);
end proc:

Example of use:
SplitChange("WPKCPYWYYYXHYY");
                
["W", "P", "K", "C", "P", "Y", "W", "YYY", "X", "H", "YY"]


Edit.

A  and  B  are 2 curves on the surface  C :

restart; 
f:=(x,y)->2*x^2+3^2-x*y-4:
A:=plots:-spacecurve([1,y,f(1,y)], y=-2..2, color=red, thickness=3):
B:=plots:-spacecurve([x,1,f(x,1)], x=-2..2, color=blue, thickness=3):
C:=plot3d(f, -2..2, -2..2, style=surface):
plots:-display(A,B,C, orientation=[115,75], labels=[x,y,z]);

For this particular plotting, 20 digits is enough. It is better not to specify the global Digits, but to specify the desired accuracy when specifying the function itself. In this case, you need a procedural form for plotting:

restart;
f:= x->evalf[20](exp(x)*HeunC(2*x, 1/2, -1/2, -x^2, 1/8, 99/100)):
plot(f, 0..40);
                          

 

restart; 
a := plot(1/x, x=0..1);
op([3,2], a);   
# This is the desired result
 

Should be  od  (instead of  end )  in the end of your code.

First 110 111 112 113 114 115 116 Last Page 112 of 292