Shoda čtverců - Congruence of squares - Wikipedia
![]() | tento článek ne uvést žádný Zdroje.Prosince 2009) (Zjistěte, jak a kdy odstranit tuto zprávu šablony) ( |
v teorie čísel, a shoda čtverců je shoda běžně používané v celočíselná faktorizace algoritmy.
Derivace
Vzhledem k tomu, pozitivní celé číslo n, Fermatova faktorizační metoda spoléhá na hledání čísel X, y uspokojení rovnost
Můžeme pak faktorovat n = X2 - y2 = (X + y)(X - y). Tento algoritmus je v praxi pomalý, protože potřebujeme prohledat mnoho takových čísel a jen několik z nich splňuje přísnou rovnici. Nicméně, n lze také zohlednit, pokud dokážeme uspokojit slabší shoda čtverců stav:
Odtud můžeme snadno odvodit
Tohle znamená tamto n rozdělí produkt (X + y) (X - y). Tím pádem (X + y) a (X − y) každý obsahuje faktory n, ale tyto faktory mohou být banální. V tomto případě musíme najít další X a y. Výpočet největší společní dělitelé z (X + y, n) a (X - y, n) dá nám tyto faktory; to lze rychle provést pomocí Euklidovský algoritmus.
Kongruence čtverců jsou extrémně užitečné v celočíselných faktorizačních algoritmech a jsou široce používány například v kvadratické síto, síto obecného čísla, pokračující frakcionační faktorizace, a Dixonova faktorizace. Naopak, protože hledání druhých odmocnin modulo složeného čísla se ukazuje jako pravděpodobnostní polynomiálně-časově ekvivalentní faktorování tohoto čísla, lze k identifikaci shody čtverců efektivně použít jakýkoli celočíselný faktorizační algoritmus.
Další zobecnění
Je také možné použít faktorové báze pomoci rychleji najít shodu čtverců. Místo hledání od samého počátku jich najdeme mnoho Kde y mají malé hlavní faktory a pokuste se několik z nich znásobit, abyste získali čtverec na pravé straně.
Příklady
Faktorizujte 35
Bereme n = 35 a najít to
- .
Faktorujeme tedy jako
Rozdělte 1649
Použitím n = 1649, jako příklad nalezení shody čtverců vytvořených z produktů jiných čtverců (viz Dixonova faktorizační metoda ), nejprve získáme několik shody
z toho dva mají jen malá prvočísla jako faktory
a jejich kombinace má rovnoměrnou sílu každého malého prvočísla, a je tedy čtvercem
čímž se získá shoda čtverců
Takže s použitím hodnot 80 a 114 jako našich X a y dává faktory