← Computers & Automation

KÖKLERİ BULMAK İÇİN BİR BİLGİSAYAR PROGRAMI

B
Bilinmeyen Yazar
1956 · Computers and Automation

Andrew D. Booth, Direktör
Birkbeck College Hesaplama Laboratuvarı
Londra Üniversitesi
Londra, W.C.1, İngiltere

Son yıllarda otomatik programlama konusunda önemli ölçüde tartışma yapılmıştır. Ne yazık ki bu konudaki yayımlanmış verilerin çoğu çok genel nitelikte olmuş ve gerçek bir otomatik programın fiilen nasıl çalıştığına ilişkin çok az bilgi vermiştir.

Bu makalenin amacı, bu laboratuvarda bulunan elektronik dijital bir bilgisayar olan A.P.E.(X.)C. üzerinde polinomların gerçek köklerinin incelenmesi için kullanılmış bir programı açıklamaktır. Bu özel programın “otomatik” olarak adlandırılabilmesine yönelik tek iddia, verilen katsayılardan polinomun derecesini belirlemesi ve ön bir tarama yaptıktan sonra kökleri hassas biçimde saptamasıdır.

Başlangıçta birleşik hiper geometrik fonksiyonlar ₁F₁(a,1,z) için, a = −1, −2, −3, vb. olacak şekilde kökleri değerlendirmek üzere tasarlandığından, köklerin gerçek ve pozitif olduğu güvence altındadır ve makine bunların tümü belirlendiğinde otomatik olarak durur.

Tek insan müdahalesi, katsayıları içeren bandın okuyucuya yerleştirilmesidir ve program, derecesi 31’i aşmayan polinomlarla çalışabilecek kapasitededir. Bu noktadan sonra işlem bütünüyle otomatiktir.


İşleyişin Özeti

  1. Makine, verileri ondalık–ikili dönüşüm alt yordamından geçirerek bandı katsayı depolama konumlarına okur.
  2. Aynı zamanda katsayıların sayısını (n + 1) sayar ve bu yolla polinomun derecesini (n) belirler.
  3. (2)’de elde edilen sayım değeri ile polinom değerlendirme yordamı, yalnızca (n + 1) giriş katsayısını kullanacak biçimde ayarlanır.
  4. Program, polinom P(z)’yi şu aralıklarla değerlendirir:

z = 0, 2⁻², 2·2⁻², 3·2⁻², … , n·2⁻²

  1. Makine, P(z)’nin en son değerinin işaretini daha önce hesaplanan değerin işaretiyle karşılaştırır. Bir işaret değişimi oluşmuşsa, kesin kökü bulmaya yönelik program uygun şekilde değiştirilir.
  2. Kök, ardışık deneme ve karşılaştırma yoluyla 31 bitlik hassasiyette değerlendirilir ve kökün değeri ile artık P(zᵣ) yazdırılır.
  3. z ve P(z) değerleri yazdırılır ve program 4. adıma geri döner.

Sonuçların −1 ≤ z ≤ 1 aralığında kalması için z’ye ve katsayılara uygun ölçekleme katsayıları uygulanır. İstenirse, hızdan ödün verme pahasına kayan nokta yordamları kullanılabilir.

Çoğu okuyucu A.P.E.(X.)C. koduna aşina olmayacağından, program, kolayca makine koduna dönüştürülebilmesi için sözel biçimde yazılmıştır.


(Ayrıntılı depolama konumları ve komut listeleri, özgün metindeki gibi devam eder.)

Kök sayım değerinden bir çıkarılır.

Sonuç sınanır; pozitif ise C.I.O.’ya geçilir; negatif ise 0.17’ye geçilir.

Dur.