[수학] 유리수의 조밀성 이야기
📌 유리수는 얼마나 촘촘할까? – 유리수의 조밀성 이야기
우리가 수직선 위에서 숫자를 표시할 때, 정수만 있다면 너무 듬성듬성해서 부족하게 느껴질 겁니다. 그래서 우리는 유리수, 즉 분수 형태의 숫자들을 사용합니다. 그런데 이 유리수들은 수직선 위에서 얼마나 촘촘하게 퍼져 있을까요?
🧭 출발점: "단위"란 무엇인가?
수직선에서 어떤 두 점을 찍고 그 거리를 '1'이라고 정하면, 우리는 그 길이를 기준으로 다른 수들도 표시할 수 있어요. 이때 이 길이 1을 단위(Unit) 라고 부릅니다.
예를 들어,
-
0에서 1까지가 '1단위'
-
그 절반인 0.5는 '1단위의 절반'이라는 뜻
이 단위를 기준으로, 우리는 수직선 위에서 다양한 유리수를 나타낼 수 있습니다.
📍 수직선 위의 유리수
0부터 1까지의 구간을 q등분하면, 그 사이의 점들은 다음과 같은 유리수로 표현됩니다:
예를 들어 q = 4일 때:
즉, 분모 q가 커질수록 더 촘촘하게 유리수들이 수직선 위에 배치됩니다.
🔍 아무 점이나 유리수로 얼마나 가깝게 표현할 수 있을까?
수직선 위의 어떤 점 P(예: 루트2 ≈ 1.4142...)가 있다고 해봅시다. 이 점은 유리수가 아니지만, 우리는 그 근처에 있는 유리수를 잡아낼 수 있습니다.
-
분모가 10: 14/10 = 1.4
-
분모가 100: 141/100 = 1.41
-
분모가 1000: 1414/1000 = 1.414
-
…
이처럼 분모를 키우면 키울수록, P에 점점 더 가까운 유리수를 찾을 수 있습니다.
✅ 유리수의 조밀성 (Density of Rational Numbers)
이 현상은 단순한 예시가 아니라, 수학적으로도 엄연히 증명되는 유리수의 조밀성이라는 성질입니다.
다음은 그 수학적 증명입니다:
🧠 [증명]
임의의 두 실수
그 사이에 항상 하나 이상의 유리수
증명:
-
이므로,
어떤 양의 정수 가 존재해서
가 되도록 할 수 있습니다. -
이제, 정수
를 다음 조건을 만족하도록 선택합니다:이는 다음처럼 쓸 수 있습니다:
-
그러면 이
는 다음 두 가지를 만족합니다:따라서:
-
결론: 어떤 두 수 사이든 항상 그 사이에 유리수
즉, 유리수는 조밀하다. □
📐 시각적 이해
이런 성질 덕분에 우리는 다음과 같은 사실을 직관적으로 받아들일 수 있습니다:
-
수직선 위의 어떤 점 P를 선택하든,
원하는 만큼 가까운 유리수를 그 근처에 잡을 수 있다. -
즉, 유리수로 실수를 근사할 수 있다.
✨ 요약
-
유리수는 정수보다 훨씬 촘촘하게 수직선에 분포합니다.
-
아무리 두 수가 가까워도, 그 사이엔 항상 유리수가 존재합니다.
-
이 조밀한 성질 덕분에 실수의 대부분을 유리수로 근사할 수 있습니다.
✅ 그래서 이 사실이 어디에 활용될 수 있나?
1. 실수의 정의 자체에 활용
-
실수(real number)는 유리수(rational number)로 근사할 수 있다는 **조밀성(density)**을 기반으로 구축됩니다.
-
예: 실수는 유리수 수열의 극한으로 정의할 수 있습니다 (데데킨트 절단, 코시 수열 등).
2. 계산과 수치 해석 (Numerical Analysis)
-
컴퓨터는 실수를 직접 다룰 수 없고, 항상 유리수(또는 유한한 소수)로 근사해서 처리합니다.
-
√2, π, e 같은 무리수도 전부 유리수 근사값(예: 3.14, 22/7 등)으로 다룹니다.
-
미분방정식 해법, 수치적 적분, 기계학습 등의 모든 계산이 유리수 근사 기반입니다.
3. 수학의 증명 기법
-
실수 전체에 대해 어떤 성질을 증명할 때, 유리수에 대해 먼저 증명하고, 그 결과를 실수 전체로 확장하는 방식(조밀성 활용)을 많이 씁니다.
-
예: 연속함수의 성질, 무리수의 존재 증명 등.
4. 측도론과 적분이론
-
르베그 적분, 실해석학에서는 유리수 근사로 실수 집합의 측도나 적분값을 정의합니다.
-
복잡한 함수나 집합을 간단한 유리수 값 함수로 근사한 뒤, 극한을 취하는 방식입니다.
5. 이산 수학과 논리학
-
모든 실수는 유리수로 표현이 가능해야만 실수라는 개념이 의미가 있으므로, 수학적 구조를 만들 때 유리수 체계를 기반으로 쌓아올립니다.
-
집합론에서 실수는 유리수로부터 구성됩니다.
간단한 예시:
실수
즉, 원하는 정밀도만큼 유리수로 표현할 수 있기 때문에, 실생활 계산, 컴퓨터 연산, 물리 모델링, 공학 시뮬레이션 등 모든 곳에서 활용됩니다.
✅ 파이썬 예제: 실수 √2를 유리수로 근사하기
🧾 출력 예 (limit_denominator(1000)일 때):
🔍 설명:
-
Fraction(real_number)
은 실수를 유리수로 바꿔줍니다. -
.limit_denominator(1000)
은 분모가 1000 이하인 가장 근접한 유리수를 찾아줍니다. -
이렇게 하면 컴퓨터 내부에서 실수 연산을 안전하게 유리수로 근사하여 사용할 수 있습니다.
댓글
댓글 쓰기