Pivot eleman

Vikipedi, özgür ansiklopedi
Atla: kullan, ara

Pivot ya da pivot element algoritmaların bir matris, dizi veya bir tür sonlu küme içinden, bir hesaplamada (ör. Gauss eleminasyonu, Hızlı Sıralama, Simpleks algoritması vb.) kullanılmak üzere seçtiği ilk elemandır. Matris algoritmaları için pivotun en azından sıfırdan farklı olması istenir ve genellikle sıfırdan uzak bir değer seçilir. Bu durumda algoritmanın düzgün çalışması için uygun pivot seçiminde satır veya sütunlar aralarında yer değiştirtilebilir.

Hızlı Sıralamada pivot eleman bölümleme için seçilen sınır değeridir. Algoritma tüm elemanları pivota göre özyineleme yaparak sıralar.

Pivot seçimi algoritmaya daha fazla işlem ekler ve hesaplama maliyetini artırır. Eklenen bu işlemler bazı durumlarda algoritmanın çalışması için olmazsa olmazdır. Diğer durumlarda da eklemeler, ulaşılan sonuçlarda sayısal kararlılık sağladığı için değerlidir.

Pivot seçimi gerektiren sistem örnekleri[değiştir | kaynağı değiştir]

Gauss eleminasyonunda algoritma sıfırdan farklı bir pivot elemana ihtiyaç duyar. Pivotun sıfıra eşit olmasını engellemek için satır ve sütunlarda yer değişimi gerekli hale gelebilir. Örneğin aşağıdaki sistem eleminasyonun yapılabilmesi için 2. ve 3. satırların birbiriyle değiştirmesini gerektirmektedir.


\left[ \begin{array}{ccc|c}
1 & -1 & 2 & 8 \\
0 & 0 & -1 & -11 \\
0 & 2 & -1 & -3
\end{array} \right]

Değişimden sonra oluşan sistem eleminasyon algoritmasının çalışmasına ve ters alma işleminin sonuca ulaşmasına olanak tanır. Satır değişiminden sonra sistem aşağıdaki hali alır.


\left[ \begin{array}{ccc|c}
1 & -1 & 2 & 8 \\
0 & 2 & -1 & -3 \\
0 & 0 & -1 & -11
\end{array} \right]

Bunlara ek olarak, Gauss eleminasyonunda genellikle pivot elemanının mutlak değerinin büyük olması istenir. Bu sayısal kararlılığı artırır. Örneğin aşağıdaki sisteme Gauss eleminasyonu ve oranlama uygulandığında büyük yuvarlama hataları alınmaktadır.


\left[ \begin{array}{cc|c}
0,00300 & 59,14 & 59,17 \\
5,291 & -6,130 & 46,78 \\
\end{array} \right]

Bu sistemin tam çözümleri x1 = 10,00 and x2 = 1,000'dir; fakat dört basamakla eleminasyon ve geri oranlama yapıldığında a11'in küçük olması yuvarlama hatalarını ortaya çıkarır. Uygun pivot seçimi yapılmadan algoritmanın ulaştığı sonuçlar x1 ≈ 9873,3 and x2 ≈ 4'tür. Bu durumda iki satır yer değiştirilerek a21'in pivot pozisyonuna gelmesi tercih edilir.


\left[ \begin{array}{cc|c}
5,291 & -6,130 & 46,78 \\
0,00300 & 59,14 & 59,17 \\
\end{array} \right].

Değişim sonucu oluşan sistem ele alındığında, dört değerle algoritma uygulandığında doğru sonuçlar olan x1 = 10,00 ve x2 = 1,000 elde edilmektedir.

Kısmi ve tam pivot seçimi[değiştir | kaynağı değiştir]

Kısmi pivot seçiminde algoritma matrisin sütunundaki en yüksek mutlak değere sahip girişi pivot eleman olarak belirler. Bu tür seçim yuvarlama hatalarının kabul edilebilir düzeye düşürülmesinde genellikle yeterli olur. Ancak bazı sistemler ve algoritmalarda gerekli değerlere ulaşabilmek için tam pivot seçimi (ya da maksimum pivot seçimi) kullanılmak zorunda kalınabilir. Bu seçimde ise matrisin tüm elemanları değerlendirilir, satır ve sütunlar gerekirse değiştirilerek en yüksek doğruluğu verecek değer pivot olarak seçilmeye çalışılır. Çoğu zaman sonuçlarda kararlılığı sağlamak tam pivot seçimine gerek yoktur. Tam seçim daha fazla işlem gerektirdiğinden her durumda kullanılması gereken bir strateji değildir.

Ölçekli pivot seçimi[değiştir | kaynağı değiştir]

Kısmi seçimin bir türüne ölçekli pivot seçimi denir. Bu yaklaşımda algoritma, girişler içinde satırdaki diğer elemanlara kıyasla en büyük elemanı pivot olarak seçer. Bu metot girişlerin büyüklükleri arasında yuvarlama hatalarına yol açacak büyük farklar varsa tercih edilir. Ölçekli seçim aşağıdaki gibi satır girişleri arasında ciddi farklar olan sistemlerde kullanılmalıdır. Örnekte 30 girişi 5,291'den büyüktür ama iki satırın yer değiştirmesi istenir. Çünkü 5,291 değeri ölçekli seçime uygun şekilde satırdaki diğer elemanlara göre daha büyük farklar yaratır. Satırlar değiştirilmeden seçim yapılırsa önceki sistem gibi yuvarlama hataları görülecektir.


\left[ \begin{array}{cc|c}
30 & 591400 & 591700 \\
5,291 & -6,130 & 46,78 \\
\end{array} \right]

Kaynakça[değiştir | kaynağı değiştir]

Bu makale PlanetMath'deki Pivoting maddesinden GFDL lisansıyla faydalanmaktadır.