다항식 근 찾기 쉽게 이해하기 — 개념과 원리
이 계산기는 차수에 관계없이 다항식의 모든 근을 실근과 허근까지 찾아 줍니다. 최고차항부터 상수항까지 계수를 차례로 넣으면 n차 다항식에 대해 n개의 근을 보여 줍니다. 5차 이상에서는 거듭제곱근으로 나타내는 일반 공식이 없으므로(아벨-루피니 정리), 공학, 제어, 신호 처리, 물리학에서는 이런 수치적 방법으로 근을 구합니다.
계산 방법
- 앞쪽의 0을 지우고 모든 계수를 최고차항 계수로 나누어 p(z) = zⁿ + c₁zⁿ⁻¹ + … + cₙ 꼴로 만듭니다.
- 복소평면의 원 위에 흩어진 n개의 서로 다른 초기값에서 시작합니다.
- 뒤랑-커너(바이어슈트라스) 반복법으로 모든 근사값을 한꺼번에 고칩니다. zᵢ ← zᵢ − p(zᵢ) ÷ ∏(zᵢ − zⱼ)이며, 곱은 j ≠ i인 모든 j에 대해 구합니다.
- 500번 반복한 뒤 유효숫자 8자리로 보여 주고, 허수부가 10⁻⁹보다 작으면 실근으로 표시합니다.
원리
대수학의 기본정리에 따르면 n차 다항식은 p(z) = (z − r₁)(z − r₂)…(z − rₙ)으로 완전히 인수분해됩니다. zᵢ를 뺀 나머지 근사값이 모두 정확한 근이라면 p(zᵢ) ÷ ∏(zᵢ − zⱼ)는 정확히 zᵢ − rᵢ이므로 한 번에 근에 도달합니다. 이 보정을 모든 근사값에 동시에 적용하면 각각이 서로 다른 근으로 끌려가고, 분모 덕분에 같은 근으로 몰리지 않습니다. 중근이 아닌 근 근처에서는 반복할 때마다 맞는 자릿수가 대략 두 배로 늘어납니다.
예제 풀이
- 입력값: 1 0 −7 6, 즉 p(x) = x³ − 7x + 6입니다(x²의 계수는 0).
- 최고차항 계수가 이미 1이므로 세 초기값을 바로 반복합니다.
- 근사값이 2, −3, 1로 수렴합니다.
- 계산기는 근을 작은 것부터 정렬해 보여 줍니다. 결과: −3, 1, 2입니다.
- 확인: p(1) = 1 − 7 + 6 = 0이므로 (x − 1)이 인수이고, 나누면 x² + x − 6 = (x − 2)(x + 3)입니다.
결과 해석
근은 크기순이 아니라 반복이 수렴한 순서대로 나옵니다. 계수가 실수인 다항식의 허근은 a ± bi처럼 켤레로 짝지어 나타납니다. 근과 계수의 관계로 검산하면 세 근의 합은 −(둘째 계수 ÷ 첫째 계수)로, 예제에서는 2 − 3 + 1 = 0입니다.
흔한 실수
- 0인 계수를 빠뜨려 차수가 밀리는 경우(x³ − 7x + 6은 1 0 −7 6)
- 상수항부터 거꾸로 입력하는 경우
- √2 같은 정확한 값을 기대하는 경우(결과는 소수 근삿값입니다)
자주 묻는 질문
n차 다항식은 왜 항상 n개의 근을 가지나요?
대수학의 기본정리 때문입니다. 중근은 겹치는 횟수만큼 세고, 복소수까지 포함하면 정확히 n개입니다.
5차방정식의 근의 공식은 없나요?
일반적으로는 없습니다. 아벨-루피니 정리는 사칙연산과 거듭제곱근만으로 모든 5차 이상 방정식을 풀 수는 없음을 보여 줍니다.
실근만 알고 싶으면 어떻게 하나요?
i가 붙지 않은 근만 보시면 됩니다.
출처: I. O. Kerner, Ein Gesamtschrittverfahren zur Berechnung der Nullstellen von Polynomen, Numerische Mathematik 8 (1966) · E. Durand, Solutions numériques des équations algébriques, Masson, 1960