ANA - manual

Mărimea: px
Porniți afișarea la pagina:

Download "ANA - manual"

Transcriere

1 ADRIAN CHISĂLIŢĂ ANA Bbloteca de Aalză umercă surse Fortra 90 Maual de utlzare Uverstatea Tehcă d Cluj-Napoca Cluj-Napoca, 007

2 Notă copyrght Versue ANA (o-le): Noembre 007 Edţe Maual de utlzare (o-le): Noembre 007 ANA se găseşte la următorul URL: ftp.utcluj.ro/pub/users/chsalta/ana/ (Maualul se găseşte î folderul ANA/DOC/) Copyrght Adra Chsălţă Dreptur de utlzare a bblotec ANA. Î scop educaţoal: - Utlzarea este lberă. - Utlzatorul are dreptul la o cope a Bblotec ş Maualulu, petru uz persoal. - Utlzatorul poate modfca rutele după voe, î scop persoal. Referrea la rutele modfcate se va face cu ctarea surse orgale. Prevederle de ma sus echvalează cu lceţa educaţoală.. Î scop comercal: - Utlzarea î scopur comercale, sau îcorporarea de rute îtr-u produs comercal, este legală fără obţerea ue lceţe comercale. - Reproducerea î orce formă (tpărtă/electrocă) a Bblotec sau Maualulu, este terzsă. - Alte preveder ale Leg dreptulu de autor sut aplcable. Reproducerea uor părţ d ANA sau Maual, cu ttlu de eemplu sau ctare, î orce formă (tpărtă/electrocă), este permsă uma cu meţoarea copyrght-ulu. Maualul de utlzare: Tetul Maualulu de utlzare se supue prevederlor Leg dreptulu de autor.

3 3 Autorul garatează coţutul bblotec ANA, uma petru utlzarea î scop educaţoal. Autorul îş declă resposabltatea petru orce cosecţe care ar decurge d utlzarea bblotec î alt scop. Sursele d ANA sut oferte aşa cum sut. Codul sursă ş Maualul pot f modfcate de autor fără otfcare. Versule cele ma recete ale surselor (ş Maualulu) se găsesc la URL-ul de ma sus.

4 4 CUPRINS Notă copyrght... INTRODUCERE Bbloteca ANA...7 CAPITOLUL I REPREZENTAREA NUMERELOR ÎN CALCULATOR ş ERORI...0 Bessel...0 Errors... Assoc_sum... Do... Ecuate_gr... Iteger... Itrsec_... Loss_sgf...3 Rump_pol...4 Specal_Values...5 Sum_Armoc...5 Sum_ErrFree...6 Test_eps...6 Nose...7 Ulp...8 CAPITOLUL II ECUAŢII NELINIARE...0 II- Ecuaţ de forma f() = Bs... Secat...3 Newto...5 II- Ecuaţ de forma = g(). Metoda puctulu f...3 F...3 Statoar...34 Atke...36 Atke\Atke-G...39 II-3 Ssteme de ecuaţ elare...4 F_Sys...4 Newto_Sys...45 II-4 Rădăcle poloamelor...47

5 5 C_pol...47 Pol...50 Pol_Drect...53 Pol_Comple...54 Laguerre...56 Muller...59 Muller\Muller_Comple...63 CAPITOLUL III SISTEME DE ECUAŢII LINIARE...66 III- Metode drecte...66 Gauss...66 Gauss_AB...7 LU...73 LU\Crout...80 LU_Comple...8 LU_Comple\Crout_Comple...83 Cholesky...84 Cholesky_S...87 Cholesky_Bad...87 III- Aalza eror ş codţoare...9 Numar_Codte...9 Hlbert...94 III-3 Metode teratve...96 Jacob...96 Gauss_Sedel...99 Sor...0 CAPITOLUL IV VALORI ŞI VECTORI PROPRII...04 Problema de valor propr (sumar)...04 Power... Power_Comple...8 Iverse_Power_Shft...9 Iverse_Power_Comple...3 Sm_Iter...6 Jacob, Jacob_D...3 QR...39

6 6 Metoda (sumar)...39 Algortm ş cod...43 Detal de mplemetare...44 Balasare...46 Fşere...49 Structura fşerulu de date...5 Eemple...55 Refe...67 Fşere...67 Structura fşerulu de date...68 Geeral_R, Geeral_R...7 Problema geeralzată de valor propr...7 Reducerea la problema stadard...73 Retreve_Ege_from_R...78 Fşere sursă:...78 Fşere de date (trare):...78 Fşere de eşre (rezultate):...79 INTERPOLARE...8 Newto...8 UTILITARE...88 Fucto_epresso ş wdth...88 Fucto_epresso.f90; Fucto_epresso_g.f90; Fucto_epresso-.f90; Fucto_epresso_Sys.f wdth.f Grafc...89 Bblografe...9 Lsta Fgurlor...93 Ide...94

7 7 INTRODUCERE Bbloteca ANA Metodele d ANA sut bazate pe teora ş algortm epuş î maualul: Adra Chsălţă, Numercal Aalyss (00). Î ceea ce urmează, ctărle uor captole, paragrafe, se referă la această lucrare. Notă: U algortm d ANA sut ma evoluaţ decât ce epuş î lucrarea ctată ANA este orgazată pe foldere care coţ rutele ecesare petru utlzarea ue metode umerce, calculul uor mărm (eemplu: umărul de codţe), sau lustrarea erorlor sau precze î calculul cu umere reprezetate î vrgulă flotată. Folderele coţ rutele ecesare petru costrucţa uu proect. Î geeral, folderul coţe:. Programul prcpal. Subruta metode 3. Subprogramul de tp fucto/subroute petru defrea fucţe / fucţlor cu care se lucrează (petru ecuaţ elare) 4. Alte subrute utltare Programul prcpal realzează, cel puţ, următoarele acţu: - Cteşte datele de trare - Apelează subruta metode - Tpăreşte rezultatele. Utăţle de program ş 3 se presupu scrse de utlzator. Petru facltate, ele sut cluse î folder. Utatea 3 coţe cod petru u eemplu de test. Petru rădăcle poloamelor, sstemele de ecuaţ lare ş petru problema de valor propr, î locul utăţ 3, î folder este clus u fşer cu datele petru u eemplu de test. Utlzatorul va modfca codul d 3 sau datele d eemplul de test, petru problema cocretă cu care se lucrează. De asemeea, utlzatorul poate modfca programul prcpal.

8 8 Utltarele sut rute cluse î proect, î specal petru tpărrea datelor de eşre. Descrerea lor se dă î captolul UTILITARE. Nume foldere. Nume utăţ de program ş fşere asocate Î geeral: - Numele folderulu este o memoca a metode. - Numele subrute metode este tot o memocă a metode. Eemplu: petru metoda bsecţe, umele folderulu ş al subrute este BIS. - Programul prcpal are umele MAIN- urmat de umele subrute. Eemplu: MAIN-BIS. - Numele fucţe este fu, f, g, etc. Î câteva cazur, programul prcpal îcorporează ş metoda; î acest caz, umele utăţ de program este o memocă a metode (fără a ma f precedat de MAIN-). Petru metodele î dublă precze, î geeral, umele folderulu ş utăţlor de program, sut precedate de caracterul D, d, sau succedate de caracterele _D, _d. Numele fşerelor asocate utăţlor de program urmează aceleaş regul. Cod Î screrea codulu, s-a dat îtâetate clartăţ programăr metode, ueor î daua compactăţ codulu. Datele de trare se ctesc fe de la termal, fe dtr-u fşer de date. Aceeaş observaţe petru screrea datelor de eşre. Câd se utlzează u fşer de date, î geeral, datele de eşre se scru î acest fşer, î cotuarea datelor de trare. Soluţa fşerulu de date se poate adopta îtotdeaua, pr modfcarea codulu. Petru smplfcare, î codur s-a evtat utlzarea ferestrelor de dalog cu ecepţa ferestre stadard petru deschderea / selectarea uu fşer, care este utlzată î ma multe programe. Codurle prezetate î versuea smplă precze, pot f covertte uşor la dublă precze pr adăugarea declaraţlor ecesare. Lmbajul este Fortra 90/95. Utăţle de program coţ cometarle ecesare petru semfcaţa datelor de trare, parametrlor de apel a subrutelor, etc. Petru cocretzarea datelor de trare v. fşerul de test al metode.

9 9 Observaţe Testele de oprre a ue teraţ sut, î geeral, de forma: eps ş + umăr de teraţ lt. Toleraţa eps ş umărul mam de teraţ lt sut date de trare. Trebue ca eps ULP ), ude ULP ) este cel ma mc umăr care ( aduat la dă, pr rotujre, u umăr ma mare ca v. Cap., 3.6. Î caz cotrar, cu ecepţa cazulu = ( +, prmul test u poate f satsfăcut ş teraţa se opreşte pr depăşrea lu lt. Ueor codul testează ş corectează toleraţa eps trodusă de utlzator v. ca eemplu metoda bsecţe. Î caz cotrar, la troducerea date eps, utlzatorul se va ţe cot de codţa de ma sus Utlzare Cu rutele d folder se costrueşte u proect de tp cosole applcato. Petru smplfcare ş portabltate, rutele u coţ dalogur ş c eşr grafce. Utlzarea este presupusă petru medul Developer Studo ofert de produsul Compaq Vsual Fortra 6.6C, 00 (actual: HP Vsual Fortra), dar rutele pot f utlzate ş pe o altă platformă. Descrerea fşerelor d foldere ş a metodelor umerce, se dă î captolele următoare. Petru uele metode (î partcular: Muller, problema de valor propr, ş Iterpolare), prezetarea teoretcă este ma desvoltată. Petru detal suplmetare, v. cometarle d surse. Uele cometar pot f î lmba egleză. Fotur Tet: Tmes New Roma Nume foldere: Aral Nume fşere; ume rute: Aral Date de trare; rezultate (d fşerul de eşre); secveţe de cod: Courer New Caracterul dcă sfârştul ue Propozţ, Observaţ, Eemplu, etc.

10 0 CAPITOLUL I REPREZENTAREA NUMERELOR ÎN CALCULATOR ş ERORI Foldere: Bessel; Errors; Nose; Ulp. Bessel Calculul fucţe Bessel: drect, ş pr recureţă. Se pue î evdeţă, stabltatea algortmulu bazat pe formula de recureţă cu tre terme. Implemetarea Eemplulu 4, Cap. 0,.. Fşere: Bessel.f90 Se calculează valorle fucţlor Bessel de speţa I-a, pe argumetul y =, petru m =,0, î două modur: (a) Drect (sere): J () = ( ) k ( 4 ) ( m k) m m 0 k! +! Sera se truchază î mometul câd termeul curet este ma mc decât, sau egal cu E-5 (ş se îsumează cel mult 00 terme). Valorle obţute se cosderă valorle eacte. (b) Pr recureţă: J ) m J () J () m+ ( = m m Se poreşte cu valorle J 0 () ş J ( ) calculate cu tre grade de precze, eprmate pr umărul de cfre semfcatve eacte: 5 6 (dublă-precze), 0, ş 7 (smplă precze). Calculul, cu aceste valor de porre, se face î dublă precze. Rezultatele se scru î fşerele bess-.rez, ude = 7;0; 6. Petru calculul drect: umărul de terme care se îsumează efectv este 9 5 (petru m = 0,, K, 0 ); acest umăr se lstează î fşerul de eşre. Prmul terme egljat î sere este de ordul 0 7 K 0 8 ; acest terme se lstează la dsplay.

11 Se remarcă dvergeţa crescătoare cu m, a valorlor calculate pr recureţă î raport cu valorle eacte char petru u umăr mare de cfre semfcatve (6), î J 0 ş J. Sgurele eror troduse î calculul (b) sut erorle de rotujre î valorle lu J 0 ş J. Errors Folderul coţe următoarele sub-foldere, coţâd lustrăr de eror, î calculul cu umere reprezetate î vrgulă flotată. Assoc_sum Ne-asocatvtatea sume. Fşere: Sum_.f90, FP_precs.f90 Se cosderă terme =.5E0; = 555.5; 3 = -, ş sumele s_p = + + 3, s_p = p otează precza petru reprezetarea termelor (ş a sumelor parţale), aume: s: precze smplă (4 bţ), d: precze dublă (53 bţ), ş e: precze etsă (64 bţ). Precza de reprezetare de 64 bţ se setează cu subruta fpprecs. Rezultatele se scru î fşerul sum.rez, aume: s_s = s_d = s_e = Suma s_p are valoarea corectă (petru orcare p): s = Do Calculul ue sume îtr-u cclu DO, î formele: sum = 0.; sum = sum +h; terme. sum = j h; Fşere: j =,

12 Do003.f90 Programul lstează sum, sum, ş eroarea relatvă a lu sum, petru 6 = 0, cu pasul 0,000. Se observă că eroarea relatvă creşte odată cu umărul termelor. Ecuate_gr Perderea de semfcaţe la rădăcle ue ecuaţ de gradul. Fşere: Ecuate_gr.f90 Se cosderă ecuaţa 6 + = 0, cu rădăcle = Rădăcle se, ± calculează î smplă ş dublă precze; valorle î dublă precze se cosderă valorle eacte. Î smplă precze, rădăca se calculează î două modur: după formulă caz î care apare perdere de semfcaţe, ş sub forma erorle relatve ale rădăclor; se costată că valoarea, m =. Se lstează , m este eactă. Iteger Calculaţ cu teger(). Fşere: Iteger.f90 Se şte că teger() se repreztă pe octeţ, ar plaja de reprezetare este 3768 teger () 3767 (Cap., ). Programul testează suma , ude este teger(); de eemplu, petru = 3, se obţe Eplcaţe: terme sume se repreztă ca ma jos (Cap, ; vez ş reprezetarea acestor umere cu utltarul Btvew): 0 = = 3 Aduarea produce umărul = Itrsec_ Apelul fucţlor trsec Fortra, petru parametr reprezetăr.

13 3 Fşere: Itrsec-.f90 Se eemplfcă apelul, petru o dată real(4) ş real(8), a următoarelor fucţ trsec: Dgts; Epoet; Fracto; Maepoet; Mepoet; Nearest; Huge; Precso; Rage; Spacg; Ty; Epslo. Se testează + epslo(.0) >. Petru semfcaţa fucţlor trsec v. Compaq Vsual Fortra Laguage Referece Maual, 00. Loss_sgf Perderea de semfcaţe. Fşere: Loss_sgf.f90 Proectul mplemetează Eemplul, Cap., 4.. Se cosderă calculul fucţe: f ( ) = ( + ), petru j = 0, j =,, 7, î smplă ş dublă precze. Valorle f () calculate î dublă precze sut cosderate valorle eacte. Se calculează î smplă precze, valorle fucţe g() dată de g( ) =. + + g este trasformata lu f, care evtă calculul dfereţe perderea de semfcaţe. Aaltc, g() = f(). + care produce Se lstează: valorle f() î smplă precze; valorle f() î dublă precze, rotujte la 8 cfre semfcatve; valorle g() î smplă precze. Se observă că: - Valorle f() î smplă precze se alterează odată cu creşterea lu j, datortă perder de semfcaţe. - Valorle g() au 7 cfre semfcatve corecte.

14 4 Rump_pol Polomul lu Rump. Fşere: ma-rump.f90; FP_precs.f90; Se cosderă polomul f (, y) = y + ( y y y ) + 5.5y + /(y) ş evaluarea lu petru = 7767 ş y = Programul lstează valorle polomulu calculate cu 3 vele de precze (oferte de complatorul CVF 6.6), aume: 4 bţ (precze smplă): E+ 53 bţ (precze dublă): E+ 64 bţ (precze etsă): E+7 Valoarea corectă: (obţută cu precze de 8 bţ cfre zecmale de precze). Petru rezultate smlare, obţute cu complatorul FORTE Developer 6 (Fortra 95, Su) v. Loh & Walster (00). Eplcaţe: Ce patru terme a polomulu au valorle: t: E+9 t: E+36 t3: E+36 t4: Astfel, u se produce depăşre de format c petru smpla precze. Dar terme do ş tre sut egal cu apromatv 3, ş astfel, petru reprezetarea cu toate cfrele petru evtarea perder de semfcaţe, este ecesară o precze de cel puţ 3 bţ. Or, char precza cvadruplă (real(6)) u oferă decât 3 bţ. Astfel, petru evaluarea polomulu î forma dată, trebue apelat la u pachet mult-precze cum este, de eemplu, MPFUN, v. Hgh-Precso Software Drectory, 005. Eplcaţa aaltcă este următoarea (Loh & Walster (00)): ş y daţ, satsfac relaţa = 5.5y +. Cu aceasta, terme de ord superor lu î ş y se reduc, ş epresa polomulu deve f (, y) =. y

15 5 Programul lstează ş valoarea lu f (, ), calculată î precze etsă. Specal_Values Valor specale. Fşere: Specal_Values.f90 y Programul lustrează calculul ş tpărrea următoarelor valor specale Cap., 3.5: - Zero cu sem: -0.; ( ) 0. - Ift cu sem: ±./ 0. - NaN (Not a Number): 0./0; (./0) 0; (./0) +(-./0) - Număr deormalzat: Depăşre format (superoară): Depăşre format (feroară): 0-46 Î Project Settgs, se va seta opţuea Eable IEEE Mus Zero Support, î tab-ul Fortra/Floatg Pot. Sum_Armoc Suma sere armoce stratega de sumare. Fşere: Sum-armoc.f90 Programul calculează suma S = L +, 3 4 petru = 0, =, 3,..., 7, astfel: a) Sum_Smallest: de la cel ma mc la cel ma mare smplă precze; b) Sum_Largest: de la cel ma mare la cel ma mc smplă precze; c) Sum_Double: de la mc la mare dublă precze, petru Sum_Double se cosderă valoarea eactă. Se lstează valorle sumelor ş erorle relatve ale prmelor două sume. Se observă, petru 5, că eroarea relatvă a sume (a) este ma mcă decât cea a sume (b).

16 6 Proectul coţe ş sursa petru calculul sume sere armoce alterate. Î Project Settgs, se va seta opţuea "Eable Floatg Pot Cosstecy" Sum_ErrFree Algortm de sumare fără eror. Fşere: Ma-ErrFree.f90; sub-sum_.f90; sub-sum_n.f90; wdth.f90; Proectul mplemetează u algortm de sumare precsă d Ogta T., Rump S.M., ad Osh S., Accurate Sum ad Dot Product (003). Acesta este deft de următor do algortm: Algorthm 3.. Error-free trasformato of the sum of two floatg pot umbers. fucto [, y] = TwoSum(a, b) = fl(a + b) z = fl( a) y = fl((a ( z)) + (b z)) Algortmul 3. trasformă două umere a, b reprezetate FP, î alte două umere FP, y, astfel că: a + b = + y ş = fl( a + b). Algorthm 4.. Cascaded summato. fucto res = Sums(p) π = p; σ = 0; for = : [π, q] = TwoSum(π, p) σ = fl(σ + q) res = fl(π + σ) Algortm sut mplemetaţ pr rutele sum_(a,b,,y) ş sum_n(, p, s_ef, cor). Cu aceşta, se calculează suma d proectul Assoc_sum. Se obţe valoarea corectă. Test_eps Test petru eroarea de rotujre a utăţ.

17 7 Fşere: test_eps.f90 Se defesc (Cap., 3.8): 4 mache _ EPS =.0 ; 3 ULP =.0 ; EPSILON(.0) EPS = ; Se testează că: + ULP >.0 + mache_eps =.0 + EPS >.0 Nose Zgomot umerc î calculul fucţlor v. Cap., 4.. Fşere: Nose.f90; fu.f90; FP_Precs.f90; Proectul mplemetează calculul fucţe 3 f ( ) = (f are o rădăcă trplă î =. ). Calculul se face petru [ a, b], = a + j h; j = 0,,..., N, ude a, b, ş N sut date ma jos. Calculele se fac cu precze mpusă de 4 bţ setată cu subruta fpprecs. Programul are ca eşre u fşer cu valorle ş f (). Cu u program de grafcă, se costrueşte grafcul (, f ( )). Se remarcă următoarele: a) [0.4,.0], N =00: grafcul apare ca o curbă etedă. b) [.9,.], N = 00: grafcul apare ca o curbă cu tagetă dscotuă. c) [.9,.], N = 000: puctele apar stuate îtr-o badă. d) [.99,.0], N = 00: detalere a bez de certtude. Spre eemplfcare, prezetăm grafcul (c).

18 8 Fgura - Zgomot umerc Ulp Calculul lu ULP(), petru o plajă de valor. Fşere: ma-ulp003.f90; ULP()-003.f90; Se defeşte v. Cap., 3.8,

19 9 ULP e P ( ) =, ude: e este epoetul reprezetăr lu î modelul ştţfc, returat de fucţa epoet(); P este precza reprezetăr, î bţ ( P = 4 sau P = 53 ). Se calculează: = + ULP( ) ; = + ULP( ) / Se testează că: > ; =. Petru test, se recomadă o plajă de valor = K 3. Programul lstează parametr reprezetăr lu (î modelul ştţfc), aume fracţa ş epoetul, ULP(), ş verfcă relaţle de ma sus. Folderul coţe sursele petru versuea î smplă precze; sub-folderul dulp coţe sursele petru versuea î dublă precze.

20 0 CAPITOLUL II ECUAŢII NELINIARE Problema: Foldere:. Ecuaţ de forma f() = 0: Bs; Secat; Newto;. Ecuaţ de forma = g(), metoda puctulu f: F; Statoar; Atke; 3. Ssteme de ecuaţ elare: F_Sys; Newto_Sys; 4. Rădăcle poloamelor: C_pol; Pol; Pol_Drect; Pol_Comple; Laguerre; Muller. II- Ecuaţ de forma f() = 0 Petru metodele bsecţe, Newto ş secate, fucţa de test este: f ( ) = e 3 Aceasta admte 3 rădăc stuate î tervalele [-,0], [0,], [3,4]. Apromaţle rădăclor, cerute de metodele umerce (respectv, tervalele care coţ rădăca), se determă pr metode algebrce. Ma smplu, apromaţle rădăclor se pot găs pr specţa grafculu fucţe. Ca eemplu, grafcul fucţe f ( ) = e 3 se dă ma jos. Acesta este costrut cu programul GRAPH, pe baza fşerulu de eşre d programul coţut î folderul Grafc.

21 Fgura Grafcul fucţe f ( ) = e 3 Bs Metoda bsecţe. Fşere: Bs005.f90: subruta metode Ma_Bs005.f90: programul prcpal Fu.f90: subprogram de tp fucto, care defeşte fucţa f(). Epresa fucţe poate clude u parametru p; dacă estă, valoarea lu p este dată de trare. Fucto_epresso.f90, wdth.f90: UTILITARE.

22 Metoda: Fucţa f se presupue deftă ş cotuă pe tervalul [ a, b], luâd valor de seme cotrare î capetele tervalulu, ş avâd o sgură rădăcă î terval. Se defeşte c = ( a + b) / Se a ca ou terval [ a, b] acela dtre [ a, c] ş [ c, b] î care fucţa a valor de seme cotrare la capete; etc. Şrul puctelor c coverge la rădăcă, lar. Subruta metode este: bs(f, a, b, eps, ter, rad, kod, ktp) Parametr formal sut: f: Numele fucţe f(). Este declarat cu atrbutul eteral programul prcpal. a, b: Itervalul care coţe rădăca. eps: Toleraţa. ter: Numărul mam de teraţ lt (trare) / Numărul efectv de teraţ (eşre) rad: Rădăca calculată. kod: Cod de termare a teraţe (utlzat ter): 0: s-a ats toleraţa eps : s-a depăşt lt -: petru tervalul specfcat f(a) f(b) > 0 : rădăcă î a sau b ktp: Cod de tpărre teraţ: 0 (Nu); 0 (Da) Testul petru atgerea toleraţe eps este b c eps, ude [ a, b] este tervalul curet. Metoda ajustează toleraţa eps: dacă eps < ULP(c), se pue eps = ULP(c). Datele de trare se troduc de la termal. Rezultatele se scru î fşerul de eşre ume.rez, ude ume este trodus de utlzator, ş coţ:

23 3 - epresa fucţe f (scrsă de utltarul Fucto_epresso) - [p, dacă estă] - datele de trare a, b, lt, eps - modul de îcheere a teraţe (mesaj, coform codulu kod) - rădăca calculată rad - valoarea f(rad) - umărul efectv de teraţ. Datele de trare petru eemplul de test (3 rădăc): a, b: -, 0; 0, ; 3, 4 eps: E-6 lt: 50; 0; 0 ktp: 0 sau Rezultate: Toleraţa eps atsă. Radac / Număr de teraţ ; ; ; Secat Metoda secate. Fşere: Secat005.f90: subruta metode Ma_Secat005.f90: programul prcpal fu.f90: subprogram de tp fucto, care defeşte fucţa f(). Epresa fucţe poate clude u parametru p. Perod.f90: subrută petru peroada procesulu staţoar Fucto_epresso.f90; wdth.f90: utltare Metoda: Fucţe f cotuă pe u terval î jurul rădăc α. Formula de terare este + = f ( ) ; ; 0 ş = date. f ( ) f ( )

24 4 Apromaţle 0 ş pot îcadra sau u rădăca. Dacă 0 ş sut sufcet de apropate de α (ş α, ar ordul de covergeţă este p. 68. f, f ş f sut cotue), şrul Subruta metode este: secat(f, 0,, eps, lt, rad, kod) Parametr formal sut: f: umele fucţe; 0, : cele două apromaţ ţale cerute de metoda secate. eps: Toleraţa lt: Numărul lmtă de teraţ (trare); umărul efectv de teraţ (eşre) rad: Rădăca calculată kod: Itrare: cod de tpărre a teraţlor: 0 (u); 0 (da) Ieşre: cod de îcheere a teraţe (ter) 0: toleraţa eps atsă : depăşrea umărulu mam de teraţ adms lt : Proces staţoar -: dvergeţă -: umtor ul î formula metode. Teste: Testul petru atgerea toleraţe eps este eps Testul petru dvergeţa locală este 0, ude 0,,, sut tre terate succesve. Acest test u opreşte teraţa. Testul de umtor ul este f ( ) f ( 0) eps _ f, ude toleraţa este aleasă ca eps _ f = E 7 (această valoare se poate modfca). Datele de trare se troduc de la termal.

25 5 Rezultatele se scru î fşerul de eşre ume.rez, ude ume este trodus de utlzator, ş coţ: - epresa fucţe f (scrsă de utltarul Fucto_epresso) - [p, dacă estă] - datele de trare 0, lt, eps - dfereţa curetă df, la îcheerea teraţe - modul de îcheere a teraţe (mesaj, coform codulu kod) - rădăca calculată rad; valoarea f(rad) - umărul efectv de teraţ. Î cazul tpărr teraţlor (ktp 0), dacă procesul mafestă dvergeţă se scre mesajul dvergeţă locală. Datele de trare petru eemplul de test (3 rădăc) se dau ma jos. Ca apromaţ ţale se au capetele tervalelor d metoda bsecţe. 0, : -, 0; 0, ; 3, 4; eps: E-6 lt: 0; 0; 0 ktp: 0 sau Rezultate: Toleraţa eps atsă. Rădăc / Număr de teraţ ; ; ; Observaţe Ca apromaţ ţale s-au luat capetele tervalelor cosderate î metoda bsecţe, ş aceeaş toleraţa eps ca î metoda bsecţe. Aceasta, petru a compara rezultatele metode secate cu cele d metoda bsecţe (aume: valoarea rădăc ş umărul de teraţ) Newto Metoda Newto (o sgură ecuaţe). Fşere: Newto.f90: subruta metode

26 6 Ma_Newto.f90: programul prcpal sub.f90: Perod.f90: subprogram care defeşte (ş returează) valorle fucţe f() ş dervate f (). Epresa fucţe f() poate clude u parametru p. fucţe care returează peroada procesulu staţoar Fucto_epresso; Fucto_epresso-.f90; wdth.f90: utltare. Metoda: Fucţe f cotuă ş dervablă, î vecătatea ue rădăc α. Formula de terare este f ( ) = ; 0 ; 0 = dat f ( ) + Dacă 0 este sufcet de aproape de rădăca smplă α (ş cotue), şrul coverge către α, cu ordul de covergeţă. f, f ş f sut Subruta metode este: Newto(SUB, 0, eps, lt, rad, kod, _dv) Parametr formal sut: SUB: Numele subrute care returează valorle fucţe ş dervate 0: Apromaţa ţală eps: Toleraţa lt: Numărul lmtă de teraţ (trare); umărul efectv de teraţ (eşre) rad: Rădăca calculată kod: Itrare: cod de tpărre a teraţlor: 0 (u); 0 (da) Ieşre: cod de îcheere a teraţe (ter) 0: toleraţa eps atsă : depăşrea umărulu mam de teraţ adms lt : Proces staţoar -: dvergeţă -: dervata fucţe 0 este apromatv ulă. _dv: Numărulde dvergeţe locale Subruta SUB este:

27 7 sub(f, f, ) f: Valoarea fucţe pe ; Epresa fucţe poate clude u parametru p; dacă estă, valoarea lu p este dată de trare. f: Valoarea dervate pe : Apromaţa curetă Observaţe Teste: Se defeşte dfereţa curetă df, pr: df = 0, ude este valoarea terate curete, ş 0 valoarea terate la pasul ateror. - Testul petru atgerea toleraţe eps este: df eps - Testul petru dvergeţă este df > df _ at, ude df_at este dfereţa df de la pasul ateror. Petru aalza tpulu de dvergeţă, satsfacerea testulu de dvergeţă u opreşte teraţa, c produce uma u mesaj î fşerul de eşre. - Testul petru dervată ulă pe este f E 0 ude f = f ( ). - Se ma testează îtâlrea uu proces staţoar. Datele de trare se troduc de la termal. Rezultatele se scru î fşerul de eşre ume.rez, ude ume este trodus de utlzator, ş coţ: - epresa fucţe f (scrsă de utltarul Fucto_epresso) - [p, dacă estă] - datele de trare 0, lt, eps

