Calcul matriceal elementar
|
|
- Αοιδή Λαγός
- 6 χρόνια πριν
- Προβολές:
Transcript
1 Seminar 1 Calcul matriceal elementar Acest seminar este prima prezentare a calculului matriceal. Calculele matriceale elementare nu sunt prezente în curs dar sunt intens utilizate. Fără o înţelegere profundă a acestor noţiuni introductive veţi avea mari probleme la examinare şi nu veţi înţelege calculul ştiintific modern. 1.1 Preliminarii Notaţii pentru scalari, vectori şi matrice Structurile de date folosite la cursul de metode numerice şi, în special, în cazul calculului matriceal sunt matrici de numere reale sau complexe. O matrice este o structură de date bidimensională (dreptunghiulară) în nodurile căreia se află numere reale sau complexe. Un vector este o structură de date unidimensională (linie sau coloană) în nodurile căreia se află numere reale sau complexe. Numerele reale sau complexe se numesc scalari reali, respectiv complecşi. Un scalar complex este o pereche ordonată de scalari reali. Astfel, calculul cu matrice cu elemente complexe se poate reduce la calcul matriceal cu matrice cu elemente reale. Ca urmare, în continuare ne vom referi numai la scalari, vectori şi matrice reale. Mulţimea numerelor reale va fi notată cu IR, mulţimea vectorilor cu n elemente va fi notată cu IR n iar IR m n este mulţimea matricelor cu elemente reale cu m linii şi n coloane. Vom considera un vector ca fiind implicit de tipul coloană. Un vector linie va fi văzut ca un vector (coloană) transpus. O matrice de tipul 1 1 este un scalar, o matrice de tipul 1 n este un vector (linie) şi o matrice te tipul m 1 este un vector (coloană). Pentru comoditate vom folosi conceptul de matrice vidă, care este o matrice fără elemente, notată [ ]. Vom considera întotdeauna că numerele reale sunt reprezentate în memoria calculatorului într-un format specific, numit format virgulă mobilă (FVM) şi că toate operaţiile aritmetice de bază (cum ar fi adunarea, scăderea, îmmulţirea, împărţirea, extragerea radicalului etc.) pentru numerele în virgulă mobilă sunt implementate în calculator. Pe parcursul cursului se va utiliza un set de notaţii pe care vă sfătuim să îl folosiţi şi voi. Fiecare scalar, vector sau matrice va fi notat cu un simbol care va fi interpretat ca un 1
2 2 SEMINAR 1. CALCUL MATRICEAL ELEMENTAR nume de identificare. Pentru fiecare scalar, vector sau matrice reală se alocă în memoria calculatorului o structură de date în virgulă mobilă. Notaţiile standard sunt: Litere greceşti mici: α, β,..., ω pentru scalari (izolaţi); Litere latine mici: a, b, c,..., x, y, z pentru vectori (coloane); Litere latine mari: A, B, C,..., X, Y, Z pentru matrice. Fie A IR m n o matrice şi b IR m un vector. Elementul aflat pe linia i şi coloana j a matricei A va fi notat cu A(i, j) sau a ij. Elementul i al vectorului b va fi notat cu b(i) sau b i. Vom folosi intens notaţia MATLAB : pentru a crea un vector linie. Expresia a = β : σ : γ crează un vector linie a cu primul element β, al doilea element β +σ, al treilea element β +2σ s.a.m.d., însă ultimul element nu poate fi mai mare decât γ. Valoarea implicită pentru pasul σ este σ = 1. Aşadar, dacă n = 5, atunci i = 1 : n crează vectorul linie i = [ ] dar j = n : 1 crează un vector vid; vectorul k = n : 1 : 1 este [ ]. Pentru a crea o matrice cu elementele unei alte matrice putem indica elementele matricei noi cu coordonatele matricei vechi. Spre exemplu, fie r = [ r1 r2... ] si c = [ c 1 c 2... ] coordonatele liniilor, respectiv, ale coloanelor matricei vechi. Atunci expresia crează matricea B = B = A(r, c) A(r 1, c 1 ) A(r 1, c 2 ) A(r 2, c 1 ) A(r 2, c 2 ) Utilizând notaţia : putem crea o mare varietate de matrice cu elementele unei matrice date. Spre exemplu, fie A IR m n o matrice data şi k min(m, n). Atunci B = A(1 : k, 1 : k) este colţul din stanga sus de ordin k al lui A, numit submatrice lider principală a lui A; R = A(i, 1 : n) este linia i a luia; C = A(1 : m, j) este coloana j a lui A. În acest context, notaţia : fără parametri înseamnă toate. Astfel, linia i şi, respectiv, coloana j a lui A pot fi extrase prin R = A(i, :), respectiv C = A(:, j) Matrice structurate Matricele folosite în calculul matriceal pot avea multe elemente nule. Numărul şi poziţia lor fac să existe mai multe tipuri de matrice pe care le definim în cele ce urmează. În primul rând, o matrice care are un număr mare (să zicem, mai mare de 90%) de elemente nule se numeşte matrice rară. O matrice care nu este rară se numeşte densă.
3 1.1. PRELIMINARII 3 În cazul calculului matriceal cu matrice rare, calculatorul foloseşte metode speciale pentru memorare şi procesare (de exemplu, sunt memorate doar elementele nenule împreună cu coordonatele lor). În continuare ne vom referi numai la calcul matriceal cu matrice dense. Astfel, toate matricele folosite (chiar şi matricea zero) vor fi văzute ca matrice dense. Matricele dense pot avea un număr semnificativ de elemente nule. Matricele în care elementele nule sunt poziţionate într-o formă regulată vor fi numite matrice (dense) structurate. Matricele structurate joacă un rol important în calculul matriceal. Cele mai importante matrice structurate sunt definite mai jos. 1. Matrice triunghiulare. O matrice L IR m n se numeşte inferior triunghiulară dacă L(i, j) = 0, oricare ar fi i < j iar L se numeşte inferior triunghiulară unitate dacă în plus L(i, i) = 1 oricare ar fi i 1 : min(m, n). O matrice U IR m n se numeşte superior triunghiulară dacă U(i, j) = 0, oricare ar fi j < i iar U se numeşte superior triunghiulară unitate dacă în plus U(i, i) = 1 oricare ar fi i 1 : min(m, n). Remarcaţi că elementele nule ale unei matrice inferior triunghiulare cu m > n şi elementele nule ale unei matrice superior triunghiulare cu m < n formează o structură trapezoidală. 2. Matrice diagonale. O matrice D IR m n se numeşte diagonală dacă D(i, j) = 0, oricare ar fi i j, adică este în acelaşi timp şi inferior triunghiulară şi superior triuunghiulară. 3. Matrice Hessenberg. O matrice patratică G IR n n se numeşte inferior Hessenberg dacă G(i, j) = 0, oricare ar fi j > i + 1. O matrice patratică H IR n n se numeşte superior Hessenberg dacă H(i, j) = 0, oricare ar fi i > j Matrice tridiagonale. O matrice patratică T IR n n se numeşte tridiagonală dacă T (i, j) = 0, oricare ar fi i, j care satisfac i j > 1, adică este în acelaşi timp superior şi inferior Hessenberg. 5. Matrice bandă. O matrice B IR m n se numeşte matrice bandă de laţime (p,q) dacă B(i, j) = 0, oricare ar fi i < j + p şi j < i + q. O matrice tridiagonală este o matrice bandă cu p = q = 1. Observaţie: Deşi limbajele de programare de nivel înalt nu permit astfel de structuri de date cum sunt matricele triunghiulare, putem să evităm memorarea elementelor nule şi să obţinem o memorare economică folosind o singură matrice patratică pentru memorarea unei matrice inferior triunghiulare şi a uneia superior tringhiulare. Astfel de strategii de stocare vor fi folosite spre exemplu de algoritmii de factorizare LU şi QR. Unele matrice pot să nu aibă (multe) elemente nule dar să necesite o procesare specială. Câteva din aceste matrice sunt: 1. Matrice simetrice. O matrice patratică S IR n n se numeşte simetrică dacă S(i, j) = S(j, i), oricare ar fi i, j. In mod normal, o matrice simetrică este stocată numai prin partea sa inferior sau superior triunghiulară. 2. Matrice pozitiv definite. O matrice patratică simetrică P IR n n se numeşte pozitiv definită dacă toţi scalarii x T P x, unde x IR n este un vector (coloană) nenul arbitrar ales, sunt strict pozitivi. Dacă x T P x 0, x IR n, atunci P se numeşte pozitiv semi-definită. O matrice pozitiv definită are toţi elementii de pe diagonală
4 4 SEMINAR 1. CALCUL MATRICEAL ELEMENTAR pozitivi (demonstraţi) dar elementele care nu se află pe diagonală nu sunt obligatoriu pozitive. O matrice simetrică N IR n n se numeşte negativ (semi)-definită dacă N este pozitiv (semi)-definită. 3. Matrice ortogonale. Doi vectori (coloană) x, y IR n se numesc ortogonali dacă y T x = 0 şi ortonormaţi dacă, în plus, x 2 = y 2 = 1. O matrice patratică Q IR n n se numeşte ortogonală dacă toate coloanele ei formează perechi ortonormate, adică Q T Q = I n, unde I n este matricea unitate. Matricele ortogonale joacă un rol decisiv în rezolvarea problemei liniare a celor mai mici pătrate Probleme de calcul numeric, algoritmi secvenţiali şi performanţele lor Metodele numerice au rolul să rezolve probleme matematice care folosesc date numerice. O problemă matematică cu date iniţiale numerice şi cu un rezultat numeric trebuie să aibă o soluţie unică. În general, există multe metode de rezolvare a unei probleme de calcul numeric dată. O expunere detaliată a unei metode numerice se numeşte algoritm. Aşadar, un algoritm este o listă de operaţii aritmetice şi logice care duc datele numerice iniţiale la soluţia numerică finală. Aceste rezultate finale sunt interpretate ca soluţia calculată a unei probleme date. Când algoritmul este făcut pentru a fi executat pe un calculator cu un singur procesor, adică există o ordine strictă a execuţiei instrucţiunilor (două instrucţiuni nu pot fi executate în acelaşi timp!) atunci algoritmul se numeşte secvenţial. Altfel algoritmul se numeşte paralel. Principalele performanţe ale algoritmilor sevenţiali sunt stabilitatea şi eficienţa. Stabilitatea este un obiectiv esenţial însă foarte greu de măsurat şi de asigurat. Vezi cursul pentru mai multe detalii. Eficienţa algoritmilor secvenţiali poate fi măsurată de doi parametri: numărul de operaţii în virgulă mobilă N (flops) şi volumul de memorie necesar M (exprimat prin numărul de locaţii FVM). Numărul N determină timpul de execuţie al algoritmului. Toţi algoritmii pe care îi vom studia vor avea o complexitate polinomială, astfel N şi M sunt polinoame de dimensiunea problemei, exprimate în funcţie de numărul iniţial şi cel final de date, spre exemplu în funcţie de ordinul n al matricelor folosite. Dacă N = α 1 n p + α 2 n p α p n + α p+1, M = β 1 n q + β 2 n q β q n + β q+1 ne vor interesa numai evaluările asimptotice Ñ α 1 n p, M β1 n q Ñ (evident lim n N = lim M n M = 1). Pentru a îmbunătăţi eficienţa algoritmilor sunt utile următoarele recomandări: nu executaţi operaţii cu rezultatul cunoscut, de exemplu evitaţi adunări şi scăderi cu zero, înmulţiri cu 1 sau 0, împarţiri la 1 etc; nu repetaţi aceleaşi calcule; în cazul în care calculatorul funcţionează corect veţi obtine acelaşi rezultat; evitaţi execuţia operaţiilor inutile;
5 1.2. CONVENŢII PENTRU PSEUDO-COD 5 evitaţi memorarea informaţiilor care nu trebuiesc neapărat memorate; de exemplu nu memoraţi niciodată matricea zero sau matricea unitate: le puteţi folosi fară să le aveţi în memoria calculatorului; nu memoraţi aceeaşi informaţie de mai multe ori; folosiţi metode eficiente de memorare a matricelor structurate, de exemplu matricele diagonale pot fi memorate numai prin memorarea elementelor diagonale etc; folosiţi suprascrierea; ex: dacă vreţi să calculaţi vectorul z = αx + y şi nu mai aveţi nevoie de x sau y pentru calculele următoare atunci calculaţi x αx + y sau y αx + y. Observaţie. Nu neglijaţi recomandările de mai sus. B.Francis şi N.Koublanovskaia au devenit celebri descoperind cum să evite calculele excesive dintr-un algoritm. Şi tu poti deveni un cercetător cunoscut reducând valoarea parametrilor p şi/sau q în cazul problemelor numerice standard. Nu se cunoaşte încă valoarea minimă a parametrului p pentru o problemă simplă cum este înmulţirea matricelor! 1.2 Convenţii pentru pseudo-cod Vom adopta câteva convenţii pentru scrierea algoritmilor. Aceste convenţii ne vor permite să scriem algoritmii de calcul într-o formă concisă, clară, uşor de înţeles şi de implementat într-un limbaj de programare de nivel înalt. Instrucţiunile de bază ale pseudo-cod-ului sunt prezentate mai jos. Ele pot fi completate cu orice altă instrucţiune neambiguă şi uşor de înţeles Instrucţiuni de atribuire Formele generale ale unei instrucţiuni de atribuire sunt: v = expresie sau v expresie unde v este numele unei variabile şi expresie este orice expresie aritmetică sau logică validă. O expresie aritmetică este validă dacă: toate variabilele folosite au o valoare validă (adică au fost iniţializate sau calculate anterior); toate operaţiile sunt bine definite şi expresia are o valoare bine definită; astfel nu sunt permise: împărţirea la zero, operaţiile nedeterminate cum ar fi 0, 0/0, / etc. O expresie logică este validă dacă: toate variabilele logice folosite au o valoare logică validă ( adevărat sau fals ); sunt folosiţi numai operatori logici binecunoscuţi: ŞI, SAU, NU, NICI etc.
6 6 SEMINAR 1. CALCUL MATRICEAL ELEMENTAR expresia ia o valoare logică clară ( adevarat sau fals ). Execuţia unei instrucţiuni de atribuire implică: evaluarea expresiei; memorarea valorii expresiei în memoria calculatorului într-o zonă identificată cu numele variabilei v; vechea valoare a lui v se pierde. Uneori vom folosim o formă specială u v pentru interschimbarea valorilor dintre variabilele u şi v. Această instrucţiune este echivalentă cu următoarele trei instrucţiuni de atribuire 1. aux = u 2. u = v 3. v = aux, unde aux este o variabila auxiliară Instrucţiunea Dacă Utilizarea condiţionată a unui set de instrucţiuni poate fi realizată folosind instrucţiunea dacă a cărei sintaxă este: 1. dacă expresie logică 1. instrucţiuni 1 altfel 1. instrucţiuni 2 Execuţia instrucţiunii dacă implică 1. evaluarea expresie logică; rezultatul are valoareă logică ADEVĂRAT sau FALS; 2. dacă rezultatul are valoarea logică instrucţiuni (instrucţiuni 1); ADEVĂRAT atunci se execută primul grup de 3. dacă rezultatul are valoarea logică FALS atunci se execută al doilea grup de instrucţiuni (instrucţiuni 2). Partea altfel a unei instrucţiuni dacă poate lipsi. Expresia logică poate fi scrisă explicit, dar trebuie să aibă o valoare logică clară la momentul execuţiei. Spre exemplu 1. dacă este duminică 1. stai acasă altfel 1. mergi la scoală. are sens numai dacă cel care execută algoritmul ştie în ce zi a săptămânii se află. De asemenea, se recomandă să se evite situaţiile în care expresia logică este o constantă evidentă deoarece în acest caz instrucţiunea dacă nu mai este necesară. De exemplu
7 1.2. CONVENŢII PENTRU PSEUDO-COD 7 1. dacă 1 > 2 1. a = 3.14 altfel 1. a = 2.73 se poate înlocui imediat cu a = Cicluri Când avem un grup de instrucţiuni care trebuie executate în mod repetat avem la dispoziţie două tipuri de instrucţiuni ciclice. a) instrucţiunea pentru are următoarea sintaxă: 1. pentru k = expresie 1. instrucţiuni Execuţia unei instrucţiuni pentru implică 1. evaluarea expresiei; rezultatul trebuie să fie un vector linie; 2. se atribuie variabilei k primul element al vectorului linie calculat şi se execută instrucţiunile din corpul ciclului; 3. se atribuie variabilei k cel de-al doilea element al vectorului linie calculat şi se execută instrucţiunile; 4. şi asa mai departe până la atribuirea lui k a ultimului element al vectorului linie. Obsevaţie: Valoarea curentă a lui k poate fi folosită în instrucţiuni dar nu recomandăm modificarea acesteia. În MATLAB rezultatul evaluării expreseiei poate fi o matrice în care caz lui k i se atribuie succesiv, în ordinea naturală, câte o coloană a matricei şi pentru fiecare atribuire se execută instrucţiunile din corpul ciclului. Exemplu: fiind dat un scalar real α şi un număr natural n 1 următorul ciclu calculează β = α 2n. 1. β = α 2. pentru k = 1 : n 1. β = β β b) instrucţiunea cât timp are următoarea sintaxă: 1. cât timp expresie logica 1. instrucţiuni Execuţia unei instrucţiuni cât timp implică: 1. evaluarea expresie logică; rezultatul trebuie să fie ADEVĂRAT sau FALS; 2. dacă rezultatul este ADEVARAT se execută instrucţiunile; altfel ciclul cât timp este terminat; 3. mergi la 1.
8 8 SEMINAR 1. CALCUL MATRICEAL ELEMENTAR Observaţie: Dacă rezultatul primei evaluări este FALS instrucţiunile din corpul ciclului nu sunt executate niciodată. Dacă rezultatul primei evaluări este adevărat şi valoarea expresiei logice nu se schimbă pe parcursul executării instrucţiunilor, atunci ciclul cât timp nu se termină niciodată; avem un ciclu infinit. Dacă nu aveţi nevoie de un ciclu infinit aveţi grijă să schimbaţi valoarea expresiei pe parcursul executării instrucţiunilor. Exemplu: fiind dat un scalar real α şi un număr natural n 1 următorul ciclu calculează β = α 2n. 1. β = α 2. k = 1 3. cât timp k n 1. β = β β 2. k = k Structura algoritmilor Orice algoritm va avea două părţi: 1. prima parte conţine informaţii privitoare la problema rezolvată şi metoda folosită pentru rezolvarea ei: datele de intrare (iniţiale); datele calculate (rezultate); metoda folosită; Opţional, prima parte poate conţine numele autorului data elaborării algoritmului versiunea etc. 2. a doua parte este o listă de instrucţiuni numerotate scrise în pseudo-cod care arată cum sunt folosite datele iniţiale pentru a ajunge la rezultatul final. 1.3 BLAS Cele mai importante operaţii cu matrice tratate în acest seminar sunt implementate într-un pachet software numit Basic Linear Algebra Soubrutines (BLAS). Există versiuni speciale a BLAS concepute pentru calculatoare cu organizare ierarhică a memoriei care sunt optimizate pentru a exploata toate atributele calculatorului ţintă. BLAS este organizat pe trei nivele. Lista subnivelelor BLAS este dată în Anexă.
9 1.3. BLAS Nivelul 1. Operaţii de bază cu vectori Nivelul 1 conţine operaţii de complexitate O(n). Câteva dintre acestea sunt: 1. SAXPY (acronim pentru Scalar Alpha X Plus Y) y αx + y unde x şi y sunt vectori daţi de dimensiune n (coloană sau linie) şi α este un scalar dat. Evident dacă y are iniţial toate elementele nule, atunci SAXPY calculează y = αx. (Atenţie: dacă vreţi să calculaţi y = αx folosind SAXPY, nu uitaţi să iniţializaţi y cu 0). 2. DOT calculează produsul scalar a doi vectori (coloană) x, y IR n care este, prin definiţie, n α = y T x = x i y i 3. Norme vectoriale. Ne mărginim să prezentăm aici norma vectorială euclidiană în IR n definită de ν = x T x = n x 2 i Nivelul 2. Operaţii de bază matrice-vector Nivelul 2 al BLAS conţine operaţii de complexitate O(n 2 ). Câteva dintre acestea sunt: i=1 i=1 1. GAXPY (acronim pentru General A X Plus Y) y Ax + y unde x şi y sunt vectori (coloană) de dimensiune n şi A este o matrice n n dată. Evident, dacă iniţial toate elementele lui y sunt nule, atunci GAXPY calculează produsul matricevector y = Ax. (Atenţie: dacă vreţi să calculaţi y = Ax folosind GAXPY, nu uitaţi să iniţializaţi y cu zero). În acest context vom folosi şi operaţia cu vectori linie yt x T A+y T. 2. OUT produsul extern a doi vectori (coloană) x, y IR n este definit ca o matrice n n A = xy T, i.e. A(i, j) = x i y j, i, j = 1 : n Nivelul 2 conţine totodată algoritmi de rezolvare a sistemelor triunghiulare liniare (vezi seminarul 2) Nivelul 3. Operaţii de bază matrice-matrice Nivelul 3 al BLAS conţine operaţii de complexitate O(n 3 ). acestea sunt: Cele mai importante dintre 1. Înmulţirea matricelor: fiind daţi scalarii reali α şi β şi matricele reale A IR m n, B IR n p, C IR m p, procedura de înmulţire a matricelor BLAS calculează C α A B + β C.
10 10 SEMINAR 1. CALCUL MATRICEAL ELEMENTAR Luând α = β = 1 şi matricea iniţiala C zero, procedura de mai sus calculează produsul C = A B. BLAS acoperă toate cazurile particulare ale înmulţirii matrice-matrice. Pentru cazul în care măcar una dintre matrice este simetrică există o procedură specială. De asemenea, există proceduri speciale pentru cazul în care matricele implicate sunt triunghiulare. 2. Actualizarea de rang k a unei matrice simetrice: fiind daţi scalarii reali α şi β, o matrice simetrică C IR m n şi o matrice AIR n k, se calculeaza matricea C α A A T + β C. Dacă k < n şi A are coloanele liniar independente, atunci rangaa T = k. Acest lucru dă numele procedurii. 3. Actualizarea de rang 2k a unei matrici simetrice: fiind daţi scalari reali α şi β, o matrice simetrică C IR m n şi două matrice n k A şi B, procedura calculează: C α A B T + α B A T + β C. Nivelul 3 conţine şi algoritmi de rezolvare a sistemelor liniare triunghiulare cu membrul drept multiplu (vezi seminar 2) care au o complexitate O(n 3 ). 1.4 Probleme rezolvate Vom începe cu probleme simple, cum sunt cele rezolvate de BLAS, dar care sunt des întâlnite în probleme mai complexe. Programele MATLAB de implementare a algoritmilor elaboraţi sunt prezentate în Anexa B. Problema 1. Fiind date numerele reale α 1, α 2,..., α n, scrieţi un algoritm care să calculeze suma lor σ = n i=1 α i şi un alt algoritm care să calculeze produsul lor π = n i=1 α i. Soluţie. Amintiţi-vă că o sumă este întotdeauna iniţializată cu 0 şi un produs cu 1. Algoritmi posibili pentru a calcula σ şi π sunt: Algoritmul 1.1 (Date α i, i = 1 : n, algoritmul calculează σ = n i=1 α i) 1. σ = 0 2. pentru i = 1 : n 1. σ = σ + α i Algoritmul 1.2 (Date α i, i = 1 : n, algoritmul calculeaza σ = n i=1 α i) 1. σ = 0 2. pentru i = n : 1 : 1 1. σ = σ + α i Observaţi că cei doi algoritmi pentru calcularea sumei sunt diferiţi. Datorită erorilor de rotunjire, care apar la efectuarea fiecărei adunări, rezultatele executării celor doi algoritmi pot fi diferite. Adunarea în virgulă mobilă nu este o operaţie asociativă. Este foarte greu de găsit ordinea optimă de însumare astfel încât eroarea să fie minimă. Algoritmul 1.3 (Date α i, i = 1 : n, algoritmul calculează π = n i=1 α i)
11 1.4. PROBLEME REZOLVATE π = 1 2. pentru i = 1 : n 1. π = π α i Evident, observaţiile de mai sus rămân valabile. Problema 2. Fiind dată o matrice superior triunghiulară U IR n n, scrieţi un algoritm eficient care să calculeze 1. urma matricei U, i.e. τ = tr U; 2. determinantul δ = det U 3. normele Frobenius, 1 şi infinit ale matricei U definite în felul următor: n n ν F = (normafrobenius), i=1 j=1 u 2 ij şi ν 1 = max ν = max j 1:n i=1 i 1:n j=1 n u ij (norma1) n u ij (norma ). Soluţie. Prin definiţie τ = n i=1 U(i, i). De asemenea, este uşor de demonstrat că δ = n i=1 U(i, i). Astfel puteţi folosi algoritmii de calcul a sumei, respectiv a produsului a n numere reale de la problemele precedente. Pentru a putea calcula eficient norma matricei vom exploata structura superior triunghiulară a matricei U evitând efectuarea unor operaţii inutile. Astfel avem n n j n ν F = u 2 ij, ν 1 = max u ij, ν = max u ij. i 1:n i=1 j=i Prin urmare, algoritmul este: Algoritmul ν 1 = 0 2. pentru j = 1 : n 1. σ = 0 2. pentru i = 1 : j 1. σ = σ + u ij 3. dacă ν 1 < σ 1. ν 1 = σ 3. ν = 0 4. pentru i = 1 : n 1. σ = 0 j 1:n i=1 j=i
12 12 SEMINAR 1. CALCUL MATRICEAL ELEMENTAR 1. pentru j = i : n 2. σ = σ + u ij 2. dacă ν < σ 1. ν = σ 5. ν F = 0 6. pentru i = 1 : n 1. pentru j = i : n 1. ν F = ν F + u 2 ij 7. ν F = ν F Problema 3. a) Fie doi vectori necoliniari daţi b 1, b 2 IR n. Calculaţi un vector q IR n aflat în subspaţiul generat de b 1 şi b 2, ortogonal la b 1. b) Fie p vectori liniar independenţi b j IR n, j = 1 : p. Calculaţi un set de p vectori q j, j = 1 : p din subspaţiul generat de vectorii b j, ortogonali doi câte doi, i.e. astfel încât q T i q j = 0, i j, q j IR n, j = 1 : p. Soluţie. a) Orice vector din subspaţiul generat de vectorii b 1 şi b 2 este o combinaţie liniară a acestor doi vectori. Fie q o astfel de combinaţie liniară a lui b 1 şi b 2, i.e. q = αb 1 +b 2. Pentru a determina α avem condiţia de ortogonalitate b T 1 q = αb T 1 b 1 + b T 1 b 2 = 0. Vectorul b 1 fiind nenul, rezultă α = bt 1 b 2 b T 1 b. Algoritmul este: 1 1. α = 0 2. β = 0 3. pentru i = 1 : n 1. α = α + b 1 (i) b 2 (i) 2. β = β + b 1 (i) b 1 (i) 4. α = α/β 5. pentru i = 1 : n 1. q(i) = α b 1 (i) + b 2 (i) b) Binecunoscuta procedură de ortogonalizare Gram-Schmidt utilizează şi generalizează rezultatul de la punctul a); vectorii ortogonali q j generează acelaşi subspaţiu al lui IR n ca şi setul de vectori b j. Ideea algoritmului Gram-Schmidt constă în a impune q 1 = b 1 şi a exprima un vector q j+1 ca o combinaţie liniară a vectorilor q k deja calculaţi şi b j+1, conform schemei de calcul la nivel vectorial: 1. q 1 = b 1 2. pentru j = 1 : p 1 1. q j+1 = j i=1 α ijq i + b j+1 unde scalarii α ij, i = 1 : j trebuie să asigure ortogonalitatea vectorului q j+1 la q k, k = 1 : j. La fel ca mai sus, α 11 = bt 1 b 2 b T 1 b. Mai general, având în vedere că qk T q j+1 = j i=1 α ijqk T q i + 1 qk T b j+1 = 0 şi că qk T q i = 0 pentru k i avem α ij = qt i b j+1 qi T q, i = 1 : j i Astfel algoritmul Gram-Schmidt detaliat este:
13 1.4. PROBLEME REZOLVATE 13 Algoritmul 1.5 (Gram-Schmidt) Fiind daţi vectorii liniar independenţi b j, j = 1 : p, algoritmul calculează un set de p vectori ortogonali q j, j = 1 : p care formează o bază ortogonală a subspaţiului generat de vectorii b j, j = 1 : p. 1. pentru k = 1 : n 1. q 1 (k) = b 1 (k) 2. pentru j = 1 : p 1 1. β j = 0 2. pentru k = 1 : n 1. β j = β j + q j (k) q j (k) 2. q j+1 (k) = b j+1 (k) 3. pentru i = 1 : j 1. α ij = 0 2. pentru k = 1 : n 1. α ij = α ij + q i (k) b j+1 (k) 3. α ij = α ij /β i 4. pentru k = 1 : n 1. q j+1 (k) = q j+1 (k) + α ij q i (k) Observaţi că algoritmul Gram-Schmidt conţine multe operaţii vector-vector cum sunt produsele SAXPY şi DOT, implementate profesional la nivelul 1 BLAS. La curs vom prezenta un algortitm mai bun pentru rezovarea aceleiaşi probleme. Problema 4. Fie o matrice A IR m n, un vector b IR n şi un vector c IR m, toate date. Scrieţi un algoritm eficient care să calculeze c c + A b. (Daca iniţial c = 0, atunci aceasta este o problemă de înmultire matrice-vector c = A b). Soluţie. Vom da doi algoritmi: primul bazat pe algoritmul DOT de calcul al produsului scalar a doi vectori (un algortim orientat pe linii) şi un al doilea bazat pe SAXPY (un algoritm orientat pe coloane). Pentru primul algoritm vom partiţiona matricea A pe linii şi vom folosi formula n c(i) c(i) + A(i, :) b = c(i) + a ij b j, i = 1 : m. j=1 Algoritmul, numit versiunea (i, j) a lui GAXPY, este: Algoritmul 1.6 GAXPY pe linii: Fiind dată o matrice A IR m n şi vectorii b IR n şi c IR m, algoritmul calculează c c + A b 1. pentru i = 1 : m 1. pentru j = 1 : n 1. c i = c i + a ij b j Pentru al doilea algoritm vom partiţiona matricea A pe coloane şi vom folosi formula n c c + A :,j b j. j=1 Algoritmul, numit versiunea (j, i) a lui GAXPY, este:
14 14 SEMINAR 1. CALCUL MATRICEAL ELEMENTAR Algoritmul 1.7 GAXPY pe coloane: Fiind dată o matrice A IR m n şi vectorii b IR n şi c IR m, algoritmul calculează c c + A b 1. pentru j = 1 : n 1. pentru i = 1 : m 1. c i = c i + a ij b j Complexitatea celor doi algoritmi este aceeaşi N op 2mn dar există diferenţe între ei: primul este recomandat când matrica A este memorată pe linii şi al doilea când matricea A este memorată pe coloane. Problema 5. Fie trei matrice A IR m n, B IR n p şi C IR m p date, scrieţi un algoritm eficient care să calculeze C C + A B. (Dacă iniţial C = 0, atunci aceasta este o problemă de înmulţire matrice-matrice C = A B). Soluţia. Soluţia standard se bazează pe formula binecunoscută c ij c ij + n a ik b kj, i = 1 : m, j = 1 : p. k=1 Având trei indici (i, j, k) putem scrie 3! = 6 algoritmi esenţial diferiţi. Complexitatea acestor algoritmi este aceeaşi N op 2mnp. Prezentăm trei dintre aceştia cu scurte comentarii. a) Versiunea (i, j, k) se bazează pe partiţionarea lui A pe linii şi a lui B pe coloane. Ultimul ciclu intern calculează un produs DOT şi ultimele două cicluri calculează o operaţie GAXPY-linie, i.e. C(i, j) C(i, j) + A(i, :) B(:, j) respectiv C(i, :) C(i, :) + A(i, :) B. Algoritmul 1.8 Versiunea (i, j, k) a înmulţirii matrice-matrice. Date A IR m n, B IR n p şi C IR m p algoritmul calculează C C + A B. 1. pentru i = 1 : m 1. pentru j = 1 : p 1. pentru k = 1 : n 1. c ij = c ij + a ik b kj b) Versiunea (j, k, i) se bazează pe partiţionarea lui A şi a lui B pe coloane. Ultimul ciclu intern calculează o SAXPY-coloană şi ultimele două cicluri calculează o GAXPY-coloană, i.e. C(:, j) C(:, j) + A(:, k) B(k, j), respectiv C(:, j) C(:, j) + A B(:, j). Algoritmul 1.9 Versiunea (j, k, i) a înmulţirii matrice-matrice. 1. pentru j = 1 : p 1. pentru k = 1 : n 1. pentru i = 1 : m 1. c ij = c ij + a ik b kj c) Versiunea (k, i, j) se bazează pe partiţionarea lui A pe coloane şi a lui B pe linii. Ultimul ciclu calculează un produs SAXPY-linie şi ultimele două cicluri calculează produsul OUT a doi vectori, concret C(i, :) C(i, :)+A(i, k) B(k, :), respectiv C C+A(:, k) B(k, : ).
15 1.4. PROBLEME REZOLVATE 15 Algoritmul 1.10 Versiunea (k, i, j) a înmulţirii matrice-matrice. 1. pentru k = 1 : m 1. pentru i = 1 : p 1. pentru j = 1 : n 1. c ij = c ij + a ik b kj Problema 6. Fie L IR n n o matrice inferior triunghiulară şi U IR n n o matrice superior triunghiulară, ambele date. Scrieţi un algoritm eficient care să calculeze A = L U. (Problema inversă: fiind dată A, calculaţi L şi U, este cunoscută ca problema factorizării LU şi va fi tratată la curs). Soluţia. Pentru a obţine un algoritm eficient trebuie să evităm calculele inutile cum sunt înmulţirile şi adunările cu zero. Astfel, avem A(i, j) = n L(i, k) U(k, j) = k=1 min(i,j) k=1 L(i, k) U(k, j), şi ca să evitam comparaţia dintre i şi j vom împarţi calculul în calcularea părţii inferior triunghiulare şi a celei superior triunghiulare a lui A. Algoritmul este: Algoritmul pentru i = 1 : n 1. pentru j = 1 : i 1. a ij = 0 2. pentru k = 1 : j 1. a ij = a ij + l ik u kj 2. pentru j = i + 1 : n 1. a ij = 0 2. pentru k = 1 : i 1. a ij = a ij + l ik u kj Numărul de operaţii necesare pentru algoritmul de mai sus este N op = n i ( 2j + i=1 j=1 n j=i+1 2i) 2 3 n3, de trei ori mai mic decât înmulţirea matrice-matrice standard. Problema 7. a. Fie matricele U, V IR n n date. Propuneţi un algoritm eficient pentru a calcula matricea: X = (I n + U(:, 1) V (1, :)) (I n + U(:, 2) V (2, :)) (I n + U(:, n) V (n, :)). b Scrieţi un algoritm eficient care să calculeze determinantul matricei X calculate la punctul a).
16 16 SEMINAR 1. CALCUL MATRICEAL ELEMENTAR Soluţia a) Scriem mai întâi un algoritm eficient pentru calcularea produsului X X (I n + uv T ), unde X este o matrice dată iar u, v IR n sunt vectori coloană daţi. Evident Y = X (I n + uv T ) = X + X u v T, astfel că Y (i, j) = X(i, j) + X(i, :) u v(j) = X(i, j) + σ v(j) unde scalarul σ = X(i, :) u = n k=1 X(i, k)u(k) depinde de i dar nu depinde de j. Avem astfel următorul algoritm eficient: Algoritmul Fiind dată matricea X IR n n şi vectorii coloană u, v IR n, acest algoritm calculează X X (I n + uv T ). 1. pentru i = 1 : n 1. σ = 0 2. pentru k = 1 : n 1. σ = σ + x ik u k 3. pentru j = 1 : n 1. x ij = x ij + σ v j Acum, introducând numele Xuv pentru procedura de mai sus şi apelând secvenţa de instrucţiuni de mai sus prin X = Xuv(X, u, v) putem rezolva problema folosind urmatoarea procedură: Algoritmul X = I n 2. pentru k = 1 : n 1. X = Xuv(X, U(:, k), V (k, :)) Observaţi că algoritmul 1.12 necesită O(n 2 ) operaţii, deci am rezolvat problema înmulţirii a n matrice cu o complexitate de numai O(n 3 ) flopi. b) Metoda eficientă de a calcula determinantul se bazează pe faptul că dacă u, v IR n sunt vectori coloană, atunci det(i n + uv T ) = 1 + v T u (demonstraţi, spre exemplu folosind inducţia matematică). Aşadar, şi algoritmul este det X = Algoritmul 1.14 n (1 + V (k, :) U(:, k)) = k=1 1. δ = 1 2. pentru k = 1 : n 1. ν = 1 2. pentru k = 1 : n 1. ν = ν + v ki u ik 3. δ = δ ν n (1 + k=1 n V (k, i) U(i, k)) i=1
17 1.5. PROBLEME PROPUSE Probleme propuse Problema 1.1 Fie două matrice A, B R mn n. Produsul scalar dintre A şi B este definit de σ =< A, B >= trace(b T A). Demonstraţi că σ = m n i=1 j=1 a ijb ij şi scrieţi un algoritm care să calculeze σ. Problema 1.2 Fie u, v R n doi vectori nenuli şi fie A = I n + uv T. Găsiţi un algoritm eficient care să calculeze norma Frobenius a lui A. Problema 1.3 Fie A, B, C IR n n trei matrice date şi d IR n un vector dat. Scrieţi un algoritm eficient care să calculeze vectorul x = A B C d. Problema 1.4 Fie A, B IR n n două matrice date. Scrieţi algoritmi eficienţi pentru calcularea A A B, şi a B A B folosind cât mai puţin spaţiu de memorie. Repetaţi problema când A şi B sunt amândouă inferior triunghiulare (superior triunghiulare). Problema 1.5 Se consideră date matricele: H IR n n superior Hessenberg, R R n n superior triunghiulara şi vectorul b IR n. a. Demonstraţi că matricele X = H R şi Y = R H sunt ambele superior Hessenberg. b. Scrieţi algoritmi eficienţi pentru calculul matricelor X si Y ; studiaţi posibilitatea de a suprascrie H cu X (cu Y ). c. Scrieţi algoritmi eficienţi pentru a calcula vectorii x = HRb şi y = RHb. Problema 1.6 Fie C IR n n, o matrice simetrică dată şi A R n p o matrice oarecare. Scrieţi un algoritm eficient care să calculeze actualizarea de rang p a lui C, adică C C + A A T. Demonstraţi că dacă iniţial C este zero, atunci matricea C calculată este simetrică şi pozitiv semi-definită. Problema 1.7 Fie C IR n n o matrice simetrică şi matricele A, B R n p. Scrieţi un algoritm eficient care să calculeze actualizarea de rang 2p a lui C, adică C C + A B T + B A T. Problema 1.8 Fie R n n o matrice inferior triunghiulară nesingulară. Scrieţi un algoritm eficient care să calculeze T = LL T şi demonstraţi că T este o matrice simetrică pozitivdefinită. 1.6 Bibliografie 1. B. Jora, B. Dumitrescu, C. Oară, Numerical Methods, UPB, Bucureşti, G.W. Stewart, Introduction to matrix computation, Academic Press, G. Golub, Ch. Van Loan, Matrix Computations, a treia editie, John Hopkins University Press, G.W. Stewart, Matrix Algorithms, vol.1: Basic Decompositions, SIAM, G.W. Stewart, Matrix Algorithms, vol.2: Eigensystems, SIAM, B. Dumitrescu, C. Popeea, B. Jora, Metode de calcul numeric matriceal. Algoritmi fundamentali, ALL, Bucureşti, 1998.
18 18 SEMINAR 1. CALCUL MATRICEAL ELEMENTAR 1.7 Anexa B 1: function [ sigma ] = suma1(alfa) 2: 3: % : % Algoritmul 1.1 5: % Functia calculeaza suma a n numere reale stocate in vectorul alfa 6: % numerele sunt insumate in ordine normala de la alfa(1) pana la alfa(n) 7: % Apelul: [ sigma ] = suma1(alfa) 8: % 9: % Buta Valentin, aprilie, : % : 12: n=length(alfa); 13: m=min(size(alfa)); 14: if m =1 15: error( Datele de intrare nu sunt corecte ) 16: end 17: sigma=0; 18: for i=1:n 19: sigma=sigma+alfa(i); 20: end 1: function [ sigma ] = suma2(alfa) 2: 3: % : % Algoritmul 1.2 5: % Functia calculeaza suma a n numere reale stocate in vectorul alfa 6: % numerele sunt insumate in ordine inversa de la alfa(n) pana la alfa(1) 7: % Apelul: [ sigma ] = suma2(alfa) 8: % 9: % Buta Valentin, aprilie, : % : 12: n=length(alfa); 13: m=min(size(alfa)); 14: if m =1 15: error( Datele de intrare nu sunt corecte ) 16: end 17: sigma=0; 18: for i=n:-1:1 19: sigma=sigma+alfa(i); 20: end 1: function [ p ] = produs(alfa) 2:
19 1.7. ANEXA B 19 3: % : % Algoritmul 1.3 5: % Functia calculeaza produsul a n numere reale stocate in vectorul alfa 6: % numerele sunt inmultite in ordine normala de la alfa(1) pana la alfa(n) 7: % Apelul: [ p ] = produs(alfa) 8: % 9: % Buta Valentin, aprilie, : % : 12: n=length(alfa); 13: m=min(size(alfa)); 14: if m =1 15: error( Datele de intrare nu sunt corecte ) 16: end 17: p=1; 18: for i=1:n 19: p=p*alfa(i); 20: end 1: function [ v1,vi,vf ]=norme(u) 2: % : % Algoritmul 1.4 4: % Functia calculeaza norma unu, norma infinit si norma Frobenius a unei 5: % matrice superior triunghiulara U. Norma unu este notata cu v1, norma 6: % infinit cu vi iar norma Frobenius cu vf. 7: % Apelul: [ v1,vi,vf ] = norme(u) 8: % 9: % Buta Valentin, aprilie, : % : [ n,m ]=size(u); 12: if n =m 13: error( Matricea nu este patratica! ); 14: end 15: for i=2:n-1 16: for j=1:i-1 17: if U(i,j) =0 18: error ( Matricea nu este superior triunghiulara ); 19: end 20: end 21: end 22: v1=0; 23: for j=1:n 24: sigma=0; 25: for i=1:j 26: sigma =sigma + abs(u(i,j)); 27: end 28: if v1<sigma 29: v1=sigma; 30: end 31: end
20 20 SEMINAR 1. CALCUL MATRICEAL ELEMENTAR 32: vi=0; 33: for i=1:n 34: sigma=0; 35: for j=i:n 36: sigma =sigma + abs(u(i,j)); 37: end 38: if vi < sigma 39: vi = sigma; 40: end 41: end 42: vf=0; 43: for i=1:n 44: for j=i:n 45: vf=vf + U(i,j)*U(i,j); 46: end 47: end 48: vf=sqrt(vf); 1: function [ Q ]=gramschmidt(b) 2: 3: % : % Algoritmul 1.5 5: % Functia calculeaza p vectori ortogonali care genereaza acelasi subspatiu 6: % ca p vectori liniar independenti dati. 7: % Vectorii dati sunt memorati in coloanele matricei B, iar vectorii 8: % calculati sunt memorati in coloanele matricei Q. 9: % Algoritmul este cunoscut sub numele de Algoritmul Gram-Schmidt 10: % Apelul: [ Q ]=gramschmidt(b) 11: % 12: % Buta Valentin, aprilie, : % : 15: [ n,p ]=size(b); 16: for k=1:n 17: Q(k,1)=B(k,1); 18: end 19: for j=1:p-1 20: beta(j)=0; 21: for k=1:n 22: beta(j)=beta(j)+q(k,j)*q(k,j); 23: Q(k,j+1)=B(k,j+1); 24: end 25: for i=1:j 26: alfa(i,j)=0; 27: for k=1:n 28: alfa(i,j)=alfa(i,j)+q(k,i)*b(k,j+1); 29: end 30: alfa(i,j)=-alfa(i,j)/beta(i); 31: for k=1:n 32: Q(k,j+1)=Q(k,j+1)+alfa(i,j)*Q(k,i);
21 1.7. ANEXA B 21 33: end 34: end 35: end 1: function [ c ]=GAXPY1(A,b,c) 2: 3: % : % Algoritmul 1.6 5: % Functia actualizeaza vectorul (coloana) c cu produsul unei matrice 6: % A cu un vector (coloana) b. Algoritmul este cunoscut sub numele de GAXPY 7: % pe linii. 8: % Apelul: [ c ]=GAXPY1(A,b) 9: % 10: % Buta Valentin, aprilie, : % : 13: [ m,n ]=size(a); 14: [ mb,nc ]=size(b); 15: if mb =1 16: error( b nu este vector coloana ); 17: end 18: if nc =n 19: error( A si b nu pot fi inmultite ); 20: end 21: [ mc,nc ]=size(c); 22: if mc =1 23: error( c nu este vector coloana ); 24: end 25: for i=1:m 26: for j=1:n 27: c(i)=c(i)+a(i,j)*b(j); 28: end 29: end 1: function [ c ]=GAXPY2(A,b,c) 2: 3: % : % Algoritmul 1.7 5: % Functia actualizeaza vectorul (coloana) c cu produsul unei matrice 6: % A cu un vector (coloana) b. Algoritmul este cunoscut sub numele de GAXPY 7: % pe coloane. 8: % Apelul: [ c ]=GAXPY2(A,b) 9: % 10: % Buta Valentin, aprilie, : % : 13: [ m,n ]=size(a); 14: [ mb,nc ]=size(b);
22 22 SEMINAR 1. CALCUL MATRICEAL ELEMENTAR 15: if mb =1 16: error( b nu este vector coloana ); 17: end 18: if nc =n 19: error( A si b nu pot fi inmultite ); 20: end 21: [ mc,nc ]=size(c); 22: if mc =1 23: error( c nu este vector coloana ); 24: end 25: for j=1:n 26: for i=1:m 27: c(i)=c(i)+a(i,j)*b(j); 28: end 29: end 30: end 1: function [ C ]=MxMijk(A,B) 2: 3: % : % Algoritmul 1.8 5: % Functia calculeaza matricea C definita ca produsul a doua 6: % matrice A si B. Algoritmul se bazeaza pe partitionarea lui A pe linii, 7: % si a lui B pe coloane. 8: % Apelul: [ C ]=MxMijk(A,B) 9: % 10: % Buta Valentin, aprilie, : % : 13: [ m,n ]=size(a); 14: [ x,p ]=size(b); 15: if n =x 16: error( Matricele nu pot fi inmultite! ) 17: end 18: for i=1:m 19: for j=1:p 20: C(i,j)=0; 21: end 22: end 23: for i=1:m 24: for j=1:p 25: for k=1:n 26: C(i,j)=C(i,j)+A(i,k)*B(k,j); 27: end 28: end 29: end 30: end
23 1.7. ANEXA B 23 1: function [ C ]=MxMjki(A,B) 2: 3: % : % Algoritmul 1.9 5: % Functia calculeaza matricea C definita ca produsul a doua 6: % matrice A si B. Algoritmul se bazeaza pe partitionarea lui A si B pe 7: % coloane. 8: % Apelul: [ C ]=MxMjki(A,B) 9: % 10: % Buta Valentin, aprilie, : % : 13: [ m,n ]=size(a); 14: [ x,p ]=size(b); 15: if n =x 16: error( Matricele nu pot fi inmultite! ) 17: end 18: for i=1:m 19: for j=1:p 20: C(i,j)=0; 21: end 22: end 23: for j=1:p 24: for k=1:n 25: for i=1:m 26: C(i,j)=C(i,j)+A(i,k)*B(k,j); 27: end 28: end 29: end 1: function [ C ]=MxMkij(A,B) 2: 3: % : % Algoritmul : % Functia calculeaza matricea C definita ca produsul a doua 6: % matrice A si B. Algoritmul se bazeaza pe partitionarea lui A pe coloane 7: % si a lui B pe linii. 8: % Apelul: [ C ]=MxMkij(A,B) 9: % 10: % Buta Valentin, aprilie, : % : 13: [ m,n ]=size(a); 14: [ x,p ]=size(b); 15: if n =x 16: error( Matricele nu pot fi inmultite! ) 17: end 18: for i=1:m 19: for j=1:p 20: C(i,j)=0;
24 24 SEMINAR 1. CALCUL MATRICEAL ELEMENTAR 21: end 22: end 23: for k=1:n 24: for i=1:m 25: for j=1:p 26: C(i,j)=C(i,j)+A(i,k)*B(k,j); 27: end 28: end 29: end 1: function [ A ]=inmultire LU(L,U) 2: 3: % : % Algoritmul : % Functia calculeaza eficient produsul a doua matrice patratice L si U, 6: % prima fiind inferior triunghiulara in timp ce a doua este superior 7: % triunghiulara. Rezultatul este memorat in matricea A. 8: % Apelul: [ A ]=inmultire LU(L,U) 9: % 10: % Buta Valentin, aprilie, : % : 13: [ n,x ]=size(l); 14: [ m,y ]=size(u); 15: if n =x 16: error( Matricea L nu este patratica ); 17: end 18: if m =y 19: error( Matricea U nu este patratica ); 20: end 21: if n =m 22: error( Matricele nu pot fi inmultite! ) 23: end 24: for i=1:n 25: for j=1:i 26: A(i,j)=0; 27: for k=1:j 28: A(i,j)=A(i,j)+L(i,k)*U(k,j); 29: end 30: end 31: for j=i+1:n 32: A(i,j)=0; 33: for k=1:i 34: A(i,j)=A(i,j)+L(i,k)*U(k,j); 35: end 36: end 37: end
25 1.7. ANEXA B 25 1: function [ X ]=Xuv(X,u,v) 2: 3: % : % Algoritmul : % Algoritmul calculeaza eficient produsul a doua matrice patratice una 6: % oarecate (X) in timp ce cea de a doua are o forma particulara (In+u*v) 7: % unde u si v sunt doi vectori (primul de tip coloana iar al doilea de tip 8: % linie). Algoritmul suprascrie rezultatul in matricea X. 9: % Apelul: [ X ]=Xuv(X,u,v) 10: % 11: % Buta Valentin, aprilie, : % : 14: [ n,m ]=size(x); 15: if n =m 16: error( Matricea X nu este patratica ); 17: end 18: for i=1:n 19: sigma=0; 20: for k=1:n 21: sigma=sigma+x(i,k)*u(k); 22: end 23: for j=1:n 24: X(i,j)=X(i,j)+sigma*v(j); 25: end 26: end 1: function [ X ]=produv(u,v) 2: 3: % : % Algoritmul : % Algoritmul calculeaza eficient produsul a n matrice de forma 6: % (In+U(:,i)*V(i,:)), unde i=1:n, folosind procedura XUV 7: % Apelul: [ X ]=doi(u,v) 8: % 9: % Buta Valentin, aprilie, : % : 12: [ n,x ]=size(u); 13: if n =x 14: error( Matricea U nu este patratica ); 15: end 16: [ m,y ]=size(v); 17: if m =y 18: error( Matricea V nu este patratica ); 19: end 20: for i=1:n 21: for j=1:n 22: X(i,j)=0 23: end
26 26 SEMINAR 1. CALCUL MATRICEAL ELEMENTAR 24: X(i,i)=1; 25: end 26: for k=1:n 27: X=Xuv(X,U(:,k),V(k,:)); 28: end 1: function [ detx ]=determinant(u,v) 2: 3: % : % Algoritmul : % Functia calculeaza determinantul matricei X egala cu produsul a n elementi 6: % de tipul In+U(:,k)V(k,:). Algoritmul se bazeaza pe faptul ca datorita formei 7: % matricei X determinantul putea fi calculat ca produsul a n factori de 8: % tipul 1+V(k,:)*U(:,k) unde k=1:n.% 9: % Apelul: [ detx ]=determinant(v,u) 10: % 11: % Buta Valentin, aprilie, : % : 14: [ n,x ]=size(u); 15: [ m,y ]=size(v); 16: if n =x 17: error( Matricea U nu este patratica ); 18: end 19: if m =y 20: error( Matricea V nu este patratica ); 21: end 22: detx=1; 23: for k=1:n 24: nu=1; 25: for i=1:n 26: nu=nu+v(k,i)*u(i,k); 27: end 28: detx=detx*nu; 29: end
Curs 10 Funcţii reale de mai multe variabile reale. Limite şi continuitate.
Curs 10 Funcţii reale de mai multe variabile reale. Limite şi continuitate. Facultatea de Hidrotehnică Universitatea Tehnică "Gh. Asachi" Iaşi 2014 Fie p, q N. Fie funcţia f : D R p R q. Avem următoarele
Metode iterative pentru probleme neliniare - contractii
Metode iterative pentru probleme neliniare - contractii Problemele neliniare sunt in general rezolvate prin metode iterative si analiza convergentei acestor metode este o problema importanta. 1 Contractii
(a) se numeşte derivata parţială a funcţiei f în raport cu variabila x i în punctul a.
Definiţie Spunem că: i) funcţia f are derivată parţială în punctul a în raport cu variabila i dacă funcţia de o variabilă ( ) are derivată în punctul a în sens obişnuit (ca funcţie reală de o variabilă
Esalonul Redus pe Linii (ERL). Subspatii.
Seminarul 1 Esalonul Redus pe Linii (ERL). Subspatii. 1.1 Breviar teoretic 1.1.1 Esalonul Redus pe Linii (ERL) Definitia 1. O matrice A L R mxn este in forma de Esalon Redus pe Linii (ERL), daca indeplineste
Sisteme diferenţiale liniare de ordinul 1
1 Metoda eliminării 2 Cazul valorilor proprii reale Cazul valorilor proprii nereale 3 Catedra de Matematică 2011 Forma generală a unui sistem liniar Considerăm sistemul y 1 (x) = a 11y 1 (x) + a 12 y 2
Seminar 5 Analiza stabilității sistemelor liniare
Seminar 5 Analiza stabilității sistemelor liniare Noțiuni teoretice Criteriul Hurwitz de analiză a stabilității sistemelor liniare În cazul sistemelor liniare, stabilitatea este o condiție de localizare
Spatii liniare. Exemple Subspaţiu liniar Acoperire (înfăşurătoare) liniară. Mulţime infinită liniar independentă
Noţiunea de spaţiu liniar 1 Noţiunea de spaţiu liniar Exemple Subspaţiu liniar Acoperire (înfăşurătoare) liniară 2 Mulţime infinită liniar independentă 3 Schimbarea coordonatelor unui vector la o schimbare
Metode de interpolare bazate pe diferenţe divizate
Metode de interpolare bazate pe diferenţe divizate Radu Trîmbiţaş 4 octombrie 2005 1 Forma Newton a polinomului de interpolare Lagrange Algoritmul nostru se bazează pe forma Newton a polinomului de interpolare
Asupra unei inegalităţi date la barajul OBMJ 2006
Asupra unei inegalităţi date la barajul OBMJ 006 Mircea Lascu şi Cezar Lupu La cel de-al cincilea baraj de Juniori din data de 0 mai 006 a fost dată următoarea inegalitate: Fie x, y, z trei numere reale
Curs 14 Funcţii implicite. Facultatea de Hidrotehnică Universitatea Tehnică "Gh. Asachi"
Curs 14 Funcţii implicite Facultatea de Hidrotehnică Universitatea Tehnică "Gh. Asachi" Iaşi 2014 Fie F : D R 2 R o funcţie de două variabile şi fie ecuaţia F (x, y) = 0. (1) Problemă În ce condiţii ecuaţia
Curs 4 Serii de numere reale
Curs 4 Serii de numere reale Facultatea de Hidrotehnică Universitatea Tehnică "Gh. Asachi" Iaşi 2014 Criteriul rădăcinii sau Criteriul lui Cauchy Teoremă (Criteriul rădăcinii) Fie x n o serie cu termeni
Functii definitie, proprietati, grafic, functii elementare A. Definitii, proprietatile functiilor X) functia f 1
Functii definitie proprietati grafic functii elementare A. Definitii proprietatile functiilor. Fiind date doua multimi X si Y spunem ca am definit o functie (aplicatie) pe X cu valori in Y daca fiecarui
DISTANŢA DINTRE DOUĂ DREPTE NECOPLANARE
DISTANŢA DINTRE DOUĂ DREPTE NECOPLANARE ABSTRACT. Materialul prezintă o modalitate de a afla distanţa dintre două drepte necoplanare folosind volumul tetraedrului. Lecţia se adresează clasei a VIII-a Data:
V.7. Condiţii necesare de optimalitate cazul funcţiilor diferenţiabile
Metode de Optimizare Curs V.7. Condiţii necesare de optimalitate cazul funcţiilor diferenţiabile Propoziţie 7. (Fritz-John). Fie X o submulţime deschisă a lui R n, f:x R o funcţie de clasă C şi ϕ = (ϕ,ϕ
R R, f ( x) = x 7x+ 6. Determinați distanța dintre punctele de. B=, unde x și y sunt numere reale.
5p Determinați primul termen al progresiei geometrice ( b n ) n, știind că b 5 = 48 și b 8 = 84 5p Se consideră funcția f : intersecție a graficului funcției f cu aa O R R, f ( ) = 7+ 6 Determinați distanța
Curs 1 Şiruri de numere reale
Bibliografie G. Chiorescu, Analiză matematică. Teorie şi probleme. Calcul diferenţial, Editura PIM, Iaşi, 2006. R. Luca-Tudorache, Analiză matematică, Editura Tehnopress, Iaşi, 2005. M. Nicolescu, N. Roşculeţ,
Planul determinat de normală şi un punct Ecuaţia generală Plane paralele Unghi diedru Planul determinat de 3 puncte necoliniare
1 Planul în spaţiu Ecuaţia generală Plane paralele Unghi diedru 2 Ecuaţia generală Plane paralele Unghi diedru Fie reperul R(O, i, j, k ) în spaţiu. Numim normala a unui plan, un vector perpendicular pe
Matrice. Determinanti. Sisteme liniare
Matrice 1 Matrice Adunarea matricelor Înmulţirea cu scalar. Produsul 2 Proprietăţi ale determinanţilor Rangul unei matrice 3 neomogene omogene Metoda lui Gauss (Metoda eliminării) Notiunea de matrice Matrice
Lectia VI Structura de spatiu an E 3. Dreapta si planul ca subspatii ane
Subspatii ane Lectia VI Structura de spatiu an E 3. Dreapta si planul ca subspatii ane Oana Constantinescu Oana Constantinescu Lectia VI Subspatii ane Table of Contents 1 Structura de spatiu an E 3 2 Subspatii
Functii definitie, proprietati, grafic, functii elementare A. Definitii, proprietatile functiilor
Functii definitie, proprietati, grafic, functii elementare A. Definitii, proprietatile functiilor. Fiind date doua multimi si spunem ca am definit o functie (aplicatie) pe cu valori in daca fiecarui element
5. FUNCŢII IMPLICITE. EXTREME CONDIŢIONATE.
5 Eerciţii reolvate 5 UNCŢII IMPLICITE EXTREME CONDIŢIONATE Eerciţiul 5 Să se determine şi dacă () este o funcţie definită implicit de ecuaţia ( + ) ( + ) + Soluţie ie ( ) ( + ) ( + ) + ( )R Evident este
a n (ζ z 0 ) n. n=1 se numeste partea principala iar seria a n (z z 0 ) n se numeste partea
Serii Laurent Definitie. Se numeste serie Laurent o serie de forma Seria n= (z z 0 ) n regulata (tayloriana) = (z z n= 0 ) + n se numeste partea principala iar seria se numeste partea Sa presupunem ca,
2 Transformări liniare între spaţii finit dimensionale
Transformări 1 Noţiunea de transformare liniară Proprietăţi. Operaţii Nucleul şi imagine Rangul şi defectul unei transformări 2 Matricea unei transformări Relaţia dintre rang şi defect Schimbarea matricei
Teme de implementare in Matlab pentru Laboratorul de Metode Numerice
Teme de implementare in Matlab pentru Laboratorul de Metode Numerice As. Ruxandra Barbulescu Septembrie 2017 Orice nelamurire asupra enunturilor/implementarilor se rezolva in cadrul laboratorului de MN,
Sisteme liniare - metode directe
Sisteme liniare - metode directe Radu T. Trîmbiţaş 27 martie 2016 1 Eliminare gaussiană Să considerăm sistemul liniar cu n ecuaţii şi n necunoscute Ax = b, (1) unde A K n n, b K n 1 sunt date, iar x K
CURS XI XII SINTEZĂ. 1 Algebra vectorială a vectorilor liberi
Lect. dr. Facultatea de Electronică, Telecomunicaţii şi Tehnologia Informaţiei Algebră, Semestrul I, Lector dr. Lucian MATICIUC http://math.etti.tuiasi.ro/maticiuc/ CURS XI XII SINTEZĂ 1 Algebra vectorială
Subiecte Clasa a VIII-a
Subiecte lasa a VIII-a (40 de intrebari) Puteti folosi spatiile goale ca ciorna. Nu este de ajuns sa alegeti raspunsul corect pe brosura de subiecte, ele trebuie completate pe foaia de raspuns in dreptul
Seminariile Capitolul X. Integrale Curbilinii: Serii Laurent şi Teorema Reziduurilor
Facultatea de Matematică Calcul Integral şi Elemente de Analiă Complexă, Semestrul I Lector dr. Lucian MATICIUC Seminariile 9 20 Capitolul X. Integrale Curbilinii: Serii Laurent şi Teorema Reiduurilor.
III. Serii absolut convergente. Serii semiconvergente. ii) semiconvergentă dacă este convergentă iar seria modulelor divergentă.
III. Serii absolut convergente. Serii semiconvergente. Definiţie. O serie a n se numeşte: i) absolut convergentă dacă seria modulelor a n este convergentă; ii) semiconvergentă dacă este convergentă iar
CURS 11: ALGEBRĂ Spaţii liniare euclidiene. Produs scalar real. Spaţiu euclidian. Produs scalar complex. Spaţiu unitar. Noţiunea de normă.
Sala: 2103 Decembrie 2014 Conf. univ. dr.: Dragoş-Pătru Covei CURS 11: ALGEBRĂ Specializarea: C.E., I.E., S.P.E. Nota: Acest curs nu a fost supus unui proces riguros de recenzare pentru a fi oficial publicat.
1.3 Baza a unui spaţiu vectorial. Dimensiune
.3 Baza a unui spaţiu vectorial. Dimensiune Definiţia.3. Se numeşte bază a spaţiului vectorial V o familie de vectori B care îndeplineşte condiţiile de mai jos: a) B este liniar independentă; b) B este
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
Facultatea de Hidrotehnică, Geodezie şi Ingineria Mediului Matematici Superioare, Semestrul I, Lector dr. Lucian MATICIUC SEMINAR 4 Funcţii de mai multe variabile continuare). Să se arate că funcţia z,
Laborator 1: INTRODUCERE ÎN ALGORITMI. Întocmit de: Claudia Pârloagă. Îndrumător: Asist. Drd. Gabriel Danciu
INTRODUCERE Laborator 1: ÎN ALGORITMI Întocmit de: Claudia Pârloagă Îndrumător: Asist. Drd. Gabriel Danciu I. NOŢIUNI TEORETICE A. Sortarea prin selecţie Date de intrare: un şir A, de date Date de ieşire:
Seminar Algebra. det(a λi 3 ) = 0
Rezolvari ale unor probleme propuse "Matematica const în a dovedi ceea ce este evident în cel mai puµin evident mod." George Polya P/Seminar Valori si vectori proprii : Solutie: ( ) a) A = Valorile proprii:
CURS 5 Spaţii liniare. Spaţiul liniar R n
CURS 5 Spaţii liniare. Spaţiul liniar R n A. Arusoaie arusoaie.andreea@gmail.com andreea.arusoaie@info.uaic.ro Facultatea de Informatică, Universitatea Alexandru Ioan Cuza din Iaşi 30 Octombrie 2017 Structura
SERII NUMERICE. Definiţia 3.1. Fie (a n ) n n0 (n 0 IN) un şir de numere reale şi (s n ) n n0
SERII NUMERICE Definiţia 3.1. Fie ( ) n n0 (n 0 IN) un şir de numere reale şi (s n ) n n0 şirul definit prin: s n0 = 0, s n0 +1 = 0 + 0 +1, s n0 +2 = 0 + 0 +1 + 0 +2,.......................................
Curs 2 Şiruri de numere reale
Curs 2 Şiruri de numere reale Facultatea de Hidrotehnică Universitatea Tehnică "Gh. Asachi" Iaşi 2014 Convergenţă şi mărginire Teoremă Orice şir convergent este mărginit. Demonstraţie Fie (x n ) n 0 un
riptografie şi Securitate
riptografie şi Securitate - Prelegerea 12 - Scheme de criptare CCA sigure Adela Georgescu, Ruxandra F. Olimid Facultatea de Matematică şi Informatică Universitatea din Bucureşti Cuprins 1. Schemă de criptare
COLEGIUL NATIONAL CONSTANTIN CARABELLA TARGOVISTE. CONCURSUL JUDETEAN DE MATEMATICA CEZAR IVANESCU Editia a VI-a 26 februarie 2005.
SUBIECTUL Editia a VI-a 6 februarie 005 CLASA a V-a Fie A = x N 005 x 007 si B = y N y 003 005 3 3 a) Specificati cel mai mic element al multimii A si cel mai mare element al multimii B. b)stabiliti care
Vectori liberi Produs scalar Produs vectorial Produsul mixt. 1 Vectori liberi. 2 Produs scalar. 3 Produs vectorial. 4 Produsul mixt.
liberi 1 liberi 2 3 4 Segment orientat liberi Fie S spaţiul geometric tridimensional cu axiomele lui Euclid. Orice pereche de puncte din S, notată (A, B) se numeşte segment orientat. Dacă A B, atunci direcţia
Subiecte Clasa a VII-a
lasa a VII Lumina Math Intrebari Subiecte lasa a VII-a (40 de intrebari) Puteti folosi spatiile goale ca ciorna. Nu este de ajuns sa alegeti raspunsul corect pe brosura de subiecte, ele trebuie completate
Criptosisteme cu cheie publică III
Criptosisteme cu cheie publică III Anul II Aprilie 2017 Problema rucsacului ( knapsack problem ) Considerăm un număr natural V > 0 şi o mulţime finită de numere naturale pozitive {v 0, v 1,..., v k 1 }.
EDITURA PARALELA 45 MATEMATICĂ DE EXCELENŢĂ. Clasa a X-a Ediţia a II-a, revizuită. pentru concursuri, olimpiade şi centre de excelenţă
Coordonatori DANA HEUBERGER NICOLAE MUŞUROIA Nicolae Muşuroia Gheorghe Boroica Vasile Pop Dana Heuberger Florin Bojor MATEMATICĂ DE EXCELENŢĂ pentru concursuri, olimpiade şi centre de excelenţă Clasa a
Integrala nedefinită (primitive)
nedefinita nedefinită (primitive) nedefinita 2 nedefinita februarie 20 nedefinita.tabelul primitivelor Definiţia Fie f : J R, J R un interval. Funcţia F : J R se numeşte primitivă sau antiderivată a funcţiei
Analiza în curent continuu a schemelor electronice Eugenie Posdărăscu - DCE SEM 1 electronica.geniu.ro
Analiza în curent continuu a schemelor electronice Eugenie Posdărăscu - DCE SEM Seminar S ANALA ÎN CUENT CONTNUU A SCHEMELO ELECTONCE S. ntroducere Pentru a analiza în curent continuu o schemă electronică,
Noţiuni introductive
Metode Numerice Noţiuni introductive Erori. Condiţionare numerică. Stabilitatea algoritmilor. Complexitatea algoritmilor. Metodele numerice reprezintă tehnici prin care problemele matematice sunt reformulate
MARCAREA REZISTOARELOR
1.2. MARCAREA REZISTOARELOR 1.2.1 MARCARE DIRECTĂ PRIN COD ALFANUMERIC. Acest cod este format din una sau mai multe cifre şi o literă. Litera poate fi plasată după grupul de cifre (situaţie în care valoarea
Lucian Maticiuc CURS I II. 1 Matrice şi determinanţi. Sisteme de ecuaţii liniare. 1.1 Matrice şi determinanţi
Facultatea de Electronică, Telecomunicaţii şi Tehnologia Informaţiei Algebră, Semestrul I, Lector dr Lucian MATICIUC http://mathettituiasiro/maticiuc/ CURS I II Matrice şi determinanţi Sisteme de ecuaţii
Laborator 6. Integrarea ecuaţiilor diferenţiale
Laborator 6 Integrarea ecuaţiilor diferenţiale Responsabili: 1. Surdu Cristina(anacristinasurdu@gmail.com) 2. Ştirbăţ Bogdan(bogdanstirbat@yahoo.com) Obiective În urma parcurgerii acestui laborator elevul
Problema celor mai mici pătrate
Seminar 3 Problema celor mai mici pătrate Acest seminar este dedicat metodelor numerice pentru rezolvarea unei probleme numerice foarte importante întâlnită în multe aplicaţii, aşa numita problemă a celor
Proiectarea Algoritmilor 2. Scheme de algoritmi Divide & Impera
Platformă de e-learning și curriculă e-content pentru învățământul superior tehnic Proiectarea Algoritmilor 2. Scheme de algoritmi Divide & Impera Cuprins Scheme de algoritmi Divide et impera Exemplificare
Examen AG. Student:... Grupa:... ianuarie 2011
Problema 1. Pentru ce valori ale lui n,m N (n,m 1) graful K n,m este eulerian? Problema 2. Să se construiască o funcţie care să recunoască un graf P 3 -free. La intrare aceasta va primi un graf G = ({1,...,n},E)
5.4. MULTIPLEXOARE A 0 A 1 A 2
5.4. MULTIPLEXOARE Multiplexoarele (MUX) sunt circuite logice combinaţionale cu m intrări şi o singură ieşire, care permit transferul datelor de la una din intrări spre ieşirea unică. Selecţia intrării
METODE NUMERICE: Laborator #7 Calculul valorilor proprii si vectorilor proprii prin metodele puterii. Metoda Householder
METODE NUMERICE: Laborator #7 Calculul valorilor proprii si vectorilor proprii prin metodele puterii. Metoda Householder Titulari curs: Florin Pop, George-Pantelimon Popescu Responsabil Laborator: Alexandru
III. Reprezentarea informaţiei în sistemele de calcul
Metode Numerice Curs 3 III. Reprezentarea informaţiei în sistemele de calcul III.1. Reprezentarea internă a numerelor întregi III. 1.1. Reprezentarea internă a numerelor întregi fără semn (pozitive) Reprezentarea
Definiţia generală Cazul 1. Elipsa şi hiperbola Cercul Cazul 2. Parabola Reprezentari parametrice ale conicelor Tangente la conice
1 Conice pe ecuaţii reduse 2 Conice pe ecuaţii reduse Definiţie Numim conica locul geometric al punctelor din plan pentru care raportul distantelor la un punct fix F şi la o dreaptă fixă (D) este o constantă
Rezolvarea sistemelor liniare determinate
Seminar 2 Rezolvarea sistemelor liniare determinate Acest seminar este dedicat metodelor numerice de rezolvare a sistemelor liniare determinate, i.e. al sistemelor liniare cu numărul de ecuaţii egal cu
Aplicaţii ale principiului I al termodinamicii la gazul ideal
Aplicaţii ale principiului I al termodinamicii la gazul ideal Principiul I al termodinamicii exprimă legea conservării şi energiei dintr-o formă în alta şi se exprimă prin relaţia: ΔUQ-L, unde: ΔU-variaţia
METODE NUMERICE: Laborator #5 Metode iterative pentru rezolvarea sistemelor: Jacobi, Gauss-Siedel, Suprarelaxare
METODE NUMERICE: Laborator #5 Metode iterative pentru rezolvarea sistemelor: Jacobi, Gauss-Siedel, Suprarelaxare Titulari curs: Florin Pop, George-Pantelimon Popescu Responsabil Laborator: Mădălina-Andreea
Lucrare. Varianta aprilie I 1 Definiţi noţiunile de număr prim şi număr ireductibil. Soluţie. Vezi Curs 6 Definiţiile 1 şi 2. sau p b.
Lucrare Soluţii 28 aprilie 2015 Varianta 1 I 1 Definiţi noţiunile de număr prim şi număr ireductibil. Soluţie. Vezi Curs 6 Definiţiile 1 şi 2 Definiţie. Numărul întreg p se numeşte număr prim dacă p 0,
Concurs MATE-INFO UBB, 1 aprilie 2017 Proba scrisă la MATEMATICĂ
UNIVERSITATEA BABEŞ-BOLYAI CLUJ-NAPOCA FACULTATEA DE MATEMATICĂ ŞI INFORMATICĂ Concurs MATE-INFO UBB, aprilie 7 Proba scrisă la MATEMATICĂ SUBIECTUL I (3 puncte) ) (5 puncte) Fie matricele A = 3 4 9 8
Examen AG. Student:... Grupa: ianuarie 2016
16-17 ianuarie 2016 Problema 1. Se consideră graful G = pk n (p, n N, p 2, n 3). Unul din vârfurile lui G se uneşte cu câte un vârf din fiecare graf complet care nu-l conţine, obţinându-se un graf conex
Nicolae Cotfas ELEMENTE DE EDITURA UNIVERSITĂŢII DIN BUCUREŞTI
Nicolae Cotfas ELEMENTE DE ALGEBRĂ LINIARĂ EDITURA UNIVERSITĂŢII DIN BUCUREŞTI Introducere Pe parcursul acestei cărţi ne propunem să prezentăm într-un mod cât mai accesibil noţiuni si rezultate de bază
5.5. REZOLVAREA CIRCUITELOR CU TRANZISTOARE BIPOLARE
5.5. A CIRCUITELOR CU TRANZISTOARE BIPOLARE PROBLEMA 1. În circuitul din figura 5.54 se cunosc valorile: μa a. Valoarea intensității curentului de colector I C. b. Valoarea tensiunii bază-emitor U BE.
1.4 Schimbarea bazei unui spaţiu vectorial
Algebră liniară, geometrie analitică şi diferenţială. Schimbarea bazei unui spaţiu vectorial După cum s-a văzut deja, într-un spaţiu vectorial V avem mai multe baze, iar un vector x V va avea câte un sistem
Toate subiectele sunt obligatorii. Timpul de lucru efectiv este de 3 ore. Se acordă din oficiu 10 puncte. SUBIECTUL I.
Modelul 4 Se acordă din oficiu puncte.. Fie numărul complex z = i. Calculaţi (z ) 25. 2. Dacă x şi x 2 sunt rădăcinile ecuaţiei x 2 9x+8 =, atunci să se calculeze x2 +x2 2 x x 2. 3. Rezolvaţi în mulţimea
Programarea Calculatoarelor
Programarea Calculatoarelor Modul 1: Rezolvarea algoritmică a problemelor Introducere în programare Algoritm Obiectele unui algoritm Date Constante Variabile Expresii Operaţii specifice unui algoritm şi
Olimpiada Naţională de Matematică Etapa locală Clasa a IX-a M 1
Calea 13 Septembrie, r 09, Sector 5, 0507, București Tel: +40 (0)1 317 36 50 Fax: +40 (0)1 317 36 54 Olimpiada Naţioală de Matematică Etapa locală -00016 Clasa a IX-a M 1 Fie 1 abc,,, 6 şi ab c 1 Să se
I. Noţiuni introductive
Metode Numerice Curs 1 I. Noţiuni introductive Metodele numerice reprezintă tehnici prin care problemele matematice sunt reformulate astfel încât să fie rezolvate numai prin operaţii aritmetice. Prin trecerea
Progresii aritmetice si geometrice. Progresia aritmetica.
Progresii aritmetice si geometrice Progresia aritmetica. Definitia 1. Sirul numeric (a n ) n N se numeste progresie aritmetica, daca exista un numar real d, numit ratia progresia, astfel incat a n+1 a
1. Sisteme de ecuaţii liniare Definiţia 1.1. Fie K un corp comutativ. 1) Prin sistem de m ecuaţii liniare cu n necunoscute X 1,...
1. Sisteme de ecuaţii liniare Definiţia 1.1. Fie K un corp comutativ. 1) Prin sistem de m ecuaţii liniare cu n necunoscute X 1,..., X n şi coeficienţi în K se înţelege un ansamblu de egalităţi formale
2. Circuite logice 2.2. Diagrame Karnaugh. Copyright Paul GASNER 1
2. Circuite logice 2.2. Diagrame Karnaugh Copyright Paul GASNER Diagrame Karnaugh Tehnică de simplificare a unei expresii în sumă minimă de produse (minimal sum of products MSP): Există un număr minim
4. CIRCUITE LOGICE ELEMENTRE 4.. CIRCUITE LOGICE CU COMPONENTE DISCRETE 4.. PORŢI LOGICE ELEMENTRE CU COMPONENTE PSIVE Componente electronice pasive sunt componente care nu au capacitatea de a amplifica
Algebra si Geometrie Seminar 9
Algebra si Geometrie Seminar 9 Decembrie 017 ii Equations are just the boring part of mathematics. I attempt to see things in terms of geometry. Stephen Hawking 9 Dreapta si planul in spatiu 1 Notiuni
CONCURSUL DE MATEMATICĂ APLICATĂ ADOLF HAIMOVICI, 2017 ETAPA LOCALĂ, HUNEDOARA Clasa a IX-a profil științe ale naturii, tehnologic, servicii
Clasa a IX-a 1 x 1 a) Demonstrați inegalitatea 1, x (0, 1) x x b) Demonstrați că, dacă a 1, a,, a n (0, 1) astfel încât a 1 +a + +a n = 1, atunci: a +a 3 + +a n a1 +a 3 + +a n a1 +a + +a n 1 + + + < 1
2.9 Forme biafine Forme pătratice afine. Aducerea la forma canonică Centre de simetrie Varietăţi pătratice...
Geometrie Afină Contents 1 Spaţii vectoriale 3 1.1 Spaţii vectoriale peste un corp K........................ 3 1.2 Exemple de spaţii vectoriale........................... 4 1.3 Dependenţă liniară de vectori..........................
Spaţii vectoriale. Definiţia 1.1. Fie (K, +, ) un corp şi (V, +) un grup abelian.
Spaţii vectoriale 1. Spaţii vectoriale. Definiţii şi proprietăţi de bază În continuare prin corp vom înţelege corp comutativ. Dacă nu se precizează altceva, se vor folosi notaţiile standard pentru elementele
Metode Runge-Kutta. 18 ianuarie Probleme scalare, pas constant. Dorim să aproximăm soluţia problemei Cauchy
Metode Runge-Kutta Radu T. Trîmbiţaş 8 ianuarie 7 Probleme scalare, pas constant Dorim să aproximăm soluţia problemei Cauchy y (t) = f(t, y), a t b, y(a) = α. pe o grilă uniformă de (N + )-puncte din [a,
Ecuatii exponentiale. Ecuatia ce contine variabila necunoscuta la exponentul puterii se numeste ecuatie exponentiala. a x = b, (1)
Ecuatii exponentiale Ecuatia ce contine variabila necunoscuta la exponentul puterii se numeste ecuatie exponentiala. Cea mai simpla ecuatie exponentiala este de forma a x = b, () unde a >, a. Afirmatia.
* K. toate K. circuitului. portile. Considerând această sumă pentru toate rezistoarele 2. = sl I K I K. toate rez. Pentru o bobină: U * toate I K K 1
FNCȚ DE ENERGE Fie un n-port care conține numai elemente paive de circuit: rezitoare dipolare, condenatoare dipolare și bobine cuplate. Conform teoremei lui Tellegen n * = * toate toate laturile portile
Activitatea A5. Introducerea unor module specifice de pregătire a studenţilor în vederea asigurării de şanse egale
Investeşte în oameni! FONDUL SOCIAL EUROPEAN Programul Operaţional Sectorial pentru Dezvoltarea Resurselor Umane 2007 2013 Axa prioritară nr. 1 Educaţiaşiformareaprofesionalăînsprijinulcreşteriieconomiceşidezvoltăriisocietăţiibazatepecunoaştere
6 n=1. cos 2n. 6 n=1. n=1. este CONV (fiind seria armonică pentru α = 6 > 1), rezultă
Semiar 5 Serii cu termei oarecare Probleme rezolvate Problema 5 Să se determie atura seriei cos 5 cos Soluţie 5 Şirul a 5 este cu termei oarecare Studiem absolut covergeţa seriei Petru că cos a 5 5 5 şi
Subiecte Clasa a V-a
(40 de intrebari) Puteti folosi spatiile goale ca ciorna. Nu este de ajuns sa alegeti raspunsul corect pe brosura de subiecte, ele trebuie completate pe foaia de raspuns in dreptul numarului intrebarii
a. 11 % b. 12 % c. 13 % d. 14 %
1. Un motor termic funcţionează după ciclul termodinamic reprezentat în sistemul de coordonate V-T în figura alăturată. Motorul termic utilizează ca substanţă de lucru un mol de gaz ideal având exponentul
Principiul Inductiei Matematice.
Principiul Inductiei Matematice. Principiul inductiei matematice constituie un mijloc important de demonstratie in matematica a propozitiilor (afirmatiilor) ce depind de argument natural. Metoda inductiei
Descompunerea valorilor singulare
Laborator 6 Descompunerea valorilor singulare 6.1 Preliminarii 6.1.1 Descompunerea valorilor singulare Vom introduce descompunerea valorilor singulare (DVS) ale unei matrice prin următoarea teoremă. Teorema
Universitatea din Bucureşti Facultatea de Matematică şi Informatică. Algebră (1)
Universitatea din ucureşti.7.4 Facultatea de Matematică şi Informatică oncursul de admitere iulie 4 omeniul de licenţă alculatoare şi Tehnologia Informaţiei lgebră (). Fie x,y astfel încât x+y = şi x +
Calculul valorilor proprii
Laborator 5 Calculul valorilor proprii 5.1 Valori şi vectori proprii Definiţia 5.1 Fie A C n n. Un vector x C n n este un vector propriu al matricei A, asociat valorii proprii λ C, dacă sunt satisfăcute
Orice izometrie f : (X, d 1 ) (Y, d 2 ) este un homeomorfism. (Y = f(x)).
Teoremă. (Y = f(x)). Orice izometrie f : (X, d 1 ) (Y, d 2 ) este un homeomorfism Demonstraţie. f este continuă pe X: x 0 X, S Y (f(x 0 ), ε), S X (x 0, ε) aşa ca f(s X (x 0, ε)) = S Y (f(x 0 ), ε) : y
Metode iterative pentru rezolvarea sistemelor de ecuatii liniare
Metode iterative pentru rezolvarea sistemelor de ecuatii liniare 1 Metode iterative clasice Metodele iterative sunt intens folosite, in special pentru rezolvarea de probleme mari, cum sunt cele de discretizare
CONCURS DE ADMITERE, 17 iulie 2017 Proba scrisă la MATEMATICĂ
UNIVERSITATEA BABEŞ-BOLYAI CLUJ-NAPOCA FACULTATEA DE MATEMATICĂ ŞI INFORMATICĂ CONCURS DE ADMITERE, 7 iulie 207 Proba scrisă la MATEMATICĂ SUBIECTUL I (30 puncte) ) (0 puncte) Să se arate că oricare ar
Cursul de recuperare Algebra. v n. daca in schimb exista coecienti λ 1, λ 2,..., λ n nu toti nuli care satisfac relatia (1), de exemplu λ i 0 = A =
Matrice, determinanti Un punct de vedere liniar independent "A judeca matematic nu înseamn a gândi losoc, a judeca losoc nu înseamn a liber, a gândi liber nu înseamn a losof " Blaise Pascal Liniar independenta:
3. Vectori şi valori proprii
Valori şi vectori proprii 7 Vectori şi valori proprii n Reamintim că dacă A este o matrice pătratică atunci un vector x R se numeşte vector propriu în raport cu A dacă x şi există un număr λ (real sau
Calculul funcţiilor de matrice Exponenţiala matriceală
Laborator 3 Calculul funcţiilor de matrice Exponenţiala matriceală 3.1 Tema Înţelegerea conceptului de funcţie de matrice şi însuşirea principalelor metode şi algoritmi de calcul al funcţilor de matrice.
Laborator 11. Mulţimi Julia. Temă
Laborator 11 Mulţimi Julia. Temă 1. Clasa JuliaGreen. Să considerăm clasa JuliaGreen dată de exemplu la curs pentru metoda locului final şi să schimbăm numărul de iteraţii nriter = 100 în nriter = 101.
PROBLEME DE VALORI ŞI VECTORI PROPRII
9 PROBLEME DE VALORI ŞI VECTORI PROPRII 81 Introducere Problema de valori proprii a unui operator liniar A: Ax = λx x vector propriu, λ valoare proprie În reprezentarea unei baze din < n problemă matricială
Ecuatii trigonometrice
Ecuatii trigonometrice Ecuatiile ce contin necunoscute sub semnul functiilor trigonometrice se numesc ecuatii trigonometrice. Cele mai simple ecuatii trigonometrice sunt ecuatiile de tipul sin x = a, cos
prin egalizarea histogramei
Lucrarea 4 Îmbunătăţirea imaginilor prin egalizarea histogramei BREVIAR TEORETIC Tehnicile de îmbunătăţire a imaginilor bazate pe calculul histogramei modifică histograma astfel încât aceasta să aibă o
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 II: Serii de umere reale. Lect. dr. Lucia Maticiuc Facultatea de Hidrotehică, Geodezie şi Igieria Mediului Matematici Superioare, Semestrul I, Lector dr. Lucia MATICIUC SEMINARUL 3. Cap. II Serii
Problema a II - a (10 puncte) Diferite circuite electrice
Olimpiada de Fizică - Etapa pe judeţ 15 ianuarie 211 XI Problema a II - a (1 puncte) Diferite circuite electrice A. Un elev utilizează o sursă de tensiune (1), o cutie cu rezistenţe (2), un întrerupător