[일반 계산기] 세제곱근 구하기. 방법 #2, 로그 성질(근사)의 활용
ㄴ $ \sqrt[3]{a} $ 를 구하는 방법. 로그의 근사 활용
이 방법의 계산 순서
1. 초기 근사값 설정:
루트키 【√】를 이용해 $ a^{\frac{1}{4096}} $ 을 계산합니다. 이 값은 1에 매우 가깝습니다.
2. 델타(Δ) 정의:
$ Δ = \frac{a^{\frac{1}{4096}} - 1}{3} $ 를 구합니다.
앞선 결과에서 1을 빼고, 그걸 3으로 나누면 되겠죠.
이 Δ는 0에 가까운 매우 작은 값입니다.
3. 반복 제곱:
(1 + Δ)^4096 를 계산하면 $ a^{\frac{1}{3}} $ 에 매우 가까운 값이 됩니다.
(1 + Δ)^4096 를 4095회의 곱하기로 계산하는 것은 매우 비 효율적이기 때문에
((((((((((((1 + Δ)^2)^2)^2)^2)^2)^2)^2)^2)^2)^2)^2)^2 로 결과를 반복해 제곱 계산하여 횟수를 줄여야 합니다.
일반 계산기에서는 【×】【=】 를 반복하여, 결과값을 계속 제곱할 수 있습니다. // K타입&non-K타입 무관함.
이 방법이 작동하는 수학적인 이유 (증명)
1. 로그의 성질 활용:
앞선 델타(Δ)의 정의에 의해
$$ \begin{gather} x = a^{\frac{1}{4096}} = 1 + 3Δ \text{ 라고 할 때,} \\ ln(x) = ln(a^{\frac{1}{4096}}) = \frac{1}{4096} * ln(a) \end{gather} $$
2. 작은 값에 대한 로그 근사:
매우 작은 값 Δ에 대해, 로그 근사가 성립 (댓글 참고)
$$ ln(x) = ln(1 + 3Δ) ≈ 3Δ $$
따라서,
$$ \frac{1}{4096} * ln(a) ≈ 3Δ $$
3. Δ 의 근사값 표현:
$$ Δ ≈ \frac{1}{4096×3} ×ln(a) $$
4. (1 + Δ) ^ 4096 의 의미:
$$ (1 + Δ)^{4096} ≈ e^{4096Δ} \text{ (지수함수의 성질 이용, 댓글 참고)} $$
$$ ≈ e^{\frac{1}{3} * ln(a)} \text{ (Δ 의 근사값 대입)} $$
$$ = (e^{ln(a)})^{\frac{1}{3}} $$
$$ = a^{\frac{1}{3}} $$
이 과정을 통해 (1 + Δ)^4096이 a^(1/3)에 매우 가깝게 근사(approximate)하는 것을 알 수 있습니다.
쌀집 계산기를 이용한 버튼 입력 순서 예시 : $ \sqrt[3]{125} = 5 $
【125】【√】 (√125 = 11.180339887499)
【√】 (√11.180339887499 = 3.3437015248821)
【√】 (√3.3437015248821 = 1.8285790999796)
【√】 (√1.8285790999796 = 1.3522496441041)
【√】 (√1.3522496441041 = 1.1628626935731)
【√】 (√1.1628626935731 = 1.0783611146425)
【√】 (√1.0783611146425 = 1.0384416760909)
【√】 (√1.0384416760909 = 1.0190395851442)
【√】 (√1.0190395851442 = 1.0094749056535)
【√】 (√1.0094749056535 = 1.0047262839468)
【√】 (√1.0047262839468 = 1.0023603563324)
【√】 (√1.0023603563324 = 1.0011794825766)
【-】【1】【÷】【3】【+】【1】【=】 1.0011794825766 - 1 → 0.0011794825766 ÷ 3 → 0.00039316085886667 + 1 = 1.0003931608589
【×】【=】 1.0003931608589 × = 1.0007864762933
【×】【=】 1.0007864762933 × = 1.0015735711316
【×】【=】 1.0015735711316 × = 1.0031496183893
【×】【=】 1.0031496183893 × = 1.0063091568746
【×】【=】 1.0063091568746 × = 1.0126581192097
【×】【=】 1.0126581192097 × = 1.0254764664013
【×】【=】 1.0254764664013 × = 1.0516019831429
【×】【=】 1.0516019831429 × = 1.1058667309501
【×】【=】 1.1058667309501 × = 1.2229412266223
【×】【=】 1.2229412266223 × = 1.4955852437725
【×】【=】 1.4955852437725 × = 2.2367752213900
【×】【=】 2.2367752213900 × = 5.0031633910243
총 버튼 입력 횟수 : 3 + 12 + 7 + 2*12 = 46 회
응용
처음에 4096 제곱근을 구하고 마지막에 4096 제곱을 하였는데, 꼭 4096 만 되는 것은 아니고 앞 뒤 짝이 맞으면 됩니다.
만약, 2048 제곱근을 구하고 2048 제곱을 하면 버튼 입력횟수 ↓ 오차 ↑
만약, 8192 제곱근을 구하고 8192 제곱을 하면 버튼 입력횟수 ↑ 오차 ↓
댓글6
-
세상의모든계산기
로그 근사 및, $ (1 + Δ)^{4096} \approx e^{4096Δ} $ 근사가 성립하는 이유
지수함수와 로그함수의 중요한 성질에 기반합니다.
1. 지수함수의 정의:
\( e^x \)는 자연상수 \( e \) (약 2.71828...)를 밑으로 하는 지수함수입니다.2. 로그함수의 테일러 전개
로그 함수 \( \ln(1 + d) \)의 테일러 급수를 \( d = 0 \) 주변에서 전개하면 다음과 같습니다:\[
\ln(1 + d) = d - \frac{d^2}{2} + \frac{d^3}{3} - \frac{d^4}{4} + \cdots
\]따라서, 이 급수의 첫 번째 항은 \( d \), 두 번째 항은 \( -\frac{d^2}{2} \), 세 번째 항은 \( \frac{d^3}{3} \) 입니다.
3. (1 + Δ)에 대한 근사:
\( Δ \)가 매우 작아 0에 가까울 때, 테일러 급수의 두번째항부터는 기하급수적으로 0에 수렴합니다.
\[
\ln(1 + Δ) = Δ \cancel{- \frac{Δ^2}{2}} \cancel{+ \frac{Δ^3}{3}} \cancel{- \frac{Δ^4}{4}} + \cancel{\cdots}
\]오차를 조금 허용하여 \( \ln(1 + Δ) \approx Δ \) 이 성립하게 됩니다.
4. 지수함수와 로그함수의 관계:
\( e^{\ln(x)} = x \)입니다. 이는 지수함수와 로그함수가 서로의 역함수라는 성질 때문입니다.5. 이를 이용한 (1 + Δ)의 표현:
\( 1 + Δ \approx e^{Δ} \)입니다. (왜냐하면 \( e^{\ln(1+Δ)} = 1 + Δ \)이고, \( \ln(1+Δ) \approx Δ \)이므로)6. 지수법칙 적용:
\[
(1 + Δ)^{4096} \approx (e^{Δ})^{4096} = e^{4096\cdotΔ}
\]따라서, \( (1 + Δ)^{4096} \approx e^{4096\cdotΔ} \)라는 근사가 성립하게 됩니다.
이 근사는 \( Δ \)가 매우 작을 때 더 정확해집니다. 우리의 경우 \( Δ = \frac{a^{1/4096} - 1}{3} \)로 정의되었으므로, \( a \)가 크지 않은 양수일 때 \( Δ \)는 매우 작은 값이 되어 이 근사가 잘 작동하게 됩니다.
이 근사를 통해 우리는 거듭제곱 계산을 지수함수로 변환할 수 있게 되어, 이후 계산과 증명이 더 쉬워집니다.
-
1
-
세상의모든계산기
정수제곱근법 & 뉴튼-랩슨법을 이용한 반복계산법과 차이는?
https://allcalc.org/2629
반복계산법은
- 반복할수록 오차가 없는 참값에 수렴해 갑니다. (마지막 1~2 자릿수 정도의 오차는 남을 수 있습니다)
- 완전숙달되지 않는 이상, 입력하기 어려워 실수가 나오기 쉽습니다.
- n제곱근의 n값에 따라 쉽게 되기도 하고, 어려워지기도 함.
반면, 본문의 방법은
- 오차를 어느 정도 감수할지를 결정(?)하고, 하나의 값만 구합니다.
- 원리를 정확히 이해하면, 계산기 입력은 쉬운 편입니다. (실수를 줄일 수 있습니다)
- n제곱근의 n값에 관계 없이 동일한 구조로 계산이 됩니다. 외우기 쉽습니다.

