logo
  • userLoginStatus

Welcome

Our website is made possible by displaying online advertisements to our visitors.
Please disable your ad blocker to continue.

Current View

Aerospace Engineering - Calcolo Numerico ed Elementi di Analisi

First partial exam

Prima Prova in Itinere 12/04/2022 — versione 1 — ~|}~| 32 pt – durata 1h 30’ – MS Forms Gli studenti aventi diritto a svolgere la prova ridotta del 30% secondo la L.170/2010 (indicazioni Multichance team) NON svolgono i quesiti contrassegnati con (***) TEST – 15 pt 1 — 1 pt (***) No Multichance Per l’insieme dei numeri floating point F(2,4,5,5), dati la mantissa m =(1011) 2, il segno s=0el’esponente e= 2, si riporti il numero reale xcos`ı rappresentato in base 10. 2.75 2 — 1 pt Si consideri la seguente serie Sn=4 nX k=0 (1)k 2k+1 ,per n=0 ,1,2,... , che fornisce un’approssimazione di ⇡.Posto n= 90, si riporti il valore dell’approssimazione Sn cos`ı ottenuta, usando almeno quattro cifre decimali. 3.1526 3 — 2 pt (***) No Multichance Si consideri il sistema lineare Lx= b,dove L2Rn⇥n`e una matrice triangolare inferiore nella forma seguente L= 2 6666666666664 10 ··· 0 l21 10 l31 l32 10 0 l42 l43 10 00 l53 l54 10 ... ... ... ... ... 0 ··· 0 ln,n 2 ln,n 1 1 3 7777777777775 , mentre x,b 2 Rn. Quante operazioni e↵ettua l’algoritmo delle sostituzioni in avanti applicato al sistema lineare Lx=bdi cui sopra se n=2000? 7994 1 4 — 2 pt Si consideri il sistema lineare Ax= b,dove A2Rn⇥n`e la matrice di Hilbert di ordine n(comando Matlab r >> A = hilb( n ) ), x2Rneb= 52Rn. Dopo aver p osto n= 7 e aver risolto al calcolatore tale sistema lineare tramite il metodo diretto implementato in Matlab r nel comando \,sistimil’ errore relativo in norma 2 cos`ı commesso. 1.1753 ·104 5 — 1 pt Si consideri la matrice A =  33 1 dipendente da un parametro 2R,dove > 0. Posto x(0) =(0 ,1)T, qual `e l’approssimazione (1) dell’autovalore di modulo massimo di Aottenuta applicando un passo del metodo delle potenze? Si riporti l’espressione di (1) in funzione di . 3+37 10 6 — 2 pt Si consideri la matrice A = tridiag ( 1,2,1) 2 Rn⇥ndotata degli autovalori j=2+2 cos ✓ ⇡ j n+1 ◆ per j=1 ,...,n .Posto n= 100, si determinino i valori dello shift s2Rtale per cui `e possibile applicare il metodo delle potenze inverse con shift all’approssimazione dell’autovalore 47 di A. 2.1863 K (P12 A)=1 .5704, fatt. abb. con P2=2 .8976 ·107) Punto 6) — 1 pt Dopo aver risposto al Punto 5) e per la matrice di precondizionamento selezion- ata, si stimi ora il fattore di abbattimento dell’errore kx(k)xkA kx(0) xkA dopo k=10 iterazioni del metodo del gradiente coniugato precondizionato .Sicommentila risposta data confrontando il risultato con quello ottenuto al Punto 5), definendo la notazione e riportando i comandi Matlab rusati. Spazio per risposta lunga (fatt. abb. con P2=6 .4159 ·1010) 4 Punto 7) — 3 pt Data una generica matrice A2Rn⇥nsimmetrica e definita positiva, il suo numero di condizionamento spettrale K(A)= max (A) min (A)si pu`o approssimare applicando il seguente algoritmo. Algorithm 1: Approssimazione di K(A) tramite metodi delle potenze e potenze inverse Dato x(0) 2Rn, con kx(0) k6= 0; y(0)max = x(0) kx(0) k; y(0)min = y(0)max ; K(0) = 1; for k=1 ,2,... , fino a che un criterio d’arresto `e soddisfatto do x(k)max = Ay(k1) max ; y(k)max = x(k)max kx(k)max k; risolvere Ax(k)min = y(k1) min tramite metodo diretto; y(k)min = x(k)min kx(k)min k; K(k)= (y(k)max )TAy(k)max (y(k)min )TAy(k)min ; end Si implementi il precedente algoritmo modificando per esempio la funzione Matlab r eigpower.m . Lo si applichi alla matrice A assegnata partendo dal vettore iniziale x(0) = 12 R100 . Si riportino le approssimazioni K(1),K(2) eK(100) di K(A) cos`ı ottenute. Si riportino inoltre la funzione Matlab rimplementata e i comandi Matlab rusati. Spazio per risposta lunga (K(1) =3 .2157 ·103,K(2) =4 .5359 ·103,K(100) =6 .4156 ·103) 5 Soluzioni I prova in itinere 12 aprile 2022 Te s t 1 x=( 1) s0.m ·2e=( 1) 0·0.1011 ·22= ⇣1 2+ 1 8+ 1 16 ⌘ ·4=2+ 1 2+ 1 4 = 11 4 =2 .75 . Te s t 2 La somma richiesta pu`o essere calcolata tramite i comandi n =90; k =0: n; S =4 ⇤sum (( 1) . ˆ k./(2 ⇤k+1) ) Risulta pertanto S =3 .1526. Te s t 3 La matrice L `e triangolare inferiore, sparsa, con struttura per diagonali, e unita- ria. In particolare, solo le due sottodiagonali sono non nulle (oltre alla diagonale principale). L’algortimo fwsub per il sistema Lx = b si particolarizza nel seguente modo: x = zeros (n,1) ; x(1) = b(1) ; x(2) = b(2) L(2 ,1) ⇤x(1) ; for i =3: n x(i)= b(i) L(i,i2: i1) ⇤x(i2: i1) ; end Il numero di flops sar`a pertanto: #flops = 2 + nX i=3 4=2+4( n 2) = 4 n 6. 1 Per n =2000sihannodunque7994flops. Te s t 4 Ricordiamo la stima di sensitivity: ||x ˜x|| ||x||  K (A)||b A˜x|| ||b|| , (1) dove x `e l a s o l u z i o n e e s a t t a , ˜ x `e l a s o l u z i o n e a p p r o s s i m a t a o t t e n u t a c o n u n d a t o algoritmo e K (A)`eilcondizionamentodi A. Nel caso in oggetto, l’algoritmo `e quello implementato con il comando \elanorma`elanorma2. InMatlab,abbiamo: n =7; A = hilb (n); b =5 ⇤ones (n,1) ; x = A\b; err rel estim = cond (A)⇤norm (bA⇤x)/ norm (b) Si ha pertanto la stima 1 .7901 e 04. Il risultato potrebbe cambiare un po’ (ma non troppo) a seconda del calcolatore e della versione Matlab utilizzata. Te s t 5 L’algoritmo che risolve il problema posto `e il seguente. x0 =[0;1]; y0 = x0 /norm (x0 ); x1 = A⇤y0 ; y1 = x1 /norm (x1 ); lambda1 = y1 ’⇤A⇤y1 ; Calcolando, “a mano”, le varie quantit`a, otteniamo: y0=[0;1]; x1=[3;1]; y1 = [3; 1] / p 10; 1=(3 +37) /10 = 0 .3+3 .7. Te s t 6 La matrice A risulta simmetrica e definita positiva, come si pu`o evincere anche dal- l’espressione degli autovalori, che sono tutti reali e positivi. La condizione richiesta impone di cercare s2 R tale che: |s 47|< |s i|, 8i6=47 ,s 6= 47. 2 Trattandosi di autovalori reali e positivi e, in base alla formula fornita, ordinati in ordine decrescente, questo equivale a richiedere che 48 + 47 2 K sp(P12 A)=1 .5704, ed indica che il precondi- zinatore P2`e i l p i `u ec a c e , g a r a n t e n d o c h e i l m e t o d o c o s ` ı o t t e n u t o s i a p i `u r a p i d o rispetto al metodo non precondizionato. Si faccia attenzione che, anch´e il con- fronto possa essere eseguito sulla base della stima di convergenza, `e necessario che anche le matrici di precondizionamento Pi(oltre ad A)devonoesseresimmetrichee definite positive. Tale propriet`a `e garantita, come si pu`o facilmente verificare. Sotto tale ipotesi, il comando abs nello script pu`o anche essere omesso. Il fattore di abbattimento richiesto si pu`o calcolare tramite la formula ⇣Ksp(P12 A) 1 Ksp(P12 A)+1 ⌘10 efornisceilvalore2 .8976 e 07. Tale valore, molto piccolo, indica che il metodo `e molto rapido (come conseguenza del fatto che Ksp(P12 A)) ' 1). Esercizio - Punto 6 Fa t t a l a s c e l t a P = P2 in base al punto precedente, il fattore di abbattimento richiesto si pu`o calcolare tramite lo script K = sqrt (Ksp2 ); c =( K1) / ( K+1) ; k =10; 2⇤cˆk/(1+ cˆ(2 ⇤k)) che fornisce il valore 6 .4159 e 10. Il valore cos`ı ottenuto, di circa tre ordini di grandezza inferiore a quello ottenuto al Punto 5, indica che il metodo del gradiente coniugato precondizionato con P2converge ad un tasso maggiore di quello del gra- diente precondizionato con la stessa matrice (in linea con quanto ci si attende dalla teoria). Esercizio - Punto 7 La function richiesta pu`o essere implementata tramite il seguente script x0 = ones (n,1) ; ymax = x0 /norm (x0 ); ymin = ymax ; N =100; K = zeros (1 , N+1) ; K(1) = 1; for k =1: N 8 xmax = A⇤ymax ; ymax = xmax /norm (xmax ); xmin = A\ymin ; ymin = xmin /norm (xmin ); K(k+1) = ( ymax ’⇤A⇤ymax )/( ymin ’⇤A⇤ymin ); end K([2 ,3 ,101]) I valori richiesti per le approssimazioni del numero di condizionamento spettrale di Asono: K (1) =3 .2157 ·10 3,K (2) =4 .5359 ·10 3eK (100) =6 .4156 ·10 3. 9