Numere complexe în grafica 2D

Σχετικά έγγραφα
(a) se numeşte derivata parţială a funcţiei f în raport cu variabila x i în punctul a.

Curs 10 Funcţii reale de mai multe variabile reale. Limite şi continuitate.

Curs 14 Funcţii implicite. Facultatea de Hidrotehnică Universitatea Tehnică "Gh. Asachi"

Curs 4 Serii de numere reale

III. Serii absolut convergente. Serii semiconvergente. ii) semiconvergentă dacă este convergentă iar seria modulelor divergentă.

Metode iterative pentru probleme neliniare - contractii

Planul determinat de normală şi un punct Ecuaţia generală Plane paralele Unghi diedru Planul determinat de 3 puncte necoliniare

Laborator 11. Mulţimi Julia. Temă

5. FUNCŢII IMPLICITE. EXTREME CONDIŢIONATE.

Definiţia generală Cazul 1. Elipsa şi hiperbola Cercul Cazul 2. Parabola Reprezentari parametrice ale conicelor Tangente la conice

V.7. Condiţii necesare de optimalitate cazul funcţiilor diferenţiabile

Curs 1 Şiruri de numere reale

Functii definitie, proprietati, grafic, functii elementare A. Definitii, proprietatile functiilor X) functia f 1

a n (ζ z 0 ) n. n=1 se numeste partea principala iar seria a n (z z 0 ) n se numeste partea

R R, f ( x) = x 7x+ 6. Determinați distanța dintre punctele de. B=, unde x și y sunt numere reale.

Curs 2 Şiruri de numere reale

Functii definitie, proprietati, grafic, functii elementare A. Definitii, proprietatile functiilor

Sisteme diferenţiale liniare de ordinul 1

SERII NUMERICE. Definiţia 3.1. Fie (a n ) n n0 (n 0 IN) un şir de numere reale şi (s n ) n n0

Integrala nedefinită (primitive)

Lectia VI Structura de spatiu an E 3. Dreapta si planul ca subspatii ane

Seminariile Capitolul X. Integrale Curbilinii: Serii Laurent şi Teorema Reziduurilor

Asupra unei inegalităţi date la barajul OBMJ 2006

COLEGIUL NATIONAL CONSTANTIN CARABELLA TARGOVISTE. CONCURSUL JUDETEAN DE MATEMATICA CEZAR IVANESCU Editia a VI-a 26 februarie 2005.

Toate subiectele sunt obligatorii. Timpul de lucru efectiv este de 3 ore. Se acordă din oficiu 10 puncte. SUBIECTUL I.

Conice. Lect. dr. Constantin-Cosmin Todea. U.T. Cluj-Napoca

Conice - Câteva proprietǎţi elementare

DISTANŢA DINTRE DOUĂ DREPTE NECOPLANARE

Orice izometrie f : (X, d 1 ) (Y, d 2 ) este un homeomorfism. (Y = f(x)).

