Sunteți pe pagina 1din 22

SOLUȚIA ECUAȚIILOR LINIAR ALGEBRICE

CAP.11 SOLUȚIA ECUAȚIILOR LINIAR ALGEBRICE


Rezolvarea practică a sitemelor de ecuații neliniare (algebrice și transcedentale) este
redusă la o serie de incremente liniare unde componmenta deplasării este determinată
prin folosirea aceleiași strategii de soluționare ca și cea folosită pentru o analiză de
ordinul I.

Pentru a eficientiza modul de calcul trebuie să ne folosim de avantajul caracteristicilor


specifice ale matricililor de rigiditate cum ar fi:

- simetria

- împrăștierea (densitatea redusă) = sparseness

- bandedness

Trebuie să verificăm precizia cu care am lucrat, cât de mare este eroarea și cum putem
face pentru a reduce această eroare.

Unde un calculate este limitat în a reprezenta valori la un număr fix de cifre


semnificative, rezultatele numerice pot fi supuse la erori acumulate datorită acestui fapt

11.1 ALEGEREA DE BAZĂ – INVERSAREA DIRECTĂ VS. ELIMINAREA SAU


ITERAȚIILE
Inversarea directă unei matrici nesingulare pătrate nu neapărat simetrice deși este o
metodă directă necesită evaluarea unor determinați de ordin superior. Cu cât matricea
este mai mare ca dimensiune cu atât procesul este mai anevoios.

Există alte scheme mult mai eficiente de determinare a necunoscutei unei ecuații de
forma:

[𝐴] ∗ {𝑥} = {𝑏}

În general cele mai atractive metode sunt împărțite în două categorii:

- metode de leminare directă (direct elimination methods)


- metode iterative (iterative methods)

1
SOLUȚIA ECUAȚIILOR LINIAR ALGEBRICE

11.2 METODE DE ELIMINARE DIRECTĂ


Metodele de eliminare aplică factorizarea matricii coeficienților [𝐴] într-un produs între
matrici triunghiulare și uneori și o matrice diagonală:

[𝐴] = [𝐿] ∗ [𝑈]

sau

= [𝐿] ∗ [𝐷] ∗ [𝑈]

Diferența între multitudinea metodelor de eliminare este diferența între modul de


facotizare a matricii [𝐴].

Presupunem că avem o matrice pătrată, nesingulară, posibil nesimetrică [𝐴], caare se


descompune în matricea triunghiulară inferior [𝐿] respectiv matricea triunghiulară
superior [𝑈] care sunt generate de o anumită metodă de factorizare. Rezultă

[𝐴] ∗ {𝑥} = {𝑏} 𝑣𝑎 𝑓𝑖 [𝐿] ∗ [𝑈] ∗ {𝑥} = {𝑏}

Notăm:

[𝑈] ∗ {𝑥} = {𝑦}

Rezultă:

[𝐿] ∗ {𝑦} = {𝑏}

Aici {𝑦} este necunoscuta și vectorul {𝑦} încorporează și matricea [𝑈]

Determinăm {𝑦} prin foward substitution:

Știind {𝑦} în baza relației [𝑈] ∗ {𝑥} = {𝑦} determinăm {𝑥} prin back substitution

Astfel am calculat {𝑥} fără a calcula inversa matricii [𝐴].

Pași:

1) am descompus matricea [𝐴] ăn matricile [𝐿] și [𝑈]


2) aplicăm foward și/sau back substitution pentru a rezolva problema.

2
SOLUȚIA ECUAȚIILOR LINIAR ALGEBRICE

11.2.1 METODA ELIMINĂRII GAUSS

Se aplică oricărei matrici pătrate

În timpul aplicării metodei eliminării Gauss asupra unei matrici (matricea coeficienților
[𝐴]) aceasta este împărțită într- matrice triunghiulară inferior și o matrice triunghiulară
superior și mai departe, matricea triunghiualră inferior este inversată pentru a fi
înmulțită (post-multiplied) cu vectorul din dreapta {𝑏}

Descompunerea matricii [𝐴] pas cu pas în produsul [𝐿] ∗ [𝑈] se poate reprezenta sub
formă de algoritm în multe moduri. Când [𝐴] este matricea de rigiditate a unei structuri,
un mod convenabil de a face descompunerea pentru această matrice simetrică este:

𝑙𝑖𝑗
𝑢𝑗𝑖 = 𝑝𝑒𝑛𝑡𝑟𝑢 𝑗 = 1, … . , 𝑖 − 1
𝑙𝑗𝑗

𝑢𝑖𝑖 = 1
𝑖−1

𝑙𝑗𝑖 = 𝑎𝑖𝑗 − ∑ 𝑢𝑘𝑖 ∗ 𝑙𝑗𝑘 𝑝𝑒𝑛𝑡𝑟𝑢 𝑗 = 𝑖, … , 𝑛


𝑘=1

𝑢 – reprezintă elementele matricii [𝑈]

𝑙 – reprezintă elementele matricii [𝐿]

În cadrul procesului de eliminare de multe ori pivotul devine zero (ceea ce nu este
permis). Când nu se verifică dacă pe poziția de pivot avem valoare zero astfel (împărțim
cu zero în ecuațiile de mai sus) pricesul se numește elimianre Gauss naivă.

Această dificultate se poate fi evitată prin aplicarea pivotării parțiale, interschimbarea


