실수(수학)

수 체계
사원수
복소수
실수허수
유리수무리수
정수정수가
아닌
유리수
음의
정수
0자연수

1 개요

수학에서, 유리수무리수를 합친 수의 범위를 이르는 말. 허수와 함께 복소수를 이룬다. 첫글자인 R을 볼드체로 R이나 [math]\mathbb{R}[/math]로 겹쳐서 써서 나타내기도 한다. 수직선에 나타낼 수 있고, 따라서 허수와는 달리 대소 비교가 가능하며, 0으로 나누는 것을 제외한 사칙연산에 대해 닫혀 있다.

중학교 수준에서 배우는 실수의 성질은 이렇다.

  1. 유리수와 유리수 사이에는 무수히 많은 유리수가 존재한다.
  2. 무리수와 무리수 사이에는 무수히 많은 유리수가 존재한다.
  3. 서로 다른 두 실수 사이에는 무수히 많은 실수가 존재한다.
  4. 수직선을 유리수에 대응하는 점만으로는 완전히 메울 수 없다.
  5. 수직선을 무리수에 대응하는 점만으로는 완전히 메울 수 없다.

2 성질

실수의 핵심적인 성질은 다음과 같다. 실수의 모든 성질들을 다음 3가지에서 유도가 되고, 이 3가지를 만족하는 집합은 실수 집합밖에 없기 때문에 아래 3가지 성질을 실수의 공리라고 할 수 있다.

1. 이다. 즉, 사칙연산을 할 수 있으며(물론 0으로 나누는 건 안 되지만), 덧셈, 곱셈에 대한 항등원 및 역원이 존재하고, 결합법칙, 교환법칙, 분배법칙이 성립한다.
2. 전순서를 이룬다. 즉 실수 a와 b가 있다면 a=b, a<b, a>b 셋 중 정확히 하나가 성립한다.[1] 또한 이 순서는 1에서의 대수적 구조(덧셈, 곱셈의 연산)와 독립적인 것이 아니라, 순서체가 된다. 즉, 임의의 실수 a, b, c에 대해 a<b이면 a+c<b+c이고, a<b이고 c>0이면 ac<bc가 된다.
3. 완비적이다. 즉, 공집합이 아닌 실수의 부분집합이 상계를 가지면 최소상계가 존재한다.

3 구성 방법

실수를 '구성'한다는 것은 정의한다는 뜻으로 받아들이면 된다. 고등학교까지의 수학 교육만 받은 학생에게 '실수의 정의가 뭔가'를 물어보면 '크기를 가진 수', '실제로 존재하는 수' 정도의 대답이 돌아오겠지만, 그러한 표현은 수학적으로 좋지 못하다. 집합론적으로 엄밀한 실수의 정의가 아래에 나오는 칸토어의 방법, 데데킨트의 방법이다.
굳이 '정의'라고 하지 않고 '구성'이라는 표현을 쓰는 이유는, '위의 성질 문단에서 나열한 3가지 성질을 만족하는 집합'이라고 하여도 실수의 정의라 할 수 있는데, 그러한 집합이 실제로 존재하는지 모르기 때문에 유리수 집합으로부터 실수를 '구성(construct)'해내는 방법이기 때문이다.

3.1 칸토어의 방법

소수 첫째 자리부터 계속 [math]0[/math]이 반복되는 수 중에서 제곱한 게 [math]2[/math]보다 작은 유리수들은 [math]1,\,0,\,-1, \cdots[/math] 등이 있고, 그 중 가장 큰 것은 [math]1[/math]이다. 그 다음, 소수 둘째 자리부터 계속 [math]0[/math]이 반복되는 수 중에서 제곱한 게 [math]2[/math]보다 작은 유리수들에는 [math]1.4,\,1.3,\,\cdots[/math] 등이 있고 그 중 가장 큰 것은 [math]1.4[/math]이다.

위와 같은 방법을 계속하면 [math]1,\,1.4,\,1.41,\,1.414,\cdots[/math] 등등의 수를 얻는데, 이는 제곱해서 [math]2[/math]가 되는 수의 근삿값이라고 할 수 있으며, 뒤로 갈수록 더 정확한 근삿값이다. 이 과정을 한없이 반복하면 그냥 제곱해서 [math]2[/math]가 되는 수를 얻지 않을까? 그런데 문제는 각 단계의 수들은 유리수이지만, 제곱해서 [math]2[/math]가 되는 수는 유리수가 아니라는 점이다.

