DiploMat Uge 2-1Preben Alsholm 11/2 2008restart;libname:="h:/MatematikPakke/libDMat",libname;with(DMat);arg(ab) = arg(a) + arg(b)Maple ved det godt:Vi skriver de to tal p\303\245 pol\303\246r form hver for sig:map(polar,a*b);og beder Maple om at simplificere produktet:simplify(%);Beviset som f\303\270rt i noterne med moduli udeladt:(cos(u)+I*sin(u))*(cos(v)+I*sin(v));Her ganges blot ud:evalc(%);Her bruger Maple additionsformlerne:combine(%);Definitionen af den komplekse eksponentialfunktionexp(x+I*y)=evalc(exp(x+I*y));Den fundamentale exp-egenskabexp(z[1]+z[2])=expand(exp(z[1]+z[2]));Proceduren PolarForm (findes i pakken DiploMat)F\303\270lgende procedure er hjemmelavet. Form\303\245let er at angive den pol\303\246re form for et tal p\303\245 formen LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYnLUkjbWlHRiQ2I1EhRictRiM2Jy1GLDYlUSJyRicvJSdpdGFsaWNHUSV0cnVlRicvJSxtYXRodmFyaWFudEdRJ2l0YWxpY0YnLUkjbW9HRiQ2LVExJkludmlzaWJsZVRpbWVzO0YnL0Y4USdub3JtYWxGJy8lJmZlbmNlR1EmZmFsc2VGJy8lKnNlcGFyYXRvckdGQi8lKXN0cmV0Y2h5R0ZCLyUqc3ltbWV0cmljR0ZCLyUobGFyZ2VvcEdGQi8lLm1vdmFibGVsaW1pdHNHRkIvJSdhY2NlbnRHRkIvJSdsc3BhY2VHUSYwLjBlbUYnLyUncnNwYWNlR0ZRLUklbXN1cEdGJDYlLUY7Ni1RLyZFeHBvbmVudGlhbEU7RidGPkZARkNGRUZHRklGS0ZNRk8vRlNRLDAuMTExMTExMWVtRictRiM2Jy1GLDYlUSJpRidGNEY3RjotRiw2JVEidkYnRjRGNy8lK2JhY2tncm91bmRHUS5bMjU1LDI1NSwyNTVdRidGPi8lMXN1cGVyc2NyaXB0c2hpZnRHUSIwRidGXm9GPkYrRl5vRj4=, hvor LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYnLUkjbWlHRiQ2I1EhRictRiM2Jy1JI21uR0YkNiRRIjBGJy8lLG1hdGh2YXJpYW50R1Enbm9ybWFsRictSSNtb0dGJDYtUSUmbGU7RidGNS8lJmZlbmNlR1EmZmFsc2VGJy8lKnNlcGFyYXRvckdGPi8lKXN0cmV0Y2h5R0Y+LyUqc3ltbWV0cmljR0Y+LyUobGFyZ2VvcEdGPi8lLm1vdmFibGVsaW1pdHNHRj4vJSdhY2NlbnRHRj4vJSdsc3BhY2VHUSwwLjI3Nzc3NzhlbUYnLyUncnNwYWNlR0ZNLUYsNiVRInJGJy8lJ2l0YWxpY0dRJXRydWVGJy9GNlEnaXRhbGljRicvJStiYWNrZ3JvdW5kR1EuWzI1NSwyNTUsMjU1XUYnRjVGK0ZYRjU= og LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYnLUkjbWlHRiQ2I1EhRictRiM2KS1GLDYlUSJ2RicvJSdpdGFsaWNHUSV0cnVlRicvJSxtYXRodmFyaWFudEdRJ2l0YWxpY0YnLUknbXNwYWNlR0YkNiYvJSdoZWlnaHRHUSYwLjBleEYnLyUmd2lkdGhHUSYwLjVlbUYnLyUmZGVwdGhHRj8vJSpsaW5lYnJlYWtHUSVhdXRvRictSSNtb0dGJDYtUSUmaW47RicvRjhRJ25vcm1hbEYnLyUmZmVuY2VHUSZmYWxzZUYnLyUqc2VwYXJhdG9yR0ZQLyUpc3RyZXRjaHlHRlAvJSpzeW1tZXRyaWNHRlAvJShsYXJnZW9wR0ZQLyUubW92YWJsZWxpbWl0c0dGUC8lJ2FjY2VudEdGUC8lJ2xzcGFjZUdRJjAuMGVtRicvJSdyc3BhY2VHRmluRjotRiw2JVEiUkYnRjRGNy8lK2JhY2tncm91bmRHUS5bMjU1LDI1NSwyNTVdRidGTEYrRl9vRkw=.PolarForm:=proc(tal::{algebraic,list,set})
if type(tal,{list,set}) then return map(procname,tal) end if;
if type(tal,specfunc(anything,polar))
then op(1,tal)*'exp'(I*op(2,tal))
else
procname(radnormal(polar(tal)))
end if
end proc:Eksempel 26polar( -sqrt(3)-I );Fuld evaluering:2*exp(-5/6*Pi*I);Forhaling af evaluering ved brug af apostroffer:2*'exp(-5/6*Pi*I)';%;PolarForm(%);%;Eksempel 28 (8 i den korte version)I noterne skal vi udtrykke cos(3x) ved cos(x) ved brug af Moivres formel.Maple kan dog selv:expand(cos(3*x));expand(sin(3*x));simplify(%,{cos(x)^2=1-sin(x)^2});Simuleret h\303\245ndkraft via Moivres formel. Det bliver ikke lettere (Maple-teknisk), hvis vi selv vil bestemme hvordan udregningerne skal foretages. Tv\303\246rtimod!M:=cos(3*x)+I*sin(3*x)=(cos(x)+I*sin(x))^3;H\303\270jresiden skrives p\303\245 rektangul\303\246r form (her betyder det blot, at der ganges ud):Mh:=evalc(rhs(M));Vi har nu, atlhs(M)=Mh;Venstre og h\303\270jre sides realdele m\303\245 v\303\246re lig med hinanden:Formel1:=evalc(Re(%));Det samme m\303\245 imagin\303\246rdelene:Formel2:=evalc(Im(%%));I Formel 1 bruger vi idiotformlen for at f\303\245 en p\303\246nere formel: applyop(simplify,2,Formel1,{sin(x)^2=1-cos(x)^2});I Formel 2 bruger vi ligeledes idiotformlen for at f\303\245 en p\303\246nere formel:applyop(simplify,2,Formel2,{cos(x)^2=1-sin(x)^2});Eksempel 31 (og 34)ln( sqrt(3)-I );Maple kommer altid med hovedv\303\246rdien af logaritmen:evalc(%);Kontrol af resultatet:exp(%);simplify(%);Eksempel 32 (og 34)Hovedv\303\246rdien af logaritmen til -5 erln(-5);Logaritmen til iln(I);Eksempel 39 (11 i den korte version)En binom ligning:ligning:=z^5=32;PolarForm(32);L\303\270sningerne:L:=solve(ligning,z);Eller lidt mere overskueligt:for k to 5 do L[k] end do;Vi konrollerer den pol\303\246re form for disse tal:for p from 0 to 4 do 2*'exp'(p*2*Pi/5*I)=convert(2*exp(p*2*Pi/5*I),radical) end do;Pr\303\270ver man polar p\303\245 tallene i L:simplify(map(polar,[L])); opdager man, at Maple ikke af sig selv opdager, hvad vinklerne faktisk er. I kontrollen i l\303\270kken ovenfor er vi derfor g\303\245et den modsatte vej.Vi indtegner de 5 r\303\270dder i den komplekse plan:with(plots):complexplot([L],style=point,symbol=solidcircle,symbolsize=20);Figuren i noterne er lavet s\303\245ledes:p:='p':
p1:=complexplot([L],style=point,symbol=solidcircle,symbolsize=30):p2:=complexplot(2*exp(I*t),t=0..2*Pi,color=blue,thickness=2):p3:=seq(complexplot([0,L[k]],thickness=2),k=1..5):
p4:=textplot([[2.6,.2,p=0],[1.3,2,p=1],[-2.2,1.2,p=2],[-2.2,-1.2,p=3],[1.3,-2,p=4]]):
display(p1,p2,p3,p4,scaling=constrained);Eksempel 40 (12 i den korte)Endnu en binom ligning:ligning:=z^3=-125;PolarForm(-125);L:=solve(ligning,z);PolarForm([L]);complexplot([L],style=point,symbol=solidcircle,symbolsize=30,scaling=constrained);Figuren i noterne er lavet s\303\245ledes:p1:=complexplot([L],style=point,symbol=solidcircle,symbolsize=30):p2:=complexplot(5*exp(I*t),t=0..2*Pi,color=blue,thickness=2):p3:=seq(complexplot([0,L[k]],thickness=2),k=1..3):
p4:=textplot([[4.5,4.5,p=0],[-7,.6,p=1],[4.5,-4.5,p=2]]):
display(p1,p2,p3,p4,scaling=constrained);Bem\303\246rkning 41Her f\303\245s hovedv\303\246rdien af roden:(-125)^(1/3);simplify(%);surd giver den, vi (m\303\245ske) gerne ville have haft:surd(-125,3);Eksempel 42 (14 i den korte)En binom ligning af anden grad:ligning:=z^2=-4*I;PolarForm(-4*I);solve(ligning,z);PolarForm([%]);Eksempel 43 (15 i den korte)En binom ligning af fjerde grad:ligning:=z^4=1+I;PolarForm(1+I);L:=solve(ligning,z);Resultaterne er ikke p\303\245 rektangul\303\246r form, s\303\245 vi bruger evalc:res:=evalc([L]);Vi ville dog gerne have et rodudtryk i stedet for cos og sin, men f\303\270lgende kommando hj\303\246lper os desv\303\246rre ikke:convert(res,radical);s\303\245 vi m\303\245 g\303\245 en omvej:convert(cos(1/16*Pi),RootOf);COS:=convert(%,radical);convert(sin(1/16*Pi),RootOf);SIN:=convert(%,radical);subs(cos(1/16*Pi)=COS,sin(1/16*Pi)=SIN,res);\303\211n sammensat kommando giver det hele p\303\245 \303\251n gang:subsindets(res,specfunc(anything,{sin,cos}),x->convert(convert(x,RootOf),radical));Figuren i noterne blev lavet s\303\245ledes:p1:=complexplot([L],style=point,symbol=solidcircle,symbolsize=30):p2:=complexplot(2^(1/8)*exp(I*t),t=0..2*Pi,color=blue,thickness=2):p3:=seq(complexplot([0,L[k]],thickness=2),k=1..4):
p4:=textplot([[1.5,.2,p=0],[-1.4,-.3,p=2],[-.6,1.1,p=1],[.6,-1.1,p=3]]):
display(p1,p2,p3,p4,scaling=constrained);