Numere complexe ^ n gra ca 2D - math.uaic.ronecula/down_files/fractali2017/curs_03_nr... · In...

23
Cursul 3 Numere complexe ˆ ın grafica 2D 1. Introducere. Dezvoltarea istoric˘a a gˆandirii matematice a urm˘aritˆ ınde- aproape evolut ¸ia ideii de num˘ ar. Aceast˘a evolut ¸ie, exprimat˘a succint prin ¸ sirul de incluziuni N Z Q R C, nu a fost nicicum liniar˘a ci foarte sinuoas˘ a, cu etape suprapuse sau chiar ˆ ın ordine invers˘ a. Primeleauap˘arut numerele naturale 1, 2, 3,... , urmate de fract ¸ii ¸ si rapoarte. In lumea antic˘a deja ap˘aruser˘a semne c˘a numai acestea nu sunt suficiente; de exemplu, incomensurabilitatea diagonalei p˘atratului cu latura sa era cunoscut˘a din vremea lui Pitagora. Urm˘atoareaachizit ¸ie a fost num˘ arul zero care, plecˆand din India, a ajuns ˆ ın Europa ˆ ın jurul anului 1000, odat˘a cu scrierea pozit ¸ional˘ a a numerelor, prin intermediulc˘art ¸ilor lui Muhammad al-Khwarizmi, persanul de la numele c˘aruia provine termenul de algoritm. Numerele negative ¸ si imaginare apar ˆ ın acela¸ si timp, ˆ ın Italia secolului al XVI- lea, ˆ ın parte tot sub influent ¸a surselor islamice ¸ si bizantine. Aceste numere, cu denumiri care sugereaz˘a o acceptare doar formal˘a a existent ¸ei lor, s-au dovedit utile ˆ ın rezolvarea ecuat ¸iilor algebrice. Astfel, unitatea negativ˘a, 1, a fost definit˘a ca fiind solut ¸ia ecuat ¸iei x + 1 = 0, iar unitatea imaginar˘a, 1, ca solut ¸ie a ecuat ¸iei x 2 + 1 = 0, chiar dac˘a printre numerele deja cunoscute nu exista niciunul care s˘a verifice vreo una dintre cele dou˘a ecuat ¸ii. Calculul formal cu numere complexe, adic˘a cu expresii de forma a + b 1 s-a dezvoltat prin analogie cu cel al numerelor irat ¸ionale p˘atratice de forma a + b 2. ˆ In ciuda numeroaselor rezultate obt ¸inute cu astfel de numere ˆ ın se- colele XVII-XVIII, matematicienii au avut ret ¸ineri cu privire la utilizarea lor. ˆ Indoiala asupra “existent ¸ei” acestor numere a disp˘arut odat˘a cu aparit ¸ia unei interpret˘ ari geometrice foarte simple a lor, ¸ si anume reprezentarea lor ca puncte ˆ ın plan. Folosireasistematic˘a¸ si popularizarea reprezent˘ arii geometrice a numerelor complexe o dator˘am lucr˘arilor lui Carl Friedrich Gauss (1777-1855). Denumirile nefericite, care mai provoac˘ si ast˘azi confuzii, de “numere reale” ¸ si “numere imaginare” au fost introduse de Ren´ e Descartes (1596 – 1650) pentru clasificarear˘ad˘acinilorpolinoamelor.Int ¸elegerea deplin˘a, atˆat a numerelor reale cˆat¸ si a celor complexe, a avut loc concomitent, ˆ ın secolul al XIX-lea, odat˘a cu fundamentarea analizei matematice ˆ ınceput˘ a de Augustin-Louis Cauchy (1789 – 1857). 1

Transcript of Numere complexe ^ n gra ca 2D - math.uaic.ronecula/down_files/fractali2017/curs_03_nr... · In...

Page 1: Numere complexe ^ n gra ca 2D - math.uaic.ronecula/down_files/fractali2017/curs_03_nr... · In lumea antic˘a deja ap˘aruser˘a semne c˘a numai acestea nu sunt suficiente; de exemplu,

Cursul 3

Numere complexe ın grafica 2D

1. Introducere. Dezvoltarea istorica a gandirii matematice a urmarit ınde-aproape evolutia ideii de numar. Aceasta evolutie, exprimata succint prin sirulde incluziuni

N ⊂ Z ⊂ Q ⊂ R ⊂ C,nu a fost nicicum liniara ci foarte sinuoasa, cu etape suprapuse sau chiar ın ordineinversa.

Primele au aparut numerele naturale 1, 2, 3, . . . , urmate de fractii si rapoarte.In lumea antica deja aparusera semne ca numai acestea nu sunt suficiente; deexemplu, incomensurabilitatea diagonalei patratului cu latura sa era cunoscutadin vremea lui Pitagora.

Urmatoarea achizitie a fost numarul zero care, plecand din India, a ajunsın Europa ın jurul anului 1000, odata cu scrierea pozitionala a numerelor, prinintermediul cartilor lui Muhammad al-Khwarizmi, persanul de la numele caruiaprovine termenul de algoritm.

Numerele negative si imaginare apar ın acelasi timp, ın Italia secolului al XVI-lea, ın parte tot sub influenta surselor islamice si bizantine. Aceste numere, cudenumiri care sugereaza o acceptare doar formala a existentei lor, s-au doveditutile ın rezolvarea ecuatiilor algebrice. Astfel, unitatea negativa, −1, a fostdefinita ca fiind solutia ecuatiei x + 1 = 0, iar unitatea imaginara,

√−1, ca

solutie a ecuatiei x2 + 1 = 0, chiar daca printre numerele deja cunoscute nuexista niciunul care sa verifice vreo una dintre cele doua ecuatii.

Calculul formal cu numere complexe, adica cu expresii de forma a + b√−1

s-a dezvoltat prin analogie cu cel al numerelor irationale patratice de formaa + b

√2. In ciuda numeroaselor rezultate obtinute cu astfel de numere ın se-