SEMINAR 14. Funcţii de mai multe variabile (continuare) ( = 1 z(x,y) x = 0. x = f. x + f. y = f. = x. = 1 y. y = x ( y = = 0

z a + c 0 + c 1 (z a)

Ecuaţia generală Probleme de tangenţă Sfera prin 4 puncte necoplanare. Elipsoidul Hiperboloizi Paraboloizi Conul Cilindrul. 1 Sfera.

Vectori liberi Produs scalar Produs vectorial Produsul mixt. 1 Vectori liberi. 2 Produs scalar. 3 Produs vectorial. 4 Produsul mixt.

Capitolul 4. Integrale improprii Integrale cu limite de integrare infinite

Metode de interpolare bazate pe diferenţe divizate

f(x) = l 0. Atunci f are local semnul lui l, adică, U 0 V(x 0 ) astfel încât sgnf(x) = sgnl, x U 0 D\{x 0 }. < f(x) < l +

CURS 11: ALGEBRĂ Spaţii liniare euclidiene. Produs scalar real. Spaţiu euclidian. Produs scalar complex. Spaţiu unitar. Noţiunea de normă.

Subiecte Clasa a VIII-a

CURS XI XII SINTEZĂ. 1 Algebra vectorială a vectorilor liberi

Concurs MATE-INFO UBB, 1 aprilie 2017 Proba scrisă la MATEMATICĂ

2.1 Sfera. (EGS) ecuaţie care poartă denumirea de ecuaţia generală asferei. (EGS) reprezintă osferă cu centrul în punctul. 2 + p 2

J F (ρ, ϕ, θ) = cos ϕ ρ sin ϕ 0. Teoremă (a diferenţiabilităţii compuse) (legea lanţului) Fie F : D deschis

Spatii liniare. Exemple Subspaţiu liniar Acoperire (înfăşurătoare) liniară. Mulţime infinită liniar independentă

CURS VII-IX. Capitolul IV: Funcţii derivabile. Derivate şi diferenţiale. 1 Derivata unei funcţii. Interpretarea geometrică.

Să se arate că n este număr par. Dan Nedeianu

2 Transformări liniare între spaţii finit dimensionale

Criptosisteme cu cheie publică III

GEOMETRIE PLANĂ TEOREME IMPORTANTE ARII. bh lh 2. abc. abc. formula înălţimii

1.3 Baza a unui spaţiu vectorial. Dimensiune

Capitolul 4 PROPRIETĂŢI TOPOLOGICE ŞI DE NUMĂRARE ALE LUI R. 4.1 Proprietăţi topologice ale lui R Puncte de acumulare

Functii Breviar teoretic 8 ianuarie ianuarie 2011

SEMINAR TRANSFORMAREA FOURIER. 1. Probleme

Algebra si Geometrie Seminar 9

Analiza în curent continuu a schemelor electronice Eugenie Posdărăscu - DCE SEM 1 electronica.geniu.ro

Cursul Măsuri reale. D.Rusu, Teoria măsurii şi integrala Lebesgue 15

Subiecte Clasa a VII-a

7. Fie ABCD un patrulater inscriptibil. Un cerc care trece prin A şi B intersectează

CONCURSUL DE MATEMATICĂ APLICATĂ ADOLF HAIMOVICI, 2017 ETAPA LOCALĂ, HUNEDOARA Clasa a IX-a profil științe ale naturii, tehnologic, servicii

Principiul Inductiei Matematice.

Cum folosim cazuri particulare în rezolvarea unor probleme

EDITURA PARALELA 45 MATEMATICĂ DE EXCELENŢĂ. Clasa a X-a Ediţia a II-a, revizuită. pentru concursuri, olimpiade şi centre de excelenţă

BARAJ DE JUNIORI,,Euclid Cipru, 28 mai 2012 (barajul 3)

Profesor Blaga Mirela-Gabriela DREAPTA

Aplicaţii ale principiului I al termodinamicii la gazul ideal

SEMINARUL 3. Cap. II Serii de numere reale. asociat seriei. (3n 5)(3n 2) + 1. (3n 2)(3n+1) (3n 2) (3n + 1) = a

Capitolul 3. Serii Fourier. a unei funcţii periodice de perioadă Dezvoltarea în serie Fourier

Dreapta in plan. = y y 0

Capitolul 9. Geometrie analitică. 9.1 Repere

CONCURSUL INTERJUDEŢEAN DE MATEMATICĂ ŞI INFORMATICĂ MARIAN ŢARINĂ. Ediţia a XVII-a, 7 8 Aprilie CLASA a IV-a

CONCURSUL INTERJUDEȚEAN DE MATEMATICĂ TRAIAN LALESCU, 1998 Clasa a V-a

Ecuatii exponentiale. Ecuatia ce contine variabila necunoscuta la exponentul puterii se numeste ecuatie exponentiala. a x = b, (1)

GEOMETRIE PLANĂ TEOREME IMPORTANTE ARII. = înălţimea triunghiului echilateral h =, R =, r = R = bh lh 2 A D ++ D. abc. abc =

CONCURS DE ADMITERE, 17 iulie 2017 Proba scrisă la MATEMATICĂ

Aplicaţii ale numerelor complexe în geometrie, utilizând Geogebra

y y x x 1 y1 Elemente de geometrie analiticã 1. Segmente 1. DistanŃa dintre douã puncte A(x 1,y 1 ), B(x 2,y 2 ): AB = 2. Panta dreptei AB: m AB =

ELEMENTE DE GEOMETRIA COMPUTAŢIONALĂ A CURBELOR Interpolare cu ajutorul funcţiilor polinomiale

CURS MECANICA CONSTRUCŢIILOR

Esalonul Redus pe Linii (ERL). Subspatii.

Lectia III Produsul scalar a doi vectori liberi

MARCAREA REZISTOARELOR

Siruri de numere reale

Ecuatii trigonometrice

Seminariile Capitolul IX. Integrale curbilinii

5.5. REZOLVAREA CIRCUITELOR CU TRANZISTOARE BIPOLARE

Geometrie computationala 2. Preliminarii geometrice

INTERPOLARE. y i L i (x). L(x) = i=0

Matrice. Determinanti. Sisteme liniare

Concurs MATE-INFO UBB, 25 martie 2018 Proba scrisă la MATEMATICĂ

Progresii aritmetice si geometrice. Progresia aritmetica.

2.3 Geometria analitică liniarăînspaţiu

Transformări integrale şi funcţii complexe cu aplicaţii în tehnică

3 FUNCTII CONTINUE Noţiuni teoretice şi rezultate fundamentale Spaţiul euclidian R p. Pentru p N *, p 2 fixat, se defineşte R

Criterii de comutativitate a grupurilor

RĂSPUNS Modulul de rezistenţă este o caracteristică geometrică a secţiunii transversale, scrisă faţă de una dintre axele de inerţie principale:,

2. Sisteme de forţe concurente...1 Cuprins...1 Introducere Aspecte teoretice Aplicaţii rezolvate...3

VARIANTE PENTRU BACALAUREAT, M1-1, 2007

Seminar 5 Analiza stabilității sistemelor liniare

GRADUL II n α+1 1

3. Momentul forţei în raport cu un punct...1 Cuprins...1 Introducere Aspecte teoretice Aplicaţii rezolvate...4

Teorema de punct fix a lui Banach

Transcript:

Cursul 3 Numere complexe în grafica 2D 1. Introducere. Dezvoltarea istorică a gândirii matematice a urmărit îndeaproape 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 XVIlea, î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 x 2 + 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 secolele 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 complexe 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: şi înmulţirea (x 1, y 1 ) + (x 2, y 2 ) = (x 1 + x 2, y 1 + y 2 ), (x 1, y 1 ), (x 2, y 2 ) C, (x 1, y 1 )(x 2, y 2 ) = (x 1 x 2 y 1 y 2, x 1 y 2 + x 2 y 1 ), (x 1, y 1 ), (x 2, y 2 ) C. Se verifică uşor că aceste două operaţii înzestrează mulţimea numerelor complexe 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ă şi (x 1, 0) + (x 2, 0) = (x 1 + x 2, 0) R (x 1, 0)(x 2, 0) = (x 1 x 2, 0) R pentru orice (x 1, 0), (x 2, 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 şi, prin urmare, cu notaţia z = (x, y) = (x, 0) + (0, y) = (x, 0) + (y, 0)(0, 1), 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 i 2 = 1. 2

Aplicând regulile de calcul dintr-un corp comutativ, deducem mai departe că (x 1 + y 1 i)(x 2 + y 2 i) = x 1 x 2 + x 1 y 2 i + y 1 x 2 i + y 1 y 2 i 2 = x 1 x 2 y 1 y 2 + (x 1 y 2 + y 1 x 2 )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 constructorul 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, R 2 = R R se structurează în mod natural ca spaţiu liniar real de dimensiune 2, definind adunarea şi înmulţirea cu scalari pe componente: (x 1, y 1 ) + (x 2, y 2 ) = (x 1 + x 2, y 1 + y 2 ), (x 1, y 1 ), (x 2, y 2 ) R 2, şi α(x, y) = (αx, αy), α R, (x, y) R 2. Un element z = (x, y) din R 2 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) R 2, 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 R 2 coincid, rezultă că adunarea numerelor complexe are loc după regula paralelogramului: vectorul OS corespunzător sumei s = z 1 + z 2 este diagonala paralelogramului format de vectorii OZ 1 şi OZ 2. Analog, vectorul de poziţie OD corespunzător diferenţei d = z2 z 1 este vectorul liber Z 1 Z 2 translatat cu Z 1 în origine (astfel încât OZ 2 să fie diagonala paralelogramului format de OZ 1 şi OD. Spunem că suma z1 + z 2 este diagonala paralelogramului format de vectorii z 1 şi z 2, iar diferenţa z 2 z 1 este vectorul z 1 z 2. 4

Mai mult, dacă în R 2 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 şi argumentul său prin Reamintim că z = ρ = x 2 + y 2 argz = θ [0, 2π). θ = arctg y x + kπ, 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 θ)] de unde obţinem că şi = αρ(cos(φ + θ) + i sin(φ + θ)) ωz = ω z arg ωz = arg ω + arg z (mod 2π). Deci, la înmulţirea numerelor complexe, modulele se înmulţesc iar argumentele 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 trigonometric în jurul originii. In particular, înmulţirea cu i, care are modulul 1 şi argumentul π radiani, 2 este o rotaţie de 90 în sens trigonometric în jurul originii. Prin urmare, produsul cu i 2 î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 i 2 = 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 z = 995 1000 (cos π 120 + i sin π 120 ). Deoarece z n = z n = 0.995 n 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 şi definim θ = 2π n ε = cos θ + i sin θ. Este uşor de văzut că primele n puteri ale lui ε, date de formula 1, ε, ε 2, ε 3,..., ε n 1, z k = ε 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 deducem că mulţimea z n k = cos nkθ + i sin nkθ = cos 2kπ + i sin 2kπ = 1, U n = 1, ε, ε 2, ε 3,..., ε n 1 este formată din cele n soluţii în C ale ecuaţiei z n = 1. U n 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 (U n, ) şi grupul (Z n, +) al claselor de resturi modulo n. 9

7. Împărţirea numerelor complexe. După cum rezultă imediat din proprietăţile înmulţirii, raportul a două numere complexe sub formă trigonometrică, z 1 = ρ 1 (cos θ 1 + i sin θ 1 ) 0 şi z 2 = ρ 2 (cos θ 2 + i sin θ 2 ) este z 2 = ρ 2 (cos(θ 2 θ 1 ) + i sin(θ 2 θ 1 )). z 1 ρ 1 Deducem că modulul raportului z 2 /z 1 este raportul lungimilor vectorilor z 2 şi z 1 iar argumentul raportului z 2 /z 1 este unghiul ẑ 1 0z 2 dintre cei doi vectori. O interpretare remarcabilă vom avea într-un triunghi z 0 z 1 z 2 în care, dacă ţinem cont că diferenţele z 2 z 0 şi z 1 z 0 sunt laturi, avem z 2 z 0 z 1 z 0 = z 2 z 0 z 1 z 0 = Z 0Z 2 Z 0 Z 1 şi arg z 2 z 0 = Z 1 Z 0 Z 2. z 1 z 0 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) z 0 z 1 z 2 şi z 0 z 1 z 2 sunt asemenea dacă şi numai dacă z 2 z 0 = z 2 z 0. z 1 z 0 z 1 z 0 Punctele z 0, z 1 şi z 2 sunt coliniare când unghiul deci atunci când raportul celor două laturi, z 2 z 0 = λ, z 1 z 0 Z 1 Z 0 Z 2 are 0 sau π radiani, are argumentul 0 sau π şi, prin urmare, este număr real. Deducem de aici caracterizarea: punctul z 2 care împarte segmentul z 0 z 1 în raportul λ = z 2 z 0 z 1 z 0 10

