İçeriğe atla

Jacobi metodu

Jacobi metodu (diğer adıyla Jacobi yinelemeli metodu[1]), sayısal lineer cebirde lineer denklemlerin diyagonal olarak baskın sistemlerin çözümlerinin belirlenmesi için oluşturulmuş bir algoritmadır. Her diyagonal eleman tek tek çözülür ve yaklaşık bir değer olarak alınır. Bu aşama onlar yakınsayana kadar tekrarlanır. Bu algoritma matris köşegenleştirilmesi Jacobi dönüşüm metodunun (diğer adıyla Jacobi özdeğer algoritmasının) sadeleştirilmiş şeklidir. Bu metot daha sonra Carl Gustav Jacob Jacobi olarak isimlendirilmiştir.

Açıklama

n lineer denklemli bir kare sistemi verilmiş olsun.

A matrisi diyagonal (D) ve geriye kalan (R) bileşenlerine ayrılır.

Bu çözüm daha sonra : aracılığıyla yinelemeli olarak elde edilir. Eleman tabanlı formül böylece : olur. xi(k+1) hesaplanması kendisi dışında x(k)'daki her elemanı gerektirir. Gauss-Seidel yönteminin aksine, xi(k) ile xi(k+1)'yi, hesaplamanın geri kalanı tarafından ihtiyaç duyulacak değer olarak üzerine yazamayız. Minimum saklama miktarı, büyüklüğü n olan iki vektördür.

Algoritma

için bir başlangıç tahmini seçelim.
k=0
while (yakınsama ulaşamamış) do
for (i:=1; i<n) do
for (j:=1; j<n) do
if ( j≠i) then
end if
end (j döngüsü)
check (yakınsama ulaşmış?)
end (while döngüsü)

Yakınsama

Standart yakınsama durumu (her tekrarlamalı metot için) yineleme matrisinin spektral yarıçapı en az bir olmasıdır.

A matrisi kesin ve indirgenemez bir şekilde diyagonal olarak baskın ise bu yöntem yakınsama garantilidir. Kesin olan satırın diyagonal baskınlığı, her satır için diyagonal terimin mutlak değerinin, diğer terimlerin mutlak değerlerinin toplamından büyük olmasıdır.

Jacobi metodu bazen bu şartlar sağlanmasa bile yakınsar.

Örnek

başlangıç değerli formundaki lineer sisteminde

olarak veriliyor. X' i tahmin etmek için yukarıda tanımlanmış , denklemini kullanırız. İlk olarak; denklemi ve olduğu yerde daha uygun formda yazarız: L ve U, A matrisinin kesin alt ve üst kısımları olduğu yerde 'dur. Bilinen değerlerden; : olarak tanımlayabiliriz.

Ayrıca, : olarak buluruz. Hesaplanan T ve C ile x'i as : olarak tahmin ederiz.

Bir sonraki yineleme bize

verir. Bu aşama yakınsayana kadar tekrarlanır ( küçük değer alana kadar). 25 yineleme sonra çözüm:

Başka bir örnek

Aşağıdaki lineer sistemin verildiğini varsayalım:

Başlangıç tahmini olarak (0, 0, 0, 0) alalım, ardından ilk tahminimiz:

olacaktır. Elde edilen tahminleri kullanarak, istenilen doğruluğa ulaşıncaya kadar yineleme işlemi tekrarlanır. Beş iterasyon sonra yaklaşık çözümler şunlardır:

Sistemin tam çözümü ise (1, 2, −1, 1) olur.

Python 3 ve Numpy kullanılarak yapılmış bir örnek

Aşağıdaki sayısal işlem çözüm vektörü oluşturmak için yinelenir.

import numpy as np

ITERATION_LIMIT = 1000

# initialize the matrix
A = np.array([[10., -1., 2., 0.],
              [-1., 11., -1., 3.],
              [2., -1., 10., -1.],
              [0.0, 3., -1., 8.]])
# initialize the RHS vector
b = np.array([6., 25., -11., 15.])