28 8 - dfereţa curetă df, la îcheerea teraţe - [_dv, dacă estă dvergeţe locale] - modul de îcheere a teraţe (mesaj, coform codulu kod) - rădăca calculată rad; valoarea f(rad) - umărul efectv de teraţ. Datele de trare petru eemplul de test (3 rădăc), sut: 0: -0.5; 0.5; 3.5; eps: E-6 lt: 0; 0; 0 ktp: 0 sau Rezultate: * Tolerata EPS s-a ats: Rădăc / Număr de teraţ ; ; ; Observaţe Ca apromaţ ţale 0, s-au luat mjloacele tervalelor cosderate î metodele bsecţe ş secate, ş aceeaş toleraţă eps. S-a procedat astfel, petru a compara rezultatele metode Newto cu cele d metodele bsecţe ş secate (valoarea rădăc ş umărul de teraţ). Apromaţ ţale ma bue pot f obţute de pe grafcul fucţe f. Cu o apromaţe 0 ma apropată de rădăcă, umărul de teraţ ecesar petru atgerea toleraţe eps va f ma mc Folderul Newto coţe u sub-folder Newto_r. Structura de fşere este aceeaş. Subruta Newto (fşer Newto_r.f90) tpăreşte, î plus, valorle lambda = ( ) /( 0), petru detfcarea rădăclor multple ale lu f Observaţe: Proces staţoar î metoda Newto Fe fucţa: f ( ) = 7 5 cos + 3s

29 9 ş terăm cu apromaţa ţală 0 = 5. (Î fapt, u estă rădăc î vecătatea lu 0 ). Iterarea î metoda Newto duce la dvergeţă locală (îtâltă la pasul 3). Dacă u oprm procesul teratv, atuc, la teraţa 9, apare rezultatul: Iterata 9: (9) = (7) ** Proces statoar de peroada = Rezultatul se verfcă î fgura de ma jos, î care se repreztă grafcul fucţe f ş al tagetelor la grafcul lu f, î puctele de abscsă ş Procesul staţoar apare dacă teraţa u este oprtă câd se îtâleşte dvergeţa cum se face î mod obşut.

30 30 Fgura 3 - Proces staţoar î metoda Newto Eercţu: Iteraţ cu: 0 = 6.; eps = E-7 ş lm = 000. Rezultat: proces staţoar de peroadă 5 Observaţe Petru acest eemplu, metoda secate cu apromaţle ţale 4.9 ş 5. dă dvergeţă locală î prm paş, covergâd apo la rădăca = 0

31 3 II- Ecuaţ de forma = g(). Metoda puctulu f. Ecuaţa de test este = g(), echvaletă cu f ( ) = 0, ude f ( ) = e 3. g () se determă pr prma procedură eplctă de puct f, aume g( ) = Φ( ) f ( ), ude Φ ( ) = p = costat. Petru valorle lu p v. ma jos. F Metoda puctulu f (o sgură ecuaţe). Fşere: F005.f90: subruta metode Ma_F005.f90: programul prcpal G.f90: subprogram de tp fucto care defeşte fucţa g() Perod.f90: subrută petru peroada procesulu staţoar Fucto_epresso_g.f90; wdth.f90: utltare Metoda: Fucţe g, cotuă ş dervablă pe o vecătate [ a, b] a rădăc α. Formula de terare este + = g( ) ; 0 ; 0 = dat Dacă g este cotuă, λ = ma g ( ) <, ş [ a, ], şrul α, lar. [ a, b] 0 b Subruta metode este: F(g,, tol, lm, kod) Parametr formal sut: g: Numele fucţe g(), declarat eteral î programul prcpal. Epresa fucţe poate clude u parametru p. : Itrare: apromaţa ţală; Ieşre: soluţa calculată / ultma apromaţe. tol: Toleraţa petru dfereţa a două valor succesve ale lu. lm: Numărul lmtă de teraţ. kod: Itrare: cod petru tpărrea teraţlor: 0 (Nu); 0 (Da)

32 3 kod : tpăreşte ş valoarea lambda = ( ) /( 0), ude 0, ş sut tre terate succesve. Ieşre: cod de îcheere a teraţe: 0: s-a obţut toleraţa tol. : depăşre a lu lm. : proces staţoar. -: dvergeţă. Testul petru atgerea toleraţe tol este 0 tol, ude este terata curetă, ş 0 terata ateroară. Datele de trare se troduc de la termal. Rezultatele se scru î fşerul de eşre ume.rez, ude ume este trodus de utlzator, ş coţ: - epresa fucţe g (scrsă de utltarul Fucto_epresso_g) - [p, dacă estă] - datele de trare 0, lm, tol - modul de îcheere a teraţe (mesaj) - dcele ultme teraţ, rădăca calculată, valoarea g() - dfereţa curetă = g() Nota Sub-folderul Df coţe fşerele petru metoda î dublă precze Fucţa g, petru ecuaţa de test, este g( ) = p( e 3 ), ude p este o costată. Se au valorle: p = 0. 0; p = ; Datele de trare petru eemplul de test rădăca a trea, sut: 0: tol:.4e-7; lm: 00;

33 33 Rezultate: p = 0.0 Iterata g() ** Dfereta cureta = E-07 p = ** Dfereta cureta = Notă A doua valoare petru p este apropată de p_optm 0.055; v. Eemplul d Cap. 3-II, 3.4. Eemplu de proces staţoar de peroadă : Se cosderă fucţa.78 0.tg( ) g( ) =, + tg( ) ş se terează cu 0 = 0.8, tol = E-7, lm = 000. Se obţe rezultatul: Iterata 844: (844) = (84) ** Proces statoar de peroada = Iterata ** Dfereta cureta = E-06 Eplcaţe: Dervata g (), calculată î smplă precze pe tervalul [ , ], are valoarea , care este foarte apropată de valoarea. Astfel, este realzată codţa petru procesul staţoar de peroadă : g ( ).

34 34 Eercţu: Iteraţ î dublă precze, cu 0 = 0.8, tol = E-4, lm = Statoar Metoda puctulu f, proces staţoar: grafce. Fşere: Stat005.f90: programul prcpal G.f90: fucţa g Fucto_epresso_g.f90: utltar Programul are ca eşre fşerele petru reprezetarea grafcă a uu proces staţoar, aume: Nume-ter.rez: teratele; Nume-g.rez, ume-bs.rez: fucţa g ş prma bsectoare. Datele de trare se troduc de la termal. Acestea sut: - 0,, : Apromaţa ţală; umăr de terate; umăr de terate omse; - Nume: Nume petru costrurea umelor fşerelor de eşre. Datele de eşre costau d două l-tet, urmate de date umerce, ş aume: - Le-tet-: Epresa fucţe g - Le-tet-: Tpul de date d fşer, aume: terate; fucţa g; bsectoarea I-a. -, y: Perech de date umerce, aume: o Nume-ter.rez: k, ): Idce terată terată ( k o Nume-g.rez:, g( )) ( k k o Nume-bs.rez:, ) ( k k k a valorle: k = +,. Notă Dacă programul de grafcă u are capabltatea de a recuoaşte l-tet (ş a le gora), se vor şterge cele două l-tet d fşer (prmele două l), îate de îcărcarea fşerulu î programul de grafcă. Î partcular, programul GRAPH are această capabltate

35 35 Eemplu: Petru eemplul de proces staţoar d metoda puctulu f, datele de trare sut: 0.8; 000; 800; Se omt 800 de terate, petru a reprezeta procesul staţoar (care îcepe la terata 84), pr teratele Grafcele teratelor ş fucţe g sut date ma jos. Fgura 4 - Proces staţoar Grafcul teratelor

36 36 Fgura 5 - Proces staţoar Grafcul fucţe ş prme bsectoare Atke Accelerarea Atke. Fşere: Atke005.f90: subruta metode Ma_Atke005.f90: programul prcpal ga.f90: fucţa g petru Atke Perod.f90: peroada procesulu staţoar Fucto_epresso_g.f90; wdth.f90: utltare Metoda:

37 37 Cu tre terate succesve, +, +, calculate ca î metoda puctulu f, se calculează a ( ) ) ( +, + =, ( ) Valoarea a α este o apromaţe a rădăc (ma buă decât terata următoare,, + g( ) ). + 3 = + Procesul teratv este următorul: = dat; = g ) ; = g ) ; 0 3 a 0, ( 0 ( = ; = g ) ; = g ) ; 4 ( 3 5 ( 4 6 = a 3,5 ; Etc. Metoda Atke are cel puţ ordul, îtr-o rădăcă smplă. Subruta metode este: atke(g, 0, eps, lt, rad, kod) Parametr formal au, î geeral, aceeaş semfcaţe ca la metoda puctulu f. Eplct: g: Numele fucţe g(), declarat eteral î programul prcpal. Epresa fucţe poate clude u parametru p. 0: Itrare: apromaţa ţală; Ieşre: soluţa calculată / ultma apromaţe. eps: Toleraţa v. ma jos. lt: Numărul lmtă de teraţ. kod: Itrare: cod petru tpărrea teraţlor: 0 (Nu); 0 (Da) kod : tpăreşte ş valoarea lambda = ( ) /( 0), ude 0, ş sut tre terate succesve. Ieşre: cod de îcheere a teraţe: 0: s-a obţut toleraţa eps : depăşre a lu lt : proces staţoar

38 38 -: umtor ul î formula metode Formula metode este codată astfel: teratele curete sut 0,,. um =(-) -(-0) cor =(-0)**/um a =0 cor ude um este umtorul, ar cor este corecţa la 0. Testele petru atgerea toleraţe eps sut: ) testul obşut î metoda puctulu f: eps ) testul petru corecţe: df = a - 0; df eps Testul de umtor ul este um = 0. Datele de trare se troduc de la termal. Î programul prcpal, parametrul efectv petru toleraţă este umt tol. Rezultatele se scru î fşerul de eşre ume.rez, ude ume este trodus de utlzator, ş coţ: - epresa fucţe g (scrsă de utltarul Fucto_epresso_g) - [p, dacă estă] - datele de trare 0, lt, tol - modul de îcheere a teraţe (mesaj) - dcele ultme teraţ, rădăca calculată rad, valoarea g(rad) Eemplu de test: Se cosderă aceeaş fucţe g, ca la metoda puctulu f: g( ) = p( e 3 ), ude p este o costată. Se caută rădăca d tervalul [3, 4], cu: apromaţa ţală 0 = 3.7; tol =.4E-7; lt = 0. Se terează petru valor p = 0.0, 0.0, K, 0. 09, ş p = Rezultate eemplfcare petru p = 0.0; p = 0.00:

39 39 p = E-03 Radaca r. Iterata 3: * (3) -() = E-07 * Tolerata talta Radaca = ; Numar terat = 3 g(rad) = p = E-03 Radaca r. -; -0:.45767E E-06 ** Numtor ul Radaca = ; Numar terat = 5 g(rad) = Observaţe Petru comparaţa umărulu de teraţ d metoda Atke, cu cele d metoda puctulu f: Îtr-u pas, Atke calculează două terate ( ş, cu 0 dat); astfel, umărul de terate calculate este umărul teraţlor afşat de Atke. Petru p = 0.0: Atke calculează 6 terate, faţă de 47 î metoda puctulu f Atke\Atke-G Sub-folder, petru metoda Atke cu fucţa G(). Fşere: Atke_G005-.f90; Ma-Atke_G005.f90; ga.f90 9; Perod.f90; Fucto_epresso_g.f90; wdth.f90. Semfcaţa fşerelor este aceeaş ca î Atke. Metoda este: + = G( ),

40 40 ude ( g( ) ) G( ) = g( g( )) g( ) + Subruta metode este: atke_g(g, 0, eps, lt, rad, kod) Parametr formal au aceeaş semfcaţe ca la Atke. Metode este codată astfel: teratele curete sut a ş a0. um =g(g(a0)) -*g(a0) +a0 cor =-(g(a0)-a0)**/um a =0 +cor Testele petru toleraţă se pu astfel: ) testul d metoda puctulu f: g( a0) a0 eps ) testul petru corecţe: df = a a0 ; df eps. Datele de trare se troduc de la termal. Parametrul efectv petru toleraţă este umt tol (î programul prcpal). Rezultatele se scru î fşerul de eşre ume.rez, ude ume este trodus de utlzator, ş coţ aceeaş date ca rezultatele d Atke. Petru eemplul de test d Atke, se obţ rezultatele: p = E-03 * XTOL talt Radaca = ; Numar terat = 4 g(rad) = p = E-03 * XTOL talt Radaca = ; Numar terat = 7 g(rad) =

41 4 II-3 Ssteme de ecuaţ elare Se cosderă sstemul de ecuaţ cu ecuoscute f (,, K K f (,,...,..., ) = 0 ) = 0 Vectoral, sstemul se scre f ( ) = 0, ude = M, f f ( ) = f ( ) M. ( ) Se otează tot cu, şrul argumetelor lu f, adcă,, K. Petru metoda puctulu f, sstemul dat se pue sub forma sstemulu echvalet = g(). Aceasta se realzează pr procedura eplctă de puct f g( ) = A( ) f( ), ude A() este o matrce esgulară. Eemplu de test: f (, y) + y 5 0, f (, y) y e 0. = Apromaţle ţale se au: (0) (0) = (, ), ş = (0.5, ) = Acestea se determă d tersecţa grafcelor celor două curbe. Notă Dfcultatea majoră costă î găsrea apromaţlor ţale, î cazul 3

42 4 Fgura 6 Determarea apromaţlor ţale F_Sys Metoda puctulu f petru ssteme de ecuaţ elare. Fşere: F_Sys005.f90: subruta metode Ma-F_Sys005.f90: programul prcpal fcs.f90: subruta care returează valorle fucţlor f () orm$.f90: Elm.f90: orma- a uu vector v() subruta petru elmarea Gauss

43 43 Fucto_epresso_Sys.f90; wdth.f90: utltare Metoda: (0) Iterare cu matrcea costată A = [ F( )] Iteraţa este deftă de = A f ( ( + ) ( ) ( ) ), cu actualzare după 3 paş. F() este jacobaul lu f. Dervatele parţale ale fucţlor f () (elemetele jacobaulu) se calculează umerc, cu varaţa delta = Schema de terare este următoarea. Se defeşte δ = ( + ) ( + ) ( ) ş rezultă:, F( ) δ = f ( ( 0) ( + ) ( ) ) (a) = + δ ( + ) ( ) ( + ) Ecuaţa (a) este u sstem lar î ecuoscuta Gauss. Testele de oprre a teraţe sut: δ ( + ) + lt eps Metoda are u ord de covergeţă < p <. ( +) δ, care se rezolvă pr elmare Subruta metode este FIX_SYS(fcs,,, tol, delta, lt, f, kod), Parametr formal sut: : ordul sstemulu (umărul de ecuaţ) fcs: umele subrute care calculează valorle fucţlor f () : tablou () petru valorle, K,

44 44 tol: toleraţa delta: varaţa petru calculul dervatelor parţale lt: umărul lmtă de teraţ f: tablou f(), petru valorle f ( ), K, f ( ) kod: cod de îcheere a teraţe (ter): 0: toleraţa atsă : umărul lmtă de teraţ ats -: Pvot < prag elmarea Gauss Eemplul de test: Se obţ rezultatele: Radaca r. Apromata tala: tol:.000e-06; lt: 0 XTOL ats Soluta X: F(X): E E-08 Numar de terat = 5 Radaca r. Apromata tala: tol:.000e-06; lt: 0 XTOL ats Soluta X: F(X): E E-08 Numar de terat = 7

45 45 Newto_Sys Metoda Newto petru ssteme de ecuaţ elare. Fşere: Newto_Sys.f90: subruta metode Ma-Newto_Sys.f90: programul prcpal fc.f90: subruta care returează valorle fucţlor f () jfc.f90: subruta care returează jacobaul lu f () orm$.f90: orma- a uu vector v() Elm.f90: subruta de elmare Gauss Perod_Sys.f90: fucţe care returează peroada procesulu staţoar Fucto_epresso_Sys.f90, wdth.f90: utltare Metoda: Iteraţa este deftă de = ( ) ( ) [ F( )] f( ) ( + ) ( ) ude F() este jacobaul lu f: f f f... f F( ) = = j f f f... Elemetele jacobaulu se calculează aaltc. Schema practcă de terare este:, F( ) δ = f ( ( ) ( + ) ( ) ) (a) = + δ ( + ) ( ) ( + ) Corecţa ( +) δ se calculează pr rezolvarea sstemulu lar (a). Iteraţa se opreşte pr testele: ( + ) δ eps,

46 46 Număr de teraţ lt ude eps ş lt sut toleraţa, ş respectv, umărul lmtă de teraţ. Pe lâgă acestea, teraţa se ma opreşte dacă Jacobaul este sgular, sau dacă se îtâleşte u proces staţoar. Metoda are ordul de covergeţă p =. Subruta metode este Newto_Sys (fc, jfc,,, lt, tol, f, kod, _dv) Parametr formal sut: : ordul sstemulu (umărul de ecuaţ) fc: umele subrute care calculează valorle fucţlor f () jfc: umele subrute care calculează jacobaul lu f; elemetele jacobaulu sut returate î tabloul jf(,). X: tablou () petru valorle, K, tol: lt: toleraţa umărul lmtă de teraţ f: tablou f(), petru valorle f ( ), K, f ( ) kod: cod de îcheere a teraţe (ter): 0: toleraţa XTOL atsă : umărul lmtă de teraţ ats : Proces staţoar -: Dvergetă -: Pvot < prag elmarea Gauss (Jacoba sgular) Eemplul de test: Se obţ rezultatele:

47 47 Radaca r. Apromata tala: tol:.000e-06; lt: 0 Norma corecte: E-08 XTOL ats Soluta X: F(X): E E-08 Numar de terat = 4 Radaca r. Apromata tala: tol:.000e-06; lt: 0 Norma corecte:.8579e-08 XTOL ats Soluta X: F(X): E E-09 Numar de terat = 5 II-4 Rădăcle poloamelor C_pol Calculul valor polomulu, drect ş mbrcat (schema Horer), pe u terval [ a, b], cu pasul h. Fşere: C_pol005.f90; sub_pol.f90 Metoda: Eemplfcăm pe u polom de gradul 4. Geeralzarea este medată. Forma dată: 3 4 ( ) = a0 + a + a + a3 a4 p +

48 48 Forma mbrcată: p ( ) = a + ( a + ( a + ( a3 + a4 0 ) ) ) Calculul efectv se face cum urmează:. Calculul pr cclu: a) Forma dată: p =a(0) zk =. do k =, zk =zk*z p =p +a(k) *zk eddo Observaţ că, petru mmzarea umărulu operaţlor, puterle lu se calculează succesv pr k + = k. b) Forma mbrcată: Calculul pe forma mbrcată face î următorul cclu, care calculează succesv epresle d parateze: p =a() pd =dble(a()) do k =-,0,- p =a(k) +z*p pd =dble(a(k)) +dble(z)*pd eddo p ş pd sut valorle î smplă, respectv dublă precze, î forma mbrcată. (pd este declarată î dublă precze.). Calculul pr fucţa p(), î smplă precze: Se calculează valoarea polomulu, î forma dată ş cea mbrcată. Î acest calcul, membrul drept se calculează î format dublu ets (64 bţ, î coprocesor), ş rezultatul se rotujeşte la precza smplă. sub_pol.f90: subrută care calculează valoarea polomulu î modul (smplă precze). C_pol.f90: programul prcpal, care calculează î modurle a, b.

49 49 Datele de trare sut: - : gradul polomulu - a, a, K, a0 : coefceţ polomulu (î această orde); - a, b, h: tervalul [ a, b] ş pasul h Acestea se ctesc dtr-u fşer de date. Fşerul de date este utlzat ş ca fşer de eşre petru rezultatele p, p, pd. Eemplu de test: p 3 ( ) = = ( ) 3 Fşerul de date ş rezultate: Calcul pr cclu: p-dat p-imbrcat p-imbrcat Dubla precze E E E E E E E E E-03 Err(p_Dat) Err(p_Imbrcat) E E E E E E-09 Calcul pr fucte: p-dat p-imbrcat E E E E E E-03