este dat de egalitatea z 2 = z 0 + λ(z 1 z 0 ). Urmează că dreapta determinată de două puncte distincte, z 0 şi z 1, admite reprezentarea parametrică z = z 0 + t(z 1 z 0 ), 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 complexe sub formă algebrică se efectuează prin amplificare cu conjugatul numitorului. Conjugatul lui z = x + iy este z = x iy şi are proprietatea esenţială z z = x 2 + 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: z 1 + z 2 = z 1 + z 2, z 1 z 2 = z 1 z 2, z 1 z 2 = z 1 z 2, z 1 /z 2 = z 1 /z 2. In sfârşit, pentru z = x + iy avem Re z = x = z + z şi Im z = y = z z. 2 2i Este util de ţinut minte că, dacă z = 1 atunci z = 1. z 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 transformatele 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 z 0 F să ajungă într-un z 0 fixat în F. Fie z F şi z F transformatul său. Vectorii zz şi z 0 z 0 trebuie să fie egali, deci z z = z 0 z 0, de unde rezultă z = z + (z 0 z 0 ). In concluzie, transformarea T : C C dată de T (z) = z + (z 0 z 0 ), z C, este translaţia de vector z 0 z 0. 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 z 0 C şi un număr real λ > 0. Fiind dată o figură F, dorim să o mărim la scară cu factorul λ relativ la centrul z 0. Fie z F şi z F transformatul său. Cerem ca punctele z 0, z şi z să fie coliniare şi raportul segmentelor z 0 z şi z 0 z să fie λ, de unde rezultă că z = z 0 + λ(z z 0 ). In concluzie, transformarea T : C C dată de T (z) = z 0 + λ(z z 0 ), z C, cu λ R +, este omotetia de centru z 0 şi raport λ. 9.3. Rotaţia. Dorim să rotim o figură F în jurul unui punct fix z 0 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 z 0 z z 0. Avem ω = z z 0 z z 0 = 1 şi arg = ẑ z 0 z = θ = const., de unde rezultă că ω = cos θ + i sin θ. Rotaţia de centru z 0 şi unghi θ este dată de transformarea T : C C definită de T (z) = z 0 + ω(z z 0 ), z C, cu ω = cos θ + i sin θ. 9.4. Simetria faţă de un punct. Punctul z este simetricul lui z faţă de z 0 dacă z z 0 = (z z 0 ) şi, prin urmare, T (z) = 2z 0 z, z C, este simetria faţă de punctul z 0. 9.5. Simetria faţă de o dreaptă. Fie d ab dreapta determinată de două puncte distincte a şi b din C. Dorim să determinăm simetricul z al unui punct z faţă de dreapta d ab. 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 b a = z ā, b ā dată de congruenţa triunghiurilor az b şi ā z b, obţinem mai departe z = a + b a b ā ( z ā). 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 z 1 şi z 2 vom înţelege distanţa uzuală dintre punctele corespunzătoare din plan: d(z 1, z 2 ) = z 2 z 1 = (x 2 x 1 ) 2 + (y 2 y 1 ) 2. Se verifică imediat ca aplicaţia d : C C R are proprietăţile unei metrici: (M 1 ) u, v C, d(u, v) 0; d(u, v) = 0 u = v; (M 2 ) u, v C, d(u, v) = d(v, u); (M 3 ) 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 (z n ) n de numere complexe este convergent dacă există z C, limita sa, astfel încât şirul distanţelor de la z n la z să tindă la zero: lim z n = z lim z n z = 0. n n Convergenţa şirurilor se caracterizează pe componente, lim z n = lim (x n + iy n ) = x + iy lim x n = x şi lim y n = 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 z n = lim z n = +. 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 (a n ) n un şir de numere complexe. Exact ca în cazul seriilor de numere reale, spunem că seria + n=0 are suma s C sau s = dacă şirul sumelor sale parţiale are limita s, adică n=0 a n s n = a 0 + a 1 + + a n a n = lim n (a 0 + a 1 + + a n ) = s. 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ă ω n = lim (1 + ω + ω 2 + + ω n 1 ω n+1 ) = lim n n 1 ω n=0 este convergentă numai dacă ω < 1, şi atunci are suma 1 + ω + ω 2 + + ω n + = 1 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 t 0 un punct din intervalul I sau unul din capete. Limita funcţiei z = z(t) pentru t t 0 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 t 0 t t0 t t0 17

