내용
거듭제곱근(Radicals)
거듭제곱근(Radicals)
식 1과 같은 형태를 거듭제곱근(Radicals)라고 합니다.
\begin{align}\tag{식 1}y&=\sqrt[n]{x}\\&=a^\frac{1}{n}\\ & x \gt 0: y \in \mathbb{R}\\ & x \lt 0: y \in \text{Complex number}\end{align}
식 1의 표현에서 n=2의 경우 n은 생략됩니다.
$$\sqrt[4]{16} = 16^\frac{1}{4}=(2^4)^\frac{1}{4}=2$$
pow(16,1/4)
2.0
식 1에서 n이 홀수일 경우 x의 부호는 근호(root) 외부로 이동할 수 있습니다.
$$\sqrt[3]{-125}=(-125)^\frac{1}{3}=((-5)^3)^\frac{1}{3}=-5$$
음수일 경우 부호를 이동시키지 않은 상태에서 pow() 함수를 적용하면 복소수가 반환됩니다. 이는 $\frac{1}{3}$이 무한 소수이기 때문에 발생하는 컴퓨터 연산의 본질적 오류입니다.
y=-pow(125,1/3) round(y, 2)
-5.0
y=pow(-125,1/3) y
(-2.5-4.330127018922192j)
위와 같이 세제곱근은 numpy 패키지의 cbrt()
함수를 적용할 수 있습니다.
y=np.cbrt(-125) y
-5.0
다음은 n이 짝수이고 x가 음수일 경우입니다.
$$\sqrt[4]{-16}=(-16)^\frac{1}{4}$$
pow(-16, 1/4)
(1.4142135623730951+1.414213562373095j)
위 문제의 경우 -16은 어떤수의 실수인 지수승으로 계산되지 않기 때문에 평가될 수 없습니다. 즉,
pow(-16, 1/4)
(1.4142135623730951+1.414213562373095j)
특성
\begin{align}\tag{식 2}&\sqrt[n]{a^n} =a\\ &\sqrt[n]{ab}=\sqrt[n]{a} \sqrt[n]{b}\\ &\sqrt[n]{\frac{a}{b}}=\frac{\sqrt[n]{a}}{\sqrt[n]{b}}\end{align}
파이썬 함수에서 거듭제곱근 문제 수정
파이썬에서 음수의 거듭제곱을 실행하는 경우 다음과 같은 문제가 발생합니다.파이썬의 연산의 우선순위에 의해 자수자체의 연산 다른 연산의 경우보다 우선됩니다. 다음의 $\sqrt[3]{-3^3}=(-2)^\frac{2}{3}$의 경우 지수인 $\frac{2}{3}$이 먼제 계산됩니다. 그러므로 복소수가 반환됩니다.
(-2)**(2/3)
(-0.7937005259840993+1.3747296369986026j)
pow(-2, 2/3)
(-0.7937005259840993+1.3747296369986026j)
위 경우는 다음과 같이 괄호 연산자를 첨가함으로서 해결됩니다. 파이썬에서 괄호내의 연산이 다른 연산보다 우선됩니다.
((-2)**2)**(1/3)
1.5874010519681994
제곱근에서 밑수 즉 $\sqrt{a}=a^{\frac{1}{2}}$에서의 밑수 a는 양수이어야 합니다. 그러나 지수가 홀수일 경우는 '-'사인을 근호 밖으로 내보내는 방식으로 계산할 수 있습니다.
$$\sqrt[b]{-a} = -\sqrt[b]{a} = -(a)^\frac{1}{b} \quad b: \text{홀수}$$
(-8)**(1/3)
(1.0000000000000002+1.7320508075688772j)
-(8)**(1/3)
-2.0
댓글
댓글 쓰기