50 50 Se costată: - La calculul pr cclu: valoarea cea ma precsă este pd (cu ecepţa valor î = 0.9). - La calculul pr fucţe: u estă dfereţe ître forma dată ş mbrcată, ş valorle cocd cu valorle pd. Pol Metoda Newto petru poloame Algortmul cu reducerea gradulu Fşere: Polall.f90: subruta metode Ma-Pol.f90: programul prcpal Metoda: Se cosderă polomul p ( ) = a + a + a + K+ 0 Defm coefceţ b = a ; k = ak + bk + a b ξ, k =,,..., 0 ude b = p( ). Defm polomul cât, pr: 0 ξ q( ; ξ ) = b + b b, adcă p ( ) = ( ξ ) q( ; ξ ) + p( ξ ). Formula de terare este = p( ) q( ; ) +, î care: q ; ) = q( ; ξ ) =, ξ = (. Subruta metode: Pol(, a, 0, eps, tma,rad, b, er, _dv) Calculează o rădăcă a lu p().

51 5 Parametr formal: : gradul polomulu a: vectorul coefceţlor: a0, a,..., a 0: apromaţa ţală eps: toleraţa petru metoda Newto tma: Itrare: umărul mam de teraţ. Ieşre: umărul efectv de teraţ rad: rădăca / ultma apromaţe b: coefceţ lu q() - returaţ petru o oua rădăcă. er: cod de trare/eşre: - Itrare: tpărrea teraţlor (0: da; 0: u) - Ieşre: cod de îcheere a teraţe: 0: toleraţa eps atsă : umărul mam de teraţ ats : Proces staţoar -: Dvergeţă -: Numtor ul _dv: umărulde dvergeţe locale Formula de terare este codată astfel: = 0 df Observaţ - Testul petru toleraţă este: df eps - Testul petru dvergeţă locală este: ude df df _ at df _ at este df de la pasul ateror. Programul prcpal: Este scrs astfel ca să determe u umăr specfcat de rădăc, pr reducerea succesvă a gradulu (deflaţe), ş aume: după găsrea ue rădăc, rădăca

52 5 următoare se caută ca rădăcă a lu q(), care are gradul cu o utate ma mc decât precedetul polom. Rădăcle sut apo, purfcate, pr terare î polomul orgal. Algortmul cu reducerea gradulu este ma puţ recomadat, îtrucât: reducerea gradulu poate f u proces stabl; se cer, î plus, teraţ de purfcare a rădăclor. Alteratva este algortmul fără reducerea gradulu v. folderul Pol_Drect. Fşerul de trare coţe următoarele date (scrse pe l): Le_tet: ttlul probleme; ma. 80 caractere;, r, ktp: gradul polomulu, umăr de rădăc de calculat, cod de tpărre a teraţlor; a, a K a : coefceţ polomulu: (î această orde);,, 0 eps, tma: toleraţa, umărul mam de teraţ; 0(:r): apromaţle ţale, î umăr de r. Datele de eşre se scru î cotuarea datelor de trare, ş coţ: rad: Rădăca calculată, sau ultma terată dacă u s-a ats toleraţa; Codul de îcheere a teraţe; Numărul de teraţ; Valoarea p(rad). Eemplu: Polomul Laguerre de gradul 6. Fşerul de trare/eşre este: Laguerre de ordul e ** Radacle pr deflate: Rad Cod Iterat p(rad) E E E-03

53 E E E-0 ** Radacle polomulu: E E E E E E-0 Pol_Drect Metoda Newto petru poloame fără reducerea gradulu. Fşere: Pol_drect.f90: subruta metode Ma-Pol_drect.f90: programul prcpal GetFle.f90, OpeFle.f90: subrute petru selectarea fşerulu de trare Perod.f90: fucţe petru calculul peroade procesulu staţoar wdth.f90: utltar Metoda: Metoda este aceeaş ca î POL. Deosebrea este că acum, programul prcpal calculează rădăcle pr terare î polomul orgal (fără reducerea gradulu). Acest procedeu se recomadă faţă de cel descrs î POL. Subruta metode: POL_drect(, a, 0, eps, tma, rad, b, er, _dv) Parametr formal sut aceeaş ca la subruta metode POL, cu dfereţa că b este varablă scalară, care returează valoarea polomulu pe rădăca calculată. Datele de trare ş de eşre, sut aceleaş ca petru fşerul de trare d POL.

54 54 Î plus, programul prcpal tpăreşte ş semfcaţa codurlor de îcheere a teraţe. Notă: Fşerul de trare se selectează d fereastra de dalog stadard. Eemplu: Polomul Laguerre de gradul 6. Fşerul de trare/eşre este: Laguerre de ordul e ** Radacle: Radaca Cod Iterat p(radaca) E E E E E E-0 Cod Semfcate 0 * Tolerata EPS atsa Pol_Comple Metoda Newto petru poloame: coefceţ real ş rădăc reale/complee. Fşere: Pol_comple.f90: subruta metode Ma-Pol_comple.f90: programul prcpal GetFle.f90, OpeFle.f90: subrute petru selectarea fşerulu de trare Perod_Comple.f90: fucţe petru calculul peroade procesulu staţoar wdth.f90: utltar

55 55 Metoda ş formula de terare sut aceleaş ca petru POL, ar algortmul este cel d POL_Drect. Coefceţ polomulu sut real, ş se pot calcula rădăcle complee. Î plus, programul prcpal oferă posbltatea versăr coefceţlor polomulu adcă: se troduc coefceţ a k, ş se calculează rădăcle polomulu cu coefceţ / a. k Datele de trare ş eşre sut aceleaş ca petru fşerul de trare d POL, cu ecepţa că, după coefceţ polomulu se trduce o dată logcă petru versarea coefceţlor; Valoare: T (da), sau F (u) v. fşerul de ma jos. Apromaţle rădăclor trebue să fe complee. Dezavatajul este că trebue cuoscute apromaţ complee sufcet de apropate de rădăc. Eemplul de test: Se cosderă polomul p( ) = , care este desvoltarea lu ( ) ( )... ( 7). Coefcetul lu polomulu perturbat: ~ 7 6 p ( ) = se modfcă, d 8, î Se calculează rădăcle 5 +K Fşerul de trare/eşre este: Polomul: (-)*... *(-7) - perturbat: F e-6 00 (,0) (,0) (3,0) (4,0) (5., 0.5) (5.,-0.5) (7,0) Radaca Iterata 4: (4) = (5) ** Proces statoar de peroada = 37

56 56 Radaca Nr. de dvergete locale (.99893, E+00) 4 ( , E+00) 9 ( , ) 9 ( , ) 9 ** Radacle: Radaca Cod Iter p(radaca) ( ) 0 (.087E ) ( ) 0 4 ( E ) ( ) 0 3 ( E ) ( ) 4 ( E ) ( ) 0 ( E E-05) ( ) 0 ( E E-05) ( ) 0 7 ( E ) Cod Semfcate 0 * Tolerata EPS atsa ** Proces statoar Laguerre Metoda Laguerre. Metoda: Formula de terare este z p( z ) p ( z ) ± H ( z ) + = z,

57 57 ude: este gradul polomulu; H ( z ) = ( )[( ) p ( z ) p( z ) p ( z )], ar semul d faţa radcalulu este semul lu p z ). Se arată că petru o rădăcă smplă, ordul de covergeţă este 3 (petru o rădăcă multplă, ordul este ). ( Fşere: Lag005.f90: programul prcpal ş subruta compute_polval care calculează valoarea polomulu (î smplă precze) Subruta metode este apelată d Bbloteca IMSL, aume: ZPLRC (, coef, rad) Parametr de apel sut: : gradul polomulu coef: tablou (real); coefceţ polomulu a(0:) rad: tablou (comple); rădăcle calculate rad(). Programul apelat trebue să coţă strucţuea: use umercal_lbrares Apelul lu ZPLRC u cere apromaţ ţale v. IMSL Math/Lbrares (999). (Subruta ZPLRC returează uma rădăcle.) Datele de trare se ctesc dtr-u fşer de date. Acesta coţe: Ttlul probleme: tet de ma. 80 caractere : gradul polomulu a, a K a : coefceţ polomulu (î această orde).,, 0 Iverse: Dstace: [z: dată logcă; versarea sau u a coefceţlor. Valor: T/F. dată logcă; calculul dstaţe rădăclor la u puct. Valor: T/F. comple; puctul z la care se calculează dstaţa. Se troduce uma dacă Dstace are valoarea T; î ua d formele: comple: (, y) ; do real:, y sau y] Notă:

58 58 Ultmele tre date servesc la a verfca dacă rădăcle aparţ sau u dsculu utate cu cetrul î puctul z = (, y) ; aceasta terve la aprecerea stabltăţ metodelor umerce î ma mulţ paş petru ecuaţ dfereţale ordare. Codul este scrs astfel că: - Dacă ambele date Iverse ş Dstace sut false, ele se pot omte. - Dacă data Dstace este falsă, ea se poate omte. Datele de eşre se scru î cotuarea datelor de trare, ş coţ: - Rădăcle calculate ş valorle polomulu pe rădăc. - Dacă Dstace are valoarea T, se tpăresc ş dstaţele rădăclor la puctul z. Eemplu: Fşerul de trare/eşre este: Ttlu: (-)*... *(-7) - perturbat: Radac: ( , E+00) ( , ) 3 ( , ) 4 ( , E+00) 5 ( , E+00) 6 ( , E+00) 7 ( , E+00) Valor polom: (.08976E-03, E+00) ( E-04, E-05) 3 ( E-04, E-05) 4 ( E-04, E+00) 5 (9.7077E-04, E+00) 6 ( E-04, E+00) 7 (.087E-04, E+00)

59 59 Sub-folderul dlaguerre coţe sursele petru versuea î dublă precze. Muller Metoda Muller. Fucţe f, cotuă ş cu dervate cotue pâă la ordul 3, pe o vecătate a rădăc. Metoda: Metoda cere tre apromaţ ţale 0,, ale rădăc. (Nu este ecesar ca acestea să fe ordoate după mărme.) Se costrueşte polomul de terpolare (de gradul ) care trece pr puctele, f ), ude f = f ( ) ; apromaţa următore 3, este ua d rădăcle lu p() ( v. ma jos. Apromaţ reale pot coduce la zero-ur complee. Î partcular, apromaţle reale se pot lua forma:, ± h. Polomul de terpolare Newto pe odurle,, 0 (v. INTERPOLARE), este: p ) = f + f ( ) + f ( )( ), ( 0 Coefceţ sut dfereţele dvzate ale fucţe f pe odurle,,, aume: j k f = f ) ; ( f j f j f = f [, j ] = ; j f jk f jk f j = f [, j, k ] =, k Fe polomul de terpolare desvoltat î ) : p ) = a( ) + b( ) + c ( Coefceţ a, b, c, se găsesc pr: a = f 0 ; b f + f 0 f0 Formula de terare este = 3 b ± b = ; c = f c 4ac (

60 60 Ca apromaţe următoare, se a valoarea 3 care este cea ma apropată de, adcă rădăca petru care 3 este cel ma mc. Petru aceasta, semul d faţa radcalulu se a astfel ca umtorul să fe cel ma mare, ş aume: - Petru rădăc reale, se a semul lu b (dacă b = 0, orce sem); - Petru rădăc complee (clusv cazul î b este comple), semul petru care umtorul este cel ma mare î modul. Eplct: puem b = b ± b 4ac. Dacă b >, atuc formula de terare este:, b 3 = c / b ; altfel, 3 c / b =. După determarea lu 3 : - Dtre puctele, = 0,, se eclude puctul cel ma îdepărtat de 3 (cel petru care 3 este cel ma mare). - Se atrbue 3 lu. Celelalte două pucte dev 0 ş. - Se procedează la o ouă teraţe (cu oua secveţa 0,, ). Testul de oprre a teraţe este 3 EPS, ude EPS este toleraţa; remarcaţ că = 3 _ ateror. Covergeţa: metoda Muller are ordul de covergeţă p =.84 petru o rădăcă smplă; v. Atkso (978). Petru o rădăcă compleă multplă, covergeţa poate f ma îceată. Fşere: Muller005.f90: subruta metode select.f90: subruta de selecţe a valorlor 0,, (petru teraţa următoare). Ma_Muller005.f90: programul prcpal f.f90: fucţa f()

61 6 Fucto_epresso.f90; wdth.f90: utltare Subruta metode: muller(f, 0,,, eps, ter, rad, kod) Parametr formal: f: Numele fucţe f 0,, : Apromaţle ţale eps: Toleraţa ter: Numărul lmtă de teraţ (trare); umărul efectv de teraţ (eşre) rad: Rădăca calculată kod: Itrare: cod de tpărre a teraţlor: 0 (u); 0 (da) Ieşre: cod de îcheere a teraţe (ter): 0: Toleraţa eps atsă : lt depăşt : Rădăca î apromaţle ţale -: Radcal d umăr egatv Subruta muller apelează subruta select (0,,, 3). Datele de trare se troduc de la termal, s costau d: - ume: umele fşerulu de eşre (acesta prmeşte etesa.rez) - Est_p: dată logcă. Valor: T (true) sau F (false) - [p: dacă Est_p = T ] - eps, lt: toleraţa, umărul lmtă de teraţ -, h: apromaţa, pasul - kod: cod de tpărre a teraţlor Programul prcpal pue (îate apelul subrute muller): 0 = h; = + h Datele de eşre se scru î fşerul de eşre ume.rez, ş sut următoarele: - epresa fucţe f (scrsă de utltarul Fucto_epresso) - [p, dacă estă]

62 6 - apromaţle 0,, - lt, eps - modul de îcheere a teraţe (mesaj, coform codulu kod) - rădăca calculată rad; valoarea f(rad) - umărul efectv de teraţ. Eemplu de test: f ( ) p = e, cu p = 3; se caută rădăca d vecătatea valor 0.8. Se au: 0 = 0.8, h = 0. (Rezultă apromaţle ţale: 0.6; 0.8;.0) eps = E-6, lt 0; ktp = 0. Fşer de eşre: Metoda MULLER f =ep() -p** p: Radaca r. Apromat: EPS:.000E-06; LNIT: 0 Iter 0 * * Tolerata EPS atsa Radaca = Numar de terat = 3 ; f(radaca) =.4968E-08 Grafcul fucţe ş polomulu de terpolare se dau ma jos.

63 63 Fgura 7 Metoda Muller: grafcul fucţe ş polomulu de terpolare Muller\Muller_Comple Metoda Muller petru rădăcle ue fucţ complee. Fşere: Muller_Comple005.f90; Ma_Muller_Comple005.f90; f_comple.f90; select_comple.f90; Fucto_epresso.f90;; wdth.f90; Subruta metode: Muller_comple(f, h, z0, z, z, eps, ter, rad, kod) Semfcaţle parametrlor sut aceleaş ca la Muller, cu deosebrle: - datele umerce ş fucţa f sut declarate complee

64 64 - programul este scrs î dublă precze Datele de trare se ctesc dtr-u fşer de date (specfcat de utlzator). Acesta are structura: - Ttlul probleme: tet de ma. 80 caractere - Est_p: dată logcă. Valor: T (true) sau F (false) - [p: dacă Est_p = T ] - rad: umărul rădăclor de calculat - z(:rad): rad apromaţ reale sau complee - h: pasul. Valoare reală. - eps, lt: toleraţa, umărul lmtă de teraţ - ktp: cod de tpărre a teraţlor: 0 (da); 0 (u) Datele de eşre se scru după datele de trare, ş coţ: rădăca, valoarea fucţe pe rădăcă, ş umărul de teraţ (petru rad rădăc). Eemplu de test: Petru polomul d eemplul de la Pol_Comple, se terează cu eps = E 0 ; lt = 0; apromaţa reală = 6 ; h = 0.. Fşerul de trare/eşre este următorul: Wlkso_7 F 6 0. E Metoda MULLER (Comple) f =(z-)*(z-)*(z-3)*(z-4)*(z-5)*(z-6)*(z-7) -0.00*z**6 EPS:.000E-0; LNIT: 0 # Radaca Iterat f = ( E-04, E-04)

65 f = ( E-04, E-04) Rădăca este găstă î 7 teraţ. Cu apromaţa 5 se găseşte aceeaş rădăcă î 9 teraţ. =

66 66 CAPITOLUL III SISTEME DE ECUAŢII LINIARE Sstemul de ecuaţ lare este A = b, ude A est matrce, ar ş b vector coloaă cu coordoate. Rezolvarea se poate cosdera petru ma mulţ terme lber b. III- Metode drecte Gauss Elmarea Gauss cu pvotare parţală. Fşere: Elm.f90: subruta metode Ma-EIm.f90: programul prcpal wdth.f90: utltar Fşer de date: E.dat Metoda: Sstemul dat se trasformă î sstemul echvalet U = g, cu matrcea U superor trughulară, cum urmează. Sstemul dat se otează () () A = b. La pasul curet k ( k =,, K, ): Sstemul este ( k ) ( k ) A = b. Se lucrează cu lle = k, K,, d (k ) A ş (k ) b. (Lle, K, k, procesate ( k ) ateror, rămâ eschmbate). Cocret, se operează cu sub-matrcea A ( k :, k : ) ( k ) ş sub-coloaa b ( k : ) a termelor lber.

67 67 = ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) (, ) (, () () () () () () () ) ( k k k k k k j k k k k k kj k kk k k k k k k k k m a a a a a a a a a a a a a a a a a K K K K K K O K K A ; = ) (.. ) ( ) ( ) ( ) (, () () ) ( k k k k k k k k k m b b b b b b b Presupuem 0 ) ( k kk a v. ma jos pvotare, ş defm multplcator de la pasul k: ) ( ) ( k kk k k k a a m = ; k,, + K = Petru k,, + K = : la k se îmulţeşte cu k m, ş se aduă la la. Rezultă elemete ule î coloaa k, sub elemetul dagoal (k ) kk a. La k rămâe eschmbată. No coefceţ ş terme lber vor f: k b m b b k j a m a a k k k k k k kj k k j k j,...,,..., ; ) ( ) ( ) ( ) ( ) ( ) ( + = = + = = + + La pasul se otează, petru coveeţă, ) ( ) (, b g A U = =, ş sstemul deve g U =. Eplct:

68 68 u u u... kk u u u u. k... k g g. = g k. g Acest sstem se rezolvă pr substtuţe îapo: = g / u ; k = ( g k ukj j ) / ukk ; k =,,..., j= k + Pvotarea parţală: La fecare pas k, se caută elemetul de modul mam d sub-coloaa a ( k :, k), umt pvot; fe acesta găst î la I k. Dacă pvotul este ma mare decât u prag ş I > k, atuc se schmbă lle k ş I (î (k ) A ş î (k ) b ). Dacă pvotul este ma mc decât pragul, elmarea Gauss se opreşte, îtrucât: - dacă pvotul este ul, matrcea este sgulară. - dacă pvotul este eul dar ma mc decât pragul, matrcea este aproape sgulară. Număr de operaţ: Petru = mare, umărul de operaţ î elmarea Gauss este: 3 NOP Guass 3 Subruta metode: ELIM (, b, A, B, prag, kod, kodprt) Parametr formal: : umărul ecuaţlor b: umărul de terme lber A(, ): matrcea coefceţlor

69 69 B(, b): matrcea termelor lber prag: prag petru pvot 0. kod : cod petru elmarea Gauss: kod = 0: o.k.; kod 0: pvot 0 (pvot < prag) kodprt: cod de tpărre v. ma jos. ELIM face pvotare parţală. Dacă pvotul este ma mc decât pragul, se produce u mesaj de eroare. Valoarea prag este setată de programul prcpal la E-6 (aceasta se poate modfca). Matrcea U se stochează î trughul superor d A. Soluţa este returată î coloaele d B. Datele de trare se ctesc dtr-u fşer de date, specfcat de utlzator. Acesta are structura: - Ttlu: tet de ma. 80 caractere -, b: umărul de ecuaţ; umărul de terme lber. - Matrcea coefceţlor A:. Se scre aşa cum e dată - pe l ş coloae. - Terme lber b: Se scru pe l: b l a terme lber. - cod_ Iversare_Coefceţ, cod_ Tpărre: cod_iversare_coefceţ: dacă este 0, atuc se rezolvă sstemul cu a (, j) =./ a(, j). cod_ Tpărre: dacă este 0: Se tpăresc permutărle ş pvoţ. - check_tet: tet de ma. 0 caractere. Prmul caracter este semfcatv, aume: C, c, P, p: se face proba A = b (cocret, se tpăreşte vectorul A b). Observaţe Dacă se cere proba, atuc programul prcpal salvează A ş B îate de apelul lu ELIM Datele de eşre se scru î cotuarea datelor de trare v. ma jos Eemplul-: Matrce 3 3, terme lber.

70 70 3 A = 4 ; b = 7. 8 Fşerul de trare/eşre: Test: soluta_ =,, proba * Soluta petru terme lber r. () = () = (3) = * Soluta petru terme lber r. () = E-07 () = (3) = * Proba A =b: Soluta r. : A* -b E E E+00 Soluta r. : A* -b E E E+00

71 7 Eemplul-: Matrce sgulară Fşerul de trare/eşre (E.dat): Matrce 44: sgulara * 0! kodiv, kodprt Check Permutare, Pvot: <-> E-07 La 4: Pvot = E-07 * Pvot <.00E-06! * Sstemul u se poate rezolva. Notă Acest eemplu arată de ce s-a ales pragul egal cu E-6 Gauss_AB Elmarea Gauss lucrul cu matrcea etsă. Fşere: Elm003.f90; Ma-Elm005.f90; wdth.f90; Subruta metode:

72 7 ELIM (AB,, col, prag, kod) Parametr formal: AB(, col): matrcea coefceţlor etsă cu terme lber. : umărul ecuaţlor. col: col = + b, ude b este umărul de terme lber (col este deft î programul prcpal). prag: prag petru pvot 0. kod : cod petru elmarea Gauss: kod = 0: o.k.; kod 0: pvot 0 (pvot < prag). Metoda este aceeaş ca la Gauss, cu deosebrea că acum, subruta metode lucrează cu matrcea etsă AB(, col). Soluţle sut returate coloaele matrc etse. + : b ale Datele de trare se ctesc dtr-u fşer de date. Acesta are aceeaş structură ca la Gauss, cu deosebrea că u ma coţe codul de tpărre: - Ttlu: tet de ma. 80 caractere -, b: r. de ecuaţ; r. de terme lber. - Matrcea coefceţlor A:. Se scre aşa cum e dată - pe l ş coloae. - Terme lber b: Se scru pe l: b l a terme lber. - cod_ Iversare_Coefceţ: cod_iversare_coefceţ: dacă este 0, atuc se rezolvă sstemul cu a (, j) =./ a(, j). - check_tet: tet de ma. 0 caractere. Prmul caracter este semfcatv, aume: C, c, P, p: se face proba A = b. Observaţe Dacă se cere proba, atuc programul prcpal salvează matrcea AB îate de apelul lu ELIM Datele de eşre se scru î cotuarea datelor de trare ş coţ soluţa ş proba (dacă este comadată pr check_tet).

73 73 LU Rezolvarea pr descompuerea LU (calculul drect al factorlor L ş U) metoda Doolttle. Cu pvotare parţală. Fşere: Prmele 5 fşere costtue subrutele metode. LUdecomp.f90: descompuerea LU LUsolve.f90: substtuţe îapo apvt-lu.f90: pvotare parţală compute_a_.f90: calculul pvotulu (îate de pvotare) swap_row.f90: schmbare de l Ma-LU.f90: programul prcpal wdth.f90: utltar Metoda: Metoda costă î paş:. Factorzare A = LU, cu pvotare parţală. A = L U. Rezolvarea sstemulu Ly = b, pr substtuţe îate; rezultă y. L y = b 3. Rezolvarea sstemulu U = y îapo; rezultă., pr substtuţe U = y Formulele petru calculul elemetelor lu L ş U cu l ales arbtrar (eul): l = ales arbtrar (eul), =,,.., u j = a j k= l k u kj, j =, +,, (a) l

74 74 Dacă u 0, =,, rezultă: l j = a j k= l jk u k, j = +,, (b) u Elemetele lu L s U se determă î următoarea secveţă, coform scheme de ma jos (se calculează elemetele d la d U, ş coloaa d L). l +, l l M, u, u, + K u, Î partcular, la =, se calculează uma u - d (a). Metoda Doolttle pue l =. 3 Numărul de operaţ este acelaş ca î elmarea Gauss ( 3). Pvotare: Pvotarea trebue făcută îate de calculul elemetelor lu U ş L. Adcă, pvotul u trebue calculat ş testat îate de aplcarea formulelor (a) ş (b). Petru metoda Doolttle, pvotul este dat de (cf. a): u = a lk k = u k Aşa cum se arătă î Eemplu-, trebue pvotat ş dacă pvotul este foarte mc. Practc, se testează dacă pvotul este ma mc decât u prag. Două strateg de pvotare parţală sut dspoble, comadate prtr-u cod: căutarea pvotulu mam eul, sau căutarea prmulu pvot eul. Pragul este ales ca E 6. Prma stratege oferă, î geeral, o precze ma buă, î satsfacerea verfcăr soluţe, îsă cosumă ma mult tmp de calcul. Observaţe - Dacă u se pvotează, atuc avem LU = A.

75 75 - Dacă se pvotează, atuc avem LU = A, ude A = PA, ar P este o matrce de permutare de l. Matrcea A se obţe d A, permutâd lle î aceeaş orde î care se permută la pvotare. Sstemul care se rezolvă este A = b, ude b este b cu lle permutate î ordea de la pvotare Calculul determatulu: Determatul matrc A = LU este det( A ) = u u K u Determatul matrc A va f _ l det( A ) = ( ) det( A ), ude _l este umărul de schmbăr de l î cursul pvotăr. Subruta de descompuere LU (Pasul ) este: LUdecomp(A,, order, do_pvt, kodpvot, kod) LUdecomp face: - Stocare compactă: L ş U î A, î trughul feror, respectv superor. (Elemetele dagoale d L fd u se ma stochează.) - Pvotare parţală - pr apel apvt-lu; aceasta apelează compute_a_.f90 ş swap_row.f90. Ordea llor (după pvotare) e stocată î vectorul order; order se utlzează petru ordoarea membrlor do - la rezolvare (î LUsolve). Parametr formal: A: matrcea sstemulu : umărul de ecuaţ order: vector îtreg do_pvt: dată logcă; valor: T/F: pvotează sau u. kodpvot: cod petru stratega de pvotare: kodpvot 0: pvot mam; kodpvot = 0: prmul pvot eul. kod: cod de test pvot:

76 76 kod = 0: o.k.; kod <0: pvot <prag Subruta de rezolvare este: LUsolve(LU, b,,, order) Paş ş 3 de ma sus. Elemetele d b sut re-arajate coform schmbărlor de l. Soluţa este returată. Parametr: LU: echvaletul LU a lu A (stocare compactă) b: vectorul termelor lber : soluţa order: vector îtreg Observaţe Î LU ş LUsolve, produsele scalare se calculează î dublă precze Subrutele se apelează astfel (î programul prcpal): call LUdecomp(A,, order, do_pvt, kodpvot, kodlu)! Soluta petru "b" terme lber: do kb =, b call LUsolve(A, b(:, kb),,, order) b(:, kb) = eddo Datele de trare se ctesc dtr-u fşer de date. Acesta coţe următoarele date (scrse pe l): - Ttlu: tet; ma. 80 caractere -, b: umăr de ecuaţ; umăr de terme lber. - Matrcea coefceţlor A: (Se scre pe l s coloae). - Terme lber b: Se scru pe l: b l a terme lber. - Cod_Tpărre, Cod_versare_ coefceţ: 0 / 0; 0 / 0. o Cod_Tpărre = 0: Soluţa, î fşerul de date.

77 77 Petru Cod_Tpărre 0, se tpăresc î plus datele de ma jos. o Cod_Tpărre = : Soluţa, la dsplay; Matrcle L s U, î fşerul de date. o Cod_Tpărre : Vectorul order, la fecare pvotare; Determatul lu A; Dacă u(, ) < prag: Se tpăreşte ş la a matrc A (la pasul respectv). o Cod_versare_ coefceţ 0: a (, j) =./ a(, j) - Cod pvotare, kod_pvot: o Cod_pvotare: logc, valor T/F: Da / Nu. o kodpvot: 0: pvot mam; = 0: prmul pvot eul. - Check_tet: ma. 0 caractere; prmul caracter este semfcatv: C, c, P, p / alt caracter: Verfcă / Nu verfcă - soluţa. F, f: Se verfcă soluţa ş LU = PA (PA este A permutat). Observaţe Dacă se cere verfcarea, atuc programul prcpal salvează A ş b îate de apelul lu LUdecomp Datele de eşre se scru î fşerul de date, după datele de trare. Eemplele ş de ma jos, se referă la sstemul: A = ; b = Eemplu (Fşer de date u3.dat): Matrce 44 cu u =0; u33=0. Fara pvotare

78 * 3 0 F 0 Check Pas - ORDER: Pas - ORDER: Pas 3 - ORDER: Pas 4 - ORDER: Numar de schmbar de l = 0 Matrcea L Matrcea U Determat(A) = * Soluta petru terme lber r. () = () =

79 79 (3) = (4) = * Proba A =b: A* -b E E E E-08 Eemplu (Fşer de date u3-p.dat): Matrce 44 cu u =0; u33=0. Pvotare * 3 0 T Check Pas - ORDER: pas (test) - order: 4 3 u(,) = Pas - ORDER: pas 3 (test) - order: 4 3 u(3,3) = Pas 3 - ORDER: Pas 4 - ORDER: 4

80 Numar de schmbar de l = Matrcea L Matrcea U Determat(A) = * Soluta petru terme lber r. () = () = (3) = (4) = * Proba A =b: A* -b E E E E+00 LU\Crout Rezolvarea pr descompuerea LU metoda Crout.

81 8 Fşere: LUdecomp-Crout.f90; LUsolve-Crout.f90; apvt-crout.f90; compute_a Crout.f90; swap_row.f90; Ma-Crout.f90; wdth.f90; Semfcaţle sut aceleaş ca ale fşerelor d metoda Doolttle. Metoda: Metoda este aalogă cu Doolttle, cu deosebrea că acum se aleg arbtrar u, ar pvotul este l. Metoda Crout pue u =. LU_Comple Descompuere LU matrce compleă, metoda Doolttle Fşere: LUdecomp_z.f90; LUsolve_z.f90; apvt-lu_z.f90; compute_a z.f90; swap_row_z.f90; Ma-LU_comple.f90; wdth.f90; Semfcaţle sut aceleaş ca ale fşerelor d metoda Doolttle. Fşerul de date are aceeaş structură ca fşerul de date d LU, cu partculartăţle: - Matrcea A: elemetele se troduc pr partea reală ş partea magară; - Terme lber b: se troduc ca valor complee, î forma (, y). Paratezele sut oblgator. Eemplu: A = ; b = Fşerul de date este (test-p.dat): Test: soluta_ =(,0) (,0) (,0); soluta_ =(,-) (,) (0,3)

82 (5,-) (4,-3) (,-) (0,5) (6,-7) (-,) 0 T FProba Pas - ORDER: 3 ( , E+00) Pas - ORDER: ( , ) Pas 3 - ORDER: ( , ) Numar de schmbar de l = Matrcea L Matrcea U Determat(A) = * Soluta petru terme lber r. () = E-06 () = E-07 (3) = E-06

83 83 * Soluta petru terme lber r. () = () = (3) = E * Proba A =b: Soluta r. : A* -b ( E-07, E-07) ( E-07, E-07) 3 (-.9099E-07, E+00) Soluta r. : A* -b ( E+00, E-07) ( E-07, E-07) 3 (-.9099E-07, E-07) * Proba LU =PA: L*U ( , E+00) ( , ) ( , ) ( , ) ( , ) ( , ) ( , ) ( , ) ( E+00, ) LU_Comple\Crout_Comple Descompuere LU matrce compleă, metoda Crout Fşere: LU_Decomp_Crout_z.f90; LUsolve-Crout_z.f90; apvt-crout_z.f90; compute_a Crout_z.f90; swap_row_z.f90; Ma-Crout_Comple.f90; wdth.f90; Semfcaţle sut aceleaş ca î LU metoda Crout.

84 84 Cholesky Metoda Cholesky cu matrcea L. Metoda: Se aplcă petru u sstem cu matrce smetrcă ş poztv deftă. Petru o astfel de matrce estă o descompuere LU, î care U este traspusa lu L, adcă T A = LL. Metoda Cholesky u ecestă pvotare. Paş rezolvăr sut aceeaş ca paş LU, aume: ) Factorzare: T A = LL ) Calculul lu y, pr substtuţe îate: Ly = b T 3) Calculul soluţe, pr substtuţe îapo: L = y. Petru = mare, umărul de operaţ î metoda Cholesky este NOP Cholesky 3 6 Adcă, NOP Cholesk NOPGauss. Fşere: Cholesky.f90; Forward.f90; Back.f90; Loca.f90; Ma_Cholesky-004.f90; wdth.f90 Subrutele metode sut: cholesky(a, kod): Descompuerea Cholesky (Pasul ) forward(l,b): Substtuţe îate (Pasul ) back(l,b): Substtuţe îapo (Pasul 3) Ele se apelează astfel (î programul prcpal): call Cholesky(a, kod) do k =,b call forward(a,b(:,k)) call back(a,b(:,k)) eddo

85 85 Parametr formal sut: a: vector de dmesue ( +) /. Acesta stochează: La trare: matrcea A (trughul feror, pe l); La eşre: matrcea L (trughul feror). kod: cod de eşre d descompuerea Cholesky: 0: ok; -: Matrcea u este poztv deftă. l: vector de dmesue ( +) /. Acesta stochează matrcea L. b: vector de dmesue, care stochează la trare terme lber, ş la eşre soluţa. Aume: Forward: b, ş y; Back: y, ş. La acestea, se adaugă o fucţe care calculează adresa elemetulu A(, j) î vectorul de stocare a, aume Loca(, j). Ma_Cholesky-004.f90: programul prcpal Observaţe Programul prcpal stochează matrcea A î vectorul a de dmesue ( +) / wdth.f90: utltar Datele de trare se ctesc dtr-u fşer de date, care coţe: Ttlu: tet, ma. 80 caractere., b: = umărul de ecuaţ; b = umărul de terme lber. a: trughul feror d A. b: terme lber; se scru pe l: b l a terme lber. kod: Cod de tpărre check_tet: tet, ma. 0 caractere. Prmul caracter e semfcatv: C, c, P, p : se verfca soluţa calculată. Datele de eşre se scru î cotuarea datelor de trare. Eemplu (Matrcea A, d Jegs (980), p. 06):

86 A = ; b = 5. 6 Fşer de date (.dat): Test petru Cholesky Proba Matrcea L * Soluta petru terme lber r. - 3: 3 : : : * Proba A =b: Soluta r. : A* -b E E E-07 Soluta r. : A* -b E E-07

87 E-07 Soluta r. 3: A* -b E E E+00 Cholesky_S Metoda Cholesky cu matrcea S. Metoda: Metoda este aceeaş cu cea epusă la Cholesky. Cu deosebrea că acum, matrcea de referţă este matrcea T S = L T. Factorzare: A = S S. Astfel, paş sut: T. Calculul lu y, pr substtuţe îate: S y = b 3. Calculul soluţe, pr substtuţe îapo: S = y. Programul prcpal stochează acum, î vectorul a, trughul superor al lu A (pe coloae). Datele de trare ş eşre sut aceleaş ca la Cholesky, cu deosebrea că matrcea A se troduce pr elemetele trughulu superor. Fşere: Cholesky_S.f90; Forward.f90; Back.f90; Loca.f90; Ma_Cholesky_S.f90; wdth.f90; Semfcaţle sut aceleaş ca ale subrutelor d Cholesky. Eemplu: Eemplul d Cholesky, petru coloaele ş 3 de terme lber. Fşer de date:.dat Cholesky_Bad Cholesky petru matrc badă (smetrce ş poztv defte).

88 88 Matrce badă: elemetele ue l sut alcătute d: - Elemetul dagoal, u umăr de LIM- elemete la stâga acestua, ş LIM- elemete la dreapta. - Celelalte elemete d le sut zero. Numărul LIM se zce sem-lăţmea de badă. LIM repreztă umărul elemetelor d sem-badă, clusv elemetul dagoal. Observaţe Ître elemetele d badă, pot f ş elemete ule, dar elemetele stuate î afara bez sut toate ule. Î acest ses, LIM este sem-lăţmea de badă mamă De eemplu, o matrce 6 6, cu LIM = 3, are structura: a a a Smetrc a a a a a a a a a a46 a 56 a66 Metoda: Matrcea badă se presupue smetrcă ş poztv deftă. Descompuerea T LL sau S T S poate f făcută lucrâd eclusv î badă. Î ceea ce urmează se cosderă descompuerea T A = S S, lucrâd cu sem-bada superoară. Paş sut ce de la Cholesky_S. ) Descompuerea Cholesky: Elemetele actve la u pas al descompuer, sut coţute îtr-u trugh cu laturle LIM umt trughul actv. Î cursul procesulu, trughul actv coboară cu câte o le î badă. Metoda utlzează u vector de lucru Y, de dmesue NY, ude se defesc: NY 0 = LIM ( LIM + ) / ; NY = NY 0 + LIM. Acest vector este costtut d două părţ:

89 89 - Sub-vectorul Y( : NY 0 ), de dmesue LIM ( LIM +) / : serveşte ca frot de lucru, petru descompuerea Cholesky; î acestea se geerează elemetele trughulu actv la u pas (trugh cu laturle LIM). - Sub-vectorul YA( NY 0 + : NY ), de dmesue LIM : ţal, stochează matrcea A, pe l. Î cursul descompuer Cholesky, stochează lle procesate ale matrc A. Y YA LIM (LIM+)/ LIM LIM LIM Fgura 8 - Tablourle Y ş YA ) Soluţa: Aceasta se calculează pr substtuţe îate ş îapo (paş ş 3). Petru alte cosderaţ prvd metoda (stocare, algortm), v. Cap. 4, 5.6. Fşere: AA.f90: fucţe care geerează elemetul (, j) al matrc badă A Cholesky_Bad.f90: descompuerea Cholesky î badă Loca.f90: fucţe care calculează adresa elemetulu A(, j) î vectorul Y Lof.f90: Locul î frot : adresa uu elemet d trughul actv, î vectorul Y. Ma-Cholesky_Bad_005.f90: programul prcpal Solve.f90: calculează soluţa wdth.f90: utltar Fşer de date: b6-3.dat Datele de trare se ctesc dtr-u fşer de date, care coţe: Ttlu: tet, ma. 80 caractere., LIM, b: = umărul de ecuaţ; LIM = sem-lăţmea de badă (clusv elemetul dagoal); b = umărul de terme lber.

90 90 A: sem-bada superoară d A, aume: se scru l de LIM elemete; petru ultmele l se adaugă elemete ule (la dreapta), pâă la împlrea umărulu de LIM elemete. b: terme lber: Se scru pe l; b l a terme lber. kod: cod de tpărre: kod = 0: se tpăreşte soluţa; kod 0: se tpăreşte ş matrcea S; check_tet: kod : se tpăreşte ş proba T S S = A. tet, ma. 0 caractere. Prmul caracter este semfcatv: C, c, P, p: se verfca soluţa. Eemplu: Se cosderă sstemul deft de: A = ; 4 Smetrc 4 4 b = 0 0 Fşer de date (b6-3.dat): Test petru Cholesky: matrce bada - sem-bada superoara * 0 0 Check Matrcea A:

91 Matrcea S: * Soluta petru terme lber r. - : : : : : : : * Proba A =b: Soluta r. : A* -b E E E E E E+00 Soluta r. : A* -b.9099e E-07