이와 비슷하게, 각 단계는 유리수이지만 한없이 반복하면 유리수가 아닌 수들이 아주 많이 존재한다.[2] 그런 수들을 어떻게 분류하고 연산하는지를 코시 수열(Cauchy sequence)[3] 개념을 사용하여 칸토르가 정리했고, 유리수 + 각 단계는 유리수이지만 한없이 반복하면 유리수가 아닌 수를 통틀어 실수라고 정의했다. 쉽게 말하면, 유리수 집합에서 수렴하는 각종 수열들의 극한값들로 유리수 사이를 '촘촘히 채운 것'이 실수 집합이라고 할 수 있다.

좀 더 수학적인 용어를 써서 말하면 이렇다. 유리수들의 코시 수열들이 서로 비슷하게 나아갈 때[4] 이들을 같은 것들이라고 쳐서(...)[5] 이들 코시 수열들의 묶음을 모은 집합을 실수 집합이라고 부른다. 이때 두 코시 수열 ([math]a_n[/math])과 ([math]b_n[/math])의 덧셈과 곱셈은 각각 ([math]a_n + b_n[/math]), ([math]a_n \times b_n[/math])으로 정의된다.

위의 내용을 한줄요약 하자면, 모든 수렴하는 유리수 코시수열의 집합 modulo ([math]a_n - b_n[/math]) → 0 정도로 표현이 가능하다.

3.2 데데킨트의 방법

