Mathematica Subroutine (Back Substitution).

Download Report

Transcript Mathematica Subroutine (Back Substitution).

SAYISAL ÇÖZÜMLEME
The Solution of Linear Systems
(Doğrusal Sistemlerin Çözümü, AX=B )
Hazırlayan
098001116
M.Hanefi CALP
1.
Triangular Systems and
Back Substitution
We will now develop the back-substitution
algorithm, which is useful for solving a
linear system of equations that has an
upper-triangular matrix.
a. Upper-Triangular Matrix (Üst Üçgen Matris):
An nxn matrix A= [ai,j] is called uppertriangular provided that the
elements satisfy ai,j=0 whenever i>j.
If A is an upper-triangular matrix, then
AX=B is said to be an upper-triangular
system of linear equations.
(1)
Özetle;
Matrisin köşegeni altındaki elemanları
sıfıra eşitse, bu matrislere UpperTriangular Matrix
(Üst Üçgen Matris) denir.
Örneğin,
gibi.
Theorem (Back Substitution):
Suppose that AX=B is an uppertriangular system with the form given
above in (1). If ai,i≠0 for i=1,2,….,n
then there exists a unique solution.
The back substitution algorithm
Back-substitution metoduyla AX=B üst
üçgen sistemini çözmek için; tüm köşegen
elemanları sıfırdan farklı ise ilk olarak,
and then use the rule
for
Or, use the "generalized rule"
for
Konuyla Alakalı Alt Program
Mathematica Subroutine
(Back Substitution).
Pedagogical version for "printing all the
details."
Example
Use the back-substitution method to solve
the upper-triangular linear system
Solution
Use the menu "Input" then submenu
"Create Table/Matrix/Palette" to enter
matrix A and vector B.
Sistemin çözümü;
Sonra back-substitution gerçeklerştirelim.
Çözümü doğrulayalım.
b. Lower-Triangular Matrix (Alt Üçgen Matris):
Tanım: An nxn matrix A= [ai,j] is called
lower-triangular provided that the
elements satisfy ai,j=0 whenever i<j.
If A is an lower-triangular matrix, then
AX=B is said to be a lower-triangular
system of linear equations.
(2)
Özetle;
Matris köşegeni üstündeki elemanları sıfıra
eşitse bunun gibi matrislere LowerTriangular Matrix (alt üçgen matris)
denir. Örneğin,
gibi.
Theorem (Forward Substitution):
Suppose that AX=B is an lowertriangular system with the form given
above in (2).
If ai,i≠0 for i=1,2,….,n then there exists a
unique solution.
The forward substitution algorithm
Forward-substitution metoduyla AX=B alt
üçgen sistemini çözmek için; tüm köşegen
elemanları sıfırdan farklı ise ilk olarak,
hesaplarız.
and then use the rule
Konuyla Alakalı Alt Program
Mathematica Subroutine
(Forward Substitution)
Example
Use the forward-substitution method to
solve the lower-triangular linear
system
Solution
Use the menu "Input" then submenu
"Create Table/Matrix/Palette" to enter
matrix A and vector B.
Sistemin çözümü;
Sonra forward-substitution gerçekleştirelim.
Çözümü doğrulayalım;
Does AX=B?
2. Gauss-Jordan Elimination
and Pivoting
Theorem (Unique Solutions):
Assume that A is an nxn matrix.The
following statements are equivalent.
Not:
Bu yöntem, Gauss Eliminasyon Yöntemiyle
aynı esasa dayanmaktadır. Ancak Gauss
Eliminasyon yönteminde katsayılar matrisi üst
üçgen matris haline getiriliyordu.
Bu yöntemde ise katsayılar matrisi birim matris
haline getirerek çözüme gidiyoruz.
Birim matris ise, köşegen üzerindeki
elemanları 1 olan matrise denir.
Konuyla Alakalı Alt Programlar
Mathematica Subroutine
(Limited Gauss-Jordan Elimination)
Mathematica Subroutine
(Complete Gauss-Jordan Elimination)
Mathematica Subroutine
(Concise Gauss-Jordan Elimination)
Example
Use the Gauss-Jordan elimination
method to solve the linear system
Solution
Use the menu "Input" then submenu
"Create Table/Matrix/Palette" to enter
matrices A and M and vector B.
Sistemin çözümü;
.
İlk olarak arttırılmış matris;
Sonra Gauss-Jordan elimination gerçekleştirelim.
Çözümü doğrulayalım.
Pivoting (Yok etme)
Gauss eliminasyonun uygulanması esnasında köşegen
üzerinde sıfır değerli eleman bulunması problem
olacaktır. Bu durumda sıfıra bölme söz konusu
olacağından sonuca gidilemeyecektir. Bu problemi
önlemek için pivot elemanın en büyük olacak şekilde
eşitlikler arasında değişikliğe gidilir.
Hem köşegen üzerindeki sıfır elemanlar varsa o giderilir
hem de yuvarlatma hataları sıfıra/aza indirilmiş olur.
Sadece pivot elemanın büyük yapılması durumuna
veya sadece satırların(veya sütunların) yer
değiştirmesi durumuna kısmi pivotlama, bütün
satırlar dikkate alınarak büyük elemanlar seçilmesi
durumuna veya hem satırların hem de sütunların
kendi aralarında yer değiştirmeleri durumuna ise
tam pivotlama denir.
Ancak, çoğunlukla kısmi pivotlama kullanılır.
Example:
Aşağıda verilen denklem sistemini Gauss
eleminasyon yöntemi ile çözünüz?
Solution:
Denklem sistemi dizey notasyonunda
yazılırsa,
Adım 1:
Dizeyin ve karşılık gelen vektörün birinci satırı
a1,1’ e bölünür.
Adım 2:
İkinci satırın birinci elemanı, a2,1 dizeyin
ve karşılık gelen vektörün birinci satır ile
çarpılarak ikinci satırdan çıkartılır.
Adım 3:
Üçüncü satırın birinci elemanı, a3,1 birinci
satır ve karşılık gelen vektörün birinci
satırı ile çarpılarak üçüncü satırdan
çıkartılır.
Bu adım sonunda katsayı dizeyinin birinci sütunu
sıfırlanmış olur.
Bu aşamadan sonra a2,2 ikinci satıra ve karşılık
gelen vektörün ikinci satırına bölünür.
Benzer şekilde a3,2 ikinci satır ve karşılık
gelen vektörün ikinci satırı ile çarpılır ve
üçüncü satırda çıkartılır.
Son olarak a3,3 üçüncü satır ve karşılık
gelen vektörün üçüncü satırına bölünerek
üst üçgen dizey elde edilmiş olur.
Bu aşamadan sonra son satırdan
başlayarak bilinmeyenler tek tek yerine
koymak suretiyle hesaplanır.
3. Tri-Diagonal (Üç-Köşegen) Matrisler
Definition (Tridiagonal Matrix):
An n×n matrix A is called a tridiagonal matrix
if ai,j=0 whenever
.
Diagonal (Köşegen) Matrisler, sadece köşeleri
üzerinde değer bulunan diğer elemanları sıfır
(0) olan matrise denir.
Üç-Köşegen Matris ise köşegen ve köşegenin alt
ve üstündeki köşegen değerleri hariç, diğer
elemanları sıfır (0) olan matrislerdir.
Tri-Diagonal Matris
Tridiagonal matris, köşegenlerinde ve
köşegen elemanlarının sağ ve solunda (veya
alt ve üstünde) birer tane eleman olan matris
xx.......
xxx......
..xxx....
....xxx..
......xxx
..........xx….. şeklindeki matrislerdir.
If A is tridiagonal, then a tridiagonal system is
A tri-diagonal linear system can be
written in the form
Konuyla Alakalı Alt Program
Mathematica Subroutine (tri-diagonal linear system)
Example:
31x31’lik bir A matrisi olsun.
iken AX=B lineer sistemini
ondalık aritmetik kullanarak çözelim.
Solution
The column form for B is:
The matrix A can be constructed with the command.
We can print out the system to be solved if we wish.
Solve the system Mathematica's built
in LinearSolve[A,B] procedure.
4. The Matrix Inverse (TERS MATRİS)
nxn’lik bir A kare matris varsayalım. Bu
matrisin ek matrisinin o matrisin
determinantına bölünmesi ile elde
edilen matrise o matrisin ters matrisi
denir.
ile gösterilir.
Gauss yok etme yöntemiyle bir matrisin tersini bulmak için önce matris
sağa genişlemiş matris olarak tanımlanır. Sağa genişleme, tersi bulunacak
matrisin sağına eşit boyutlu bir birim matris eklemekle yapılır.
Eğer a matrisi (nxn) boyutlu bir matrisse, bunun sağına yine aynı boyutta
bir birim matris eklenerek [A|I] şeklinde (nx2n) boyutlu matris
oluşturulacaktır.
Konuyla Alakalı Alt Program
Mathematica Subroutine
(Complete Gauss-Jordan Elimination)
Example
Use Gauss-Jordan elimination to find the
inverse of the matrix.
Solution
Enter the matrix A and the augmented
matrix
.
Form the augmented matrix
Get the inverse of A out of this augmented(arttırılmış)
matrix, and store it in the matrix B.
5- LU Factorization (Lu Ayrıştırma)
The nonsingular matrix A has an LUfactorization if it can be expressed as
the product of a lower-triangular matrix
L and an upper triangular matrix U:
A=LU
Bir denklem takımının çözülmesi için Gaussjordan yöntemine göre daha karmaşıkça
görünen fakat daha verimli bir yöntem kısa
adıyla LU ayrıştırma yöntemidir.
Gerçekte LU ayrıştırma yöntemi, bir matrisin
çarpanlara ayrılması esasına dayanır. Fakat
matrisler, bu yöntemde rastgele veya keyfi
çarpanlara değil, alt üçgen L ve üst üçgen U
matrislerden oluşan çarpanlara ayrılacaktır.
M bilinmeyenli bir AX=B denklem takımını alalım.
Katsayılar matrisi A, (MxM) boyutlu bir matristir
ve bu matris;
A=LU biçiminde yazılabilir. Eğer, L ve
U matrisleri elde edilebilirse denklem takımı;
LUx=b olarak yazılır.
Bu denklem yeniden düzenlenerek;L(Ux)=Ly=b
sonucu elde edilecektir. (Ux=y alınmıştır.)
Böylece işlem, eşitliğin sol tarafında Ux=y
tanımının yapılmasıyla devam edecek, sonra
da sol tarafta alt üçgen matrisin olması
nedeniyle geriye doğru yerine koyma işlemi
yapılarak çözüm elde edilecektir.
Bu yöntemde bütün işlem, A=LU eşitliğini
sağlayan L ve U matrislerinin bulunması
üzerine kurulmuştur.
Şemalize edilmiş hali
Mathematica Subroutine
(LandU)
Example
Given
.
Find matrices L and U so that LU = A.
Solution
Use the LandU subroutine and construct matrices L and U so that LU = A.
Does L.U = A ?
6. Jacobi and Gauss-Seidel Iteration
a. Jacobi:
Consider that the n×n square matrix A is
split into three parts, the main diagonal
D, below diagonal L and above diagonal
U.
We have A = D - L - U.
Konuyla Alakalı Alt Programlar
Mathematica Subroutine (Jacobi Iteration)
1
2
3
Example
Use Jacobi iteration to solve the linear system
Solution
Enter the matrix A, vector B and starting
vector P.
Determine if the method has converged.
Use 20 iterations.
Determine if the method has converged.
Use 30 iterations.
Determine if the method has converged.
b. Gauss-Seidel İterasyon Yöntemi:
The solution to the linear system AX=B
can be obtained starting with P0, and
using iteration scheme.
Konuyla Alakalı Alt Programlar
Mathematica Subroutine
(Gauss-Seidel Iteration)
1
2
Example
Use Gauss-Seidel iteration to solve the
linear system
Enter the matrix A, vector B and starting vector P.
Use 10 iterations.
Use 20 iterations.
-- SON --