92 E E E E-07 III- Aalza eror ş codţoare Numar_Codte Calculul umărulu de codţe al ue matrc, după orma- ş orma-. Metoda: Se dă sstemul A = b. Cosderăm o perturbaţe r a termelor lber, adcă o ~ terme lber b = b + r, ude r / b este mc. Sstemul deve A ~ ~ = b. Notăm perturbaţa soluţe pr e = ~, ş avem e / Cod( A), Cod( A) r / b î care: Cod(A) = A A -. Numărul Cod(A) este umărul de codţe al matrc A. Avem Cod ( A). - Dacă Cod(A) ~ : A se zce be-codţoată; e / este mc, adcă este de ordul lu r / b. - Dacă Cod(A) >> : A se zce rău-codţoată; e / poate f mare, adcă e / >> r / b. Numărul de codţe depde de orma cosderată. Î partcular, se defeşte Cod ( A) ρ( A) ρ( A ), = î care: ρ(a) este raza spectrală a matrc A, deftă de ρ ( A) = ma λ ( A) ude λ ( A), = sut valorle propr ale matrc A. Avem, petru orce ormă,, Cod ( A) Cod( A). Numărul Cod (A) se calculează pr

93 93 ma λ λ σ ( A) Cod ( A) =. m λ λ σ ( A) Programul calculează umărul de codţe petru ormele A = ma j a j. ş., defte pr: Aceasta se zce orma llor, ş este mamul sumelor modulelor elemetelor, pe l. A = ma j a j Aceasta se zce orma coloaelor, ş este mamul sumelor modulelor elemetelor, pe coloae. Fşere: Ma-Numar_Codte.f90;Normlf.f90; Norm.f90; Elm004.f90; wdth.f90; Ma-Numar_Codte.f90: programul prcpal Normlf.f90, Norm.f90: orma- ş orma-, ale ue matrc Elm004.f90: elmarea Gauss; aceasta serveşte petru calculul matrc verse. wdth.f90: utltar Subruta de elmare Gauss este ELIM (, b, A, B, prag, kod). Parametr au aceleaş semfcaţ ca la ELIM d Gauss (cu deosebrea că, ître parametr, u ma apare codul kodprt). Datele de trare se ctesc dtr-u fşer de date, cu structura de ma jos. Datele de eşre se scru î fşer, după datele de trare. Fşer de date (trare/eşre): Ttlu: tet, ma. 80 caractere : ordul matrc A Matrcea A: ; se scre aşa cum e dată - pe l ş coloae Cod_Iversare_Coefceţ, Cod_Tpărre: 0 / 0.

94 94 - Cod_Iversare_Coefceţ 0: se face a (, j) =./ a(, j) - Cod_Tpărre 0: se tpăreşte ş A. Cod_Norma: cod petru ormă. Valor: 0: orma-ft (orma llor); : orma- (orma coloaelor) (sau, alt umăr decât 0 sau ): orma-: Nu este mplemetată; se a mplct, orma-ft. Eemplu: Test: ! Cod orma Matrcea versa: Norma edefta: Se a Norma-ft (orma llor) Norm(A) = Norm(A-vers) = Numarul de codte = Hlbert Calculul verse matrc Hlbert. Metoda: Matrcea Hlbert de ordul este:

95 95 H = M M Matrcea Hlbert este cuoscută ca fd rău-codţoată, ş aume, cu atât ma răucodţoată cu cât ordul este ma mare. Iversarea se face î modul obşut, aume: Coloaele () ale matrc verse se calculează rezolvâd sstemele lare matrc utate de ordul. ( ) ( ) H = e,, =, ude () e sut coloaele Fşere: Ma-Hlbert004.f90: programul prcpal Elm004.f90: elmarea Gauss wdth.f90: utltar Î prcpu, petru această problemă se pot utlza orcare d metodele epuse ateror, petru ssteme lare geerale (Gauss, LU). Avatajul este că, programul prcpal geerează matrcea Hlbert de ordul, ş terme lber petru ordul (coloaele matrc utate). (Î loc de, specfcarea acestor date î fşerul de trare, cum ar f ecesar î metodele petru o matrce geerală.) Rezolvarea se face pr elmare Gauss, pr apelul subrute ELIM. Parametr formal sut aceeaş ca la subruta ELIM d Gauss (cu deosebrea că ître parametr u ma fgurează codul kodprt). Datele de trare se troduc de la termal ş costau î: ordul ; o dată logcă (T/F) petru verfcarea sau u, a verse calculate X. Petru verfcare, se calculează produsul ude I este matrcea utate de ordul. H X ; ar trebu să avem proba H X = I, Faptul că matrcea Hlbert este rău-codţoată, se poate costata d următoarele rezultate:

96 96 - Elemetele verse calculate sut afectate de eror cu atât ma mar, cu cât ordul este ma mare. (Erorle se aprecază î raport cu valorle eacte care se cuosc aaltc, sau î raport cu valorle calculate î dublă precze); - Iversa calculată verfcă tot ma rău proba, odată cu creşterea lu : adcă, erorle H X I sut tot ma mar. Eemplu: Petru = 5, produsul H X este: E E E E E E E E E E E E E E E E III-3 Metode teratve Jacob Metoda Jacob petru ssteme lare. Eemplu umerc: Fe sstemul: = = = 4

97 97 Rezolvăm fecare ecuaţe =,, 3, î raport cu ecuoscuta, căutâd ca aceasta să fe ecuoscuta cu coefcetul cel ma mare d ecuaţe, evetual rearajâd ecuaţle. Itervertd ecuaţle ş 3, avem: + = (/ 8) (/ 8) 4 + = / 7 + (/ 7) ( / 7) 3 = / 9 ( / 9) (/ 9) Sau matrceal: = 4 / 7 / 7 / 9 / 9 / 8 0 / 9 / 8 / (') care este de forma = g + M ( m+ ) ( m) Se terează, cu apromaţa ţală (0) T = [ 4 / 7 / 9] ; testul de oprre a teraţe ( m+ ) ( m) este E 6. La teraţa rezultă soluţa (.0,.0,.0). Metoda: Fe sstemul dat A = b. Se rezolvă fecare ecuaţe î raport cu ecuoscuta. Eplctâd se obţe: = ( b a ) / a, =,,, j j=, j j S-a presupus a 0. Iteraţa Jacob va f: (0) ( m+ ) = arbtrar = ( b a j j=, j ( m) j ) / a, =,,..., ; m 0 ( m+ ) ( m) Testul de oprre a teraţe este eps.

98 98 Metoda Jacob se ma zce metoda teraţlor smultae, petru că, coordoatele ale soluţe se calculează depedet uele de altele. (Petru alt mod de calcul v. metoda Gauss_Sedel, ma jos.) Codţe sufcetă de covergeţă: Matrcea A este dagoal domată, adcă avem: a > aj, =, j=, j Petru alte cosderaţ prvd metoda, v. Cap. 4-IV. Fşere: Jacob.f90: programul prcpal care mplemetează metoda Norm.f90: orma- a uu vector wdth.f90: utltar Datele de trare se ctesc dtr-u fşer de date. Acesta are structura: - Ttlu: le-tet, ma. 80 caractere. - : ordul matrc - Matrcea A: ; se scre pe l ş coloae aşa cum este dată. - Termeul lber b: se scru î le, valor b. - eps, lt: toleraţa, umărul lmtă de teraţ. - kodprt: cod de tpărre teraţ: 0 / 0: Da / Nu. - check_tet: tet de ma. 0 caractere. Prmul caracter este semfcatv: C, c, P, p: se face proba se tpăreşte vectorul A b. Datele de eşre se scru î fşer, după datele de trare v. ma jos. Eemplul umerc de ma sus: Fşerul de trare/eşre (E.dat): Eemplu pt. Jacob

99 e Proba Tolerata atsa. Numar de terat: Soluta: Proba "A-b": E E E-06 Gauss_Sedel Metoda Gauss-Sedel. Se modfcă metoda Jacob, astfel că, la calculul coordoate (m) se utlzează valorle ( m),, deja calculate, care î geeral, sut apromaţ ma bue ale soluţe. ( m) Eemplu: Cosderăm eemplul umerc d Jacob. Ecuaţle se îlocuesc cu cele de ma jos, care ar trebu să ofere o covergeţă ma rapdă: + () (0) = (/ 8) (/ 8) (0) () () = / 7 + (/ 7) ( / 7) (0) 3 () () 3 = / 9 ( / 9) (/ 9) () Îtr-adevăr, cu (0) T = [0 0 0] ş aceeaş toleraţă 6 E, soluţa (.0,.0,.0) se obţe la teraţa 9. Rezdualul mam este 0.0.

100 00 Metoda: Formulele geerale ale metode Gauss-Sedel sut: (0) ( m+ ) = arbtrar = ( b j= a j ( m+ ) j a j j= + ( m) j ) / a, =,,..., ; m 0 ( m+ ) ( m) Testul de oprre a teraţe este eps. Metoda Gauss-Sedel se ma zce metoda teraţlor succesve, petru că la u pas m +, m 0, de îdată ce o coordoată a soluţe este calculată, ea se utlzează ( m +) j î ecuaţle petru coordoatele următoare, > j. ( m +) Codţ sufcete de covergeţă: - matrcea A este dagoal domată. - matrcea A este smetrcă ş poztv deftă. Câd ambele metode Jacob ş Gauss-Sedel coverg, metoda Gauss-Sedel coverge ma rapd. Petru alte cosderaţ prvd covergeţa, v. Cap. 4-IV. Fşere: Gauss_Sedel.f90: programul prcpal orm.f90: orma- a uu vector wdth.f90: utltar Datele de trare se ctesc dtr-u fşer de date. Acesta are aceeaş structură ca ş fşerul de date d Jacob. Eemplu (E.dat): Eemplul de la Jacob. Rezultatele sut, acum: Tolerata atsa. Numar terat: 9

101 0 Soluta: () = () = (3) = Proba "A-b": Sor Metoda relaăr (Succesve Over-Relaato). Metoda: Reluăm formula metode Gauss-Sedel: ( m+ ) ( m+ ) = ( b aj j aj j= j= + ( m) j ) / a, =,,..., ; m 0 Formula se pue sub forma următoare, aduâd ş scăzâd (m) î membrul do (observaţ că acum, î a doua sumă, dcele j a valor de la ş u de la + ): ( m+ ) ( m) ( m+ ) ( m) = + ( b aj j aj j ) / a,, j= j= = Termeul care se aduă la m+ m este dfereţa ( ). Metoda SOR costă î (m) îmulţrea aceste dfereţe cu u factor de accelerare (sau relaare) ω >. Îtrucât ω >, metoda se zce supra-relaare. Alegerea lu ω se dscută ma jos. Formula metode SOR este dec ( m+ ) ( m) ( m+ ) ( m) = + ω ( b aj j aj j ) / a,, j= j= sau, eplctâd (m) d a doua sumă: = ( m+ ) ( m+ ) ( m) ( m) = ω ( b aj j aj j ) / a + ( ω),, j= j= + =

102 0 Se otează epresa d prma parateză cu z (aceasta este coordoata a terate ( m +) ( m +) d metoda Gauss-Sedel.). Formula de terare este echvaletă cu următoarele ecuaţ cosderate petru =, : z ( m+ ) = ( b j= a j ( m+ ) j a j j= + ( m) j ) / a, ( m+ ) = ω z ( m+ ) + ( ω) ( m) Î cele ma multe cazur, valoarea optmă a lu ω satsface relaţa < ω <. Î practcă, se poate alege ω, astfel: se utlzează valor ω de test, pe u umăr lmtat de teraţ; se alege ca valoare optmă acel ω, petru care covergeţa este cea ma rapdă. Fşere: SOR.f90: programul prcpal orm.f90: orma- a uu vector wdth.f90: utltar Datele de trare se ctesc dtr-u fşer de date. Acesta are aceeaş structură ca ş fşerul de date d Jacob, cu deosebrea: după datele eps, lt, se troduce data: - omega: factorul de accelerare ω Eemplu: Cosderăm eemplul de ma jos. Petru acesta, metoda Gauss-Sedel face 7 de teraţ ş dă soluţa (7) = [ ] T. Alegem ω =. 3 (valoarea optmă). Se obţ rezultatele de ma jos. Fşerul de trare/eşre: Test petru Gauss-Sedel & SOR. Soluta:,,,,

103 E P Tolerata atsa. Numar terat: 6 Soluta: () = () = (3) = (4) = (5) = Proba "A-b":

104 04 CAPITOLUL IV VALORI ŞI VECTORI PROPRII Metodele se găsesc î folderul EIGEN, î sub-folderele: Power; Power_Comple; Iverse_Power_Shft; Iverse_Power_Comple; Sm_Iter: metoda puter ş varate ale acestea. Jacob; QR: metodele Jacob ş QR. Problema de valor propr (sumar) Fe dată matrcea A, reală sau compleă. Dacă vectorul 0 ş scalarul λ satsfac relaţa A = λ, () atuc: λ se umeşte valoare propre, ar vectorul propru asocat lu λ. Dacă ş y sut asocaţ cu λ, atuc ş α + βy, α, β scalar, este asocat lu λ. Dacă P este o matrce esgulară, matrcea A = P AP se zce smlară cu A. P se zce matrce de trasformare. Matrcle smlare au aceleaş valor propr. Dacă sut vector propr a lu A, vector propr a lu A se găsesc d relaţa = P. Ma multe metode umerce trasformă matrcea A îtr-o matrce smlară A, de o formă ma smplă, determâd valorle propr ş vector propr a matrc A ; apo, se determă vector propr a lu A, cu relaţa de ma sus. Polomul caracterstc: Relaţa () este ecuaţa d care se găsesc λ ş. Aceasta se ma scre ( A λ I) = 0 () ude I este matrcea utate. Eplct,

105 05 a a a λ M a a a λ M K K M K a 0 a 0 = M M M a λ 0 (') Codţa ca () să abă soluţ etrvale, este det( A λ I) = 0. Eplct, p( λ) = a a a λ M a a a λ M K K M K a a a M λ = 0 (3) p(λ) se zce polomul caracterstc al matrc A, ş p(λ) = 0 ecuaţa caracterstcă. Fe determatul desvoltat: p ( K λ + c λ) = ( ) λ + cλ + + c Propretăţ ale coefceţlor ş valorlor propr: c = det(a) ; λ λ K = det( ). λ A ( a ; + λ + + λ = c = ) λ K. a Notă: Tr(A ) = se zce urma matrc A. a Î geeral: c = ( ) Suma morlor prcpal de ord a matrc A. Observaţ. Ordoarea valorlor propr: Valorle propr se ordoează î şrul λ, λ, K, λ. Î acest şr, o rădăcă multplă de ordul r, se repetă de r or. Uzual, valorle propr se deează î ordea descrescătoare a modululu, adcă λ λ K λ. Valoarea propre λ se zce domată. Mulţmea valorlor propr { λ,, } se zce spectrul matrc A. =

106 06. Vector propr asocaţ ue valor propr: După determarea valorlor propr, vector propr asocaţ cu λ se găsesc puâd λ = λ î ('), ş rezolvâd sstemul lar ş omoge ('). - Dacă A este reală: Î geeral, λ poate f comple, ş atuc vectorul propru asocat cu λ este comple. Dacă A ş λ sut real, atuc vectorul propru este real. - Dacă A este compleă: Î geeral, valorle propr ş vector propr sut mărm complee. Î partcular, uele dtre acestea pot f ş reale Subspaţu propru ş dmesuea acestua: Sstemul (') este omoge, astfel că dacă, y sut soluţ, atuc α + βy sut soluţ. Adcă, lu λ î este asocat u subspaţu lar S de soluţ. Se arată că: Dmesuea subspaţulu S este ma mcă decât sau egală cu ordul de multplctate a rădăc λ Notâd r = ordul de multplctate a rădăc λ, ş p = dmesuea subspaţulu S, avem: p r. Cu alte cuvte, estă cel mult r vector lar depedeţ î S. Dacă p < r, valoarea λ se zce defectvă; î acest caz, ş matrcea A se zce defectvă. ( r se ma zce multplctate algebrcă, ar 3. Determarea efectvă a sstemulu propru: Petru calculaţa practcă ( > 3 ), u se recomadă: p multplctate geometrcă.) - Rezolvarea drectă a ecuaţe caracterstce. Aceasta, datortă faptulu că problema calcululu rădăclor uu polom este foarte sesblă la mc perturbaţ î coefceţ; aceste perturbaţ apar d erorle de rotujre. - Calculul drect al vectorlor propr, d (').

107 07 Metode umerce petru găsrea valorlor propr λ, ş a vectorlor propr asocaţ (), sut prezetate î cotuare. Matrc hermtee ş utare Operaţa aplcată uu vector sau ue matrc otează traspus-cojugata. Dacă este u vector, respectv A o matrce, atuc: T = ; T A = A Eplct: A = [ a j ], = [ A a j ], avem: a j = a j.. Î epresle ateroare, bara otează cojugata: = ] ; A = a ]. Petru u vector real, sau o matrce reală, operaţa reve la traspuere: [ [ j T = ; T A = A. Î partcular, petru u scalar, operaţa reve la cojugare: s = s. Matrcea A se zce hermtaă, dacă Eemplu de matrce hermtaă: 7 A = A = A. Remarcaţ că elemetele dagoale sut reale, ar elemetele smetrce sut cojugate. O matrce reală este hermtaă, dacă este smetrcă ( T A = A ). O matrce hermtaă se zce poztv deftă, dacă 0 A > 0 ( A este real). T Î partcular, o matrce reală este poztv deftă, dacă: 0 A > 0. Matrc utare: O matrce se zce utară, dacă U U = I ; echvalet, U = U. O matrce reală este utară dacă T U U = I, sau T U = U Valorle propr ale ue matrc utare au modulul egal cu..

108 08 Propretăţ ale matrclor hermtee (î partcular, reale ş smetrce): P. Dacă A este hermtaă, ş are valorle propr { λ } dstcte sau u, atuc: (a) Estă o matrce utară U, astfel că dagoalzează pe A), ş avem: U AU este dagoală (se zce că U U AU = dag λ, K, λ ). ( (b) Estă vector propr lar depedeţ care formează o bază ortoormată î (c) Valorle propr sut reale C (aceşta sut coloaele lu U); Î partcular, petru A reală ş smetrcă: T (a-) Estă U utară ş reală, astfel că U AU = dag λ, K, λ ). ( (b-) Estă vector propr lar depedeţ; aceşta formează o bază ortoormată î R (coloaele lu U); (c-) Valorle propr sut reale, ş vector propr sut real Avem ş propretatea: P'. Dacă A este hermtaă (reală ş smetrcă) ş poztv deftă, atuc valorle propr ale lu A sut reale ş poztve Produs scalar ş propretăţ de ortogoaltate:. Spaţu vectoral real V Fe u vector d V, ş matrcea coloaă a coordoatelor sale îtr-o bază a lu V ( R ). Dacă matrcea A reală, este smetrcă ş poztv deftă, se defeşte produsul scalar î raport cu matrcea A, pr: T <, y > = Ay = y A Î partcular, petru T A A = I, acesta deve produsul scalar stadard:

109 09 T <, y > = y = y Avem: A T < y, > =<, y > ; < y, > =<, y >. A Vector ş y se zc ortogoal (relatv la produsul scalar), dacă, y > = 0, sau <, y > = 0 < A Astfel: - Vector ş y sut ortogoal relatv la matrcea A, dacă T Ay = 0, sau y T A = 0. - Vector sut ortogoal, dacă T y = 0, sau y T = 0.. Spaţu vectoral comple V Fe u vector d V, ş matrcea coloaă a coordoatelor îtr-o bază a lu V ( C ). Dacă A este o matrce hermtaă ş poztv deftă, se defeşte produsul scalar î raport cu matrcea A, pr: T T <, y > = Ay = y A. A (Ultma egaltate rezultă d aceea că scalarul său). Produsul scalar deft de <, y > = T y = y A = I este: s =<, y > este egal cu traspusul A Avem: < y, > = <, y >, ş < y, > = <, y >. A A Ortogoaltatea a do vector se defeşte ca îate, pr codţa, y > = 0, sau <, y > = 0 Observaţe: Dacă avem, y > = 0, avem ş y, > = 0 < A < A Astfel: - Vector, y sut ortogoal î raport cu A, dacă: T T Ay = 0, sau y A = 0. < A

110 0 - Vector, y sut ortogoal,dacă: T y = 0, sau y = 0. P. Dacă A este hermtaă, atuc: - Vector propr asocaţ la două valor propr dstcte sut ortogoal: dacă λ λ, atuc = 0 ş = 0. - Avem ş: A 0, A 0. = = (Dacă A hermtaă este ş poztv deftă, vector, sut ortogoal relatv la matrcea T A.) Dacă A este reală ş smetrcă: - Vector propr asocaţ la două valor propr dstcte sut ortogoal: T 0, T 0. = = - Avem ş: T A 0, T A 0. = = (Dacă A reală ş smetrcă, este ş poztv deftă, vector, sut ortogoal relatv la matrcea A) Câtul Raylegh Fe A o matrce compleă (sau reală). Fe v C u vector arbtrar, ş defm ρ ( v) = v Av v v ρ (v) se umeşte câtul Raylegh. Propretate-: Dacă este vector propru asocat cu λ, atuc ρ () = λ Astfel, câtul Raylegh poate f utlzat petru a găs o apromare a valor propr λ, dacă se cuoaşte o apromare v a vectorulu propru : v λ ρ(v). Propretate-: Dacă matrcea este hermtaă, câtul Raylegh este mărgt de valorle propr etreme

111 Valorle propr sut reale; fe acestea λ λ K λ, atuc, avem: λ ρ( v) λ, petru orce v C. Power Metoda puter matrce reală, cu valor propr reale. Metoda: Metoda puter determă valoarea propre domată ş vectorul propru asocat, ale ue matrc A, reale sau complee. Aplcată la versa A metoda determă valoarea propre cea ma mcă (î modul), ş vectorul propru asocat cu aceasta. Se presupue că:. Estă u set de vector propr lar depedeţ.. Estă o sgură valoare propre domată λ : λ > λ K λ Metoda este următoarea: Fe (0) w u vector ţal, ales arbtrar cu sgura codţe ca să abă o compoetă î drecţa lu aleator. (Î fapt, (). Petru a împl această cerţă, uele codur geerează u vector (0) w este o apromaţe a vectorulu propru () ; dacă o astfel de apromaţe este cuoscută, atuc aceasta accelerează teraţa de ma jos). Desvoltăm (0) w î baza vectorlor propr: w = K + (a) ( 0) () () ( ) a + a + a Presupuem că a 0, ş formăm şrul de vector w ( k+ ) = Aw ( k ) = A k+ w (0), k 0 Avem: w () = Aw = λ a () (0) = λ a λ + a λ () + λ a () () + K + λ + K + a λ λa ( ) ( )

112 Î geeral, w ( k ) k = A w (0) k k k () λ () λ ( ) = ( λ ) a + a + K + a (b) λ λ Cum λ > λ petru, urmează că rapoartele k ( / λ ) λ td la 0 petru k. Astfel, petru k crescător, vector drecţa vectorulu propru w ( k ) ( λ ) k a () (k ) w se alază d ce î ce ma mult la (). Î cosecţă, petru u k sufcet de mare, avem. Să cosderăm de asemeea relaţa w ( k + ) k + () ( λ ) a. Luâd orce coordoată o-zero a lu ( k ) w +, w ( k ), să zcem cea de-a m-a coordoată, obţem λ ( k ) w + m ( k ) wm Dezavatajul formule precedete este că, coordoatele eule ale lu (k ) w dev fe foarte mc ( λ < ), fe foarte mar ( λ > ), odată cu creşterea lu k. Aceasta se evtă pr ormalzarea (sau scalarea) lu orma- ş orma-. Astfel, algortmul metode este: (0) w = Vector ţal ( k ) ( k ) w z =, petru k 0 Normalzare ( k ) w (k ) w, la fecare pas k. Normele utlzate sut w = Az ( k+ ) ( k ), petru k 0 Iteraţe Teste de oprre a teraţe:. Test de colartate a do vector succesv: Vector (k ) z ş ( k +) ( k + ) ( k ) ( k ) z sut colar, dacă rapoartele ρ = z / z, z 0 ( k + ) ( k ) sut egale (coordoatele eule sut proporţoale), sau z = z = 0. Î calculaţa practcă, puem codţa 0 ( ρ ( ) ρ( ) TOL, dacă z k ) TOL ; sau, > să avem smulta, ( z k ) TOL ş ( z k + ) TOL. TOL este o toleraţă

113 3 specfcată; 0 este dcele ue coordoate fate: este coveabl să luăm 0 = ma = dcele coordoate de modul mam d ( k +) z. Se troduc atuc, factor de colartate pr vectorul col ( : ), deft astfel: z col( ) = z =, ( k + ) ( k + ) ( ma) / z ( ) / z ( k ) ( k ) ( )) ( ma)) K daca z K altfel ( k + ) ( ) TOL s z ( k ) ( ) TOL Testul este: col col( ma) TOL Observaţe Test petru orma- (eucldaă): Dacă, petru ormalzarea lu (k ) w, se utlzează orma-, vector orma- egală cu, ş testul de colartate poate lua forma ( k + ) ( k ) z z TOL. (k ) z au O problemă specală apare petru A reală, dacă valoarea propre domată este reală ş egatvă, λ < 0, ş aume: d ( k ) ( k ) (0) k () ( k ) ( k ) ( k ) ( k ) w = A z = ( λ ) [ a + r ] ş z = w / w, rezultă că vectorul ( k dată de λ (k ) z schmbă de sem de la pasul k la pasul k + + ) ( k ) = w + m / z ( k ) m ţă cot de aceasta. Astfel, defm,. (Valoarea propre,, u este afectată.). Testul de colartate trebue să ( k + ) s = sg(., λ ), dz = z s z ( k + ) ( k ) Testul corect este dz TOL.. Test asupra lu λ: Iteraţa se opreşte pr codţa λ ( k+ ) ( k ) λ TOL

114 4 ude TOL este o toleraţă. 3. Test de satsfacere a relaţe de defţe: Az λ z Practc, TOL (k ) z = z, Az = w ( k ) ( k + ), ş λ ( +) = λ k. Defd df ( k + ) ( k + ) ( k ) = w λ z, se pue testul df TOL Observaţ: Notă - Î cod, dacă valorle ateroare (k) sut stocate î z0 ş lambda0, ar valorle curete (k+) î z ş lambda, defţa lu df deve df = z lambda z0, luâd z îate de ormalzare. - Vectorul r = Az λz se zce vectorul rezdual. Astfel, testul se ma scre r TOL. Testul propru petru metodă este Testul, îtrucât, î eseţă, metoda determă vectorul propru r., ş apo determă λ d acesta. Cu Testul, se obţ vector propr ma precş decât cu Testul (la aceeaş toleraţă). Testul 3 u este specfc metode puter, c poate f aplcat orcăre metode teratve petru valor ş vector propr. Codurle d Lapack (Ba et al.(000)), utlzează Testul 3, cu TOL = ε M λ, ude ε M este ε-maşă. Î metodele următoare, Testul 3 va f utlzat uma la verfcarea sstemulu propru. Ecepţe face metoda puter, ude, petru studu, se poate alege uul d Testele -3. (Alegerea testulu se face prtr-u cod.) Covergeţa: ( ) Covergeţa λ k λ este lară, ar rata covergeţe este apromatv λ / λ.

115 5 (Acest rezultat are loc î poteza metode λ >, cu poteza suplmetară: petru λ k k, cattăţle k ( / λ ) λ, 3, sut egljable î raport cu k ( / λ ) λ.) Fşere: Power-.f90: subruta metode Ma-Power.f90: programul prcpal Age.f90: subruta de geerare a matrc A(,). Made.f90: fucţe; dcele coordoate de modul mam d vectorul v(). vnorm.f90: orma- ş orma- a uu vector. w0ge.f90: subruta de geerare a lu w0 work.f90: modul wdth.f90: utltar Subruta metode este Power(ter, kodtest, kod, kodnorm, ter_flag, test_val) Parametr: ter: Numărul mam de teraţ (trare) / Numărul efectv de teraţ (eşre) kodtest: cod petru testul de oprre a teraţe kod: cod de tpărre a teraţlor kodnorm: codul orme ter_flag: cod de îcheere a teraţe (ter). test_val: valoarea de test. Notă: TOL, lt ş lambda se trasmt pr modulul work Age.f90: se scre cod petru geerarea matrc A(,). w0ge.f90: se scre cod petru geerarea vectorulu de start w0.

116 6 Petru a împl cerţa ca (), uele codur geerează (0) w să abă o compoetă î drecţa lu (0) w ca vector aleator. Datele de trare se ctesc dtr-u fşer de date (specfcat). Datele de eşre se scru î cotuarea datelor de trare. Datele de trare sut: - Ttlu: tet de ma. 80 caractere -, koda, kodw0 - [Matrcea A: dacă koda = 0. Se scre aşa cum e dată - pe l.] - [Vectorul w0: dacă kodw0 = 0. ] - TOL, lt: toleraţa, umărul lmtă d teraţ. - kodtest, kod: cod test, cod tpărre teraţ - kodnorm: cod ormă - Check_tet: cod de verfcare. Semfcaţa codurlor: : ordul matrc koda: kodw0: 0 / 0: cteşte A / geerează A (cu subruta Age) 0 / 0: cteşte w0 / geerează w0 (cu subruta w0ge) kodtest: 0: Test asupra lu λ (Testul ); : Test de colartate (Testul ); : Test asupra lu Az λz (Testul 3). kod: 0 / 0: Tpăreşte teraţle: Da / Nu. kodnorm: : Norma-ft; : Norma- (eucldaă) Check_tet: tet de ma. 0 caractere. Prmul caracter este semfcatv, aume: C, c, P, p: se face proba, adcă se tpăreşte vectorul Az λz. Eemplu: Eemplu = 3

117 * E-7 7 check Guess vector: Iterato Curret_vector Curret_lambda Iterato No. 7: Tolerace o "z" met. Last test_value s: Lambda- (domat egevalue): Egevector #: () () (3) Check: A*y -lambda*y E E E-07

