Kahden kokonaisluvun vertaileminen modulo luonnollinen luku on matemaattinen operaatio, jonka avulla voit vastata kysymykseen, antavatko kaksi valittua kokonaislukua saman jäännöksen jaettuna samalla luvulla . Mikä tahansa kokonaisluku jaettuna antaa yhden mahdollisista jäännöksistä: numero 0 - ; tämä tarkoittaa, että kaikki kokonaisluvut voidaan jakaa ryhmiin, joista jokainen vastaa tiettyä jäännöstä jaettuna .
Aritmeettiset operaatiot lukujäännöksillä moduloivat kiinteämuotoista modulaarista aritmetiikkaa tai modulaarista aritmetiikkaa [1] [2] , jota käytetään laajalti matematiikassa , tietojenkäsittelytieteessä ja kryptografiassa [3] .
Edellytyksenä vertailuteorian luomiselle oli Diophantuksen teosten restaurointi , jotka julkaistiin alkuperäisenä ja latinalaisella käännöksellä Basha de Meziriakin ansiosta vuonna 1621 . Heidän tutkimuksensa johti Fermatin löytöihin, jotka olivat huomattavasti aikaansa edellä. Esimerkiksi kirjeessään Frenicle de Bessylle [4] 18. lokakuuta 1640 hän raportoi ilman todisteita lauseen , joka myöhemmin tuli tunnetuksi Fermat'n pienenä lauseena . Modernissa muotoilussa lause sanoo, että jos on alkuluku ja on kokonaisluku , joka ei ole jaollinen luvulla , niin
.Tämän lauseen ensimmäinen todistus kuuluu Leibnizille , lisäksi hän löysi tämän lauseen Fermatista riippumatta viimeistään vuonna 1683 ja ilmoitti tämän Bernoullin tarkalla todistuksella . Lisäksi Leibniz ehdotti prototyyppiä Wilsonin lauseen muotoiluun .
Myöhemmin lukuteorialle ja vertailuteorialle omistettujen kysymysten tutkimusta jatkoi Euler , joka esitteli vastavuoroisuuden toisen asteen lain ja yleisti Fermatin lauseen ja totesi, että
missä on Euler-funktio .
Gauss esitteli vertailujen käsitteen ja symbolisen nimeämisen tärkeäksi työkaluksi aritmeettisen teoriansa perustelemiseen, jonka hän aloitti vuonna 1797. Tämän ajanjakson alussa Gauss ei ollut vielä tietoinen edeltäjiensä teoksista, joten hänen työnsä tulokset, jotka esitettiin hänen kirjansa Aritmeettiset tutkimukset ( 1801 ) kolmessa ensimmäisessä luvussa, olivat periaatteessa jo tiedossa, mutta menetelmät joita hän käytti todisteisiin, osoittautui täysin uudeksi, ja sillä oli suurin merkitys lukuteorian kehitykselle. Näillä menetelmillä Gauss muutti kaiken ennen häntä kertyneen modulo-vertailuoperaatioihin liittyvän tiedon koherentiksi teoriaksi, joka esiteltiin ensimmäisen kerran samassa kirjassa. Lisäksi hän opiskeli ensimmäisen ja toisen asteen vertailuja, neliötähteiden teoriaa ja siihen liittyvää neliöllistä vastavuoroisuuden lakia [5] .
Jos kaksi kokonaislukua ja jaettuna arvolla antavat saman jäännöksen, niin niitä kutsutaan vertailukelpoisiksi (tai equiresiduaaliksi ) modulo luku [6] . |
Numeroiden vertailukelpoisuus ja kirjoitetaan kaavana ( vertailu ):
Lukua kutsutaan vertailumoduuliksi .
Numeroiden ja modulon vertailukelpoisuuden määritelmä vastaa mitä tahansa seuraavista lauseista:
Sitten sillä oletuksella, että
1 ja 2 suoritetaan :
(eli ero ja jaetaan ilman jäännöstä); jossa (eli voidaan esittää muodossa ).Tarvittavan ehdon todistuksesta numero voidaan esittää seuraavasti:
Sitten
missäTällä tavalla
Määritelmän on osoitettu vastaavan ehtoa 2 , joka vastaa ehtoa 1 .
Esimerkiksi luvut 32 ja −10 ovat yhteneväisiä modulo 7:llä, koska molemmat luvut jaettuna 7:llä jättävät 4:n jäännöksen:
Myös luvut 32 ja -10 ovat vertailukelpoisia modulo 7:llä, koska niiden ero on jaollinen 7:llä ja lisäksi on olemassa esitys
Kiinteän luonnollisen luvun moduulivertailurelaatiolla on seuraavat ominaisuudet:
Siten modulo-vertailurelaatio on ekvivalenssirelaatio kokonaislukujen joukossa [8] .
Yllä olevien ominaisuuksien lisäksi seuraavat väitteet ovat totta vertailuissa:
Päästää
Näin ollen
missä on jokin kokonaisluku.Koska on luvun jakaja , niin
missä on jokin kokonaisluku.Näin ollen
missäja
määritelmän mukaan.
Päästää
missäNäin ollen
Koska ero on jokaisen kerrannainen , se on myös niiden pienimmän yhteisen kerrannainen .
Seuraus: Jotta luvut olisivat vertailukelpoisia modulo , jonka kanoninen hajoaminen alkutekijöiksi on muotoatarpeellista ja riittävää
missä [9] .Vertailuilla modulo yksi ja sama on monia tavallisten yhtäläisyyksien ominaisuuksia. Niitä voidaan esimerkiksi lisätä, vähentää ja kertoa: jos luvut ja ovat pareittain vertailukelpoisia modulo , niin niiden summat ja , sekä tulot ja ovat myös vertailukelpoisia modulo :
Samanaikaisesti näitä operaatioita ei voida suorittaa vertailuilla, jos niiden moduulit eivät täsmää [9] .
Voit lisätä saman numeron vertailun molempiin osiin :
Voit myös siirtää luvun vertailun osasta toiseen etumerkin muutoksella:
Jos luvut ja ovat vertailukelpoisia modulo , niin niiden tehot ja ovat myös vertailukelpoisia modulo mille tahansa luonnolliselle [7] :
Mihin tahansa vertailun osaan voit lisätä moduulin kokonaislukukerran, toisin sanoen jos luvut ja ovat vertailukelpoisia modulo jokin luku , niin ja on verrattavissa modulo , jossa ja ovat mielivaltaisia kokonaislukuja , jotka ovat kerrannaisia :
Myös vertailun molemmat osat ja moduuli voidaan kertoa samalla luvulla, eli jos luvut ja ovat vertailukelpoisia modulo jokin kokonaisluku , niin luvut ja ovat vertailukelpoisia modulo luku , jossa on kokonaisluku :
Vertailuja ei kuitenkaan voida yleisesti ottaen jakaa keskenään tai muilla luvuilla. Esimerkki: 2 kertaa vähennettynä saamme kuitenkin virheellisen vertailun: . Vertailujen vähennyssäännöt ovat seuraavat.
Jos luku ei ole moduulin kanssa alkuluku, kuten yllä olevassa esimerkissä, et voi pienentää.
jos , niin [9] .
Vertailujen avulla on helppo hankkia erilaisia jaotettavuuskriteereitä . Johdetaan esimerkiksi luonnollisen luvun N jaollisuusmerkki 7:llä. Kirjoitetaan se muotoon (eli erotetaan yksiköiden numero). Ehto, joka on jaollinen 7:llä, voidaan kirjoittaa seuraavasti: Kerro tämä vertailu luvulla
Tai lisäämällä vasemmalla olevan moduulin kerrannainen:
Tämä tarkoittaa seuraavaa jaollisuuden merkkiä 7:llä: on tarpeen vähentää kaksinkertainen yksiköiden määrä kymmenien lukumäärästä, sitten toistaa tämä toimenpide, kunnes saadaan kaksi- tai yksinumeroinen luku; jos se on jaollinen 7:llä, niin alkuperäinen luku on myös jaollinen. Tarkastetaan esimerkiksi algoritmi [10] :
Johtopäätös: 22624 on jaollinen seitsemällä.
Kaikkien modulon kanssa yhteensopivien lukujen joukkoa kutsutaan modulo - jäännösluokiksi , ja sitä merkitään yleensä tai . Siten vertailu vastaa jäämäluokkien yhtäläisyyttä [11] .
Mitä tahansa luokkanumeroa kutsutaan modulo- jäännökseksi . Olkoon määrällisyyden vuoksi jakojäännös minkä tahansa valitun luokan edustajista luvulla , niin mikä tahansa tämän luokan luku voidaan esittää muodossa , jossa on kokonaisluku . Jäännöstä , joka on yhtä suuri kuin jäännös ( at ), kutsutaan pienimmäksi ei-negatiiviseksi jäännökseksi ja jäännöstä ( ), joka on absoluuttisen arvon pienin, kutsutaan ehdottoman pienimmäksi jäännökseksi . Kun saamme sen , muuten . Jos on parillinen ja , niin [12] .
Koska modulo-vertailu on ekvivalenssirelaatio kokonaislukujen joukossa , modulo-jäännösluokat ovat ekvivalenssiluokkia ; niiden lukumäärä on yhtä suuri .
Kaikkien jäännösluokkien joukko modulo on merkitty joko [13] tai [14] .
Summa- ja kertolaskuoperaatiot indusoivat vastaavat operaatiot joukkoon :
Näiden operaatioiden osalta joukko on äärellinen rengas , ja yksinkertaiselle se on äärellinen kenttä [6] .
Jäännösjärjestelmän avulla voit suorittaa aritmeettisia operaatioita rajalliselle lukujoukolle ylittämättä sitä. Täydellinen jäännösjärjestelmä modulo on mikä tahansa joukko pareittain vertailemattomia modulo - kokonaislukuja. Yleensä toinen kahdesta sarjasta pidetään täydellisenä jäännösjärjestelmänä modulo :
Pareittain vertailemattomien moduulilukujen maksimijoukkoa, jonka kanssa koprime , kutsutaan pelkistetyksi modulojäännösten järjestelmäksi . Mikä tahansa pelkistetty jäännösjärjestelmä modulo sisältää elementtejä, joissa on Euler-funktio [12] .
Esimerkiksi luvulle täydellinen jäännösjärjestelmä voidaan esittää numeroilla 0, 1, 2, 3, ..., 21, 22, 23, ..., 39, 40, 41 ja pelkistetyllä järjestelmällä. voidaan esittää numeroilla 1, 5, 11, 13, 17, 19, 23, 25, 29, 31, 37, 41.
Polynomien rengasta kentän päällä tarkastellaan . Kahta polynomia ja valittuun renkaaseen kuuluvaa kutsutaan polynomin vertailukelpoiseksi modulo , jos niiden ero on jaollinen ilman jäännöstä. Vertailu on merkitty seuraavasti:
Aivan kuten kokonaislukujen renkaassa, tällaisia vertailuja voidaan lisätä, vähentää ja kertoa [15] .
Numeroteoriassa , kryptografiassa ja muilla tieteenaloilla ongelmana on usein löytää ratkaisuja muodon ensimmäisen asteen vertailuun.
Tällaisen vertailun ratkaisu alkaa gcd :n laskemisesta . Tässä tapauksessa kaksi tapausta on mahdollista:
Käytännön arvon laskenta voidaan tehdä eri tavoilla: käyttämällä Eulerin lausetta , Euklidin algoritmia , jatkuvien murtolukujen teoriaa (katso algoritmi ) jne. Erityisesti Eulerin lause sallii arvon kirjoittamisen muodossa:
[16] . EsimerkkejäEsimerkki 1. Vertailun vuoksi
meillä on siis modulo 22, vertailussa on kaksi ratkaisua. Korvataan 26 luvulla 4, joka on vertailukelpoinen modulo 22, ja kumotaan sitten kaikki kolme numeroa kahdella:
Koska 3 on koprime modulo 11, se voidaan kääntää modulo 11 ja löytää
.Kerrotaan vertailu 4:llä, saadaan ratkaisu modulo 11:
,vastaa kahden ratkaisun joukkoa modulo 22:
ja .Esimerkki 2. Vertailu annetaan:
Huomaa, että moduuli on alkuluku.Ensimmäinen tapa ratkaista se on käyttää Bezout-relaatiota . Käyttämällä Euclid-algoritmia tai Bezout-suhdetta käsittelevässä artikkelissa annettua ohjelmaa huomaamme, että tämä lukujen suhde on muotoa:
taiKun tämän vertailun molemmat puolet kerrotaan 41:llä, saadaan:
Tästä seuraa, että alkuperäiseen vertailuun on ratkaisu. On helpompaa korvata se jollain siihen verrattavalla (jäännös jakamalla luvulla ). Vastaus:
Toinen ratkaisu, yksinkertaisempi ja nopeampi, ei vaadi Bezout-relaation rakentamista, mutta vastaa myös euklidelaista algoritmia.
Vaihe 1. Jaa moduuli x:n kertoimella jäännöksellä: . Kerro alkuperäisen vertailun molemmat puolet osamäärällä ja lisää ; saamme: , mutta vasen puoli on :n kerrannainen , eli verrattavissa nollaan, mistä:
Saimme at:lle kertoimen 37 100:n sijaan. Jokaisessa seuraavassa vaiheessa vähennämme samalla tavalla, kunnes saamme yhden.
Vaihe 2. Samalla tavalla jaamme uudella kertoimella kohdassa x: . Kerro edellisessä vaiheessa saadun vertailun molemmat osat osamäärällä ja lisää ; korvaamalla vasemman puolen jälleen nollalla, saamme:
korvaa sen jäännöksellä, kun se jaetaan yhtä suurella :
Sitten olisi mahdollista tehdä vielä 5 vaihetta samalla tavalla, mutta on helpompi jakaa molemmat vertailun osat 10:llä ja saada heti tulos:
Toisen asteen modulo m -vertailuilla on seuraava yleinen muoto:
Tämä lauseke voidaan viedä muotoon
ja kun se vaihdetaan, se yksinkertaistuu
Tämän vertailun ratkaiseminen edellyttää, että selvitetään, onko annettu luku neliöjäännös (käyttäen toisen asteen vastavuoroisuuslakia ) ja lasketaan sitten neliöjuuren modulo [17] . Neliöjuuren laskemiseksi kvadraattisesta jäännöksestä on olemassa todennäköisyyspohjainen Berlekamp-menetelmä ja deterministinen Tonelli-Shanks-algoritmi .
Kiinan jäännöslause sanoo, että kongruenssijärjestelmä parittaisten koprimemoduulien kanssa on:
on aina ratkaistavissa, ja sen ratkaisu on ainutlaatuinen modulo .
Toisin sanoen kiinalainen jäännöslause sanoo, että jäännösrengas modulo useiden parittaisten koprimelukujen tulo on tekijöitä vastaavien jäännösrenkaiden suora tulo.
Modulaarista aritmetiikkaa käytetään lukuteoriassa , ryhmäteoriassa , rengasteoriassa , solmuteoriassa , yleisalgebrassa , kryptografiassa , tietojenkäsittelytieteessä , kemiassa ja muilla aloilla.
Vertailuja käytetään usein esimerkiksi tunnisteissa käytettävien tarkistussummien laskemiseen. Joten kansainvälisen pankkitilin numeron syöttämisen virheiden määrittämiseen käytetään vertailumoduulia 97 [18] .
Salaustekniikassa vertailut löytyvät julkisen avaimen järjestelmistä , joissa käytetään esimerkiksi RSA-algoritmia tai Diffie-Hellman-protokollaa . Modulaarinen aritmetiikka tarjoaa myös äärelliset kentät , joiden päälle sitten rakennetaan elliptisiä käyriä , ja sitä käytetään erilaisissa symmetrisissä avainprotokollissa ( AES , IDEA ) [19] .
Kemiassa CAS-rekisteröintinumeron viimeinen numero on tarkistussumman arvo , joka lasketaan lisäämällä luvun viimeinen numero kerrottuna 1:llä, toinen numero oikealta kerrottuna 2:lla, kolmas numero kerrottuna kolmella ja niin ensimmäiseen numeroon asti vasemmalta, joka päättyy 10:llä jaon jäännösosan laskemiseen [20]