Özel numara alan eleği - Special number field sieve

İçinde sayı teorisi bir dalı matematik, özel numara alan eleği (SNFS) özel amaçlıdır tamsayı çarpanlara ayırma algoritması. genel sayı alanı eleği (GNFS) ondan türetildi.

Özel sayı alan eleği, formun tam sayıları için etkilidir re ± s, nerede r ve s küçüktür (örneğin Mersenne numaraları ).

Sezgisel olarak, onun karmaşıklık bir tamsayıyı çarpanlarına ayırmak için şu biçimde:[1]

içinde Ö ve L notasyonları.

SNFS, NFSNet (bir gönüllü dağıtılmış hesaplama çaba), NFS @ Ana Sayfa ve diğerleri sayıları çarpanlara ayırmak için Cunningham projesi; bir süredir tamsayı çarpanlara ayırma kayıtları sayılar SNFS tarafından çarpanlara ayrılmıştır.

Yönteme genel bakış

SNFS, çok daha basit olana benzer bir fikre dayanmaktadır. rasyonel elek; özellikle okuyucular, rasyonel elek SNFS ile uğraşmadan önce.

SNFS aşağıdaki gibi çalışır. İzin Vermek n çarpanlarına ayırmak istediğimiz tam sayı olabilir. Olduğu gibi rasyonel elek SNFS, iki adıma ayrılabilir:

  • İlk olarak, bir arasında çok sayıda çarpımsal ilişki bulun faktör tabanı öğelerinin Z/nZ, çarpımsal ilişkilerin sayısı faktör tabanındaki öğelerin sayısından daha büyük olacak şekilde.
  • İkincisi, bu ilişkilerin alt kümelerini, tüm üsler eşit olacak şekilde çarpın, bu da formun uyumlu oluşuyla sonuçlanır. a2b2 (mod n). Bunlar da hemen çarpanlara n: n=gcd (a+b,n) × gcd (a-b,n). Doğru yapılırsa, böylesi en az bir çarpanlara ayırmanın önemsiz olacağı neredeyse kesindir.

İkinci adım, durum ile aynıdır. rasyonel elek ve basittir lineer Cebir sorun. İlk adım, ancak, farklı, daha fazla verimli rasyonel elek yerine, kullanarak sayı alanları.

Yöntemin ayrıntıları

İzin Vermek n çarpanlarına ayırmak istediğimiz tam sayı olabilir. Bir indirgenemez polinom f tamsayı katsayıları ve bir tamsayı ile m öyle ki f(m)≡0 (mod n) (sonraki bölümde nasıl seçildiklerini açıklayacağız). İzin Vermek α olmak kök nın-nin f; daha sonra oluşturabiliriz yüzük Z[α]. Benzersiz bir halka homomorfizmi φ dan Z[α] için Z/ nZ bu haritalar α -e m. Basit olması için, bunu varsayacağız Z[α] bir benzersiz çarpanlara ayırma alanı; algoritma, çalışmadığı zaman çalışacak şekilde değiştirilebilir, ancak bazı ek zorluklar ortaya çıkar.

Sonra, iki paralel kurarız faktör tabanları, bir tane Z[α] ve biri Z. İçinde biri Z[α] tüm temel ideallerden oluşur Z[α] normu seçilen bir değerle sınırlanan . Faktör tabanı Zrasyonel elek durumunda olduğu gibi, başka bir sınıra kadar tüm asal tam sayılardan oluşur.

Sonra ararız nispeten asal tam sayı çiftleri (a,b) öyle ki:

  • a+bm dır-dir pürüzsüz faktör tabanına göre Z (yani, faktör tabanındaki öğelerin bir ürünüdür).
  • a+ faktör tabanına göre pürüzsüzdür Z[α]; Faktör tabanını nasıl seçtiğimiz göz önüne alındığında, bu, normuna eşdeğerdir a+ sadece daha küçük asallarla bölünebilme .

Bu çiftler, bir eleme işlemiyle bulunur. Eratosthenes Elek; bu, "Numara Alanı Elek" adını motive eder.