ecuațiilor cu bucluc cu altă ecuație ce are coeficient diferit de zero pentru aceeași
necunoscută. Acest lucru este întotdeauna posibil dacă matricea cu care lucrăm
(submatricea) este nesingulară. Pivotare parțială = schimbă între ele doar rândurile
matricii sau coloanele matricii

Pivotarea parțială va distruge simetria matricii, astfel făcând imposibilă folosirea


algoritmilor bazați pe simetrie cum este și cel prezentat mai sus.

Pentru a menține simetria trebui să extindem acest concept de pivotare la pivotare


completă (când schimbăm între le atât rânduri cât și coloane).

Strategi ide pivotare sunt folosite deasemenea și pentru a înbunătăți acuratețea soluției.

Condensarea matriceală = un proces de micșorare a diemnsiunilor unui sistem de


ecuații prin eliminarea anumitor grade de libertate.

Vezi bibliografie 11.3 – legătura dintre condensarea statică, substructurarea,ș i


eliminarea Gauss.

3
SOLUȚIA ECUAȚIILOR LINIAR ALGEBRICE

11.2.2 METODA CHOLESKY

Se aplică doar când matricea [𝐴] este pătrată, simetrică și definită pozitiv.

Pentru toți vetorii z diferiți de zero, [𝐴] este o matrice definită pozitiv atât timp cât
produsul intern (inner product){𝑧}𝑇 ∗ [𝐴] ∗ {𝑧} este întotdeauna mai mare decât zero
(strict mai mare).

Dacă produsul intern este întodeauna mai mare sau egal cu zero atunci avem o amtrice
semi definită pozitiv

Dacă produsul intern este mai mic decât zero atunci matricea este nedefinită
(indefinite)

Alternativ clasificarea aceasta se paote face și funcție de valorile proprii ale matricii.
Dacă valorile proprii ale matricii [𝐴] sunt pozitive atunci matricea este definită pozitiv.
Dacă valorile proprii sunt pozitive sau zero atunci este semi definită pozitiv. Dacă
valorile proprii sunt atît negative cât și zero și pozitive atunci matricea [𝐴]. Este
nedefinită.

Ceea ce este diferit î naceastă metodă față de metoda eliminării Gauss este că putem
descompune matricea [𝐴] întro matrice triunghiulară inferior și o matrice triunghiualră
superior care este chiar transpusa matricii triunghiualre inferior.

[𝐴] = [𝐿] ∗ [𝐿]𝑇

Relație de recurență convenabilă pentru descompunerea Cholesky:

𝑖−1
2
𝑙𝑖𝑖 = √𝑎𝑖𝑖 − ∑ 𝑙𝑖𝑘 11.15𝑎
𝑘=1

𝑎𝑗𝑖 − ∑𝑖−1
𝑘=1 𝑙𝑗𝑘 ∗ 𝑙𝑖𝑘
𝑙𝑗𝑖 = 𝑝𝑒𝑛𝑡𝑟𝑢 𝑗 = 𝑗 + 1, … , 𝑛 11.15𝑏
𝑙𝑖𝑖

De observat faptul că dacă 𝑙𝑖𝑖 implică radical dintr-un număr negativ, indică faptul că
matricea [𝐴] este nedefinită.

În ceea ce privește analiza structurală [𝐴] = [𝐾𝑓𝑓 ] – dacă a este nedefinit acest lucru
indică că sistemul structural este instabil.

Un beneficiu suplimentar în a lucra cu matrici simetrice definite pozit este că zero nu


va exista niciodată la numitorul pivotului deci algoritmul poate fi aplicat fără a ne folosi
de pivotare.

Relațiile de recurență de mai sus se pot modifica să fie un pic mai eficiente din punct de
vedere că se poate scoate radicalul rezultând:

[𝐴] = [𝐿] ∗ [𝐷] ∗ [𝐿]𝑇


4
SOLUȚIA ECUAȚIILOR LINIAR ALGEBRICE

Începând cu 𝑖 = 1 fiecare element din matricile [𝐷] și [𝐿] se pot calcula astfel:
𝑖−1
2
𝑑𝑖𝑖 = 𝑎𝑖𝑖 − ∑ 𝑑𝑘𝑘 ∗ 𝑙𝑖𝑘
𝑘=1

𝑙𝑖𝑖 = 1

𝑎𝑗𝑖 − ∑𝑖−1
𝑘=1 𝑑𝑘𝑘 ∗ 𝑙𝑗𝑘 ∗ 𝑙𝑖𝑘
𝑙𝑗𝑖 = 𝑝𝑒𝑛𝑡𝑟𝑢 𝑗 = 𝑗 + 1, … , 𝑛
𝑑𝑖𝑖

În aceste ecuații [𝑈] a devenit [𝐷] ∗ [𝐿]𝑇

Dacă această metodă este folosită împreună cu strategii de pivotare atunci se paote
folosi pentru a rezolva sisteme (matrici) simetrice nedefinite.

Metoda descompunerii Cholesky (fără radical) poate să furnizeze informații pentru


rezolvarea probelemelor cu valori problii asociate analizei încărcării critice pe structură

11.3 METODE ITERATIVE


Pentru sisteme de ecuații mai mari (de obicei peste 1000 de ecuații), metodele de
eliminare por fi uneori inadecvate, deoarece folosesc prea multă memorie a
calculatorului, timp de execuție mare și acumulează erori de rotunjire.

Pentru a rezolva aceste probleme se pot folosi metode iterative. Pentru aceste metode
se poate obșine o soluție în limitele unei toleranțe admisibile ale erorii.