Urmează că z este continuă pe I dacă şi numai dacă cele două funcţiile componente sunt continue. Derivabilitatea se caracterizează tot pe componente, mai precis z z(t) z(t 0 ) (t 0 ) = lim t t0 t t 0 x(t) x(t 0 ) = lim t t0 t t 0 Din definiţia derivatei rezultă aproximarea z(t) z(t 0 ) + (t t 0 )z (t 0 ) pentru t t 0, +i lim t t0 y(t) y(t 0 ) t t 0 = x (t 0 )+iy (t 0 ). care înlocuieşte mişcarea lui z = z(t) cu o mişcare rectilinie uniformă cu viteza z (t 0 ) pe tangenta la traiectorie în punctul z 0 = z(t 0 ). Î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 t 0 = 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 R 2 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 = (x 3 3xy 2 ) + i(3x 2 y y 3 ), deci în acest caz u(x, y) = x 3 3xy 2 şi v(x, y) = 3x 2 y y 3. Fie z 0 un punct de acumulare al domeniului D, adică un punct z 0 C pentru care există un şir (d n ) n de elemente din D \ z 0 cu d n z 0. Limita lim z z 0 f(z) 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 z z 0 (x,y) (x 0,y 0 ) lim (x,y) (x 0,y 0 ) v(x, y). 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ţiabilitatea celor două componente reale. Considerăm că u şi v admit derivate parţiale continue pe domeniul D şi calculăm limita f f(z) f(z 0 ) (z 0 ) = lim z z0 z z 0 19

