Eukleidův algoritmus: Porovnání verzí

Přidáno 20 bajtů ,  před 3 lety
m
Robot: přidáno {{Autoritní data}}; kosmetické úpravy
m (Ještě upravena sazba matematiky.)
m (Robot: přidáno {{Autoritní data}}; kosmetické úpravy)
[[Soubor:Euclidean algorithm 1071 462.gif|alt=Animace Eukleidova algoritmu|thumbnáhled|309x309px|Animace Eukleidova algoritmu]]
'''Eukleidův algoritmus''' (též '''Euklidův''') je [[algoritmus]], kterým lze určit [[největší společný dělitel]] dvou [[Přirozené číslo|přirozených čísel]], tedy největší číslo takové, že beze zbytku dělí obě čísla. Jedná se o jeden z nejstarších známých netriviálních algoritmů a postupně vznikla řada jeho modifikací například pro příbuzné úlohy. Z nich nejdůležitější je [[rozšířený Eukleidův algoritmus]], kterým lze nalézt [[Bézoutova rovnost|Bézoutovu rovnost]], neboli vyjádření největšího společného dělitele dvou čísel jejich lineární kombinací.
 
== Poznámky ==
{{upravit část}}
* Na základě tohoto algoritmu lze rychle spočítat [[inverzní prvek]] k násobení v [[modulární aritmetika|modulární aritmetice]]. Největší společný dělitel dvou čísel se dá vyjádřit [[Bézoutova rovnost|Bézoutovou rovností]] jako součet násobků těchto čísel. Pokud je tímto největším společným dělitelem 1, pak dostaneme součin prvku a jeho inverzního. Tedy pokud máme spočítat inverzní prvek ''x'' modulo ''n'' a vyjde nám vyjádření největšího společného dělitele Bézoutovou rovností ''ax'' + ''bn'' = 1, kde známe všechny proměnné. Máme tak vlastně přímo rovnost ''ax''=1 [[modulo]] ''n'' a nalezené ''a'' je hledaný inverzní prvek. Tento výpočet inverzního prvku je častý v aplikacích [[teorie čísel]], zejména v [[kryptografie|kryptografii]].
* Tento algoritmus lze použít nejen pro čísla, ale také pro [[polynom]]y. Polynom je s jeho využitím možno rozdělit na součin polynomů oddělených dle násobnosti kořenů. Derivace snižuje násobnost každého kořene o 1 a zavádí nové kořeny. Největší společný dělitel s původním polynomem odstraňuje nové kořeny. Například lze tak zjistit kořeny polynomu (x - a)(x - a)(x - a)(x - b)(x - b), přestože neexistuje algoritmus na výpočet kořenů polynomu stupně většího než 4.
* Tento algoritmus je jeden z těch, u nichž není znám způsob paralelního zpracování, který by podstatně zvýšil výpočetní rychlost.
 
* [http://mathworld.wolfram.com/EuclideanAlgorithm.html Eukleidův algoritmus] – na mathworldu (anglicky)
* [http://www.math.umn.edu/~garrett/crypto/a01/Euclid.html Eukleidův algoritmus] – počítaný online (anglicky)
{{Autoritní data}}
 
[[Kategorie:Algoritmy]]
1 121 316

editací