11.3.1 ITERAȚII GAUSS – SEIDEL ȘI JACOBI

Metoda începe prin a ghici vectorul soliție {𝑥}.

Pe urmă fiecare din ecuațiile sistemului sunt folosite în mod repetat pentru a rezolva
pentru sau a updata una din necunoscute în termenii valorilor anterioare ale altor
necunoscute. Pentru sistemul de ecuații următor:

Rezultă:

5
SOLUȚIA ECUAȚIILOR LINIAR ALGEBRICE

Unde m și m-1 sunt iterația prezentă ți cea anterioară, de exemplu, 𝑥2𝑚−1 și 𝑥2𝑚 sunt
estimărea precedentă ți cea nouă a celui de-al doilea element al vectorului
necunoscutelor.

De observat faptul că ecuația originală trebuie ordonată astfel încât diagonala matricii
[𝐴] conține doar elemente zero, o situație careeste întotdeauna posibil de obținut dacă
structura este stabilă.

În general forma iterativă Gauss – Siedel pentru un sistem de n ecuații se paote exprima
în felul următor:

Vectorul null este folosit de mute ori ca valoare inițială (valaore ghicită) a vectorului
soluție.

De reținut, totuși, că într-o analiză neliniară incrementală vectorul soluție din pasul de
încărcare anterior (încărcaărea se aplică în etape) poate de multe ori să furnizeze o
ghicire excelentă a valorii inițiale a vectorului necunoscutelor {𝑥}.

Iterațiile se repetă pînă când se converge la soluția (destul de apropiată) de soluția


adevărată în lmimitele unor toleranțe impuse.

q - este numprul dorit de cifre semnificative pentru ca soluția să fie precisă.

Numărul de iterații depinde de mai mulți factori care includ:

- valoarea lui {𝑥} luată la stratul problemei (ghicirea inițială)


- toleranța aleasă.

Pentru sisteme unde A este pozitiv definită, totuși, procesuș de iterație (mecanismul) va
converge întotdeauna, exceptând orice eroare de truncație. Pentru a înbunătăți rata de
convergență, se pot impune scheme de relaxare.

În această abordare, valori calculate noi sunt modificate prin luarea mediilor ponderate
a valorii curente și a valorilor anteriare:

Unde 𝛽 este factorul de relaxare sau altfel spus ponderare. Când 𝛽 este definit între 1 și
2, se presupune că valoarea curentă 𝑥𝑖𝑚 va tinde ușor (încet) spre soluția exactă și astfel

6
SOLUȚIA ECUAȚIILOR LINIAR ALGEBRICE

dacă se pune o pondere mai mare a acestei valori curente în soluția totală atunci
convergența va fi mai rapidă. Această modificare se numește suprarelaxare.

Definirea valorii lui 𝛽 între 0 și 1 se numește subrelaxare, o asjutare care se face des
pentru a amortiza oscilațiile dintre valorile obținute această manevră fiind o încercare
de a face un sistem care nu converge să conveargă.

Alegerea corectă a lui 𝛽 depinde de problemă,în general pentru a rezolva probleme


structurale se aplică scheme de suprarelaxare.

În loc să folosim imediat cele mai recente elemente ale vectorului soluție. Iterația
JACOBI calculează toate valorile noi pe baza valorilor precedente calculate astfe:

Deși metoda Gauss Siedel converge mai rapid, iterața Jacobi este bine de amintit pentru
că este ideală penru implementări pe calculator care folsoesc procesare paralelă
(parallel processing)

11.3.2 METODA GRADIENTULUI CONJUGAT

Se bazează pe proprietatea că orice vector {𝑥} având 𝑛 elemente se paote exprima într-
un spațiu 𝑛-dimensional printr-o combinație liniară a 𝑛 vectori de bază (basis vectors)
{𝑠𝑖 }

Astfel soluția unui sistem de 𝑛 ecuații se poate exrima sub forma:

(11.24)

Unde {𝑥 0 } este propunerea inițială (initial guess).

𝛼𝑖 – factori de scalare

Prima iterație arată în felul următor:

Aproximații mai apropiate se pot determna prin iterații succesive prin includerea unor
vectori de bază scalați fiecare cu coeficientul lui de scalare, rezultând:

Repetând acest proces se paote obține o soluție care se consideră destul de apropiată
(funcție de toleranța dată).

7
SOLUȚIA ECUAȚIILOR LINIAR ALGEBRICE

Există o limită la numărul de iterații necesare – soluția exactă va fi obținută în maxim n


iterații doarece avem maxim n vectori de bază pentru un vector 𝑥 cu 𝑛 elemente. După
folosirea și a celui de-al 𝑛 vector de bază nu mai avem ce să adăugăm soluției.

Dificultatea metodei este:

- calcularea vectorilor de bază {𝑠𝑖 }


- calcularea factorilor de scalare corespunzători 𝛼𝑖

Pentru a determina aceste necunoscute metoda gradientului conjugat folosește o


metodă de optimizare.

Presupunând că matricea [𝐴] este definită pozitiv și simetrică soluția ecuației:

[𝐴] ∗ {𝑥} = {𝑏}

Are loc când cuadraticul:

- ajunge la un minim

Vectorul gradient (slope o this function) este definită de relația:

{𝐺} = [𝐴] ∗ {𝑥} − {𝑏} (11.28)

𝐹(𝑥) va fi un minim când vectorul {𝐺} va vi vetorul nul.

Relația lui 𝐹(𝑥) din punct de vedere al analizei structurale reperzintă energia potențială
totală a sistemului iar {𝐺} reprezintă rezultatul null al ecuațiilor de echilibru.

Acest lucru înseamnă că atunci când sistemul este în echilibru ({𝐺} este vectorul nul)
energia potențială a sistemului este un minim (𝐹(𝑥) este un minim).

În loc să se caluleze inversa matricei A pentru a calcula acest minim, se poate arăta că
pentru o ecuație cuadratică (definită pozitiv) cum este relația pentru F(x) de mai sus,
punctul minim unic se poate defini prin relația (vezi bibliografie 11.5)
𝑛
{𝑠𝑖 }𝑇 ∗ {𝐺 𝑖−1 }
{𝑥} = {𝑥 0 } +∑ ∗ {𝑠𝑖 } (11.29)
{𝑠𝑖 }𝑇 ∗ [𝐴] ∗ {𝑠𝑖 }
𝑖=1

{𝑠𝑖 } – sunt cele n direcții conjugate linair independnete ale matricii A.

Vectorii direcției conjugate pentru o matrice nxn [𝐴] sunt toți ortogonali pe produsul
untern a lui [𝐴] definit de relația:

Din relațiile 11.24 și 11.29 rezultă:

−{𝑠𝑖 }𝑇 ∗ {𝐺 𝑖−1 }
𝛼𝑖 = 11.30
{𝑠𝑖 }𝑇 ∗ [𝐴] ∗ {𝑠𝑖 }

8
SOLUȚIA ECUAȚIILOR LINIAR ALGEBRICE

Pentru a determina direcțiile conjugate succesive care vor fi folosite în fiecare iterație se
introduce vectorul reziduurilor:

Acest vector rezidual este o măsură a cât de bine soluția obținută din iterația anteriaoră
satisface sistemul de ecuații (este o măsură a erorii / preciziei).

Acest vector va fi ori zero, ceea ce înseamnă că am găsit o soluția exactă, sau diferit de
zero și astfel liniar independnten de direcțiile conjugate calculate anterior. Unde
vectorul rezidual este negativul ecuației 11.28 Ecuația 11.30 poate fi scrisă mult mai
convenabil sub forma:

{𝑠𝑖 }𝑇 ∗ {𝐺 𝑖−1 }
𝛼𝑖 = (11.32)
{𝑠𝑖 }𝑇 ∗ [𝐴] ∗ {𝑠𝑖 }

Dar folosinf și mai departe acest vector rezidual, se poate arăta că direcția conjugată
pentru iterația i se poate calcula prin ecuația de recurență:

{𝑠𝑖−1 }𝑇 ∗ [𝐴] ∗ {𝑟 𝑖−1 }


{𝑠𝑖 } = {𝑟 𝑖−1 } − ∗ {𝑠𝑖−1 } (11.33)
{𝑠𝑖−1 }𝑇 ∗ [𝐴] ∗ {𝑠𝑖−1 }

Pentru derivarea ecuației 11.33 vezi bibliografia 11.2

Pentru prima iterație {𝑠1 } se va presupune egal cu {𝑟 0 }

Pentru a minimiza numărul de înmulțiri matrice ori vector se folosesc următoarele


simplificări:

- prin simplificare ar fi reținerea unui rând vector auxiliar în timpul fiecărei iterații
care este folosit la numitorul ecuației (11.32 și 11.33).

Acest rând auxiliar are forma:

Dacă matricea coeficienților este simetrică, transpusa acestui vector rând

se poate folosi pentru evaluarea vectorului rezidual a următoarei iterații printr-o


simplă adunare de vectori conform:

sau

Iterațiile ăn metoda gradientului conjugat sunt de multe ori repetate până cîn mărimea
vectorului rezidual scade sub o toleranță considerată:
9
SOLUȚIA ECUAȚIILOR LINIAR ALGEBRICE

Numărul de iterații necesare pentru a converge la o soluție acceptabilă depinde de mai


multe lucruri, inclusiv:

- ghicirea inițială. În absența unei valori estimate bune a soluției, vectorul null se
folosește de multe ori pentru a începe iterația.
- toleranța adoptată
- este important de reținut faptul că condiția matricii coeficienților poate avea un
impact major asupra ratei de convergență.

condiția matricii coeficienților se poate defini ca semnificația micilor schimbări


ale valorilor coeficienților ce au loc în trimpul procesului de calcul (Vezi 11.6)

Astfel mai multe scheme de precondiționare (preconditioning schemes) au fost


dezvoltate pentru a înbunătăți sistemul de ecuații ce este slab condiționată (vezi
bibliografie 11.2)

10
SOLUȚIA ECUAȚIILOR LINIAR ALGEBRICE

11.4 SPARSENESS (ÎMPRĂȚTIEREA) AND BANDEDNESS (BENZI)


Matricea de rigiditate globală a unei structuri este de obicei împrăștiată (slab populată)
pentru majoritatea problemelor de analiză structurală.

Acest lucru se datorează faptului că fiecare rând sau eecuație de echilibru (altfel spus)
pentru un anumit grad de libertate este ingluențat doar de grade de libertate asociate cu
un număr mic de elemente care sunt conectate cu acel grad de libertate.

Toate celelalte grade de libertate pentru elementele ce nu intră în legătură cu gradul de


libertate pentru care se alcătuiește rândul (ecuație de echilibru) nu au efect asupra
echilibrului și astfel au valoarea zero pe pozițiile lor în matricea coeficienților pe acel
rând.

Împrățtierea de multe ori rezultă de forma unei benzi (banded form).

Bandedness a matricii de rigiditate este indicată de îndesarea acestor coeficienți în jurul


diagonalei principale.

HBW – half bandwidth a unei matrici simetrice.

Oportunitatea de a obține eficiență în rezolvarea ecuațiilor liniar algebrice se paote


reazliza dacă observăm că totți coeficienții în afara benzii sunt zero înttodeauna de-a
lungul calculului.

Astfel performanța acestei scheme se poate îmbunătăți prin modificaraea algoritmului


prin a nu mai stoca și manipula elementele zero din afara benzii.

De exemplu Ecuațiile 11.5 se pot modifica sub forma

11
SOLUȚIA ECUAȚIILOR LINIAR ALGEBRICE

Jumătatea de bandă se paote calcula prin relația:

Unde m este numărul total de elemente structurale și maxdof.el și mindof.ef sunt


gradele de linertate maxime și minime asociate cu elementul el.

Aria hașurată din figura 11.1 ilustrează matricea de rigiditate a coeficienților [𝐾𝑓𝑓 ] ce
trebuie stocată și manipulată.

Astfel numerotarea gradelor de libertate se face astfel încât lungimea de bandă să fie
minimizată.

Pentru majoritatea structurilor, apropiat de un număr optim pentru lungimea de bandă


este obținut ușor printr-o inspecție vizuală a sistemului. Acest lucru se poate face prin
observarea că jumărtatea de bandă a matricii de rigiditate globale se aseamănă cu
diferența maximă în numărul gradelor de libertate globale aparținând oricărui element
al structurii.

Îmbunătățirea lungimii de bandă schimbând numerotarea gradelor de libertate

Scheme de numerotare automata sunt folosite pentru a minima lungimea de bandă ăn


cadrul programelor comerciale. Pentru proceduri de soluționare ce exploatează banda
metricilor și folosește scheme de stocare minimă incluzând stocare skyline sau
envelorpe storage și banded storage Vezi bibliografie 11.2 și 11.6÷11.8.

12
SOLUȚIA ECUAȚIILOR LINIAR ALGEBRICE

11.5 FRONTAL SOLVERS


În procesul de eliminare nu trebuie să lucrăm deoadată cu toate ecuațiile de rigiditate și
astfel nu trebuie să salvăm în memoria calculatorului toate valorile deodată.

Astfel putem să asamblăm ecuațiile de rigiditate element cu element iar în acelați timp
să efectuăm și eliminarea (să eliminăm cu succes gradele de libertate).

Începând cu un element având una sau mai multe grade de libertate pentru care toate
contribuțiile la rigiditate au fost asamblate, eliminăm aceste grade de libertate prin
exprimarea lor ca și funcții ale gradelor de libertate comune dintre acest element și
următorul element.

Pe urmă adunăm într-o manieră adecvată, matricea redusă rămasă a primului element
cu cea a celui de-al doilea element. Pe urmă putem elimina grade de libertate ale
matricii de rigiditate în care rigiditățile sunt asamblate în totalitate în sistemul
combinat.

Procedăm în această manieră adăugând un element o dată – și forțele nodale cum dăm
de ele le adăugăm și pe acestea – până când parcurgem întreaga structură.

La final s-a dezvoltat u nset de ecuații care poate fi rezolvat pentru o necunoscută o dată
prin back substitution.

Procesul se numește WAVE FRONT SOLUTION, deoarece se comportă ca un val ce trece


peste întrega structură.

În cazul FRONTAL SOLUTION, asamblarea întregii matrici de rigiditate a structurii nu


este necesară. Deși FRONTAL SOLVERS se pot folosi cu sisteme de banzi matriceale,
benzile sunt irelevante. În loc ca numerotarea nodurilor să fie importantă, ca și în
sitemele cu benzi matriceale, în acest caz ordinea de introducere a elementelor este una
critică.

Exemplu (pe foi).

Față de procesul descris în exemplu există Frontal Solver mult mai practice. Pentru mai
multe dedalii și proceduri mai sofisticate pentru rezolvarea unor sisteme mari de
ecuații (Vezi bibliografie 11.9 – A frontal solution program for FEA – B.M.Irons).

13
SOLUȚIA ECUAȚIILOR LINIAR ALGEBRICE

11.6 ERORI
În analiza structurală, cum în orice încercare de modelare a problemelor fizice
rezultatele nu sunt exacte calculele fiind predispuse la erori.

Surse majore de eroare în analiza cadrelor pot fi grupate în felul următor (de reșinut
faptul că claificare nu este completă):

a) Idealizarea – erori în convertirea corectă a structurii reazle într-un model matematic


ce poate fi rezolvat de calculator. Acuratețea este afectată de simplificările și judecata
personală în reprezentarea încărcărilor, proprietăților geometrice și de material și a
condițiilor de rezemare.

b) Date de intrare / Date de ieșire – erori ce cuprind erori făcute prin introducerea
datelor idealizate în program până la erori de interpretare a rezultatelor date de
program. Cele două tipuri de erori sunt legate intrinsec – erori în datele de intrare vor
duce întotdeauna la erori în datele de ieșire (rezultate)

c) Erori procedurale – provin din aproxiamțiile folosite în algoritmul de soluționare a


problemei. Acestea avea atât o bază teoretică cât și numerică.

e) Erori de manipulare (a datelor) – apar în timpul procesului de calcul când avem