# prints the system
print("System:")
for i in range(A.shape[0]):
    row = ["{}*x{}".format(A[i, j], j + 1) for j in range(A.shape[1])]
    print(" + ".join(row), "=", b[i])
print()

x = np.zeros_like(b)
for it_count in range(ITERATION_LIMIT):
    print("Current solution:", x)
    x_new = np.zeros_like(x)

    for i in range(A.shape[0]):
        s1 = np.dot(A[i, :i], x[:i])
        s2 = np.dot(A[i, i + 1:], x[i + 1:])
        x_new[i] = (b[i] - s1 - s2) / A[i, i]

    if np.allclose(x, x_new, rtol=1e-10):
        break

    x = x_new

print("Solution:")
print(x)
error = np.dot(A, x) - b
print("Error:")
print(error)

Aşağıdaki çıktıyı üretir:

System:
10.0*x1 + -1.0*x2 + 2.0*x3 + 0.0*x4 = 6.0
-1.0*x1 + 11.0*x2 + -1.0*x3 + 3.0*x4 = 25.0
2.0*x1 + -1.0*x2 + 10.0*x3 + -1.0*x4 = -11.0
0.0*x1 + 3.0*x2 + -1.0*x3 + 8.0*x4 = 15.0

Current solution: [ 0.  0.  0.  0.]
Current solution: [ 0.6         2.27272727 -1.1         1.875     ]
Current solution: [ 1.04727273  1.71590909 -0.80522727  0.88522727]
Current solution: [ 0.93263636  2.05330579 -1.04934091  1.13088068]
Current solution: [ 1.01519876  1.95369576 -0.96810863  0.97384272]
Current solution: [ 0.9889913   2.01141473 -1.0102859   1.02135051]
Current solution: [ 1.00319865  1.99224126 -0.99452174  0.99443374]
Current solution: [ 0.99812847  2.00230688 -1.00197223  1.00359431]
Current solution: [ 1.00062513  1.9986703  -0.99903558  0.99888839]
Current solution: [ 0.99967415  2.00044767 -1.00036916  1.00061919]
Current solution: [ 1.0001186   1.99976795 -0.99982814  0.99978598]
Current solution: [ 0.99994242  2.00008477 -1.00006833  1.0001085 ]
Current solution: [ 1.00002214  1.99995896 -0.99996916  0.99995967]
Current solution: [ 0.99998973  2.00001582 -1.00001257  1.00001924]
Current solution: [ 1.00000409  1.99999268 -0.99999444  0.9999925 ]
Current solution: [ 0.99999816  2.00000292 -1.0000023   1.00000344]
Current solution: [ 1.00000075  1.99999868 -0.99999899  0.99999862]
Current solution: [ 0.99999967  2.00000054 -1.00000042  1.00000062]
Current solution: [ 1.00000014  1.99999976 -0.99999982  0.99999975]
Current solution: [ 0.99999994  2.0000001  -1.00000008  1.00000011]
Current solution: [ 1.00000003  1.99999996 -0.99999997  0.99999995]
Current solution: [ 0.99999999  2.00000002 -1.00000001  1.00000002]
Current solution: [ 1.          1.99999999 -0.99999999  0.99999999]
Current solution: [ 1.  2. -1.  1.]
Solution:
[ 1.  2. -1.  1.]
Error:
[ -2.81440107e-08   5.15706873e-08  -3.63466359e-08   4.17092547e-08]

Ağırlıklı Jacobi yöntemi

Ağırlıklı Jacobi yinelemesi : yinelemesini olağan seçenek olan ile hesaplarkenw parametresini kullanır.[2]

Son gelişmeler

2014 yılında planlanmış relaksasyon Jacobi yöntemi adıyla anılan bir algoritma düzeltmesi yayımlandı.[1][3] Bu yeni yöntem bir üst ve alt relaksasyon programı kullanır ve büyük iki ve üç boyutlu Kartezyen örgülerle ayrıştırılmış eliptik denklemlerin çözümünde iki yüz kat performans artışı sağlar.

