콘텐츠로 이동

05 · 대수적 실근: 고립 구간과 이분법

대수적 실근: 고립 구간과 이분법

다항식과 정확히 한 근을 담은 유리수 구간으로 한 실근을 표현하고 구간을 좁힙니다.

이 장을 읽기 전에

다항식을 정확히 평가하고 구간 안의 근 수를 셀 수 있습니다.

이 장을 마치면
  • ‘대수적 실근: 고립 구간과 이분법’의 수학적 정의를 자신의 말로 설명하기
  • 그 정의가 Python 데이터로 표현되는 방법 찾기
  • 실제 코드에서 작은 실행 과정을 예측하기
수학적 정의

대수적 실수는 0이 아닌 다항식의 실근입니다. 여기서는 다항식과 한 근을 고립하는 열린 구간으로 특정 근을 지정합니다.

데이터 표현

`AlgebraicRoot`는 다항식과 유리수 끝점을 저장하고 유일성을 검사하며 `RationalInterval`은 각 근사 구간을 저장합니다.

Python 구현

`(p,(a,b))` → `AlgebraicRoot`; `Iₙ → Iₙ₊₁` → `_bisect`

함께 읽을 구현과 테스트

peano/algebraic_root.py · tests/test_algebraic_root.py

수학적 정의

수학적 정의

대수적 실수는 0이 아닌 다항식의 실근입니다. 여기서는 다항식과 한 근을 고립하는 열린 구간으로 특정 근을 지정합니다.

데이터 표현

데이터 표현

AlgebraicRoot는 다항식과 유리수 끝점을 저장하고 유일성을 검사하며 RationalInterval은 각 근사 구간을 저장합니다.

Python 구현

Python 구현

_bisect가 유리수 중점을 구하고 근 수로 유일한 근이 남는 절반을 선택하며 trace가 이를 반복합니다.

이 강의에서 사용하는 정확한 대응:

`(p,(a,b))` → `AlgebraicRoot`; `Iₙ → Iₙ₊₁` → `_bisect`

실행 과정

실행 과정

x²-2의 양의 근은 (1,2)에서 시작하며 구간은 유리수, 중첩 상태를 유지하고 폭이 절반이 됩니다.

실행 전 예측

처음 세 중점을 계산하고 매번 어느 절반이 남는지 예측하세요.

실험 · 대수적 실근: 고립 구간과 이분법 실행 전
⌘ / Ctrl + Enter
출력
먼저 예측을 적고 실행하세요.

테스트로 확인

테스트로 확인

테스트는 처음에 근이 하나인지와 구간의 중첩, 폭 감소를 확인합니다.

범위와 한계

범위와 한계

한 실근의 근사를 관찰하는 형식이며 대수적 수의 완전한 연산과 일반적 같음은 제공하지 않습니다.

‘대수적 실근: 고립 구간과 이분법’의 구현을 올바르게 설명한 것은 무엇인가요?