Metode de Programare cu Matrice Rare

Proiect
9/10 (3 voturi)
Conține 28 fișiere: doc, ppt, cpp, exe, out, in
Pagini : 94 în total
Cuvinte : 25533
Mărime: 1.05MB (arhivat)
Publicat de: Naomi Nistor
Puncte necesare: 12
Profesor îndrumător / Prezentat Profesorului: Lector univ. drd. MIROIU MARIA
UNIVERSITATEA DIN PITEŞTI FACULTATEA DE MATEMATICĂ-INFORMATICĂ SPECIALIZAREA MATEMATICĂ-INFORMATICĂ

Cuprins

  1. Introducere 3
  2. Capitolul I
  3. METODE DE PROGRAMARE CU MATRICE RARE
  4. 1.1 Noţiuni fundamentale despre matrice rare 4
  5. 1.2 Memorarea unui vector
  6. 1.3 Memorarea unei matrice rare 5
  7. 1.3.1 Memorarea prin identificare binară 6
  8. 1.3.2 Memorarea compactă aleatoare 8
  9. 1.3.3 Memorarea compactă simetrică
  10. 1.3.4 Memorarea folosind listele înlănţuite
  11. 1.3.5 Memorarea matricelor rare cu structuri speciale
  12. 1.4 Tehnici de programare cu matrice rare
  13. 1.5 Organizarea programelor de calcul cu matrice rare 10
  14. Capitolul II
  15. FACTORIZAREA MATRICELOR RARE
  16. 2.1 Pivotaj intr-o matrice rara 20
  17. 2.2 Factorizarea LU 23
  18. 2.3 Bifactorizare 33
  19. 2.4 Comparaţie între metodele de factorizare 35
  20. Capitolul III
  21. REZOLVAREA SISTEMELOR DE ECUAŢII ALGEBRICE LINIARE
  22. CU MATRICEA COEFICIENŢILOR RARĂ
  23. 3.1 Condiţionare, stabilitate şi pivotare 36
  24. 3.2 Scalarea matricelor rare 42
  25. 3.3 Metode directe 46
  26. 3.3.1 Rezolvarea sistemelor triunghiulare
  27. 3.3.2 Rezolvarea sistemelor cu structură specială
  28. 3.4 Metode iterative
  29. 3.4.1 Metode staţionare
  30. 3.4.2 Metode de gradient
  31. 3.5 Comparaţii între metodele directe şi iterative
  32. Capitolul IV
  33. PRPGRAMAREA LINIARĂ UTILIZÂND METODE DE CALCUL CU MATRICE RARE
  34. 4.1 Algoritmul simplex revizuit cu inversa explicită (IE)
  35. 4.1.1 Determinarea unei soluţii admisiobile de bază iniţială
  36. 4.1.2 Îmbunătăţirea unei soluţii admisibile de bază neoptimale
  37. 4.1.3 Schimbarea bazei
  38. 4.1.4 Pivotarea – actualizarea inversei noii baze
  39. 4.1.5 Algoritmul IE
  40. 4.1.6 Degenerare si protecţie la ciclare
  41. 4.2 Algoritmul simplex revizuit cu FPI utilizând factorizarea LU (LU) 47
  42. 4.2.1 Actualizarea bazei în algoritmul LU 67
  43. 4.2.2 Algoritmul LU 71
  44. Capitolul V
  45. SISTEME FIZICE ŞI MATRICE RARE
  46. 5.1 Reţele electrice
  47. 5.2 Reţele fluidice
  48. 5.3 Discretizarea problemelor continue
  49. Anexă (Programe C++)
  50. Bibliografie

Extras din proiect

Introducere

Lucrarea cuprinde metode tradiţionale de calcul matriceal care sunt utilizate frecvent în practică, metode reanalizate şi revăzute prin optica matricelor rare în vederea adaptării lor la rezolvarea problemelor de mari dimensiuni.

