Система остаточных классов — различия между версиями
Turbo (обсуждение | вклад) |
Turbo (обсуждение | вклад) |
||
Строка 39: | Строка 39: | ||
Пусть <math>X=Y\cdot Z</math>- полупростое число. Рассмотрим систему остаточных классов <math>p_i,\ldots, p_N</math>, где <math>p_i</math>— <math>i</math>-е простое число. | Пусть <math>X=Y\cdot Z</math>- полупростое число. Рассмотрим систему остаточных классов <math>p_i,\ldots, p_N</math>, где <math>p_i</math>— <math>i</math>-е простое число. | ||
+ | == Численный пример == | ||
+ | |||
+ | Рассмотрим СОК с базисом <math>(2;3;5)</math>. В этом базисе можно взаимооднозначно представить числа из промежутка от <math>0</math> до <math>29</math>, так как <math>M = 2\times 3\times 5 = 30</math>. Таблица соответствия чисел из позиционной системы счисления и системы остаточных классов: | ||
+ | {| class="wikitable" | ||
+ | |- | ||
+ | | <math>0=(0;0;0)</math> || <math>1=(1;1;1)</math> || <math>2=(0;2;2)</math> || <math>3=(1;0;3)</math> || <math>4=(0;1;4)</math> | ||
+ | |- | ||
+ | | <math>5=(1;2;0)</math> || <math>6=(0;0;1)</math> || <math>7=(1;1;2)</math> || <math>8=(0;2;3)</math> || <math>9=(1;0;4)</math> | ||
+ | |- | ||
+ | | <math>10=(0;1;0)</math> || <math>11=(1;2;1)</math> || <math>12=(0;0;2)</math> || <math>13=(1;1;3)</math> || <math>14=(0;2;4)</math> | ||
+ | |- | ||
+ | | <math>15=(1;0;0)</math> || <math>16=(0;1;1)</math> || <math>17=(1;2;2)</math> || <math>18=(0;0;3)</math> || <math>19=(1;1;4)</math> | ||
+ | |- | ||
+ | | <math>20=(0;2;0)</math> || <math>21=(1;0;1)</math> || <math>22=(0;1;2)</math> || <math>23=(1;2;3)</math> || <math>24=(0;0;4)</math> | ||
+ | |- | ||
+ | | <math>25=(1;1;0)</math> || <math>26=(0;2;1)</math> || <math>27=(1;0;2)</math> || <math>28=(0;1;3)</math> || <math>29=(1;2;4)</math> | ||
+ | |} | ||
+ | |||
+ | === Пример сложения === | ||
+ | |||
+ | === Пример умножения === | ||
Версия 06:32, 6 февраля 2013
Система остаточных классов (СОК) (от англ. Residue number system, другое название Модулярная арифметика) - непозиционная система счисления. Представление числа в системе остаточных классов основано на понятии вычета и китайской теореме об остатках. СОК определяется набором взаимно простых модулей с произведением так, что каждому целому числу из отрезка ставится в соответствие набор вычетов , где
- …
При этом китайская теорема об остатках гарантирует однозначность представления для чисел из отрезка .
Содержание
Преимущества системы остаточных классов
- В СОК арифметические операции (сложение, вычитание, умножение, деление) выполняются покомпонентно, если про результат известно, что он является целочисленным и также лежит в .
Недостатки системы остаточных классов
- Возможность представления только ограниченного количества чисел.
- Отсутствие эффективных алгоритмов для сравнения чисел, представленных в СОК. Сравнение обычно осуществляется через перевод аргументов из СОК в смешанную систему счисления по основаниям .
- Сложные реализации алгоритмов перевода из позиционной системы счисления в СОК и обратно.
Применение системы остаточных классов
СОК широко используется в микроэлектронике в специализированных устройствах [ЦОС], где требуется:
- контроль за ошибками, за счет введения дополнительных избыточных модулей
- высокая скорость работы, которую обеспечивает параллельная реализация базовых арифметических операций
Основные определения
Система остаточных классов используется для представления больших чисел , обеспечивая таким образом более эффективные вычисления. В основе данного представления лежит изоморфизм , который доставляет китайская теорема об остатках.
Системой остаточных классов называют произвольное конечное множество , такое что , где . Пусть задана произвольная система остаточных классов и положим, что . Тогда в силу китайской теоремы об остатках имеем эпиморфизм колец , т.ч. , который индуцирует канонический изоморфизм .
Выполнение арифметических операций
С использованием системы остаточных классов можно выполнять основные арифметические операции.
Сложение и вычитание
Пусть - произвольные натуральные числа. Положим, что представляются в виде системы остаточных классов как и соответственно. Формально, . В силу того, что - изоморфизм будем иметь . Обозначим через остаток от деления на . Тогда представляется в виде системы остаточных классов как .
Умножение
- остаток от деления на . Тогда представляется в виде системы остаточных классов как .
Деление
Деление на с использованием системы остаточных классов можно выполнять не всегда. Положим, что - остаток от деления на . На языке теории колец это означает, что обратим и - обратный. Тогда представляется в виде .
Факторизация полупростых чисел
Пусть - полупростое число. Рассмотрим систему остаточных классов , где — -е простое число.
Численный пример
Рассмотрим СОК с базисом . В этом базисе можно взаимооднозначно представить числа из промежутка от до , так как . Таблица соответствия чисел из позиционной системы счисления и системы остаточных классов: