Sunteți pe pagina 1din 23

Cursul 3

Numere complexe ı̂n grafica 2D

1. Introducere. Dezvoltarea istorică a gândirii matematice a urmărit ı̂nde-


aproape evoluţia ideii de număr. Această evoluţie, exprimată succint prin şirul
de incluziuni
N ⊂ Z ⊂ Q ⊂ R ⊂ C,
nu a fost nicicum liniară ci foarte sinuoasă, cu etape suprapuse sau chiar ı̂n ordine
inversă.
Primele au apărut numerele naturale 1, 2, 3, . . . , urmate de fracţii şi rapoarte.
In lumea antică deja apăruseră semne că numai acestea nu sunt suficiente; de
exemplu, incomensurabilitatea diagonalei pătratului cu latura sa era cunoscută
din vremea lui Pitagora.
Următoarea achiziţie a fost numărul zero care, plecând din India, a ajuns
ı̂n Europa ı̂n jurul anului 1000, odată cu scrierea poziţională a numerelor, prin
intermediul cărţilor lui Muhammad al-Khwarizmi, persanul de la numele căruia
provine termenul de algoritm.
Numerele negative şi imaginare apar ı̂n acelaşi timp, ı̂n Italia secolului al XVI-
lea, ı̂n parte tot sub influenţa surselor islamice şi bizantine. Aceste numere, cu
denumiri care sugerează o acceptare doar formală a existenţei lor, s-au dovedit
utile ı̂n rezolvarea ecuaţiilor algebrice. Astfel, unitatea negativă, −1, √ a fost
definită ca fiind soluţia ecuaţiei x + 1 = 0, iar unitatea imaginară, −1, ca
soluţie a ecuaţiei x2 + 1 = 0, chiar dacă printre numerele deja cunoscute nu
exista niciunul care să verifice vreo una dintre cele două ecuaţii. √
Calculul formal cu numere complexe, adică cu expresii de forma a + b −1
s-a dezvoltat
√ prin analogie cu cel al numerelor iraţionale pătratice de forma
a + b 2. În ciuda numeroaselor rezultate obţinute cu astfel de numere ı̂n se-
colele XVII-XVIII, matematicienii au avut reţineri cu privire la utilizarea lor.
Îndoiala asupra “existenţei” acestor numere a dispărut odată cu apariţia unei
interpretări geometrice foarte simple a lor, şi anume reprezentarea lor ca puncte ı̂n
plan. Folosirea sistematică şi popularizarea reprezentării geometrice a numerelor
complexe o datorăm lucrărilor lui Carl Friedrich Gauss (1777-1855).
Denumirile nefericite, care mai provoacă şi astăzi confuzii, de “numere reale”
şi “numere imaginare” au fost introduse de René Descartes (1596 – 1650) pentru
clasificarea rădăcinilor polinoamelor. Inţelegerea deplină, atât a numerelor reale
cât şi a celor complexe, a avut loc concomitent, ı̂n secolul al XIX-lea, odată cu
fundamentarea analizei matematice ı̂ncepută de Augustin-Louis Cauchy (1789 –
1857).
1
2. Forma algebrică a unui număr complex. Mulţimea numerelor com-
plexe C se defineşte ca fiind mulţimea perechilor de numere reale

C = R × R = {(x, y) | x, y ∈ R}
dotată cu două operaţii binare, adunarea:
(x1 , y1 ) + (x2 , y2 ) = (x1 + x2 , y1 + y2 ), ∀ (x1 , y1 ), (x2 , y2 ) ∈ C,
şi ı̂nmulţirea
(x1 , y1 )(x2 , y2 ) = (x1 x2 − y1 y2 , x1 y2 + x2 y1 ), ∀ (x1 , y1 ), (x2 , y2 ) ∈ C.
Se verifică uşor că aceste două operaţii ı̂nzestrează mulţimea numerelor com-
plexe cu o structură algebrică de corp comutativ.
Fiind dat un număr complex z = (x, y), convenim să numim numerele reale
x şi y ca fiind partea reală şi, respectiv, partea imaginară a lui z. Să observăm
că mulţimea numerelor complexe cu partea imaginară nulă
R = {(x, 0) | x ∈ R} ⊂ C
este parte stabilă ı̂n raport cu operaţiile, adică
(x1 , 0) + (x2 , 0) = (x1 + x2 , 0) ∈ R
şi
(x1 , 0)(x2 , 0) = (x1 x2 , 0) ∈ R
pentru orice (x1 , 0), (x2 , 0) ∈ R, şi, mai mult, aplicaţia
x → (x, 0),
numită aplicaţia de scufundare a lui R ı̂n C, este un izomorfism de corpuri ı̂ntre
R şi R. Din acest motiv, vom identifica R cu R, ı̂nţelegând prin aceasta că
numerele complexe de forma (x, 0) vor fi notate cu x atunci când nu există
pericol de confuzie.
Mai mult, se verifică imediat că orice număr complex z = (x, y) poate fi
descompus sub forma
z = (x, y) = (x, 0) + (0, y) = (x, 0) + (y, 0)(0, 1),
şi, prin urmare, cu notaţia
i = (0, 1),
obţinem aşa numita formă algebrică a lui z:
z = x + yi,
unde, subliniem, x, y şi i sunt numere complexe. Din definiţia ı̂nmultirii avem
că
(0, 1)(0, 1) = (−1, 0),
relaţie care, cu convenţiile făcute, se scrie
i2 = −1.
2
Aplicând regulile de calcul dintr-un corp comutativ, deducem mai departe că

(x1 + y1 i)(x2 + y2 i) = x1 x2 + x1 y2 i + y1 x2 i + y1 y2 i2

= x1 x2 − y1 y2 + (x1 y2 + y1 x2 )i,
justificând astfel de ce ı̂nmulţirea numerelor complexe a fost definită atât de
complicat.
Să urmărim cum au fost implementate cele de mai sus ı̂n structura Complex
definită ı̂n fişierul Complex.cs.
Egalitatea C = R×R se reflectă direct ı̂n structura unui obiect de tip Complex,
care este format numai din două câmpuri de tip double iniţializate 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;
}
...
}
Definiţiile operaţiilor cu numere complexe apar, exact sub forma dată, la
supraı̂ncărcarea operatorilor corespunzători:
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 implementată chiar şi aplicaţia de scufundare a lui R ı̂n C, şi
anume la definirea operatorului de conversie implicită de la double la Complex:
public static implicit operator Complex(double x){
return new Complex(x, 0);
}
Această conversie implicită ne permite, printre altele, să lucrăm ı̂n cod cu
numere complexe sub formă algebrică:
Complex i = new Complex(0,1);
Complex z1 = 1 + 2*i;
3
3. Interpretarea geometrică a adunării numerelor complexe. Este
binecunoscut astăzi că mulţimea punctelor unui plan poate fi identificată cu
mulţimea R × R, fixând un sistem de coordonate carteziene cu originea ı̂ntr-un
punct O al planului şi notând cu Z(x, y) punctul de coordonate x şi y.
Mai mult, R2 = R × R se structurează ı̂n mod natural ca spaţiu liniar real de
dimensiune 2, definind adunarea şi ı̂nmulţirea cu scalari pe componente:
(x1 , y1 ) + (x2 , y2 ) = (x1 + x2 , y1 + y2 ), ∀ (x1 , y1 ), (x2 , y2 ) ∈ R2 ,
şi
α(x, y) = (αx, αy), ∀ α ∈ R, (x, y) ∈ R2 .
−→
Un element z = (x, y) din R2 poate fi indentificat cu vectorul de poziţie ⃗z = OZ
al punctului Z(x, y).
Deoarece, prin definiţie, C = R × R, vom extinde această interpretare şi la
numere complexe: fiind dat un plan π şi un sistem de coordonare carteziene cu
originea ı̂ntr-un punct O, oricărui punct Z ∈ π ı̂i asociem perechea formată din
−→
coordonatele sale, z = (x, y) ∈ R2 , vectorul său de poziţie, ⃗z = OZ şi afixul
său, adică numărul complex z = (x, y) = x + yi ∈ C. In continuare vom utiliza
identificarea
Z = z = ⃗z = z,
adică vom nota ı̂n acelaşi mod, când nu există pericol de confuzie, un punct, o
pereche de numere reale, un vector şi un număr complex.
Cum prin această identificare definiţiile adunării ı̂n C şi R2 coincid, rezultă
că adunarea numerelor complexe are loc după regula paralelogramului : vectorul
−→
OS corespunzător sumei s = z1 + z2 este diagonala paralelogramului format de
−−→ −−→
vectorii OZ1 şi OZ2 .

−−→
Analog, vectorul de poziţie OD corespunzător diferenţei d = z2 − z1 este
−−−→ −−→
vectorul liber Z1 Z2 translatat cu Z1 ı̂n origine (astfel ı̂ncât OZ2 să fie diagonala
−−→ −−→
paralelogramului format de OZ1 şi OD. Spunem că suma z1 + z2 este diagonala
paralelogramului format de vectorii z1 şi z2 , iar diferenţa z2 − z1 este vectorul

z−→
1 z2 .

4
Mai mult, dacă ı̂n R2 vom considera baza canonică, formată din perechile
u = (1, 0) şi i = (0, 1), atunci orice element z = (x, y) are descompunerea
z = xu + yi care coincide, prin aplicaţia de scufundare a lui a R ı̂n C, cu forma
algebrică a numărului complex z.
Cu acest prilej să observăm că ı̂nmulţirea cu scalari este de fapt ı̂nmulţirea
dintre un număr real şi un număr complex, deoarece
αz = (α, 0)(x, y) = (αx, αy) = αz.
Urmează că ı̂nmulţirea cu numere reale reprezintă, ı̂n planul numerelor complexe,
o scalare, adică o mărire/micşorare la scară cu centru ı̂n originea O. De exemplu,
produsul cu 2, adică aplicaţia z → 2z, măreşte figurile din plan de două ori privind
din origine (este o omotetie cu centru O şi raport 2).

4. Forma trigonometrică a unui număr complex. Vom aprofunda acum


reprezentarea geometrică a lui C trecând de la coordonatele carteziene (x, y) ale
unui punct la coordonatele sale polare (ρ, θ).
Sunt binecunoscute formulele
{
x = ρ cos θ,
y = ρ sin θ.
5
Definim modulul numărului complex z = x + yi prin

|z| = ρ = x2 + y 2
şi argumentul său prin
argz = θ ∈ [0, 2π).
Reamintim că
y
θ = arctg + kπ,
x
unde k are una din valorile 0, 1 sau 2, ı̂n funcţie de cadranul ı̂n care cade z.
Cu aceste notaţii obţinem imediat forma trigonometrică a lui z;
z = x + iy = ρ cos θ + iρ sin θ = ρ(cos θ + i sin θ).
Să observăm că aceste două modalităţi de exprimare a unui număr complex
au fost implementate ı̂n structura Complex prin metodele statice
public static Complex setReIm(double x, double y)
{ //forma algebrica
return new Complex(x, y);
}
şi
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 şi argumentul unui număr complex sunt date de proprietăţile
public double Ro
{
get
{
return Math.Sqrt(x * x + y * y);
}
}
public double Theta
{
6
get
{
return Math.Atan2(y, x);
}
}
Observaţie: conform implemetării de mai sus, argumentul θ = argz returnat
de proprietatea Theta este ı̂n intervalul (−π, π] şi nu ı̂n prima determinare a
cercului, [0, 2π). Acest fapt este utilizat, de exemplu, ı̂n următorul test care
decide dacă punctul z se află sau nu ı̂n semiplanul stâng determinat de dreapta
ab parcursă 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 geometrică a ı̂nmulţirii numerelor complexe. Forma


trigonometrică ne permite să dăm o interpretare remarcabilă ı̂nmulţirii numerelor
complexe. Să calculăm 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 obţinem că
|ωz| = |ω||z|
şi
arg ωz = arg ω + arg z (mod 2π).
Deci, la ı̂nmulţirea numerelor complexe, modulele se ı̂nmulţesc iar argu-
mentele se adună. Deducem de aici că produsul cu ω = α(cos φ + i sin φ), adică
aplicaţia
z → ωz,
reprezintă o scalare de factor α compusă cu o rotaţie de unghi φ ı̂n sens trigono-
metric ı̂n jurul originii.
In particular, ı̂nmulţirea cu i, care are modulul 1 şi argumentul π2 radiani,
este o rotaţie de 90◦ ı̂n sens trigonometric ı̂n jurul originii. Prin urmare, produsul
cu i2 ı̂nseamnă două rotaţii de 90◦ ı̂n acelaşi sens, adică de o rotaţie de 180◦ ,
exact transformarea geometrică asociată produsului cu −1. Iată o interpretare
geometrică elegantă a egalităţii i2 = −1.
Să reamintim şi celebra formulă a lui Moivre (Abraham de Moivre (1667 –
1754), matematician francez): dacă z = ρ(cos θ + i sin θ) atunci pentru orice
n ∈ Z avem
z n = ρn (cos nθ + i sin nθ).
7
Această formulă permite, printre altele, şi următoarea extindere la exponenţi
reali pozitivi a operaţiei de ridicare la putere a unui număr complex:
z α = ρα (cos αθ + i sin αθ),
pentru orice α ∈ (0, +∞).
Clasa implementată mai jos reprezintă grafic puterile numărului
995 π π
z= (cos + i sin ).
1000 120 120
Deoarece |z n | = |z|n = 0.995n → 0 pentru n → +∞, puterile lui z de exponent
n = 1, 2, 3, . . . vor forma un şir de puncte care se apropie de origine, rotindu-se ı̂n
jurul ei la fiecare pas cu π/120 radiani, şi parcurgând astfel o spirală ı̂ndreptată
către zero.

8
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. Rădăcinile unităţii. Considerăm un număr natural fixat n ≥ 1, notăm



θ=
n
şi definim
ε = cos θ + i sin θ.
Este uşor de văzut că primele n puteri ale lui ε,
1, ε, ε2 , ε3 , . . . , εn−1 ,
date de formula
zk = εk = cos kθ + i sin kθ,
sunt distincte şi sunt vârfurile unui poligonului regulat cu n laturi ı̂nscris ı̂n cercul
unitate. Deoarece pentru orice k ∈ {0, 1, 2, . . . , n − 1} avem
zkn = cos nkθ + i sin nkθ = cos 2kπ + i sin 2kπ = 1,
deducem că mulţimea
Un = {1, ε, ε2 , ε3 , . . . , εn−1 }
este formată din cele n soluţii ı̂n C ale ecuaţiei
z n = 1.
Un se numeşte mulţimea rădăcinilor de ordin n ale unităţii şi are o structură de
grup ı̂n raport cu ı̂nmulţirea. Puterile lui ε se repetă din n ı̂n n, mai precis avem
εk εh = εk+h (mod n)

şi prin urmare aplicaţia εk → k este un izomorfism ı̂ntre (Un , ·) şi grupul (Zn , +)
al claselor de resturi modulo n.
9
7. Împărţirea numerelor complexe. După cum rezultă imediat din pro-
prietăţile ı̂nmulţirii, raportul a două numere complexe sub formă trigonometrică,
z1 = ρ1 (cos θ1 + i sin θ1 ) ̸= 0 şi z2 = ρ2 (cos θ2 + i sin θ2 ) este
z2 ρ2
= (cos(θ2 − θ1 ) + i sin(θ2 − θ1 )).
z1 ρ1
Deducem că modulul raportului z2 /z1 este raportul lungimilor vectorilor z2 şi z1
iar argumentul raportului z2 /z1 este unghiul z[ 1 0z2 dintre cei doi vectori.
O interpretare remarcabilă vom avea ı̂ntr-un triunghi ∆z0 z1 z2 ı̂n care, dacă
ţinem cont că diferenţele z2 − z0 şi z1 − z0 sunt laturi, avem

z2 − z0 |z2 − z0 | Z0 Z2

z1 − z0 = |z1 − z0 | = Z0 Z1
şi
z2 − z0
arg = Z\ 1 Z0 Z2 .
z1 − z0
Deci, raportul a două laturi este numărul complex care are modulul egal cu
raportul lungimilor laturilor şi argumentul egal cu unghiul dintre cele două laturi.
Deducem de aici că triunghiurile (orientate) ∆z0 z1 z2 şi ∆z0 ′ z1 ′ z2 ′ sunt asemenea
dacă şi numai dacă
z2 − z0 z ′ − z0′
= 2′ .
z1 − z0 z1 − z0′

Punctele z0 , z1 şi z2 sunt coliniare când unghiul Z\


1 Z0 Z2 are 0 sau π radiani,
deci atunci când raportul celor două laturi,
z2 − z0
= λ,
z1 − z0
are argumentul 0 sau π şi, prin urmare, este număr real. Deducem de aici
caracterizarea: punctul z2 care ı̂mparte segmentul z0 z1 ı̂n raportul
|z2 − z0 |
λ=
|z1 − z0 |
10
este dat de egalitatea
z2 = z0 + λ(z1 − z0 ).
Urmează că dreapta determinată de două puncte distincte, z0 şi z1 , admite
reprezentarea parametrică
z = z0 + t(z1 − z0 ), t ∈ R.
Ca aplicaţie, următoarea clasă secţionează 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
Complex c = 6 + 2 * i;
ScreenColor = Color.White;
PenColor = Color.Black;
sectioneaza(a, b, c, 10);
setAxis();
resetScreen();
}
}

8. Conjugatul unui număr complex. Împărţirea a două numere com-


plexe sub formă algebrică se efectuează prin amplificare cu conjugatul numitoru-
lui.
Conjugatul lui z = x + iy este z̄ = x − iy şi are proprietatea esenţială
z z̄ = x2 + y 2 = |z|2 ∈ R.
Operaţia de conjugare (adică aplicaţia z → z̄) reprezentă trecerea de la un
punct la simetricul său ı̂n raport cu axa reală, prin urmare conjugarea păstrează
operaţiile:
z1 + z 2 = z 1 + z 2 ,
z1 − z 2 = z 1 − z 2 ,
z1 z 2 = z 1 z 2 ,
z1 /z 2 = z 1 /z 2 .
In sfârşit, pentru z = x + iy avem
z + z̄ z − z̄
Re z = x = şi Im z = y = .
2 2i
Este util de ţinut minte că, dacă |z| = 1 atunci z̄ = z1 .
9. Transformări geometrice. Identificând ı̂n continuare C cu mulţimea
punctelor unui plan, prin figură geometrică vom ı̂nţelege, ı̂n cele ce urmează,
o mulţime oarecare F de numere complexe, prin transformare geometrică o
aplicaţie T : C → C iar prin transformata figurii F mulţimea formată din trans-
formatele punctelor lui F :
F ′ = T (F ) = {z ′ = T (z), z ∈ F }.
Pe baza interpretărilor geometrice ale operaţiilor cu numere complexe, avem
următoarele caracterizări ale transformărilor ı̂ntâlnite ı̂n geometria planului.
9.1. Translaţia. Dorim să translatăm o figură F astfel ı̂ncât un punct fixat
z0 ∈ F să ajungă ı̂ntr-un z0′ fixat ı̂n F ′ . Fie z ∈ F şi z ′ ∈ F ′ transformatul său.
−→ −−→
Vectorii zz ′ şi z0 z0′ trebuie să fie egali, deci z ′ − z = z0′ − z0 , de unde rezultă
z ′ = z + (z0′ − z0 ).
In concluzie, transformarea T : C → C dată de
T (z) = z + (z0′ − z0 ), z ∈ C,
−−→
este translaţia de vector z0 z0′ .
12
Următoarea clasă afişează ı̂ntr-o mişcare de translaţie uniformă poligonul
ı̂ncărcat ı̂n lista iniţială (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
{
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. Fixăm un punct z0 ∈ C şi un număr real λ > 0. Fiind dată
o figură F , dorim să o “mărim la scară” cu factorul λ relativ la centrul z0 . Fie
z ∈ F şi z ′ ∈ F ′ transformatul său. Cerem ca punctele z0 , z şi z ′ să fie coliniare
şi raportul segmentelor z0 z ′ şi z0 z să fie λ, de unde rezultă că z ′ = z0 + λ(z − z0 ).
In concluzie, transformarea T : C → C dată de
T (z) = z0 + λ(z − z0 ), z ∈ C,
cu λ ∈ R∗+ , este omotetia de centru z0 şi raport λ.

9.3. Rotaţia. Dorim să rotim o figură F ı̂n jurul unui punct fix z0 ∈ C cu un
unghi θ. Considerăm un z ∈ F , notăm cu z ′ ∈ F ′ transformatul său şi definim
14
numărul complex ω prin
z ′ − z0
ω= .
z − z0

Avem
|z ′ − z0 |
|ω| = =1
|z − z0 |
şi
arg = z[′ z z = θ = const.,
0
de unde rezultă că ω = cos θ + i sin θ.
Rotaţia de centru z0 şi unghi θ este dată de transformarea T : C → C definită
de
T (z) = z0 + ω(z − z0 ), z ∈ C,
cu ω = cos θ + i sin θ.
9.4. Simetria faţă de un punct. Punctul z ′ este simetricul lui z faţă de z0
dacă z ′ − z0 = −(z − z0 ) şi, prin urmare,
T (z) = 2z0 − z, z ∈ C,
este simetria faţă de punctul z0 .
9.5. Simetria faţă de o dreaptă. Fie dab dreapta determinată de două puncte
distincte a şi b din C. Dorim să determinăm simetricul z ′ al unui punct z faţă
de dreapta dab . Considerăm conjugatele ā, b̄, z̄ şi z¯′ care, după cum ştim, sunt
simetricele punctelor a, b, z şi z ′ faţă de axa reală. Din egalitatea
z′ − a z̄ − ā
= ,
b−a b̄ − ā
dată de congruenţa triunghiurilor ∆az ′ b şi ∆āz̄ b̄, obţinem mai departe
b−a
z′ = a + (z̄ − ā).
b̄ − ā
In concluzie, simetria faţă de dreapta determinată de punctele a şi b este
transformarea T : C → C dată de
T (z) = a + ωz − a, z ∈ C,
15
cu ω = (b − a)/ b − a.
10. Şiruri şi serii ı̂n C. Prin distanţa dintre două numere complexe z1 şi
z2 vom ı̂nţelege distanţa uzuală dintre punctele corespunzătoare din plan:

d(z1 , z2 ) = |z2 − z1 | = (x2 − x1 )2 + (y2 − y1 )2 .
Se verifică imediat ca aplicaţia d : C × C → R are proprietăţile 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);
şi, prin urmare, (C, d) este un spaţiu metric. Aceasta ı̂nseamnă că avem gata
definite, din teoria generală a spaţiilor metrice, o serie de noţiuni legate de
convergenţa şirurilor şi de continuitatea funcţiilor. Vom aminti numai pe cele
strict necesare cursului nostru.
Un şir (zn )n de numere complexe este convergent dacă există z ∗ ∈ C, limita
sa, astfel ı̂ncât şirul distanţelor de la zn la z ∗ să tindă la zero:
lim zn = z ∗ ⇔ lim |zn − z ∗ | = 0.
n→∞ n→∞

Convergenţa şirurilor se caracterizează pe componente,


lim zn = lim (xn + iyn ) = x∗ + iy ∗ ⇔ lim xn = x∗ şi lim yn = y ∗ .
n→∞ n→∞ n→∞ n→∞

Numim divergent un şir care nu este convergent. Despre un şir divergent


spunem că tinde la infinit dacă şirul modulelor tinde la plus infinit:
lim zn = ∞ ⇔ lim |zn | = +∞.
n→∞ n→∞

Atenţie la limitele infinite: la şirurile de numere reale există limitele −∞ şi +∞,
ı̂n C avem numai ∞ fără semn!
Să studiem şirul puterilor unui număr complex ω = ρ(cos θ + i sin θ). Avem
ω n = ρn (cos nθ + i sin nθ)
şi deci, dacă |ω| = ρ < 1 atunci ω n → 0, dacă |ω| = ρ > 1 atunci ω n → ∞, iar
dacă |ω| = ρ = 1 şirul rămâne pe cercul unitate, fiind convergent numai ı̂n cazul
16
ı̂n care este constant, adică pentru ω = 1, ı̂n rest fiind periodic (când raportul
π/θ este raţional) sau dens distribuit pe cercul unitate.
Fie (an )n un şir de numere complexe. Exact ca ı̂n cazul seriilor de numere
reale, spunem că seria

+∞
an
n=0
are suma s ∈ C sau s = ∞ dacă şirul sumelor sale parţiale
sn = a0 + a1 + · · · + an
are limita s, adică


an = lim (a0 + a1 + · · · + an ) = s.
n→∞
n=0

Seria este convergentă dacă are suma finită (adică s ∈ C), altfel este divergentă.
De exemplu, din cele de mai sus deducem imediat că, ı̂n mulţimea numerelor
complexe, seria geometrică
∑∞
1 − ω n+1
ω n = lim (1 + ω + ω 2 + · · · + ω n ) = lim
n→∞ n→∞ 1 − ω
n=0

este convergentă numai dacă |ω| < 1, şi atunci are suma
1
1 + ω + ω2 + · · · + ωn + · · · = ,
1−ω
rezultat analog cazului real.
11. Funcţii complexe de argument real. O funcţie z : I ⊂ R → C este
formată dintr-o pereche de funcţii reale x şi y : I ⊂ R → R date de egalitatea
z(t) = x(t) + iy(t), t ∈ I.
Astfel de funcţii se ı̂ntâlnesc, mai ales, ı̂n descrierea mişcării unui punct ı̂n
plan. De exemplu,
z(t) = t(cos t + i sin t), t ∈ [0, +∞),
reprezintă legea orară după care un punct se deplasează pe o spirală care porneşte
din origine. Cele două funcţii componente dau ecuaţiile 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 funcţiei z = z(t)
pentru t → t0 există şi este finită numai dacă funcţiile x = x(t) şi y = y(t) au
limite finite, şi atunci avem
lim z(t) = lim x(t) + i lim y(t).
t→t0 t→t0 t→t0

17
Urmează că z este continuă pe I dacă şi numai dacă cele două funcţiile compo-
nente sunt continue.
Derivabilitatea se caracterizează tot pe componente, mai precis
z(t) − z(t0 ) x(t) − x(t0 ) y(t) − y(t0 )
z ′ (t0 ) = lim = lim +i lim = x′ (t0 )+iy ′ (t0 ).
t→t0 t − t0 t→t 0 t − t0 t→t 0 t − t0
Din definiţia derivatei rezultă aproximarea
z(t) ≈ z(t0 ) + (t − t0 )z ′ (t0 ) pentru t ≈ t0 ,
care ı̂nlocuieşte mişcarea lui z = z(t) cu o mişcare rectilinie uniformă cu viteza
|z ′ (t0 )| pe tangenta la traiectorie ı̂n punctul z0 = z(t0 ). În concluzie, derivata
unei funcţii complexe de argument real se calculează pe componente
z ′ (t) = x′ (t) + iy ′ (t)
şi reprezintă vectorul viteză instantanee al punctului ı̂n mişcare z = z(t). El dă
direcţia tangentei la traiectorie ı̂n punctul curent.
Clasa C # de mai jos desenează cu negru traiectoria punctului z = t(cos t +
i sin t) pe intervalul t ∈ [0, 35] şi trasează cu roşu vectorul viteză la momentul
t0 = 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
}

12. Funcţii complexe de argument complex. O funcţie f : D ⊂ C → C


este formată din două funcţii u, v : D ⊂ R2 → R date de descompunerea
f (z) = f (x, y) = u(x, y) + iv(x, y), (x, y) ∈ D.
De exemplu, aplicaţia z → z 3 are descompunerea
f (z) = z 3 = (x + iy)3 = (x3 − 3xy 2 ) + i(3x2 y − y 3 ),
deci ı̂n acest caz u(x, y) = x3 − 3xy 2 şi v(x, y) = 3x2 y − y 3 .
Fie z0 un punct de acumulare al domeniului D, adică un punct z0 ∈ C pentru
care există un şir (dn )n de elemente din D \ {z0 } cu dn → z0 . Limita
lim f (z)
z→z0

există şi este finită dacă şi numai dacă cele două funcţii componente au limite
finite, şi atunci
lim f (z) = lim u(x, y) + i lim v(x, y).
z→z0 (x,y)→(x0 ,y0 ) (x,y)→(x0 ,y0 )

De aici se poate deduce că f este continuă pe D numai dacă u şi v sunt continue.
Derivabilitatea unei funcţii complexe nu se mai reduce numai la diferenţiabili-
tatea celor două componente reale. Considerăm că u şi v admit derivate parţiale
continue pe domeniul D şi calculăm limita
f (z) − f (z0 )
f ′ (z0 ) = lim
z→z0 z − z0
19
considerând trasee orizontale de forma z = z0 + ∆t, cu ∆t → 0 ı̂n R. Obţinem
u(x0 + ∆t, y0 ) − u(x0 , y0 ) v(x0 + ∆t, y0 ) − v(x0 , y0 )
f ′ (z0 ) = lim + i lim
∆t→0 ∆t ∆t→0 ∆t
∂u ∂v
= (x0 , y0 ) + i (x0 , y0 ).
∂x ∂x
Considerăm acum trasee verticale de forma z = z0 + i∆t şi găsim
u(x0 , y0 + ∆t) − u(x0 , y0 ) v(x0 , y0 + ∆t) − v(x0 , y0 )
f ′ (z0 ) = lim + i lim
∆t→0 i∆t ∆t→0 i∆t
∂v ∂u
= (x0 , y0 ) − i (x0 , y0 ).
∂y ∂y
Comparând cele două rezultate deducem că următoarele egalităţi sunt condiţii
necesare pentru derivabilitatea funcţiei f pe un domeniu D
{
∂u ∂v
∂x
= + ∂y
∂u
∂y
= − ∂x∂v
.
Se arată că ı̂n ipotezele noastre (u şi v admit derivate parţiale continue)
egalităţile de mai sus, numite condiţiile Cauchy-Riemann, sunt şi suficiente pen-
tru derivabilitatea lui f . Să le verificăm pentru f (z) = z 3 . Avem
∂ 3 ∂
(x − 3xy 2 ) = 3x2 − 3y 2 = (3x2 y − y 3 )
∂x ∂y
şi
∂ 3 ∂
(x − 3xy 2 ) = −6xy = − (3x2 y − y 3 ),
∂y ∂x
deci f este derivabilă. In adevăr,
z 3 − z03
f ′ (z0 ) = lim = lim (z 2 + zz0 + z02 ) = 3z02 ,
z→z0 z − z0 z→z0

de unde urmează că


(z 3 )′ = 3z 2 ,
exact ca ı̂n cazul funcţiilor reale.
Regulile de derivare formală a funcţiilor elementare (polinomiale, raţionale,
exponenţiale şi trigonometrice) se păstrează neschimbate la trecerea de la cazul
real la cel complex, şi aceasta deoarece se păstrează atât regulile de derivare ale
operaţiilor
(αu + βv)′ = αu′ + βv ′ , α, β ∈ C,
(uv)′ = u′ v + uv ′ ,
( u )′ u′ v − uv ′
=
v v2
şi
(u(v))′ = u′ (v)v ′ ,
20
cât şi definiţiile prin serii de puteri ale funcţiilor elementare:
z z2 z3
ez = 1 + + + + . . . , z ∈ C,
1! 2! 3!
z3 z5 z7
sin z = z − + − + ..., z ∈ C
3! 5! 7!
şi
z2 z4 z6
cos z = 1 − + − + . . . , z ∈ C,
2! 4! 6!
de exemplu. Pe baza celor de mai sus se poate arăta, printre altele, că (ez )′ = ez
şi chiar că ez1 +z2 = ez1 ez2 , pentru orice z1 şi z2 din C.
Graficul unei funcţii f : D ⊂ C → C, definit de
Graf(f ) = {(z, f (z)) ∈ C × C | z ∈ D ⊂ C},
este o submulţime ı̂n C × C care, ca spaţiu liniar, este izomorf cu R4 . Vederea
noastră fiind tri-dimensională, nu putem vedea această suprafaţă bi-dimensională
scufundată ı̂ntru-un spaţiu patru-dimensional. O funcţie complexă de argument
complex poate fi interpretată ca o deformare a planului, acţiunea ei poate fi
ı̂nteleasă vizual urmărind modul ı̂n care funcţia deformează, transformă, diverse
reţele de linii din plan.
Clasa următoare colorează cu negru pătratul [1, 2]×[1, 2] din planul numerelor
complexe şi cu roşu transformatul acestuia prin funcţia f (z) = z 3 .
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 definiţia derivatei, dacă f este derivabilă ı̂n z0 atunci are loc aproximarea
f (z) ≈ f (z0 ) + f ′ (z0 )(z − z0 ) pentru z ≈ z0 ,
care arată că local, ı̂n vecinătatea lui z0 , deformarea produsă de f este o rotaţie
de unghi arg f ′ (z0 ) ı̂n jurul lui z0 , compusă cu o omotetie de centru z0 şi raport
|f ′ (z0 )|, urmată de o translaţie care ı̂l duce pe z0 ı̂n f (z0 ). Prin urmare, deoarece
21
toate aceste transformări păstreaza mărimea şi orientarea unghiurilor, funcţiile
derivabile au şi ele aceeaşi proprietate (se spune că sunt transformări conforme).
In desenul precedent se observă că cele patru colţuri ale pătratului alb au fost
transformate ı̂n cele patru colţuri roşii, păstrând mărimea lor de 90◦ (unghiul
dintre două curbe este prin definiţie unghiul dintre tangentele la curbe ı̂n punctul
de intersecţie).
Să observăm că aplicaţia z → z̄, fiind o simetrie faţă de o dreaptă, conservă
unghiurile dar schimbă orientările, deci nu este conformă şi, ı̂n consecinţă, nu
este derivabilă. In adevăr,
f (z) = z̄ = x − iy = u(x, y) + iv(x, y)
nu respectă prima dintre condiţiile Cauchy-Riemann:
∂u ∂v
(x, y) = 1 ̸= −1 = (x, y).
∂x ∂y
Încheiem scurta noastră prezentare a funcţiilor complexe cu o identitate
celebră, şi anume cu formula lui Euler
eiθ = cos θ + i sin θ,
pentru orice θ ∈ R, care se obţine imediat prin calcul cu serii de puteri

iθ i2 θ2 i3 θ3
eiθ = 1 + + + + ...
1! 2! 3!
22
( ) ( )
θ2 θ4 θ θ3 θ5
= 1− + − ... + i − + − ...
2! 4! 1! 3! 5!
= cos θ + i sin θ.
Aplicând această formulă, găsim descompunerea pe componente a funcţiei exponenţiale:
ez = ex+iy = ex eiy = ex (cos y + i sin y),
pentru orice z = x + iy din C.

23

S-ar putea să vă placă și