118 8 Mamum dfferece ( modulus) = 3.33E-07 Coordate # 3 Power_Comple Metoda puter petru o matrce compleă. Metoda: Este cea descrsă la Power. Covergeţa: Ipotezele sut aceleaş ca la Power. Î partcular, u se obţe covergeţă, petru o matrce reală la care λ = λ de eemplu, câd λ,λ sut comple cojugate. Fşere: Age_comple.f90; Ma-Power_comple.f90; Made_z.f90; Power_Comple&Eps.f90; vnorm.f90; wdth.f90; work_comple.f90; Semfcaţa fşerelor ş rutelor aceleaş ca la Power. Subruta metode: Power_Comple(ter, kodtest, kod, kodnorm, ter_flag, test_val, test_val_m) Semfcaţa parametrlor ca la Power. Parametrul test_val_m returează valoarea mmă de test, î cazul câd u este atsă toleraţa TOL. Datele de trare sut datele la Power, cu deosebrle: - A ş w0: sut date complee; petru A ş w0 reale, se troduc date reale. - kod: Petru kod = : se tpăresc ş valorle eps = λ / λ, ş eps z0, ude z0 este z_ateror. (Aceste valor servesc la studul covergeţe: avem ( k ) ( k ) z eps z ). Eemplu: Eemplu = 3. Val. propr: 5.38; -0.63;

119 9 (,0) (,-7) (0,-) (,7) (5,0) (0,-3) (0,) (0,3) (-,0) (,0) (,0) (,0).E ch Iterato No. 44: Tolerace o "z" met. Curret Test_value s: e-08 Lambda- (domat egevalue): E-06 Egevector #: () () (3) Check: A*z -lambda*z ( E-08, E-07) ( E-09,.59090E-07) (-8.404E-07, E-08) Mamum dfferece ( modulus) =-8.E-07 Coordate # E-08 Iverse_Power_Shft Metoda puter verse cu traslaţe (shft) matrce reală, cu valor propr reale. Metoda: Fe matrcea A, cu valorle propr λ, j = j, lu A, cea ma apropată de u umăr dat s. Se cosderă matrcea B = A si. Metoda găseşte valoarea propre λ a

120 0 ş presupuem că B este esgulară. Se verfcă medat că valorle propr ale lu B sut µ = λ s. Cattatea s zce deplasare (shft). j j Fe µ = λ s, valoarea propre de modul mm a lu B, adcă: 0 µ j < µ < ε <, petru j. Atuc, metoda puter aplcată lu adcă ν = / µ. Avem µ = / ν, ş λ = ν + s. B produce valoarea propre de modul mam, Prcpala aplcaţe a metode este de a găs vectorul propru, dacă este cuoscută o apromaţe buă a valor propr, să zcem λˆ. (Aceasta poate f furzată de o metodă î care se determă uma valorle propr u ş vector propr.) Se aplcă metoda puter verse, cu deplasarea de λ, matrcea vectorulu propru s =. Char dacă λˆ λˆ este apropată B = A λˆ I este îcă esgulară, ş se obţe o buă apromaţe a (). Metoda teraţe verse cu deplasare, este ua dtre cele ma precse metode petru calculul vectorlor propr. Algortmul practc, este următorul: Iteraţa d metoda puter, aplcată la matrcea versa B, calculăm ( k+) w d sstemul lar B, este Bw = z w ( k + ) ( k ) = B z. Î loc de a ( k + ) ( k ), pr descompuere LU. Factorzarea se face o sgură dată, ş sstemul se rezolvă succesv cu membr drepţ (k ) z, k 0. Notă: Petru testare, Iverse_Power_Shft oferă ş varata terăr drecte cu B Fşere: LU_Shft.f90: subruta metode algortmul precedet. lverse_shft.f90: subruta metode terare drectă cu matrcea Ma-IversePower_Shft.f90: programul prcpal B.

121 apvt-lu.f90; compute_a_.f90;; LUdecomp.f90; LUsolve.f90; swap_row.f90: semfcaţle de la descompuerea LU. Age.f90; Made.f90; w0ge.f90; wdth.f90; work.f90: aceleaş semfcaţ ca la metoda puter. vnorm.f90: orma eucldaă a uu vector v(). Subrutele metode: LU_Shft(ter, kodtest, kodprt) Iverse_Shft(ter, kodtest, kodprt) Parametrul ter: Numărul lmtă de teraţ (trare) / Numărul efectv de teraţ (eşre). Petru celalţ parametr, v. codurle de ma jos. Datele de trare se ctesc dtr-u fşer de date (specfcat). Î acesta se scru ş datele de eşre. Datele de trare sut: - Ttlu: tet de ma. 80 caractere -, koda, kodw0 - [Matrcea A: dacă koda = 0. Se scre aşa cum e dată - pe l.] - [Vectorul w0: dacă kodw0 = 0 ] - s: Număr de apromaţ s, ale valorlor propr - Apromaţle s: s valor. - kod_met: codul metode - TOL, lt: toleraţa, umărul lmtă de teraţ. - kodtest, kodprt: cod test, cod tpărre teraţ ş vector rezdual. - Check_tet: cod de verfcare. Semfcaţa codurlor: : ordul matrc koda: 0 / 0: cteşte A / geerează A (cu subruta Age)

122 kodw0: 0 / 0: cteşte w0 / geerează w0 (cu subruta w0ge) kod_met: 0 / 0: terare cu B / descompuere LU. kodtest: 0 / 0: Test asupra lu λ / Test de colartate. kodprt: 0 / / : Tpăreşte: Nmc / Vector rezdual Az λz / Iteraţle ş vector rezdual. Vector rezdual se tpăresc uma dacă este cerută proba v. codul Check_tet. Check_tet: tet de ma. 0 caractere. Prmul caracter este semfcatv, aume: C, c, P, p: Se face proba, adcă se verfcă Az λ z 0. Se scru: - coordoata de modul mam d Az λz (mamul pe toţ vector z); - dcele vectorulu, ş dcele coordoate. Eemplu: Se cosderă eemplul de la Power. Acesta este u caz specal: matrcea este sgulară, ş dec estă o valoare propre egală cu 0. Luăm ca apromaţ s valorle 9, -, ş 0.0. Fşerul de trare / eşre este: Eemplu = *. E ch Shft #: test_val: E+00 Iterato No. 7 Egevalue:

123 3 Egevector: () () (3) Shft #: test_val: E+00 Iterato No. 8 Egevalue: Egevector: () () (3) Shft #3: test_val: E+00 Iterato No. 8 Egevalue: E-07 Egevector: () () (3) Check: A*z -lambda*z Mamum dfferece ( modulus) =.49E-07 Egevector # ; Coordate #. Iverse_Power_Comple Metoda puter verse cu traslaţe (shft), petru o matrce compleă. Î partcular, o matrce reală care are (ş) valor complee. Metoda: cea de la Iverse_Power_Shft.

124 4 Fşere: LU_Shft_Comple.f90: subruta metode algortmul cu descompuerea LU. lverse_shft_comple.f90: subruta metode terare drectă cu matrcea Ma-lversePower_Comple.f90.f90: programul prcpal B. Hermta.f90: fucţe logcă; adevărat matrce hermtaă; fals î caz cotrar. apvt-lu_z.f90; compute_a z.f90; LUdecomp_z.f90; LUsolve_z.f90;; swap_row_z.f90: semfcaţle de la descompuerea LU_Comple. Age.f90; Made_z.f90; w0ge.f90; wdth.f90; work.f90: aceleaş semfcaţ ca la metoda puter. vnorm.f90: orma eucldaă a uu vector real, ş a uu vector comple, v(). Subrutele metode: LU_Shft_Comple(ter, kodtest, kodprt, kodlu, test_val) Iverse_Shft_Comple(ter, kodtest, kodprt, kodlu, test_val) Semfcaţle parametrlor: ter, kodtest, kodprt: aceleaş semfcaţ ca la Iverse_Power_Shft. kodlu: cod descompuere LU; 0: o.k.; < 0: pvot < prag. test_val: valoarea de test (comparată cu toleraţa); aceasta depde de kodtest. Fşerul de date: Are aceeaş structură ca fşerul de date de la Iverse_Power_Shft, cu partculartatea că: matrcea A, vectorul w0, ş apromaţle s sut acum, valor complee. Dacă A este reală, se pot troduce valor reale; petru vectorul w0 trebue îsă troduse valor complee. Notă: Apromaţle s trebue să fe sufcet de apropate de valorle propr. Eemplu: Eemplul de la Power_Comple. Matrcea este hermtaă ş are valor propr reale. 7 8 Î rezultate, partea compleă a valorlor propr este de ordul 0 K 0.

125 5 Fşerul de trare / eşre este: Eemplu (,0) (,-7) (0,-) (,7) (5,0) (0,-3) (0,) (0,3) (-,0) 3*(,0) 3 (5.,0.) (-0.,0.) (-0.7,0.) e ch Matrce hermtaa. Shft #: Iterato No. 6 Egevalue: E-07 Egevector: () () (3) Shft #: Iterato No. 9 Egevalue: E-07 Egevector: () () (3) Shft #3:

126 6 Iterato No. 6 Egevalue: E-08 Egevector: () () E (3) Check: A*z -lambda*z Mamum dfferece ( modulus) =-.95E-07 Egevector # ; Coordate # E-07 Sm_Iter Metoda teraţlor smultae matrce hermtaă. Metoda: Aceasta este o etdere a metode puter petru o matrce A hermtaă (î partcular, reală ş smetrcă). O astfel de matrce, are valor propr reale. Presupuem, ma mult, că valorle propr sut de module dstcte: λ > λ > K > λ. Î loc de u vector de start (0) w, se utlzează o matrce de start, ale căre coloae ( 0) (0,) (0,) (0, m) sut vector de start: W = [ w w K w ]. Dacă matrcea A este, (0) W este m, ude m. Vector de start w trebue să fe lar depedeţ. Metoda de bază rămâe îmulţrea la stâga a lu (0) ( k+ ) ( k ) W cu matrcea A, adcă, W = AW, k 0 ( 0, j). Îate de fecare etapă a teraţe, matrcea curetă W este ortogoalzată pr procedeul Gram-Schmdt, astfel îcât coloaele e utară). Astfel, vector dmesoal al lu ( j) w dev vector ortoormaţ (ortogoal, ş avâd orma eucldaă ( j) w formează o bază ortoormată a sub-spaţulu m- R, sub-îts de vector ţal w ( 0, j). Î cursul teraţe, această bază se alază d ce î ce ma mult la baza vectorlor propr a lu A, drecţa ( j) w drecţa ( j), j. Valorle propr se evaluează pr câtul Raylegh. Iteraţa

127 7 se îchee câd se atge o toleraţă coveablă, prvtor la drecţle a două baze ( j) succesve { w }. Dacă matrcea de start vector propr. Petru m =, adcă (0) W are m < coloae, se obţ prm m (0) W este, se găsesc toţ vector propr. Algortmul: Se cere u umăr e de vector propr.. Se defeşte matrcea (0) W ş W sut matrc e. (0) W : dacă o apromare ţală a vectorlor propr u ( 0) () () ( e) este cuoscută, se a W = [ e e K e ], adcă, d prmele e coloae ale matrc utate I. Petru e =,. Se aplcă Gram-Schmdt la ortoormată). Se atrbue 3. Iţalzare cotor: ter = 0 4. Iteraţ: ter = ter +; (0) W este formată (0) W = I. (0) W (cu ecepţa cazulu î care aceasta este deja (0) W = W. Atrbure: (0) W = W (W = matrcea curetă; (0) W = matrcea ateroară.) 5. Se calculează (0) W = AW. 6. Se calculează λ, j = e, pr câtul Raylegh: Fe ( j) w ş j, ( 0, j) w a j-a coloaă a lu W ş (0) W, respectv; avem λ =< w j (0, j), w ( j) > ( ) (0, j) ( j (0, j) (0, j) w = Aw Pasul 5; ş < w, w > = Paş ş 4.) 7. Se aplcă Gram-Schmdt la W, astfel că W deve ortoormată. 8. Se verfcă atgerea toleraţe TOL: Pr testul de colartate.3, : se defeşte col() petru fecare vector z = W(:, je), ş test _ val = ma col col( ma). je=, e (Îtrucât z sut ormalzaţ, testul se poate pue ş sub forma d, Observaţe.) - Dacă test _ val TOL, eşre d teraţe.

128 8 Observaţ Observaţ - Altfel, GOTO 4. - Se poate prescre u umăr lmtă de teraţ lt: atuc, se adaugă la Pasul 8 u test ter lt. - Pasul 6 se poate realza uma o sgură dată, după ce s-a eşt d teraţe.. Valor propr de acelaş modul Îtrucât metoda teraţlor smultae este î eseţă metoda puter, u se obţe covergeţă petru vector propr, dacă estă valor propr de modul egal.. Matrc o-hermtee Dacă aplcăm algortmul de ma sus ue matrc o-hermtee, u vom obţe covergeţă petru vector propr, cu ecepţa vectorulu propru corespuzâd valor domate λ (petru care, metoda reve la metoda puter). Aceasta se îtâmplă deoarece poteza eseţală a metode este că vector propr formează o bază ortogoală ş procedeul Gram-Schmdt forţează ca, la fecare pas k, vector ( k, j ) w să fe ortogoal. Totuş, dacă valorle propr sut de module dstcte, atuc vector propr sut lar depedeţ, ş se obţ apromaţ foarte bue petru valorle propr. Vez Eemplu-. Eplcaţa este că, procedeul Gram-Schmdt furzează u set ( j) de vector { w } lar depedeţ (ortoormaţ), ar valorle propr sut calculate cu câtul Raylegh care dă apromaţ bue ale valorlor propr char cu apromaţ grosere petru vector propr. Valorle propr găste pot f utlzate ulteror, î metoda puter verse cu traslaţe, petru a obţe vector propr petru valorle λ,. Fşere: Sm_lter.f90: subruta metode Ma-Sm_lter.f90: programul prcpal Gram_Schmdt_Comple.f90: ortogoalzare Gram-Schmdt

129 9 Herm&Sm.f90: fucţ logce petru a recuoaşte o matrce hermtaă, respectv compleă ş smetrcă. Made_z.f90: fucţe; dcele coordoate de modul mam î vectorul comple v(). Age.f90: subruta de geerare a matrc A(,). W0ge.f90: subruta de geerare a matrc W0(e,). Codul actual geerează prmele e coloae ale matrc utate. vnorm.f90: orma uu vector comple v() work.f90: modul wdth.f90: utltar Subruta metode: Sm_Iter(ter, kodtest, kodprt, ter_flag, test_val) Semfcaţle parametrlor sut aceleaş ca la metoda puter (kodprt: ca ş kod). Datele de trare se ctesc dtr-u fşer de date (specfcat). Î acesta se scru ş datele de eşre. Datele de trare sut: - Ttlu: tet de ma. 80 caractere -, e, koda, kodw0 - [Matrcea A: dacă koda = 0. Se scre aşa cum e dată - pe l.] - [Vectorul w0: dacă kodw0 = 0 ] - TOL, lt: toleraţa, umărul lmtă de teraţ. - kod_wrtevp: cod petru screrea vectorlor propr î fserul de eşre. - kodtest, kodprt: cod test, cod tpărre teraţ ş vector rezdual. - Check_tet: cod de verfcare. Semfcaţa codurlor: : ordul matrc A e: umărul de coloae ale matrc W0 (umărul de vector ş valor propr de calculat)

130 30 koda: 0 / 0: cteşte A / geerează A (cu subruta Age) koda < 0: matrce hermtaă se troduce trughul superor (programul completează trughul feror). koda = 0: matrce geerală se troduce îtreaga matrce. kodw0: 0 / 0: cteşte w0 / geerează w0 (cu subruta w0ge) kod_wrtevp: 0 / : Nu/Da: Tpăreşte vector propr î fşerulde eşre. kodtest: 0 / : Test asupra lu λ / Test de colartate. kodprt: 0 / / : Tpăreşte: Nmc / Vector rezdual Az λz / Iteraţle ş vector rezdual. Vector rezdual se tpăresc uma dacă este cerută proba v. codul Check_tet. Check_tet: tet de ma. 0 caractere. Prmul caracter este semfcatv, aume: C, c, P, p: Se face proba, adcă se verfcă Az λ z 0. Se scru: - coordoata de modul mam d Az λz (mamul pe toţ vector z); - dcele vectorulu, ş dcele coordoate. Eemplu-: Matrcea este hermtaă (se poate pue koda < 0, ş troduce uma trughul superor). Ca varată, s-a trodus îtreaga matrce luâd koda = 0. Eemplu-. Matrce hermtaa (,0) (,-7) (0,-) (,7) (5,0) (0,-3) (0,) (0,3) (-,0) e ch Matrce hermtaa Iterato No. 46: Tolerace o "W" met.

131 3 Test Value s: 3.54E-08 Egevalues: E E E-08 Egevectors: E E E E E E-07 Check: A*z -lambda*z Mamum dfferece ( modulus) =-7.843E-07.34E-08 Egevector #; Coordate #. Eemplu-: Matrce o-hermtaă lustrarea Observaţe, de ma sus. Reproducem uma rezultatele petru valorle propr, ş verfcarea petru vectorul propru r.. Vector propr -4 u sut determaţ corect. Petru a- calcula, se va utlza metoda teraţe verse cu traslaţe, luâd ca apromaţ valorle propr calculate -4. Eemplu (Westlake). Val. propr: (,5); (,6); (3,7); (4,8) (5.0,9.0), (5.0,5.0), (-6.0,-6.0), (-7.0,-7.0) (3.0,3.0), (6.0,0.0), (-5.0,-5.0), (-6.0,-6.0) (.0,.0), (3.0,3.0), (-.0,3.0), (-5.0,-5.0)

132 3 (.0,.0), (.0,.0), (-3.0,-3.0), (0.0,4.0) e-6 00 ch Matrce geerala Iterato No. 69: Tolerace o "W" met. Test Value s: 6.48E-07 Egevalues: Check: A*z -lambda*z Egevectors: ( E-07, E-07) (.4596E-07, E-08) ( E-07, E-07) (.3939E-07, E-07) Jacob, Jacob_D Metoda Jacob matrce reală smetrcă. Jacob_D este versuea î dublă precze. Metoda: Metoda Jacob este o metodă coveablă petru a găs toate valorle propr ş vector propr a ue matrc reale ş smetrce, de ord moderat. Determarea vectorlor propr este opţoală.

133 33 Fe A o matrce reală ş smetrcă. Dacă N este o matrce esgulară, atuc matrcea A = N AN este smlară cu A, ş are aceleaş valor propr (bara u otează acum cojugata). Vector propr a lu A, sut legaţ de vector propr a lu A, pr: = N. (Vez Problema de valor propr sumar, ma sus). Să presupuem acum, că N este utară, adcă A = N T AN Notaţ că A este de asemeea smetrcă. Dagoalzarea lu A: T N = N. Matrcea A deve Să presupuem că N este aleasă astfel îcât A să devă dagoală: A N T = AN = dag( a Petru matrcea A, avem propretăţle: ) ) Valorle propr ale lu A sut elemetele dagoale: λ = a ) Vector propr a lu A sut coloaele matrc utate I: e ( ) j = δ ). j ( ) ( ) = e (ude Î cosecţă, rezultă petru A: - Valorle propr ale lu A se găsesc pe dagoala matrc A. - Vector propr a lu A sut coloaele matrc N. Dagoalzarea Jacob: Metoda Jacob costă î trasformăr utare (sau, ortogoale) aplcate succesv lu A, pâă la obţerea ue forme aproape dagoale. Aume, dacă matrcea A se trasformă cum urmează: A T = N AN N sut matrc utare, A A T T T = N AN N k = N T k A = ( N N ) A( N ) T T T k Nk = ( N k Nk KN ) A( NN KNk )

134 34 Dacă matrcea apromatv zero, luăm A A ude k = N T N = N N K A k este aproape dagoală, adcă, elemetele o-dagoale sut AN N k Fecare trasformare N se alege astfel ca să elme o pereche de elemete odagoale (să zcem a pq ş a qp la pasul ). O astfel de matrce are structura: N = O O cosα sα ( p) O O sα cosα ( q) O...( p)...( q) Elemetele escrse sut zero (cu ecepţa dagoale prcpale ude acestea sut uu). Trasformărle N se aplcă succesv, fecare dtre ele elmâd elemetul odagoal a pq, de modul mam. Prcpala propretate a ue astfel de trasformăr este că produsul q. T N AN modfcă uma elemetele lu A d lle ş coloaele p ş Ughul α se alege astfel îcât a pq = 0 Nole elemete dagoale, sut date de formulele:

135 35 r a a = 4a pq + ( a pp aqq ) ; pp qq = = ( a ( a pp pp + a + a qq qq + r) r) Petru detal, v. Cap. 5-II,. a pp aqq sα = + ; r a pq cosα = ; r sα Cosderaţ de programare Stocajul matrc: Se lucrează cu trughul superor al lu A, astfel îcât, după dagoalzarea lu A, elemetul (,) coţe λ, etc. Trughul superor este stocat î vectorul a( (+)/), î ordea coloaelor, adcă: a = [ a a a a3 a3 a33 K a a Adresa elemetulu (, j) este dată de următoarea fucţe: Loca (, j) = ( j ) * j / + Î partcular, elemetul dagoal (, ) are adresa Loca (, ) = ( + ) * /. După ce s-a efectuat o trasformare, matrcea curetă A este stocată î acelaş vector a. Stratega de elmare: Aceasta este căutarea completă, adcă: se caută î toată matrcea A (cocret, î vectorul a), elemetul o-dagoal de modul mam. (Petru alte strateg, v. Cap. 5- II,.) Elemetele o-dagoale se cosderă zero, dacă sut ma mc (î modul) decât o toleraţă TOL. K a ] Fşere: Jacob.f90: subruta metode Ma-Jacob.f90: programul prcpal Age.f90: subruta de geerare a trughulu superor al matrc A(,); stocat pe coloae, î vectorul ag( (+)/). Loca.f90: fucţe; adresa elemetulu a(,j) î vectorul ag.

136 36 work.f90: modul wdth.f90: utltar Subruta metode: Jacob(kodVP, kodi, ter, ama) Parametr: kodvp: v. ma jos kodi: v. ma jos, kodprtj. ter: Numărul lmta de teraţ (trare) / Numărul efectv de teraţ (eşre). ama: Elemetul o-dagoal de modul mam, d A. Fşer de date (trare/eşre): - Ttlu: tet de ma. 80 caractere -, koda, kodprta - [Matrcea A: dacă koda =. Se troduce trughul superor, pe l.] - [a_factor: uma dacă koda. Factor de multplcare a matrc A.] - TOL, kodprtj: toleraţa petru elemetele o-dagoale; cod de tpărre a teraţlor. - kodvp, kod_prtvp: cod petru calculul vectorlor propr; cod de tpărre a vectorlor propr. - Check_tet: cod de verfcare. Semfcaţa codurlor: : ordul matrc A koda: 0: geerează A (cu subruta Age); : cteşte A koda = : Matrcea se cteşte d fşerul de trare. Se troduce trughul superor al matrc, scrs pe l. koda : Matrcea se cteşte dtr-u fşer specfcat. Acesta coţe: - O le tet (ma. 80 caractere): de eemplu, ttlul probleme. - Trughul superor al matrc, scrs pe l.

137 37 Fşerul se selectează pr fereastra stadard. (koda : Programul completează trughul feror, petru o matrce smetrcă.) a_factor: matrcea A se mulţeşte cu a_factor. kodpra: 0 / 0: Nu / Da Tpăreşte matrcea A (trughul superor). kodpra 0 se utlzează petru a tpăr o matrce geerată. kodprtj: 0 / 0: Nu / Da Tpăreşte trasformărle succesve ale matrc A. kodvp: 0 / : Nu/Da: Calculează vector propr. kod_wrtevp: 0 / : Nu/Da: Tpăreşte vector propr î fşerul de eşre. (orce îtreg dacă kod_vp 0.) Check_tet: Tet de ma. 0 caractere. Prmul caracter este semfcatv, aume: C,c, P,p, F,f: Se face proba, adcă se verfcă Az λ z 0. Se scru: - coordoata de modul mam d Az λz (mamul pe toţ vector z); - dcele vectorulu, ş dcele coordoate. Petru F sau f: se scre ş fecare vector rezdual Az λz. Notă: Proba se face uma dacă se cere calculul vectorlor propr (kodvp 0). Fşere de eşre: ume-val.dat: valorle propr ume-vec.dat: vector propr Î aceşt specfcator, ume este umele fşerulu de trare. Eemplu: E. Jegs - p

138 e-7 0 ch Iterato #8: Mamum off-dagoal: Egevalues ) ) ) ) Egevectors' Matr E Check: A*y -lambda*y Mamum dfferece ( modulus) =-7.33E-04 Egevector #; Coordate # 4. Observaţe Utlzâd IversePower_Shft cu apromaţle ţale 4.3, 4.46, -0.37, -3.4 (valorle Jacob cu 3 cfre semfcatve corecte), (0) w = (,,, ), ş toleraţa E-7, se găsesc rezultatele: - Aceleaş valor propr r. ş 3; valorle r. ş 4 dferă cu o utate, î a 7-a cfră semfcatvă. - Verfcarea este: Mamum dfferece ( modulus) = 5.895E- 07

139 39 Se poate cochde că metoda Jacob dă rezultate foarte bue petru valorle propr, ş rezultate ma puţ precse petru vector propr. QR Algortmul QR matrce reală. Metoda (sumar) QR este uul d ce ma utlzaţ algortm petru a determa toate valorle propr ale ue matrc.. Î umele metode, Q desemează o matrce ortogoală, ar R o matrce superor-trughulară (R ve de la rght-tragular). Cosderăm o matrce reală esgulară A, smetrcă sau u. Eseţa algortmulu QR rezdă î următoarea propretate: Dacă A este factorzată î produsul cosderâd produsul î orde versă, fe aceleaş valor propr ca ş A, fd smlară cu A A = QR ude Q este esgulară, atuc A = RQ, această matrce are Îtr-adevăr, avem R = Q A, ş A = Q AQ. Algortmul QR realzează factorzăr succesve ale şrulu de matrc { A }, ude A = A, defte de: A = QR ; RQ A = ; A = Q R ; 3 R Q A = ; k A k = Q k R k ; A k + = R kq k ; Matrcle A k, ş Q, R k k, au următoarele propretăţ: ) Toate A k au aceleaş valor propr ca ş A.

140 40 ) Dacă A este smetrcă, sau trdagoală, sau A are forma Hesseberg superoară, matrcle A k vor păstra aceste forme. 3) Fe Qk = Q Q KQ k, atuc (pr ducţe): A = k + Qk AQ. k 4) Fe R k = R k KR, atuc: Q R = A k k k ( ) Algortm: Algortmul parcurge următoarele etape: I. Reducerea lu A la forma trdagoală dacă A este smetrcă, sau la forma Hesseberg dacă A este esmetrcă. II. III. Reducerea lu A la forma trughulară, sau bloc- trughulară (v. ma jos). Descompuerea QR. Algortmul QR propru-zs, costă î Etapele II ş III. a) Etapa I se realzează îate de algortmul QR petru a aduce matrcea A la o forma ma smplă, ş a reduce astfel efortul de calcul. b) Etapa II se realzează pr premultplcare cu matrcea Householder P k, cum urmează: A = P A A = PA = PP A A = P KPP A Matrcea A are forma trughulară ş este matrcea R. T Îtr-adevăr: Să otăm Q = P P K P=, avem A Q A. Q este o matrce = ortogoală, dec avem QA = A. Cum Q este ortogoală ş A este superor trughulară, urmează că R = A. Atuc, Etapele II ş III se realzează pr următor paş de terare:

141 4 () ) Pue A = A - Tragularzează () A : () () A = P A ; A = ; ; () () () P A A P A () () () = - La sfârştul pasulu, avem: R A ; () () = Q P P K P. () () () () = ) Calculează () A = R () Q () - Tragularzează () A : A = ; () () () P A A = ; ; () () () P A A P A () () () = - Pue: R A ; () () = Q P P K P. () () () () =... k) Calculează ( k ) ( k ) ( k ) A = R Q ( k ) - Tragularzează (k ) A : ( k ) ( k ) ( k ) A = P A ; A = P A ; ; ( k ) ( k ) ( k ) A = P A ( k ) ( k ) ( k ) - Pue: R = A ; ( k ) ( k ) Q = P P K P ( k ) ( k ) ( k ) ( k )... Calculaţa cotuă pâă câd elemetele trughulu sub-dagoal î A sut ( k ) apromatv zero. Atuc, valorle propr sut pe dagoala lu A ( k ). Ma precs: Dacă A are valor propr de module dstcte, avem: a) Dacă A este smetrcă, atuc toate elemetele o-dagoale vor f apromatv zero. Reamtm că o matrce smetrcă are uma valor propr reale.

142 4 b) Dacă A este esmetrcă ş are uma valor propr reale, calculaţa se termă câd toate elemetele sub-dagoale sut apromatv zero. Dacă A (esmetrcă) are o pereche de valor propr complee (cojugate), pe dagoală rămâ submatrc blocur, ale căror valor propr sut perechea de valor propr cojugate ale lu A. Covergeţa: - Dacă A este o matrce reală (smetrcă sau u) ş are valor propr de module (k ) dstcte, atuc matrcle A produse de algortmul QR coverg spre o matrce superor trughulară, pe dagoala cărea se găsesc valorle propr ale lu A. - Dacă A are o valoare propre λ de multplctate m, atuc (k ) A îcă coverg la matrce superor trughulară, cu ecepţa uu bloc dagoal de ordul m, ale căru valor propr au modulul egal cu λ. Algortmul QR cu deplasare: Presupuem că A are valor propr de module dstcte λ λ > K > λ 0. > > Se arătă că vteza de covergeţă la zero a elemetelor sub-dagoale, ş cea de covergeţă la valorle propr a elemetelor dagoale, depd de rapoartele ( λ + λ,. k / ) Dacă două valor propr λ ş λ + sut apropate ua de alta, covergeţa va f îceată. Atuc, se utlzează următoarea tehcă petru a accelera covergeţa. Se aplcă o deplasare s k la valorle propr (acestea dev λ sk ), la fecare etapă k. Adcă, puem A = A, ş A s I = Q R, ( k ) ( k ) ( k ) k A = R Q ( k + ) ( k ) ( k ) + s k I Estă două strateg petru a alege deplasarea s k ( s k est o apromaţe a lu λ ):

