모듈식 산술
Modular arithmetic수학에서 모듈식 산술은 정수에 대한 산술 체계로, 계수라고 불리는 특정 값에 도달하면 숫자가 "감겨" 돌아간다.모듈식 산술에 대한 현대적 접근법은 칼 프리드리히 가우스에 의해 1801년에 출판된 그의 책 디스퀴지데스 산술에서 개발되었다.
모듈러식 산술의 일반적인 용도는 12시간 시계입니다.이 시계에서는 하루를 2개의 12시간 주기로 나눕니다.지금 시간이 7시라면 8시간 뒤면 3시입니다.단순 덧셈으로 7 + 8 = 15가 되지만 클럭은 12시간마다 "주변"됩니다.시간 번호가 12가 되면 0에서 다시 시작되므로 산술 모듈 12입니다.아래 정의에 따르면 15는 3 모듈로 12와 일치하므로 24시간 시계의 "15:00"는 12시간 시계의 "3:00"로 표시됩니다.
일치
계수라고 불리는 정수 n > 1이 주어졌을 때, 두 정수 a와 b는 n이 차이의 약수일 경우(즉, a - b = kn과 같은 정수 k가 있을 경우) 합동 모듈로 n이라고 한다.
합치모듈로n은 합치관계로 덧셈, 뺄셈, 곱셈의 연산과 양립할 수 있는 등가관계입니다.일치 모듈 n은 다음과 같이 표시됩니다.
괄호는 (mod n)이 오른쪽(여기서 b)에만 적용되는 것이 아니라 전체 방정식에 적용됨을 의미합니다.이 표기법은 b mod n 표기법(괄호 없음)과 혼동하지 마십시오.b mod n 표기법은 modulo 연산을 나타냅니다.실제로 b mod n은 0 a a <n 및 b ( n) { a \ b \ ; ( { \ { } \n ) ( \ n) ( n ; n ) ( {\ {\ {\ {\ {\ a a aa 。
일치 관계는 다음과 같이 다시 쓰여질 수 있다.
유클리드 나눗셈과의 관계를 명확하게 보여준다.단, 여기서 b가 a를 n으로 나눈 나머지가 될 필요는 없습니다.대신, a µ b(mod n)가 주장하는 것은 a와 b가 n으로 나누었을 때 같은 나머지를 갖는다는 것입니다.그것은,
여기서 0 µ r < n은 공통 잔량입니다.이 두 식을 빼면 이전 관계가 복구됩니다.
k = p - q 를 설정합니다.
예
계수 12에서는 다음과 같이 단언할 수 있다.
왜냐하면 38 - 14 = 24, 즉 12의 배수이기 때문이다.이것을 표현하는 또 다른 방법은 38과 14가 모두 12로 나누었을 때 나머지 2를 갖는다고 말하는 것입니다.
일치의 정의는 음의 값에도 적용된다.예를 들어 다음과 같습니다.
특성.
일치 관계는 동등성 관계의 모든 조건을 충족합니다.
- 반사성: a µ a (mod n)
- 대칭: 모든 a, b 및 n에 대해 b µ a(mod n)일 경우 a µ b(mod n).
- 이동성:a b b ( mod n )및 b c c ( mod n )의 경우 a c c ( mod n )
a2 b1 b ( mod n )및 a b2 b ( mod n )또는 a b b ( mod n )의 경우는1,[1] 다음과 같습니다.
- a + k µ b + k (mod n) (변환과의 호환성)
- 임의의 정수 k에 대해 k a µ k b(mod n) (스케일링과의 호환성)
- 임의의 정수 k에 대해 k a µ k b(mod kn)
- a1 + a2 µ1 b + b2 ( mod n ) (추가와의 호환성)
- a1 – a2 µ1 b – b2 ( mod n ) (감산과의 호환성)
- a12 b1 b2 ( mod n ) ( 곱셈과의 호환성)
- ak µ b(modk n) 비음수 정수 k(지수와의 호환성)
- 정수 계수를 갖는 모든 다항식 p(x)에 대해 p(a) ≡ p(b)(mod n)
a bb b(mod n)일 경우 일반적으로 k ( k(mod n)는a false입니다.단, 다음과 같습니다.
공통 조건의 취소에는 다음과 같은 규칙이 있습니다.
- a + k µ b + k ( mod n )여기서 k는 임의의 정수일 경우 a µ b ( mod n )
- k a µk b(mod n) 및 k가 n과 공존할 경우 a µ b(mod n)
- k a µ k b(mod kn) 및 k µ 0일 경우 a µ b(mod n)
- 존재: 가 n과 함께 존재하는 경우에만 aa ≤ 1(mod n)을 나타내는–1–1 정수가 존재합니다.이 정수–1 a는 modulo n의 modular 곱셈 역이라고 불립니다.
- a b b(mod n) 및–1 a가 존재하는 경우 a–1 b–1 b(mod n) (a = b인 경우 고유성 모듈로 n)
- a x µb(mod n) 및 a가 n에 대한 공역일 경우, 이 선형 합치에 대한 해는 x µab–1(mod n)로 주어진다.
x 에 의 a + y 1 {\ + }을 확장 유클리드 알고리즘을 사용하여 효율적으로 역수 xµ–1 a (mod n)를 계산할 수 있습니다.
특히 p가 소수일 경우 a는 0 < a < p가 되도록 모든 a에 대해 p와 공수이다. 따라서 0 모듈로 p에 일치하지 않는 모든 a에 대해 곱셈 역수가 존재한다.
합동 관계의 고급 특성 중 일부는 다음과 같습니다.
- 페르마의 작은 정리:p가 소수이고 a를 나누지 않으면 a ≤ 1(mod p)이다.
- 오일러의 정리:a와 n이 공역일 경우, a는 1(mod n)이다. 여기서 θ는 오일러의 전체 함수이다.
- 페르마의 작은 정리의 간단한 결과는 만약 p가 소수라면, θ a (mod p)는−1 0 < a < p의 곱셈 역이다. 더 일반적으로, 오일러의 정리로부터, a와 n이 공역이라면, a (mod n)이다−1.
- 또 다른 간단한 결과는 만약 a δ b(mod δ(n))가 오일러의 전체 함수라면 ka δ k(mod n)는b n과 공역하는 것이다.
- 윌슨의 정리: p는 (p - 1)일 경우에만 소수이다! 1 -1 (mod p)
- 중국어 나머지 정리:임의의 a, b 및 coprime m, n에 대해 x µ a(mod m) 및 x µ b(mod n)가 존재하는 하나의 x(mod mn)가 존재합니다.실제로 x µbn–1 m + a nm–1 (mod mn) (m은n−1 m m modulo n의 역수m−1, n은 n modulo m의 역수)
- 라그랑주 정리:일치 f(x) 0 0(mod p), 여기서 p는 소수이고 f(x) = a0n x + ... + a는n θ 0(mod p)이 최대 n개의 루트를 갖는 정수0 계수를 갖는 다항식입니다.
- 원시근 모듈로 n: 수 g는 원시근 모듈로 n이며, n에 대한 정수마다 g a a(mod n)가k 되는 정수 k가 있다.원시근 모듈로 n은 n이 2, 4, p 또는k 2p일k 경우에만 존재합니다.여기서 p는 홀수 소수이고 k는 양의 정수입니다.만약 원시근 모듈로 n이 존재한다면, 그러한 원시근은 정확히 θ(()(n)가 존재하며, 여기서 θ는 오일러의 전체 함수이다.
- 2차 잔차:정수 a는 xθa(mod n)가2 되는 정수 x가 존재하는 경우 2차 잔차 모듈로 n이다.오일러의 기준은 만약 p가 홀수 소수이고, a가 p의 배수가 아니라면, a는 2차 잔차 모듈로 p이다.
일치 클래스
다른 일치관계와 마찬가지로, 일치모듈로 n은 동등관계이며, a로 나타나는n 정수 a의 동등성 클래스는 집합 {..., a - 2n, a - n, a, + n, a + 2n, ...}이다.모듈로 n에 합치하는 모든 정수로 구성된 이 집합은 모듈로 n의 정수의 합치 클래스, 잔차 클래스 또는 단순히 잔차라고 합니다.modulus n을 컨텍스트에서 알 수 있는 경우, 해당 잔기는 [a]로 표시될 수도 있다.
잔류계
각 잔기 클래스 모듈로 n은 그 멤버 중 하나에 의해 표시될 수 있지만, 우리는 보통 각 잔기 클래스를 해당[2] 클래스에 속하는 가장 작은 음의 정수로 나타낼 수 있다(이것은 나눗셈에 의한 적절한 잔기이기 때문이다).서로 다른 잔기급 모듈로n의 2개 부재는 모두 부조화 모듈로n이다.또, 각 정수는 1개의 잔기 클래스 모듈로 [3]n에 속하고 있다.
정수 {0, 1, 2, ..., n - 1}의 집합을 최소 잔차계 모듈로 n이라고 합니다.n개의 정수의 집합 중 2개가 합동 모듈로 n이 아닌 것을 완전 잔차계 모듈로 n이라고 한다.
최소 잔류 시스템은 완전 잔류 시스템이며, 완전 잔류 시스템은 각 잔류 클래스 모듈 [4]n을 대표하는 한 개의 정확히 들어 있는 세트입니다.예를들면.최소 잔류 시스템 모듈 4는 {0, 1, 2, 3)이다.기타 전체 잔류 시스템 모듈 4에는 다음이 포함됩니다.
- {1, 2, 3, 4}
- {13, 14, 15, 16}
- {−2, −1, 0, 1}
- {−13, 4, 17, 18}
- {−5, 0, 6, 21}
- {27, 32, 37, 42}
완전한 잔류 시스템 모듈 4가 아닌 일부 세트는 다음과 같습니다.
- {-5, 0, 6, 22}는 6이 22 모듈로 4와 일치하므로
- 완전 잔류 시스템 모듈 4는 정확히 4개의 불일치 잔류 클래스를 가져야 하므로 {5, 15}.
잔류물 감소 시스템
오일러의 전체 함수 θ(n)가 주어졌을 때, n에 대해 상대적으로 소수이고 계수 n에서 서로 불일치하는 모든 θ(n) 정수의 집합을 환원 잔차계 모듈로 [5]n이라고 한다.예를 들어 위의 집합 {5,15}은 감소된 잔류 시스템 모듈 4의 인스턴스입니다.
정수 모듈론
계수 n에 대한 정수의 모든 일치 클래스 집합을 정수 모듈로 [6]n의 링이라고 하며 Z/ Z/\{Z displaystyle \ /n Z})로 됩니다[7]단, 은 n-adic 정수 집합과 혼동될 수 있으므로 권장하지 않습니다.Z / style {Z는 수학의 다양한 분기에서 기본입니다(아래 § 응용 프로그램 참조).
n > 0 의 세트는 다음과 같이 정의됩니다.
(n = 때 / Z {\ /은(는) 빈 집합이 아니며, a = {a}이므로0Z {\ 와 동형입니다.)
ZZ(\ /에 더하기, 빼기 및 곱셈을 다음 규칙으로 정의합니다.
이것이 적절한 정의인지 확인하기 위해 이전에 지정된 속성이 사용됩니다.
이와 같이 ZZ{Z는 교환환이다.를 들어,링 / Z \ \{ / \ { Z 에서는, 다음과 같이 됩니다.
24시간 시계의 산술처럼요
Z/ Z(\ /})을 사용합니다.이는 (\ n에 의한 Z (\displaystyle 의 정수 이기 때문입니다.서 0Z (\ { })는 0\style {Zyle {Z}로 나누어집니다. Z Z /는 Z n가 최대 아이디얼(즉, n이 소수일 때)인 필드입니다.
는 그룹Z(\에서 추가 연산만으로 구성할 수도 있습니다.잔차 클래스n a는 주기군[8]Z / Z \ / 에 있는 a의 군 코셋입니다.
특수한 경우 n = 0을 제외하는 것보다 Z/ {Z}} (앞에서 설명한 바와 같이 정수의 링 {}와 동형)를 하는 것이 더 유용합니다.사실, 이 포함은 고리의 특성을 논할 때 유용합니다.
정수 modulo n의 링은 n이 소수인 경우에만 유한 필드입니다(이로 인해 0이 아닌 모든 요소가 곱셈 역수를 가집니다).k>만약 nxpk{\displaystyle n=p^{k}}은 주 전원, 1, n요소와 실패한 독특한(유질 동상까지) 유한 체 GF(n))Fn{\displaystyle \mathrm{여자 친구}(n)=\mathbb{F}_{n}}는 없지만 Z/nZ{\displaystyle \mathbb{Z}/n\mathbb{Z}}가 되려면 필드 때문에 i. 존재하t0-divisor가 있습니다.
정수 모듈로n의 곱셈 부분군은 (/ )× {\ /로 나타나며, 이는 정확히 역승수를 갖는θ {\_n}}}로 된다.이것은 곱셈 하의 교환 그룹을 형성합니다.는 () \ \(n )
실수에 대한 확장
이 섹션은 비어 있습니다.추가해서 도와주시면 됩니다. (2022년 7월) |
적용들
이론 수학에서, 모듈식 산수는 수 이론의 기초 중 하나이며, 연구의 거의 모든 측면을 다루고, 또한 군 이론, 링 이론, 매듭 이론, 그리고 추상 대수학에서도 광범위하게 사용됩니다.응용 수학에서, 그것은 컴퓨터 대수학, 암호학, 컴퓨터 과학, 화학, 그리고 시각 예술과 음악 예술에 사용된다.
매우 실용적인 어플리케이션은 시리얼 번호 식별자 내에서 체크섬을 계산하는 것입니다.예를 들어 ISBN(International Standard Book Number)에서는 오류 검출에 모듈로 11(10자리 ISBN) 또는 모듈로 10(13자리 ISBN)의 산술이 사용됩니다.마찬가지로 IBAN(International Bank Account Number)은 모듈로 97의 산술을 사용하여 은행 계좌 번호의 사용자 입력 오류를 발견합니다.화학에서 CAS 레지스트리 번호의 마지막 자리수(화합물별 고유 식별 번호)는 체크 자리수이며, CAS 레지스트리 번호의 첫 번째 두 자리수 1, 이전 자리수 2, 이전 자리수 3 등을 취하여 이를 모두 가산하여 계산한다.
암호학에서는 RSA 및 Diffie와 같은 공개 키 시스템을 모듈식 산술로 직접 뒷받침합니다.Hellman 및 타원 곡선의 기초가 되는 유한 필드를 제공하며 Advanced Encryption Standard(AES), International Data Encryption Algorithm(IDE), RC4. RSA 및 Diffie 등 다양한 대칭 키 알고리즘에 사용됩니다.Hellman은 모듈식 인수를 사용합니다.
컴퓨터 대수학에서 모듈식 산술은 중간 계산과 데이터에서 정수 계수의 크기를 제한하기 위해 일반적으로 사용된다.이는 알려진 모든 효율적인 알고리즘이 모듈식 산술을 사용하는 문제인 다항식 인수분해에서 사용됩니다.정수와 유리수에 대한 다항식 최대공약수, 정확한 선형 대수 및 그뢰브너 기반 알고리즘의 가장 효율적인 구현에 사용된다.1980년대에 Fidonet에 게시되어 Rosetta Code에 보관된 것처럼 모듈식 산술은 CDC 6600 슈퍼컴퓨터가 20년 전에 사용한 정수 정밀도의 1/4만을 사용하여 싱클레어 QL 마이크로컴퓨터에서 오일러의 거듭제곱의 합을 반증하는 데 사용되었다.[9]
컴퓨터 과학에서 모듈식 산술은 종종 고정 폭의 순환 데이터 구조를 포함하는 비트 연산 및 기타 연산에 적용된다.모듈로 연산은 많은 프로그래밍 언어와 계산기에서 구현되는 모듈식 산술의 응용 프로그램이며, 이러한 맥락에서 자주 사용됩니다.논리 연산자 XOR은 2비트 모듈로 2를 합합니다.
음악에서 산술모듈로12는 옥타브와 엔히모닉 등가(즉, 1:2 또는 2:1의 비율로 음높이가 동등하고 C-샤프는 D-플랫과 동일)가 발생하는 12음 등가 기질을 고려하기 위해 사용된다.
nine을 추출하는 방법은 손으로 수행하는 10진수 산술 계산을 빠르게 확인할 수 있습니다.이것은 모듈식 산술 모듈로 9에 기초하고 있으며, 특히 10µ1(mod 9)이라는 중요한 특성에 기초하고 있습니다.
산술모듈로7은 특정 날짜에 요일을 결정하는 알고리즘에 사용됩니다.특히 젤러의 일치와 최후의 날 알고리즘은 모듈로-7 산수를 많이 사용한다.
보다 일반적으로 모듈식 산술은 법률(예: 배분), 경제(예: 게임 이론) 및 기타 사회과학 분야에서도 적용되며, 여기서 자원의 비례 분할과 배분이 분석의 중심 부분을 담당한다.
계산의 복잡성
모듈식 산술은 응용 범위가 매우 넓기 때문에, 합동 시스템을 푸는 것이 얼마나 어려운지를 아는 것이 중요합니다.선형 합치계는 가우스 제거의 형태로 다항식 시간에 풀 수 있습니다. 자세한 내용은 선형 합치 정리를 참조하십시오.또한 Montgomery reduction과 같은 알고리즘도 존재하며 곱셈이나 지수변수와 같은 간단한 산술 연산을 많은 수로 효율적으로 수행할 수 있습니다.
이산 로그나 2차 합치도 찾는 것과 같은 일부 연산은 정수 인수 분해만큼 어려운 것으로 보이며, 따라서 암호화 알고리즘과 암호화에 대한 시작점이 됩니다.이러한 문제는 NP-중간일 수 있습니다.
비선형 모듈식 산술 방정식의 시스템을 푸는 것은 NP-완전이다.[10]
구현 예시
다음으로 과도 연산의 오버플로 없이 63비트 이하의 부호 없는 정수에 대해 모듈러 곱셈을 실행하기 위한 기능과 모듈러 곱셈을 실행하기 위한 기능의 3가지를 나타냅니다.
b( m a b[11]를 하는 알고리즘 방법:
uint64_t 멀티 모드(uint64_t a, uint64_t b, uint64_t m) { 한다면 (!((a b) & (0xFFFFFFULL << > 32))) 돌아가다 a * b % m; uint64_t d = 0, mp2 = m >> 1; 인트 i; 한다면 (a >= m) a %= m; 한다면 (b >= m) b %= m; 위해서 (i = 0; i < > 64; ++i) { d = (d > mp2) ? (d << > 1) - m : d << > 1; 한다면 (a & 0x8000000000000000ULL) d += b; 한다면 (d >= m) d -= m; a <<=> 1; } 돌아가다 d; }
컴퓨터 구조들에 효험이 있는 동안 회사, 하드웨어에 의해, 제품의 가장 중요한 비트 속에서 부동 소수 점 곱셈, 계속 고용하고 있는에 의해 mantissa의 최소 64비트로 연장된 정밀 형식 사용 가능합니다( 같은 긴 더블형의 대부분의 x86C컴파일러), 다음과 같은 일상적인 is[해명 필요한].곱셈 rteger유지되는 [citation needed]최하위 비트에서의 esult:
uint64_t 멀티 모드(uint64_t a, uint64_t b, uint64_t m) { 긴 더블 x; uint64_t c; int64_t r; 한다면 (a >= m) a %= m; 한다면 (b >= m) b %= m; x = a; c = x * b / m; r = (int64_t)(a * b - c * m) % (int64_t)m; 돌아가다 r < > 0 ? r + m : r; }
아래는 모듈러 인수를 실행하기 위한 C 함수입니다.이 함수는 위에서 구현한 mul_mod 함수를 사용합니다.
( m a를 하는 알고리즘 방법:
uint64_t 전원 모드(uint64_t a, uint64_t b, uint64_t m) { uint64_t r = m == 1 ? 0 : 1; 하는 동안에 (b > 0) { 한다면 (b & 1) r = 멀티 모드(r, a, m); b = b >> 1; a = 멀티 모드(a, a, m); } 돌아가다 r; }
단, 위의 모든 루틴이 작동하려면 m이 63비트를 초과할 수 없습니다.
「 」를 참조해 주세요.
메모들
- ^ Sandor Lehoczky; Richard Rusczky. David Patrick (ed.). the Art of Problem Solving. Vol. 1 (7 ed.). p. 44. ISBN 0977304566.
- ^ Weisstein, Eric W. "Modular Arithmetic". mathworld.wolfram.com. Retrieved 2020-08-12.
- ^ 페토프레조 & 바이르킷 (1970, 페이지 90)
- ^ 긴 (1972년, 페이지 78)
- ^ 긴 (1972년, 페이지 85)
- ^ 아래 그림과 같이 반지입니다.
- ^ "2.3: Integers Modulo n". Mathematics LibreTexts. 2013-11-16. Retrieved 2020-08-12.
- ^ Sengadir T., 이산 수학 및 조합학, 293페이지, Google Books에서
- ^ "Euler's sum of powers conjecture". rosettacode.org. Retrieved 2020-11-11.
- ^ Garey, M. R.; Johnson, D. S. (1979). Computers and Intractability, a Guide to the Theory of NP-Completeness. W. H. Freeman. ISBN 0716710447.
- ^ 이 코드에서는 부호 없는 긴 16진수의 경우 C 리터럴 표기가 사용됩니다.
ULL
. 언어사양 n1570 섹션 6.4.4도 참조하십시오.
레퍼런스
- 존 L. 버그렌"산술"브리태니커 백과사전.
- 기본적인 모듈식 산술의 재검토에 대해서는, 특히 제5장과 제6장을 참조해 주세요Apostol, Tom M. (1976), Introduction to analytic number theory, Undergraduate Texts in Mathematics, New York-Heidelberg: Springer-Verlag, ISBN 978-0-387-90163-3, MR 0434929, Zbl 0335.10001.
- 마르텐 불링크 "C.F. 전에 모듈식 산술" 가우스. 18세기 독일의 남은 문제에 대한 체계적 만족과 논의"
- 토마스 H. 코먼, 찰스 E. 리저슨, 로널드 L. 리베스트, 클리포드 스타인.알고리즘 소개, 제2판MIT Press and McGraw-Hill, 2001.ISBN 0-262-03293-7.섹션 31.3: 모듈식 산술, 페이지 862–868.
- Anthony Gioia, 숫자 이론, 소개 전재(2001) 도버.ISBN 0-486-41449-3.
- Long, Calvin T. (1972). Elementary Introduction to Number Theory (2nd ed.). Lexington: D. C. Heath and Company. LCCN 77171950.
- Pettofrezzo, Anthony J.; Byrkit, Donald R. (1970). Elements of Number Theory. Englewood Cliffs: Prentice Hall. ISBN 9780132683005. LCCN 71081766.
- Sengadir, T. (2009). Discrete Mathematics and Combinatorics. Chennai, India: Pearson Education India. ISBN 978-81-317-1405-8. OCLC 778356123.
외부 링크
- "Congruence", Encyclopedia of Mathematics, EMS Press, 2001 [1994]
- 이 모듈러 아트 기사에서는, 아트에서의 모듈러 산술의 응용에 대해 더 많이 배울 수 있다.
- GIMPS Wiki의 모듈러 산술에 관한 기사
- 모듈러 연산 및 패턴 추가 및 곱셈표