numere iraționale, ți în unele cazuri erori raționale sunt reprezentate de valori
aproximative ce au un număr fix de cifre semnificative. Aceste tipuri de erori sunt
derivate în mod fundamental din erori de rotujire sau trunchiere.

Mai departe se va pune accentul pe erorile de manipulare a datelor. Erorile procedurale


relevante vor fi ilustrate în capitolul următor.

Semnificația erorilor de manipulare în rezolvarea sistemelor de ecuații este direct legată


de condiția problemei. Dacă avem erori mici în coeficienții sistemului de ecuații, s-au în
procesul de rezolvare, erori ce au un efect mic asupra soluției problei atunci problema
se numește bine condiționată (Well-conditioned). Pe de altă parte dacă efectul unei
erori asupra rezultatului final este mare atunci problema este Ill-conditioned.

Exemplu: Fie sistemul:

Dacă ecuațiile (mai exact rândurile matricii coeficienților) sunt linair dependente atunci
nu există soluții iar matricea coeficienților este singulară. Grafic acest lucru este
reprezentat prin două linii paralele:

14
SOLUȚIA ECUAȚIILOR LINIAR ALGEBRICE

Această situație ar trebui să apară î nanaliza cadrelor când sistemul structural este
instabil. Condiționare optimă se obține dacă cele două linii sunt ortogonale, această
condiție fiind una rară (una fără erori):

Condiția normal well conditioning este reprezentată astfel:

Deși avem erori inevitabile în soluția finalpă iar problema rezolvată nu va matematic
cea reprezentată de liniile solide di ngrafic, mai degrabă fiind cea reprezentată de liniile
punctate, eroarea este tolerabilă (fiind mică).

Acest lucru îneasmnă că, calcularea vectorului soluție {𝑥𝐴 } va fi suficient de apropiată de
soluția adevărată (reală) {𝑥𝑇 }

Când unghiul dintre lini devine mic (liniile apropae se suprapun) problema devine ill
conditioned.

Soluția este sensibilă la cele mai mici erori de reprezentare sau de calcul și poate fi
foarte imprecisă. Cu alte cuvinte, o rază mare răspunsuri pot satisface îndaeproape un
sistem de ecuații ill conditioned (Vezi Exemplul 11.12)

Aceste concepte sunt aplicabile cu aceeași validitate și problemelor practice de


dimensiuni mari (sisteme de ecuații de dimensiuni mari).

În cazul structurilro în cadre probleme de condiționare pot fi întâlnite în sisteme


structurale unde:

- elemente adiacente au rigidități foarte variabile


- dacă este posibil să se întâmple rotiri mari de corp fărăr să se cauzeze deformații
semnificative.
15
SOLUȚIA ECUAȚIILOR LINIAR ALGEBRICE

- sunt multe grade de linertate (vorbim de ordinul miilor).

Exemplu 11.7 (Foi) Concluzii aici

11.6.1 NUMĂRUL DE CONDIȚIONARE (THE CONDITION NUMBER)

Căutăm metode generale pentru detectarea ill conditioning a sistemelor de ecuații mari.
În același timp vom estima efectul poor conditioning asupra preciziei rezultatului
obținut prin calcul și pe urmă reținem un număr fix de cifre semnificative.

Erorile de trunchiere sunt prima sursă de erori de manipulare în problemele de analiză


structurală (Bibl.11.11)

Pentru a descrie adecvat acest tip de eroare în primă fază trebuie se facem o intrare pe
scurt în subiectul normelor.

O normă este o funcție ce furnizează o măsură a dimensiunilor unui vector sau matrice.
Pentru ce avem nevoie aici norma are următoarele proprietăți:

Norma ecuclideană a unui vector este exptimată sub forma:

Norma Frobenius a unei matrici nxn este:

Criteriul de convergență dat la 11.35a se ăpate exprima ca fiind norma Euclideană a


vectorului rezidual ‖𝑟 𝑖 ‖𝑒 .

Altă normă simplă de aplicat și populară este norma uniformă sau (altfel spus norma
infinit – infinity norm). Pentru vectori această normă esteexprimată ca magnitudinea
maximă:

Pentru o matrice nxn este exprimată ca suma maximă a rândurilor matricii:

16
SOLUȚIA ECUAȚIILOR LINIAR ALGEBRICE

Dacă o matrice vectorială și una matriceală sunt consistente (consecvente, potrivite cu)
atunci se poate arăta că:

Presupunem că ecuația A*x=b se poate rezolva exact pentru necunoscuta x.

Presupunem în primă fază că, coeficienții din vectorul b se cunosc exact dar coeficienții
din matricea A sunt supuși la mici încertirudini notate cu [𝛿𝐴]

Ecuația va avea forma:11.43

Diferența dintre soluția exactă x și cea dată de ecuația unde A are incertitudini adică {𝑥̅ }
va arăta în general cât de sensibilă este ecuația A*x=b la mici schimbări ale matricii
coeficienților A. Notăm acestă diferență cu:

{𝛿𝑥} = {𝑥̅ } − {𝑥}

Înclocuind înaăoi în ecuația 11.43 obținem:

Rezolvând pentru această eroare rezultă:

Calculând norma ambelor părți rezultă:

Se simplifică relația rezultând o comparație între erorile relative:

Aplicând relația 11.37c

11.48a

Aici k este condition number a matricii A funcție de o normă dată:

Supunând și mai mult coeficienții din matricea A și vectorul b la incertitudini [𝛿𝐴]


respectiv {𝛿𝑏} se poate arăta că:

11.50

17
SOLUȚIA ECUAȚIILOR LINIAR ALGEBRICE

Este important de reținut faptul că în ambele ecuații *11.48a respectiv 11.50) termenul
de amplificare a erorii Termenul ănainte de paranteze k/.... se poate aproxima prin
condition number k când ‖𝛿𝐴‖⁄‖𝐴‖ este suficient de mic.. Astfel ar trebui să fie clar că
se paote plasa o limită asupra erortii relative a soluție și mai important această limită
este direct proporțională cu condition number k a matricii coeficienților A. Evident, cu
cât este mai mic condition number (cu cât este mai aproape de 1) cu atât sistemul este
mai bine condiționat (well conditioned).

11.6.2 ESTIMAREA NUMĂRULUI DE CONDIȚIONARE

A calcula condition number folosind relația 11.49 este ceva destul de complicat
deoarece necesită determinarea inversei matricea A. Acest lucru este complicat
deoarece dacă A este ill conditioned, inversa va fi calculată cel mai probabil cu erori
mari și astfel precizia cu care rezultă condition number k este cel puțin discutabilă.

Astfel nebazăm pe estimarea limitelor asupra condition number.

O estimare rezonabilă se paote obține din lower bound estimate a normei lui [𝐴]−1 vezi
(bibl.11.5):

11.51

Aici matricea B este o matrice singulară apropiată de matricea A (este apropae la fel).
Combinând ecuațiile 11.49 și 11.51 rezultă limita condition number:

Matricea singulară B se poate forma considerând-o în prima fază egală cu matricea A și


pe urmă se fac mici schimbări astfel încât să devină singulară. De exemplu, de obicei
acest lucru se face prin alegerea lui B având aceleași elemente ca și A în afara ultimului
rând care este înlocuit cu combinația linairă a tuturor celorlalte rânduri astfel încât să
rezulte un rând care are elementele lui A în afară de un element de pe rând.

Alte metode generale pentru estimare condition number sunt prezentate în literatură
(bibl.11.2).

Un studiu aprofundat a erorii soluției (bibl.11.5) arată că limita inferioară în condition


number este :

Unde lambda.i este valoarea proprie a matricii coeficienților A. Valorile proprii se pot
obține din:

11.54

18
SOLUȚIA ECUAȚIILOR LINIAR ALGEBRICE

Valorile proprii fiind de importanță fundamentală în analiza încărcări critice vor fi


studiate în Cap.12

Trebuie observat faptul că, cum numărul de ecuații n crește calculul valorilor proprii
folosind Ecuația 11.54 devine un calcul complicat. Ca norocu, există căi mai simple de a
estima aceste valori. De exemplu o limită superioară asupra celei mai mari valori proprii
se paote obține din norma infinit:

Pentru o limită inferioară a valorii proprii se folosește o procedură de iterație inversă


relativ simplă prezentată în 12.8.4.

11.6.3 ESTIMAREA ERORII ȘI PRECONDIȚIONAREA

O aproxiamre a condition number este de multe ori tot ce avem nevoie pentru a estima
o potențială eroare. Presupunem că matricea coeficienților A este reprezentată în calcul
prin p zecimale acest lucru ar fi: ‖𝛿𝐴‖⁄‖𝐴‖ = 10𝑝 și similar, s este numărul rezultat de
zecimale corecte din soluție ‖𝛿𝑥‖⁄‖𝑥‖ = 10𝑠 . Din ecuația 11.48 relația dintre p și s
(efectu lerorii de trunchiere) se poate estima prin relația:

11.56

Deoarece formula conține logaritmul în bază 10 din k, cel mult, s și p sunt de ordinul 10,
și astfel este clar că nu trebuie o precizie foarte mare pentru calculul lui k.

Exemplul din carte demonstrează că Ecuația 11.56 este precisă în majoritatea cazurilor.

În unele cazuri prezice ill conditioning chiar dacă rezultatele problemei indică că este
well conditioned. Această situația se numește artificial ill conditioning, or skewness
(asimetrie).

Comportamentul ce duce în eroare se poate detecta și rectifica de o procedură numită


precondiționare sau echilibrare.

Este important să se rețină faptul că precondiționarea nu schimbă natura problemei,


adică dacă avem o problemă cu adevărat ill conditioned acesta va rămâne ill conditioned
și după precondiționare. Astfel, când numărul de condiționare a unei matrici echilibrate
adecvat este folosit în relația 11.56, ar trebui să furnizeze o estimare de încredere a
erorii inițiale de trunchiere.

Precondiționare se paote explica prin următoarea serie de manipulări matriceale:

- în primă fază înmulțim ambele părți ale relației 11.1 cu matricea [𝐷1 ]
11.57

19
SOLUȚIA ECUAȚIILOR LINIAR ALGEBRICE

Pe urmă înlocuim vectorul souției {𝑥} cu:

11.58

Matricile D1 și D2 sunt matrici pătrate ce trebuie prescrise. Sistemul de ecuații


precondiționat rezultat, unul cu un condition number mult mai de încredere și
îmbunătățit este:

11.59

Unde:

Se poate observa faptu lcă pentru orice matrici D1 și D2 ecuația 11.59 se poate rezolva
pentru {𝑥̅ } și rezultatele să se înlocuiască în 11.58 pentru a determina soluția {𝑥} a
sistemului de ecuații original. După cum s-a sugerat în secțiunea 11.3.2, folosind o astfel
de strategie de precondiționare în metoda gradientului conjugat poate să facă schema
de iterație mult mai eficientă prin îmbinătățirea semnificativă a ratei convergenței.