143 43 ) (k ) s k = a Petru o matrce smetrcă (reală), această stratege asgură o covergeţă cubcă, char î prezeţa uor valor propr multple (Wlkso, (965)). ) Se calculează valorle propr ale submatrc cea ma de jos d (k ) A : ( a a k ), ( k ), a ( k ), ( k ) a Dacă valorle propr sut reale, se alege: s k = valoarea propre care este cea ma apropată de Dacă valorle propr sut complee, se a: s k = partea reală a valor propr. (k ) a. 3) Epermetele umerce au codus la o a trea stratege, ş aume: ( k ) sk = m( a ), =, Petru uele matrc smetrce, această stratege se dovedeşte cea ma buă, coducâd la u umăr ma mc de teraţ, ş o eroare ma mcă î Ay λy. Algortm ş cod Programul calculează sstemul propru (valor ş vector propr), î succesuea următoare: I. Trasformarea prelmară a matrc A (Opţoal). II. Valorle propr, pr reducerea matrc la forma bloc-trughulară. III. Vector propr (Opţoal). Se calculează, ma îtâ, vector propr a matrc bloc-trughulare. Aceşta se aduc, pr trasformarea de smlartate, la vector propr a lu A. IV. Rafarea sstemulu propru pr teraţe versă (Opţoal; uma î cazul câd s- a ales opţuea de calcul a vectorlor propr). V. Verfcarea sstemulu propru (Opţoal):

144 44 Precza sstemulu propru se verfcă pr lstarea eror mame (î modul), î Ay λy (ude λ este valoarea propre, ar y vectorul propru asocat cu λ). Datele se ctesc dtr-u fşer de date. Rezultatele sut scrse î acest fşer, î cotuarea datelor de trare. Codul este scrs î dublă precze. Detal de mplemetare. Itroducerea matrc Matrcea A se defeşte î uul d următoarele modur: - Cttă d fşer - Geerată (de subruta Age) Ctrea se poate face, coform uu cod, astfel: - Matrce smetrcă: trughul superor - Matrce geerală: completă, pe l ş coloae - Matrce geerală: elemetele eule (dce le, dce coloaă, elemet). Nu este mplemetată ctrea sau stocarea de matrc badă.. Etapa I Trasformăr prelmare Coform uu cod, matrcea dată se poate aduce la ua d formele: - Trdagoală (superoară): uma petru o matrce smetrcă - Hesseberg (superoară): matrce geerală - Forma dată: u se face c o trasformare prelmară Codul auto comadă forma trdagoală petru o matrce smetrcă, ş forma Hesseberg petru o matrce geerală. 3. Etapele II, III Iteraţa QR Iteraţa QR se face cu deplasare, ş este mplemetată î coformtate cu algortmul de ma sus. Sut mplemetate cele tre strateg, petru alegerea deplasăr s k ; stratega se alege prtr-u cod.

145 45 Se prescru: - U umăr lmtă de teraţ, lt - Toleraţa eps petru forma bloc-trughulară - Toleraţa eps_lambda petru valorle propr (v. ma jos) Iteraţa QR este oprtă dacă ua d codţle -4 de ma jos este îdepltă:. S-a ats lt.. S-a obţut forma bloc-trughulară. 3. S-a ats toleraţa eps_lambda petru doua setur succesve de valor propr. Forma bloc-trughulară se cosderă obţută, dacă următoarele două teste sut satsfăcute: Ma _ Sub _ Sub eps _ sub (a) Ma _ Left _ Dag eps _ left, (b) ude: Ma _ Sub _ Sub este elemetul sub-sub-dagoal de modul mam, ar jma este la pe care se atge mamul (elemetele sub-sub-dagoale d coloaa j sut a ( l, j), l = j +, ; mamul se caută petru j =, ); eps _ sub = eps a( jma, jma) Ma _ Left _ Dag este elemetul stâg-dagoal de modul mam, ar lma este la pe care se atge acest mam (elemetul stâg-dagoal de pe la l este a( l, l) ); eps _ left = eps( a( lma, lma ) + a( lma, lma) ). Notă: Factor lu eps sut tpărţ de program. Observaţ: - Testul (a) este îdeplt (după cel puţ o teraţe) dacă, ţal, matrcea este redusă la ua d formele prelmar (trdagoală sau Hesseberg). - Testul (b) se pue petru elemetul stâg-dagoal a prme l a bloculu. (Î cazul uu u bloc de dmesue petru la respectvă.)

146 46 - Codurle petru metoda QR v. Ba et al. (000), Golub & Va Loa (996) pu testul, +, a tol( a a ), ude tol este o toleraţă ma mare decât eroarea de rotujre a utăţ. Elemetele sub-dagoale a, care satsfac acest test sut setate la zero. 4. Iteraţa se ma opreşte dacă elemetul stâg-dagoal de modul mam este staţoar (u se ma reduce). Testul pus este Ma_Left_Dag = Prev_ Ma_Left_Dag, ude membrul do este Ma_Left_Dag de la teraţa precedetă. Testul se pue după ce Ma_Left_Dag s-a redus deja î proporţa Ma_Left_Dag eps_left 0. Balasare Eroarea î calculul valorlor propr ale matrc A, rezultată pr aplcarea metode QR, este de ordulε M A F, ude ε M este ε-maşă (Cap., 3.8.), ar A F este orma Frobeus (Cap. 4, 3) v. Che & Demmel, Balacg Matrces î Ba et al. (000), Parlett & Resch (969). Balasarea este o trasformare prelmară a matrc A, pr smlartate cu matrcea dagoală reală D, matrcea de lucru deved A b = D AD. Scopul este reducerea orme Frobeus a matrc date. O matrce se zce balasată î orma-p dacă, petru fecare =,, orma-p a le este egală cu orma-p a coloae : A (, : ) = A(:, ), = p p, Algortm reduc orma- sau orma- a matrc A. Ţâd cot de echvaleţa ormelor, rezultă că va f redusă ş orma Frobeus a matrc A. Balasarea se poate face fără a troduce eror de rotujre suplmetare, pr aceea că elemetele matrc D se aleg ca puter îtreg ale baze utlzate î reprezetarea umerelor î calculator (baza ). Prcpalul algortm este descrs î lucrarea de referţă Parlett & Resch (969). Îate de balasare, pr permutăr de l ş coloae, matrcea se aduce la forma:

147 47 T 0 0 X Z 0 Y W, T ude T desemează o matrce superor trughulară, ar 0 o matrce cu elemete ule. Algortmul se aplcă, î eseţă, matrc Z (dar trasformarea de smlartate se aplcă îtreg matrc, astfel că se modfcă ş matrcle X, Y, W). Algortmul balasează matrcea î orma-, după u umăr ft de paş. Acest algortm stă la baza subrute sgbal d LAPACK (000). Alţ algortm sut descrş î Ba et al. (000). Eemple Cosderăm următoarea matrce (Che & Demmel, Balacg Matrces î Ba et al. (000)): A = Balasarea drectă, cu D = dag(0.0 00), produce matrcea balasată 0 A = D = b AD 0. 4 Normele sut: A = ş A =. 65. Pe de altă parte, ormele llor ş coloaelor î F A b sut apromatv egale. Metoda QR aplcată lu A, fără rafare (cu EPS = E-8), cu ş fără balasare, dă următoarele rezultate: - Valorle ş vector propr cocd, cu cel puţ 0, ş respectv 9 cfre semfcatve. b F

148 48 - Erorle mame (î modul) î Ay λy sut: 3.9E- ş.887e-4, respectv. Se observă precza mult ma mare a sstemulu propru calculat cu balasarea matrc A.. Balasarea cu subruta sgbal (î smplă precze), dă următoarele rezultate: D = dag(.44406e E ) A b = Este de remarcat că, pr acest procedeu, matrcea este balasată apromatv î orma-. Normele llor ş coloaelor sut de acelaş ord de mărme (îsă, dferte): Eroarea mamă î Ay λy este 4.960E Subruta Balace d programul QR, balasează matrcea î orma- (fără a face permutăr), cum urmează. Notăm: orm_r orma le, ş orm_r orma le fără elemetul dagoal, adcă: orm _ r = a(, j) ; aalog, petru coloaa, j=, j orm_c ş orm_c. Algortmul este următorul: - Iţalzăm D = I, ş terăm paş K =,, - La fecare pas K, procesăm lle (ş coloaele) î ordea aturală, aume: Petru =,, K, : - Calculăm elemetele matrce D, pr d = orm_ r / orm _ c - Se scalează la ş coloaa, pr A = D AD - Puem D = D D

149 49 La = rezultă matrcea D, la pasul curet K, ş s-a calculat A = D AD. - Calculăm (petru matrcea curetă A): Rato = ma orm _ r orm _ c / orm _ r =, - Se pu următoarele codţ de oprre a teraţe: Rato EPS ; Numar _ Iterat lt ; (Se au: EPS = E 4 ş lt = 00 ). Petru matrcea d Eemplu, la pasul, se obţe: Rato =.064E - 05; D = dag( E E ). Normele llor ş coloaelor sut: Eroarea mamă (î modul) î Ay λy este 4.9E-4. Fşere - Fşere sursă: Age.f90: subruta de geerare a matrc A Ma-QR-005.f90: programul prcpal GetFle, OpefleName: utltare work : modul - Bbloteca statcă: QR_Lb.lb Aceasta coţe fşere modul obect (petru aceste fşere u se dă codul sursă). Î proect se vor clude cele tre fşere sursă ş bbloteca statcă. - Fşere de date (trare/eşre):

150 50 Acestea se găsesc î sub-folderul QR\Dat. La lasarea î eecuţe, programul deschde fereastra stadard de selecţe a fşerulu d acest folder. U fşer ou de date, este preferabl să fe plasat î acest folder (sau, îtr-u sub-folder al acestua). - Fşere de eşre: ume-val.dat: valorle propr ume-vec.dat: vector propr Î aceşt specfcator, ume este umele fşerulu de trare. Fşerele sut scrse î folderul care coţe fşerul de trare. Programul QR este scrs î dublă precze. Programul prcpal apelează următoarele subrute (ş o fucţe): GetFle(fame, status, ttle) Selectarea fşerulu de trare. Bazată pe API-ul GetOpeFleName. fame: ume fşer status: îtreg ut(, Q) Iţalzează matrcea reală Q(, ) cu matrcea utate. : ordul matrc Q Q: matrce (, ) Age(Ag, job) Geerarea matrc A Ag: tablou (,), petru matrcea A geerată. Job: character(0); v. Semfcaţa codurlor. symm(, a) Fucţe logcă; matrce A smetrcă. : ordul matrc A a: tablou (, ) petru A.

151 5 PrtA(, A) Tpărrea matrc A(, ) Balace(, a, dag_bal, 0), Drect_Balace(, a, dag_bal) Balasarea matrc A, ş balasarea drectă a matrc A. : ordul matrc A a: tablou (, ) petru A. dag_bal: elemetele dagoale ale matrc de balasare D (Balace: eşre; Drect_Balace: trare). Trdagoal(kod), Hesseberg(kod) Reducerea al forma trdagoală, respectv Hesseberg. kod: cod de tpărre a trasformărlor. Se a 0. QR_Z(ter, do_shft, kodshft, koditer, BlockReduced, real_val) Iteraţa QR. ter: cotor de teraţ do_shft: logc; cu sau fără shft. kodshft: codul shft-ulu. V. Semfcaţa codurlor. koditer: cod de tpărre a teraţlor. BlockReduced: logc. Matrce redusă la forma bloc-trughulară (eşre). real_val: logc. Toate valorle propr sut reale (eşre). Vec_BlocTr(VEC, kodnorm), Vec_BlocTr_Z(VEC_Z, kodnorm). Calculează vector propr a ue matrc bloc-trughulare valoare propre reală, respectv compleă. VEC, VEC_Z: tablou (, ) petru vector propr; real, respectv comple. Power_Refe(vp), Power_Refe_Z(vp) Rafarea vectorulu ş valor propr r. vp valoare propre reală, respectv compleă. Normalze_r(VEC, kodnorm), Normalze_Z(VEC_Z, kodnorm)

152 5 Normalzarea vectorlor propr cazul real, respectv comple. VEC, VEC_Z: ca ma sus. kodnorm: codul orme. V. ma jos: Semfcaţa codurlor Check(real_val, full_prt_check) Subrută petru verfcarea sstemulu propru. real_val: logc; valor propr reale. full_prt_check: logc; tpărrea la verfcare, ş a vectorlor Az λz. Structura fşerulu de date - Ttlu: tet, ma. 80 caractere (ttlul probleme). -, koda, kodprta Datele următoare defesc matrcea A. Se troduce ua d varate, î fucţe de codul koda: - Matrcea A... koda = 0, (matrce cttă d fşerul de date) - Job... koda < 0 (matrce geerată). - [koda : Nu se troduce c o dată. Matrcea se cteşte d fşerul Fame_ ; v. ma jos, Semfcaţa codurlor] - Balace, kod_balace: cod petru balasarea matrc; cod petru modul de balasare. - [dags(), =,... Dacă kod_balace 0.] - Form: cod petru trasformăr prelmare ale matrc. - Eps, Eps_lambda, Lt, koditer: toleraţe; umăr lmtă de teraţ, cod tpărre teraţ. - Shft, kodshft: cod petru shft ; cod stratege de alegere a shft-ulu. - kodvp, kod_prtvp: cod petru calculul vectorlor propr; cod de tparre a vectorlor propr. - [Refe: rafarea sstemulu propru pr teraţe versă (dată logcă). Dacă kodvp 0] - [s (îtreg): cod petru mod rafare... Dacă Refe are valoarea adevărat :] - [kodnorm: cod ormă petru vector propr... dacă kodvp 0] - Check_tet: cod petru verfcarea sstemulu propru. - Do_Ge_Fles: logc; cod petru geerarea fşerele de valor ş vector propr.

153 53 Semfcaţa codurlor: : ordul matrc koda: koda 0: matrce cttă; koda < 0: matrce geerată (de Age). Valor koda ş datele petru defrea matrc A: koda = 0: trughul superor, pe l (matrce smetrcă) î fşerul de trare; koda = : îtreaga matrce, pe l î fşerul de trare; koda : Matrcea se cteşte d fşerul Fame_. Fşerul Fame_ se selectează d fereastra stadard. Structura fşerulu Fame_: Prma le: tet arbtrar (ttlul probleme) Lle următoare coţ elemetele matrc, coform codulu: koda = : trughul superor (matrce smetrcă) pe l; koda = 3: îtreaga matrce pe l; koda 4: elemetele eule ale matrc, aume:, j, a (, j). Sfârştul de fşer (ultma le) este o dată eumercă. Eemplu: Ed koda < 0: job: Dată tet (-0 caractere). Numele jobulu deft î Age. Parametru petru apel Age. kodprta: > 0: tpăreşte A (dată, ş redusă la forma bloc-trughulară); 0: tpăreşte A redusă la forma bloc-trughulară; < 0: u tpar. Balace: Dată tet (-0 caractere). Prmul caracter este semfcatv, aume: B, b / Alt caracter: Balasează / Nu balasa. kod_balace: 0: Balasare cu subruta Balace; 0: Balasare drectă, cu dags (subruta Drect_Balace). Dacă u se balasează: se troduce orce îtreg: dags ( : ) : Elemetele dagoale petru balasare drectă ( A D AD ) Form: Dată tet (-0 caractere). Prmul caracter este semfcatv:

154 54 Eps: - A, a: Auto, rezultâd î: Matrce smetrcă: forma Trdagoală; Matrce esmetrcă: forma Hesseberg (superoară). - T, t: forma Trdagoală; - H, h: forma Hesseberg; - Alte caractere: matrcea dată (Fără trasformăr prelmare). Toleraţa la elemetele o-dagoale Eps_lambda: Toleraţa la două valor succesve λ Lt: koditer: Shft: kodshft: 0: kodvp: Numărul lmtă de teraţ 0 / 0: Da / Nu tpăreşte teraţle. tet (-0 caractere). Prmul caracter este semfcatv: S, s / alt caracter: Cu / Fără shft; (k ) s k = a ( s k este shftul de la pasul k) ( k ) > 0: s k = Valoarea propre a sub-matrc A ( :, : ) ma apropată de < 0: s k = Elemetul dagoal smetrce). (k ) a. 0 / 0: Da / Nu calculează vector propr., cea (k ) a mm. (optm petru uele matrc kod_prtvp: > 0: Scre vector propr î fşerul de eşre; 0: Nu scre vector propr. (orce îtreg dacă kodvp = 0) Refe: s: Dată logcă. Valor: T / F: Rafează / Nu rafa sstemul propru pr teraţe versă (cu traslaţe). Notă: Dacă se rafează: vector popr sut deja ormalzaţ cu orma-. Defeşte shft-ul petru teraţa versă. Se troduce uma petru Refe = T. Shftul este deft pr s = λ ( ) ds, ude: s > 0: ds = o utate î cea de-a "s-a" cfră semfcatvă a lu lambda. Recomadare: s = Petru valor propr apropate se va lua s ma mare (eemplu: 8...4). s < 0: ds = D-4

155 55 kodnorm: < 0: Nu ormalza. 0: Norma-ft : Norma- : Norma eucldaă (Norma-) 3: Norma "gerească": prma coordoată =. Check_tet: dată tet (-0 caractere). Prmul caracter este semfcatv: C,c, P,p, F,f / Alt caracter: Da / Nu - Verfcarea sstemulu propru. F,f: se tpăresc ş vector rezdual Az λz. Do_Ge_Fles: T/F: Geerează /Nu geera: fşerele de valor ş vector propr. (do_balace, do_shft, do_check, full_prt_check: date logce; utlzare teră) Semfcaţa uor date de eşre: Row: Idcele le matrc reduse. Bloc Flag = / : Idcele le Row î bloc (Prma le / A Doua le). Bloc Flag = 0: La u aparţe uu bloc. (Iter, se utlzează tabloul bloc(:): Idcele le bloculu; la eşre, data Bloc Flag este varabla _flag. V. programul prcpal.). Dacă se balasează (do_balace =.true.): Row _ Norm Colum _ Norm Rato = ma =, Row _ Norm Dacă ordul matrc > 50, programul afşează ş tmpul de calcul. Eemple Eemplu-: Fără rafare. E Rau Cod

156 56 NoBal 0 Hess E-8 E shft 0 F Proba Matr A - Hesseberg form E * Reached block-tragular form (Iterato 4). Mamum Left-Dagoal ( modulus) s: E- (Row: lma = 3). a(lma-,lma-) + a(lma,lma) :.594 Mamum sub_sub-dagoal ( modulus) s: e- (Colum ). Processg block-tragular form: Iteratg to reach tolerace o lambdas. * Met tolerace EPS_lambda o lambdas (Iterato 5). Actual test value s: Real Egevalues: F Iterato 5: Reduced Matr - Block-Tragular Form E E E-03 Row Block Flag

157 Egevalues E-03 Egevectors E Check: A*y - lambda*y Mamum absolute dfferece (A*y -lambda*y) = 3.695E- Vector # Coordate(s) # 3 3 Eemplu-: cu rafare. Reluăm Eemplu-, cu rafare, cu s = 5. E. Rau Cod. cu rafare

158 NoBal 0 Hess E-8 E Shft 0 T 5 Proba Matr A - Hesseberg form E * Reached block-tragular form (Iterato 4). Mamum Left-Dagoal ( modulus) s: E- (Row: lma = 3). a(lma-,lma-) + a(lma,lma) :.594 Mamum sub_sub-dagoal ( modulus) s: e- (Colum ). Processg block-tragular form: Iteratg to reach tolerace o lambdas. * Met tolerace EPS_lambda o lambdas (Iterato 5). Actual test value s: Real Egevalues: F Iterato 5: Reduced Matr - Block-Tragular Form

159 E E E-03 Row Block Flag 3 0 * Refemet: Iteratos Test Value Tolerace E E E E E-9 Egevalues E-03 Egevectors E Check: A*y - lambda*y Mamum absolute dfferece (A*y -lambda*y) = 4.44E-6

160 60 Vector # Coordate(s) # Eemplu-3: cu balasare (ş fără rafare). Cosderăm d ou, Eemplu-, cu balasarea matrc cu kod_balace = 0. Se observă că, verfcarea sstemulu propru este ma buă decât î Eemplu-. E Rau Cod. cu balasare Bal 0 Hess E-8 E shft 0 F Proba Balace: No. of steps = 5; Rato = 4.034E-05 A-balaced Matr A - Hesseberg form E * Reached block-tragular form (Iterato 4). Mamum Left-Dagoal ( modulus) s:.78343e-3 (Row: lma = 3).

161 6 a(lma-,lma-) + a(lma,lma) :.0840 Mamum sub_sub-dagoal ( modulus) s: E- (Colum ). Processg block-tragular form: Iteratg to reach tolerace o lambdas. * Met tolerace EPS_lambda o lambdas (Iterato 5). Actual test value s:.4973e-6 Real Egevalues: F Iterato 5: Reduced Matr - Block-Tragular Form E E E E-03 Row Block Flag 3 0 Egevalues E-03 Egevectors

162 E Check: A*y - lambda*y Mamum absolute dfferece (A*y -lambda*y) = 6.36E-4 Vector # Coordate(s) # Eemplu-4: Cosderăm matrcea Eberle de ordul 6 (Westlake (968)). Aceasta se defeşte pr: 3 3 = 5C C C ; B = 0 4 ; 5C C B B A =. 4B 3B Matrcea A are următoarele valor propr: 60 ± 0, 45 ± 5, 30 ± 0, 5 ± 5, ± 4, 9 ± 3, 6 ±, 3 ±. Codul î Age petru geerarea matrc A î tabloul Ag(,), este dat ma jos. (Î datele de trare, se pue = 6).... ELSEIF(job =='ebe6') THEN allocate(c(4,4), b(8,8)) c(,) =-; c(,:4) =; c(,) =-3; c(,) =3; c(,3:4) =; c(3,) =-; c(3,) =0; c(3,3) =4; c(3,4) =; c(4,) =-; c(4,:3) =0; c(4,4) =5

163 63 b(:4,:4) =5*c; b(:4,5:8) =-c; b(5:8,:4) =5*c; b(5:8,5:8) =c; ag(:8,:8) =b; ag(:8,9:6) =*b; ag(9:6,:8) =4*b; ag(9:6,9:6) =3*b; deallocate(c, b) ENDIF Petru programul fără rafare, se troduc datele Eberle - ord ebe6 NoBal 0 auto Shft 0 F ch Forma bloc-trughulară este atsă la teraţa (ş toleraţa la λ, la teraţa ). Rezultatul verfcăr sstemulu propru este: Mamum absolute dfferece (A*y -lambda*y) = 5.57E-03 Vector # Coordate(s) # 5 5 Programul cu rafare, cu s = 5, produce următoarele rezultate (petru ecoome de spaţu, vector propr u sut lstaţ): Egevalues

164 Check result: Mamum absolute dfferece (A*y -lambda*y) = E-5 Vector # Coordate(s) # 8 Observaţ: Toleraţele Eps ş Eps_lambda s-au luat relatv mc (0.0), producâd rezultate destul de mprecse î cazul fără rafare: eroarea î verfcarea sstemulu propru, este de ordul E-3. Acestea sut îsă, îmbuătăţte foarte mult, pr rafare (eroare de ordul E-5). Toleraţe ma mc, u îmbuătăţesc verfcarea sstemulu propru. Eemplu: Toleraţe de 0.00 duc la o eroare de ordul E-4 î verfcare. Acest eemplu dă o dee, despre dfcultăţle care apar î calculul sstemulu propru al ue matrc de ord relatv mare; aceste dfcultăţ cresc odată cu ordul matrc. Petru o matrce de ord mare, u se vor alege toleraţe Eps ş Eps_lambda foarte mc. Eemplu-5: Cosderăm matrcea Wlkso de ordul 0 (Wlkso (963), Westlake (968)):

165 65 A = ε O Aaltc, matrcea, este deftă pr a (, j) = 0, cu ecepţa elemetelor: a (, ) = ; =, a (, + ) = ; =, ; a (,) = ε. Eemplul Wlkso a = 0. Dacă perturbaţa ε = 0, matrcea este superor trughulară, ş valorle propr sut λ ( ) =. Petru ε = E 0, cu metoda QR fără rafare (cu EPS = E-6), se obţ următoarele rezultate: a) Fără balasare: Valorle propr rezultă toate reale. Ele repreztă perturbaţ ale valorlor, = 0,, aume (ordoate descrescător): , , ,..., , , Eroarea î verfcarea sstemulu propru este.3e-07. b) Cu balasare: Valorle propr calculate coţ 4 valor complee, ş aume (ordoate după descrescător):

166 Eroarea î verfcarea sstemulu propru este 4.E-06. (Cu balasare ş rafare, eroarea deve.776e-5.) Eplcaţa rezultatelor foarte dferte î cazurle (a) ş (b), este următoarea: polomul caracterstc al matrc este p ( λ) = ( λ )( λ ) K( λ 0) 0 9 ε, ş acesta este foarte rău codţoat; umerele de codţe petru rădăc sut cuprse ître ş Odată cu polomul, ş valorle propr sut rău codţoate. (Problema codţoăr valorlor propr depăşeşte cadrul acestu maual. V. de eemplu, Golub & Va Loa (996)). D acest eemplu, se poate cochde că smpla verfcare a sstemulu propru (pr proba că Az λz = mcă ), u asgură corecttudea sstemulu propru calculat v. cazul (a). Pe de altă parte, rezultă că balasarea matrc este ecesară î acest caz.

167 67 Î geeral: Balasarea se recomadă petru metoda QR aplcată la matrc esmetrce, la care valorle propr pot f rău-codţoate. Matrcle smetrce au valor propr becodţoate. Refe Rafarea sstemulu propru (valor ş vector propr) pr teraţe versă cu shft. Fşere de trare: - Fşerul de date (trare / eşre) - Fşerul matrc A smetrcă sau u (dacă A u este geerată) - Fşerul valorlor propr - Fşerul vectorlor propr Ultmele două fşere sut furzate de alte programe care calculează apromatv sstemul propru (Jacob, Sm_Iter, QR fără rafare, etc.) Este preferabl ca cele patru fşere să fe grupate î acelaş folder (folderul eemplulu). Programul lucrează î dublă precze, smlar cu rafarea d programul QR. Fşere - Fşere sursă: Age.f90: subruta de geerare a matrc A Ma-Refe.f90: programul prcpal GetFle, OpefleName: utltare work-refe.90: modul - Bbloteca statcă: Refe_Lb.lb Aceasta coţe fşere modul obect (petru aceste fşere u se dă codul sursă).

168 68 Î proect se vor clude cele tre fşere sursă ş bbloteca statcă. Structura fşerulu de date - Ttlu: tet, ma. 80 caractere (ttlul probleme). -, koda, kodprta Datele următoare defesc matrcea A. Se troduce ua d varate, î fucţe de codul koda: - Matrcea A... koda = 0, (matrce cttă d fşerul de date) - Job... koda < 0 (matrce geerată). - [koda : Nu se troduce c o dată. Matrcea se cteşte d fşerul Fame_ ; v. ma jos, Semfcaţa codurlor] - Real_val: dată logcă - Eps_lambda, Lt, koditer: Toleraţa; umărul lmtă de teraţ; cod tpărre teraţ - kod_prtvp: cod de screre a vectorlor propr î fşerul de date (date de eşre) - s: cod de alegere a shft-ulu - kodnorm: codul orme petru vector propr - Check_tet: cod petru verfcarea sstemulu propru. - Do_Ge_Fles: logc; cod petru geerarea fşerele de valor ş vector propr. Semfcaţa codurlor: : ordul matrc koda: koda 0: matrce cttă; koda < 0: matrce geerată (de Age). Valor koda ş datele petru defrea matrc A: koda = 0: trughul superor, pe l (matrce smetrcă) î fşerul de trare; koda = : îtreaga matrce, pe l î fşerul de trare; koda : Matrcea se cteşte d fşerul Fame_. Fşerul Fame_ se selectează d fereastra stadard. Structura fşerulu Fame_: Prma le: tet arbtrar (ttlul probleme) Lle următoare coţ elemetele matrc, coform codulu:

169 69 koda = : trughul superor (matrce smetrcă) pe l; koda = 3: îtreaga matrce pe l; koda 4: elemetele eule ale matrc, aume:, j, a (, j). Sfârştul de fşer (ultma le) este o dată eumercă. Eemplu: Ed koda < 0: job: Dată tet (-0 caractere). Numele jobulu deft î Age. Parametru petru apel Age. kodprta: > 0: tpăreşte A (dată, ş redusă la forma bloc-trughulară); 0: tpăreşte A redusă la forma bloc-trughulară; < 0: u tpar. Eps_lambda: Toleraţa la două valor succesve λ Lt: Numărul lmtă de teraţ koditer: 0 / 0: Da / Nu tpăreşte teraţle. kod_prtvp: > 0: Scre vector propr î fşerul de eşre; 0: Nu scre vector propr. (orce îtreg dacă kodvp = 0) Refe: Dată logcă. Valor: T / F: Rafează / Nu rafa sstemul propru pr teraţe versă (cu traslaţe). Notă: Dacă se rafează: vector popr sut deja ormalzaţ cu orma-. s: Defeşte shft-ul petru teraţa versă. Shftul este deft pr s = λ ( ) ds, ude: s > 0: ds = o utate î cea de-a "s-a" cfră semfcatvă a lu lambda. Recomadare: s = Petru valor propr apropate se va lua s ma mare (eemplu: 8...4). s < 0: ds = D-4 kodnorm: < 0: Nu ormalza. 0: Norma-ft : Norma- : Norma eucldaă (Norma-) 3: Norma "gerească": prma coordoată =.

