지수법칙 다섯을 세우고 a⁰과 음수 지수를 계산으로 얻습니다. 근호가 든 식을 밖으로 빼고 유리화하는 손계산까지, 그리고 2¹⁰≈10³이라는 크기 감각으로 닫습니다.
PALDYN Team//32 MIN READ
13MATH
초급
지수법칙 · 제곱근
위첨자를 "같은 것을 몇 번 곱했는가"로 읽는 약속은 2번 글에서 이미 받았습니다. 근호 기호도 7번 글에서 대각선 길이를 2 로 적을 때 썼습니다.
이 글이 세우는 것은 그 표기 위의 법칙과 계산입니다. 표기는 있는데 규칙이 없으면 a6×a9 처럼 적힌 것을 매번 풀어 세야 합니다.
지수법칙 다섯
an 은 a 를 n 번 곱한 것입니다. 이 한 줄에서 법칙 다섯이 전부 나옵니다.
법칙
왜 그런가
am×an=am+n
m 개 뒤에 n 개를 이어 놓으면 m+n 개
am÷an=am−n
아래 n 개가 위의 n 개를 지운다
(am)n=amn
m 개짜리 묶음이 n 개
(ab)n=anbn
순서를 바꿔 a 끼리, b 끼리 모은다
(ba)n=bnan
분자끼리, 분모끼리 곱하니까
외울 것이 아니라 막히면 풀어 써 보면 되는 것들입니다. (a2)3 이 헷갈리면 (a⋅a)(a⋅a)(a⋅a) 라고 적어 세면 a6 입니다.
(3x)2=9x2 처럼 괄호 안 전체가 제곱된다는 것도 여기서 옵니다. 3도 같이 제곱되므로 3x2 이 아닙니다.
밑이 같아야 묶인다
첫째 법칙은 밑이 같을 때만 쓸 수 있습니다. 흔한 실수 하나가 여기 있습니다.
23×32=65
값을 세어 보면 바로 갈립니다. 왼쪽은 8×9=72 이고 오른쪽은 7776 입니다. 지수를 더할 수 있었던 것은 같은 것을 이어 놓았기 때문 인데, 2를 세 번 곱한 것과 3을 두 번 곱한 것은 이어 놓을 같은 것이 없습니다.
밑이 다른 것을 묶을 수 있는 자리는 따로 있습니다. 지수가 같을 때 입니다.
23×33=(2×3)3=63=216
넷째 법칙 (ab)n=anbn 을 거꾸로 읽은 것입니다. 표의 다섯 줄을 두 줄로 요약하면 이렇게 됩니다.
밑이 같으면 지수를 더한다 — 23×22=25
지수가 같으면 밑을 곱한다 — 23×33=63
둘 다 아니면 묶을 방법이 없습니다. 23×32 은 그냥 72라고 적는 것이 가장 짧은 꼴입니다.
괄호와 부호
(−2)4 와 −24 는 값이 다릅니다. 부호부터 갈립니다.
(−2)4=(−2)(−2)(−2)(−2)=16
−24=−(2×2×2×2)=−16
위첨자는 바로 앞에 붙은 하나 에만 걸립니다. 괄호가 있으면 괄호 안 전체가 그 하나이고, 없으면 숫자 2만 그 하나이므로 마이너스는 밖에 남습니다. 2번 글에서 세운 읽는 순서가 그대로 적용된 자리입니다.
지수가 짝수인지 홀수인지도 함께 봅니다.
식
값
왜
(−2)3
−8
음수를 홀수 번 곱하면 음수
(−2)4
16
음수를 짝수 번 곱하면 양수
−23
−8
23 에 마이너스
−24
−16
24 에 마이너스
(−2)3 과 −23 은 우연히 값이 같습니다. 지수가 홀수라 부호가 어차피 음수이기 때문인데, 우연히 같은 것을 늘 같은 것으로 읽으면 짝수 지수에서 틀립니다.
지수의 지수
위첨자 위에 위첨자가 또 붙으면 어느 쪽을 먼저 계산할지 정해 두어야 합니다. 규약은 위에서부터 입니다.
232=29=512
32 을 먼저 계산해 9를 얻고, 그 9로 2를 거듭제곱합니다. 아래에서부터 계산하려면 괄호를 적어야 합니다.
(23)2=82=64
512와 64는 여덟 배 차이입니다. 이 규약이 세워진 이유는 아래에서부터 읽는 쪽이 이미 셋째 법칙으로 적히기 때문입니다 — (am)n 은 amn 이라 위첨자 하나로 정리되므로 위첨자를 두 층으로 쌓을 필요가 없습니다. 두 층으로 쌓아 적을 이유가 있는 것은 위에서부터 읽는 쪽뿐입니다.
a⁰과 음수 지수
a0 을 "0번 곱한 것"이라고 읽으면 뜻이 안 통합니다. 그런데 값은 정해져 있습니다.
같은 식을 두 방향으로 계산해 보면 나옵니다.
a3÷a3 을 약분해서 세면 위아래가 통째로 지워지므로 1 입니다. 지수법칙으로 계산하면 a3−3=a0 입니다. 같은 식을 계산한 것이니 두 값은 같아야 합니다.
a0=1
한 번 더 갑니다. a3÷a5 을 약분해서 세면 아래에 a 가 둘 남아 a21 입니다. 지수법칙으로는 a3−5=a−2 입니다.
a−n=an1
약속이라서 그런 것이 아닙니다. 지수법칙이 계속 성립하기를 바란다면 이 값들 말고 다른 것을 줄 방법이 없습니다.
10번 글에서 (−3)×(−4)=12 를 얻을 때 쓴 논법과 정확히 같습니다. 앞에서 성립하던 것이 계속 성립하려면 값이 하나로 정해진다 — 이 트랙에서 두 번째로 쓰는 자리입니다.
00 만 예외입니다. 위 논법이 a 로 나누는 것을 쓰는데 0으로는 나눌 수 없기 때문입니다.
다르게 두면 무엇이 깨지는가
a0 을 1이 아니라 0으로 두면 안 되는지 확인해 둡니다. 규칙 하나를 바꾸면 어디가 어긋나는지 직접 보는 것이 가장 확실합니다.
첫째 법칙에 m=3, n=0 을 넣습니다.
a3×a0=a3+0=a3
a0 이 0이라면 왼쪽은 a3×0=0 이라 a3 과 같아질 수 없습니다. 어떤 수에 곱해도 그 수가 그대로 남는 수는 1뿐 이므로 a0 은 1일 수밖에 없습니다.
같은 방식으로 음수 지수도 확인합니다. a2×a−2=a0=1 이어야 하니 a−2 은 a2 에 곱해서 1이 되는 수, 곧 a21 입니다.
분수의 음수 지수
분수에 음수 지수가 붙으면 분자와 분모가 통째로 뒤집힙니다.
(ba)−n=(ba)n1=bnan1=anbn=(ab)n
세 걸음뿐입니다. 음수 지수를 분모로 내리고, 다섯째 법칙으로 분자와 분모를 각각 거듭제곱하고, 번분수를 정리합니다.
(32)−2=(23)2=49
(51)−1=5
지수 −1 은 뒤집으라는 말 로 읽으면 편합니다. 2−1 은 21 이고 (52)−1 은 25 입니다.
음수 지수를 분모로 옮기기
식 안에 음수 지수가 섞여 있으면 전부 양수 지수로 바꿔 적는 것이 보기 좋습니다. 규칙은 위에 있는 음수 지수는 아래로, 아래에 있는 음수 지수는 위로 입니다.
3x−2y=x23y
여기서 3이 함께 내려가지 않는 것에 주의합니다. 지수 −2 는 x 에만 붙어 있으므로 x 만 내려갑니다. 앞 절의 괄호 이야기와 같은 자리입니다.
(3x)−2=(3x)21=9x21
괄호가 있으면 3도 함께 갑니다. 두 식은 x23y 과 9x21 로 전혀 다른 식입니다.
아래에 있는 것도 해 봅니다.
a−31=a3,5x−12=52x
제곱근과 절댓값
a 는 제곱해서 a 가 되는 음이 아닌 수입니다. 9=3 입니다.
−3 도 제곱하면 9이지만 9 는 아닙니다. 기호 하나가 값 하나를 가리키게 하려고 음이 아닌 쪽만 고른 것입니다. 두 쪽을 다 말하려면 ±9 라고 적습니다.
여기서 한 자리를 짚어 둡니다.
x2=∣x∣
x 가 음수일 때가 문제입니다. x=−4 를 넣어 보면 (−4)2=16=4 입니다. x 인 −4 가 아니라 그 절댓값인 4가 나옵니다. 근호가 음이 아닌 쪽만 내놓기로 했으니 부호가 지워지는 것입니다. 절댓값 표기는 10번 글의 것을 그대로 씁니다.
7번 글에서 한 변이 1인 정사각형의 대각선으로 만들어 냈던 2 가 이제 계산 대상이 됩니다.
곱과 몫은 되고 덧셈은 안 된다
근호는 곱셈과 나눗셈에서는 안팎을 자유롭게 오갑니다.
ab=ab,ba=ba
9×16=144=12 이고 9×16=3×4=12 로 같습니다.
덧셈에서는 그렇지 않습니다. 같은 수로 해 봅니다.
9+16=25=5,9+16=3+4=7
5와 7입니다. 이것이 근호에서 가장 자주 저지르는 실수이고, 7번 글의 그림으로 되돌아가면 왜 그런지가 눈에 보입니다.
다리가 3과 4인 직각삼각형에서 빗변은 9+16=5 입니다. 두 다리를 일자로 이어 붙이면 7입니다. 빗변으로 질러가는 길과 두 다리를 돌아가는 길의 차이 가 곧 5와 7의 차이입니다. 근호를 각각 씌워 더한 값은 돌아가는 길을 잰 것이라 원래 구하려던 길이가 아닙니다.
음수의 제곱근
−4 는 어떻게 될까요. 실수 중에는 없습니다.
어떤 실수든 제곱하면 0 이상입니다. 양수를 제곱하면 양수이고 음수를 제곱해도 양수이며 0은 0입니다. 그러니 제곱해서 −4 가 되는 실수는 없습니다.
여기가 10번 글에서 그은 수직선의 경계입니다. 수직선 위의 어느 자리에도 답이 없으므로, 답을 가지려면 수의 범위를 한 번 더 넓혀야 합니다. 그 일은 26번 글의 몫입니다.
이 글에서는 근호 안이 0 이상일 때만 다룹니다. 그래서 x−3 같은 식을 만나면 x≥3 이라는 조건이 함께 따라붙습니다.
근호를 다루는 손계산
근호가 든 식은 그대로 두면 크기를 가늠하기 어렵습니다. 정리하는 손놀림 셋을 익혀 둡니다.
실수를 2^b개 격자에 사상할 때 오차의 분산이 왜 Δ²/12인지 유도하고, 그것이 비트당 6.02dB라는 SNR로 번역되는 과정을 실측과 대조했습니다. 이상치 하나가 나머지 값의 유효 비트를 어떻게 먹는지, 그리고 int4에서 성능이 무너지는 지점을 오차 예산으로 미리 계산하는 법까지.
최댓값 빼기, 로그 공간, log1p·expm1, 분산의 두 공식, 정규화의 ε, fp32 누산, 역행렬 대신 solve — 프레임워크가 몰래 해 주는 일곱 가지를 하나씩 꺼내 각각 어떤 고장을 막는지 직접 재 봤습니다. 수식을 그대로 옮긴 코드가 왜 라이브러리보다 나쁜지에 대한 목록입니다.
0.1 + 0.2가 0.3이 아닌 이유부터 시작해 머신 엡실론을 유도하고, 같은 16비트인데 fp16과 bf16이 서로 다른 지점에서 터지는 이유, 비슷한 수를 뺄 때 유효자리가 사라지는 파괴적 상쇄, 그리고 1,000만 개를 순서만 바꿔 더했을 때 오차가 백만 배 갈리는 실험까지 직접 재 봤습니다.