considerând trasee orizontale de forma z = z 0 + t, cu t 0 în R. Obţinem f u(x 0 + t, y 0 ) u(x 0, y 0 ) v(x 0 + t, y 0 ) v(x 0, y 0 ) (z 0 ) = lim + i lim t 0 t t 0 t = u x (x 0, y 0 ) + i v x (x 0, y 0 ). Considerăm acum trasee verticale de forma z = z 0 + i t şi găsim f u(x 0, y 0 + t) u(x 0, y 0 ) v(x 0, y 0 + t) v(x 0, y 0 ) (z 0 ) = lim + i lim t 0 i t t 0 i t = v y (x 0, y 0 ) i u y (x 0, y 0 ). 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 = v. y x 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 pentru derivabilitatea lui f. Să le verificăm pentru f(z) = z 3. Avem x (x3 3xy 2 ) = 3x 2 3y 2 = y (3x2 y y 3 ) şi y (x3 3xy 2 ) = 6xy = x (3x2 y y 3 ), deci f este derivabilă. In adevăr, f z 3 z0 3 (z 0 ) = lim z z0 z z 0 de unde urmează că = lim z z0 (z 2 + zz 0 + z 2 0) = 3z 2 0, (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 v ) = u v uv şi v 2 (u(v)) = u (v)v, 20

cât şi definiţiile prin serii de puteri ale funcţiilor elementare: şi e z = 1 + z 1! + z2 2! + z3 3! +..., z C, sin z = z z3 3! + z5 5! z7 7! +..., z C cos z = 1 z2 2! + z4 4! z6 6! +..., z C, de exemplu. Pe baza celor de mai sus se poate arăta, printre altele, că (e z ) = e z şi chiar că e z 1+z 2 = e z 1 e z 2, pentru orice z 1 şi z 2 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 R 4. 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 z 0 atunci are loc aproximarea f(z) f(z 0 ) + f (z 0 )(z z 0 ) pentru z z 0, care arată că local, în vecinătatea lui z 0, deformarea produsă de f este o rotaţie de unghi arg f (z 0 ) în jurul lui z 0, compusă cu o omotetie de centru z 0 şi raport f (z 0 ), urmată de o translaţie care îl duce pe z 0 în f(z 0 ). 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 e iθ = cos θ + i sin θ, pentru orice θ R, care se obţine imediat prin calcul cu serii de puteri e iθ = 1 + iθ 1! + i2 θ 2 + i3 θ 3 +... 2! 3! 22

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