Systém čísel zbytků - Residue number system
Tento článek má několik problémů. Prosím pomozte zlepšit to nebo diskutovat o těchto otázkách na internetu diskusní stránka. (Zjistěte, jak a kdy tyto zprávy ze šablony odebrat) (Zjistěte, jak a kdy odstranit tuto zprávu šablony)
|
A soustava zbytkových číslic (RNS) je číselná soustava zastupující celá čísla podle jejich hodnot modulo několik dvojice coprime celá čísla zvaná moduly. Toto znázornění je povoleno Čínská věta o zbytku, který tvrdí, že pokud N je součin modulů, je v intervalu délky N, přesně jedno celé číslo, které má danou sadu modulárních hodnot. The aritmetický soustavy číslic zbytku se také nazývá multimodulární aritmetika.
Multimodulární aritmetika je široce používána pro výpočet s velkými celými čísly, obvykle v lineární algebra, protože poskytuje rychlejší výpočet než u obvyklých číselných systémů, i když je zohledněn čas pro převod mezi číslovými systémy. Mezi další aplikace multimodulární aritmetiky patří polynomiální největší společný dělitel, Gröbnerův základ výpočet a kryptografie.
Definice
Systém číslic zbytků je definován sadou k celá čísla
volal moduly, které by obecně měly být dvojice coprime (to znamená, že dva z nich mají největší společný dělitel rovná jedné). Systémy zbytkových čísel byly definovány pro non-coprime moduly, ale nejsou běžně používány kvůli horším vlastnostem. Ve zbývající části tohoto článku proto nebudou brány v úvahu.[1]
Celé číslo X je v soustavě číslic zbytků představována množinou jejích zbytků
pod Euklidovské dělení podle modulů. To je
a
pro každého i
Nechat M být produktem všeho . Dvě celá čísla, jejichž rozdíl je násobkem M mají stejné zastoupení v soustavě číslic zbytků definované v mis. Přesněji řečeno Čínská věta o zbytku tvrdí, že každý z M různé sady možných zbytků představuje právě jeden třída zbytků modulo M. To znamená, že každá sada zbytků představuje přesně jedno celé číslo v intervalu 0, ..., M.
V aplikacích, kde je zájem také o záporná celá čísla, je často pohodlnější představovat celá čísla patřící k intervalu se středem na 0. V tomto případě, pokud M je liché, každá sada zbytků představuje přesně jedno celé číslo absolutní hodnota nejvíce .
Aritmetické operace
Pro sčítání, odčítání a násobení čísel představovaných v systému čísel zbytků stačí provést totéž modulární provoz na každém páru zbytků. Přesněji řečeno, pokud
je seznam modulů, součet celých čísel X a y, respektive představované zbytky a je celé číslo z reprezentováno takhle
pro i = 1, ..., k (jako obvykle mod označuje modulo provoz spočívající v převzetí zbývající části Euklidovské dělení správným operandem). Odečtení a násobení jsou definovány podobně.
Pro postupnost operací není nutné v každém kroku použít modulo operaci. Může být použito na konci výpočtu nebo během výpočtu k zamezení přetékat hardwarových operací.
Operace, jako je srovnání velikosti, výpočet znaménka, detekce přetečení, změna měřítka a dělení, je však obtížné provést v systému čísel zbytků.[2]
Srovnání
Pokud jsou dvě celá čísla stejná, pak jsou všechny jejich zbytky stejné. Naopak, pokud jsou všechny zbytky stejné, pak jsou obě celá čísla stejná nebo je jejich rozdíl násobkem M. Z toho vyplývá, že testování rovnosti je snadné.
Naopak, testování nerovností (X < y) je obtížné a obvykle vyžaduje převod celých čísel na standardní reprezentaci. V důsledku toho není toto znázornění čísel vhodné pro algoritmy využívající testy nerovnosti Euklidovské dělení a Euklidovský algoritmus.
Divize
Rozdělení v soustavách zbytkových číslic je problematické. Články popisující některé možné algoritmy jsou k dispozici na [1][2]. Na druhou stranu, pokud je coprime s (to je ) pak
lze snadno vypočítat pomocí
kde je multiplikativní inverzní z modulo , a je multiplikativní inverzní funkce k modulo .
Aplikace
Tato sekce potřebuje expanzi. Můžete pomoci přidávat k tomu. (Července 2018) |
RNS mají aplikace v oblasti digitální počítačová aritmetika. Rozložením tohoto velkého celého čísla na sadu menších celých čísel lze provést velký výpočet jako řadu menších výpočtů, které lze provést nezávisle a paralelně.
Viz také
Reference
- ^ Behrooz Parhami, Počítačová aritmetika: Algoritmy a návrh hardwaru. 2. vydání, Oxford University Press, New York, 2010. 641 + xxv str. ISBN 978-0-19-532848-6.
- ^ Isupov, K. (2020). „Používání intervalů s plovoucí desetinnou čárkou pro nemodulární výpočty v systému čísel reziduí“. Přístup IEEE. 8: 58603–58619. doi:10.1109 / ACCESS.2020.2982365. ISSN 2169-3536.
Další čtení
- Jean-Claude Bajard, Nicolas Meloni a Thomas Plantard, Efektivní základy RNS pro kryptografii, IMACS'05: World Congress: Scientific Computation Applied Mathematics and Simulation. 2005.
- O. A. Fin'ko, Velké systémy booleovských funkcí: Realizace modulárními aritmetickými metodami, Automation and Remote Control, 65 (2004), č. 6, 871–892.
- Amos Omondi, Benjamin Premkumar. Systémy reziduálních čísel: teorie a implementace. Imperial College Press. Londýn. 2007. 296 s. ISBN 978-1-86094-866-4.
- Ananda Mohan, P.V. Systémy zbytkových čísel, Springer International Publishing. 2016. 351 s. ISBN 978-3-319-41385-3.
- Amir Sabbagh, Molahosseini, Leonel Seabra de Sousa a Chip-Hong Chang (redaktoři), Návrh vestavěných systémů se speciálními aritmetickými a číselnými systémy, Springer International Publishing. 21. března 2017. 389 s. ISBN 978-3-319-49742-6.