colele XVII-XVIII, matematicienii au avut retineri cu privire la utilizarea lor.Indoiala asupra “existentei” acestor numere a disparut odata cu aparitia uneiinterpretari geometrice foarte simple a lor, si anume reprezentarea lor ca puncte ınplan. Folosirea sistematica si popularizarea reprezentarii geometrice a numerelorcomplexe o datoram lucrarilor lui Carl Friedrich Gauss (1777-1855).

Denumirile nefericite, care mai provoaca si astazi confuzii, de “numere reale”si “numere imaginare” au fost introduse de Rene Descartes (1596 – 1650) pentruclasificarea radacinilor polinoamelor. Intelegerea deplina, atat a numerelor realecat si a celor complexe, a avut loc concomitent, ın secolul al XIX-lea, odata cufundamentarea analizei matematice ınceputa de Augustin-Louis Cauchy (1789 –1857).

1

Page 2: Numere complexe ^ n gra ca 2D - math.uaic.ronecula/down_files/fractali2017/curs_03_nr... · In lumea antic˘a deja ap˘aruser˘a semne c˘a numai acestea nu sunt suficiente; de exemplu,

2. Forma algebrica a unui numar complex. Multimea numerelor com-plexe C se defineste ca fiind multimea perechilor de numere reale

C = R× R = {(x, y) | x, y ∈ R}dotata cu doua operatii binare, adunarea:

(x1, y1) + (x2, y2) = (x1 + x2, y1 + y2), ∀ (x1, y1), (x2, y2) ∈ C,

si ınmultirea

(x1, y1)(x2, y2) = (x1x2 − y1y2, x1y2 + x2y1), ∀ (x1, y1), (x2, y2) ∈ C.

Se verifica usor ca aceste doua operatii ınzestreaza multimea numerelor com-plexe cu o structura algebrica de corp comutativ.

Fiind dat un numar complex z = (x, y), convenim sa numim numerele realex si y ca fiind partea reala si, respectiv, partea imaginara a lui z. Sa observamca multimea numerelor complexe cu partea imaginara nula

R = {(x, 0) | x ∈ R} ⊂ C

este parte stabila ın raport cu operatiile, adica

(x1, 0) + (x2, 0) = (x1 + x2, 0) ∈ R

si

(x1, 0)(x2, 0) = (x1x2, 0) ∈ Rpentru orice (x1, 0), (x2, 0) ∈ R, si, mai mult, aplicatia

x → (x, 0),

numita aplicatia de scufundare a lui R ın C, este un izomorfism de corpuri ıntreR si R. Din acest motiv, vom identifica R cu R, ıntelegand prin aceasta canumerele complexe de forma (x, 0) vor fi notate cu x atunci cand nu existapericol de confuzie.

Mai mult, se verifica imediat ca orice numar complex z = (x, y) poate fidescompus sub forma

z = (x, y) = (x, 0) + (0, y) = (x, 0) + (y, 0)(0, 1),

si, prin urmare, cu notatia

i = (0, 1),

obtinem asa numita forma algebrica a lui z:

z = x+ yi,

unde, subliniem, x, y si i sunt numere complexe. Din definitia ınmultirii avemca

(0, 1)(0, 1) = (−1, 0),

relatie care, cu conventiile facute, se scrie

i2 = −1.

2

Page 3: Numere complexe ^ n gra ca 2D - math.uaic.ronecula/down_files/fractali2017/curs_03_nr... · In lumea antic˘a deja ap˘aruser˘a semne c˘a numai acestea nu sunt suficiente; de exemplu,

Aplicand regulile de calcul dintr-un corp comutativ, deducem mai departe ca

(x1 + y1i)(x2 + y2i) = x1x2 + x1y2i+ y1x2i+ y1y2i2

= x1x2 − y1y2 + (x1y2 + y1x2)i,

justificand astfel de ce ınmultirea numerelor complexe a fost definita atat decomplicat.

Sa urmarim cum au fost implementate cele de mai sus ın structura Complex

definita ın fisierul Complex.cs.Egalitatea C = R×R se reflecta direct ın structura unui obiect de tip Complex,

care este format numai din doua campuri de tip double initializate de construc-torul obiectului:

public struct Complex

{

public double x;

public double y;

public Complex(double x, double y)

{

this.y = y;

this.x = x;

}

...

}

Definitiile operatiilor cu numere complexe apar, exact sub forma data, lasupraıncarcarea operatorilor corespunzatori:

public static Complex operator +(Complex zst, Complex zdr)

{

return new Complex(zst.x + zdr.x, zst.y + zdr.y);

}

public static Complex operator *(Complex zst, Complex zdr)

{

return new Complex(zst.x * zdr.x - zst.y * zdr.y,

zst.y * zdr.x + zst.x * zdr.y);

}

Mai mult, este implementata chiar si aplicatia de scufundare a lui R ın C, sianume la definirea operatorului de conversie implicita de la double la Complex:

public static implicit operator Complex(double x){

return new Complex(x, 0);

}

Aceasta conversie implicita ne permite, printre altele, sa lucram ın cod cunumere complexe sub forma algebrica:

Complex i = new Complex(0,1);

Complex z1 = 1 + 2*i;

3

Page 4: Numere complexe ^ n gra ca 2D - math.uaic.ronecula/down_files/fractali2017/curs_03_nr... · In lumea antic˘a deja ap˘aruser˘a semne c˘a numai acestea nu sunt suficiente; de exemplu,

3. Interpretarea geometrica a adunarii numerelor complexe. Estebinecunoscut astazi ca multimea punctelor unui plan poate fi identificata cumultimea R × R, fixand un sistem de coordonate carteziene cu originea ıntr-unpunct O al planului si notand cu Z(x, y) punctul de coordonate x si y.

Mai mult, R2 = R×R se structureaza ın mod natural ca spatiu liniar real dedimensiune 2, definind adunarea si ınmultirea cu scalari pe componente:

(x1, y1) + (x2, y2) = (x1 + x2, y1 + y2), ∀ (x1, y1), (x2, y2) ∈ R2,

si

α(x, y) = (αx, αy), ∀α ∈ R, (x, y) ∈ R2.

Un element z = (x, y) din R2 poate fi indentificat cu vectorul de pozitie z =−→OZ

al punctului Z(x, y).Deoarece, prin definitie, C = R × R, vom extinde aceasta interpretare si la

numere complexe: fiind dat un plan π si un sistem de coordonare carteziene cuoriginea ıntr-un punct O, oricarui punct Z ∈ π ıi asociem perechea formata din

coordonatele sale, z = (x, y) ∈ R2, vectorul sau de pozitie, z =−→OZ si afixul

sau, adica numarul complex z = (x, y) = x + yi ∈ C. In continuare vom utilizaidentificarea

Z = z = z = z,

adica vom nota ın acelasi mod, cand nu exista pericol de confuzie, un punct, opereche de numere reale, un vector si un numar complex.

Cum prin aceasta identificare definitiile adunarii ın C si R2 coincid, rezultaca adunarea numerelor complexe are loc dupa regula paralelogramului : vectorul−→OS corespunzator sumei s = z1 + z2 este diagonala paralelogramului format de

vectorii−−→OZ1 si

−−→OZ2.

Analog, vectorul de pozitie−−→OD corespunzator diferentei d = z2 − z1 este

