Vitsi piilee siinä, että tavallisten vektorilaskutoimitusten
z1+z2 = (x1+x2,y1+y2) c z = (c x, c y)lisäksi määritellään R2:n vektoreille kertolasku
z1z2 = (x1x2-y1y2,x1y2+x2y1)Määritelmä Kompleksilukujoukko C on reaalinen vektoriavaruus R2 varustettuna lisäksi edellä määritellyllä kertolaskulla.
Muistisääntö kertolaskuun: (Vastinalkioiden tulojen erotus, ristiinkerrottujen summa)
(x1,0)+(x2,0)=(x1+x2,0) ja (x1,0)(x2,0)=(x1x2,0)
Jokainen kompleksiluku z=(x,y) voidaan esittää kannan{(1,0),(0,1)} avulla:
z=x(1,0)+y(0,1)(Huomaa, että reaalisella skalaarilla kertominen (VA-mielessä) on samaa kuin reaalisella kompleksiluvulla kertominen kompleksikertomielessä.)
> z1:=8+3*I; z2:=9-2*I; z1 := 8 + 3 I z2 := 9 - 2 I > z1-z2; -1 + 5 I > z1*z2; 78 + 11 I > z1/z2; 66 43 -- + -- I 85 85 > z1:=x1+I*y1;z2:=x2+I*y2; z1 := x1 + I y1 z2 := x2 + I y2 > z1/z2; x1 + I y1 --------- x2 + I y2 > evalc(%); x1 x2 y1 y2 / y1 x2 x1 y2 \ --------- + --------- + I |--------- - ---------| 2 2 2 2 | 2 2 2 2| x2 + y2 x2 + y2 \x2 + y2 x2 + y2 /
» format compact » z1=8+3*i;z2=9-2*i; » z1-z2 ans = -1.0000 + 5.0000i » z1*z2 ans = 78.0000 +11.0000i » z1/z2 ans = 0.7765 + 0.5059i » format long;z1/z2 ans = 0.77647058823529 + 0.50588235294118iSymbolista osaa ei Matlabilla voi tehdä (paitsi Maplea kutsuvan symbolic toolboxin avulla, mutta mukavampaa suoraan Maplella toki).
conjugate, abs, argument, Re, ImSievennykseen
evalc, expand, collect
z:=cos(Theta)+I*sin(Theta); assume(Theta,real):De Moivre ==>
cos(3*Theta)=Re(expand(z^3)); sin(3*Theta)=Im(expand(z^3));Komento expand kertoo polynomin auki. Ilman sitä Re ja Im-funktiot eivät osaa.
> lista := [1+2*I, 3+4*I, 5-I, 7-8*I]: > complexplot(lista, x=0..10, style=point);
> with(plots): > w:=exp(I*2*k*Pi/n); # ykkösen n:nnet juuret. > n:=8: pisteet:=complexplot([seq(w,k=0..n-1)],x=-1..1,style=point,scaling=constrained): > ymp:=complexplot(exp(I*t),t=0..2*Pi,color=blue): > display([pisteet,ymp],scaling=constrained);Kompleksilukupisteiden piirtoa