Faktorizace

Jako faktorizace se v matematice a jejích aplikacích označuje problém rozložení čísla na součin menších čísel, v nejčastější podobě pak rozklad celého čísla na součin prvočísel. Například číslo 15 lze napsat jako součin 3 · 5. Obecněji lze rozkládat i jiné algebraické objekty, např. polynom druhého řádu x² − 4 lze vyjádřit jako součin dvou polynomů prvního řádu (x − 2)(x + 2).

Rozklad celého čísla na prvočinitele je považován za velmi těžkou úlohu a na její nezvládnutelnosti pro velká čísla jsou založeny některé kryptografické metody, např. algoritmus RSA pro šifrování s veřejným klíčem.

Faktorizace celých čísel

Podle základní věty aritmetiky lze libovolné celé číslo jednoznačně rozložit na součin prvočísel. Pro takovou úlohu s velkými čísly však není znám žádný efektivní algoritmus a předpokládá se, že ani neexistuje. V současné době není známa přesná klasifikace této úlohy do tříd složitosti, je však známo, že úloha (přesněji její rozhodovací verze – „má číslo N nějakého činitele menšího než M?“) patří do NP i co-NP (odpovědi ANO i NE lze ověřit na Turingově stroji v polynomiálním čase).

Předpokládá se, že padá mimo třídy P, NP-complete a co-NP-complete.

Zajímavé je, že zdánlivě podobná úloha „je N číslo složené“ (či ekvivalentně: „je N prvočíslo“) je zřejmě mnohem jednodušší: bylo dokázáno, že ji lze vyřešit v polynomiálním čase.

Související články

Pahýl
Pahýl
Tento článek je příliš stručný nebo postrádá důležité informace.
Pomozte Wikipedii tím, že jej vhodně rozšíříte. Nevkládejte však bez oprávnění cizí texty.
Autoritní data Editovat na Wikidatech
  • BNF: cb122865337 (data)
  • LCCN: sh85046844
  • NLI: 987007565462605171