7 Κεφάλαιο 7 - Υπολογισμός Ιδιοποσών

Κεφάλαιο 7
Υπολογισµός Ιδιοποσών
Μέθοδος ∆υνάµεων
Όπως είδαµε, οι ιδιοτιµές παίζουν σηµαντικό ρόλο στην αριθµητική επίλυση των γραµµικών
συστηµάτων. Σε πολλές εφαρµογές προέχει ο αριθµητικός υπολογισµός των ιδιοποσών (ιδιοτιµών και
ιδιοδιανυσµάτων) ενός µητρώου. Θα πρέπει να τονισθεί ότι ο υπολογισµός ιδιοποσών µεγάλων
µητρώων από την επίλυση της χαρακτηριστικής εξίσωσης φ(λ) = det(A-λI) = 0 (βαθµού n) και του
οµογενούς συστήµατος (Α-λΙ)x = 0, είναι συνήθως διαδικασία πολύπλοκη και ασύµφορη λόγω
συσσώρευσης λαθών στρογγύλευσης. Για το σκοπό αυτό έχουν αναπτυχθεί άλλες αποδοτικότερες
µέθοδοι. Η απλούστερη είναι η µέθοδος ∆υνάµεων, ενώ γενική απάντηση στο πρόβληµα παρέχει η µέθοδος
QR. Στο κεφάλαιο αυτό περιγράφεται µόνον η µέθοδος των δυνάµεων.
Η µέθοδος των δυνάµεων εφαρµόζεται για τον προσεγγιστικό υπολογισµό της φασµατικής ακτίνας
ρ(Α)=|λmax| και του αντίστοιχου ιδιοδιανύσµατος ενός µητρώου το οποίο έχει n γραµµικά ανεξάρτητα
ιδιοδιανύσµατα (είναι γνωστό ότι δεν συµβαίνει πάντα αυτό) και |λmax|> |λi, µε i≠max. ∆ηλαδή ή κατ’
απόλυτη τιµή µεγαλύτερη ιδιοτιµή λmax είναι απλή και ως εκ τούτου πραγµατική. Κατά συνέπεια, η
µέθοδος προσφέρεται για τον υπολογισµό της φασµατικής ακτίνας συµµετρικών και ερµιτιανών µητρώων
(στα οποία η ύπαρξη n ανεξάρτητων ιδιοδιανυσµάτων είναι εξασφαλισµένη από το φασµατικό θεώρηµα),
για τα οποία ισχύει |λmax|> λi, i≠max. Με τις παραπάνω παραδοχές ισχύει το παρακάτω θεώρηµα.
Θεώρηµα 7.1.1 - Μέθοδος ∆υνάµεων
Αν ένα µητρώο Α έχει n ανεξάρτητα ιδιοδιανύσµατα (διαγωνιοποιήσιµο) και για τις ιδιοτιµές
του λi ισχύει η διάταξη |λ1|> |λ2|≥|λ3|≥ ... ≥ |λn|, τότε η ακολουθία
xk = A xk-1, k=1,2,...
x0 ≠ 0 αυθαίρετο διάνυσµα
(7.1.1)
συγκλίνει στο ιδιοδιάνυσµα v1 που αντιστοιχεί στη φασµατική ακτίνα ρ(Α)=|λ1|.
Επίσης, για κάθε συνιστώσα i=1,2,...n ισχύει:
lim
k →∞
xik
= λ1
xi , k −1
(7.1.2)
Α̟όδειξη. Αφού τα {vi} i=1,2,...n είναι γραµµικά ανεξάρτητα, το x0 γράφεται ως γραµµικός
συνδυασµός τους:
n
x0 =
∑c v
i
i
i =1
για κάποια ci∈R. Επίσης, αν τα λi είναι ιδιοτιµές, τότε ισχύει Αk vi = λk vi , i=1,2,...,n. Από τις παρακάτω
σχέσεις και την (7.1.1) προκύπτει:
x k = Ak x 0 = A k
n
∑c v
i
i =1
i
=
n
∑c A v
k
i
i
=
i =1
ΘΕΜΑΤΑ ΑΡΙΘΜΗΤΙΚΗΣ ΑΝΑΛΥΣΗΣ & ΕΦΑΡΜΟΓΕΣ
Χ. Α. Αλεξόπουλος
Τµήµα Μηχ. Η/Υ και Πληροφορικής
Πανεπιστήµιο Πατρών
6/5/2014
VII-2
Υπολογισµός Ιδιοποσών
=
n
n
∑ ci λικ vi = λ1k c1 v1 +
∑λ κc v
i =1
i =2
= λ1k [ c1v1 +
λi
n
∑(λ )
i =2
k
1
i
i
=
ci vi ]
1
Επειδή είναι |λi / λ1| < 1, για κάθε i > 1 προκύπτει
lim
k →∞
xk
λ1k
(7.1.3)
= c1 v1
και συνεπώς τα xk και v1 τείνουν να γίνουν συγγραµµικά. Αλλά και το c1v1 είναι ιδιοδιάνυσµα που
αντιστοιχεί στην λ1, και εποµένως η {xk} συγκλίνει σε ένα ιδιοδιάνυσµα που αντιστοιχεί στην λ1. Εξ'
άλλου, αν xk= (x1k , x2k , ..., xnk )Τ , έχουµε:
λj k
) ci vij
j = 2 λ1
= λ1
n
λ
c1vi1 + ∑ ( j ) k −1 ci vij
j = 2 λ1
n
xik
xi , k −1
c1vi1 + ∑ (
Aν c1 ≠ 0, επιλέγουµε ένα i τέτοιο ώστε vij ≠ 0, οπότε το παραπάνω κλάσµα συγκλίνει στο λ1 για k→∞.
Αν είναι c1=0, τότε επιλέγουµε άλλο κατάλληλο x0 τέτοιο ώστε c1≠0.
■
Η σχέση (7.1.2) υπαγορεύει µια επαναληπτική διαδικασία εύρεσης της λ1 σαν όριο του λόγου xik/xi,k-1,
όπου xik είναι η i-συνιστώσα του xk και xi,k-1 η i-συνιστώσα του xk-1. Παρατηρούµε όµως ότι οι
συνιστώσες του xk τείνουν στο 0 όταν |λ|<1, ενώ όταν |λ|>1 τείνουν στο ±∞. Για να αποφύγουµε
λοιπόν ενδεχόµενο διαίρεσης µε 0 ή επερχείλησης, αλλά και σφάλµατα από απώλειες ψηφίων στους
υπολογισµούς µε διαιρέσεις µε πολύ µικρούς αριθµούς, διαιρούµε σε κάθε επανάληψη το xk µε τη νόρµα
║xk║2 (µοναδιαίο διάνυσµα). Τότε ισχύει:
xk
= v1
k →∞ || x ||
k 2
lim
(7.1.4)
όπου ║v1║2 = 1.
Ένας άλλος τρόπος άρσης του πιο πάνω µειονεκτήµατος, βασίζεται στη κανονικοποίηση του xk µε τη
νόρµα «∞», δηλαδή στο σχηµατισµό του διανύσµατος (ck+1)-1xk (ck+1 η µεγαλύτερη συνιστώσα του xk
κατ’ απόλυτη τιµή). Τότε, η µεγαλύτερη σε απόλυτη τιµή συνιστώσα του xk θα είναι το 1. Η µέθοδος
των δυνάµεων διαµορφώνεται έτσι:
uk = A·xk και xk+1= ck +1−1 ·uk
(7.1.5)
και θα ισχύει:
lim xk = v1 και lim ck = λ1
k →∞
(7.1.6)
k →∞
∆ιαπιστώνεται εύκολα ότι η σύγκλιση της µεθόδου των δυνάµεων είναι γραµµική.
♦ Παράδειγµα 7.1.1
Έστω το µητρώο
ΘΕΜΑΤΑ ΑΡΙΘΜΗΤΙΚΗΣ ΑΝΑΛΥΣΗΣ & ΕΦΑΡΜΟΓΕΣ
Χ. Α. Αλεξόπουλος
Τµήµα Μηχ. Η/Υ και Πληροφορικής
Πανεπιστήµιο Πατρών
6/5/2014
VII-3
Υπολογισµός Ιδιοποσών
A=
Εφαρµόζουµε τη µέθοδο των δυνάµεων µε κανονικοποίηση. Ξεκινάµε µε x0=(1,1,1)T και µε
διαδοχικές επαναλήψεις των (7.1.5) βρίσκουµε τα xk και ck :
1η επανάληψη:
2η επανάληψη:
...
……
7η επανάληψη:
Η ακολουθία {xk} συγκλίνει στο ιδιοδιάνυσµα v=(0.4, 0.6, 1.0), ενώ η ακολουθία {xk} συγκλίνει
στην ιδιοτιµή λ=4.
7.1.2. Εφαρµογή Μεθόδου ∆υνάµεων σε Συµµετρικό πίνακα
Η µέθοδος των δυνάµεων µπορεί να εφαρµοσθεί για τον υπολογισµό όλων των ιδιοτιµών και
ιδιοδιανυσµάτων των συµµετρικών µητρώων, τα οποία έχουν ως γνωστόν πραγµατικές ιδιοτιµές.
Αποδεικνύουµε αρχικά το εξής λήµµα.
Λήµµα 7.1.1. Αν οι ιδιοτιµές ενός ̟ραγµατικού συµµετρικού ̟ίνακα είναι διακεκριµένες, τότε τα αντίστοιχα
ιδιοδιανύσµατα είναι ορθογώνια µεταξύ τους.
Α̟όδειξη Έστω λ1, λ2,…,λn οι διακεκριµένες ιδιοτιµές µε αντίστοιχα ιδιοδιανύσµατα v1, v2,…, vn θα
δείξουµε ότι <vi, vj>= vit·vj=0 για i≠j. Από την A·vi=λi·vi έχουµε vit·A=λi·vit. Πολλαπλασιάζοντας µε vj
(j≠i) παίρνουµε vitAvj = λivitvj = λjvjtvj ή (λi-λj)vitvj = 0. Επειδή λi-λj ≠0 προκύπτει viΤvj = 0.
Βάσει του φασµατικού θεωρήµατος, τα αντίστοιχα n ιδιοδιανύσµατα συνιστούν ορθογώνια βάση του
ιδιοχώρου. Από αυτήν µπορεί προφανώς να εξαχθεί µια ορθοκανονική βάση.
Το σχήµα (7.1.1) µπορεί τώρα να χρησιµοποιηθεί επαναληπτικά, προκειµένου να προσεγγιστούν όλες οι
ιδιοτιµές ενός συµµετρικού ή ερµιτιανού µητρώου που έχει n διακεκριµένες ιδιοτιµές. Αυτό
εξασφαλίζεται από τη διαπίστωση ότι, αν τα q1, q2…qn είναι ορθοκανονικά ιδιοδιανύσµατα του Α, τότε
το µητρώο Α1=Α-λ1q1q1Τ έχει τις ίδιες ιδιοτιµές πλην της λ1, συν την µηδενική: 0, λ2,λ3…,λn, µε τα ίδια
αντίστοιχα ιδιοδιανύσµατα q2…qn :
Θεώρηµα 7.1.2 Power method deflation
Αν {vi}, i=1,2,…,n είναι ορθογώνια και µοναδιαία ( || vi || 2=1) ιδιοδιανύσµατα ενός συµµετρικού (ή
ερµιτιανού) µητρώου A n×n, το οποίο έχει n διαφορετικές ιδιοτιµές λ1, λ2,…,λn, τότε οι ιδιοτιµές του
µητρώου A1 = A - λ1v1v1Τ είναι 0, λ2,…,λn µε αντίστοιχα ιδιοδιανύσµατα {vi}, i=1,2,…,n.
ΘΕΜΑΤΑ ΑΡΙΘΜΗΤΙΚΗΣ ΑΝΑΛΥΣΗΣ & ΕΦΑΡΜΟΓΕΣ
Χ. Α. Αλεξόπουλος
Τµήµα Μηχ. Η/Υ και Πληροφορικής
Πανεπιστήµιο Πατρών
6/5/2014
VII-4
Υπολογισµός Ιδιοποσών
Α̟όδειξη Εύκολα δείχνεται ότι το µητρώο A1 είναι και αυτό συµµετρικό. Επίσης, είναι || v1 || 2=v1Τv1=1,
άρα Α1v1=(A-λ1v1v1Τ)v1 = Av1-λ1v1(v1Τv1) = λv1 - λ1v1 = 0= v1·0, εποµένως το 0 είναι ιδιοτιµή του Α1
µε αντίστοιχο ιδιοδιάνυσµα το vi. Για i≥2, είναι v1Τv1 = 0, οπότε παίρνουµε Α1vi = Avi - λ1v1(v1viΤ)
=Avi - λ1v1·0 =Av i= λivi και εποµένως το λj, i≥2, είναι ιδιοτιµή του Α1 µε αντίστοιχο ιδιοδιάνυσµα το
vi .
□
To Θ7.1.2 υπαγορεύει τη διαδικασία υπολογισµού όλων των ιδιοτιµών ενός συµµετρικού ή ερµιτιανού
πίνακα µε διακεκριµένες ιδιοτιµές. Αν υποθέσουµε ότι ισχύει η διάταξη |λ1|>|λ2|>|λ3|… >|λn|, τότε
η µεγαλύτερη ιδιοτιµή του Α1 είναι η λ2, η οποία υπολογίζεται µε εφαρµογή της µεθόδου των δυνάµεων
στον πίνακα Α1. Θέτοντας αρχικά Α0=Α και επαναλαµβάνοντας για i=2,…,n-1 τη διαδικασία αυτή,
υπολογίζουµε στην i επανάληψη µε τη µέθοδο των δυνάµεων την ιδιοτιµή λi+1 του πίνακα ΑI =Ai-1 λiviviΤ, ο οποίος έχει ιδιοτιµές 0,…,0, λi+1,…,λn (i-1 µηδενικά) και τα ίδια ιδιοδιανύσµατα µε τον Α. Το
παραπάνω επαναληπτικό σχήµα µπορεί να διαµορφωθεί από τον εξής αλγόριθµο:
s0=[1,1,…1]T;
[λ1, v1] = powerm(Α, s0);
for i=1: n-1 do
qi=vi/||vi||;
Αi=Αi-1- λi qiqiT
[λi, vi]= powerm(Αi, qi);
end;
♦ Παράδειγµα 7.1.2 [Matlab] Τροποποιηµένη Μέθοδος των ∆υνάµεων
Με την προϋπόθεση ότι ικανοποιούνται οι προϋποθέσεις του Θ 7.1.2. (n διακεκριµένες ιδιοτιµές),
υλοποιούµε εδώ τη µέθοδο των δυνάµεων, εφαρµόζοντάς την για την προσέγγιση των ιδιοτιµών
και των ιδιοδιανυσµάτων ενός συµµετρικού µητρώου ή ερµιτιανού µητρώου.
Η function (Μ-file) της Matlab power_method_deflation που ακολουθεί, είναι εφαρµόσιµη σε
συµµετρικά µητρώα και υλοποιεί τη µέθοδο µε εφαρµογή κανονικοποίησης µε τη νόρµα 2 για
την αποφυγή σφαλµάτων στρογγύλευσης στον υπολογισµό των πηλίκων.
function [LV EV I] = power_method_deflation(A, prec, tries)
% INPUT
%
A:
symmetric matrix
%
prec:
tolerance
%
tries: max number of iterations
% OUTPUT
%
LV:
vector of eigenvalues
%
EV:
matrix of eigenvectors
%
I:
vector of the number of iterations for each eigenvalue
f = isequal(A, A');
% checking if matrix is symmetric
if(f == 1)
for i = 1 : size(A)
if(i == 1) % using as starting vector a vector of ones in 1st
iteration
[m n] = size(A);
x = ones(n,1);
[v l V L iter done] = power_method(A, prec, tries, x);
v = v / norm(v,2);
% normalizing eigenvector
A = A - l * v * v'; % updating A for the next eigenvalue
LV = l;
% storing the eigenvalue
ΘΕΜΑΤΑ ΑΡΙΘΜΗΤΙΚΗΣ ΑΝΑΛΥΣΗΣ & ΕΦΑΡΜΟΓΕΣ
Χ. Α. Αλεξόπουλος
Τµήµα Μηχ. Η/Υ και Πληροφορικής
Πανεπιστήµιο Πατρών
6/5/2014
VII-5
Υπολογισµός Ιδιοποσών
EV = v;
% storing the eigenvector
I = iter;
% number of iterations for each eigenvalue
else
[v l V L iter done] = power_method(A, prec, tries, v);
v = v / norm(v,2);
% normalizing eigenvector
A = A - l * v * v'; % updating A for the next eigenvalue
LV = [LV; l];
% storing the eigenvalues
EV = [EV, v];
% storing the eigenvectors
I = [I; iter];
% storing the number of iterations for
every eigenvalue
end
end
else
disp('The matrix entered as input is not a symmetric one. Aborting
Execution...');
end
end
Εφαρµογή
Θα βρούµε όλες τις ιδιοτιµές και τα αντίστοιχα ιδιοδιανύσµατα του συµµετρικού µητρώου
Β = [ 1 20 15 10; 20 2 9 5; 15 9 3 7 ; 10 5 7 4].
Είσοδος:
B = [1 20 15 10; 20 2 9 5; 15 9 3 7; 10 5 7 4];
[l v I] = power_method_deflation(B, 0.000001, 100)
Έξοδος:
l =
36.6885
-20.1339
-6.2013
-0.3532
v =
0.5989
0.5234
0.4827
0.3666
I =
22
4
4
3
0.7735
-0.5718
-0.2389
-0.1327
-0.1292
-0.4762
0.8421
-0.2178
-0.1621
-0.4152
-0.0283
0.8947
Eπαληθεύουµε στο Matlab:
>> eig(B)
ans =
-20.1339
-6.2013
-0.3532
36.6885
ΘΕΜΑΤΑ ΑΡΙΘΜΗΤΙΚΗΣ ΑΝΑΛΥΣΗΣ & ΕΦΑΡΜΟΓΕΣ
Χ. Α. Αλεξόπουλος
Τµήµα Μηχ. Η/Υ και Πληροφορικής
Πανεπιστήµιο Πατρών
6/5/2014
VII-6
Υπολογισµός Ιδιοποσών
Άσκηση
Να εφαρµοσθεί η µέθοδος των ∆υνάµεων για τον υπολογισµό των ιδιοτιµών και των
ιδιοδιανυσµάτων του µητρώου Α = [2, 4, -1; 4, 6, 1; -1, 1, 4]. Να γίνουν όλα τα απαραίτητα
υπολογιστικά βήµατα και να δοθούν οι τελικές προσεγγίσεις για όλα τα ιδιοποσά.
Βιβλιογραφία:
1. Χ. Α. Αλεξόπουλος, «Εισαγωγή στις Αριθµητικές Μεθόδους και Περιβάλλοντα
Υλοποίησής τους», 2007.
2. Μιχ. Ν. Βραχάτης, «Αριθµητική Ανάλυση».
ΘΕΜΑΤΑ ΑΡΙΘΜΗΤΙΚΗΣ ΑΝΑΛΥΣΗΣ & ΕΦΑΡΜΟΓΕΣ
Χ. Α. Αλεξόπουλος
Τµήµα Μηχ. Η/Υ και Πληροφορικής
Πανεπιστήµιο Πατρών
6/5/2014