Sunt prezentate metodele şi caracteristicile esenţiale ale celor mai utilizate tehnici de calcul cu matrice rare privind memorarea, efectuarea calculelor numai cu elemente nenule, reducerea numărului de operaţii, creşterea preciziei de calcul şi a stabilităţii numerice, menţinerea structurii de matrice rară, precum şi eficienţa utilizării acestora din punct de vedere al cerinţelor de memorie şi timp de calcul. De asemenea, sunt prezentate şi aplicaţii ale tehnicilor de calcul cu matrice rare în rezolvarea optimală a sistemelor complexe.

Lucrarea este structurată în cinci capitole, în fiecare dintre acestea fiind prezentate cele mai bune metode de calcul cu matrice rare şi comparaţii ale rezultatelor cu rezultatele metodelor de calcul cu matrice dense.

În capitolul I „Metode de programare cu matrice rare” sunt prezentate noţiuni introductive despre matricele rare si metode de memorare a acestora în formă compactă. Metodele de memorare a matricelor rare sunt utilizate frecvent deoarece matricele rare de mari dimensiuni pot fi memorate şi manevrate doar astfel în memoria centrală a calculatorului si se micşorează timpul de calcul prin evitarea efectuării operaţiilor cu elemente nenule. Sunt prezentate metode care memorează numai elementele nenule şi poziţiile pe care se află acestea în matrice, salvând astfel memorie şi timp.

În capitolul II „Factorizarea matricelor rare” sunt expuse cele mai eficiente metode de factorizare a unei matrice rare, de exprimare a acesteia sub formă de factori matriceali, în vederea calculului matricei inverse. Acestea includ factorizarea LU, bifactorizarea unei matrice şi o comparaţie între acestea. Metoda de factorizare în calculul inversei unei matrice rare necesită un număr de n3/3 operaţii elementare faţă de n3 în cadrul metodelor directe.

În capitolul III „Rezolvarea sistemelor de ecuaţii algebrice liniare cu matricea coeficienţilor rară”, sunt prezentate metode directe şi indirecte de rezolvare a sistemelor de dimensiuni mari, strategii de pivotare şi scalare în vederea menţinerii structurii de matrice rară şi a stabilităţii numerice, precum şi comparaţii între aceste metode.

În capitolul IV „Programarea liniară utilizând metode de calcul cu matrice rare”, sunt prezentate câteva din cele mai eficiente metode de rezolvare a problemelor de programare liniară cu scopul de a arăta cum tehnicile de calcul cu matrice rare pot fi incluse în rezolvarea lor.

În capitolul V „Sisteme fizice şi matrice rare” evidentiaza prezenţa matricelor rare în modelele matematice ale sistemelor fizice complexe de mari dimensiuni. Prezenţa matricelor rare în modelele matematice ale sistemelor fizice este remarcată în analiza reţelelor electrice a sistemelor de distribuţie a puterii şi în analiza reţelelor fluidice.

Anexa cuprinde programele C asociate acestor metode de calcul cu matrice rare.

CAPITOLUL I

METODE DE PROGRAMARE CU MATRICE RARE

1.1 Noţiuni fundamentale despre matrice rare

În general, o matrice n × n este rară dacă conţine un număr mic de elemente nenule, τ, adică τ << n2. O matrice este rară (engl. ″sparse″) în sensul că raportul dintre numărul de elemente nenule şi cel de elemente nule este foarte mic. Cantitativ matricele rare sunt caracterizate de raportul dintre numărul elementelor nenule şi al celor nule, d = τ / (n2 – τ), numit densitatea matricei.

Definiţia 1. O matrice pătrată n × n este rară dacă odată cu creşterea lui n creşterea numărului de elemente nenule τ este inferioară uneia pătratice, adică τ < n1+k, 0 ≤ k <1.

Elementele nule ale unei matrice rare sunt calasificate în zerouri numerice şi zerouri topologice. Toate zerourile topologice sunt şi zerouri numerice. Unele zerouri numerice sunt tratate ca elemente nenule, acestea fiind considerate topologic nenule.

O matrice nesingulară A se poate exprima sub formă de produs de factori matriceali L şi U, unde L este inferior triunghiulară, iar U este superior triunghiulară, cu elementele diagonalei principale egale cu unitatea.

Definiţia 2. O matrice nesingulară A este matrice de eliminare perfectă dacă tuturor elementelor nule din A le corespund elemente nule în factorii matriceali L şi U.

