1. 개요
Continued fraction · 連分數
분모가 정수와 분수의 합으로 연달아 표기되는 분수. 일반적으로 유리수는 두 정수의 비로 나타낼 수 있고 무리수는 그럴 수 없지만, 연분수라는 특수한 분수를 사용하면 무리수도 분수로 나타낼 수는 있다. 다만, 어떤 수를 연분수로 나타낼 때, 유리수라면 언젠가는 끝이 나지만 무리수라면 연분수가 한없이 이어진다. 후술했듯이 어떤 무리수의 근사치인 유리수, 즉 근사분수를 찾기 위해서도 연분수가 쓰인다.
간혹 이런 것과는 상관없이 식을 전개하다 연분수가 나오는 경우가 있는데, 이 경우에는
[math(dfrac{dfrac{d}{c}}{dfrac{b}{a}}=dfrac{d}{c} times dfrac{a}{b}=dfrac{ad}{bc} )]
꼴로 정리하면 일반적인 분수로 바꿀 수 있다. 아래 연분수 전개 방법을 오른쪽에서 왼쪽으로 읽어보자.
분모가 정수와 분수의 합으로 연달아 표기되는 분수. 일반적으로 유리수는 두 정수의 비로 나타낼 수 있고 무리수는 그럴 수 없지만, 연분수라는 특수한 분수를 사용하면 무리수도 분수로 나타낼 수는 있다. 다만, 어떤 수를 연분수로 나타낼 때, 유리수라면 언젠가는 끝이 나지만 무리수라면 연분수가 한없이 이어진다. 후술했듯이 어떤 무리수의 근사치인 유리수, 즉 근사분수를 찾기 위해서도 연분수가 쓰인다.
간혹 이런 것과는 상관없이 식을 전개하다 연분수가 나오는 경우가 있는데, 이 경우에는
[math(dfrac{dfrac{d}{c}}{dfrac{b}{a}}=dfrac{d}{c} times dfrac{a}{b}=dfrac{ad}{bc} )]
꼴로 정리하면 일반적인 분수로 바꿀 수 있다. 아래 연분수 전개 방법을 오른쪽에서 왼쪽으로 읽어보자.
2. 연분수 전개 방법
가장 기본적으로는, 전개하고자 하는 수를 정수 부분과 소수 부분으로 나눈 뒤, 그 소수 부분의 역수를 취하는 조작을 반복한다. [math(dfrac{12}7)]를 연분수로 전개해보자.
[math(dfrac{12}7 = 1+dfrac57 = 1+cfrac1{cfrac75} = 1+cfrac1{1+cfrac25} = 1+cfrac1{1+cfrac1{cfrac52}} = 1+cfrac1{1+cfrac1{2+cfrac12}} )]
이 방법을 쓰면 연분수의 모든 분자 자리가 1이 되는데, '여러 무리수의 연분수 전개' 문단에서 보듯이 꼭 이렇게 해야만 수학적으로 옳은 것은 아니다.
[math(dfrac{12}7 = 1+dfrac57 = 1+cfrac1{cfrac75} = 1+cfrac1{1+cfrac25} = 1+cfrac1{1+cfrac1{cfrac52}} = 1+cfrac1{1+cfrac1{2+cfrac12}} )]
이 방법을 쓰면 연분수의 모든 분자 자리가 1이 되는데, '여러 무리수의 연분수 전개' 문단에서 보듯이 꼭 이렇게 해야만 수학적으로 옳은 것은 아니다.
3. 근사분수
Convergents · 近似分數
앞서 설명했듯이, 전개하고자 하는 수를 정수 부분과 소수 부분으로 나눈 뒤, 그 소수 부분의 역수를 취하는 조작을 반복하여 얻는 연분수의 모든 분자 자리는 1이 된다. 이렇게 연분수로 전개해가다가, 특별히 큰 수가 등장하면 거기에서 전개를 멈추고, 그 수가 나오기 바로 전까지의 연분수를 계산해서 얻는 값이 해당 무리수의 근사치인 유리수가 된다. 이 수를 근사분수라고 한다. 그 '특별히 큰 수'가 크면 클수록 정밀도 높은 근삿값이 나온다. 예를 들어 [math(pi)]의 근사치인 유리수를 찾아보자. [math(pi)]는 무리수이므로 [math(pi)]를 이 방법으로 전개하면 다음과 같이 한없이 이어진다.
[math(pi=3+cfrac1{7+cfrac1{15+cfrac1{1+cfrac1{292+cfrac1{1+cfrac1{ddots}} }} }} )]
여기에서 292라는 특별히 큰 수가 등장하였으므로, 그 바로 전에서 연산을 멈춘 후 그 값을 계산하면 된다. 곧,
[math(3+cfrac1{7+cfrac1{15+cfrac1{1} }} = dfrac{355}{113} (approx 3.1415929204) )]
가 바로 [math(pi)]의 근삿값이다.
물론, 연분수 계산을 많이 진행할수록 값은 정확해지겠지만 그 계산 결과는 매우 복잡해질 것이다. 적당한 선에서 간결한 근삿값을 얻고 싶다면, 연분수 계산 도중 특별히 큰 수가 나오면 계산을 중단하는 편이 좋다.
한편, 극히 예외적인 경우로는 황금수
[math(varphi = dfrac{1+sqrt5}2 = 1+cfrac1{1+cfrac1{1+cfrac1{1+cfrac1{1+cfrac1{1+cfrac1{ddots}} }} }} )]
가 있다. 모든 정수 부분에 계속해서 1만 나오는데, 이 방법으로는 [math(varphi)]의 근사치가 되는 마땅한 유리수를 찾을 수 없다. 이런 경우는 달리 찾아볼 수가 없다.[1]의 극한값이 다름 아닌 [math(varphi)]가 되는 점을 이용하여 [math(varphi)]에 어느 정도 근사시킬 수 있다. 그러나 상대오차 기준으로 [math(varphi)]와 [math(2584/1597)]가 [math(pi)]와 [math(355/113)]보다 약간 떨어지는 정밀도로, 정밀도를 높이려면 어마어마하게 큰 피보나치 수가 필요하단 걸 알 수 있다. 피보나치 수열 참고.]
짝수 근사분수는 실제 값보다 작고 홀수 근사분수는 실제 값보다 크다.
앞서 설명했듯이, 전개하고자 하는 수를 정수 부분과 소수 부분으로 나눈 뒤, 그 소수 부분의 역수를 취하는 조작을 반복하여 얻는 연분수의 모든 분자 자리는 1이 된다. 이렇게 연분수로 전개해가다가, 특별히 큰 수가 등장하면 거기에서 전개를 멈추고, 그 수가 나오기 바로 전까지의 연분수를 계산해서 얻는 값이 해당 무리수의 근사치인 유리수가 된다. 이 수를 근사분수라고 한다. 그 '특별히 큰 수'가 크면 클수록 정밀도 높은 근삿값이 나온다. 예를 들어 [math(pi)]의 근사치인 유리수를 찾아보자. [math(pi)]는 무리수이므로 [math(pi)]를 이 방법으로 전개하면 다음과 같이 한없이 이어진다.
[math(pi=3+cfrac1{7+cfrac1{15+cfrac1{1+cfrac1{292+cfrac1{1+cfrac1{ddots}} }} }} )]
여기에서 292라는 특별히 큰 수가 등장하였으므로, 그 바로 전에서 연산을 멈춘 후 그 값을 계산하면 된다. 곧,
[math(3+cfrac1{7+cfrac1{15+cfrac1{1} }} = dfrac{355}{113} (approx 3.1415929204) )]
가 바로 [math(pi)]의 근삿값이다.
물론, 연분수 계산을 많이 진행할수록 값은 정확해지겠지만 그 계산 결과는 매우 복잡해질 것이다. 적당한 선에서 간결한 근삿값을 얻고 싶다면, 연분수 계산 도중 특별히 큰 수가 나오면 계산을 중단하는 편이 좋다.
한편, 극히 예외적인 경우로는 황금수
[math(varphi = dfrac{1+sqrt5}2 = 1+cfrac1{1+cfrac1{1+cfrac1{1+cfrac1{1+cfrac1{1+cfrac1{ddots}} }} }} )]
가 있다. 모든 정수 부분에 계속해서 1만 나오는데, 이 방법으로는 [math(varphi)]의 근사치가 되는 마땅한 유리수를 찾을 수 없다. 이런 경우는 달리 찾아볼 수가 없다.[1]의 극한값이 다름 아닌 [math(varphi)]가 되는 점을 이용하여 [math(varphi)]에 어느 정도 근사시킬 수 있다. 그러나 상대오차 기준으로 [math(varphi)]와 [math(2584/1597)]가 [math(pi)]와 [math(355/113)]보다 약간 떨어지는 정밀도로, 정밀도를 높이려면 어마어마하게 큰 피보나치 수가 필요하단 걸 알 수 있다. 피보나치 수열 참고.]
짝수 근사분수는 실제 값보다 작고 홀수 근사분수는 실제 값보다 크다.
4. 여러 무리수의 연분수 전개
- [math(displaystylesqrt2=1+cfrac1{2+cfrac1{2+cfrac1{2+cfrac1{2+cfrac1{2+cfrac1{2+cfrac1{2+cfrac1{ddots}} }} }} }})]
- [math(sqrt3=1+cfrac1{1+cfrac1{2+cfrac1{1+cfrac1{2+cfrac1{1+cfrac1{2+cfrac1{1+cfrac1{ddots}} }} }} }})]
- [math(varphi=dfrac{1+sqrt5}2 = 1+cfrac1{1+cfrac1{1+cfrac1{1+cfrac1{1+cfrac1{1+cfrac1{ddots}} }} }})]
- [math(displaystyle pi=3+cfrac{1^2}{6+cfrac{3^2}{6+cfrac{5^2}{6+cfrac{7^2}{6+cfrac{9^2}{6+cfrac{11^2}{6+cfrac{13^2}{6+cfrac{15^2}{ddots}} }} }} }} = 3+cfrac1{7+cfrac1{15+cfrac1{1+cfrac1{292+cfrac1{1+cfrac1{ddots}} }} }} =cfrac4{1+cfrac{1^3}{2+cfrac{3^2}{2+cfrac{5^2}{2+cfrac{7^2}{2+cfrac{9^2}{ddots}} }} }} )]
- [math(e= 2+cfrac1{1+cfrac1{2+cfrac2{3+cfrac3{4+cfrac4{5+cfrac5{ddots}} }} }})]