반복횟수(iter)를 적당히 늘리면 이 방법도 오차가 조금 줄어들 수는 있습니다.
하지만 iter를 무한정 늘린다고 참값에 수렴하는 것이 아니고, 어느 순간부터는 오히려 오차가 커지고 불안정해집니다.

계산기 내부 유효 자릿수 한계 때문에 발생하는 문제입니다.
ㄴ 루트를 많이 씌우다보면 1.0000000000000~~~ 이 되는데 뒤에 ~~~ 부분이 날라가 없어지고 정수 1 만 남음.

세상의모든계산기 님의 최근 댓글
HP-39gII 에 ExistOS 설치하기 https://allcalc.org/38526 2025 11.07 1. 왜 검은색이 아닌 다른 색으로 보일까? (제공된 LUT 필터) 제가 제공해 드린 magenta_lens.cube LUT 필터는 540~560nm(녹색-노란색) 파장대의 색상을 '완전히 제거(검은색으로 만듦)'하는 대신, '다른 색상으로 왜곡/변환'하도록 설계되었습니다. * 원리: LUT(Look-Up Table)는 특정 입력 색상(Input RGB)을 미리 정해진 다른 출력 색상(Output RGB)으로 매핑하는 테이블입니다. 이 LUT는 540~560nm에 해당하는 RGB 값들이 들어오면, 검은색(0, 0, 0)이 아닌, 매우 어둡거나 채도가 낮은 특정 색(예: 어두운 올리브색, 갈색 등)으로 변환하라고 지시합니다. * 의도: * 현실적인 물리 필터 시뮬레이션: 실제 고가의 색약 보정 안경도 특정 파장을 100% 완벽하게 차단하지는 못합니다. 빛의 일부를 흡수하고 일부는 통과시키거나 변환하는데, 이 LUT는 그러한 현실 세계의 필터 효과를 더 비슷하게 흉내 냈을 수 있습니다. * 시각적 정보 유지: 특정 색을 완전히 검게 만들면 그 부분의 형태나 질감 정보가 완전히 사라집니다. 하지만 다른 어두운 색으로 대체하면, 색상 정보는 왜곡되더라도 밝기나 형태 정보는 어느 정도 유지되어 전체적인 이미지가 덜 어색하게 보일 수 있습니다. 결론적으로, 스펙트럼 그림에서 해당 대역의 색이 갑자기 '다른 색으로 툭 바뀌는' 현상은, LUT 필터가 "이 파장대의 색은 앞으로 이 색으로 표시해!"라고 강제적으로 지시한 결과이며, 이것이 바로 이 필터가 작동하는 방식 그 자체입니다. 2. 왜 'Color Vision Helper' 앱은 검은색으로 보일까? 비교하신 'Color Vision Helper' 앱은 노치 필터의 원리를 더 이상적(Ideal)이고 교과서적으로 구현했을 가능성이 높습니다. * 원리: "L-콘과 M-콘의 신호가 겹치는 540~560nm 파장의 빛은 '완전히 차단'되어야 한다"는 개념에 매우 충실한 방식입니다. * 구현: 따라서 해당 파장에 해당하는 색상 정보가 들어오면, 어떠한 타협도 없이 그냥 '검은색(RGB 0, 0, 0)'으로 처리해 버립니다. 이는 "이 파장의 빛은 존재하지 않는 것으로 처리하겠다"는 가장 강력하고 직접적인 표현입니다. 2025 11.06 적용사례 4 - 파장 스펙트럼 https://news.samsungdisplay.com/26683 ㄴ (좌) 연속되는 그라데이션 ➡️ (우) 540 이하 | 구분되는 층(색) | 560 이상 - 겹치는 부분, 즉 540~560 nm 에서 색상이 차단? 변형? 된 것을 확인할 수 있음. 그럼 폰에서 Color Vision Helper 앱으로 보면? ㄴ 540~560 nm 대역이 검은 띠로 표시됨. 완전 차단됨을 의미 2025 11.05 빨간 셀로판지로도 이시하라 테스트 같은 숫자 구분에서는 유사한 효과를 낼 수 있다고 합니다. 색상이 다양하다면 빨강이나, 노랑, 주황 등도 테스트해보면 재밌겠네요. 2025 11.05 안드로이드 앱 - "Color Vision Helper" 다운받아 본문 내용을 카메라로 찍어 보니, 본문 프로그램에서는 애매하게 보이던 부분에서도 구분이 완전 확실하게 되네요. 숫자 구분 능력 & 편의성 면에서 압도적이라고 할 수 있겠습니다. 2025 11.05