Corso della scuola d dottorato: NUMERICAL LINEAR ALGEBRA: TOOLS AND METHODS Metod drett e regolarzzazoe Dottorad: Maro Cascetta Efso Cast
INTRODUZIONE L utlzzo d u calcolatore per la rsoluzoe d u problema matematco comporta trsecamete che dat sao sempre affett da error. La sola troduzoe d u dato comporta, delle volte, delle approssmazo perché la rappresetazoe deve avvere co u umero lmtato d cfre decmal. No solo, ache calcol elemetar avvegoo co u artmetca dscreta e qud, a loro volta, rsultat sarao affett da error e così va fo al rsultato fale. Se s cosdera l problema della rsoluzoe d u sstema leare del tpo: a11x1 + a1 x a1x1 + a x...... am 1x1 + am x +... + a +... + a +... a 1 m x x x = b = b 1 = b S può rappresetare ella forma pù compatta Ax=b m dove A è la matrce de coeffcet, x l vettore soluzoe e b l vettore de term ot. Se la matrce A è mal codzoata allora ache pccol error d rappresetazoe de dat potrao portare ad ua soluzoe che cotee de gross error e che qud s dscosterà molto da quella che è la soluzoe esatta. Questa sesbltà del problema agl error su dat può essere msurata attraverso u parametro K(A), detto fattore d codzoameto. (1) () K( A) = A A 1 S ha che per K elevat possoo corrspodere gross error sulla soluzoe oostate s abbao pccol error su dat. Scopo d questo lavoro è valutare come sa possble utlzzare metod d rsoluzoe de sstem lear, che gà fuzoao bee per sstem dove la matrce è be codzoata, e cas cu l sstema abba u matrce molto mal codzoata. I partcolare s farao delle spermetazo umerche utlzzado de metod drett utlzzado la matrce d Hlbert, che possede la propretà d essere molto mal codzoata. Se oltre alla matrce d prova fsso ache la soluzoe s può calcolare a rtroso l terme oto: b = Ae (3)
questo modo u buo parametro d cofroto può essere la orma dell errore tra la soluzoe trovata co dvers metod d rsoluzoe e la soluzoe esatta fssata prcpo. x e (4) I metod utlzzat sarao quell: D Gauss co la fattorzzazoe A=LU QR SVD e TSVD I prcpo, s farà vedere come dvers metod s comportao al varare della dmesoe della matrce. Ifatt, all aumetare della dmesoe della matrce, K aumeta facedo aumetare d cosegueza gl error. I seguto, s cofroterao due strumet per la scelta d ua gusta regolarzzazoe TSVD: GCV QUASI OPTIMAL METODI DIRETTI PER LA RISOLUZIONE DEI SISTEMI LINEARI Per la rsoluzoe de sstem lear soo dspobl umeros metod drett che, pur essedo dvers fra loro, codvdoo la stessa dea d base, ossa trasformare, medate u algortmo co u umero fto d operazo, u sstema leare geerco u sstema equvalete che e reda pù semplce la rsoluzoe. Esstoo, come oto, partcolar sstem d equazo lear che ecesstao d u carco computazoale otevolmete ferore rspetto al caso geerale. Soo sstem dagoal, ortogoal e tragolar. Metodo d Gauss (fattorzzazoe A=LU) Il metodo s basa sull assuzoe che se operamo delle operazo elemetar su term della matrce possamo trasformare l problema uo equvalete. Fuzoa solo per matrc co gl elemet dagoal o ull, qud ache per matrc smmetrche defte postve. L algortmo d Gauss opera la fattorzzazoe: A = LU (5) coè trasforma la matrce d orge el prodotto d due matrc tragolar. Qud l ostro sstema d parteza s può assumere equvalete al: LUx = b (6)
Se operamo la sosttuzoe: Ux = y (7) s possoo rsolvere faclmete due sstem tragolar: Ly = b Ux = y Se qualche elemeto della dagoale della matrce A è molto pccolo, s possoo geerare degl overflow e l codzoameto del sstema fale può aumetare maera sgfcatva. Quest ultmo problema può essere ovvato tramte l pvotg parzale, ma che o utlzzeremo per l ostro caso. I Matlab per effettuare la fattorzzazoe LU s usa l comado: [ L U ] = lu(a) (8) Fattorzzazoe QR Attraverso ua sere d operazo s può trasformare l sstema come: A = QR (9) Dove Q è ua matrce ortogoale ed R ua matrce tragolare superore. Possamo, dopo avere effettuato le sosttuzo: QRx = b e Rx = y (10) rsolvere l sstema fale Qy = b Rx = y Il prcpale vataggo è quel d poter utlzzare la matrce trasposta, fatt per l ortogoaltà d Q questa cocde co quella versa. La matrce Q ha ache la propretà d o peggorare l codzoameto, che s matee costate e par a uo. I matlab l comado da usare per effettuare la fattorzzazoe è: [ Q R ] = qr(a) (11) SVD (sgular value decomposto) Il teorema fodametale d essteza della decomposzoe a valor sgolar d ua qualsas matrce rettagolare co coeffcet apparteet al campo complesso c asscura la possbltà d scomporre la ostra matrce quadrata defta el campo reale. Ifatt, geerale, se allora esstoo ua matrce utara U m m C e ua matrce utara V C tal che: T A = USV (1) A C m Dove la matrce m S R ha elemet j σ ull per j e per = j ha elemet σ = σ co
σ1 σ... σ p 0, co p che assume l valore mmo tra m ed (p = m(m,)), dett valor sgolar d A. Ioltre, dcate co u, =1,,m e v, =1,, le coloe d U e V vegoo dett vettor rspettvamete sgolar sstr e vettor sgolar destr d A. Qud, dal puto d vsta geometrco, la SVD d A forsce due bas d vettor ortogoal, le coloe d U e V, tal che la matrce dveta dagoale quado trasformata rspetto a queste bas. Metre, se voglamo applcare questa scomposzoe al caso della rsoluzoe del sstema leare (1) s ha che la soluzoe può essere espressa come: T 1 T 1 = = ( ) = u b x A b USV b v (13) σ = 1 Da quest ultma relazoe s può faclmete prevedere come pccol cambamet A o b possao durre grad cambamet sulla soluzoe effettvamete calcolata el caso d valor sgolar pccol. S può ache dmostrare che l calcolo de valor sgolar d ua matrce rsulta sempre be codzoato, ossa pccole perturbazo degl elemet della matrce d parteza ducoo e rsultat perturbazo o superor ad esse. Usado le propretà della SVD s può avere ua msura del codzoameto: K( A) σ σ 1 = (14) I matlab esste ua fuzoe che mplemeta u algortmo usato per la scomposzoe a valor sgolar. [U S V] = svd(a), Ua volta otteute le matrc U, S, V, s rsolve co semplctà l seguete sstema: Uz = b Sy = z T V x = y (15) RISULTATI DEL TEST La spermetazoe umerca s è svolta prededo esame ua matrce d Hlbert, fssado l vettore soluzoe e e rcavado, d cosegueza, l terme oto b; successvamete, s soo trovate le soluzo adoperado tre metod cosderat e s è cofrotata la orma- della dffereza co la
soluzoe esatta ota, facedo varare la dmesoe della matrce del sstema da u mmo d ad u massmo d 30. 10 5 x-e 10-5 10-10 x LU -e x QR -e x SVD -e 10-15 10-0 0 5 10 15 0 5 30 dm. matrce Fg. 1 - Grafco dell adameto del valore della orma- dell errore al varare della dmesoe della matrce Il comportameto de tre metod rsulta molto smle e sembra segure l valore del codzoameto della matrce d parteza. Nel metodo d Gauss cò può essere spegato co l fatto che le matrc tragolar hao, per defzoe, problem d codzoameto, metre el caso della fattorzzazoe QR, pur avedo la metrce Q u codzoameto uguale ad 1, prevale quello della matrce R, che, quato tragolare, preseta aalogh problem descrtt per l metodo d Gauss. Ache la rsoluzoe co la SVD segue l adameto del codzoameto, ma s può aggugere u ulterore cosderazoe per spegare meglo quale possa essere l suo utlzzo el caso delle matrc malcodzoate. Aalzzado le relazo seguet dervate drettamete dalle defzo della SVD, s ota che se s cosderao vettor sgolar destr assocat a valor sgolar molto pccol, quest ultm soo caratterzzat da combazo lear avet compoet d maggor peso apparteet al ucleo d A. Cò mplca che la scomposzoe della matrce A potrebbe essere fatta cosderadola quas a rago o peo. = = 1 A u σ v T Av = σ u (16) Av = σ, per =1,,
LA REGOLARIZZAZIONE TSVD PER MATRICI MAL CONDIZIONATE Per porre rmedo a problem geerat dall uso della SVD s può pesare semplcemete d trascurare valor sgolar caratterzzat da valor molto pccol. La soluzoe del sstema leare dveta allora: T = u b = 1 σ x v, dove (17) S ottee duque ua soluzoe approssmata trocado l espasoe della SVD al -esmo terme; l metodo prede l ome d TSVD e può essere utlzzata attraverso la fuzoe presete el pacchetto Regularzato tools per Matlab: [x_tsvd,rho,eta] = tsvd(u,s,v,b,) S devoo forre U, s e V otteut dalla fuzoe per l calcolo della svd, metre b è oto e è u parametro che va scelto seguedo determate metodologe. La fuzoe resttusce la soluzoe (x_tsvd), le orme de resdu (rho) e della soluzoe (eta). Per llustrare meglo quato succede, c s serve d due matrc d Hlbert rspettvamete co =5 e =15 e per cascua d esse s calcola la soluzoe e s osserva l comportameto della orma al varare del parametro fo al valore =, che cocde co la SVD a rago completo. 10 5 dm. matrce 5 errore resduo vs 10-5 10-10 10-15 1 1.5.5 3 3.5 4 4.5 5 valore Fg. - Adameto del valore della orma- per l errore della soluzoe e per l resduo al varare d per ua matrce d =5.
10 5 dm. matrce 15 errore resduo vs 10-5 10-10 10-15 10-0 0 5 10 15 valore Fg. 3 - Adameto del valore della orma dell errore, del resduo e del valore sgolare -esmo, al varare d, per ua matrce d dmesoe 15 Nel caso della matrce co =5, l valore mglore d corrspode al rago d A che è par a 5, dal mometo che o s ha acora u valore del codzoameto tale per cu s mafesto degl error elevat. IL grafco relatvo alla matrce co =15 porta alla scelta d =10, che corrspode ad u valore mmo sulla orma sull errore. Izalmete, all aumetare d, la soluzoe mglora, quato meglo approssmata per va dell adozoe d u umero sempre maggore d valor sgolar per descrverla. Successvamete, l agguta d ulteror valor sgolar porta, vceversa, l errore ad assumere valor accettabl, poché quest valor sgolar soo molto pccol. Metod per la scelta del parametro d regolarzzazoe U crtero d regolarzzazoe è completo solo dopo aver defto u metodo per la scelta del parametro d regolarzzazoe; quest metod s possoo dvdere due class: metod che s basao sulla coosceza, o ua buoa stma, della orma dell errore x e ; metod che o rchedoo la orma dell errore x e. Nel prmo caso, ormalmete, essedo preset formazo affdabl sulla prcpo d dscrepaza che o sarà, però, oggetto d aals. x e, s adopera l Quado, vece, o s coosce alcua formazoe sulla orma dell errore s rcorre a que metod lber dal vcolo della coosceza d x e, chamat qualche volta metod eurstc. U ulterore classfcazoe s può fare a secoda s us u parametro d regolarzzazoe cotuo
come, ad esempo l λ utlzzato el metodo d Thoov, oppure l parametro dscreto usato precedeza per la tsvd. Il crtero GCV Nel pacchetto Regularzato Tools soo preset alcue routes per la stma del parametro da forre alla fuzoe tsvd modo da otteere ua soluzoe approssmata l pù possble vca a quella esatta. Uo d quest è la GCV (Geeralzed Cross Valdato) che s basa sulla rcerca del mmo della seguete fuzoe: G = Ax b ( trace( I I AA )) Dove A I è la matrce che produce la soluzoe regolarzzata. Per ua matrce quadrata s può dmostrare che l equazoe precedete, rferta alla tsvd, dveta: b Ax 1 G( ) = = = + 1 ( ) ( ) T ( ) (18) u b (19) Questo metodo ha l grosso vataggo d o rchedere alcua formazoe sulla orma dell errore. Ifatt, s cerca d mmzzare lo scarto quadratco medo de resdu, dvdedolo co la fuzoe a deomatore. I matlab s rchama la fuzoe GCV come segue: _gcv = gcv(u,s,b,'tsvd') Foredo come parametr la matrce U, vettor s, precedetemete rcavat dalla SVD e l vettore del terme oto b, la fuzoe resttusce l parametro da utlzzare sulla tsvd ed l grafco della G() che mette evdeza l mmo. Il crtero quas optmal Al fe d cofrotare l metodo della GCV, s è preso come rfermeto l tool per la scelta del parametro d regolarzzazoe QUASI OPTIMAL. Questo metodo è stato defto prcpalmete per la regolarzzazoe del parametro cotuo λ, ma può essere usato ache el caso dscreto facedo delle opportue assuzo. S tratta d trovare l mmo della fuzoe Q defta come: d λ Q x (0) dλ Come s può dmostrare, questo approcco cosete d trovare u buo compromesso tra l effetto delle perturbazo e la regolarzzazoe degl error della soluzoe. Per ua regolarzzazoe co l parametro dscreto, s poe λ = γ e s può cosderare l approssmazoe:
dxλ dλ x, λ (1) Co: λ = γ γ γ s ha: + 1 x T γ = u b E sosttuedo s ottee la fuzoe ella forma geerale: T Q( ) u b γ Metre, per l caso della TSVD, s può porre: T Q( ) u b. () σ La fuzoe presete el pacchetto matlab, aalogamete al caso precedete, resttusce l valore del parametro da utlzzare per la regolarzzazoe e l grafco della fuzoe Q. _qopt = quasopt(u,s,b,'tsvd'); RISULTATI DEL TEST DEL METODO TSVD Co le stesse modaltà de test precedet s soo regolarzzat problem costrut co la matrce d Hlbert per dmeso che vao da a 30. 10 5 10-5 x-e 10-10 x GCV -e x QOPT -e 10-15 10-0 0 5 10 15 0 5 30 dm. matrce Fg. 4 Cofroto del valore della orma dell errore per due metod della scelta del parametro d regolazoe al varare della dmesoe della matrce.
Come s può otare, la GVC porta a degl error mor dell utà per dmeso della matrce mor d 1, metre, per valor maggor, l errore assume u comportameto rregolare. Nel metodo quas optmal, vece, l errore è quas sempre more dell utà. Predamo cosderazoe ora l caso della matrce A co =15, dove s aalzza l comportameto della fuzoe G() relatva alla GCV e della fuzoe Q() del metodo quas optmal. GCV fucto, mmum at = 14 10 Quas-optmalty fucto, mmum at 10 10-5 10 1 10-10 G() 10-15 10-0 Q() 10-1 10-10 -5 10-3 10-30 10-4 10-35 0 4 6 8 10 1 14 10-5 0 5 10 15 Fg. 5 Grafc relatv alle fuzo G() e Q() per ua matrce =15. Nel grafco relatvo alla fuzoe G() l puto d mmo s trova corrspodeza d =14; s osserva che la fuzoe decresca fo a d u valore d par a 9 per po prosegure maera quas patta fo al mmo descrtto poc az. Il mmo, qud, vee a trovars corrspodeza d valor quas ugual a quello del rago della svd completa. La fuzoe GCV porta alla scelta d u errato, quato s prederebbero cosderazoe de valor sgolar troppo pccol che geerao u mal-codzoameto del sstema co error sulla soluzoe molto grad, seza, percò, alcu vataggo. La fuzoe Q(), che dpede ache dalla stma dell errore, resce a forre u valore d che geera degl error mor. Per quel che rguarda l metodo quas-optmal s è osservato u comportameto aomalo relatvo al caso della matrce co =6; fatt, osservado l grafco, l mmo vee ragguto apparetemete corrspodeza del puto = 11, metre la scelta fatta dall algortmo rcade sul puto =3 co u valore d Q() par a 0.
10 4 Quas-optmalty fucto, mmum at 3 10 Q() 10-10 -4 10-6 0 5 10 15 0 5 30 Fg. 5 Grafc relatv alla fuzoe Q() per ua matrce =6. Da u puto d vsta umerco, la causa va rcercata el umeratore della fuzoe d Q() che assume valore ullo.