칸토어 방법의 아래에 소개되어있지만, 사실 이게 1년 정도 먼저 소개된 수학 역사상 최초의 방법이다. 데데킨트의 절단(Dedekind's cut)이라 불리는데, 이게 최초인 이유는 이 이전에는 무한집합의 사용이 엄밀하게 금지되어 있었기 때문이다. 데데킨트는 이것을 사용함으로서 이 금기를 깼고, 덕분에 다른 수학자들과 무지하게 싸우게 된다. 칸토어는 거기서 데데킨트 편에 섰던 대표적인 인물 중 하나. 무한집합을 사용함으로서 수학은 급격하게 변하기 시작했고, 급기야 집합론등이 탄생하면서 현대수학으로 재탄생하게 되었다. 즉, 지금 소개되는 이 방법은 사실 수학 역사상 가장 주목할 만한 변화를 야기시킨 태풍의 눈이었다고 봐도 무방하다.

이번에는 유리수를 수직선에 나타낸 다음,(왼쪽에 있는 것이 더 작게 되어 있다) 그 수직선을 두 조각으로 자르는 것을 생각하자. 정확히 두 조각으로 자를 것이기 때문에, 왼쪽의 조각에 최댓값이 있음과 동시에 오른쪽의 조각에 최솟값이 있는 경우는 불가능하다.

예를 들면 [math]0[/math]보다 작은 유리수들의 묶음과 [math]0[/math] 이상의 유리수들의 묶음. 또는 제곱해서 4보다 작거나 같은 유리수들의 묶음과 제곱해서 [math]4[/math]보다 커지는 유리수들의 묶음.

그런데, 가끔 자르는 방법에 따라 왼쪽의 조각에 최댓값도 없고 오른쪽의 조각에 최솟값도 없는 경우가 있다. 예를 들어 제곱해서 [math]2[/math]보다 작거나 같은 유리수들의 묶음과 제곱해서 [math]2[/math]보다 커지는 유리수들의 묶음.[6]

이렇게 되면, 두 조각의 사이에는 빈틈이 있었다고 볼 수밖에 없다. 그 빈틈을 "빈틈수"를 채워서 메꾸었다고 하자. 이런 식으로 곳곳에 "빈틈수"를 채워 넣은 다음 유리수와 "빈틈수"를 모두 포함하는 수직선을 만든다. 그러면, 이 수직선을 두 조각으로 자르면 왼쪽 조각에만 최댓값이 있거나, 오른쪽 조각에만 최댓값이 있고, "왼쪽 조각에 최댓값이 없고 오른쪽 조각에 최솟값이 없는 경우"는 발생하지 않는다. 마찬가지로 "왼쪽 조각에 최댓값이 있고 오른쪽 조각에 최솟값이 있는 경우"도 발생하지 않는다. 즉, 유리수와 "빈틈수"를 모두 포함하는 수직선을 만들면 빈틈이 없이 완전히 갖추어져 있는 것이다.

이제 "빈틈수"를 무리수, "유리수와 빈틈수를 포함하는 수"를 실수라고 정의하면 된다.

데데킨트의 방법에 대한 좀 더 수학적인 설명에는 유리수의 대소관계만 필요하지만, 필요한 것이 적은 만큼 많이 추상적인 편이라서 여기서는 생략하겠다.

다만 가장 중요한 결과는 짚고 가자. 위의 내용에 때라 실수 집합은 다음과 같은 성질을 만족한다고 말할 수 있다. 아래로 유계인 집합은, 즉 어떤 수가 존재해 그 집합의 모든 원소들이 그보다 크게 되는 성질을 만족하는 집합에 대해 그런 수들 중에 최댓값[7]이 항상 존재한다.[8] 참고로 이로부터 위로 유계인 집합 역시 비슷한 성질을 갖는다는 것을 바로 보일 수 있다. 대부분의 학부 실해석학 교재에서는 이 명제를 공리화한 다음, 이를 가지고 실수의 모든 성질을 유도한다.

3.3 정리

어느 방법이든, 유리수가 가지고 있는 빈틈들을 다 메꾸어서 만든 "완전하게 갖추어진" 수가 실수가 된다는 것이다. 그래서 실수는 "완비성"(Completeness)를 가진다고 하고, 이 과정을 완비화라고 한다. 좀더 직관적으로, 선을 그었을때 그 선의 모든 점에 완벽히 대응이 된다는 관점에서 line complete 라고도 한다.

위의 완비화들을 요약하자면 이렇게 말할 수 있다.

  • 칸토르의 방법 : 수렴하는 것처럼 보이는 수열(코시 수열)[9]은 반드시 수렴하도록 유리수 집합을 확장시킨다.[10]
  • 데데킨트의 방법 : 모든 집합의 경계(상한, 하한)점이 존재하도록 유리수 집합을 확장시킨다.

재밌는 건, 두 방법에 의한 결과가 동일하다는 것이다. 많은 실해석학 교재를 보면 데데킨트의 방법으로 실수를 정의한 다음, 그 위의 모든 코시 수열이 수렴한다는 사실을 유도해내는 것을 볼 수 있다. 반대로 칸토르의 방법으로 실수를 구축하고 나면 유계인 모든 집합이 상한 혹은 하한을 가진다는 것 또한 보일 수 있다. 여기서 유리수의 각 완비화 방법에 의한 결과가 실은 유일하다는 정리[11]를 쓰면 두 방법에 의한 결과가 똑같다는 것을 알 수 있다.

앞으로 극한을 사용할 일이 있어서 그 전에 앞서 실수의 정의를 확인하고자 할 때는 칸토르의 방법을 쓰는 편이고, 미리 알고 있는 개념을 최소한으로 하면서 실수의 정의를 살펴보고자 할 때는 데데킨트의 방법을 쓰는 편이다.

이렇게 해서 우리가 아는 실수까지 다 만들어진 셈. 참 쉽죠?

어떻게 보면 우리 생활과 제법 가까운 체계, 그러니까 피부로 와닿는 수 체계 중 하나를 이런 식으로 추상화하는 것이 거북할 수도 있겠다. 하지만 일단 수학에서 추구하는 엄밀함 때문에라도 이러한 추상화는 반드시 필요하다. 꼬우면 현대 수학 뒤엎던가 반대로, 우리가 자연스럽게 느끼는 실수 체계가 생각보다 복잡하다는 사실을 받아들이기 힘들 수도 있다. 하지만 여기서 알아두어야 할 점은, 수학에서 말하는 실수는 아무리 잘 쳐도 모델이다. 즉, 우리가 체험하는 물리량들을 수학에 맞도록 추상화한 것. 단지 실재하는 물리량들에 쓰면서 보니까 잘 맞더라는 것. 어쩌면 먼 훗날엔 지금 말하는 수학의 실수가 더 이상 물리량의 좋은 모델이 되지 못할지도 모른다. 현대 수학이 뒤엎어졌나

4 크기

실수 집합은 자연수 집합보다 더 크다. 이 말은 실수 집합과 자연수 집합 간에 일대일 대응 따윈 존재하지 않고, 실수 집합의 일부분과 자연수 집합 간에는 일대일 대응이 가능하다는 뜻. 이걸 최초로 밝혀낸 사람이 바로 칸토르이며, 그가 사용한 방법이 그 유명한 대각선 논법.[12]

5 컴퓨터에서의 실수표현

잘 알려지지 않은 사실인데 보통의 IEEE호환 실수 표현으로는 컴퓨터가 실수를 정확히 표현하지 못한다. 게다가 수학적 연산까지 정확히 표현하지 못하는 문제도 지니고 있다. 이는 IEEE호환 실수표현이 부동소수점을 이용하는 방식이기 때문으로, 정말 정확성을 원한다면 사람들이 하는것 처럼 정수부분과 소수부분을 나누어 저장할 수 있다. 단지 심각한 메모리지랄이기 때문에 평소에는 사용하지 않는다. 일례로 각종 프로그래밍 언어에서 0.1 * 10을 할 경우에는 1.0을 정확히 얻을 수 있으나, 0.1을 10번 더하는 식으로 구성할 경우 정확히 1.0이 아니라 0.9999.. 나 또는 1.000... 식으로 아주 약간 모자라거나 약간 더 큰 값을 얻는 현상을 볼 수 있다. 개발하는 쪽에서는 이 문제를 알고 있기 때문에 로직에서 사용할 때는 미리 대처를 해놓거나 사람들에게 보여줄 때는 정확한 값을 보여줄 수 있는 식으로 처리하고 있다. 자세한 내용은 컴퓨터에서의 수 표현 참조.


이 문서의 내용 중 전체 또는 일부는 실수문서에서 가져왔습니다.</div></div>

이 문서의 내용 중 전체 또는 일부는 수 체계문서에서 가져왔습니다.</div></div>
  1. 직관주의 논리를 받아들이는 수학자들은 이를 거부한다.
  2. [math]1,\,1.4,\,1.41,\,1.414,\cdots[/math]([math]\sqrt{2}[/math]로 수렴) 또는 [math]3,\,3.1,\,3.14,\,3.141,\cdots[/math]([math]\pi[/math]로 수렴) 등.
  3. 임의의 양의 유리수 [math]\epsilon[/math]에 대하여 자연수 N이 존재하여 N이상의 모든 자연수 m, n에 대하여 [math] \left|a_m -a_n \right|\lt\epsilon[/math]인 유리수열 [math]\left\{a_n \right\}[/math]
  4. 정확하게 말하자면, 두 코시 수열 ([math]a_n[/math])과 ([math]b_n[/math])에 대하여 수열 ([math]a_n - b_n[/math])이 [math]0[/math]으로 수렴할 때
  5. 동치류의 개념
  6. 제곱해서 [math]2[/math]가 되는 수는 유리수가 아니므로 왼쪽 조각은 제곱해서 [math]2[/math]보다 작아지는 유리수들의 묶음이나 마찬가지이다.
  7. 이를 하한(infimum)이라고 부른다.
  8. 유리수 집합에서는 유리수 집합의 한 부분집합 [math]\left\{ a \; | \; a^2 \ge 2 \right\}[/math]이 아래로 유계이긴 하지만 하한은 존재하지 않는다. 그런 하한은 분명 [math]s^2 = 2[/math]를 만족해야 할텐데, 이런 수는 유리수가 아니기 때문이다.
  9. 수렴한다고 말하려면 반드시 수렴점이 필요하다. 코시 수열은 서로 한없이 가까워진다는 점에서 보통 수열과 같아 보이지만 수렴점에 대한 기술은 하나도 없다.
  10. 거꾸로 일반적인 공간에서는 이 '코시수열이 항상 수렴한다'는 성질을 완비성의 정의로 삼는다.
  11. 즉, 유리수 집합을 포함하면서 코시 수열이 수렴한다는 성질을 갖는 집합이 있다고 가정하면 이 집합은 반드시 완비화로 직접 만들어낸 집합을 포함한다는 것이며, 데데킨트의 방법에 대해서도 똑같은 성질이 보장된다.
  12. 실수의 완비화 성질을 직접 이용한 이른바 해석학적 방법이 존재한다. 거의 모든 해석학 책에 이 방법이 있다.