Jump to content

Euler's factorization method

This is a fully translated article. Click here for more information.
From DawoumWiki, the free Mathematics self-learning

오일러(Euler)의 인수분해 방법은 숫자를 두 가지 다른 방법으로 두 제곱의 합으로 씀으로써 그것을 인수화(factoring)하는 기법입니다. 예를 들어, 숫자 으로 또는 으로 쓸 수 있고 오일러의 방법은 인수분해 를 제공합니다.

홀수 양의 정수의 두 가지 별개의 표현이 인수분해로 이어질 수 있다는 아이디어는 마랭 메르센(Marin Mersenne)에 의해 처음 제안된 것으로 보입니다. 어쨌든, 그것은 오일러에 의해 100년 후까지 광범위하게 사용되지 않았습니다. 현재 그의 이름을 지니는 그 방법의 그의 가장 유명한 사용은 숫자 를 인수분해하는 것이었으며, 심지어 그것이 임의의 주요 소수성 테스트에서 유사소수(pseudoprime)가 아닐지라도, 이전에는 소수라고 생각했던 것 같습니다.

오일러의 인수분해 방법은 그것의 인수가 함께 가깝지 않은 정수에 대해 페르마의 방법보다 더 효과적이고 만약 우리가 두 제곱의 합으로 숫자 표현을 합리적으로 쉽게 찾을 수 있으면 시도 나눗셈보다 잠재적으로 훨씬 더 효율적입니다. 오일러의 개발은 궁극적으로 훨씬 더 효율적인 숫자의 인수화를 가능하게 했고, 1910년대까지, 약 천만에 이르는 큰 인수 테이블의 개발을 가능하게 했습니다.[citation needed] 두 제곱의 합으로 숫자 표현을 찾기 위해 사용되는 방법은 페르마의 인수분해 방법(Fermat's factorization method)에서 제곱의 차이를 찾는 것과 본질적으로 같습니다.

오일러 인수분해 방법의 가장 큰 단점은 형식 4k + 3의 임의의 소수 인수가 그것의 소수 인수분해에서 홀수 거듭제곱으로 발생하는 정수를 인수화하는 것에 적용될 수 없다는 것인데, 왜냐하면 그러한 숫자는 결코 두 제곱의 합이 될 수 없기 때문입니다. 심지어 형식 4k + 1의 홀수 합성수(composite number)도 종종 형식 4k + 3의 두 소수의 곱 (예를 들어, 3053 = 43 × 71)이고 다시-한번 결코 오일러의 방법에 의해 인수화될 수 없습니다.

이러한 제한된 적용-가능성은 컴퓨터(computer) 인수화 알고리듬(algorithm)에 대해 오일러의 인수분해 방법을 선호되지 않게 만들어 왔는데, 왜냐하면 어떤 정수를 인수분해하랴고 시도하는 임의의 사용자는 오일러의 방법이 질문에서 그 정수에 실제로 적용될 수 있는지 여부를 알 가능성이 거의 없기 때문입니다. 오일러의 방법이 적용될 수 있는 것으로 알려진 특수한 숫자의 사용에 대해 오일러의 방법을 컴퓨터 알고리듬으로 개발하려는 시도는 오직 비교적 최근에 이루어졌습니다.

Theoretical basis

브라마굽터–피보나치 항등식(Brahmagupta–Fibonacci identity)은 두 제곱의 두 합의 곱이 두 제곱의 합이라는 것을 말합니다. 오일러의 방법은 이 정리에 의존하지만, 그것이 전환, 가 주어지면, 우리가 을 두 제곱의 합의 곱으로 찾는 것으로 보일 수 있습니다.

먼저 다음임을 추론합니다:

그리고 양쪽 변을 인수화해서 다음을 얻습니다:

(1)

이제 다음을 만족시키는 어떤 상수 이 존재하도록 이라고 놓습니다:

  • ,
  • ,

  • ,
  • ,

이것들을 방정식 (1)으로 대체하면 다음을 제공합니다:

공통 인수를 제거하면 다음을 산출합니다:

이제 가 상대적으로 소수의 쌍이라는 사실을 사용하여, 우리는 다음임을 찾습니다:

따라서

우리는 이제 임을 압니다.

브라마굽터–피보나치 항등식(Brahmagupta–Fibonacci identity)을 적용하면, 우리는 다음을 얻습니다:

각 인수가 두 제곱의 합이므로, 이들 중 하나는 둘 다 짝수: 또는 를 포함해야 합니다. 일반성의 손실 없이, 쌍 가 짝수임을 가정합니다. 인수분해는 그런-다음 다음이 됩니다:

Worked example

다음이므로:

우리는 위의 공식으로부터 다음을 가집니다:

a = 1000 (A) ac = 28 k = gcd[A,C] = 4
b = 3 (B) a + c = 1972 h = gcd[B,D] = 34
c = 972 (C) db = 232 l = gcd[A,D] = 14
d = 235 (D) d + b = 238 m = gcd[B,C] = 116

따라서,

References