bilgisayar destekli nümerik...

20
Bilgisayar Destekli Nümerik Analiz Ders notları 2014 Ahmet TOPÇU L U = A = nn n n n n n n nn n n n nn n n n a a a a a a a a a a a a a a a a u u u u u u u u u u l l l l l l l l l l ... . ... . . . ... ... ... . ... ... ... ... ... ... . . . 3 2 1 3 33 32 31 2 23 22 21 1 13 12 11 3 33 2 23 22 1 13 12 11 3 2 1 33 32 31 22 21 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

Upload: others

Post on 23-Jan-2020

15 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Bilgisayar Destekli Nümerik Analizmmf2.ogu.edu.tr/atopcu/index_dosyalar/Dersler/BilDesNuMAn...Bilgisayar Destekli Nümerik Analiz Ders notları 2014 Ahmet TOPÇU L U = A = n n n nn

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

Page 2: Bilgisayar Destekli Nümerik Analizmmf2.ogu.edu.tr/atopcu/index_dosyalar/Dersler/BilDesNuMAn...Bilgisayar Destekli Nümerik Analiz Ders notları 2014 Ahmet TOPÇU L U = A = n n n nn

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

Page 3: Bilgisayar Destekli Nümerik Analizmmf2.ogu.edu.tr/atopcu/index_dosyalar/Dersler/BilDesNuMAn...Bilgisayar Destekli Nümerik Analiz Ders notları 2014 Ahmet TOPÇU L U = A = n n n nn

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

Page 4: Bilgisayar Destekli Nümerik Analizmmf2.ogu.edu.tr/atopcu/index_dosyalar/Dersler/BilDesNuMAn...Bilgisayar Destekli Nümerik Analiz Ders notları 2014 Ahmet TOPÇU L U = A = n n n nn

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ı

Page 5: Bilgisayar Destekli Nümerik Analizmmf2.ogu.edu.tr/atopcu/index_dosyalar/Dersler/BilDesNuMAn...Bilgisayar Destekli Nümerik Analiz Ders notları 2014 Ahmet TOPÇU L U = A = n n n nn

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

Page 6: Bilgisayar Destekli Nümerik Analizmmf2.ogu.edu.tr/atopcu/index_dosyalar/Dersler/BilDesNuMAn...Bilgisayar Destekli Nümerik Analiz Ders notları 2014 Ahmet TOPÇU L U = A = n n n nn

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

Page 7: Bilgisayar Destekli Nümerik Analizmmf2.ogu.edu.tr/atopcu/index_dosyalar/Dersler/BilDesNuMAn...Bilgisayar Destekli Nümerik Analiz Ders notları 2014 Ahmet TOPÇU L U = A = n n n nn

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

Page 8: Bilgisayar Destekli Nümerik Analizmmf2.ogu.edu.tr/atopcu/index_dosyalar/Dersler/BilDesNuMAn...Bilgisayar Destekli Nümerik Analiz Ders notları 2014 Ahmet TOPÇU L U = A = n n n nn

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

Page 9: Bilgisayar Destekli Nümerik Analizmmf2.ogu.edu.tr/atopcu/index_dosyalar/Dersler/BilDesNuMAn...Bilgisayar Destekli Nümerik Analiz Ders notları 2014 Ahmet TOPÇU L U = A = n n n nn

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

Page 10: Bilgisayar Destekli Nümerik Analizmmf2.ogu.edu.tr/atopcu/index_dosyalar/Dersler/BilDesNuMAn...Bilgisayar Destekli Nümerik Analiz Ders notları 2014 Ahmet TOPÇU L U = A = n n n nn

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ı

Page 11: Bilgisayar Destekli Nümerik Analizmmf2.ogu.edu.tr/atopcu/index_dosyalar/Dersler/BilDesNuMAn...Bilgisayar Destekli Nümerik Analiz Ders notları 2014 Ahmet TOPÇU L U = A = n n n nn

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

Page 12: Bilgisayar Destekli Nümerik Analizmmf2.ogu.edu.tr/atopcu/index_dosyalar/Dersler/BilDesNuMAn...Bilgisayar Destekli Nümerik Analiz Ders notları 2014 Ahmet TOPÇU L U = A = n n n nn

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

Page 13: Bilgisayar Destekli Nümerik Analizmmf2.ogu.edu.tr/atopcu/index_dosyalar/Dersler/BilDesNuMAn...Bilgisayar Destekli Nümerik Analiz Ders notları 2014 Ahmet TOPÇU L U = A = n n n nn

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

Page 14: Bilgisayar Destekli Nümerik Analizmmf2.ogu.edu.tr/atopcu/index_dosyalar/Dersler/BilDesNuMAn...Bilgisayar Destekli Nümerik Analiz Ders notları 2014 Ahmet TOPÇU L U = A = n n n nn

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

Page 15: Bilgisayar Destekli Nümerik Analizmmf2.ogu.edu.tr/atopcu/index_dosyalar/Dersler/BilDesNuMAn...Bilgisayar Destekli Nümerik Analiz Ders notları 2014 Ahmet TOPÇU L U = A = n n n nn

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.

Page 16: Bilgisayar Destekli Nümerik Analizmmf2.ogu.edu.tr/atopcu/index_dosyalar/Dersler/BilDesNuMAn...Bilgisayar Destekli Nümerik Analiz Ders notları 2014 Ahmet TOPÇU L U = A = n n n nn

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

Page 17: Bilgisayar Destekli Nümerik Analizmmf2.ogu.edu.tr/atopcu/index_dosyalar/Dersler/BilDesNuMAn...Bilgisayar Destekli Nümerik Analiz Ders notları 2014 Ahmet TOPÇU L U = A = n n n nn

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.

Page 18: Bilgisayar Destekli Nümerik Analizmmf2.ogu.edu.tr/atopcu/index_dosyalar/Dersler/BilDesNuMAn...Bilgisayar Destekli Nümerik Analiz Ders notları 2014 Ahmet TOPÇU L U = A = n n n nn

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ı

Page 19: Bilgisayar Destekli Nümerik Analizmmf2.ogu.edu.tr/atopcu/index_dosyalar/Dersler/BilDesNuMAn...Bilgisayar Destekli Nümerik Analiz Ders notları 2014 Ahmet TOPÇU L U = A = n n n nn

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

Page 20: Bilgisayar Destekli Nümerik Analizmmf2.ogu.edu.tr/atopcu/index_dosyalar/Dersler/BilDesNuMAn...Bilgisayar Destekli Nümerik Analiz Ders notları 2014 Ahmet TOPÇU L U = A = n n n nn

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