Yazan : Şadi Evren ŞEKER
Pekçok temel bilim ve mühendislik için oldukça önemli olan polinomlar (çok terimliler) basitçe bir değerin tek bilinmyenli farklı üssel terimlerle ifade edilmesidir. Bir polinomda toplama, çıkarma ve çarpma işlemleri bulunabilir. Bir polinomun herhangi bir bilinmeyen değerinin bölme işleminde bölen olması (rasyonel sayının paydası olması) durumunda bu ifade polinom olmaktan çıkar.
Örneğin
3x2 + x/2 + 4 ifadesi bir polinomdur
3x2 + 2/x + 4 ifadesi ise bir polinom değildir çünkü bilinmeyen değer paydada gösterilmiştir.
Diğer bir ifadeyle polinomlardaki bilinmeyenlerin üstleri tam sayı olmalıdır.
Bir polinomun derecesi, polinomdaki en yüksek üstteki bilinmeyenin derecesi kadardır.
Örneğin
3x7 + 2x3 + 2x + 5
polinomunundaki en yüksek dereceli terim 3x7‘dir ve dolayısıyla polinomun derecesi 7’dir.
Polinom fonksiyonları
Bir polinomun fonksiyonel olarak gösterilmesi, bu polinomun belirli bir değer için çözümünün bulunması demektir.
Örneğin
f(x) = 3x2 + 5x + 7
olarak tanımlanmış bir fonksiyon, anlaşılacağı üzere bir polinom fonksiyonudur çünkü fonksiyonun tanımı bir polinom ile ifade edilmiştir. Fonksiyon çözümü ise değişken yerleştirerek yapılır.
Örneğin yukarıdaki fonksiyon için f(2) çözümü:
f(2) = 322 + 52 + 7
f(2) = 12 + 10 + 7
f(2) = 29
olarak bulunur.
Polinom gösterimleri
Polinomlar cebirsel olarak işlemlere tabi tutularak farklı gösterimlere sokulabilir.
Örneğin ( x + 1 ) 2 ifadesi bir polinomdur ve açıldığında
2x2 + 2x + 1 polinomu bulunur. Görüldüğü üzere iki farklı gösterim de aynı değeri ifade etmektedir.
Bu gösterimin yanında bilgisayar programlamasında kolaylık sağlaması açısından polinomlar sadece çarpanların tutulduğu diziler olarak da gösterilebilir.
Örneğin
2x2 + 2x + 1 polinomunu bir dizide (array) tutarken 2,2,1 olarak tutmak işlem kolaylığı sağlamaktadır.
Polinomlar yüksek dereceli terimden başlanarak tutulabileceği gibi düşük dereceli terimden başlanarak da tutulabilir.
Örneğin
2x2 + 2x + 1 polinomu bir önceki örneğe benzer şekilde 1,2,2 şeklinde en düşük dereceli terimden başlanarak da tutulabilir.
Yukarıdaki bu dizide tutma işlemlerinin bir dezavantajı eksik terimlerin yer kaplamasıdır.
Örneğin
2×7 + 2x +1 şeklindeki bir polinomu dizide tutarken 2,0,0,0,0,2,1 şeklinde tutmak gerekir. Burada aslında çarpanı 0 olan 6.,5.,4. ve 3. üs dereceleri de gösterilmek zorunda kalmıştır ve bu bilgi yer kaplar.
Bu boş bilginin tutulmasını engellemek için polinomların üst değerleri ile bilrlikte tutulması mümkündür.
Örneğin
2x22 + 2x11 + 2x + 2 polinomunu şu şekilde düşünebiliriz.
(( 2,22) , ( 2,11 ) , (2,1) , (2,0))
Yani değişkenin 22. kuvvetinin çarpanı 2’dir veya 0. kuvvetinin çarpanı 2’dir şeklinde gösterilebilir.
Burada dikkat edilirse bir önceki sıralı gösterime göre daha az yer kaplanmıştır (Sıralı gösterimde 22 terim tutulması gerekirken yukarıda sadece 8 terim tutulmuştur).
Yukarıdaki iç içe liste yapısı list (scheme) gibi programlama dillerinde kolaylıkla gösterilebilirken C,C++, C# veya JAVA gibi dillerde gösterim için dizi kullanma meburiyeti sonucunda örneğin bir dizinin tek elemanları ve çift elemanları yukarıdaki bilgiyi tutacak şekilde tasarlanabilir. Bu durumda yukarıdaki örnek polinomu aşağıdaki şekilde bir dizide (array) tutabiliriz:
2,22,2,11,2,1,2,0
Yukarıdaki dizide 0,2,4,6 gibi çift sayılı elemanlar çarpanları tutarken, 1,3,5,7 numaralı elemanlar üstleri tutmaktadır.