Böyle her bir çift için, halka homomorfizmini φ, çarpanlara uygulayabiliriz. a+ve kanonik halka homomorfizmini şu kaynaklardan uygulayabiliriz: Z -e Z/ nZ çarpanlara ayırmak a+bm. Bunları eşit olarak ayarlamak, daha büyük bir faktör tabanına sahip öğeler arasında çarpımsal bir ilişki verir. Z/ nZve yeterli sayıda çift bulursak ilişkileri ve faktörü birleştirmeye devam edebiliriz n, yukarıda tanımlandığı gibi.

Parametrelerin seçimi

Her sayı SNFS için uygun bir seçim değildir: önceden bir polinomu bilmeniz gerekir f uygun derecede (en uygun derecenin , küçük katsayılarla ve bir değerle şu anda çarpanlara ayrılması mümkün olan N boyutları için 4, 5 veya 6'dır x öyle ki N çarpanlara ayrılacak sayıdır. Ek bir koşul var: x tatmin etmeli a ve b için büyük değil .

Bu tür polinomların var olduğu bir dizi sayı, gelen numaralar Cunningham masaları; örneğin, NFSNET 3 ^ 479 + 1 çarpanını kullandığında, (3 ^ 80) ^ 6 + 3 = 3 ^ 480 + 3 olduğundan, x ^ 6 + 3 polinomunu x = 3 ^ 80 ile kullandılar ve .

Doğrusal tekrarlarla tanımlanan sayılar, örneğin Fibonacci ve Lucas sayılar, SNFS polinomlarına da sahiptir, ancak bunları oluşturmak biraz daha zordur. Örneğin, polinomlu ve değeri x tatmin eder .[2]

Büyük bir SNFS numarasının bazı faktörlerini zaten biliyorsanız, kalan kısmı SNFS hesaplama modulounu yapabilirsiniz; Yukarıdaki NFSNET örneği için, 3 ^ 479 + 1 = (4 * 158071 * 7167757 * 7759574882776161031) çarpı 197 basamaklı bir bileşik sayının (küçük faktörler, ECM ) ve SNFS, 197 basamaklı sayı modulo gerçekleştirildi. SNFS'nin gerektirdiği ilişki sayısı hala büyük sayının boyutuna bağlıdır, ancak bireysel hesaplamalar daha küçük sayıya göre daha hızlı modülo.

Algoritmanın sınırlamaları

Bu algoritma, yukarıda belirtildiği gibi, form sayıları için çok etkilidir re±s, için r ve s nispeten küçük. Aynı zamanda, küçük katsayılara sahip bir polinom olarak temsil edilebilen tüm tam sayılar için de etkilidir. Bu, daha genel formdaki tam sayıları içerir are±bsfve ayrıca ikili gösterimi düşük Hamming ağırlığına sahip birçok tamsayı için. Bunun sebebi ise şu şekildedir: Numara Alanı Eleği iki farklı alanda eleme yapmaktadır. İlk alan genellikle rasyoneldir. İkincisi, daha yüksek dereceli bir alandır. Algoritmanın etkinliği büyük ölçüde bu alanlardaki belirli öğelerin normlarına bağlıdır. Bir tam sayı küçük katsayılara sahip bir polinom olarak temsil edilebildiğinde, ortaya çıkan normlar, bir tam sayı genel bir polinom ile temsil edildiğinde ortaya çıkanlardan çok daha küçüktür. Bunun nedeni, genel bir polinomun çok daha büyük katsayılara sahip olması ve normların buna göre daha büyük olmasıdır. Algoritma, bu normları sabit bir asal sayılar kümesi üzerinden çarpanlarına ayırmaya çalışır. Formlar daha küçük olduğunda, bu sayıların faktörlere ayrılma olasılığı daha yüksektir.

Ayrıca bakınız

Referanslar

  1. ^ Pomerance, Carl (Aralık 1996), "İki Elek Hikayesi" (PDF), AMS'nin Bildirimleri, 43 (12), s. 1473–1485
  2. ^ Franke, Jens. "Ggnfs-lasieve4 için kurulum notları". MIT Massachusetts Teknoloji Enstitüsü.

daha fazla okuma