170 70 Check_tet: dată tet (-0 caractere). Prmul caracter este semfcatv: C,c, P,p, F,f / Alt caracter: Da / Nu - Verfcarea sstemulu propru. F,f: se tpăresc ş vector rezdual Az λz. Do_Ge_Fles: T/F: Geerează /Nu geera: fşerele de valor ş vector propr. - Fşere de eşre: Nume_val-Refed.dat: valorle propr Nume_vec-Refed.dat: vector propr Î aceşt specfcator, ume_val ş ume_vec sut umele fşerelor de trare care coţ valorle propr, ş vector propr, respectv. Fşerele de eşre sut scrse uma dacă codul Do_Ge_Fles are valoarea T. Î acest caz, ele se scru î folderul care coţe fşerul de date. Eemplu - Fşerul matrc A (matrce smetrcă) Matrcea Z-K: Fşerul valorlor propr Egevalues: Fşerul vectorlor propr Egevectors

171 E Fşerul de date (trare) Eemplul Z-K 4 0 T E C T Fşerele valorlor ş vectorlor propr au fost geerate de programul Jacob_D. Î acesta, verfcarea sstemulu propru este: Check: A*y =lambda*y Mamum dfferece modulus (Ay-lambda*y) = 9.63E-09 Egevector #; Coordate #4.

172 7 Cu Refe, se obţe următorul rezultat (etras d fşerul de date date de eşre): Check: A*y - lambda*y Mamum absolute dfferece (A*y -lambda*y) = 8.88E-6 Vector # Coordate(s) # 3 Se observă verfcarea mult ma buă decât cea d programul care a calculat valorle ş vector propr (Jacob_D). Geeral_R, Geeral_R Problema geeralzată reducerea la problema stadard Problema geeralzată de valor propr Problema determăr valorlor ş vectorlor propr a ue matrc A, deftă de A = λ, sau de ecuaţa ( A λ I) = 0 () se va um problema stadard. Î Damca Structurlor apare următoarea problemă: ( K λ M) = 0, () ude: λ = ω, ar K ş M sut matrc smetrce ş poztv defte (K ş M sut respectv, matrcle de rgdtate ş de masă; ω este pulsaţa propre). Problema () se zce problema geeralzată de valor propr. Ma geeral cosderâd două matrc A ş B, problema geeralzată are forma ( A λ B) = 0. Î cotuare, cosderăm problema ().

173 73 Reducerea la problema stadard Problema () poate f adusă la problema stadard () petru o matrce smetrcă ş poztv deftă, cum urmează. ) Se face descompuerea Cholesky a lu M: M = S T S, (3) ude S este superor trughulară.. Atuc, () scrsă î forma K = λm, deve T K = λs S, ş se scre d ou ca ş KS ( S) = λs ) Se otează T ( S). (4) y = S (5) ş ecuaţa (4) deve KS T y = λs y. Premultplcâd cu ( T T T S ) = ( S ) = S, se obţe S KS T y = λiy 3) Acum, defm R T = S KS (5) R este matrce smetrcă ş poztv deftă. 4) Problema () este pusă î forma stadard petru matrcea R, ş aume, ( R λ I) y = 0 (6) Problemele (6) ş () au aceleaş valor propr. 5) După rezolvarea lu (6) petru λ ş y, vector propr a probleme orgale () sut daţ, cf. (4), de = S y (7)

174 74 Ţâd cot de faptul că M ş K sut smetrce ş poztv defte, se verfcă medat că matrcea R este smetrcă ş poztv deftă. Urmează că valorle propr ale lu R sut reale ş poztve, aşa cum trebue să avem coform cu λ = ω. Astfel, petru a rezolva (6), orce metodă petru problema de valor propr ale ue matrc smetrce ş poztv defte poate f aplcată lu R. Observaţe Cel ma smplu caz este acela î care matrcea M este dagoală (model de mase T cocetrate), M = dag m ). Atuc, avem S = S = dag m ), ş ( ( S S T = = dag(/ m ). Astfel, elemetele lu R ş sut date de: r ş kj =,, j =, m m j, y =, =. m, j Observaţe Matrcea R poate f scalată, adcă se pue R = R factor. Ecuaţa (6) deve ( R λ I) y = 0, ude λ = λ factor Astfel, după determarea valorlor propr λ avem λ = λ factor, ar pulsaţle propr se găsesc d: ω = λ factor Foldere: Geeral_R, Geeral_R

175 75 Ambele programe reduc problema geeralzată () la problema stadard. Deosebrea este că prmul stochează ş procesează trughul superor al matrclor M ş K, ar al dolea, matrcle complete M(gl,gl), K(gl,gl). Ambele programe lucrează î dublă precze. Fşere (Geeral_R): Back.f90: substtuţe îapo, petru Cholesky. Cholesky_S.f90: subruta Cholesky. loca.f90: fucţa de adresă d Cholesky. Ge_M.f90, Ge_K.f90: subrutele de geerare a matrc M, respectv K. Ge_R.f90: subruta de calcul a matrc R. Ma-Geeral_R.f90: programul prcpal. Wrte_R.f90: subrută petru screrea matrc R. work.f90: modul GetFle.f90, Opefle.f90, wdth.f90: utltare Compact_mul: subrută de îmulţre S A, ude: S este smetrcă ş stocată î trughul superor, ar A este (, ). [Aceasta este uma î folderul Geeral_R.] Subruta metode este Ge_R(kodPrt) Parametru: kodprt: cod petru tparre Datele de trare se ctesc dtr-u fşer de date (acesta se selectează d fereastra stadard). Datele de eşre se scru î cotuarea datelor de trare. Matrcle M ş K se troduc coform codurlor kod_gem ş kod_gek (codur de ctre sau geerare a matrclor): - kod_ge 0: matrc geerate (de subrutele Ge_M.f90, Ge_K.f90);

176 76 - kod_ge : matrc ctte d fşer, aume: - kod_ge = : fşerul de trare; - kod_ge : fşer specfcat (selectat). Daca matrcea este cttă: se troduce ş "factor"; dacă este geerată, u. Î cazul matrclor ctte dtr-u fşer specfcat (kod_ge ), fşerul va avea următoarea structură: - Prma le d fşer este o le-tet (gorată la ctre); - Următoarele l coţ elemetele trughulu superor al matrc. Datele de trare (aceleaş petru Geeral_R ş Geeral_R), sut: - Ttlu: tet de ma. 80 caractere - gl, kod_gem, kod_gek Petru kod_gem =, se troduce: - [Matrcea M trughul superor, pe l.] Petru kod_gem, se troduce: - [m_factor: factor de multplcare petru M; (M m_factor M) Petru kod_gek =, se troduc: - [Matrcea K trughul superor, pe l.] Petru kod_gek, se troduce: - [k_factor: factor de multplcare petru K; (K k_factor K) - kodprt: cod tpărre Semfcaţa codurlor: gl: ordul matrc (umărul gradelor de lbertate) kod_ge: v. ma sus kodprt: 0 / 0: Nu se tpăresc / Se tpăresc: matrcle M, K, ş S. Observaţe Matrcea R este scalată: adcă, î fşerul de eşre, se tpăreşte matrcea scalată R ş factorul de scalare scal: avem R = R scal. Factorul de scalare se calculează astfel:

177 77 orm = maval(dabs(r)) scal = _8**(epoet(orm)-) ude orm este orma-. Eemplu: 0 M = 3 ; K =. 0 Fşerul de date: Eemplu cu M o-dagoala; gl = ! m_factor ! k_factor 0 Rezultate: Matrcea R = S^(-T)*K*S^(-) Matrcea S^(-):

178 78 Retreve_Ege_from_R Regăseşte valorle ş vector propr a probleme geeralzate, după găsrea valorlor ş vectorlor propr a matrc R Fşere sursă: Ma-Retreve_Ege_from_R.f90: programul prcpal work : modul GetFle.90, OpeFle.90: fşere petru fereastra de selecţe stadard wdth.90: utltar Fşere de date (trare): Programul cere ca folderul de lucru să este următoarele patru fşere: ume-s^-.dat: fşerul care coţe matrcea S (trughul superor); ume-scal_r.dat: fşerul care coţe factorul de scalare petru R. ume-val.dat: fşerul care coţe valorle propr λ ale lu R; ume-vec.dat: fşerul care coţe vector propr y a lu R; Specfcatorul de fşer trebue să abă forma de ma sus, î care, ume este ales de utlzator (de regulă, umele eemplulu). Î fecare fşer, datele umerce sut precedate de o le-tet. - Prmele două fşere sut furzate (ca fşere de eşre) de programul Geeral_R. - Ultmele două fşere sut furzate (ca fşere de eşre) de programul de valor propr (QR, Jacob, etc.). Date troduse de la termal: - Numărul gradelor de lbertate (ordul matrc R) - Pulsaţ sau Frecveţe: se troduce T, respectv F. Relaţa ître pulsaţa ω ş frecveţa f este: f = ω /( π ).

179 79 Fşere de eşre (rezultate): ume-omega.dat (pulsaţ), sau ume-frecv.dat (frecveţe); ume-vec_x.dat: vector propr, a probleme geeralzate. Eemplu (v. eemplul de la Geeral_R) ) Fşere de trare: E3-S^-.dat: Matrcea S^(-): E3-Scal_R.dat: Factor de scalare petru R: Următoarele două fşere sut geerate de Jacob_D: E3-VAL.dat: Egevalues: E-0 E3-VEC.dat: Egevectors E

180 ) Fşere de eşre: E3-OMEGA.dat: Pulsat propr (omega): E3-VEC_X.dat: E

181 8 INTERPOLARE Newto Polomul de terpolare Newto. Metoda: Problema Fe fucţa f, cuoscută pr valorle e pe + pucte dstcte, ca î tabelul următor: 0 f() f 0 f f f Puctele se umesc odur ş s-a otat f = f ( ), = 0. Se cere să se găsească, u polom p de grad cel mult, care să cocdă cu fucţa f pe odurle (sau, al căru grafc să treacă pr puctele, f ) ), adcă: p ( ) = f, = 0, ( Se zce că p este polomul de terpolare al fucţe f, pe odurle date. Se arată că: Polomul de terpolare (al fucţe f, pe + odur) estă ş este uc Forma Newto a polomulu de terpolare p ( ) = c + c( 0) + K + c ( 0 ) L( ) 0 Defm poloamele q 0 ( ) =, q ( ) = 0, q( ) = ( 0 )( ),, sau, î geeral, k q0 ( ) = ; qk ( ) = ( ), k =, = 0

182 8 Polomul de terpolare sub forma Newto se scre atuc: = = k k k q c p 0 ) ( ) ( Coefcetul k c se umeşte dfereţa dvzată de ordul k (a fucţe f, pe odul k ) ş se otează cu [ 0 ] 0 f c = ; ],,, [ 0 k k f c K =, k. Cu aceasta, epresa polomulu de terpolare se scre = = k k k q f p 0 0 ) ( ],,, [ ) ( K () sau eplct: ) ( ) ](,, [ ) )( ](,, [ ) ](, [ ) ( ) ( = f f f f p K K L (') Propretăţ ale dfereţelor dvzate P. Dfereţa dvzată este o fucţe smetrcă de argumetele sale Adcă, cosderâd o permutare (,, 0 K ) a umerelor (,, ), avem: ],, [ ],, [ 0 0 f f K K = P. Formula de recureţă a dfereţelor dvzate: ],, [ ],, [ ],, [ f f f = K K K () Calculul practc al dfereţelor dvzate Notâd odurle cu j j j + +,,, K, () deve: j j j j j j j j f f f = ],, [ ],, [ ],, [ K K K ş j j f f = ] [. Utlzâd otaţa smplfcată ],,, [ j j j j j j f f = K K, formula de recureţă () se scre:

183 83 f j j+ f j+ K j+ f j K j+ K j+ = (3) j+ j Astfel, obţem dfereţele de ordul,, 3, etc.: : f 0 f f 0 = ; 0 f f = ; f f 3 f 3 = ; 3 f : f 0 f 0 = ; f 0 f 3 f 3 = ; 3 f 3: Etc. f 03 f 3 0 = ; 3 f 0 Dfereţele dvzate se pot aşeza î următorul tabel eemplu petru 4 odur: 0 3 f f f f 0 3 f f f 0 3 f f 0 3 f 03 Prmele două coloae sut datele probleme (Coloaa a doua repreztă ş dfereţele de ordul 0). Dfereţele de ordul,, 3 sut î coloaele 3, 4, 5. Tabloul are structura trughulară: datele u permt calculul dfereţelor (care mplcă odul 4 ). K cu j + = 4 f j j+ Polomul de terpolare Newto, petru eemplul d tabel, este: p 4 ( ) = f + f ( ) + f ( )( ) + f ( )( )( ) (4) Coefceţ polomulu se găsesc î prma le d tabel (îcepâd cu coloaa ). Petru calculul practc al coefceţlor polomulu Newto, otăm coefceţ ca î tabloul de ma jos, aume c jk (ude j este dcele odulu, ar k dcele ordulu dfereţe): 0 3 c c c c c c c 0 c c 0 c 03

184 84 Corespodeţa este: c 0 = f 0 ; 0 f 0 c = f ; f3 c = ; c 03 = f 03 c = ; c = f ; Sau, î geeral, c jk = f j j+ K j+ k (5) Cu aceasta, (4) se scre: p4 ( ) = c00 + c0( 0 ) + c0 ( 0 )( ) + c03( 0 )( )( ) Coefceţ c jk se calculează pr recureţă, cu formula care dervă d () ş (5): c jk = c j+, k j, k j+ k c j (6) Fşere: Pol-ewto.f90: programul prcpal Fu.f90: fucţa f Programul prcpal mplemetează calculul coefceţlor c jk coform (6), petru fucţa deftă î fu.90. Î afară de aceasta, programul calculează erorle relatve ale polomulu de terpolare pe şte valor date z, adcă ( f ( z ) p( z )) / f ( z ); dacă f ( z ) E 6, se lstează eroarea (î loc de eroarea relatvă). Subprogramul fu() returează valorle fucţe f pe. (Fucţa este umtă fu, ş valorle e sut stocate, î programul prcpal, î tabloul f(0:).) Datele de trare se ctesc dtr-u fşer de date, care coţe datele: - Ttlu: tet, ma. 80 caractere - : umărul de odur. ( = + ) - ( 0 : ) : odurle : valor - z: umărul de valor z

185 85. - z(:z): valorle z : z valor Datele de eşre costau î: valorle fucţe f pe odur; coefceţ c jk ; valorle polomulu p(z); erorle f z ) p( z ). (Dacă f ( ) 0., î loc de eroarea relatvă se lstează eroarea.) Notă ( Programul are scopul de a lsta valorle ş erorle polomulu de terpolare (î geeral, pe alte pucte decât odurle). Programul se poate modfca uşor, astfel ca să abă ca trare valorle fucţe pe odur, adcă valorle f(0:).(î loc ca acestea să fe calculate de fucţa deftă î fu.f90.) Eemplu: z Cosderăm fucţa f ( ) = e 3, ş odurle, 0,,, 3, 4. Lstăm valoarea ş eroarea polomulu, pe mjloacele tervalelor defte de odur: 0.5; 0.5;.5;.5; 3.5. Fşerul de trare/eşre este: Fucta f = ep()-3**; 6 odur f(): Coefcet c_j:

186 E z p(z) Eroare relatva E E-0 (* eroarea) E E E E-0 Grafcele fucţe ş polomulu de terpolare sut date ma jos.

187 Fgura 9 Iterpolare: grafcul fucţe ş polomulu de terpolare 87

Microsoft Word - F.Paladi_TD_manual.doc

Microsoft Word - F.Paladi_TD_manual.doc dq d d c lm lmt lm 0, T 0 dt T 0 dt T 0 d lt deoarece lm(lt ) La fel se poate demostra că ş T 0 cp cv lm 0, care tde către zero ma let decât dfereţa de la T 0 cp umărător c c P V 15 Etropa Exstă tre formulăr

Mai mult

Microsoft Word - fmnl06.doc

Microsoft Word - fmnl06.doc Metode Numerce Lucrre de lbortor r. 6 I. Scopul lucrăr Metode tertve de rezolvre sstemelor lre. II. Coţutul lucrăr. Metode tertve de rezolvre sstemelor lre. Geerltăţ. 2. Metod Jcob. 3. Metod Guss-Sedel.

Mai mult

METODE NUMERICE PENTRU ECUAŢII DIFERENŢIALE

METODE NUMERICE PENTRU ECUAŢII DIFERENŢIALE METODE NUMERICE PENTRU ECUAŢII DIFERENŢIALE Foldere / Metode Ssteme de ordnul întâ Metodele de ma jos rezolvă problema cu valor nțale: x f( t, x) x( t x ) Adams45 Metoda Adams-Moulton Predctor-Corector

Mai mult

Limite de funcţii reale

Limite de funcţii reale ( =, a b ) + a + b o 3 L + M L + M = + = + a + b b a + a + b + A A L + M = = + + ( + + )( + ) + + o 4 + 3 3 = + + 8 8 + 4 +. Limita uei fucţii îtr-u puct Vom prezeta coceptul de "limită a uei fucţii îtr-u

Mai mult

Microsoft Word - 3 Transformata z.doc

Microsoft Word - 3 Transformata z.doc Capitolul 3 - Trasformata 05 06 CAPITOLUL 3 TRANSFORMATA BIDIMENSIONALĂ Defiim trasformata bidimesioală astfel: obţiem trasformata Fourier. (, e ω (3. şi (3. e ω Suprafaţa î plaul, defiită de şi va fi

Mai mult

ETTI-AN1, , C. Ghiu Notițe de Adrian Manea Seminar 4 Serii Fourier și recapitulare 1 Serii Fourier Pentru dezvoltarea în serie Fourier (care

ETTI-AN1, , C. Ghiu Notițe de Adrian Manea Seminar 4 Serii Fourier și recapitulare 1 Serii Fourier Pentru dezvoltarea în serie Fourier (care Semiar 4 Serii Fourier și recapitulare Serii Fourier Petru dezvoltarea î serie Fourier (care se poate aplica atuci cîd seriile Taylor sît imposibile, trebuie satisfăcute codițiile Dirichlet: (D Fucția

Mai mult

Microsoft Word - _Curs II_2_Mar17_2016out.doc

Microsoft Word - _Curs II_2_Mar17_2016out.doc CURS II Mar. 016 Prof. I. Lupea, Programare II, UTCluj 1. Operatorul SELECT -> aduare selectivă, umai elemete pozitive ditr-u şir. Tipuri de date şi culori asociate î diagramă.. For loop î For loop (imbricat).1.

Mai mult

Microsoft Word - F.Paladi_TD_manual.doc

Microsoft Word - F.Paladi_TD_manual.doc Prn urmare, entropa calculată în baza a va f egală cu log a (2) înmulţt cu entropa calculată cu logartm în baza 2. 3. Contnutate Entropa este o funcţe contnuă. Une modfcar nfntezmale a probabltăţlor corespunde

Mai mult

5

5 METODA COSTURILOR VARIABILE Metoda costurlor varable, î forma sa de bază are o sere de caracterstc care o dvdualzează ş -au cofert statutul de metodă. Puctual, acestea sut: utlzează comportametul cheltuellor

Mai mult

3.5. Circuite de ordin mai mare decat doi Scrierea ecuatiilor metodei tabloului Un circuit dinamic de ordin n >2 are n >2 elemente dinamice (co

3.5. Circuite de ordin mai mare decat doi Scrierea ecuatiilor metodei tabloului Un circuit dinamic de ordin n >2 are n >2 elemente dinamice (co .5. rcte de ord ma mare decat do.5.. Screrea ecatlor metode tablol U crct damc de ord > are > elemete damce (codesatoare s/sa bobe). rctele care cot doa bobe lare sa elare cplate tre ele st eempl de astfel

Mai mult

CURS 8

CURS 8 Trasformatorul perfect MATRCE POTV REAE M = = = s Φ Φ ( ( ) = ) = = l, = l (pe acelaşi miez), factor de cuplaj Petru cuplajul perfect ( = ) = l = = Traformatorul cu u cuplaj perfect: = sl Trasformatorul

Mai mult

Calcul Numeric

Calcul Numeric Calcul Numeric Cursul 7 2019 Aca Igat Memorarea matricelor rare - se memorează doar valorile eule şi suficiete iformaţii despre idici astfel ca să se poată recostitui complet matricea Pp. că matricea A

Mai mult

Microsoft PowerPoint - 3.ppt [Compatibility Mode]

Microsoft PowerPoint - 3.ppt [Compatibility Mode] Unverstatea Tehncă Gheorghe sach dn Iaş Facultatea de Ingnere hmcă ş Protecţa Medulu Ingnera proceselor chmce ş bologce/3 n unverstar 205-206 Departamentul Ingnera ş Managementul Medulu În unele cazur,

Mai mult

Microsoft Word - N_ND.02_Capitol.doc

Microsoft Word - N_ND.02_Capitol.doc Captolul Cuvnte-chee Sstem de puncte materale, Legătur blaterale, Legătur unlaterale, Legătur geometrce, Legătur cnematce, Legătur olonome (ntegrable), Legătur neolonome (nentegrable), Legătur stațonare

Mai mult

STRUCTURA UNUI ARTICOL STIINTIFIC Un articol stiintific incepe cu titlul articolului, dupa care se scriu numele autorilor, in ordinea contributiei. Pe

STRUCTURA UNUI ARTICOL STIINTIFIC Un articol stiintific incepe cu titlul articolului, dupa care se scriu numele autorilor, in ordinea contributiei. Pe STRUCTURA UNUI ARTICOL STIINTIFIC U articol stiitific icepe cu titlul articolului, dupa care se scriu umele autorilor, i ordiea cotributiei. Petru fiecare autor trebuie metioata afilierea, adica istitutia

Mai mult

Calcul Numeric

Calcul Numeric Calcul Numeric Cursul 8 2019 Aca Igat Valori şi vectori proprii (eigevalues, eigevectors) Defiiţie Fie A. Numărul complex se umeşte valoare proprie a matricei A dacă există u vector u, u0 astfel ca: Au=u

Mai mult

Examenul de licenţă

Examenul de licenţă Exameul de lceţă Domeul de lceţă ZCĂ promoţa 8 Valabl petru sesule de lceţă ule 8 ş septembre 8 (durata studlor 3 a Exameul de lceţă costă î (două probe: - proba scrsă de cuoştţe geerale de fzcă - prezetarea

Mai mult

Ce este decibelul si Caracteristica BODE

Ce este decibelul si Caracteristica BODE . Ce ete decibelul? Itoria utilizării acetei uităţi de măură ete legată de proprietăţile fiziologice ale itemului auditiv uma. Spre exemplu (figura ), dacă e aplică uui difuzor u emal cu o putere de W

Mai mult

Matematici aplicate științelor biologie Lab10 MV

Matematici aplicate științelor biologie  Lab10 MV LP10 - TATITICA INFERENŢIALĂ. Itervale de îcredere. Cosiderații teoretice Majoritatea studiilor statistice u se realizează pe îtreaga populaţie statistică di uul sau mai multe icoveiete: - talia populaţie

Mai mult

SIMULARE EXAMEN DE BACALAUREAT LA MATEMATICA Toate subiectele (I, II, III) sunt obligatorii. Se acordă 10 puncte din oficiu. Timpul efectiv

SIMULARE EXAMEN DE BACALAUREAT LA MATEMATICA Toate subiectele (I, II, III) sunt obligatorii. Se acordă 10 puncte din oficiu. Timpul efectiv SIMULARE EXAMEN DE BACALAUREAT LA MATEMATICA 8.07.0 Toate subiectele (I, II, III) sut obligatorii. Se acordă 0 pucte di oficiu. Tipul efectiv de lucru este de ore. La toate subiectele se cer rezolvări

Mai mult

Programare Delphi Laborator 2 a. Serii. Elaboraţi câte un program pentru sumarea primilor 100 de termeni ai seriilor următoare şi verificaţi numeric e

Programare Delphi Laborator 2 a. Serii. Elaboraţi câte un program pentru sumarea primilor 100 de termeni ai seriilor următoare şi verificaţi numeric e Programare Delphi Laborator 2 a. Serii. Elaboraţi câte u program petru sumarea primilor 00 de termei ai seriilor următoare şi verificaţi umeric egalităţile date: () (2) (3) 2 + 3 4 + 5 + = l 2; 6 2 + 2

Mai mult

NU ESTE TERMINATĂ

NU ESTE TERMINATĂ POBLEME SEMINA TEHNICI DE OPTIMIZAE ÎN ENEGETICĂ POBLEMA Să se determne încărcarea optmă a două grupur ale une centrale termoelectrce cu puterle nomnale de ş MW. Cele două grupur utlzează cărunele comustl

Mai mult

Pagina 1 din 5 Ministerul Educaţiei Naționale Centrul Naţional de Evaluare şi Examinare Etapa județeană/a sectoarelor municipiului București a olimpia

Pagina 1 din 5 Ministerul Educaţiei Naționale Centrul Naţional de Evaluare şi Examinare Etapa județeană/a sectoarelor municipiului București a olimpia Pagia 1 di 5 Problema I: Patru pitici Parţial Puctaj. Răsturarea uui co 5 pucte 1. oform primului dese semificația lucrului miim W este dată de relația W mg y ude y L h L Lsi L(1 si. u ajutorul relației

Mai mult

Microsoft Word - LogaritmiBac2009.doc

Microsoft Word - LogaritmiBac2009.doc Logaritmi. EcuaŃii logaritmice Logaritmi DefiiŃie. Fie a R * +, a şi b R * + douã umere reale. Se umeşte logaritm al umãrului real strict pozitiv b epoetul la care trebuie ridicat umãrul a, umit bazã,

Mai mult

Microsoft Word - subiecte

Microsoft Word - subiecte Uiversitate Spiru Haret Facultatea de Matematica-Iformatica Algebră 1 Discipliă obligatorie; Aul I, Sem 1, ore săptămâal, îvăţămât de zi: curs, semiar, total ore semestru 56; 6 credite; exame I CONŢINUTUL

Mai mult

Microsoft Word - LogaritmiBac2009.doc

Microsoft Word - LogaritmiBac2009.doc Logaritmi. EcuaŃii logaritmice Logaritmi DefiiŃie. Fie a R * +, a şi b R * + douã umere reale. Se umeşte logaritm al umãrului real strict pozitiv b epoetul la care trebuie ridicat umãrul a, umit bazã,

Mai mult

Microsoft Word - revista

Microsoft Word - revista Revsta Vrtuală Ifo MateTehc Revsta vrtuală de cultură tehcă, matematcă ş formatcă petru elev, studeţ, maştr ş profesor d îvăţămâtul preuverstar ş uverstar Aul III Nr. 7-8-9/203 www.fomate.ro ISSN 2069-7988

Mai mult

Microsoft Word - Anexa 5A Precizarea ipotezelor care au stat la baza proiectiilor finaciare

Microsoft Word - Anexa 5A Precizarea ipotezelor care au stat la baza proiectiilor finaciare Anexa 5A PRECIZAREA IPOTEZELOR CARE AU STAT LA BAZA INTOCMIRII PROIECTIILOR FINANCIARE PRECIZARILE DE MAI JOS SUNT AFERENTE ANEXELOR FINANCIARE 1-8 AtenŃe: 1. Prognozele vor f întocmte pornnd de la stuańle

Mai mult

CAPITOLUL 1

CAPITOLUL 1 3. CARACTERISTICI STATISTICE ALE UNEI SERII DE DATE 3.. INTRODUCERE Statistica matematică, mai precis metodele furizate de aceasta s-au implemetat puteric î metodologia de lucru a diferite domeii. Apelul

Mai mult

Preţ bază

Preţ bază OPERATORUL PIEŢEI DE ENERGIE ELECTRICĂ ŞI DE GAZE NATURALE DIN ROMÂNIA INDICATORI SPECIFICI PUBLICAŢI DE OPCOM SA PREŢURI ŞI INDICI DE PREŢ/VOLUM Piaţa petru Ziua Următoare (PZU) Preţuri orare [lei/mwh]

Mai mult

Inteligență artificială Laboratorul 5 Normalizarea datelor. Mașini cu vectori suport (SVM) 1. Normalizarea datelor Metode obișnuite de preprocesare a

Inteligență artificială Laboratorul 5 Normalizarea datelor. Mașini cu vectori suport (SVM) 1. Normalizarea datelor Metode obișnuite de preprocesare a Normalzarea datelor. Mașn cu vector suport (SVM) 1. Normalzarea datelor Metode obșnute de preprocesare a datelor. În partea stângă sunt reprezentate datele D orgnale. În mjloc acestea sunt centrate în

Mai mult

Probleme rezolvate 1) Să se calculeze limitele următoarelor şiruri: 1 a) x n n = ( n+ 1)( n+ 2 )...( n+ n), n 2 n ( 1) 1 n n b) 2 3 n 5 n... ( 2

Probleme rezolvate 1) Să se calculeze limitele următoarelor şiruri: 1 a) x n n = ( n+ 1)( n+ 2 )...( n+ n), n 2 n ( 1) 1 n n b) 2 3 n 5 n... ( 2 Probleme rezolvate ) Să se calculeze itele următoarelor şiruri: a) x = ( + )( + )...( + ), 3 ( ) b) 3 5... ( x = e + e + + ) e Soluţie ( + )( + )...( + ) a) x = =... + + +. k l x = l +. Folosid coseciţa

Mai mult

PowerPoint-Präsentation

PowerPoint-Präsentation Unverstatea Translvana n Braşov Laboratorl e Veere Artcală Robstă ş Control Metoe Nmerce Crs 7 ntegrarea nmercă Ggel Măceșan Cprns ntrocere Metoa trapezl ș eroarea e trncere Metoa l Rcarson Metoa l Smpson

Mai mult

Microsoft Word - L07_TEFO_FILTRUL_KALMAN.doc

Microsoft Word - L07_TEFO_FILTRUL_KALMAN.doc Laborator TEFO Lucrarea nr. 7 FILTRUL KALMAN este un nstrument matematc puternc care joacă un rol mportant în grafca pe computer când vrem să reprezentăm lumea reală în sstemele de calcul. De asemenea,

Mai mult

METODE NUMERICE ÎN INGINERIE

METODE NUMERICE ÎN INGINERIE METODE NUMERICE ÎN INGINERIE REZOLVAREA NUMERICĂ A SISTEMELOR DE ECUATII LINIARE Aspecte generale (1) (2) (3) (4) (5) Unicitatea soluţiei Un sistem de ecuaţii liniare are o soluţie unică numai dacă matricea

Mai mult

Microsoft Word - MD.05.

Microsoft Word - MD.05. pitolul uvite-cheie serii de puteri, puct regult, puct sigulr, ecuţie idicilă osideră o ecuţie difereţilă de ordi k ( k ) L(,,,,..., ) () Se pote căut soluţi sub for uei serii de puteri î jurul puctului

Mai mult

Microsoft PowerPoint - 5_.ppt

Microsoft PowerPoint - 5_.ppt Unverstatea Tehncă Gheorghe Asach dn Iaş Facultatea de Ingnere Chmcă ş Protecţa edulu Ingnera proceselor chmce ş bologce/5 An unverstar 202-203 Ttular dscplnă: Prof.dr.ng. ara Gavrlescu Aplcaţ: Dr. Petronela

Mai mult

Slide 1

Slide 1 ELECTROTEHNICĂ ET A I - IA CUR 6 Cof.dr.ig.ec. Claudia PĂCURAR e-mail: Claudia.Pacurar@ethm.utcluj.ro . Legea iducției electromagetice 2. Eergii și forțe î câmp magetic . Legea iducției electromagetice

Mai mult

Dependenţă funcţională n Cursul 9 Fie funcţiile f : A R R, i 1, m. A mulțime nevidă. i Definiţia 1. Spunem că funcţia g: A R depinde de funcţiile f1,

Dependenţă funcţională n Cursul 9 Fie funcţiile f : A R R, i 1, m. A mulțime nevidă. i Definiţia 1. Spunem că funcţia g: A R depinde de funcţiile f1, Depedeţă ucţioală Cursul 9 Fie ucţiile : A R R, i, A ulție evidă i Deiiţia Spue că ucţia g: A R depide de ucţiile, eistă o ucţie h de variabile astel îcât pe ulţiea A dacă g h,,,, A Dacă u eistă o ucție

Mai mult

ETTI-AM2, , M. Joița & A. Niță Notițe de Adrian Manea Seminar 10 Transformata Fourier Integrala Fourier Seriile Fourier sînt utile pentru dez

ETTI-AM2, , M. Joița & A. Niță Notițe de Adrian Manea Seminar 10 Transformata Fourier Integrala Fourier Seriile Fourier sînt utile pentru dez Seminar 1 Transformata Fourier Integrala Fourier Seriile Fourier sînt utile pentru dezvoltarea unor funcții periodice (sau convertibile în unele periodice). Însă dacă funcțiile sînt arbitrare, se folosește

Mai mult

1. Se masoara forta de presiune X (Kg/cm 3 ), la care un anumit material cedeaza. Se presupune ca X urmeaza o lege normala. Pentru 10 masuratori se ob

1. Se masoara forta de presiune X (Kg/cm 3 ), la care un anumit material cedeaza. Se presupune ca X urmeaza o lege normala. Pentru 10 masuratori se ob 1. Se masoara forta de presiue X (Kg/cm 3 ), la care u aumit material cedeaza. Se presupue ca X urmeaza o lege ormala. Petru 10 masuratori se obti urmatoarele valori: Cerite: 19.6 19.9 20.4 19.8 20.5 21.0

Mai mult

Microsoft Word - probleme_analiza_numerica_ses_ian09.rtf

Microsoft Word - probleme_analiza_numerica_ses_ian09.rtf Universitatea Spiru Haret Facultatea de Matematica-Informatica Disciplina obligatorie; Anul 3, Sem. 1,Matematica si Informatica CONTINUTUL TEMATIC AL DISCIPLINEI Metode numerice de rezolvare a sistemelor

Mai mult

Microsoft Word CursAppAnNum08

Microsoft Word CursAppAnNum08 I20 Conrolul asulu În unele cazur ese necesară enru obţnerea une eror dae folosrea unu as varabl în rezolvarea numercă Meodele numerce care folosesc un as varabl se numesc meode adave Penru conrolul asulu

Mai mult

Microsoft Word - acasa_Reteua de difractie.doc

Microsoft Word - acasa_Reteua de difractie.doc UIVERSITATEA "POLITEHICA" DI BUCUREŞTI DEPARTAMETUL DE FIZICĂ LABORATORUL DE OPTICĂ B - 0 B DIFRACŢIA LUMIII DETERMIAREA LUGIMII DE UDĂ A RADIAŢIEI LUMIOASE UTILIZÂD REŢEAUA DE DIFRACŢIE 004-005 DIFRACŢIA

Mai mult

Ecuatii si sisteme de ecuatii neliniare 1 Metoda lui Newton Algorithm 1 Metoda lui Newton pentru ecuaţia f(x) = 0. Date de intrare: - Funcţia f - Apro

Ecuatii si sisteme de ecuatii neliniare 1 Metoda lui Newton Algorithm 1 Metoda lui Newton pentru ecuaţia f(x) = 0. Date de intrare: - Funcţia f - Apro Ecuatii si sisteme de ecuatii neliniare Metoda lui Newton Algorithm Metoda lui Newton pentru ecuaţia f(x) = 0. - Funcţia f - Aproximaţia iniţială x - Eroarea admisă ε - Numărul maxim de iteraţii ITMAX

Mai mult

ALGORITHMICS

ALGORITHMICS Curs 11: Metode de tp ansamblu meta-modele) ata mnng - Curs 11 1 Structura Motvaţe Ideea modelelor de tp ansamblu Colecţ de modele bucket of models) Colecţ de arbor aleator random forests) Strateg de agregare

Mai mult

FIŞA DISCIPLINEI 1. Date despre program 1.1 Instituţia de învăţământ superior Universitatea Alexandru Ioan Cuza din Iaşi 1.2 Facultatea Facultatea de

FIŞA DISCIPLINEI 1. Date despre program 1.1 Instituţia de învăţământ superior Universitatea Alexandru Ioan Cuza din Iaşi 1.2 Facultatea Facultatea de FIŞA DISCIPLINEI 1. Date despre program 1.1 Instituţia de învăţământ superior Universitatea Alexandru Ioan Cuza din Iaşi 1.2 Facultatea Facultatea de Informatică 1.3 Departamentul Informatică 1.4 Domeniul

Mai mult

CONCURSUL DE MATEMATICǍ ISTEŢII D ARBORE EDIŢIA a X-a - 20 aprilie 2019 Clasa a IV-a BAREM DE CORECTARE ŞI NOTARE SUBIECTUL I Se punctează doar rezult

CONCURSUL DE MATEMATICǍ ISTEŢII D ARBORE EDIŢIA a X-a - 20 aprilie 2019 Clasa a IV-a BAREM DE CORECTARE ŞI NOTARE SUBIECTUL I Se punctează doar rezult CONCURSUL DE MATEMATICǍ ISTEŢII D ARBORE EDIŢIA a X-a - 0 aprilie 09 Clasa a IV-a BAREM DE CORECTARE ŞI NOTARE Se punctează doar rezultatul: pentru fiecare răspuns se acordă fie uncte, fie 0 puncte Nu

Mai mult

LUCRAREA 1

LUCRAREA 1 LUCRAREA 4 Trtr umrcă smllor Al ş st sstmlor dscrt utlâd trsformt Trsformt Lplc TL st oprtorul d trcr rprtăr sstmlor cotu d domul tmp î domul frcvţlor compl. TL uu sml cul t s dfşt pr: ud st s L t t dt

Mai mult

Microsoft Word - anmatcap1_3.doc

Microsoft Word - anmatcap1_3.doc . IRURI DE NUMERE Fie E omulimedeelemete,i o submulimedeidici,i. Defii ie:numim ir de umere reale o familie de umere reale cu idici umere aturale, pe care îl vom ota cu ( a ) ; a se ume te termeul geeral

Mai mult

Microsoft Word - SUBIECTE FAZA LOCALA FEBRUARIE 2007

Microsoft Word - SUBIECTE  FAZA LOCALA FEBRUARIE 2007 CLASA a - V a 1 007 1. a) ArătaŃi că umărul A= 1+ + + +... + este divizibil cu 15. b) La u cocurs de matematică au participat elevi di clasele a V-a A, a V-a B şi a V-a C. 7 de elevi u sut di clasa a V-a

Mai mult

Autoevaluare curs MN.doc

Autoevaluare curs MN.doc Anul II, IEI IFR Semestrul I Metode numerice Chestionar de autoevaluare C1 1 Să se scrie o procedură care să calculeze produsul scalar a doi vectori 2 Să se scrie o procedură de înmulţire a matricelor

Mai mult

Salve Regina à 8 Juan Gutiérrez de Padilla (c ) Superius I B & c Ú w 6 w w w w Sal - ve Re - gi - na ma - ter, Altus I B & c w œ# # w R

Salve Regina à 8 Juan Gutiérrez de Padilla (c ) Superius I B & c Ú w 6 w w w w Sal - ve Re - gi - na ma - ter, Altus I B & c w œ# # w R Salve Regina à 8 Juan Gutiérrez de Pilla (.1590-1664) Superius I B 6 6 6 6 Sal - ve Re - gi - na ma - ter, Altus I B Re - gi - na ma - - - - - ter, Re - gi - Tenor I B b Re - gi - na ma - - - ter, Re -

Mai mult

Laborator 1-Teoria probabilitatilor si statistica matematica Sef lucrari dr.mat. Daniel N.Pop Departamentul de calculatoare si inginerie electrica 1 P

Laborator 1-Teoria probabilitatilor si statistica matematica Sef lucrari dr.mat. Daniel N.Pop Departamentul de calculatoare si inginerie electrica 1 P Laborator 1-Teoria probabilitatilor si statistica matematica Sef lucrari dr.mat. Daniel N.Pop Departamentul de calculatoare si inginerie electrica 1 Prezentare generală Matlab 1.1 Help on-line 1. Limbajul

Mai mult

..MINISTERUL EDUCAŢIEI NAȚIONALE ŞI CERCETARII STIINTIFICE UNIVERSITATEA DE VEST DIN TIMIȘOARA.I CENTRUL DE DEZVOLTARE ACADEMICĂ. FIȘA DISCIPLINEI 1.

..MINISTERUL EDUCAŢIEI NAȚIONALE ŞI CERCETARII STIINTIFICE UNIVERSITATEA DE VEST DIN TIMIȘOARA.I CENTRUL DE DEZVOLTARE ACADEMICĂ. FIȘA DISCIPLINEI 1. FIȘA DISCIPLINEI 1. Date despre program 1.1. Instituția de învățământ superior Universitatea de Vest din Timișoara 1.2. Facultatea Matematică și Informatică 1.3. Departamentul Informatică 1.4. Domeniul

Mai mult

Microsoft Word _ISABEL_GA

Microsoft Word _ISABEL_GA Optmzarea unu sstem BCI folosnd tehnca GA Dan Marus Dobrea, Monca-Clauda Dobrea Abstract Această lucrare, ce contnuă o cercetare anteroară, are ca prm obectv îmbunătăţrea unu sstem de tp nterfaţă creer-calculator

Mai mult

Realizarea fizică a dispozitivelor optoeletronice

Realizarea fizică a dispozitivelor optoeletronice Curs 03/04 Curs marti, 7-0, P4 C 3C 4*/3 9.33 9 0 C Capitolul B E t H D B J D t 0 t J Ecuatii costitutive D B J E H E I vid 0 4 0 7 H m 0 8,8540 F m c0,99790 0 0 0 8 m s X Simplificarea ecuatiilor lui

Mai mult

Subiectul 1

Subiectul 1 Subiectul 1 În fişierul Numere.txt pe prima linie este memorat un număr natural n (n

Mai mult

Prelucrarea Datelor cu Caracter Personal de către OSIM Toate datele cu caracter personal colectate de Oficiul de Stat pentru Invenții și Mărci (OSIM)

Prelucrarea Datelor cu Caracter Personal de către OSIM Toate datele cu caracter personal colectate de Oficiul de Stat pentru Invenții și Mărci (OSIM) Prelucrarea Datelor cu Caracter Personal de către OSIM Toate datele cu caracter personal colectate de Ofcul de Stat pentru Invenț ș Mărc (OSIM) sunt prelucrate în conformtate cu dspozțle Regulamentulu

Mai mult

Microsoft PowerPoint - ImplementareLimbaj [Read-Only] [Compatibility Mode]

Microsoft PowerPoint - ImplementareLimbaj [Read-Only] [Compatibility Mode] Detalii de implementare. Declararea variabilelor, transmiterea parametrilor catre subprograme. Declararea variabilelor variabile globale -declarate in afara oricarei functii variabile locale -declarate

Mai mult

L7

L7 Lucrarea de laborator nr. 7 POINTERI 1. Conţinutul lucrării În lucrare se prezintă tipul pointer, operaţiile permise asupra pointerilor, modul de alocare şi eliberare dinamică a memoriei. 2. Consideraţii

Mai mult

EXAMEN LICENTA REZUMATELE SUBIECTELOR SI BIBLIOGRAFIA RECOMANDATA PENTRU PROBA 1 (EXAMEN ORAL) SPECIALIZAREA FIZICA MEDICALA 1

EXAMEN LICENTA REZUMATELE SUBIECTELOR SI BIBLIOGRAFIA RECOMANDATA PENTRU PROBA 1 (EXAMEN ORAL) SPECIALIZAREA FIZICA MEDICALA 1 EXAMEN LICENTA REZUMATELE SUBIECTELOR SI BIBLIOGRAFIA RECOMANDATA PENTRU PROBA (EXAMEN ORAL) SPECIALIZAREA FIZICA MEDICALA MECANICA NEWTONIANA Lector Dr. Barvch Paul SUBIECTUL Prcple mecac ewtoee Mecaca

Mai mult

{ 3x + 3, x < 1 Exemple. 1) Fie f : R R, f(x) = 2x + 4, x 1. Funcţia f este derivabilă pe R\{1} (compunere de funcţii elementare), deci rămâne să stud

{ 3x + 3, x < 1 Exemple. 1) Fie f : R R, f(x) = 2x + 4, x 1. Funcţia f este derivabilă pe R\{1} (compunere de funcţii elementare), deci rămâne să stud { 3 + 3, < Eemple. ) Fie f : R R, f() + 4,. Funcţia f este derivabilă pe R\{} (compunere de funcţii elementare), deci rămâne să studiem derivabilitatea în a. Atunci f s() 3+3 6,< 3, f d f() f() (),> funcţia

Mai mult

Laborator 3 - Simulare. Metode de tip Monte Carlo. I. Estimarea ariilor şi a volumelor RStudio. Nu uitaţi să va setaţi directorul de lucru: Session Se

Laborator 3 - Simulare. Metode de tip Monte Carlo. I. Estimarea ariilor şi a volumelor RStudio. Nu uitaţi să va setaţi directorul de lucru: Session Se Laborator 3 - Simulare. Metode de tip Monte Carlo. I. Estimarea ariilor şi a volumelor RStudio. Nu uitaţi să va setaţi directorul de lucru: Session Set Working Directory Choose Directory. Exerciţiu rezolvat.

Mai mult

Paradigme de programare

Paradigme de programare Curs 4 Transparență referențială. Legare statică / dinamică. Modelul contextual de evaluare. Transparență referențială Cuprins Efecte laterale Transparență referențială 2 Efecte laterale Efecte laterale

Mai mult

Diapositive 1

Diapositive 1 Tablouri Operatii pe tablouri bidimensionale Lectii de pregatire pentru Admitere 09 / 03 / 2019 1 Cuprins Operatii pe tablouri bidimensionale 0. Tablouri unidimensionale scurta recapitulare 1.Tablouri

Mai mult

I. Proiectii financiare si indicatori financiari (Anexele B pentru persoanele juridice si Anexele C pentrupersoanele fizice autorizate, intreprinderi

I. Proiectii financiare si indicatori financiari (Anexele B pentru persoanele juridice si Anexele C pentrupersoanele fizice autorizate, intreprinderi I. Proect fnancare s ndcator fnancar (Anexele B pentru persoanele jurdce s Anexele C pentrupersoanele fzce autorzate, ntreprnder ndvduale s ntreprnder famlale) pentru demonstrarea crterulu de elgbltate

Mai mult

Universitatea Politehnica din Bucureşti Facultatea de Electronică, TelecomunicaŃii şi Tehnologia InformaŃiei Tehnici Avansate de Prelucrarea şi Analiz

Universitatea Politehnica din Bucureşti Facultatea de Electronică, TelecomunicaŃii şi Tehnologia InformaŃiei Tehnici Avansate de Prelucrarea şi Analiz Uiversitatea Politehica di ucureşti Facultatea de Electroică, TelecomuicaŃii şi Tehologia IformaŃiei Tehici Avasate de Prelucrarea şi Aaliza Imagiilor urs 7 Morfologie matematică Pla urs 7 Morfologie matematică

Mai mult

OLIMPIADA DE MATEMATICĂ ETAPA LOCALĂ CLASA A V-A SOLUŢII ŞI BAREME ORIENTATIVE DE CORECTARE Subiectul I a) Calculaţi: 13 :

OLIMPIADA DE MATEMATICĂ ETAPA LOCALĂ CLASA A V-A SOLUŢII ŞI BAREME ORIENTATIVE DE CORECTARE Subiectul I a) Calculaţi: 13 : OLIMPIADA DE MATEMATICĂ ETAPA LOCALĂ 1.0.01 CLASA A V-A SOLUŢII ŞI BAREME ORIENTATIVE DE CORECTARE Subiectul I 5 5 a) Calculaţi: 1 :1 17 4 14 4 8 :17 5 :100 5:. b) Arătaţi că umărul x 74a 4a7 a74 este

Mai mult

Slide 1

Slide 1 ELECROEHNCĂ E An - SA CURS 7 Conf.dr.ng.ec. Clauda PĂCURAR e-mal: Clauda.Pacurar@ethm.utcluj.ro 1. Mărm perodce ș mărm snusodale. Reprezentăr smbolce ale mărmlor snusodale 3. Operaț cu mărm snusodale

Mai mult

Microsoft Word - Tema 06 - Convertoare analog-numerice.doc

Microsoft Word - Tema 06 - Convertoare analog-numerice.doc Convertoare analog-numerice (ADC) Convertoarele analog-numerice sunt circuite electronice (în variantă integrată sau hibridă) care, printr-un algoritm intrinsec de funcţionare, asociază valorilor tensiunii

Mai mult

Concursul Interjudeţean de Matematică Cristian S. Calude Galaţi, 26 noiembrie 2005 Inspectoratul Şcolar al Judeţului Galaţi, Societatea de Ştiinţe Mat

Concursul Interjudeţean de Matematică Cristian S. Calude Galaţi, 26 noiembrie 2005 Inspectoratul Şcolar al Judeţului Galaţi, Societatea de Ştiinţe Mat Cocursul Iterjudeţea de Matematică Cristia S. Calude Galaţi, 6 oiembrie 005 Ispectoratul Şcolar al Judeţului Galaţi, Societatea de Ştiiţe Matematice di Româia, Filiala Galaţi şi catedra de matematică a

Mai mult

INFLPR

INFLPR IFLPR Secta Laser RAPORT DE CERCETARE r. 3 / 16.03.011 Proect ISOTEST - POSCCE.1. In cadrul cele de a trea peroade de raportare (16.1.010 16.03.011) sunt prevazute urmatoarele actvtat de dezvoltare expermentala

Mai mult

SUBPROGRAME

SUBPROGRAME SUBPROGRAME Un subprogram este un ansamblu ce poate conţine tipuri de date, variabile şi instrucţiuni destinate unei anumite prelucrări (calcule, citiri, scrieri). Subprogramul poate fi executat doar dacă

Mai mult

Web Social FSEGA, UBB Lect.univ.dr. Daniel Mican LABORATOR 2. Dezvoltarea blogurilor prin intermediul WordPress.com PREZE

Web Social FSEGA, UBB Lect.univ.dr. Daniel Mican LABORATOR 2. Dezvoltarea blogurilor prin intermediul WordPress.com PREZE LABORATOR 2. Dezvoltarea blogurilor prin intermediul WordPress.com PREZENTAREA LUCRARII DE LABORATOR Lucrarea de laborator isi propune sa prezinte modul de creare a blogurilor cu wordpress.com. WordPress

Mai mult

Microsoft PowerPoint - Curs_SDA_9_RO_2019_v2.pptx

Microsoft PowerPoint - Curs_SDA_9_RO_2019_v2.pptx SDA (PC2) Curs 9 Liste / Grafuri / Arbori Iulian Năstac Lista dublu înlănțuită Recapitulare Într-o astfel de listă fiecare nod conţine doi pointeri: unul spre nodul următor şi unul spre nodul precedent.

Mai mult

Microsoft Word - CarteC.doc

Microsoft Word - CarteC.doc Transmiterea parametrilor unei funcții Parametrii se transmit de la funcţia apelantă la funcţia apelată prin intermediul stivei. La apelul unei funcţii, pe stivă se crează o înregistrare de activare, care

Mai mult

PowerPoint Presentation

PowerPoint Presentation 1 Toate erorile unui circuit de eşantionare-memorare se pot deduce cantitativ din specificaţiile tehnice ale circuitului, cu excepţia erorii generate de timpul de apertură, fiindcă această eroare este

Mai mult

Ministerul Educaţiei Naționale Centrul Naţional de Evaluare şi Examinare Etapa Națională a Olimpiadei de FIZICĂ 3-7 Mai 2019, Târgoviște Barem de eval

Ministerul Educaţiei Naționale Centrul Naţional de Evaluare şi Examinare Etapa Națională a Olimpiadei de FIZICĂ 3-7 Mai 2019, Târgoviște Barem de eval BAEM DE COECTAE Clasa a -a Pagia di 9 Subiect - MECANICĂ CLASICĂ Parţial Puctaj Bare subiect ucte Problea. Mişcări ucte a.) Mișcarea puctului aterial este uifor ariată a / cost. Eidet rectiliie u poate

