Pivot eleman

**Pivot** ya da **pivot element** algoritmaların bir matris, dizi veya bir tür sonlu küme içinden, bir hesaplamada (ör. Gauss eliminasyonu, 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
Gauss eliminasyonunda 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 eliminasyonun 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 eliminasyon 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 eliminasyonunda 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 eliminasyonu 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 eliminasyon 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
**Kısmi pivot seçimi**nde 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
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

* R. L. Burden, J. D. Faires, *Numerical Analysis*, 8th edition, Thomson Brooks/Cole, 2005. ISBN 0534392008
* G. H. Golub, C. F. Loan, *Matrix Computations*, 3rd edition, Johns Hopkins, 1996. ISBN 0801854148.
* 
*