Kaynakça

  1. ^ a b "19th century math tactic gets a makeover—and yields answers up to 200 times faster". Douglas, Man Adası: Phys.org. 30 Haziran 2014. 6 Temmuz 2014 tarihinde kaynağından arşivlendi. Erişim tarihi: 1 Temmuz 2014. 
  2. ^ Saad, Yousef (2003). Iterative Methods for Sparse Linear Systems (2 bas.). SIAM. s. 414. ISBN 0898715342. 
  3. ^ Yang, Xiang; Mittal, Rajat (27 Haziran 2014). "Acceleration of the Jacobi iterative method by factors exceeding 100 using scheduled relaxation". Journal of Computational Physics. doi:10.1016/j.jcp.2014.06.010. 

İlgili Araştırma Makaleleri

<span class="mw-page-title-main">Vektör</span> büyüklüğü (veya uzunluğu) ve yönü olan geometrik nesne

Matematik, fizik ve mühendislikte, Öklid vektörü veya kısaca vektör sayısal büyüklüğü ve yönü olan geometrik bir objedir. Vektör, genellikle bir doğru parçası ile özdeşleştirilir. Bir başlangıç noktası A ile bir uç noktası B'yi birleştiren bir ok şeklinde görselleştirilir ve ile belirtilir.

Doğrusal dönüşüm, bir fonksiyon çeşididir. T, M boyutlu bir vektörden N boyuta bir doğrusal dönüşüm ise, o zaman;

<span class="mw-page-title-main">Matris (matematik)</span>

Matematikte matris veya dizey, dikdörtgen bir sayılar tablosu veya daha genel bir açıklamayla, toplanabilir veya çarpılabilir soyut miktarlar tablosudur. Dizeyler daha çok doğrusal denklemleri tanımlamak, doğrusal dönüşümlerde çarpanların takibi ve iki parametreye bağlı verilerin kaydedilmesi amacıyla kullanılırlar. Dizeylerin toplanabilir, çıkartılabilir, çarpılabilir, bölünebilir ve ayrıştırılabilir olmaları, doğrusal cebir ve dizey kuramının temel kavramı olmalarını sağlamıştır.

Matematikte karmaşık sayı, bir gerçel bir de sanal kısımdan oluşan bir nesnedir. a ve b sayıları gerçek olursa karmaşık sayılar şu biçimde gösterilirler:

Olasılık kuramı ve istatistik bilim kollarında, çokdeğişirli normal dağılım veya çokdeğişirli Gauss-tipi dağılım, tek değişirli bir dağılım olan normal dağılımın çoklu değişirli hallere genelleştirilmesidir.

<span class="mw-page-title-main">Doğrusal denklem dizgesi</span>

Doğrusal denklem dizgesi, birkaç tane aynı tip değişkenleri içeren birkaç tane doğrusal denklemlerin oluşturduğu topluluktur. Örneğin:

<span class="mw-page-title-main">Kovaryans matrisi</span>

İstatistik'te, kovaryans matrisi, rassal vektörlerin elemanları arasındaki kovaryansları içeren matristir. Kovaryans matrisi, skaler-değerli rassal değişkenler için var olan varyans kavramının çok boyutlu durumlara genelleştirilmesidir.

Bu sayfa, k değişkenli bir VAR(p) sürecinin farklı matris gösterimlerinin ayrıntılarıdır.

<span class="mw-page-title-main">Boşuzay</span>

Doğrusal cebirde, bir matrisinin boşuzayı (kernel, null space) bağıntısını sağlayan tüm vektörlerinin oluşturduğu kümedir. Bir matrisinin 'boşuzay' boyutu, matrisine çarpıldığında sıfır sonucunu veren birbirinden bağımsız yöneylerine göre hesaplanır.

Fizikte, Lorentz dönüşümü adını Hollandalı fizikçi Hendrik Lorentz'den almıştır. Lorentz ve diğerlerinin referans çerçevesinden bağımsız ışık hızının nasıl gözlemleneceğini açıklama ve elektromanyetizma yasalarının simetrisini anlama girişimlerinin sonucudur. Lorentz dönüşümü, özel görelilik ile uyum içerisindedir. Ancak özel görelilikten daha önce ortaya atılmıştır.