Modelele matematice ale sistemelor fizice complexe de mari dimensiuni adeseori conţin matrice rare. Sistemele de ecuaţii care descriu comportarea acestora pot fi rezolvate în mod direct, prin inversarea explicită a matricei coeficienţilor. Deşi aceste metode sunt uşor de programat, totuşi ele nu exploatează structura rară a matricelor şi pentru probleme de mari dimensiumi sunt total ineficiente. În consecinţă, aceste metode sunt potrivite pentru probleme de dimensiuni relativ mici (n < 100) şi a căror matrice a coeficienţilor este densă.

Metodele directe de inversare a matricelor bazate pe tehnici de factorizare pot lua în consideraţie structura de matrice rară prin utilizarea unor metode de ordonare în vederea minimizării numărului de elemente nenule nou create în procesul de factorizare, deci a menţinerii structurii de matrice rară şi memorarea şi manevrarea numai a elementelor nenule. Deoarece numai elementele nenule ale matricei originale şi ale factorilor matriceali sunt memoraţi, este evident că trebuie să se dispună de metode speciale privind memorarea matricelor rare în formă compactă. Memorarea în formă compactă este convenabilă deoarece:

- matricele rare de mari dimensiuni pot fi memorate şi manevrate în memoria centralăa calculatorului,

- chiar dacă în formă compactă cerinţa de memorie depăşeşte capacitatea memoriei centrale, utilizarea memoriei externe este încă eficientă prin minimizarea tipurilor de acces,

- se micşorează timpul de calcul prin evitarea efectuării de operaţii cu elemente nule, aceasta realizându-se prin factorizarea simbolică care generează numai operaţiile netrivialre,

- matricea A-1 memorată ca produs de matrice elementare de obicei necesită mai puţină memorie decât reprezentarea compactă a lui A-1 explicită.

1.2 Memorarea unui vector

Înainte de a trata tehnicile de memorare a elementelor nenule ale unei matrice rare în formă compactă, se vor discuta aspecte generale implicate în memorarea şi identificarea unui vector în formă compactă, precum şi probleme privind modificarea acestei memorări când noi elemente vor fi adăugate pentru memorare. Această problemă necesită definirea unei zone în care se memorează elementele nenule ale vectorului, zona primară, şi altei zone cu informaţii necesare regăsirii rapide a acestora, zona secundară.

Tehnicile de memorare a unui vector sunt ilustrate pe vectorul (31,6; 52,9; 25,4; 47,3). Acest vector este memorat într-o zonă denumită VAL, în aceiaşi ordine ca mai sus:

Locaţia 1 2 3 4 …

VAL 31,6 52,9 25,4 47,3 …

Deseori în descrierea algoritmilor în care sunt implicaţi vectori este necesară adăugarea sau ştergerea unor elemente. Dacă operaţia de adăugare sau şteregere are loc numai la sfârşitul vectorului, atunci vectorul este numit stivă. În vederea manipulării stivei este necesară numai o variabilă, IVÂRF, care indică vârful stivei. O altă formă specială de vector este coada, aceasta fiind un vector unde elementele se pot adăuga numai la sfârşit şi înlăturarea de la început. Pentru a putea lucra cu o coadă sunt necesare numai două indicatoare, IFAŢA şi ISPATE

Preview document

