21.06.2014 Views

Numerical Methods Contents - SAM

Numerical Methods Contents - SAM

Numerical Methods Contents - SAM

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Note: (Generalized) eigenvectors can be recovered as columns of V:<br />

AV = VD ⇔ A(V) :,i = (D) i,i V :,i ,<br />

23 legend ( ’ d = eig (A) ’ , ’ [ V,D] = eig (A) ’ , ’ d = eig (B) ’ , ’ [ V,D] = eig (B) ’ , ’ d =<br />

eig (C) ’ , . . .<br />

24 ’ l o c a t i o n ’ , ’ northwest ’ ) ;<br />

if D = diag(d 1 , ...,d n ).<br />

25<br />

26 p r i n t −depsc2 ’ . . / PICTURES/ e i g t i m i n g a l l . eps ’<br />

Remark 5.2.4 (Computational effort for eigenvalue computations).<br />

Computational effort (#elementary operations) for eig():<br />

eigenvalues & eigenvectors of A ∈ K n,n ∼ 25n 3 + O(n 2 )<br />

only eigenvalues of A ∈ K n,n ∼ 10n 3 + O(n 2 )<br />

eigenvalues and eigenvectors A = A H ∈ K n,n ∼ 9n 3 + O(n 2 )<br />

only eigenvalues of A = A H ∈ K n,n ∼ 3 4n3 + O(n 2 )<br />

only eigenvalues of tridiagonal A = A H ∈ K n,n ∼ 30n 2 + O(n)<br />

Note:<br />

Exception:<br />

Example 5.2.5 (Runtimes of eig).<br />

}<br />

eig not available for sparse matrix arguments<br />

d=eig(A) for sparse Hermitian matrices<br />

O(n 3 )!<br />

△<br />

27<br />

28 figure ;<br />

29 loglog ( times ( : , 1 ) , times ( : , 2 ) , ’ r + ’ , times ( : , 1 ) , times ( : , 3 ) , ’m∗ ’ , . . .<br />

30 times ( : , 1 ) , ( times ( : , 1 ) . ^ 3 ) / ( times ( 1 , 1 ) ^3)∗times ( 1 , 2 ) , ’ k−’ ) ;<br />

31 xlabel ( ’ { \ b f m a trix size n } ’ , ’ f o n t s i z e ’ ,14) ;<br />

32 ylabel ( ’ { \ b f time [ s ] } ’ , ’ f o n t s i z e ’ ,14) ;<br />

33 t i t l e ( ’ nxn random m a trix ’ ) ;<br />

34 legend ( ’ d = eig (A) ’ , ’ [ V,D] = eig (A) ’ , ’O( n ^3) ’ , ’ l o c a t i o n ’ , ’ northwest ’ ) ;<br />

35<br />

36 p r i n t −depsc2 ’ . . / PICTURES/ eigtimingA . eps ’<br />

37<br />

38 figure ;<br />

39 loglog ( times ( : , 1 ) , times ( : , 4 ) , ’ r + ’ , times ( : , 1 ) , times ( : , 5 ) , ’m∗ ’ , . . .<br />

40 times ( : , 1 ) , ( times ( : , 1 ) . ^ 3 ) / ( times ( 1 , 1 ) ^3)∗times ( 1 , 2 ) , ’ k−’ ) ;<br />

41 xlabel ( ’ { \ b f m a trix size n } ’ , ’ f o n t s i z e ’ ,14) ;<br />

42 ylabel ( ’ { \ b f time [ s ] } ’ , ’ f o n t s i z e ’ ,14) ;<br />

43 t i t l e ( ’ nxn random Hermitian m a trix ’ ) ;<br />

Ôº¼ º¾<br />

Ôº¼ º¾<br />

44 legend ( ’ d = eig (A) ’ , ’ [ V,D] = eig (A) ’ , ’O( n ^3) ’ , ’ l o c a t i o n ’ , ’ northwest ’ ) ;<br />

1 function e i g t i m i n g<br />

2<br />

Code 5.2.6: measuring runtimes of eig<br />

3 A = rand (500 ,500) ; B = A’∗A ;<br />

4 C = g a llery ( ’ t r i d i a g ’ ,500 ,1 ,3 ,1) ;<br />

5 times = [ ] ;<br />

6 for n=5:5:500<br />

7 An = A( 1 : n , 1 : n ) ; Bn = B( 1 : n , 1 : n ) ; Cn = C( 1 : n , 1 : n ) ;<br />

8 t1 = 1000; for k =1:3 , t i c ; d = eig ( An ) ; t1 = min ( t1 , toc ) ; end<br />

9 t2 = 1000; for k =1:3 , t i c ; [ V,D] = eig ( An) ; t2 = min ( t2 , toc ) ; end<br />

10 t3 = 1000; for k =1:3 , t i c ; d = eig ( Bn ) ; t3 = min ( t3 , toc ) ; end<br />

11 t4 = 1000; for k =1:3 , t i c ; [ V,D] = eig ( Bn) ; t4 = min ( t4 , toc ) ; end<br />

12 t5 = 1000; for k =1:3 , t i c ; d = eig (Cn) ; t5 = min ( t5 , toc ) ; end<br />

13 times = [ times ; n t1 t2 t3 t4 t5 ] ;<br />

14 end<br />

15<br />

16 figure ;<br />

45<br />

46 p r i n t −depsc2 ’ . . / PICTURES/ eigtimingB . eps ’<br />

47<br />

48 figure ;<br />

49 loglog ( times ( : , 1 ) , times ( : , 6 ) , ’ r ∗ ’ , . . .<br />

50 times ( : , 1 ) , ( times ( : , 1 ) . ^ 2 ) / ( times ( 1 , 1 ) ^2)∗times ( 1 , 2 ) , ’ k−’ ) ;<br />

51 xlabel ( ’ { \ b f m a trix size n } ’ , ’ f o n t s i z e ’ ,14) ;<br />

52 ylabel ( ’ { \ b f time [ s ] } ’ , ’ f o n t s i z e ’ ,14) ;<br />

53 t i t l e ( ’ nxn t r i d i a g o n e l Hermitian m a trix ’ ) ;<br />

54 legend ( ’ d = eig (A) ’ , ’O( n ^2) ’ , ’ l o c a t i o n ’ , ’ northwest ’ ) ;<br />

55<br />

56 p r i n t −depsc2 ’ . . / PICTURES/ eigtimingC . eps ’<br />

17 loglog ( times ( : , 1 ) , times ( : , 2 ) , ’ r + ’ , times ( : , 1 ) , times ( : , 3 ) , ’m∗ ’ , . . .<br />

18 times ( : , 1 ) , times ( : , 4 ) , ’ cp ’ , times ( : , 1 ) , times ( : , 5 ) , ’ b^ ’ , . . .<br />

19 times ( : , 1 ) , times ( : , 6 ) , ’ k . ’ ) ;<br />

Ôº¼ º¾<br />

20 xlabel ( ’ { \ b f m a trix size n } ’ , ’ f o n t s i z e ’ ,14) ;<br />

21 ylabel ( ’ { \ b f time [ s ] } ’ , ’ f o n t s i z e ’ ,14) ;<br />

22 t i t l e ( ’ eig runtimes ’ ) ;<br />

Ôº¼ º¾

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!