Mai multe scheme s-au propus pentru selectarea matricilor D1 și D2. În (bibl.11.2) este
sugerat că se pot obține rezultate bune prin considerarea ca D1=D2=D unde Deste o
matrice diagonală ale cărui elemente sunt definite de relația:

11.60

11.6.4 DETECTAREA, CONTROLAREA ȘI CORECTAREA ERORII

Ne îndreptăm atenția de la prezicerea posibilelor erori la detectarea și dacă este posibil


controlarea și corectarea erorilor numerice făcute în timpul calcului.

Poaet cea mai evidente și des folosită procedură de detectare a erorii este înlocuirea
vectorului soluție obținut să zicem {𝑥𝐴 }, în sistemul de ecuații original și calcularea
rezultatului corespunzător {𝑏𝐴 }. Dacă elementele lui {𝑏𝐴 } diferă sunstanțial de vectorul
{𝑏} original este clar că avem erori semnificative în procesul de calcul și că nu am
obținut soluția corectă {𝑥𝑇 } (true solution).

Din păcate inversa aceste afirmații nu este adevărată – adică diferențe mici dintre {𝑏𝐴 } și
{𝑏} nu dovedesc că {𝑥𝐴 } este o soluție precisă.

Prin simpla definiție a ill conditioning dată anterior, mai multe soluții ce vor varia foare
mult pot furniza o soluție {𝑏𝐴 } care este acceptabil de aproape de {𝑏}. În această privință
conform relației:

Elementele inversei matricii A pot fi atât de mari – un alt semn al ill conditioning – că o
mică discrepanță în valorile {𝑏} − {𝑏𝐴 } lui se pot amplifica sever producându-se o
varietate mare de vectori soluție.
20
SOLUȚIA ECUAȚIILOR LINIAR ALGEBRICE

În analiza structurală back substitution a vectorului soluție este echivalentul unei


verificări a echilibrului structurii. Deși o astfel de verificare este neconcludentă
extinderea verificării și la verificarea compatibilitărți iva confirma că soluția este una
vorectă pentru o idealizare dată. Unde o verificare completă (echilibru +
compatibilitate) durează foarte mult, se poate face o verificare pe bucăți aleatoarea
(distributed sampling) de multe ori poate confirma valabilitatea soluției.

Când avem o problemă poorly conditioned (slab condiționată), se pot folosi mai multe
măsuri pentru a corecta sau cel puțin controla cantitatea de erori numerice.

O astfel de schemă este folosirea (scaled equations = normalizarea ecuațiilor astfel


încât coeficientul amxim dintr-un rând să fie egal cu unitatea. Deoarece scalarea poate
introduce erori de rotunjire, este de recomandat ca coeficeinții scalați să fie folosiți doar
ca și criteriu pentru pivotare iar valorile originale a coeficienților să fie reținute în
calculele efectuate în timpul procesului de eliminare și substituție) ecuațiilor scalate ca
și criteriu pentru folosirea pivotării parțiale (Vezi 11.2.1).

Acuratețea soluției poate fi înbunărățită pe urmă prin schimbarea între ele a rândurilor
și coeficienților originali astfel încât împărțitorul este întotdeauna cel mai semnificativ
coeficient din coloana submatricei a necunoscutei care este eliminată. Acest concept se
paote extinde la pivotare completă, unde coloanele sunt de asemena interschimbabile
astfel încât coeficientul împărțitor este cel mai mare din întreaga submatrice a
coeficienților pe care se va opera. În cazul pivotării compelte se prezervă simetria
matricei.

O altă metodă de creștere a acurateții soluției este de a folosi o tehnică numită iterative
improvement (bibl.11.12).

După factorizarea lui A conform unui algoritm cum sunt ecuațiile 11,13 și 11.15 soluția
la ecuație 11.1 {𝑥1 } este calculată în primă fază. Rezidualul acestei soluții {𝑟 1 } este pe
urmă calculat conform relației 11,31.

Folosind {𝑟 1 } și descompunerea originală a lui A se obține o soluție {𝑧1 } di relația:

11.62

O soluție mult mai exactă față de sistemul original de ecuații poate fi dată de relația:

11.63

Acest proces se repetă până când schimbarea în soluția {𝑧 𝑖 } devine neglijabilă. În analiza
structurală, acest proces este echivalent cu calculul încărcărilor reziduale dintr-o
analiză a echilibrului structurii și pe urmă aplicarea acestor încărcări pe structură ca și
forțe pentru a obține corecții pentru deplasări.

21
SOLUȚIA ECUAȚIILOR LINIAR ALGEBRICE

Considerând faprul că majoritatea erorilor numerice în analiza cadrelor sunt rezultatul


trunchierii informațiilor (unde se pierd informații) de valoare, este important de reținut
faptul că nu există scheme care să readucă sau să compenseze pentru informațiile
pierdurte. Astfel cel mai eficient mod de a controla aceste erori numerice este de a folosi
precizia cea mai mare posibilă a calculatorului.

Procedând în caest mod, trebuie să ne asigurăăm că formualrea vectorilor de încărcare,


a proprietăților elementelor și coeficienților de rigiditate se face cu aceeași precizie
ridicată care se folosește în timpul procesului de calcul.

22

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