Doğrusal cebirde sütun vektör veya sütun matris, m × 1 matrisidir. Örneğin; tek bir m sütunundan oluşan bir matris şöyle ifade edilir;

<span class="mw-page-title-main">Kare matris</span>

Doğrusal cebirde, kare matris, satır ve sütun sayıları eşit olan bir matrisdir. n ye n lik bir matris, boyutu n olan bir kare matris olarak bilinir. Aynı boyuta sahip herhangi iki matriste, toplama ve çarpma işlemleri yapılabilir.

Doğrusal cebirde, satır vektör veya satır matris, 1 × m matrisidir. Örneğin; tek bir m sütunundan oluşan bir matris şöyle ifade edilir;

Doğrusal cebirde veya daha genel ifade ile matematikte matris çarpımı, bir matris çiftinde yapılan ve başka bir matris üreten ikili işlemdir. Reel veya karmaşık sayılar gibi sayılarda temel aritmetiğe uygun olarak çarpma yapılabilir. Başka bir ifade ile matrisler, sayı dizileridir. Bu yüzden, matris çarpımını ifade eden tek bir yöntem yoktur. "Matris çarpımı" terimi çoğunlukla, matris çarpımının farklı yöntemlerini ifade eder. Matris çarpımının anahtar özellikleri şunlardır: Asıl matrislerin satır ve sütun sayıları, ve matrislerin girişlerinin nasıl yeni bir matris oluşturacağıdır.

Doğrusal cebirde veya daha genel ifade ile matematikte matris toplamı, iki matrisin ilgili girişlerinin eklenmesi işlemidir. Matrisler için diğer bir toplama işlemi türü doğrudan toplamdır.

Successive Over-Relaxation (SOR) lineer denklem sistemlerini çözmek ve sonuca daha hızlı yakınsamak için sayısal lineer cebirde kullanılan bir çeşit Gauss-Seidel metodudur. Daha yavaş yakınsamalar içinse benzer bir metot olan iterative metot kullanılır.

<span class="mw-page-title-main">Hesse matrisi</span>

Matematikte, Hesse matrisi bir skaler değerli fonksiyonun ya da skaler alanın ikinci-dereceden kısmi türevlerinden oluşan kare matristir. Çok değişkenli bir fonksiyonun yerel eğriliğini ifade eder. Hesse matrisi, 19. yüzyılda Alman matematikçi Otto Hesse tarafından bulunmuştur ve ismini bu kişiden alır. Hesse'nin ilk kullandığı terim fonksiyonel determinantlardır.

<span class="mw-page-title-main">Jacobi matrisi</span>

Vektör hesabında, Jacobi matrisi bir vektör-değerli fonksiyonun bütün birinci-derece kısmi türevlerini içeren matristir. Bu matris bir kare matris olduğunda, yani fonksiyonun girdi sayısı çıktı sayısının vektör bileşenleriyle aynı sayıdaysa, bu matrisin determinantı Jacobi determinantı olarak adlandırılır. Literatürde sıklıkla Jacobi olarak anılır.

<span class="mw-page-title-main">Birim matris</span> asal köşegendeki sayıları bir, diğer sayıları sıfır olan kare matris

Lineer cebirde, n boyutlu birim matris, ana köşegeni birlerden ve diğer elemanları sıfırlardan oluşan n × n boyutlu bir kare matristir. In ya da sadece I ile gösterilir. Kuantum mekaniği gibi bazı alanlarda, birim matris kalın bir rakamı 1 ile de gösterilir. Nadiren, bazı kitaplarda İngilizce ve Almanca kelimelerin baş harfleri olan U ya da E ile gösterildiği olur.

Lineer cebirde, özdeğer ayrışımı ya da eigen ayrışımı, bir matrisin özdeğerleri ve özvektörleri cinsinden ifade edilen daha basit matrislere ayrıştırılmasıdır. Sadece kare matrisler özdeğerlerine ayrıştırılabilir.