Metode de Programare cu Matrice Rare - Pagina 1
Metode de Programare cu Matrice Rare - Pagina 2
Metode de Programare cu Matrice Rare - Pagina 3
Metode de Programare cu Matrice Rare - Pagina 4
Metode de Programare cu Matrice Rare - Pagina 5
Metode de Programare cu Matrice Rare - Pagina 6
Metode de Programare cu Matrice Rare - Pagina 7
Metode de Programare cu Matrice Rare - Pagina 8
Metode de Programare cu Matrice Rare - Pagina 9
Metode de Programare cu Matrice Rare - Pagina 10
Metode de Programare cu Matrice Rare - Pagina 11
Metode de Programare cu Matrice Rare - Pagina 12
Metode de Programare cu Matrice Rare - Pagina 13
Metode de Programare cu Matrice Rare - Pagina 14
Metode de Programare cu Matrice Rare - Pagina 15
Metode de Programare cu Matrice Rare - Pagina 16
Metode de Programare cu Matrice Rare - Pagina 17
Metode de Programare cu Matrice Rare - Pagina 18
Metode de Programare cu Matrice Rare - Pagina 19
Metode de Programare cu Matrice Rare - Pagina 20
Metode de Programare cu Matrice Rare - Pagina 21
Metode de Programare cu Matrice Rare - Pagina 22
Metode de Programare cu Matrice Rare - Pagina 23
Metode de Programare cu Matrice Rare - Pagina 24
Metode de Programare cu Matrice Rare - Pagina 25
Metode de Programare cu Matrice Rare - Pagina 26
Metode de Programare cu Matrice Rare - Pagina 27
Metode de Programare cu Matrice Rare - Pagina 28
Metode de Programare cu Matrice Rare - Pagina 29
Metode de Programare cu Matrice Rare - Pagina 30
Metode de Programare cu Matrice Rare - Pagina 31
Metode de Programare cu Matrice Rare - Pagina 32
Metode de Programare cu Matrice Rare - Pagina 33
Metode de Programare cu Matrice Rare - Pagina 34
Metode de Programare cu Matrice Rare - Pagina 35
Metode de Programare cu Matrice Rare - Pagina 36
Metode de Programare cu Matrice Rare - Pagina 37
Metode de Programare cu Matrice Rare - Pagina 38
Metode de Programare cu Matrice Rare - Pagina 39
Metode de Programare cu Matrice Rare - Pagina 40
Metode de Programare cu Matrice Rare - Pagina 41
Metode de Programare cu Matrice Rare - Pagina 42
Metode de Programare cu Matrice Rare - Pagina 43
Metode de Programare cu Matrice Rare - Pagina 44
Metode de Programare cu Matrice Rare - Pagina 45
Metode de Programare cu Matrice Rare - Pagina 46
Metode de Programare cu Matrice Rare - Pagina 47
Metode de Programare cu Matrice Rare - Pagina 48
Metode de Programare cu Matrice Rare - Pagina 49
Metode de Programare cu Matrice Rare - Pagina 50
Metode de Programare cu Matrice Rare - Pagina 51
Metode de Programare cu Matrice Rare - Pagina 52
Metode de Programare cu Matrice Rare - Pagina 53
Metode de Programare cu Matrice Rare - Pagina 54
Metode de Programare cu Matrice Rare - Pagina 55
Metode de Programare cu Matrice Rare - Pagina 56
Metode de Programare cu Matrice Rare - Pagina 57
Metode de Programare cu Matrice Rare - Pagina 58
Metode de Programare cu Matrice Rare - Pagina 59
Metode de Programare cu Matrice Rare - Pagina 60
Metode de Programare cu Matrice Rare - Pagina 61
Metode de Programare cu Matrice Rare - Pagina 62
Metode de Programare cu Matrice Rare - Pagina 63
Metode de Programare cu Matrice Rare - Pagina 64
Metode de Programare cu Matrice Rare - Pagina 65
Metode de Programare cu Matrice Rare - Pagina 66
Metode de Programare cu Matrice Rare - Pagina 67
Metode de Programare cu Matrice Rare - Pagina 68
Metode de Programare cu Matrice Rare - Pagina 69
Metode de Programare cu Matrice Rare - Pagina 70
Metode de Programare cu Matrice Rare - Pagina 71
Metode de Programare cu Matrice Rare - Pagina 72
Metode de Programare cu Matrice Rare - Pagina 73
Metode de Programare cu Matrice Rare - Pagina 74
Metode de Programare cu Matrice Rare - Pagina 75
Metode de Programare cu Matrice Rare - Pagina 76
Metode de Programare cu Matrice Rare - Pagina 77
Metode de Programare cu Matrice Rare - Pagina 78
Metode de Programare cu Matrice Rare - Pagina 79
Metode de Programare cu Matrice Rare - Pagina 80
Metode de Programare cu Matrice Rare - Pagina 81
Metode de Programare cu Matrice Rare - Pagina 82
Metode de Programare cu Matrice Rare - Pagina 83
Metode de Programare cu Matrice Rare - Pagina 84
Metode de Programare cu Matrice Rare - Pagina 85
Metode de Programare cu Matrice Rare - Pagina 86
Metode de Programare cu Matrice Rare - Pagina 87
Metode de Programare cu Matrice Rare - Pagina 88
Metode de Programare cu Matrice Rare - Pagina 89
Metode de Programare cu Matrice Rare - Pagina 90
Metode de Programare cu Matrice Rare - Pagina 91
Metode de Programare cu Matrice Rare - Pagina 92
Metode de Programare cu Matrice Rare - Pagina 93
Metode de Programare cu Matrice Rare - Pagina 94

