이곳은 개발을 위한 베타 사이트 입니다.
기여내역은 언제든 초기화될 수 있으며, 예기치 못한 오류가 발생할 수 있습니다.
기여내역은 언제든 초기화될 수 있으며, 예기치 못한 오류가 발생할 수 있습니다.
세로셈법
덤프버전 :
1. 개요[편집]
수학에서 수식을 세로 방향으로 전개해서 풀이하는 일련의 과정을 말한다. 분야에 따라 다른 이름으로 불리기도 한다. 일반적으로 '세로셈법'이라 하면 나눗셈의 세로셈법을 가리킨다.
공통적으로 복잡한 계산을 빠르게 풀 수 있게 하는 도구라는 특징이 있다.
2. 목록[편집]
2.1. 나눗셈의 세로셈법(장제법)[편집]
[math(\begin{array}{r} \begin{array}{r}\\ \div 120~\big) \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \end{array} \!\!\:\!\!\!\!\! \begin{array}{r}3.541\dot6 \\ \hline 425\qquad\; \\ 360\qquad\; \\ \hline 65\;0\quad~~ \\60\;0\quad~~ \\ \hline 5\;00\quad \\4\;80\quad \\ \hline200~~ \\ 120~~ \\ \hline{\color{red}80}0 \\ 720 \\ \hline{\color{red}80} \end{array} \end{array})]
초등학교 수학에서 나눗셈을 이렇게 계산했을 것이다.
위 세로식에서 안쪽의 수는 나눠질 수(피제수)를, 왼쪽에는 나눌 수(제수)를 쓰고 아래로 쭉 계산해서 내려가면서 그 몫을 맨 위에 쓰는 방식이다.[1] 아무리 해도 나누어떨어지지 않을 경우, 숫자가 반복되는 구간을 짚어서 그 끝부분에서 끊은 뒤, 그 숫자 위에 점 혹은 윗줄을 그어주면 된다.
그러나 중학교 수학으로 올라가면 저렇게 계산하는 일이 없는데, 분수(정확히는 유리수)로 퉁쳐버리기(...) 때문이다.
그러다가 다시 고등학교 수학으로 올라가 다항식의 사칙연산을 할 때 세로셈법이 잠시 등장하며, 대학교 과정에서 시계 산술이 적용되는 유한체의 나눗셈에서 세로셈법이 다시 등장한다.
2.2. 개방법[편집]
開方法
각종 근호를 산술적으로 계산하는 방법으로 단순히 개법(開法)또는 개방(開方)이라고도 한다. 한자어로 제곱은 평방(平方), 세제곱은 입방(立方)이라고 하며 [math(n)]제곱을 통틀어 방(方)이라고 하기 때문에 방을 푼다(開)는 뜻에서 이런 이름이 붙었다. 특별히 제곱근, 세제곱근은 각각 개평법(開平法), 개립법(開立法)이라고도 불린다.
제곱근을 시행착오법으로 구하다보면 [math(k)]개의 유효숫자를 구하는데 [math(k)]자리수끼리의 곱셈을 여러번 해야 한다. 이는 매우 귀찮은 작업일 뿐더러 손계산으로는 시간이 매우 많이 걸리기 때문에 이를 피하기 위하여 개발된 방식이다. 원리는 이항정리를 이용하는 것으로, 임의의 [math(n)]제곱근에 얼마든지 적용할 수 있다. 그러나 개평법을 제외하고는 어디까지나 컴퓨터를 이용한 알고리즘의 영역이며 [math(n=3)]만 돼도 손계산 역시 매우 버거워진다. 손계산이 어느 정도 가능한 방법은 개평법이 유일하다.
2.2.1. 개평법[편집]
2.2.1.1. 원리[편집]
근본적으로 곱셈 공식
에서 [math(a^2)]을 이항한
를 이용한다. [math(\sqrt{15.251})]를 예로, 하나씩 넣어보기가 [math((3 + b)^2 \le 15.251)]인 최대의 [math(b)]를 찾는 방법이라면, 개평법은 우선 [math(a^2 = 9)]를 양변에서 빼서
의 꼴로 만들고 [math(3.1)], [math(3.2)], …등은 모두 [math(3 + 0.1x)]꼴, 즉 [math(b = 0.1x)]이므로 양변에 [math(100)]을 곱해
로 바꿔준 뒤 [math(10)]미만의 최댓값 [math(x)]를 찾는 것이다.
만약 [math(x)]가 자연수로 딱 떨어지지 않고 소수가 된다면 자연수 [math(y)], [math(0<z<10)]인 유리수 [math(z)]를 이용하여 [math(x = y + 0.1z)]로 나타낼 수 있으므로
가 되는데 [math((3\times20 + y)y)]는 자연수이므로 양변에서 빼면
가 되고 [math(3\times10 + y = a')]라 놓으면 위 부등식은 [math((2a' + 0.1z)0.1z \le 625.1 - (3\times20 + y)y)]가 되어 맨 처음에 이용했던 [math((2a + 0.1x)0.1x \le 6.251)]와 완전히 같은 꼴이 된다.
이 말은 곧 [math(x)]값을 소수 아래 자리까지 정확하게 찾으려고 애쓸 필요가 없으며 적당히 부등식을 만족하는 최대의 자연수를 구한 뒤 부등식의 양변에서 뺀 다음 다시 100을 곱하고 부등식을 만족하는 최대의 자연수를 찾고……하는 식으로 반복해나갈 수 있음을 의미한다.
이는 앞의 방법에 비하면 계산량이 차원이 다르다. (실제로 대략 [math(\mathcal{O}(k^2))]에서 [math(\mathcal{O}(k))]가 된 것이다.)
2.2.1.2. 방법[편집]
방법은 설명했으니 예시로 313.29의 제곱근을 구해보자. 개평법을 쓸 때에는 다음과 같이 피개평수에서 빼는 연산을 위한 열과(이하 뺄셈 열), 빼기 위한 수를 계산하기 위한(상술한 [math(2a+b)]를 계산하는) 열(이하 덧셈 열) 2줄을 준비해놓는 것이 좋다. 아래 식에서 왼쪽 단이 덧셈 열이고 오른쪽 단이 뺄셈 열이다.
- [math(\begin{array}{l|r} \begin{array}{lr}& \\ \end{array} & \begin{array}{l}\sqrt{3{\color{red}|}13.{\color{red}|}29}\end{array} \end{array})]
313.29를 소수점을 기준으로 2자리씩 끊어준다.[2] 이는 원래의 수를 100으로 나누고 곱해 두자리 정수만 남기고 소수점 아래를 버린것과 같다.
- [math(\begin{array}{l|r} \begin{array}{lr}& \\ \end{array} & \begin{array}{l}\quad1\\ \sqrt{3{\color{red}|}13.{\color{red}|}29}\end{array} \end{array})]
제곱을 했을 때 맨 앞 숫자를 넘지 않는 최대의 자연수의 제곱수 [math(a^2)]을 구한다.[3] [math(a)]가 곧 해의 첫 번째자리의 수가 된다. 이 경우 맨 앞 숫자가 [math(3)]이므로 [math(1(=1^2)\le3<4(=2^2))]에서 [math(a=1)]이다.
- [math(\begin{array}{l|r} \begin{array}{lr}& \\ & 1 \\ +) & 1\\ \hline & 2 \end{array} & \begin{array}{l}\quad1 \\ \sqrt{3{\color{red}|}13.{\color{red}|}29} \\ \quad1 \\ \hline \quad 2\;13 \\\end{array} \end{array})]
맨 앞 숫자에서 [math(a^2)]을 빼고 그 다음 2자리의 수를 내려적는다.[4] 이는 원래의 수에서 [math(a^2)]을 빼고 100을 곱한 것과 같다. 이와 동시에 다음 뺄 수를 계산하기 위해 덧셈 열에 [math(2a)]를 기록한다.
- [math(\begin{array}{l|r} \begin{array}{lr}& \\ & 1~~\\ +) & 1~~\\ \hline & 2{\color{red}7} \\ +) & {\color{red}7} \\ \hline & 34 \end{array} & \begin{array}{l}\quad1\;~~{\color{red}7}. \\ \sqrt{3{\color{red}|}13.{\color{red}|}29} \\ \quad1 \\ \hline \quad 2\;13 \\ \quad 1\;89 \\ \hline \quad ~~\;24\;\;29 \end{array} \end{array})]
앞서 [math(a^2)]을 빼고 100을 곱했으므로 [math(100(2a+b)b = 100(2a+0.1x)0.1x = (20a+x)x)]가 뺄셈 열의 결과값보다 크지 않은 최대의 수, 즉 제곱근의 두 번째자리 수를 구한다. 이 경우 [math(189(=27\times7)\le213<224(=28\times8))]이므로 [math(x=7)]이 된다. [math((20a+x)x)]를 뺄셈 열의 결과값에서 뺀 뒤 다음 2자리 수를 내려 적는다.
덧셈 열에는 [math(20a+x)]와 [math(x)]를 더한 [math(2(10a+x))]를 새로운 [math(2a)]로 놓고 계산을 반복한다.
덧셈 열에는 [math(20a+x)]와 [math(x)]를 더한 [math(2(10a+x))]를 새로운 [math(2a)]로 놓고 계산을 반복한다.
- [math(\begin{array}{l|r} \begin{array}{lr}& \\ & 1~~~~\\+) & 1~~~~\\ \hline & 27~~ \\+) & 7~~ \\ \hline & 34{\color{red}7} \\ & {\color{red}7} \\ ~\end{array} & \begin{array}{l}\quad1\;~~7.\;~~{\color{red}7} \\ \sqrt{3{\color{red}|}13.{\color{red}|}29} \\ \quad1 \\ \hline \quad 2\;13 \\ \quad 1\;89 \\ \hline \quad~~ \;24\;\;29 \\ \quad~~ \;24\;\;29 \\ \hline \quad~~ \;~~~~\;\;~~0 \end{array} \end{array})]
최종적으로 뺄셈 열에서 0이 나오면 제곱근 구하기를 완료한 것이다. 루트안의 수가 무한소수거나 자리수를 나눌때 [math(m)]개로 나누었는데 (313.29의 경우 [math(3|13.|29)]로 3개) 루트를 [math(m)]자리까지 구해도 안끝나는 경우는 루트자체가 무한소수이므로 적절한 유효숫자에서 끝내면 된다.
예시는 딱 유한소수로 끝나는 수를 가져왔지만 이 방법은 제곱근이 무리수가 나와도 원하는 유효숫자까지 계속 구해나갈 수 있다.
앞서 [math(\sqrt{15.251})]를 개평법으로 계산해보면
로 무한히 이어져나가는 것을 볼 수 있다. 제곱근의 유효숫자 표기법에 따라 나타내면 근삿값은 약 3.90525가 된다.
2.2.2. n제곱근(n≥3)[편집]
[math(n)]제곱근부터는 개평법에 비해 계산량이 폭발적으로 늘어난다. 개립법에서는 똑같이 피개립수를 적절하게 [math(1000^k)]으로 나누고 곱하기를 반복하면서 자연수 [math(a)], [math(b)]에 대해 [math((a+0.1b)^3)]을 찾아나가는 과정은 똑같은데, 뺄셈 열에서 빼야 하는 수는 [math(1000\left\{(a+0.1b)^3 - a^3\right\} = 300a^2b + 30ab^2 + b^3 = \mathord{\left(300a^2 + 30ab + b^2\right)}b)]가 된다. 덧셈 열로 쓰던 단도 개립법부터는 덧셈 열로서의 의미를 상실하여 사실상 곱셈 열이 되며(아래 예시 참조) 앞서 개평법에선 먼저 구했던 수를 2배하고 [math(b)]를 붙여주고 곱하는 것으로 끝이었다면, 이제는 구해야 하는 수의 지수가 포함된 식에 하나하나 대입하면서 계산해야하는 상황이 된 것이다. 이쯤 되면 최대 결과값을 손으로 계산하는 것보다 계산기를 쓰는 게 차라리 나은 수준이 되는데 요즘 웬만한 공학계산기 및 계산기 어플에서는 [math(n)]제곱근을 지원하기 때문에(……) 개립법부터는 그냥 계산기를 쓰는 게 차라리 낫다.
예시로 [math(\sqrt[3]3)]을 개립법으로 유효숫자 4자리까지 구해보면 다음과 같다. 곱셈 열(왼쪽 단)에서 [math(f(a,\,x) = 300a^2 + 30ax + x^2)]이며 [math(a)]에 들어갈 수는 이전 결과까지 구한 해의 숫자를 나열한 것이다.
따라서 [math(\sqrt[3]3 \fallingdotseq 1.442)]가 된다.
2.3. 도표적분법[편집]
圖表積分法
부분적분을 연쇄적으로 해야 하는 경우, 도표적분법(tabular integration)을 통해서 좀 더 빨리 부분적분을 계산할 수 있다. 이는 '부분적분 세로셈'이라고도 하며, 영어로는 미분을 뜻하는 differentiation과 적분을 뜻하는 integral의 머리글자를 따 DI method라고 하며, tic-tac-toe method라고도 한다.
정적분은 부정적분으로 바꾸어서 계산하고 나중에 정적분으로 계산한다.
부분적분 세로셈은 [math(f'(x)=c)](상수)가 되면 [math(f'(x))]가 적분 기호 밖으로 나올 수 있다는 점을 이용한다.[5] 표의 왼쪽 열은 미분하는 열이고, 오른쪽 열은 적분하는 열이다. 위의 우선순위에 의해 미분열 맨 위에 미분하려는 함수([math(f(x))])를 적고, 적분열 맨 위에 적분하려는 함수([math(g'(x))])를 적는다. 그 후 미분열 아래로 계속 미분을 하고, 적분열 아래로는 계속 적분하여 내려간다. 그러다가 미분열에 적힌 함수가 상수가 되면 맨 왼쪽에 행마다 +, -, +, -를 반복하여 부호를 붙인다. 그 아래로 적분을 한 번 더 하여 하향 대각선 방향으로 함수를 곱한 뒤 그 결과를 더하면 된다.
위 그림처럼 부분적분을 두 번 연속해서 쓸 수도 있다. 마찬가지 방법으로 계속 아래로 내려가면 부분적분을 계속해서 쓸 수 있다.
2.3.1. 교환법칙[편집]
어떤 함수가 같은 행에 있다는 것은 이 부분적분 중간에 그 함수를 곱해서 적분하는 과정이 들어있다는 뜻이다. 따라서 같은 행에 한해서 왼쪽 열(미분열)과 오른쪽 열(적분열)의 교환법칙이 성립한다. 단, 이 과정을 아래줄에 적을 때 +, - 부호도 같이 유지된다는 점에 유의하자. 사실 상 같은 식을 두 번 적은 셈이니 하향 대각선으로 가는 곱도 함수교환 직전에는 하지 않는다.
2.3.2. 미분열이 상수가 되지 않는 경우[편집]
같은 행에 있는 함수는 곱하여 적분한 것을 뜻하므로, 하향 대각선으로 가다가 마지막에는 가로 일직선으로 곱해서 적분기호를 붙이면 된다. 이 때 적분기호를 빼먹지 않도록 하자.
[1] 나눗셈의 대상이 체가 아닐 경우(쉽게 말하면 소수점 밑으로 내려가지 않는 경우) 오른쪽에 나머지를 써준다.[2] 이걸 잘못이해해서 뒤에서부터나 앞에서부터 끊다간 [math(\sqrt{123.456})]이나 [math(\sqrt{\dfrac19} = \sqrt{0.\dot1})] 따위를 구하기 곤란하다 물론 빈자리는 0으로 채우면 된다.[3] 수식으로 나타내면 맨 앞 숫자를 [math(\alpha)]라고 했을 때 [math(a^2 \le \alpha)][4] 맨 처음에 소수점을 기준으로 2자리씩 끊어준 이유가 바로 여기에 있다.[5] 물론 꼭 상수가 되어야만 세로셈을 쓸 수 있는 것은 아니다. 뒤의 항목 참조.