본문으로 건너뛰기
AZ Tools

다항식 근 계산기 (3차·4차 이상)

30차까지의 다항식(3차, 4차 이상)의 실근과 복소근을 모두 구하고, 중복도·인수분해 형태·잔차 검사도 보여 줍니다.

계수: [1, -6, 11, -6] · 3차 · 실근 3개, 복소근 0개(중복 포함)

근

근실수부허수부중복도잔차
11010.0e+0
22010.0e+0
33010.0e+0
실수 범위 인수분해
(x − 1)(x − 2)(x − 3)

비에트 검사: 근의 합 6 (기대값 6) · 곱 6 (기대값 6)

sympy의 파서·정확한 근과 mpmath의 50자리 polyroots로 확인했습니다. 브라우저에서 실행됩니다.

사용법

  1. x에 대한 다항식을 입력합니다. 거듭제곱은 ^, 곱셈은 생략 가능(2x, 3(x+1), (x-1)(x+2))하며, 최고차부터 계수 목록으로 입력해도 됩니다.
  2. 입력칸 아래에 표시되는 계수와 차수를 확인합니다.
  3. 근과 중복도·잔차, 인수분해 형태, 비에트 검사를 확인합니다.

자세한 설명

펼치기

다항식을 쓰던 대로 입력하거나(x^3 - 6x^2 + 11x - 6, (x-1)^2(x+3), 3(x+0.5)^2 - 12) 최고차부터 계수 목록으로 입력하면, 30차까지 모든 실근과 복소근을 찾습니다. 근의 공식 너머로 3차·4차에는 닫힌 형식이 있지만 번거롭고 수치적으로 불안정하며, 5차부터는 아예 없습니다(아벨–루피니 정리). 그래서 이 도구는 Aberth–Ehrlich 방법을 씁니다. 원 위의 시작점들에서 모든 근을 함께 다듬어, 어느 근도 마지막 자리 몇 단위 이상 움직이지 않을 때까지 반복합니다. 각 근은 잔차와 함께 나옵니다. 잔차는 항들의 크기에 대한 |p(z)|의 비율로, 10⁻¹⁶ 근처면 배정밀도가 허락하는 만큼 정확하다는 뜻입니다. 다항식은 실수 범위에서 인수분해한 형태로 다시 쓰며, 켤레 복소근 쌍마다 이차 인수가 됩니다. 근의 합과 곱을 계수와 비교하는 비에트 검사도 추가로 보여 줍니다. 중근은 주의가 필요합니다. 부동소수점에서 이중근은 약 10⁻⁸, 삼중근은 약 10⁻⁵ 정도로밖에 위치를 정할 수 없는데, 그 근처에서 다항식이 평평하기 때문입니다. 도구는 그 정확도 안에서 겹치는 근들을 알아보고 중복도와 함께 한 번만 보고하며, 그 값을 (m − 1)차 도함수의 단순근으로 다듬어 거의 완전한 정밀도를 되찾습니다. 어떤 다항식은 본질적으로 조건이 나쁩니다. 유명한 윌킨슨 예제, 즉 k = 1~20에 대한 (x − k)의 곱은 x¹⁹의 계수 −210을 2⁻²³(약 20억분의 1)만큼만 바꿔도 실근 10개가 복소근 5쌍이 되며, 허수부가 3 가까이 되는 것도 있습니다. 계수는 실수이며 복소 계수는 지원하지 않습니다.

자주 묻는 질문

5차 방정식의 근의 공식이 있나요?

없습니다. 아벨–루피니 정리에 따라 5차 이상에는 거듭제곱근으로 된 일반 공식이 없으므로, 이 도구는 근을 수치적으로 찾습니다. 3차와 4차는 공식이 있지만 부동소수점에서 정확도를 잃기 쉬워, 수치적 방법이 더 간단하고 더 정확합니다.

중근이 조금씩 다르게 나오는 이유는?

이중근 근처에서는 다항식이 평평해서 값의 10⁻¹⁶ 반올림 오차가 근을 약 10⁻⁸만큼 옮기고, 삼중근은 약 10⁻⁵만큼 옮깁니다. 도구는 그 정확도 안에서 겹치는 근을 묶어 중복도를 보여 주고, 그 값을 (m − 1)차 도함수의 단순근으로 다듬어 거의 완전한 정밀도를 되찾습니다.

잔차 열은 무슨 뜻인가요?

z에서의 |p(z)|를 각 항 크기의 합으로 나눈 값, 즉 남은 부분의 상대적 크기입니다. 10⁻¹⁶~10⁻¹⁴ 정도면 작업 정밀도만큼 정확한 근이고, 더 크면 대개 다항식의 조건이 나빠 근을 정확히 정하지 못했다는 신호입니다.

다항식은 어떻게 입력하나요?

x에 대한 식으로(거듭제곱은 ^ 또는 **, 2x나 (x-1)(x+2) 같은 곱셈 생략, 괄호의 거듭제곱 가능) 입력하거나, 최고차부터 계수를 쉼표나 공백으로 구분해 입력합니다. 1, -6, 11, -6은 x³ − 6x² + 11x − 6입니다. 빠진 차수에는 0을 넣어야 합니다.

복소근은 왜 쌍으로 나오나요?

계수가 실수이면 복소근은 항상 켤레 쌍 a ± bi로 나옵니다. 각 쌍을 곱하면 실수 이차식 x² − 2ax + (a² + b²)가 되며, 인수분해 형태에 그렇게 나타납니다.

관련 도구