Conținut arhivă zip

  • Metode de Programare cu Matrice Rare
    • 0_Coperta.doc
    • 1_Cuprins.doc
    • 2_Introducere.doc
    • 3_CAP.1 Metode de programare cu matrice rare.doc
    • 4_CAP.2 Factorizarea matricelor rare.doc
    • 5_CAP.3 Sisteme.doc
    • 6_CAP.4 Programarea liniara utilizand metode de calcul cu matrice rare.doc
    • 7_CAP.5 Sisteme fizice.doc
    • 8_Anexa.doc
    • 9_Bibliografie.doc
    • FACT_LU.CPP
    • FACT_LU.EXE
    • FACT_LU.IN
    • FACT_LU1.CPP
    • KNUTH.CPP
    • KNUTH.EXE
    • OP2_M_1.CPP
    • OP2_M_1.EXE
    • OP2_M_1.IN
    • OP_M_1.CPP
    • OP_M_1.EXE
    • OP_M_1.IN
    • PREZ2.PPT
    • PRG.CPP
    • PRG1.CPP
    • PRG1.EXE
    • RAR.IN
    • RAR.OUT

Alții au mai descărcat și

Algoritmi Genetici

Algoritmii genetici fac parte din categoria algoritmilor euristici, ei aplicandu-se cu succes in cazul problemelor ce nu admit algoritmi in timp...

Grilă sisteme informaționale de gestiune - Access

Adăugarea de câmpuri la o tabelă se face în modul de vizualizare:...... Previzualizare inaintea imprimarii Aplicarea unei restrictii de...

Hackeri

Hackerii sunt pasionati ai informaticii, care, de obicei au ca scop „spargerea” anumitor coduri, baze de date, pagini web etc. Ei sunt considerati...

Baze de Date

3.Introducere in bd si sgbd-uri Definitie: Numim baza de date o colectie partajata de date aflata in interdependenta logica impreuna cu o...

Te-ar putea interesa și

Managementul resurselor umane și creșterea economică la SC Agrocomplex SA Bârlad

CAPITOLUL I. ÎMBUNǍTǍŢIREA RESURSELOR DE MUNCǍ, OBIECTIV ESENŢIAL AL CREŞTERII ECONOMICE Privitǎ ca un ansamblu funcţional, care asigurǎ în cadrul...

Conceptul de Biodiversitate

Argument Domeniul protecţiei mediului este definit de extensia practică a ecologiei în soluţionarea problemelor determinate de dezvoltarea...

Aplicația Prelucrării Matricei Rarefiate prin Memorarea Compactă Sistematica

1.Introducere în limbajul C Acest limbaj de programare cu cel mai scurt nume posibil, a fost creat in 1972 de catre Dennis Ritchie si Brian...

Structuri de Date

Curs2 1.TIPURI DE DATE 1.1. DATE SI INFORMATII În practica se face deosebire între o data si o informatie. Exemplele oferite în cele mai multe...

Optimization Toolbox - Capitolul 1

Introducere Cursul îsi propune sã prezinte Optimization Toolbox utilizând MATLAB în versiunea 2. 0. Optimization Toolbox este o multime de...

Rețele Electrice

Reţele electrice – partea II-a 1. Calculul liniilor de transport de energie electrică Liniile de transport al energiei electrice au anumite...

Metoda elementelor finite

Ce este MEF şi unde se aplicǎ ? Metoda elementelor finite (MEF) este o metodǎ generalǎ de rezolvare aproximativǎ a ecuaţiilor diferenţiale cu...

Ai nevoie de altceva?