도구스학업·수학

스투름 수열 실근 개수 계산기

다항식과 도함수로 스투름 수열을 만들어 구간 안의 서로 다른 실근이 몇 개인지 정확히 셉니다. 근을 하나씩 가둔 구간까지 내고 데카르트 부호 법칙의 상한과 나란히 보여 줍니다.

x³ − 3x − 1이면 1, 0, -3, -1 — 지금 4개(8차까지)

p(x) = x³ − 3x − 1

구간 (-10, 10] 안의 서로 다른 실근

3개

V(a) 3 − V(b) 0 · 실수 전체로는 3개 · 중근 없음

구간 안의 서로 다른 실근3
실수 전체의 서로 다른 실근3
V(a) — 왼쪽 끝의 부호 변화3
V(b) — 오른쪽 끝의 부호 변화0
중근 여부없음 (마지막 항이 상수)
다항식a에서b에서
px³ − 3x − 1-971 969 +
p¹x² − 199 +99 +
p²x + 0.5-9.5 10.5 +
p³11 +1 +
가둔 구간근의 값p(근)
(-2.5, -1.25]-1.53208889-2.25e-12
(-1.25, 0]-0.347296364.37e-12
(0, 10]1.87938524-2.64e-11
검산 스투름으로 센 개수가 3개이고, 두랑-케르너로 근을 직접 구해 세면 3개입니다. 두 값이 맞습니다. 구간 안의 실근은 -1.532089, -0.347296, 1.879385입니다.
데카르트 부호 법칙은 «상한»만, 스투름은 «정확한 값»을 줍니다. 지금 다항식의 계수 부호 변화는 1회라, 데카르트 법칙으로는 양의 근이 최대 1개라는 것까지만 알 수 있습니다(실제는 그보다 2씩 적을 수 있습니다). p(−x)의 부호 변화는 2회라 음의 근은 최대 2개입니다. 스투름은 아무 구간에나 쓸 수 있고 정확한 개수를 줍니다.
구간은 왼쪽이 열리고 오른쪽이 닫힙니다. (a, b]이므로 a가 근이면 세지 않고 b가 근이면 셉니다. 같은 근을 두 구간에서 두 번 세지 않으려는 약속입니다. 구간을 이어 붙여 나눠 셀 때 이 규칙 덕분에 합이 맞습니다.
근을 «가두는» 데까지 쓸 수 있습니다. 구간을 반씩 갈라 각 조각의 개수를 세면 근이 하나씩만 든 구간으로 나눌 수 있습니다. 뉴턴법이나 이분법에 「어디서 시작하라」를 줄 수 있고, 근을 못 찾거나 엉뚱한 근으로 수렴하는 사고가 거의 이 시작점 문제입니다.
호제법을 되풀이하면 자릿수를 잃습니다. 차수가 높거나 계수의 크기가 고르지 않으면 수열의 계수가 커지거나 작아져 부호를 잘못 읽을 수 있습니다. 그래서 이 계산기는 근을 직접 구해 센 개수를 함께 보여 두 값이 맞는지 확인할 수 있게 했습니다.

계산 방법

  1. 1다항식의 계수를 내림차순으로 넣습니다. x³ − 3x − 1이면 1, 0, -3, -1입니다.
  2. 2세고 싶은 구간의 양 끝을 정합니다. 왼쪽은 열리고 오른쪽은 닫힌 (a, b]입니다.
  3. 3V(a) − V(b)가 그 구간 안의 서로 다른 실근 개수입니다.
  4. 4가둔 구간 표에서 각 근이 어디에 하나씩 들어 있는지 확인합니다.

자주 묻는 질문

다항식 p와 도함수 p′로 유클리드 호제법을 돌리되 나머지의 부호를 뒤집어 만든 수열의, 양 끝에서의 부호 변화 수 차이가 그 구간 안의 서로 다른 실근 개수와 정확히 같다는 정리입니다. 근을 구하지 않고 개수만 먼저 알 수 있고, 「대략」이나 「최대」가 아니라 정확한 값을 줍니다.

한 번만 셉니다. 스투름이 세는 것은 서로 다른 실근의 개수이므로 (x−2)³은 3개가 아니라 1개로 나옵니다. 이것이 이 정리에서 가장 흔한 오해입니다. 중복도까지 세려면 다른 방법이 필요합니다.

개수는 맞게 나옵니다. 중근이 있으면 수열의 마지막 0이 아닌 항이 상수가 아니라 gcd(p, p′)가 되는데, 이는 수열 전체를 같은 것으로 나눈 셈이라 부호 변화 수가 달라지지 않기 때문입니다. 오히려 마지막 항이 상수인지 아닌지로 중근이 있는지 없는지를 알 수 있어, 이 계산기는 그것도 함께 보여 줍니다.

데카르트 법칙은 상한만 주고 스투름은 정확한 값을 줍니다. 계수의 부호 변화 수는 양의 근의 최대 개수이며 실제는 그보다 2씩 적을 수 있습니다. 또 데카르트는 양수 구간과 음수 구간만 볼 수 있지만 스투름은 아무 구간에나 쓸 수 있습니다. 이 계산기는 둘을 나란히 놓아 차이를 보여 줍니다.

왼쪽이 열리고 오른쪽이 닫힌 (a, b]입니다. a가 근이면 세지 않고 b가 근이면 셉니다. 구간을 이어 붙여 나눠 셀 때 같은 근을 두 번 세지 않으려는 약속이며, 덕분에 나눠 센 개수의 합이 전체와 맞습니다.

구간을 반씩 갈라 근이 하나씩만 든 구간으로 나눈 뒤 이분법으로 좁혀 알려 줍니다. 이것을 근의 분리라고 하며, 뉴턴법이나 이분법에 「어디서 시작하라」를 주는 데 씁니다. 근을 못 찾거나 엉뚱한 근으로 수렴하는 사고가 거의 이 시작점 문제입니다.

호제법을 되풀이하면 계수가 커지거나 작아져 자릿수를 잃을 수 있으므로, 이 계산기는 두랑-케르너로 근을 직접 구해 센 개수를 함께 보여 줍니다. 두 값이 맞으면 안심해도 되고, 어긋나면 차수가 높거나 계수 크기가 고르지 않아 수치적으로 어려운 경우입니다.

전송되지 않습니다. 계산은 모두 브라우저 안에서 이루어지고 넣은 값은 이 기기에만 남습니다.

알아두면 좋은 점

  • 세는 것은 서로 다른 실근의 개수입니다. 중근은 한 번만 셉니다.
  • 구간은 왼쪽이 열리고 오른쪽이 닫힌 (a, b]입니다.
  • 수열의 마지막 0이 아닌 항이 상수가 아니면 중근이 있다는 뜻입니다.
  • 데카르트 부호 법칙은 상한만 줍니다. 실제 개수는 그보다 2씩 적을 수 있습니다.
  • 호제법을 되풀이하면 자릿수를 잃습니다. 근을 직접 구해 센 개수와 견줘 검산합니다.
  • 8차까지 다룹니다.

함께 보면 좋은 도구

마지막 검증: 2026년 9월 2일 · 결과는 참고용 추정치입니다.