Luc-Lehmer-Riesel testi

Lucas-Lehmer-Riesel-testi ( LLR ) on primaliteettitesti muotoa c oleville numeroille (tällaisten lukujen osajoukkoa kutsutaan sabit-luvuiksi ). Hans Rieselin kehittämä ja Luc -Lehmerin testiin perustuva se on nopein deterministinen algoritmi tällaisille luvuille [1] .

Algoritmi

Algoritmi on hyvin samanlainen kuin Luc-Lehmer-testi, mutta alkaa arvolla, joka riippuu . Algoritmissa käytetään Lucas-sekvenssiä , joka saadaan kaavalla:

.

on alkuluku jos ja vain jos se jakaa .

Alkuarvon etsiminen

Vaihtoehtoinen menetelmä lähtöarvon löytämiseksi esitettiin vuonna 1994 [2] . Menetelmä on paljon yksinkertaisempi kuin Rieselin käyttämä tapaus, jossa 3 jakaa . Etsi vaihtoehtoisessa menetelmässä ensin arvo , joka täyttää seuraavan Jacobin symboliyhtälön :

ja .

Käytännössä vain muutama arvo on tarkistettava (5, 8, 9 tai 11 kattavat 85 %).

Alkuarvon saamiseksi voit käyttää Lucas-sekvenssiä [2] [3] . Arvolle 3 ∤ k (k ei ole jaollinen 3:lla) arvoa voidaan käyttää, eikä esihakua tarvita. Alkuarvo on tällöin yhtä suuri kuin Lucas-sekvenssi modulo . Tämä prosessi vie hyvin vähän aikaa verrattuna päätestiin.

Testin mekanismi

Luc-Lehmer-Riesel-testi on erityinen tapaus tarkistaa ryhmän järjestyksen yksinkertaisuus. Testi osoittaa, että tietty luku on alkuluku, koska tietyllä ryhmällä on järjestys, joka olisi yhtä suuri kuin tämä alkuluku, jolle tunnistetaan ryhmän elementti, jolla on täsmälleen haluttu järjestys.

Testit, kuten Luken testit, käyttävät kokonaislukujen neliöllisen modulolaajennuksen kertovaa ryhmää luvulle . Jos  on alkuluku, kertovan ryhmän järjestys on , ja sillä on järjestyksen aliryhmä, testiä varten etsitään tämän aliryhmän generoiva joukko .

Löydät ei-iteratiivisen lausekkeen sanalle . Lucas-Lehmerin testimallia noudattaen asetetaan ja saadaan induktiolla .

Tarkastellaan sekvenssin 2 i -osaa . Jos a täyttää toisen asteen yhtälön, se on Lucas-sekvenssi ja noudattaa lauseketta . Itse asiassa etsimme toisen sekvenssin -:nnettä elementtiä, mutta koska Lucas-sekvenssin desimointi (valitsemalla jokainen k -osa alkio) tuottaa myös Lucas-sekvenssin, voimme valita tekijän k valitsemalla aloituspisteen.

LLR-ohjelma

LLR on ohjelma, joka suorittaa LLR-testin. Ohjelman on kehittänyt Jean Penné. Vincent Penné muokkasi ohjelmaa niin, että voit tarkistaa luvun ensisijaisuuden Internetin kautta. Ohjelmaa voidaan käyttää sekä yksittäisiin hakuihin, mutta se sisältyy myös joihinkin hajautettuihin laskentaprojekteihin , kuten Riesel Sieve ja PrimeGrid .

Katso myös

Muistiinpanot

  1. Näitä vastaavien Proth - lukujen primaalisuuden testaamiseen käytetään  joko Proth - lausetta ( todennäköisyyspohjainen algoritmi ) tai jotakin Brilhartin, Lehmerin ja Selfridgen vuonna 1975 kuvaamista deterministisista algoritmeista - katso Brillhart, Lehmer, Selfridge, 1975
  2. 1 2 Rodseth, 1994 .
  3. Riesel, 1994 , s. 194.

Kirjallisuus

Linkit