Mai mult

Prelucrarea numerica a semnalelor. Capitolul 10 Silviu Ciochina 10. ALGORITMI RAPIZI PENTRU EFECTUAREA CONVOLUŢIEI ŞI A TRANSFORMATEI FOURIER DISCRETE

Prelucrarea numerica a semnalelor. Capitolul 10 Silviu Ciochina 10. ALGORITMI RAPIZI PENTRU EFECTUAREA CONVOLUŢIEI ŞI A TRANSFORMATEI FOURIER DISCRETE . ALGORITI RAPIZI PETRU EFECTUAREA COVOLUŢIEI ŞI A TRASFORATEI FOURIER DISCRETE Oeraţle de ovoluţe ş trasforata Fourer dsretă (TFD) ouă u lo ortat î relurarea ueră a sealelor. D ăate ele lă u volu relatv

Mai mult

Microsoft Word - PI-L8r

Microsoft Word - PI-L8r Procesarea Imailor - aborator 8: Proprietăţi statistice ale imailor de tensitate 8. Proprietăţi statistice ale imailor de tensitate 8.. Introducere În această lucrare se vor prezenta prcipalele trăsături

Mai mult

Aproximarea functiilor prin metoda celor mai mici patrate

Aproximarea functiilor prin metoda celor mai mici patrate Aproximarea funcţiilor prin metoda celor mai mici pătrate Prof.dr.ing. Universitatea "Politehnica" Bucureşti, Facultatea de Inginerie Electrică Suport didactic pentru disciplina Metode numerice, 2017-2018

Mai mult

Cuantizare Vectoriala.doc

Cuantizare Vectoriala.doc 4. Metoda de quadro în compresie fractala optimizata rata-distorsiune În cele ce urmeaza descriem o metoda de quadro bazata pe optimizarea criteriului ratadistorsiune în compresia fractala a imaginilor.

Mai mult

Declararea variabilelor

Declararea variabilelor Platforma 3. 1 Instructiuni diverse Declararea variabilelor Tipuri de Date Tipul de dată al unui obiect/variabila specifica tipul informaţiei pe care acel obiect îl poate stoca. Exemplu: numere întregi,

Mai mult

Evaluarea şi sumarizarea automată a conversaţiilor chat

Evaluarea şi sumarizarea automată a conversaţiilor chat Evaluarea ş sumarzarea automată a conversaţlor chat Mha Dascălu, Ștefan Trăușan-Matu, Phlppe Dessus To cte ths verson: Mha Dascălu, Ștefan Trăușan-Matu, Phlppe Dessus. Evaluarea ş sumarzarea automată a

Mai mult

Limbaje de Programare Curs 6 – Functii de intrare-iesire

Limbaje de Programare   Curs 6 – Functii de intrare-iesire Limbaje de Programare Curs 6 Funcţii de intrare-ieşire Dr. Casandra Holotescu Universitatea Politehnica Timişoara Ce discutăm azi... 1 Citire formatată 2 Citirea şirurilor de caractere 3 Citirea unor linii

Mai mult

Programa olimpiadei de matematică

Programa olimpiadei de matematică Programa olimpiadei de matematică petru clasele V VIII Petru fiecare clasă, î programa de olimpiadă sut icluse î mod implicit coţiuturile programelor de olimpiadă di clasele aterioare. Petru fiecare clasă,î

Mai mult

MUNICIPIUL BUCURESTI BUGETUL PE ANUL 2017 LISTA obiectivelor de in vest it i i cu finantare integrala sau partiala de la buget I. Credite de angajamen

MUNICIPIUL BUCURESTI BUGETUL PE ANUL 2017 LISTA obiectivelor de in vest it i i cu finantare integrala sau partiala de la buget I. Credite de angajamen MUNCPUL BUCUREST BUGETUL PE ANUL LSTA obectvelor de vest t cu fatare tegrala sau partala de la buget. Credte de agajamet. Credte bugetare Sucaptolul:.." servc domele cultur, recreer NSTTUTA: ADMNSTRATE

Mai mult

DAN LASCU ADRIANA-LIGIA SPORIŞ ANDA OLTEANU PAUL VASILIU MATEMATICĂ. CULEGERE DE PROBLEME TIP GRILĂ PENTRU ADMITEREA ÎN ACADEMIA NAVALĂ MIRCEA CEL BĂT

DAN LASCU ADRIANA-LIGIA SPORIŞ ANDA OLTEANU PAUL VASILIU MATEMATICĂ. CULEGERE DE PROBLEME TIP GRILĂ PENTRU ADMITEREA ÎN ACADEMIA NAVALĂ MIRCEA CEL BĂT DAN LASCU ADRIANA-LIGIA SPORIŞ ANDA OLTEANU PAUL VASILIU MATEMATICĂ. CULEGERE DE PROBLEME TIP GRILĂ PENTRU ADMITEREA ÎN ACADEMIA NAVALĂ MIRCEA CEL BĂTRÂN Colecţia Matematică DAN LASCU ADRIANA-LIGIA SPORIŞ

Mai mult

Microsoft Word - Lab1a.doc

Microsoft Word - Lab1a.doc Sisteme de numeraţie şi coduri numerice 1.1. Sisteme de numeraţie 1.2. Conversii generale între sisteme de numeraţie 1.3. Reprezentarea numerelor binare negative 1.4. Coduri numerice 1.5. Aplicaţii In

Mai mult

Analiz¼a Matematic¼a - Curs 6 M¼ad¼alina Roxana Buneci

Analiz¼a Matematic¼a - Curs 6 M¼ad¼alina Roxana Buneci Analiz¼a Matematic¼a - Curs 6 M¼ad¼alina Roxana Buneci Cuprins 4 Spaţii topologice (continuare din cursul 5) 3 4.6 Spaţiul R n............................ 3 5 Calcul diferenţial 7 5. Derivatele funcţiilor

Mai mult

Modelarea deciziei financiare şi monetare

Modelarea deciziei financiare şi monetare ACADEMIA DE STUDII ECONOMICE DIN BUCUREŞTI FACUTATEA DE FINANȚE, ASIGURĂRI, BĂNCI ŞI BURSE DE VAORI Modelarea deciziei financiare şi monetare Teoria producătorului Aleandru eonte Departamentul de Monedă

Mai mult

8

8 9.5 Fluxul unui vector printr-o suprafaţă deschisă-continuare Observaţie: Dacă vrem să calculăm fluxul vectorului a = P x y z i + Q x y z j + R x y z k (,, ) (,, ) (,, ) prin suprafaţa definită de ecuaţia

Mai mult

CONCURSUL NAŢIONAL DE MATEMATICA PANAITOPOL EDIŢIA a X-a, TULCEA, 21 aprilie 2018 Clasa a VII - a 1. Se consideră numerele reale x, y şi z, cel puţin

CONCURSUL NAŢIONAL DE MATEMATICA PANAITOPOL EDIŢIA a X-a, TULCEA, 21 aprilie 2018 Clasa a VII - a 1. Se consideră numerele reale x, y şi z, cel puţin CONCURSUL NAŢIONAL DE MATEMATICA PANAITOPOL EDIŢIA a X-a, TULCEA, 21 aprilie 2018 Clasa a VII - a 1. Se consideră numerele reale x, y şi z, cel puţin două dintre ele fiind diferite. Arătaţi că x y z 0

Mai mult

0 Probleme pentru pregătirea examenului final la Analiză Matematică 1. Să se calculeze următoarele integrale improprii: dx a) x 4 ; b) x 3 dx dx

0 Probleme pentru pregătirea examenului final la Analiză Matematică 1. Să se calculeze următoarele integrale improprii: dx a) x 4 ; b) x 3 dx dx Probleme pentru pregătirea examenului final la Analiză Matematică. ă se calculeze următoarele integrale improprii: dx a) + x ; b) x dx dx; c) + x x + x ) ; dx x d) x + x ) ; e) dx; f) x p e xq dx, p >,

Mai mult

PowerPoint-Präsentation

PowerPoint-Präsentation Universitatea Transilvania din Braşov Laboratorul de Vedere Artificială Robustă şi Control Metode Numerice Curs 01 Introducere Gigel Măceșanu 1 Cuprins Obiectivele cursului Organizare: Structura cursului

Mai mult