Dixons algoritme er en faktoriseringsalgoritme , der grundlæggende bruger Legendres idé , som består i at finde et par heltal og sådan, at og
Dixons metode er en generalisering af Fermats metode .
I 1920'erne foreslog Maurice Krajczyk (1882-1957), der generaliserede Fermats teorem, i stedet for talpar, der opfylder ligningen , at kigge efter talpar, der opfylder en mere generel ligning . Krajczyk bemærkede flere fakta, der var nyttige til at løse. I 1981 udgav John Dickson en faktoriseringsmetode, som han udviklede ved hjælp af Kraitziks ideer og beregnede dens beregningsmæssige kompleksitet. [2]
Lad os faktorisere tallet .
Alle de fundne tal med de tilsvarende vektorer er skrevet i tabellen.
337 | 23814 | en | 5 | 0 | 2 | 0 | 0 |
430 | 5390 | en | 0 | en | 2 | en | 0 |
519 | 96 | 5 | en | 0 | 0 | 0 | 0 |
600 | 980 | 2 | 0 | en | 2 | 0 | 0 |
670 | 125 | 0 | 0 | 3 | 0 | 0 | 0 |
817 | 39204 | 2 | fire | 0 | 0 | 2 | 0 |
860 | 21560 | 3 | 0 | en | 2 | en | 0 |
Ved at løse et lineært ligningssystem får vi det . Derefter
Følgelig,
.Det viste sig nedbrydning
Betegn med antallet af heltal sådan, at og er et -glat tal, hvor . Fra de Bruijn-Erdős sætning , hvor . Det betyder, at hvert -glat tal i gennemsnit vil komme på tværs af forsøg. For at kontrollere, om et tal er -glat, skal der udføres divisioner . Ifølge algoritmen er det nødvendigt at finde et -glat tal. Altså den beregningsmæssige kompleksitet ved at finde tal
.Beregningsmæssig kompleksitet af Gauss-metoden ud fra ligninger
.Derfor er den samlede kompleksitet af Dixons algoritme
.Under hensyntagen til, at antallet af primtal er mindre end estimeret af formlen , og at vi efter forenkling får
.er valgt på en sådan måde, at den er minimal. Så erstatter vi, får vi
.Estimatet lavet af Pomeranz på grundlag af en mere stringent sætning end de Bruijn-Erdös sætning [6] giver , mens Dixons oprindelige estimat af kompleksitet giver .
Overvej yderligere strategier, der fremskynder driften af algoritmen.
LP-strategien (Large Prime Variation) bruger store primtal til at fremskynde talgenereringsproceduren .
AlgoritmeLad tallet fundet i punkt 4 være ujævnt. Så kan det repræsenteres hvor er ikke deleligt med tal fra faktorgrundlaget. Det er åbenlyst . Hvis derudover , så er s primtal, og vi inkluderer det i faktorgrundlaget. Dette giver dig mulighed for at finde yderligere -glatte tal, men øger antallet af nødvendige glatte tal med 1. For at vende tilbage til den oprindelige faktorbase efter trin 5, gør følgende. Findes der kun ét tal, hvis udvidelse indgår i ulige grad, så skal dette tal slettes fra listen og slettes fra faktorgrundlaget. Hvis der for eksempel er to sådanne numre og , så skal de streges over og tallet tilføjes . Indikatoren vil gå ind i udvidelsen i en jævn grad og vil være fraværende i systemet af lineære ligninger.
Variation af strategiDet er muligt at bruge LP-strategien med flere primtal, der ikke er indeholdt i faktorbasen. I dette tilfælde bruges grafteori til at udelukke yderligere primtal .
Beregningsmæssig kompleksitetDet teoretiske skøn over kompleksiteten af algoritmen ved hjælp af LP-strategien, lavet af Pomerants, adskiller sig ikke fra estimatet af den originale version af Dixon-algoritmen:
.EAS-strategien (early break) eliminerer nogle af overvejelserne ved ikke at fuldføre glathedstesten .
Algoritmefaste er valgt . I Dixons algoritme er det faktoriseret ved forsøgsdivisioner med . I strategien vælges EAS, og tallet faktoriseres først ved forsøgsdivisioner med , og hvis den udekomponerede del efter nedbrydning forbliver større end , så kasseres den givne.
Variation af strategiDet er muligt at bruge en EAS-strategi med flere pauser, det vil sige med en stigende sekvens og en faldende sekvens .
Beregningsmæssig kompleksitetDixons algoritme ved hjælp af EAS-strategien for er estimeret
.PS-strategien bruger Pollard-Strassen-algoritmen , som for og finder den mindste prime divisor af antallet af gcd'er i . [otte]
AlgoritmeFixed er valgt . I Dixons algoritme er det faktoriseret ved forsøgsdivisioner med . I PS-strategien . Vi tror . Vi anvender Pollard-Strassen-algoritmen, idet vi vælger den usammensatte del, vi opnår udvidelsen .
Beregningsmæssig kompleksitetKompleksiteten af Dixons algoritme med strategi PS er minimal ved og er lig med
.