Upload
others
View
26
Download
0
Embed Size (px)
Citation preview
Bilgisayar Destekli
Nümerik Analiz Ders notları 2014
Ahmet TOPÇU
L U = A
=
nnnnn
n
n
n
nn
n
n
n
nnnnn aaaa
aaaa
aaaa
aaaa
u
uu
uuu
uuuu
llll
lll
ll
l
...
.......
...
...
...
....
...
...
...
...
......
321
3333231
2232221
1131211
333
22322
1131211
321
333231
2221
11
André-Louis Cholesky (1875 – 1918)
Prescott Duran Crout (1907-1984)
Mayric Hascall Doolittle(1830-1913)
6 DENKLEM SİSTEMİ ÇÖZÜMÜ, ÇARPANLARA AYIRMA YÖNTEMLERİ • DOOLITTLE • CROUT • CHOLESKY
Üst üçgen matris
Alt üçgen matris Kare matris
ESKİŞEHİR OSMANGAZİ ÜNİVERSİTESİ Mühendislik Mimarlık Fakültesi İnşaat Mühendisliği Bölümü E-Posta: [email protected] Web: http://mmf2.ogu.edu.tr/atopcu
m=n
6. ÇARPANLARA AYIRMA YÖNTEMLERİ: DOOLITLE, CROUT VE CHOLESKY
Ahmet TOPÇU, Bilgisayar Destekli Nümerik Analiz, Eskişehir Osmangazi Üniversitesi, 2014, http://mmf2.ogu.edu.tr/atopcu/
65
65
6. ÇARPANLARA AYIRMA YÖNTEMLERİ: DOOLITLE, CROUT VE CHOLESKY 5. bölümde verilen indirgeme yöntemi GAUSS’un orijinal çözümüdür, bazen basit GAUSS yöntemi de denir. Basit GAUSS yöntemi hem katsayılar matrisini hem de karşı taraf vektörünü aynı anda değiştirerek katsayılar matrisi üst üçgen olan eşdeğer bir denklem sistemine dönüştürür. Uygulamada ise, çoğu kez, karşı taraf vektörünün indirgeme sırasında değiştirilmesi uygun olmaz. Katsayılar matrisi belli iken karşı taraf vektörü henüz bilinmiyor veya zaman zaman değişiyor olabilir.
Çarpanlara ayırma yöntemleri A x=b denklem sisteminin A katsayılar matrisini A=L U sağlanacak şekilde, bir L (Lower) alt üçgen ve bir U (Upper) üst üçgen matrisin çarpımına dönüştürürler. Çarpanlara ayırma işlemi sırasında karşı taraf vektörü b nin bilinmesine gerek yoktur. Bu yöntemlere göre A belli ise L ve U üçgen matrisleri A nın elemanlarından
=
→=
nnnnn
n
n
n
nn
n
n
n
nnnnn aaaa
aaaa
aaaa
aaaa
u
uu
uuu
uuuu
llll
lll
ll
l
AUL
...
.......
...
...
...
....
...
...
...
...
......
321
3333231
2232221
1131211
333
22322
1131211
321
333231
2221
11
(6.1)
eşitliği sağlanacak şekilde hesaplanırlar. L ve U belirlendikten sonra b de belli olunca çözüm için A x =b yerine
(6.2) Eşdeğer denklem sistemi kullanılır. Bunun için 6.2 bağıntısında yxU = dönüşümü yapılır:
=
→==→=
1
3
2
1
1
3
2
1
333
22322
1131211
321
333231
2221
11
......
...
...
...
...
......
nnnn
n
n
n
nnnnn b
b
b
b
x
x
x
x
u
uu
uuu
uuuu
llll
lll
ll
l
by L, yxU bxU L (6.3)
Bu dönüşüm sonucu katsayılar matrisi üçgen olan aşağıdaki iki denklem sistemi oluşur: byL = den y hesaplanır, yxU = de yerine konur ve x hesaplanır.
=
→=
1
3
2
1
1
3
2
1
321
333231
2221
11
..
...
......
nnnnnnn b
b
b
b
y
y
y
y
llll
lll
ll
l
by L
(6.4)
=
→=
1
3
2
1
1
3
2
1
333
22322
1131211
......
...
...
...
nnnn
n
n
n
y
y
y
y
x
x
x
x
u
uu
uuu
uuuu
yxU
y
y burada yerine konur
=
→=
1
3
2
1
1
3
2
1
333
22322
1131211
321
333231
2221
11
nnnn
n
n
n
nnnnn b
.
b
b
b
x
.
x
x
x
u
....
u...u
u...uu
u...uuu
l...lll
......
lll
ll
l
b x U L
L alt üçgen U üst üçgen A katsayılar matrisi
L alt üçgen U üst üçgen
x bilinmeyenler vektörü b karşı taraf vektörü
yxU =
Yukarıdan aşağı doğru hesap yapılarak y bulunur
Aşağıdan yukarı doğru hesap yapılarak x bulunur
6. ÇARPANLARA AYIRMA YÖNTEMLERİ: DOOLITLE, CROUT VE CHOLESKY
Ahmet TOPÇU, Bilgisayar Destekli Nümerik Analiz, Eskişehir Osmangazi Üniversitesi, 2014, http://mmf2.ogu.edu.tr/atopcu/
66
66
İlk bakışta bir yerine iki denklem sisteminin çözüleceği, işlem sayısının da katlanacağı sanılabilir. Bu doğru değildir. Çarpanlara ayırma yöntemi ile basit GAUSS yöntemi arasında gerçekte işlem sayısı açısından hiçbir fark yoktur. Tek fark, çarpanlara ayırma sırasında b vektörüne gerek olmamasıdır. Çarpanlara ayırma yöntemleri, basit GAUSS indirgeme yönteminin biraz değişik şeklidir, çok az fark ile birbirlerine çok benzerler. Uygulamada tercihan kullanılan DOOLITTLE, CROUT ve CHOLESKY yöntemleri burada ele alınacak, verilmiş bir A matrisinin L ve U üçgen çarpanlarına nasıl ayrılacağı açıklanacaktır.
• DOOLITTLE, metodunda L matrisinin bütün diyagonal elemanları lii=1 alınır, satırda pivot eleman aranır, gerekirse, kolonlara yer değiştirilir, uii ≠ 0 olması sağlanır. • CROUT metodunda U matrisinin bütün diyagonal elemanları uii=1 alınır, kolonda pivot eleman aranır, gerekirse, satırlara yer değiştirilir, lii ≠ 0 olması sağlanır. • CHOLESKY metodu sadece simetrik ve pozitif tanımlı matrisler için özel bir yöntemdir, diyagonal elemanlar iiii al = , iiii au = alınır ve L=UT dur, pivot arama yapılmaz.
DOOLITTLE1 LU metodu A verilmiş olsun, det A ≠ 0 olmak ve lii=1 alınmak kaydıyla
=
⇒=
nnnnn
n
n
n
nn
n
n
n
nnn aaaa
aaaa
aaaa
aaaa
u
uu
uuu
uuuu
lll
ll
l
AUL
...
.......
...
...
...
....
...
...
...
1...
......
1
1
1
321
3333231
2232221
1131211
333
22322
1131211
321
3231
21
bağıntısı sağlanacak şekilde n adımda hem L hem de U nun tüm elemanları belirlenebilir. Matris çarpım kuralından yararlanarak, her adımda önce U nun bir satırı sonra L nin bir kolonu hesaplanır. 1.Adım:
nnnn auau
auau
auau
auau
1111
13131313
12121212
11111111
1
...
1
1
1
=→=⋅
=→=⋅=→=⋅=→=⋅
11111111
113131311131
112121211121
/
...
/
/
ualaul
ualaul
ualaul
nnnn =→=⋅
=→=⋅=→=⋅
2.Adım:
nnnnnn ulauauul
ulauauul
ulauauul
1212222121
1321232323231321
1221222222221221
1
...
1
1
⋅−=→=⋅+⋅
⋅−=→=⋅+⋅⋅−=→=⋅+⋅
22121222222121
22124142424222421241
22123132323222321231
/)(
...
/)(
/)(
uulalaulul
uulalaulul
uulalaulul
nnnnnn ⋅−=→=⋅+⋅
⋅−=→=⋅+⋅⋅−=→=⋅+⋅
3.Adım:
nnnnnnnn ululauauulul
ululauauulul
2321313333232131
233213313333333323321331
1
...
1
⋅−⋅−=→=⋅+⋅+⋅
⋅−⋅−=→=⋅+⋅+⋅
33232131333333232131
3323421341434343334323421341
/)(
...
/)(
uululalaululul
uululalaululul
nnnnnnnn ⋅−⋅−=→=⋅+⋅+⋅
⋅−⋅−=→=⋅+⋅+⋅
… n.Adım:
1 Mayric Hascall Doolittle(1830-1913), Amerikalı: 1878 de yayınlandı
U nun 1.satırının hesabı: L nin 1. satırı ÇARPI U
nun1., 2.,…,n. kolonları=A
nın 1.satırıdır
L nin 1.kolonunun hesabı: L nin 2., 3.,..,n. satırları
ÇARPI U nun 1.kolonu=A nın
1.kolonudur
U nun 2.satırının hesabı: L nin 2.satırı ÇARPI U nun 2., 3.,…, n.
kolonları=A nın 2.satırıdır
L nin 2.kolonunun hesabı: L nin 3.,4.,..,n. satırları ÇARPI U nun
2.kolonu=A nın 2.kolonudur
U nun n.satırının hesabı: L nin n.satırı ÇARPI U nun n.kolonu=A nın n.satırıdır
...1... 332211332211 −⋅−⋅−⋅−=→=⋅++⋅+⋅+⋅ nnnnnnnnnnnnnnnnnnnn ulululauauululul
L nin n.kolonunun hesabı:
1=nnl
U nun 3.satırının hesabı: L nin 3.satırı ÇARPI U nun 3.,…, n.
kolonları =A nın 3.satırıdır
L nin 3.kolonunun hesabı: L nin 4.,..,n. satırları ÇARPI U nun
3.kolonu=A nın 3.kolonudur
L U
A
6. ÇARPANLARA AYIRMA YÖNTEMLERİ: DOOLITLE, CROUT VE CHOLESKY
Ahmet TOPÇU, Bilgisayar Destekli Nümerik Analiz, Eskişehir Osmangazi Üniversitesi, 2014, http://mmf2.ogu.edu.tr/atopcu/
67
67
Genel formüller:
1. adım:
nn a, ..., ua, ua u , l 111212111111 1 ====
i. adım:
U nun i. satırı: ,..., ni,i j ulau jk
i
kikijij 1
1
1
+=−= ∑−
=
,
L nin i.kolonu: 0,21/)(,11
1
≠++=−== ∑−
=iiiiki
i
kjkjijiii u, ..., n, iijuulall ,
i. adım şematik hesap:
U nun 1., 2,…, i-1. adımlarda hesaplanmış satırları
L nin 1., 2,…, i-1. adımlarda hesaplanmış kolonları
U nun 1., 2,…, i. adımlarda hesaplanmış satırları
U nun i. satırında pivot ara
Satırda pivot arama: uii ≠ 0 olmalıdır. uii nin mutlak değerce çok küçük olması da istenmez. Gerekirse kolonlara yer değiştirilerek uii nin mutlak değerinin mümkün olan en büyük sayı olması sağlanır. Bunun için; satırda pivot ara, uii, ui,i+1,…, uin elemanlarından mutlak değerce en büyük olanı bul. Bu eleman k. kolonda ise i. kolon ile k. kolonu değiştir. Kolon değiştirme vektörünün aynı nolu kolonlarını da değiştir. Kolon değiştirme sayısının depolandığı değişkenin, adı p olsun, değerini 1 artır: p=p+1.
L nin i. adımda hesaplanacak kolonu
U nun 1., 2,…, i. adımlarda hesaplanmış satırları
U nun 1. satırı A nın birinci satırı ile aynı
Kolon değiştirme vektörü
Kolon değiştirme vektörü
Kolon değiştirme vektörü
Pivot
U nun i. satırının hesabı:
uij=aij - Σ diyagonalin solundaki sayılar ÇARPI aij
nin üstündeki sayılar
uij yi hesaplamak için: Renkli satır ve kolondaki sayıları birbiri ile çarp, topla, aij den çıkar ve sonucu aij nin olduğu yere yaz.
L nin i. kolonunun hesabı:
lji=(aji - Σdiyagonalin üstündeki sayılar ÇARPI aji nin solundaki sayılar) BÖLÜ uii lji yi hesaplamak için: Renkli satır ve kolondaki sayıları birbiri ile çarp, topla, aji den çıkar, uii diyagonal elemanına böl ve sonucu aji nin olduğu yere yaz.
Pivot adayı
6. ÇARPANLARA AYIRMA YÖNTEMLERİ: DOOLITLE, CROUT VE CHOLESKY
Ahmet TOPÇU, Bilgisayar Destekli Nümerik Analiz, Eskişehir Osmangazi Üniversitesi, 2014, http://mmf2.ogu.edu.tr/atopcu/
68
68
Örnek:
−−−−−
=
18146
39133
106812
4226
A , L=?, U=?
Matrisi DOOLITTLE metodu ile L ve U üçgen çarpanlarına ayrılacaktır. Çarpanlara ayırma işlemine başlamadan önce kolon değiştirme vektörü 1, 2, 3, 4 ile doldurulur ve kolon değiştirme sayısının saklanacağı p değişkeni sıfırlanır. p=0 (kolon değiştirme sayısı başlangıç değeri)
• L nin diyagonal elemanları, lii=1, depolanmaz.
• L ve U üçgen matrisleri A nın üzerine depolanır. Diyagonalin altındaki elemanlar L ye, diyagonal ve üstündeki elemanlar U ya aittir.
• Kolon değiştirme vektörü çarpanlara ayırma işlemi sırasında hangi kolonların yerlerinin değiştiği bilgisini içerir. Ayrıca, her kolon değişikliği determinantın işaretini değiştireceğinden, kaç defa kolon değiştirildiği de p gibi bir değişkende depolanır.
• u11, u22, …, unn elemanları çarpanlara ayırma işlemi sırasında seçilmiş pivot elemanlardır.
• Det A=det L.det U dur. det L=1 ve det U= (-1)p.u11.u22
. … . unn olduğundan Det A= (-1)p.u11
.u22. … . unn dir.
• Çarpanlara ayırma işleminin herhangi bir adımında, örneğin i. adımında, pivot eleman bulunamazsa, yani uii=0 ise, Det A=0 dır. A tekildir, rankı r=i-1 dir, r satır ve kolonu doğrusal bağımsız geriye kalan d=n-r satır ve kolonu doğrusal bağımlıdır.
U L
Kolon değiştirme vektörü
[ ]
−−−−−
=
18146
39133
106812
4226
A
43 2 1 Kolon değiştirme vektörü başlangıç değerleri
6. ÇARPANLARA AYIRMA YÖNTEMLERİ: DOOLITLE, CROUT VE CHOLESKY
Ahmet TOPÇU, Bilgisayar Destekli Nümerik Analiz, Eskişehir Osmangazi Üniversitesi, 2014, http://mmf2.ogu.edu.tr/atopcu/
69
69
1.Adım:
[ ]
−−−−−
18141
39135.0
10682
4226
43 2 1
2.Adım:
[ ]
−−−
−−
1815.01
3935.0
2242
4226
4 3 2 1
3.Adım:
[ ]
−−−−
−−
1815.01
5235.0
2242
4226
4 3 2 1
[ ]
−−−−
−−
1185.01
2535.0
2242
2426
3 4 2 1
[ ]
−−−
−−
16.25.01
2535.0
2242
2426
3 4 2 1
4.Adım:
[ ]
−−−−
−−
2.16.25.01
2535.0
2242
2426
3 4 2 1
U nun 1. satırı A nın 1. satırı ile aynı Satırdaki mutlak değerce en büyük sayı |6| zaten diyagonalde olduğundan kolon değiştirmeğe gerek yoktur.
Pivot
L nin 1. kolonu: diyagonal altındaki sayılar pivot elemana bölündü
U nun 2.satırı: Diyagonalin solundaki sayı buradaki sayının üstündeki sayı ile çarpıldı, buradaki sayıdan çıkartıldı. Satırdaki mutlak değerce en büyük sayı |-4| zaten diyagonalde olduğundan kolon değiştirmeğe gerek yoktur.
L nin 2.kolonu: Diyagonalin üstündeki sayı buradaki sayının solundaki sayı ile çarpıldı, buradaki sayıdan çıkartıldı, sonuç pivot elemana bölündü
Pivot
Kolon değişikliği yapılmadı, p=0
Kolon değişikliği yapılmadı, p=0
U nun 3.satırı: Diyagonalin solundaki sayılar buradaki sayının üstündeki sayılar ile çarpıldı, buradaki sayıdan çıkartıldı. Satırdaki mutlak değerce en büyük sayı |-5| pivot adayıdır. 3. kolon ile 4.kolona yer değiştirilecek.
Pivot
Kolonlar değiştirilecek
3. kolon ile 4. kolona yer değiştirildi, p=1
Kolon değişikliği sonrası U nun3.satırı
Pivot
L nin 3.kolonu: Diyagonalin üstündeki sayılar buradaki sayının solundaki sayılar ile çarpıldı, buradaki sayıdan çıkartıldı, sonuç pivot elemana bölündü
U nun 4.satırı: Diyagonalin solundaki sayılar buradaki sayının üstündeki sayılar ile çarpıldı, buradaki sayıdan çıkartıldı.
Pivot
U L
L nin 3.kolonu: henüz hesaplanmadı
Pivot
6. ÇARPANLARA AYIRMA YÖNTEMLERİ: DOOLITLE, CROUT VE CHOLESKY
Ahmet TOPÇU, Bilgisayar Destekli Nümerik Analiz, Eskişehir Osmangazi Üniversitesi, 2014, http://mmf2.ogu.edu.tr/atopcu/
70
70
Sonuç: Kolon değiştirme vektörü: [ ]3 4 2 1
Kolon değiştirme sayısı: p=1 L ve U matrisleri:
−−
−−
=
−−
=
21
25
224
2426
162501
1350
12
1
.
U,
..
.L
Determinant: Det A=(-1)1.6.(-4).(-5).(-1.2)= 144 Rank A: r=4 Doğrusal bağımsız kolon ve satır sayısı: 4 Doğrusal bağımlı kolon ve satır sayısı(Rank artığı): d=n-r=4-4=0
DOOLITTLE ile denklem sistemi çözümü: A matrisinin L ve U çarpanları bilindiğinden farklı karşı taraf vektörlü denklem sistemleri doğrudan yukarıdan aşağıya doğru ve aşağıdan yukarıya doğru hesap yapılarak çözülebilir. Aşağıda iki örnek verilmiştir. Örnek 1:
?x
x
x
x
x
bxA =
−−
=
−−−−−
→= ,
34
19
26
16
18146
39133
106812
4226
4
3
2
1
A katsayılar matrisi yukarıda L ve U çarpanlarına ayrılmıştı: Ancak; kolonlara yer değiştirildiği de unutulmamalıdır. Kolon değişimi bilinmeyenlerin yerini değiştirmek anlamındadır. [ ]3 4 2 1 vektörü 3. ve 4.kolonların değiştirildiğini
göstermektedir. Bu nedenle denklem sistemi L ve U cinsinden yazılırsa
−−
=
−−
−−
−−
→=→=
34
19
26
16
21
25
224
2426
162501
1350
12
1
3
4
2
1
x
x
x
x
...
. bxUL bxA ''
olur. Burada x’ vektörü hesaplanmak istenen x bilinmeyenler vektörünün 3. ve 4. bilinmeyenlerinin yerleri değiştirilmiş şeklidir. 'xUy = denirse, byL = bağıntısında, yukarıdan
aşağı doğru hesap ile, y bulunur, yxU =' bağıntısında da, aşağıdan yukarı doğru hesap ile, x’
bulunur. 3. ve 4. değişkenlerin yerleri değiştirilerek aranan x vektörü oluşturulur. Bu adımlar aşağıda uygulanmıştır:
→
−−
=
−−
→=
34
19
26
16
162501
1350
12
1
4
3
2
1
y
y
y
y
..
.byL
4.2)9(6.2)6)(5.0(16)1(34
9)6(3165.019
616226
16
4
3
2
1
=−−−−−−−−=−=−⋅−⋅−−=
−=⋅−==
y
y
y
y
−−
=
→
4.2
9
6
16
4
3
2
1
y
y
y
y
L
U
X’ b
6. ÇARPANLARA AYIRMA YÖNTEMLERİ: DOOLITLE, CROUT VE CHOLESKY
Ahmet TOPÇU, Bilgisayar Destekli Nümerik Analiz, Eskişehir Osmangazi Üniversitesi, 2014, http://mmf2.ogu.edu.tr/atopcu/
71
71
−−
=
−−
−−
→=
4.2
9
6
16
21
25
224
2426
'
3
4
2
1
x
x
x
x
.
yxU →
2)2.1/(4.2
1)5/())2(29(
1)4/()12)2(26(
36/)1)2(14)2(216(
3
4
2
1
−=−==−−⋅−−=
=−⋅−−−−==⋅−−⋅−−−=
x
x
x
x
→
−=
1
2
1
3
4
3
2
1
x
x
x
x
Örnek 2:
?x
x
x
x
x
bxA =
−
=
−−−−−
→= ,
31.33
51.56
20.64
68.24
18146
39133
106812
4226
4
3
2
1
→
−−
=
−−
−−
→=
3.0
35.0
84.14
68.24
21
25
224
2426
'
3
4
2
1
x
x
x
x
.
yxU
25.0)2.1/(3.0
17.0)5/()25.0235.0(
50.3)4/()17.0225.0284.14(
75.26/))5.3)(2(17.0425.0268.24(
3
4
2
1
=−−==−⋅−−=
−=−⋅−⋅−==−−−⋅−⋅−=
x
x
x
x
→
−
=
−−
→=
31.33
51.56
20.64
68.24
162501
1350
12
1
4
3
2
1
y
y
y
y
..
.byL
3.0)35.0(6.284.14)5.0(68.24)1(31.33
35.084.14368.245.051.56
84.1468.24220.64
68.24
4
3
2
1
−=−−⋅−−⋅−−−=−=⋅−⋅−=
=⋅−==
y
y
y
y
−
=
−−
−−
−−
→=→=
31.33
51.56
20.64
68.24
21
25
224
2426
162501
1350
12
1
3
4
2
1
x
x
x
x
...
. bxULbxA ''
−=
→
17.0
25.0
50.3
75.2
4
3
2
1
x
x
x
x
−−
=
→
3.0
35.0
84.14
68.24
4
3
2
1
y
y
y
y
6. ÇARPANLARA AYIRMA YÖNTEMLERİ: DOOLITLE, CROUT VE CHOLESKY
Ahmet TOPÇU, Bilgisayar Destekli Nümerik Analiz, Eskişehir Osmangazi Üniversitesi, 2014, http://mmf2.ogu.edu.tr/atopcu/
72
72
CROUT1 LU metodu A verilmiş olsun, det A ≠ 0 olmak ve uii=1 alınmak kaydıyla
=
→=
nnnnn
n
n
n
n
n
n
nnnnn aaaa
aaaa
aaaa
aaaa
u
uu
uuu
llll
lll
ll
l
AUL
...
.......
...
...
...
1
....
...1
...1
...1
...
......
321
3333231
2232221
1131211
3
223
11312
321
333231
2221
11
bağıntısı sağlanacak şekilde n adımda hem L hem de U nun tüm elemanları belirlenebilir. Matris çarpım kuralından yararlanarak, her adımda önce L nin bir kolonu sonra U nun bir satırı hesaplanır. 1.Adım:
1111
31313131
21212121
11111111
1
1
1
1
nnnn alal
...
alal
alal
alal
=→=⋅
=→=⋅=→=⋅=→=⋅
11111111
111313131311
111212121211
/
...
/
/
lauaul
lauaul
lauaul
nnnn =→=⋅
=→=⋅=→=⋅
2.Adım:
1212222121
1231323232321231
1221222222221221
1
...
1
1
ulalalul
ulalalul
ulalalul
nnnnnn ⋅−=→=⋅+⋅
⋅−=→=⋅+⋅⋅−=→=⋅+⋅
22121222222121
22142124242424221421
22132123232323221321
/)(
...
/)(
/)(
lulauaulul
lulauaulul
lulauaulul
nnnnnn ⋅−=→=⋅+⋅
⋅−=→=⋅+⋅⋅−=→=⋅+⋅
3.Adım:
2321313333232131
233213313333333323321331
1
...
1
ululalauulul
ululalalulul
nnnnnnnn ⋅−⋅−=→=⋅+⋅+⋅
⋅−⋅−=→=⋅+⋅+⋅
33232131333333232131
3324321431343434343324321431
/)(
...
/)(
lululauaululul
lululauaululul
nnnnnnnn ⋅−⋅−=→=⋅+⋅+⋅
⋅−⋅−=→=⋅+⋅+⋅
… n.Adım:
1 Prescott Duran Crout (1907-1984), Amerikalı: 1941 de yayınlandı
L nin 1.kolonunun hesabı: L nin 1., 2.,…,n.satırları
ÇARPI U nun1. kolonu=A nın
1.kolonudur
U nun 1.satırının hesabı: L nin 1.satırı ÇARPI U nun
2., 3, …, n.kolonu=A nın
1.satırıdır
L nin 2.kolonunun hesabı: L nin 2., 3.,…, n. satırları ÇARPI U
nun 2. kolonu=A nın 2.kolonudur
U nun 2.satırının hesabı: L nin 2.satırı ÇARPI U nun 3., 4.,
…, n.kolonu=A nın 2.satırıdır
L nin n.kolonunun hesabı: L nin n.satırı ÇARPI U nun n.kolonu=A
nın n.satırıdır:
...1... 332211332211 −⋅−⋅−⋅−=→=⋅++⋅+⋅+⋅ nnnnnnnnnnnnnnnnnnnn ulululalalululul
U nun n.satırının hesabı:
1=nnu
L nin 3.kolonunun hesabı: L nin 3, 4., …, n satırlar ÇARPI U nun
3.kolonu =A nın 3.kolonudur
U nun 3.satırının hesabı: L nin 3.satırı ÇARPI U nun 4., ..., n.
kolonu=A nın 3.satırıdır
L
U
A
6. ÇARPANLARA AYIRMA YÖNTEMLERİ: DOOLITLE, CROUT VE CHOLESKY
Ahmet TOPÇU, Bilgisayar Destekli Nümerik Analiz, Eskişehir Osmangazi Üniversitesi, 2014, http://mmf2.ogu.edu.tr/atopcu/
73
73
Pivot
Genel formüller:
1. adım:
112121111111 1 nn a, ..., la, la l , u ====
i. adım:
L nin i.kolonu: ,..., nii, j , ulall k i
i
kjkjijiii 1,1
1
1
+=−== ∑−
=
U nun i.satırı: 0,21/)(1
1
≠++=−= ∑−
=iiiikj
i
kikijij l, ..., n, iijlulau ,
i. adım şematik hesap:
U nun 1., 2,…, i-1. adımlarda hesaplanmış satırları
L nin 1., 2,…, i-1. adımlarda hesaplanmış kolonları
U nun 1., 2,…, i-1. adımlarda hesaplanmış satırları
L nin i.kolonunda pivot ara
Kolonda pivot arama:
lii ≠ 0 olmalıdır. lii nin mutlak değerce çok küçük olması da istenmez. Gerekirse satırlara yer değiştirilir lii nin mutlak değerinin mümkün olan en büyük sayı olması sağlanır. Bunun için; kolonda pivot ara, lii, li,i+1,…, lin elemanlarından mutlak değerce en büyük olanı bul. Bu eleman k. satırda ise i. satır ile k. satırı değiştir. Satır değiştirme vektörünün aynı nolu satırlarını da değiştir. Satır değiştirme sayısının depolandığı değişkenin, adı p olsun, değerini 1 artır: p=p+1.
L nin i. adımda hesaplanacak kolonu
U nun 1., 2,…, i-1. adımlarda hesaplanmış satırları
L nin 1. kolonu A nın birinci kolonu ile aynı
Satır değiştirme vektörü
Pivot
Satır değiştirme vektörü
L nin i. kolonunun hesabı:
lji=(aji - Σ diyagonalin üstündeki sayılar ÇARPI aji nin solundaki sayılar)
lji yi hesaplamak için:
Renkli satır ve kolondaki sayıları birbiri ile çarp, topla, aji den çıkar ve sonucu aji nin olduğu yere yaz.
U nun i. satırının hesabı:
uij=aij - Σ diyagonalin solundaki sayılar ÇARPI aij nin üstündeki sayılar BÖLÜ lii
uij yi hesaplamak için: Renkli satır ve kolondaki sayıları birbiri ile çarp, topla, aij den çıkar, lii diyagonal elemanına böl ve sonucu aij nin olduğu yere yaz.
Pivot adayı
L nin 1., 2,…, i. adımlarda hesaplanmış kolonları
6. ÇARPANLARA AYIRMA YÖNTEMLERİ: DOOLITLE, CROUT VE CHOLESKY
Ahmet TOPÇU, Bilgisayar Destekli Nümerik Analiz, Eskişehir Osmangazi Üniversitesi, 2014, http://mmf2.ogu.edu.tr/atopcu/
74
74
Örnek:
??,
18146
39133
106812
4226
==→=→
−−−−−
= ULULAA
Matrisi CROUT metodu ile L ve U üçgen çarpanlarına ayrılacaktır. Çarpanlara ayırma işlemine başlamadan önce satır değiştirme vektörü 1, 2, 3, 4 ile doldurulur ve satır değiştirme sayısının saklanacağı p değişkeni sıfırlanır.
−−−−−
=
18146
39133
106812
4226
4
3
2
1
A ,
p=0 (satır değiştirme sayısı başlangıç değeri)
• U nun diyagonal elemanları, uii=1, depolanmaz.
• L ve U üçgen matrisleri A nın üzerine depolanır. Diyagonal ve altındaki elemanlar L ye, diyagonalin üstündeki elemanlar U ya aittir.
• Satır değiştirme vektörü çarpanlara ayırma işlemi sırasında hangi satırların yerlerinin değiştiği bilgisini içerir. Ayrıca, her satır değişikliği determinantın işaretini değiştireceğinden, kaç defa satır değiştirildiği de p gibi bir değişkende depolanır.
• l11, l22, …, lnn elemanları çarpanlara ayırma işlemi sırasında seçilmiş pivot elemanlardır.
• Det A=det L . det U dir. det L= (-1)p.l11.l22
. … . lnn ve det U=1, olduğundan Det A= (-1)p.l11
.l22. … . lnn dir.
• Çarpanlara ayırma işleminin herhangi bir adımında, örneğin i. adımında, pivot eleman bulunamazsa, yani lii=0 ise, Det A=0 dır. A tekildir, rankı r=i-1 dir, r satır ve kolonu doğrusal bağımsız geriye kalan d=n-r satır ve kolonu doğrusal bağımlıdır.
U L
Kolon değiştirme vektörü
Satır değiştirme vektörü başlangıç değerleri
6. ÇARPANLARA AYIRMA YÖNTEMLERİ: DOOLITLE, CROUT VE CHOLESKY
Ahmet TOPÇU, Bilgisayar Destekli Nümerik Analiz, Eskişehir Osmangazi Üniversitesi, 2014, http://mmf2.ogu.edu.tr/atopcu/
75
75
1.Adım:
−−−−−
18146
39133
106812
4226
4
3
2 ,
1
−−−−−
18146
39133
4226
106812
4
3
1 ,
2
−−−−
−
18146
39133
4226
833333.05.0666667.012
4
3
1 ,
2
2.Adım:
−−−−
−
181000002.06
39999999.103
42000002.26
833333.05.0666667.012
4
3
1 ,
2
−−−
−−
181000002.06
42000002.26
39999999.103
833333.05.0666667.012
4
1
3 ,
2
−−−
−−−−
181000002.06
42000002.26
045455.0181818.0999999.103
833333.05.0666667.012
4
1
3 ,
2
3.Adım:
−−−
−−−−
184000002.06
4363637.0000002.26
045455.0181818.0999999.103
833333.05.0666667.012
4
1
3 ,
2
−−−−−−
−
4363637.0000002.26
184000002.06
045455.0181818.0999999.103
833333.05.0666667.012
1
4
3 ,
2
−−−−−−
−
4363637.0000002.26
25.34000002.06
045455.0681818.0999999.103
833333.05.0666667.012
1
4
3 ,
2
U nun 1. satırı: Diyagonalin sağındaki sayılar pivot elemana bölündü
Pivot adayı
L nin 1. kolonu: A nın 1. kolonu ile aynı. Pivot adayı 2. satırda, 1.ve 2. satırlar değiştirilecek
U nun 2.satırı: Diyagonalin solundaki sayı buradaki sayının üstündeki sayı ile çarpıldı, buradaki sayıdan çıkartıldı ve pivot elemana bölündü
L nin 2.kolonu: Diyagonalin üstündeki sayı buradaki sayının solundaki sayı ile çarpıldı, buradaki sayıdan çıkartıldı. Pivot adayı 3. satırdadır, 2. ve 3.satırlar değiştirilecek
U nun 3.satırı: Diyagonalin solundaki sayılar buradaki sayının üstündeki sayılar ile çarpıldı, buradaki sayıdan çıkartıldı ve pivot elemana bölündü
1. kolonda pivot ara
Satırlar değiştirilecek
Satır değiştirildikten sonra, p=1
Pivot
Satırlar değiştirilecek
Pivot
Pivot adayı Satır değiştirildikten sonra, p=2
Pivot
L nin 3.kolonu: Diyagonalin üstündeki sayılar buradaki sayının solundaki sayılar ile çarpıldı, buradaki sayıdan çıkartıldı. Pivot eleman 4.satırda, 3.ve 4.satırlar değiştirilecek
Pivot adayı
Satır değiştirildikten sonra, p=3
Pivot
Pivot
Pivot
6. ÇARPANLARA AYIRMA YÖNTEMLERİ: DOOLITLE, CROUT VE CHOLESKY
Ahmet TOPÇU, Bilgisayar Destekli Nümerik Analiz, Eskişehir Osmangazi Üniversitesi, 2014, http://mmf2.ogu.edu.tr/atopcu/
76
76
4.Adım:
−−−−−−
−
272733.0363637.0000002.26
25.34000002.06
045455.0681818.0999999.103
833333.05.0666667.012
1
4
3 ,
2
Sonuç:
Satır değiştirme vektörü:
1
4
3
2
, Satır değiştirme sayısı: p=3
L ve U matrisleri:
−−−
−
=
−−−
=
1
2531
0454555068181801
83333305066666701
2727330363637000000226
400000206
999999103
12
.
..
...
U,
...
.
.L
Determinant: Det A=(-1)3.12.(-10.999999).4.0.272733= 144.003001 Rank A: r=4 Doğrusal bağımsız kolon ve satır sayısı: 4 Doğrusal bağımlı kolon ve satır sayısı(rank artığı): d=n-r=4-4=0
CROUT ile denklem sistemi çözümü: A matrisinin L ve U çarpanları bilindiğinden katsayılar matrisi A olan farklı karşı taraf vektörlü denklem sistemleri doğrudan yukarıdan aşağı ve aşağıdan yukarı hesap yapılarak çözülebilir. Aşağıda iki örnek verilmiştir. Örnek 1:
?x
x
x
x
x
bxA =
−−
=
−−−−−
⇒= ,
34
19
26
16
18146
39133
106812
4226
4
3
2
1
A katsayılar matrisi yukarıda L ve U çarpanlarına ayrılmıştı: Ancak; satırlara yer değiştirildiği de unutulmamalı, çözüme başlamadan önce sağ taraf vektörünün satırları değiştirilmelidir.
Satır değiştirme vektörü= [ ]T1 4 3 2 olduğundan, sağ taraf vektörü
[ ]T34-19-2616 b= yerine [ ]T16 34- 19-26 b =' alınmalıdır. Bu nedenle denklem
sistemi L ve U cinsinden yazılırsa
−−
=
−−−
−
−−−
⇒=⇒=
16
34
19
26
1
25.31
0454555.0681818.01
833333.05.0666667.01
272733.0363637.0000002.26
4000002.06
999999.103
12
'
4
3
2
1
x
x
x
x
bxULbxA '
L nin 4.kolonu: Diyagonalin solundaki sayılar buradaki sayının üstündeki sayılar ile çarpıldı, buradaki sayıdan çıkartıldı.
U
L
L U
b’ x
6. ÇARPANLARA AYIRMA YÖNTEMLERİ: DOOLITLE, CROUT VE CHOLESKY
Ahmet TOPÇU, Bilgisayar Destekli Nümerik Analiz, Eskişehir Osmangazi Üniversitesi, 2014, http://mmf2.ogu.edu.tr/atopcu/
77
77
olur. xUy = denirse, 'byL = bağıntısından, yukarıdan aşağı doğru hesap ile, y bulunur,
yxU = den de, aşağıdan yukarı doğru hesap ile, x bulunur. Bu adımlar aşağıda
uygulanmıştır.
→
−=
−−−
−
→=
999963.0
249998.5
318182.2
166667.2
1
2531
0454555068181801
83333305066666701
4
3
2
1
x
x
x
x
.
..
...
yxU
999963.0
000118.2999963.0)25.3(249998.5
999919.0)000118.2()681818.0(999963.0)0454555.0(318182.2
000037.3999919.0)666667.0()000118.2(5.0999963.0833333.0166667.2
4
3
2
1
=−=⋅−−−=
=−⋅−−⋅−−==⋅−−−⋅−⋅−=
x
x
x
x
→
−=
999963.0
000118.2
999919.0
000037.3
4
3
2
1
x
x
x
x
Örnek 2:
?x
x
x
x
x
bxA =
−
=
−−−−−
→= ,
31.33
51.56
20.64
68.24
18146
39133
106812
4226
4
3
2
1
Satır değiştirme vektörü= [ ]T1 4 3 2 olduğundan, sağ taraf vektörü
[ ]T31.31-56.5164.2024.68 b = yerine [ ]T24.68 33.31-56.5164.20 b =' alınmalıdır. Bu
nedenle denklem sistemi L ve U cinsinden yazılırsa
−=
−−−
−
−−−
→=→=
68.24
31.33
51.56
20.64
1
25.31
0454555.0681818.01
833333.05.0666667.01
272733.0363637.0000002.26
4000002.06
999999.103
12
'
4
3
2
1
x
x
x
x
bxULbxA '
→
−=
−−−
→=
68.24
31.33
51.56
20.64
272733.0363637.0000002.26
4000002.06
999999.103
12
4
3
2
1
y
y
y
y
byL
170023.0272733.0/)302498.0(363637.0)678182.3(000002.235.5668.24(
302498.04/)678182.3)(000002.0(35.5)6(31.33(
678182.3)999999.10/()35.5351.56(
35.512/20.64
4
3
2
1
=−−−⋅−⋅−=−=−−−⋅−−−=
−=−⋅−===
y
y
y
y
→
−−
=
170023.0
302498.0
678182.3
35.5
4
3
2
1
y
y
y
y
→
−−
=
−−−
→=
16
34
19
26
2727330363637000000226
400000206
999999103
12
4
3
2
1
y
y
y
y
...
.
.byL
999963.0272733.0/))249998.5(363637.0318182.2000002.2166667.2616(
249998.54/)318182.2)000002.0(166667.2)6(34(
318182.2)999999.10/()166667.2319(
166667.212/26
4
3
2
1
=−⋅−⋅−⋅−=−=⋅−−⋅−−−=
=−⋅−−===
y
y
y
y
→
−=
999963.0
249998.5
318182.2
166667.2
4
3
2
1
y
y
y
y
6. ÇARPANLARA AYIRMA YÖNTEMLERİ: DOOLITLE, CROUT VE CHOLESKY
Ahmet TOPÇU, Bilgisayar Destekli Nümerik Analiz, Eskişehir Osmangazi Üniversitesi, 2014, http://mmf2.ogu.edu.tr/atopcu/
78
78
→
−−
=
−−−
−
→=
170023.0
302498.0
678182.3
35.5
1
25.31
0454555.0681818.01
833333.05.0666667.01
4
3
2
1
x
x
x
x
yxU
170023.0x
250077.0170023.0)25.3(302498.0x
499937.3250077.0)681818.0(170023.0)0454555.0(678182.3x
749983.2499937.3)(666667.0(250077.05.0170023.0833333.035.5x
4
3
2
1
==⋅−−−=
−=⋅−−⋅−−−==−−−⋅−⋅−=
→
−=
170023.0
250077.0
499937.3
749983.2
4
3
2
1
x
x
x
x
CHOLESKY1 UUT metodu CHOLESKY metodu sadece simetrik ve pozitif tanımlı matrisler için özel bir yöntemdir. Basit, nümerik açıdan stabil, bellek gereksinimi düşük ve programlanması kolaydır. Pivot aramak, satır veya kolon değiştirmek gerekmez.
1 André-Louis Cholesky (1875 – 1918), Polonya asıllı Fransız: Çalışmasını 1905-1913 civarında hazırlandığı sanılmaktadır. 1. Dünya savaşında öldü. Çalışması ölümünden sonra, 1924 de yayınlandı.
Simetrik pozitif tanımlı matris nedir? Mekanik tanım Matematik tanım: Simetriklik koşulu A=AT dir. Elemanlarının en az biri sıfırdan farklı olan, bunun dışında tamamen keyfi bir x ≠0 kolon vektörü olsun. P = xT A x çarpımı sabit bir sayı olur. Eğer P>0 ise A pozitif tanımlıdır (positive definit) P<0 ise A negatif tanımlıdır (negative definit) P≥0 ise A yarı pozitif tanımlıdır (positive semidefinit) P≤0 ise A yarı negatif tanımlıdır (negative semidefinit) denir. Herhangi bir matrisin pozitif tanımlı olup olmadığını genelde matrisin görünümünden anlamak basit değildir. Çoğu kez matrisin mekanik anlamı yorumlanarak karar verilebilir. Örneğin, sonlu elemanlar metodunun denge denklemlerinin katsayılar matrisinin ve en küçük kareler metodunun katsayılar matrisinin daima pozitif tanımlı olduğu bilinmektedir. Örnekler:
[ ] 22
21
2
121
2
1
10
01,,
10
01xx
x
xxxxAxp
x
xxA T +=
==
=
=
olduğundan, x1≠0 veya x2≠0 olduğu sürece p>0 dır, dolayısıyla A pozitif tanımlıdır.
[ ] 21212
121
2
1
01
10,,
01
10xxxx
x
xxxxBxp
x
xxB T +=
==
=
=
dır. 01 ≤x ve 02 ≥x için p≤0 olacağından B pozitif tanımlı değildir.
Mekanik tanım: P = (½) xT A x bağıntısı mekanikte depolanmış şekil değiştirme enerjisidir. Şekil değiştirme enerjisi daima pozitif olduğundan p>0 dır. Örneklemek gerekirse, sonlu elemanlar metodunda x sistemin global düğüm yer değiştirme vektörü (deplasman vektörü), A sistemin global rijitlik matrisidir. A daima simetrik, yani A=AT dir. P sistemde depolanmış şekil değiştirme enerjisi(iç kuvvetlerin işi) anlamındadır ve daima pozitiftir. Dolayısıyla A matrisi de daima pozitif tanımlıdır. Bunun pratik anlamı şudur. A nın diyagonal elemanları daima pozitiftir ve CHOLESKY metodu ile üçgen çarpanlara ayırma işlemi sırasında daima pozitif kalırlar. Diyagonal elemanlardan biri negatif veya sıfır olursa sistem ya labildir ya da rijitlik matrisi hatalı kurulmuştur, çözüm bulunamaz anlamına gelir.
6. ÇARPANLARA AYIRMA YÖNTEMLERİ: DOOLITLE, CROUT VE CHOLESKY
Ahmet TOPÇU, Bilgisayar Destekli Nümerik Analiz, Eskişehir Osmangazi Üniversitesi, 2014, http://mmf2.ogu.edu.tr/atopcu/
79
79
CHOLESKY metodunda A=L U üçgen çarpanlarının diyagonal elemanlar iiii al = , iiii au =
alınır. Simetriden dolayı L=UT veya U=LT dur. Simetrik ve pozitif tanımlı A matrisi A=UTU sağlanacak şekilde üçgen çarpanlarına ayrılır1. n adımda U nun tüm elemanları belirlenebilir. Matris çarpım kuralından yararlanarak, her adımda U nun bir satırı hesaplanır.
=
⇒=
nnnnn
n
n
n
nn
n
n
n
nnnnn
T
a...aaa
.......
a...aaa
a...aaa
a...aaa
u
....
u...u
u...uu
u...uuu
u...uuu
......
uuu
uu
u
AU U
321
3333231
2232221
1131211
333
22322
1131211
321
332313
2212
11
1. adım
11111111
111313131311
111212121211
1111111111
/
/
/
uauauu
...
uauauu
uauauu
auauu
nnnn =→=
=→==→==→=
2. adım
22112222222112
22131223232323221312
121222222222221212
/)(
/)(
uuuauauuuu
...
uuuauauuuu
uuauauuuu
nnnnnn −=→=+
−=→=+−=→=+
3. adım
33223113333333223113
23231313333333333323231313
/)( uuuuuauauuuuuu
...
uuuuauauuuuuu
nnnnnnnn −−=→=++
−−=→=++
… n. adım
...... 332211332211 −−−−=→=++++ nnnnnnnnnnnnnnnnnnnnnn uuuuuuauauuuuuuuu
1 Kaynaklarda A=UTU, A=U UT, A=LTL, A=L LT şeklin de de gösterilir, hepsi de aynı anlamdadır.
U nun 1.satırının hesabı: UT nin 1..satırı ÇARPI U nun 1.,2. ,…, n.kolonları =A
nın 1.satırıdır
UT
U A
U nun 2.satırının hesabı: UT nin 2..satırı ÇARPI U nun 2., 3. ,…, n.kolonları =A
nın 2.satırıdır
U nun 3.satırının hesabı: UT nin 3.satırı ÇARPI U nun 3. ,…,
n.kolonları =A nın 3.satırıdır
U nun n.satırının hesabı: UT nin n.satırı ÇARPI U nun n.kolonu
=A nın n.satırıdır
6. ÇARPANLARA AYIRMA YÖNTEMLERİ: DOOLITLE, CROUT VE CHOLESKY
Ahmet TOPÇU, Bilgisayar Destekli Nümerik Analiz, Eskişehir Osmangazi Üniversitesi, 2014, http://mmf2.ogu.edu.tr/atopcu/
80
80
Genel formüller:
1.adım:
11111113131112121111 /,...,// uauua, uua u , au nn ==== , (a11>0)
i.adım:
Diyagonal eleman: uuau i k
i
kikiiii ∑
−
=
−=1
1
, (kök içindeki ifade>0 olmalı)
Diyagonalin sağındaki elemanlar: , ..., n, iijuuuau iikj
i
kikijij 21/)(
1
1
++=−= ∑−
=
,
i. adım şematik hesap:
• A nın sadece diyagonali ve üstündeki sayıları depolanır.
• U üçgen matrisi A nın üzerine depolanır.
U nun i. diyagonalinin hesabı:
uii=√ (aii - Σ diyagonalin üstündeki sayıların KARESİ)
uii yi hesaplamak için: Renkli kolondaki sayıların karesini aii den çıkar, sonucun karekökünü al ve sonucu aii nin olduğu yere yaz.
U nun 1., 2,…, i-1. adımlarda hesaplanmış satırları
U nun i. satırının hesabı:
uij= (aij - Σ diyagonalin üstündeki sayılar ÇARPI aij nin üstündeki sayılar) BÖLÜ uii
uij yi hesaplamak için:
Renkli bölgedeki sayıları çarp, aii den çıkar, diyagonal elemana böl ve sonucu aij nin olduğu yere yaz.
U UT depolanmaz
• Çarpanlara ayırma işleminin herhangi bir adımında, örneğin i. adımında
01
1
≤−∑−
=i k
i
kikii uua
ise, karekök alınamaz, işleme devam edilemez. Bu durum, A nın pozitif tanımlı olmadığı anlamındadır. • Det A=det UT . det U dur. • det A= u11
2. u222. … . unn
2 olur.
6. ÇARPANLARA AYIRMA YÖNTEMLERİ: DOOLITLE, CROUT VE CHOLESKY
Ahmet TOPÇU, Bilgisayar Destekli Nümerik Analiz, Eskişehir Osmangazi Üniversitesi, 2014, http://mmf2.ogu.edu.tr/atopcu/
81
81
Örnek:
−−−
→=→=
−−−
−−−
=
65
79
11726
12639
6571112
7976
117263
12639
? UUUA, A T
Simetrik matrisi CHOLESKY metodu ile UT ve U üçgen çarpanlarına ayrılacaktır. A nın pozitif tanımlı olduğunun bilindiği varsayılmaktadır. 1.Adım:
−−−
65
79
11726
4213
2.Adım:
−−−
65
79
315
4213
3.Adım:
−−−
65
62
315
4213
4.Adım:
−−−
2
62
315
4213
Sonuç:
−−−
=
==
2
62
315
4213
2634
212
51
3
U
-
-- U , UUA TT
A Pozitif tanımlıdır: Çünkü uii diyagonal elemanları hesaplanırken karekökü alınacak sayılar pozitif kalmıştır.
A nın sadece diyagonali ve üstündeki sayılar ile çalışılacak
U11 in hesabı: a11 in karekökü alınıp buraya yazıldı U1j nin hesabı: Buradaki
aij sayıları u11 e bölündü
U22 nin hesabı: diyagonalin üstündeki sayıların kareleri buradaki a22 den çıkartıldı, karekökü alındı ve buraya yazıldı
U2j nin hesabı: diyagonalin üstündeki sayı a2j nin üstündeki sayı ile çarpıldı, a2j den çıkartıldı, u22 ye bölündü ve sonuç buraya yazıldı
U33 ün hesabı: diyagonalin üstündeki sayıların kareleri buradaki a33 den çıkartıldı, karekökü alındı ve buraya yazıldı
U2j nin hesabı: diyagonalin üstündeki sayılar a3j nin üstündeki sayılar ile çarpıldı, a3j den çıkartıldı, u33 e bölündü ve sonuç buraya yazıldı
U44 ün hesabı: diyagonalin üstündeki sayıların kareleri buradaki a44 den çıkartıldı, karekökü alındı ve buraya yazıldı
Diyagonal altındaki sayılar kullanılmayacağı için yazılmadı
6. ÇARPANLARA AYIRMA YÖNTEMLERİ: DOOLITLE, CROUT VE CHOLESKY
Ahmet TOPÇU, Bilgisayar Destekli Nümerik Analiz, Eskişehir Osmangazi Üniversitesi, 2014, http://mmf2.ogu.edu.tr/atopcu/
82
82
Determinant: Det A=Det UT.det U=32.52.22.22= 3600 CHOLESKY ile denklem sistemi çözümü:
A matrisinin UT ve U çarpanları bilindiğinden katsayılar matrisi A olan farklı karşı taraf vektörlü denklem sistemleri doğrudan yukarıdan aşağı ve aşağıdan yukarı hesap yapılarak çözülebilir. Aşağıda bir örnek verilmiştir. Örnek:
? x
x
x
x
x
bxA =
=
−−−
−−−
= ,
326
22
34
72
6571112
7976
117263
12639
,
4
3
2
1
? x
x
x
x
x
-
-- bxUU bxA T =
=
−−−
→=→= ,
326
22
34
72
2
62
315
4213
2634
212
51
3
4
3
2
1
→
=
→=
y
y
y
y
-
--byU T
326
22
34
72
2634
212
51
3
4
3
2
1
102/)3662)3(244326(
362/)2)1(24)2(22(
25/)24134(
243/72
4
3
2
1
=⋅−⋅−−⋅−==⋅−−⋅−−=
=⋅−===
y
y
y
y
=→
10
36
2
24
y
→
=
−−−
→=
10
36
2
24
2
62
315
4213
4
3
2
1
x
x
x
x
yxU
52/10
32/)5636(
45/)3)1(5)3(2(
23/)413)2(5424(
4
3
2
1
===⋅−=
=⋅−−⋅−−==⋅−⋅−−⋅−=
x
x
x
x
=→
5
3
4
2
x
Determinant hesabı Bir Anxn matrisinin determinantının tanımı, klasik hesap metotlar(Sarrus, Chio, Laplace) ve determinant özelliklerine bölüm 2 de yer verilmişti. Ayrıca, bölüm 6 da verilen A = L U çarpanlara ayırma metodlarında (Doolittle, Crout, Cholesky) det A nın
Doolittle metodunda: det A= (-1)p.u11.u22
. … . unn Crout metodunda: det A= (-1)p.l11
.l22. … . lnn (6.5)
Choleky metodunda det A= u112. u22
2. … . unn2
ile hesaplanacağı gösterilmişti. Burada p satır veya kolon değiştirme sayısıdır.
Determinantın değeri çözümün var olup olmadığına işaret eder. Det A≠0 ise çözüm vardır, det A=0 çözüm yoktur veya birden çok çözüm vardır (bak: bölüm 3, sayfa 45).
Determinant matrise ait ilginç bir sayıdır. Hem çok önemlidir hem de hesaplamaktan özenle kaçınırız. Genellikle denklem sistemini çözerken sadece kontrol amacıyla kullanırız. Bu kontrol 6.5 ifadelerindeki lii veya uii diyagonal elemanlarından herhangi birinin sıfır olup olmadığı kontrol edilerek yapılır. Herhangi biri sıfır ise determinant sıfırdır.
UT
U x b
y
6. ÇARPANLARA AYIRMA YÖNTEMLERİ: DOOLITLE, CROUT VE CHOLESKY
Ahmet TOPÇU, Bilgisayar Destekli Nümerik Analiz, Eskişehir Osmangazi Üniversitesi, 2014, http://mmf2.ogu.edu.tr/atopcu/
83
83
Determinant hesaplanacaksa nümerik sorun çıkabileceği bilinmelidir. Denklem sistemi çok büyük ise 6.5 deki diyagonal elemanların birbiri ile çarpımı sayı taşmasına(sayının bilgisayar birim belleğine sığmaması) neden olabilir! Basit bir örnek verelim: Crout metodunda denklem sayısının n=100, p=2, L nin tüm diyagonal elemanların birbirine eşit ve 5 olduğunu varsayalım. 6.5 den: det A=(-1)2.5. 5. ….5=5100=7888609052210118054117285652827862296732064351090230047702789306640625 gibi çok büyük bir sayı olur(yuvarlanmış det A=7.88860905.1069). Uygulamada karşılaşılan büyük denklem sistemlerinde n=100000, n=100000000 olabildiğine göre, 6.5 deki ifadelerden determinantın hesaplanmasının sayı taşmasına neden olacağı (programın çıkmaza gireceği, beklide bilgisayarın kilitleneceği) açıktır.
UTDU veya LTDL çarpanlara ayırma yöntemi
UTDU (veya LTDL) yöntemi simetrik matrisler için ve Cholesky metodunun biraz farklı şeklidir. Matrisin pozitif tanımlı olması gerekmez. Simetrik A matrisi
A=UTD U
olacak şekilde diyagonal elemanları 1 olan üst üçgen U ve D diyonal matrisine dönüştürülür. U ve D aşağıdaki bağıntı sağlanacak şekilde belirlenir.
=
→=
nnnnn
n
n
n
n
n
n
nnnnn
T
a...aaa
.......
a...aaa
a...aaa
a...aaa
....
u...
u...u
u...uu
d
d
d
d
...uuu
......
uu
u
AUDU
321
3333231
2232221
1131211
3
223
11312
33
22
11
321
2313
12
1
1
1
1
...
1
1
1
1
UTDU yöntemi bazı problemlerin çözümünde daha uygun olmaktadır. Yöntemin detayları burada verilmeyecektir.
Determinantın hesaplanması zorunlu olan bir durumda, det A yı doğrudan 6.5 deki ifadelerden değil Det A =(-1)p . s . 2t bağıntısına göre sadece s ve t sayılarını hesaplamak sayı taşmasını önler. Burada s gerçek sayı, t tamsayı değişkenidir. s ve t değerlerini hesaplayan basit bir BASIC programı parçası verilmiştir.
REM Determinant için s ve t yi belirle (Wilkinson1) s=1 t = 0 FOR i = 1 TO n s = s * a(i, i) 1930 t = t + 4 IF ABS(s) >= 1 THEN s = s *0.0625 : GOTO 1930 1950 t = t - 4 IF ABS(s) <0.0625 THEN s = s * 16 : GOTO 1950 NEXT i
Uyarı: s ve t değerleri yerine konularak programda det A =(-1)p . s . 2t değeri hesaplanmamalıdır. Aksi halde gene sayı taşması olacaktır. s ve t programda belirlendikten sonra, det A=(-)p. s . 2t değeri program dışında, Mathematica veya MATLAB ile ya da özel bir program ile, hesaplanabilir. ----------------------------------- 1 James Hardy Wilkinson (1919 – 1986), İngiliz
Basit Gauss, Doolittle, Crout metotlarında alt veya üst üçgen matrisin diyagonal elemanları A matrisinin diyagonalinde depolanmıştır. Cholesky metodunda da durum aynıdır, ancak Cholesky metodunda bu satır s = s * a(i, i)^2 olarak değiştirilmelidir.
U D UT A