vectorul liber−−−→Z1Z2 translatat cu Z1 ın origine (astfel ıncat

−−→OZ2 sa fie diagonala

paralelogramului format de−−→OZ1 si

−−→OD. Spunem ca suma z1 + z2 este diagonala

paralelogramului format de vectorii z1 si z2, iar diferenta z2 − z1 este vectorul−−→z1z2.

4

Page 5: Numere complexe ^ n gra ca 2D - math.uaic.ronecula/down_files/fractali2017/curs_03_nr... · In lumea antic˘a deja ap˘aruser˘a semne c˘a numai acestea nu sunt suficiente; de exemplu,

Mai mult, daca ın R2 vom considera baza canonica, formata din perechileu = (1, 0) si i = (0, 1), atunci orice element z = (x, y) are descompunereaz = xu+ yi care coincide, prin aplicatia de scufundare a lui a R ın C, cu formaalgebrica a numarului complex z.

Cu acest prilej sa observam ca ınmultirea cu scalari este de fapt ınmultireadintre un numar real si un numar complex, deoarece

αz = (α, 0)(x, y) = (αx, αy) = αz.

Urmeaza ca ınmultirea cu numere reale reprezinta, ın planul numerelor complexe,o scalare, adica o marire/micsorare la scara cu centru ın originea O. De exemplu,produsul cu 2, adica aplicatia z → 2z, mareste figurile din plan de doua ori privinddin origine (este o omotetie cu centru O si raport 2).

4. Forma trigonometrica a unui numar complex. Vom aprofunda acumreprezentarea geometrica a lui C trecand de la coordonatele carteziene (x, y) aleunui punct la coordonatele sale polare (ρ, θ).

Sunt binecunoscute formulele{x = ρ cos θ,

y = ρ sin θ.

5

Page 6: Numere complexe ^ n gra ca 2D - math.uaic.ronecula/down_files/fractali2017/curs_03_nr... · In lumea antic˘a deja ap˘aruser˘a semne c˘a numai acestea nu sunt suficiente; de exemplu,

Definim modulul numarului complex z = x+ yi prin

|z| = ρ =√x2 + y2

si argumentul sau prin

argz = θ ∈ [0, 2π).

Reamintim ca

θ = arctgy

x+ kπ,

unde k are una din valorile 0, 1 sau 2, ın functie de cadranul ın care cade z.Cu aceste notatii obtinem imediat forma trigonometrica a lui z;

z = x+ iy = ρ cos θ + iρ sin θ = ρ(cos θ + i sin θ).

Sa observam ca aceste doua modalitati de exprimare a unui numar complexau fost implementate ın structura Complex prin metodele statice

public static Complex setReIm(double x, double y)

{ //forma algebrica

return new Complex(x, y);

}

si

public static Complex setRoTheta(double Ro, double Theta)

{ //forma trigonometrica

return new Complex(Ro * Math.Cos(Theta), Ro * Math.Sin(Theta));

}

ın timp ce modulul si argumentul unui numar complex sunt date de proprietatile

public double Ro

{

get

{

return Math.Sqrt(x * x + y * y);

}

}

public double Theta

{

6

Page 7: Numere complexe ^ n gra ca 2D - math.uaic.ronecula/down_files/fractali2017/curs_03_nr... · In lumea antic˘a deja ap˘aruser˘a semne c˘a numai acestea nu sunt suficiente; de exemplu,

get

{

return Math.Atan2(y, x);

}

}

Observatie: conform implemetarii de mai sus, argumentul θ = argz returnatde proprietatea Theta este ın intervalul (−π, π] si nu ın prima determinare acercului, [0, 2π). Acest fapt este utilizat, de exemplu, ın urmatorul test caredecide daca punctul z se afla sau nu ın semiplanul stang determinat de dreaptaab parcursa de la a la b:

public bool zEsteLaStangaLuiAB(Complex z, Complex a, Complex b)

{

Complex r=(z-a)/(b-a);

if (r.Theta > 0) return true;

else return false;

}

5. Interpretarea geometrica a ınmultirii numerelor complexe. Formatrigonometrica ne permite sa dam o interpretare remarcabila ınmultirii numerelorcomplexe. Sa calculam produsul lui ω = α(cosφ+i sinφ) cu z = ρ(cos θ+i sin θ).Avem

ωz = αρ[(cosφ cos θ − sinφ sin θ) + i(sinφ cos θ + cosφ sin θ)]

= αρ(cos(φ+ θ) + i sin(φ+ θ))

de unde obtinem ca

|ωz| = |ω||z|si

argωz = argω + arg z (mod 2π).

Deci, la ınmultirea numerelor complexe, modulele se ınmultesc iar argu-mentele se aduna. Deducem de aici ca produsul cu ω = α(cosφ + i sinφ), adicaaplicatia

z → ωz,

reprezinta o scalare de factor α compusa cu o rotatie de unghi φ ın sens trigono-metric ın jurul originii.

In particular, ınmultirea cu i, care are modulul 1 si argumentul π2radiani,

este o rotatie de 90◦ ın sens trigonometric ın jurul originii. Prin urmare, produsulcu i2 ınseamna doua rotatii de 90◦ ın acelasi sens, adica de o rotatie de 180◦,exact transformarea geometrica asociata produsului cu −1. Iata o interpretaregeometrica eleganta a egalitatii i2 = −1.

Sa reamintim si celebra formula a lui Moivre (Abraham de Moivre (1667 –1754), matematician francez): daca z = ρ(cos θ + i sin θ) atunci pentru oricen ∈ Z avem

zn = ρn(cosnθ + i sinnθ).

7

Page 8: Numere complexe ^ n gra ca 2D - math.uaic.ronecula/down_files/fractali2017/curs_03_nr... · In lumea antic˘a deja ap˘aruser˘a semne c˘a numai acestea nu sunt suficiente; de exemplu,

Aceasta formula permite, printre altele, si urmatoarea extindere la exponentireali pozitivi a operatiei de ridicare la putere a unui numar complex:

zα = ρα(cosαθ + i sinαθ),

pentru orice α ∈ (0,+∞).Clasa implementata mai jos reprezinta grafic puterile numarului

z =995

1000(cos

π

120+ i sin

π

120).

Deoarece |zn| = |z|n = 0.995n → 0 pentru n → +∞, puterile lui z de exponentn = 1, 2, 3, . . . vor forma un sir de puncte care se apropie de origine, rotindu-se ınjurul ei la fiecare pas cu π/120 radiani, si parcurgand astfel o spirala ındreptatacatre zero.

8

Page 9: Numere complexe ^ n gra ca 2D - math.uaic.ronecula/down_files/fractali2017/curs_03_nr... · In lumea antic˘a deja ap˘aruser˘a semne c˘a numai acestea nu sunt suficiente; de exemplu,

public class Puteri : FractalForm

{

public override void makeImage()

{

setXminXmaxYminYmax(-1.1, 1.1, -1.1, 1.1);

ScreenColor = Color.White;

PenColor = Color.Black;

setAxis();

Complex z = Complex.setRoTheta(0.995, Math.PI / 120);

Complex p = 1;

for (int k = 0; ; k++){

p *= z;

setPixel(p, PenColor);

if (!resetScreen()) return;

}

}

}

6. Radacinile unitatii. Consideram un numar natural fixat n ≥ 1, notam

θ =2π

n

si definim

ε = cos θ + i sin θ.

Este usor de vazut ca primele n puteri ale lui ε,

1, ε, ε2, ε3, . . . , εn−1,

date de formula

zk = εk = cos kθ + i sin kθ,

sunt distincte si sunt varfurile unui poligonului regulat cu n laturi ınscris ın cerculunitate. Deoarece pentru orice k ∈ {0, 1, 2, . . . , n− 1} avem

znk = cosnkθ + i sinnkθ = cos 2kπ + i sin 2kπ = 1,

deducem ca multimea

Un = {1, ε, ε2, ε3, . . . , εn−1}este formata din cele n solutii ın C ale ecuatiei

zn = 1.

Un se numeste multimea radacinilor de ordin n ale unitatii si are o structura degrup ın raport cu ınmultirea. Puterile lui ε se repeta din n ın n, mai precis avem

εkεh = εk+h (modn)

si prin urmare aplicatia εk → k este un izomorfism ıntre (Un, ·) si grupul (Zn,+)al claselor de resturi modulo n.

9

Page 10: Numere complexe ^ n gra ca 2D - math.uaic.ronecula/down_files/fractali2017/curs_03_nr... · In lumea antic˘a deja ap˘aruser˘a semne c˘a numai acestea nu sunt suficiente; de exemplu,

7. Impartirea numerelor complexe. Dupa cum rezulta imediat din pro-prietatile ınmultirii, raportul a doua numere complexe sub forma trigonometrica,z1 = ρ1(cos θ1 + i sin θ1) = 0 si z2 = ρ2(cos θ2 + i sin θ2) este

z2z1

=ρ2ρ1

(cos(θ2 − θ1) + i sin(θ2 − θ1)).

Deducem ca modulul raportului z2/z1 este raportul lungimilor vectorilor z2 si z1iar argumentul raportului z2/z1 este unghiul z10z2 dintre cei doi vectori.

O interpretare remarcabila vom avea ıntr-un triunghi ∆z0z1z2 ın care, dacatinem cont ca diferentele z2 − z0 si z1 − z0 sunt laturi, avem∣∣∣∣z2 − z0

z1 − z0

∣∣∣∣ = |z2 − z0||z1 − z0|

=Z0Z2

Z0Z1

si

argz2 − z0z1 − z0

= Z1Z0Z2.

Deci, raportul a doua laturi este numarul complex care are modulul egal curaportul lungimilor laturilor si argumentul egal cu unghiul dintre cele doua laturi.Deducem de aici ca triunghiurile (orientate) ∆z0z1z2 si ∆z0

′z1′z2

′ sunt asemeneadaca si numai daca

z2 − z0z1 − z0

=z′2 − z′0z′1 − z′0

.

Punctele z0, z1 si z2 sunt coliniare cand unghiul Z1Z0Z2 are 0 sau π radiani,deci atunci cand raportul celor doua laturi,

z2 − z0z1 − z0

= λ,

are argumentul 0 sau π si, prin urmare, este numar real. Deducem de aicicaracterizarea: punctul z2 care ımparte segmentul z0z1 ın raportul

λ =|z2 − z0||z1 − z0|10

Page 11: Numere complexe ^ n gra ca 2D - math.uaic.ronecula/down_files/fractali2017/curs_03_nr... · In lumea antic˘a deja ap˘aruser˘a semne c˘a numai acestea nu sunt suficiente; de exemplu,

este dat de egalitateaz2 = z0 + λ(z1 − z0).

Urmeaza ca dreapta determinata de doua puncte distincte, z0 si z1, admitereprezentarea parametrica

z = z0 + t(z1 − z0), t ∈ R.Ca aplicatie, urmatoarea clasa sectioneaza triunghiul ∆abc ın zece felii de arii

egale:

public class Sectiuni : FractalForm

{

static Complex i = new Complex(0, 1);

void sectioneaza(Complex a, Complex b, Complex c, int nrFelii)

{

setLine(b, c, PenColor);

for (int k = 0; k <= nrFelii; k++)

{

setLine(a, b + k * (c - b) / nrLinii, PenColor);

}

}

public override void makeImage()

{

setXminXmaxYminYmax(-1, 7, -1, 7);

Complex a = 2 + 5 * i;

Complex b = 1 + i;

11

Page 12: Numere complexe ^ n gra ca 2D - math.uaic.ronecula/down_files/fractali2017/curs_03_nr... · In lumea antic˘a deja ap˘aruser˘a semne c˘a numai acestea nu sunt suficiente; de exemplu,

Complex c = 6 + 2 * i;

ScreenColor = Color.White;

PenColor = Color.Black;

sectioneaza(a, b, c, 10);

setAxis();

resetScreen();

}

}

8. Conjugatul unui numar complex. Impartirea a doua numere com-plexe sub forma algebrica se efectueaza prin amplificare cu conjugatul numitoru-lui.

Conjugatul lui z = x+ iy este z = x− iy si are proprietatea esentiala

zz = x2 + y2 = |z|2 ∈ R.Operatia de conjugare (adica aplicatia z → z) reprezenta trecerea de la un

punct la simetricul sau ın raport cu axa reala, prin urmare conjugarea pastreazaoperatiile:

z1 + z2 = z1 + z2,

z1 − z2 = z1 − z2,

z1z2 = z1z2,

z1/z2 = z1/z2.

In sfarsit, pentru z = x+ iy avem

Re z = x =z + z

2si Imz = y =

z − z

2i.

Este util de tinut minte ca, daca |z| = 1 atunci z = 1z.

9. Transformari geometrice. Identificand ın continuare C cu multimeapunctelor unui plan, prin figura geometrica vom ıntelege, ın cele ce urmeaza,o multime oarecare F de numere complexe, prin transformare geometrica oaplicatie T : C → C iar prin transformata figurii F multimea formata din trans-formatele punctelor lui F :

F ′ = T (F ) = {z′ = T (z), z ∈ F}.Pe baza interpretarilor geometrice ale operatiilor cu numere complexe, avemurmatoarele caracterizari ale transformarilor ıntalnite ın geometria planului.

9.1. Translatia. Dorim sa translatam o figura F astfel ıncat un punct fixatz0 ∈ F sa ajunga ıntr-un z′0 fixat ın F ′. Fie z ∈ F si z′ ∈ F ′ transformatul sau.

Vectorii−→zz′ si

−−→z0z

′0 trebuie sa fie egali, deci z′ − z = z′0 − z0, de unde rezulta

z′ = z + (z′0 − z0).In concluzie, transformarea T : C → C data de

T (z) = z + (z′0 − z0), z ∈ C,

este translatia de vector−−→z0z

′0.

12

Page 13: Numere complexe ^ n gra ca 2D - math.uaic.ronecula/down_files/fractali2017/curs_03_nr... · In lumea antic˘a deja ap˘aruser˘a semne c˘a numai acestea nu sunt suficiente; de exemplu,

Urmatoarea clasa afiseaza ıntr-o miscare de translatie uniforma poligonulıncarcat ın lista initiala (un septagon regulat stelat ın acest exemplu):

public class Translatii : FractalForm

{

static Complex i = new Complex(0, 1);

static Complex a = (1 + 2 * i) / 100;

static Complex T(Complex z) // translatie de vector a

{

return a + z;

}

void transforma(ref ComList li)

{

ComList rez = new ComList();

for (Complex z = li.firstZet; !li.ended; z = li.nextZet)

{

rez.nextZet = T(z);

}

li = rez;

}

void traseaza(ComList li, Color c)

{

Complex z1 = li.firstZet;

for (Complex z2 = li.nextZet; !li.ended; z2 = li.nextZet)

{

setLine(z1, z2, c);

z1 = z2;

}

}

ComList figuraInitiala()

{

ComList rez = new ComList();

double fi = 2 * Math.PI / 7;

for (int k = 0; k < 15; k += 2)

13

Page 14: Numere complexe ^ n gra ca 2D - math.uaic.ronecula/down_files/fractali2017/curs_03_nr... · In lumea antic˘a deja ap˘aruser˘a semne c˘a numai acestea nu sunt suficiente; de exemplu,

{

rez.nextZet = Complex.setRoTheta(2.5, k * fi);

}

return rez;

}

public override void makeImage()

{

setXminXmaxYminYmax(-5, 10, -5, 10);

ComList oldFig, newFig = figuraInitiala();

traseaza(newFig, Color.Red);

for (int k = 0; k < 300; k++)

{

oldFig = newFig;

transforma(ref newFig);

traseaza(oldFig, Color.Black);

traseaza(newFig, Color.Red);

setAxis();

if (!resetScreen()) return;

}

}

}

9.2. Omotetia. Fixam un punct z0 ∈ C si un numar real λ > 0. Fiind datao figura F , dorim sa o “marim la scara” cu factorul λ relativ la centrul z0. Fiez ∈ F si z′ ∈ F ′ transformatul sau. Cerem ca punctele z0, z si z′ sa fie coliniaresi raportul segmentelor z0z

′ si z0z sa fie λ, de unde rezulta ca z′ = z0+λ(z− z0).In concluzie, transformarea T : C → C data de

T (z) = z0 + λ(z − z0), z ∈ C,

cu λ ∈ R∗+, este omotetia de centru z0 si raport λ.

9.3. Rotatia. Dorim sa rotim o figura F ın jurul unui punct fix z0 ∈ C cu ununghi θ. Consideram un z ∈ F , notam cu z′ ∈ F ′ transformatul sau si definim

14

Page 15: Numere complexe ^ n gra ca 2D - math.uaic.ronecula/down_files/fractali2017/curs_03_nr... · In lumea antic˘a deja ap˘aruser˘a semne c˘a numai acestea nu sunt suficiente; de exemplu,

numarul complex ω prin

ω =z′ − z0z − z0

.

Avem

|ω| = |z′ − z0||z − z0|

= 1

si

arg = z′z0z = θ = const.,

de unde rezulta ca ω = cos θ + i sin θ.Rotatia de centru z0 si unghi θ este data de transformarea T : C → C definita

deT (z) = z0 + ω(z − z0), z ∈ C,

cu ω = cos θ + i sin θ.9.4. Simetria fata de un punct. Punctul z′ este simetricul lui z fata de z0

daca z′ − z0 = −(z − z0) si, prin urmare,

T (z) = 2z0 − z, z ∈ C,este simetria fata de punctul z0.

9.5. Simetria fata de o dreapta. Fie dab dreapta determinata de doua punctedistincte a si b din C. Dorim sa determinam simetricul z′ al unui punct z fatade dreapta dab. Consideram conjugatele a, b, z si z′ care, dupa cum stim, suntsimetricele punctelor a, b, z si z′ fata de axa reala. Din egalitatea

z′ − a

b− a=

z − a

b− a,

data de congruenta triunghiurilor ∆az′b si ∆azb, obtinem mai departe

z′ = a+b− a

b− a(z − a).

In concluzie, simetria fata de dreapta determinata de punctele a si b estetransformarea T : C → C data de

T (z) = a+ ωz − a, z ∈ C,15

Page 16: Numere complexe ^ n gra ca 2D - math.uaic.ronecula/down_files/fractali2017/curs_03_nr... · In lumea antic˘a deja ap˘aruser˘a semne c˘a numai acestea nu sunt suficiente; de exemplu,

cu ω = (b− a)/ b− a.

10. Siruri si serii ın C. Prin distanta dintre doua numere complexe z1 siz2 vom ıntelege distanta uzuala dintre punctele corespunzatoare din plan:

d(z1, z2) = |z2 − z1| =√

(x2 − x1)2 + (y2 − y1)2.

Se verifica imediat ca aplicatia d : C× C → R are proprietatile unei metrici :

(M1) ∀u, v ∈ C, d(u, v) ≥ 0; d(u, v) = 0 ⇔ u = v;(M2) ∀u, v ∈ C, d(u, v) = d(v, u);(M3) ∀u, v, w ∈ C, d(u, v) ≤ d(u,w) + d(w, v);

si, prin urmare, (C, d) este un spatiu metric. Aceasta ınseamna ca avem gatadefinite, din teoria generala a spatiilor metrice, o serie de notiuni legate deconvergenta sirurilor si de continuitatea functiilor. Vom aminti numai pe celestrict necesare cursului nostru.

Un sir (zn)n de numere complexe este convergent daca exista z∗ ∈ C, limitasa, astfel ıncat sirul distantelor de la zn la z∗ sa tinda la zero:

limn→∞

zn = z∗ ⇔ limn→∞

|zn − z∗| = 0.

Convergenta sirurilor se caracterizeaza pe componente,

limn→∞

zn = limn→∞

(xn + iyn) = x∗ + iy∗ ⇔ limn→∞

xn = x∗ si limn→∞

yn = y∗.

Numim divergent un sir care nu este convergent. Despre un sir divergentspunem ca tinde la infinit daca sirul modulelor tinde la plus infinit:

limn→∞

zn = ∞ ⇔ limn→∞

|zn| = +∞.

Atentie la limitele infinite: la sirurile de numere reale exista limitele −∞ si +∞,ın C avem numai ∞ fara semn!

Sa studiem sirul puterilor unui numar complex ω = ρ(cos θ + i sin θ). Avem

ωn = ρn(cosnθ + i sinnθ)

si deci, daca |ω| = ρ < 1 atunci ωn → 0, daca |ω| = ρ > 1 atunci ωn → ∞, iardaca |ω| = ρ = 1 sirul ramane pe cercul unitate, fiind convergent numai ın cazul

16

Page 17: Numere complexe ^ n gra ca 2D - math.uaic.ronecula/down_files/fractali2017/curs_03_nr... · In lumea antic˘a deja ap˘aruser˘a semne c˘a numai acestea nu sunt suficiente; de exemplu,

ın care este constant, adica pentru ω = 1, ın rest fiind periodic (cand raportulπ/θ este rational) sau dens distribuit pe cercul unitate.

Fie (an)n un sir de numere complexe. Exact ca ın cazul seriilor de numerereale, spunem ca seria

+∞∑n=0

an

are suma s ∈ C sau s = ∞ daca sirul sumelor sale partiale

sn = a0 + a1 + · · ·+ an

are limita s, adica∞∑n=0

an = limn→∞

(a0 + a1 + · · ·+ an) = s.

Seria este convergenta daca are suma finita (adica s ∈ C), altfel este divergenta.De exemplu, din cele de mai sus deducem imediat ca, ın multimea numerelor

complexe, seria geometrica∞∑n=0

ωn = limn→∞

(1 + ω + ω2 + · · ·+ ωn) = limn→∞

1− ωn+1

1− ω

este convergenta numai daca |ω| < 1, si atunci are suma

1 + ω + ω2 + · · ·+ ωn + · · · = 1

1− ω,

rezultat analog cazului real.

11. Functii complexe de argument real. O functie z : I ⊂ R → C esteformata dintr-o pereche de functii reale x si y : I ⊂ R → R date de egalitatea

z(t) = x(t) + iy(t), t ∈ I.

Astfel de functii se ıntalnesc, mai ales, ın descrierea miscarii unui punct ınplan. De exemplu,

z(t) = t(cos t+ i sin t), t ∈ [0,+∞),

reprezinta legea orara dupa care un punct se deplaseaza pe o spirala care pornestedin origine. Cele doua functii componente dau ecuatiile parametrice ale spiralei:{

x = t cos t,

y = t sin t,

pentru t ∈ [0,+∞).Fie t0 un punct din intervalul I sau unul din capete. Limita functiei z = z(t)

pentru t → t0 exista si este finita numai daca functiile x = x(t) si y = y(t) aulimite finite, si atunci avem

limt→t0

z(t) = limt→t0

x(t) + i limt→t0

y(t).

17

Page 18: Numere complexe ^ n gra ca 2D - math.uaic.ronecula/down_files/fractali2017/curs_03_nr... · In lumea antic˘a deja ap˘aruser˘a semne c˘a numai acestea nu sunt suficiente; de exemplu,

Urmeaza ca z este continua pe I daca si numai daca cele doua functiile compo-nente sunt continue.

Derivabilitatea se caracterizeaza tot pe componente, mai precis

z′(t0) = limt→t0

z(t)− z(t0)

t− t0= lim

t→t0

x(t)− x(t0)

t− t0+i lim

t→t0

y(t)− y(t0)

t− t0= x′(t0)+iy′(t0).

Din definitia derivatei rezulta aproximarea

z(t) ≈ z(t0) + (t− t0)z′(t0) pentru t ≈ t0,

care ınlocuieste miscarea lui z = z(t) cu o miscare rectilinie uniforma cu viteza

|z′(t0)| pe tangenta la traiectorie ın punctul z0 = z(t0). In concluzie, derivataunei functii complexe de argument real se calculeaza pe componente

z′(t) = x′(t) + iy′(t)

si reprezinta vectorul viteza instantanee al punctului ın miscare z = z(t). El dadirectia tangentei la traiectorie ın punctul curent.

Clasa C# de mai jos deseneaza cu negru traiectoria punctului z = t(cos t +i sin t) pe intervalul t ∈ [0, 35] si traseaza cu rosu vectorul viteza la momentult0 = 32:

public class Spirala : FractalForm

{

static Complex i = new Complex(0, 1);

Complex z(double t) {

return t * (Math.Cos(t) + i * Math.Sin(t));

}

Complex zprim(double t)

{

return (Math.Cos(t) + i * Math.Sin(t)) +

t * (-Math.Sin(t) + i * Math.Cos(t));

}

public override void makeImage()

{

setXminXmaxYminYmax(-50, 50, -50, 50);

ScreenColor = Color.White;

PenColor = Color.Black;

setAxis();

for (double t = 0; t < 35; t += 0.001)

{

setPixel(z(t), PenColor);

}

double t0 = 32;

Complex z0 = z(t0);

setLine(z0, z0 + zprim(t0), Color.Red);

resetScreen();

}

18

Page 19: Numere complexe ^ n gra ca 2D - math.uaic.ronecula/down_files/fractali2017/curs_03_nr... · In lumea antic˘a deja ap˘aruser˘a semne c˘a numai acestea nu sunt suficiente; de exemplu,

}

12. Functii complexe de argument complex. O functie f : D ⊂ C → Ceste formata din doua functii u, v : D ⊂ R2 → R date de descompunerea

f(z) = f(x, y) = u(x, y) + iv(x, y), (x, y) ∈ D.

De exemplu, aplicatia z → z3 are descompunerea

f(z) = z3 = (x+ iy)3 = (x3 − 3xy2) + i(3x2y − y3),

deci ın acest caz u(x, y) = x3 − 3xy2 si v(x, y) = 3x2y − y3.Fie z0 un punct de acumulare al domeniului D, adica un punct z0 ∈ C pentru

care exista un sir (dn)n de elemente din D \ {z0} cu dn → z0. Limita

limz→z0

f(z)

exista si este finita daca si numai daca cele doua functii componente au limitefinite, si atunci

limz→z0

f(z) = lim(x,y)→(x0,y0)

u(x, y) + i lim(x,y)→(x0,y0)

v(x, y).

De aici se poate deduce ca f este continua pe D numai daca u si v sunt continue.Derivabilitatea unei functii complexe nu se mai reduce numai la diferentiabili-

tatea celor doua componente reale. Consideram ca u si v admit derivate partialecontinue pe domeniul D si calculam limita

f ′(z0) = limz→z0

f(z)− f(z0)

z − z019

Page 20: Numere complexe ^ n gra ca 2D - math.uaic.ronecula/down_files/fractali2017/curs_03_nr... · In lumea antic˘a deja ap˘aruser˘a semne c˘a numai acestea nu sunt suficiente; de exemplu,

considerand trasee orizontale de forma z = z0 +∆t, cu ∆t → 0 ın R. Obtinem

f ′(z0) = lim∆t→0

u(x0 +∆t, y0)− u(x0, y0)

∆t+ i lim

∆t→0

v(x0 +∆t, y0)− v(x0, y0)

∆t

=∂u

∂x(x0, y0) + i

∂v

∂x(x0, y0).

Consideram acum trasee verticale de forma z = z0 + i∆t si gasim

f ′(z0) = lim∆t→0

u(x0, y0 +∆t)− u(x0, y0)

i∆t+ i lim

∆t→0

v(x0, y0 +∆t)− v(x0, y0)

i∆t

=∂v

∂y(x0, y0)− i

∂u

∂y(x0, y0).

Comparand cele doua rezultate deducem ca urmatoarele egalitati sunt conditiinecesare pentru derivabilitatea functiei f pe un domeniu D{

∂u∂x

= +∂v∂y

∂u∂y

= − ∂v∂x.

Se arata ca ın ipotezele noastre (u si v admit derivate partiale continue)egalitatile de mai sus, numite conditiile Cauchy-Riemann, sunt si suficiente pen-tru derivabilitatea lui f . Sa le verificam pentru f(z) = z3. Avem

∂x(x3 − 3xy2) = 3x2 − 3y2 =

∂y(3x2y − y3)

si∂

∂y(x3 − 3xy2) = −6xy = − ∂

∂x(3x2y − y3),

deci f este derivabila. In adevar,

f ′(z0) = limz→z0

z3 − z30z − z0

= limz→z0

(z2 + zz0 + z20) = 3z20 ,

de unde urmeaza ca

(z3)′ = 3z2,

exact ca ın cazul functiilor reale.Regulile de derivare formala a functiilor elementare (polinomiale, rationale,

exponentiale si trigonometrice) se pastreaza neschimbate la trecerea de la cazulreal la cel complex, si aceasta deoarece se pastreaza atat regulile de derivare aleoperatiilor

(αu+ βv)′ = αu′ + βv′, α, β ∈ C,(uv)′ = u′v + uv′,(uv

)′=

u′v − uv′

v2

si

(u(v))′ = u′(v)v′,

20

Page 21: Numere complexe ^ n gra ca 2D - math.uaic.ronecula/down_files/fractali2017/curs_03_nr... · In lumea antic˘a deja ap˘aruser˘a semne c˘a numai acestea nu sunt suficiente; de exemplu,

cat si definitiile prin serii de puteri ale functiilor elementare:

ez = 1 +z

1!+

z2

2!+

z3

3!+ . . . , z ∈ C,

sin z = z − z3

3!+

z5

5!− z7

7!+ . . . , z ∈ C

si

cos z = 1− z2

2!+

z4

4!− z6

6!+ . . . , z ∈ C,

de exemplu. Pe baza celor de mai sus se poate arata, printre altele, ca (ez)′ = ez

si chiar ca ez1+z2 = ez1ez2 , pentru orice z1 si z2 din C.Graficul unei functii f : D ⊂ C → C, definit de

Graf(f) = {(z, f(z)) ∈ C× C | z ∈ D ⊂ C},este o submultime ın C × C care, ca spatiu liniar, este izomorf cu R4. Vedereanoastra fiind tri-dimensionala, nu putem vedea aceasta suprafata bi-dimensionalascufundata ıntru-un spatiu patru-dimensional. O functie complexa de argumentcomplex poate fi interpretata ca o deformare a planului, actiunea ei poate fiınteleasa vizual urmarind modul ın care functia deformeaza, transforma, diverseretele de linii din plan.

Clasa urmatoare coloreaza cu negru patratul [1, 2]×[1, 2] din planul numerelorcomplexe si cu rosu transformatul acestuia prin functia f(z) = z3.

public class RidicareaLaCub : FractalForm

{

public override void makeImage()

{

setXminXmaxYminYmax(-20, 10, -10, 20);

ScreenColor = Color.White;

PenColor = Color.Black;

setAxis();

for (double x = 1; x <= 2; x += 0.001)

for (double y = 1; y <= 2; y += 0.001)

{

Complex z = new Complex(x, y);

setPixel(z, PenColor);

setPixel(z * z * z, Color.Red);

}

resetScreen();

}

}

Din definitia derivatei, daca f este derivabila ın z0 atunci are loc aproximarea

f(z) ≈ f(z0) + f ′(z0)(z − z0) pentru z ≈ z0,

care arata ca local, ın vecinatatea lui z0, deformarea produsa de f este o rotatiede unghi arg f ′(z0) ın jurul lui z0, compusa cu o omotetie de centru z0 si raport|f ′(z0)|, urmata de o translatie care ıl duce pe z0 ın f(z0). Prin urmare, deoarece

21

Page 22: Numere complexe ^ n gra ca 2D - math.uaic.ronecula/down_files/fractali2017/curs_03_nr... · In lumea antic˘a deja ap˘aruser˘a semne c˘a numai acestea nu sunt suficiente; de exemplu,

toate aceste transformari pastreaza marimea si orientarea unghiurilor, functiilederivabile au si ele aceeasi proprietate (se spune ca sunt transformari conforme).In desenul precedent se observa ca cele patru colturi ale patratului alb au fosttransformate ın cele patru colturi rosii, pastrand marimea lor de 90◦ (unghiuldintre doua curbe este prin definitie unghiul dintre tangentele la curbe ın punctulde intersectie).

Sa observam ca aplicatia z → z, fiind o simetrie fata de o dreapta, conservaunghiurile dar schimba orientarile, deci nu este conforma si, ın consecinta, nueste derivabila. In adevar,

f(z) = z = x− iy = u(x, y) + iv(x, y)

nu respecta prima dintre conditiile Cauchy-Riemann:

∂u

∂x(x, y) = 1 = −1 =

∂v

∂y(x, y).

Incheiem scurta noastra prezentare a functiilor complexe cu o identitatecelebra, si anume cu formula lui Euler

eiθ = cos θ + i sin θ,

pentru orice θ ∈ R, care se obtine imediat prin calcul cu serii de puteri

eiθ = 1 +iθ

1!+

i2θ2

2!+

i3θ3

3!+ . . .

22

Page 23: Numere complexe ^ n gra ca 2D - math.uaic.ronecula/down_files/fractali2017/curs_03_nr... · In lumea antic˘a deja ap˘aruser˘a semne c˘a numai acestea nu sunt suficiente; de exemplu,

=

(1− θ2

2!+

θ4

4!− . . .

)+ i

1!− θ3

3!+

θ5

5!− . . .

)= cos θ + i sin θ.

Aplicand aceasta formula, gasim descompunerea pe componente a functiei exponentiale:

ez = ex+iy = exeiy = ex(cos y + i sin y),

pentru orice z = x+ iy din C.

23