« Previous : 1 : 2 : 3 : 4 : Next »

반비례 함수가 쌍곡선인 이유

두 초점 A, B가 있을 때 A에서의 거리와 B에서의 거리의 차가 동일한 점들의 집합을 쌍곡선이라고 한다. x^2 - y^2 = a 이런 음함수로 정의되며, 그래프를 그려 보면 곡선이 둘 그어지는 것이 특징이다.
그 반면, 합이 동일한 점들의 집합은 잘 알다시피 타원이며, x^2 + y^2 = a 꼴로 정의된다.

그런데 y=a/x, 다시 말해 xy = a 꼴인 반비례 함수는 x^2나 y^2처럼 단일 변수의 제곱이 존재하지 않는다. 하지만 우리는 이게 이차곡선인 쌍곡선의 표준형을 45도 돌린 형태라고 얼추 알고 있다.
어째서 그런 것일까? 수학적으로 더 엄밀히 증명해 볼 수는 없을까?
반비례 함수를 회전 행렬을 이용해서 45도 돌린 뒤, 이 함수가 쌍곡선 표준형과 동치임을 보이면 될 것이다.

45도일 때는 cos와 sin의 값이 sqrt(2)/2로 동일하다. 그렇기 때문에 (x, y)라는 점은 45도 회전하고 나면

사용자 삽입 이미지

요렇게 된다. 그럼 다음으로 45도 돌아간 x', y'를 기반으로 우리의 목표인 쌍곡선 방정식을 재구성하면 된다.
그러면 기존의 x, y 변수를 없애야 하는데, 위의 식을 그대로 제곱해서 빼기만 해도 x'^2 - y'^2 = -2xy로 놀랍게도 x^2와 y^2이 소거되어 없어진다. 이는 앞서 살펴보았듯이 각도가 45도여서 cos와 sin의 함수값이 서로 동일한 덕분에 가능한 일이다.

마지막으로 남은 xy야 원래 반비례 그래프의 정의상 a로 치환하면 되니 금방 처리된다.
그러면 x'^2 - y'^2 = -2a가 되고 쌍곡선과 동일함이 입증된다. 뭔가 허무해 보이지만.. 이차곡선 중에서 x나 y의 제곱이 없는 식은 이렇게 쌍곡선으로 귀결된다.
45도가 아닌 다른 각도라면 기존 x, y가 이렇게 쉽게 소거되지 않기 때문에 문제가 이런 식으로 단순하게 풀리지 않게 된다.

가만히 생각해 보니, 애초에 Ax^2 + Bxy + Cy^2 + Dx+Ey+F = 0에 대해서 그래프의 모양을 결정하는 판별식도 있다. A,B,C 중 적어도 하나 이상은 0이 아닐 때, B^2 - 4AC가 0이면 이 그래프는 포물선이요, 음수이면 타원 또는 원, 양수이면 쌍곡선이 된다. 구체적인 유도 과정은 쉽지 않을 텐데.. 이거 정도면 중등 교육과정 범위에 있다.
그러니 xy=1이야 B만 비영이고 A, C는 0.. 판별식 값은 당연히 양수가 되고 쌍곡선으로 귀결된다. 오오~~

판별식의 형태가 1계수 이차방정식의 근 판별식과도 매우 유사하다. 이차방정식의 경우 A만 비영이라는 조건이지만, 이차곡선 내지 원뿔곡선 방정식의 판별식은 아까 상술하였듯이 A,B,C 중 아무거나 하나 이상만 비영이면 된다.

그리고 A부터 F까지 아무 숫자나 집어넣는다고 해서 원뿔곡선이 튀어나오는 게 아니다. 상수항이 0이거나 하면 원이 극도로 작아져서 그냥 점이 되기도 하며, 쌍곡선은 점근선을 나타내는 직선 두 개로 귀착된다. 당장 xy=0만 해도 x축과 y축을 동시에 나타나내는 직선이 되니까.. 그럼 다음으로 포물선은..? 평행한 두 직선이 돼 버린다.
이차방정식이 x^2+1 = 0 같은 경우 실수 근이 존재하지 않는 것처럼.. 이것의 이변수 상위 호환인 원뿔곡선 방정식도 실수 범위에서 공집합이 될 수도 있다.

이 개념을 degeneracy(축퇴.. 축 쪽으로 퇴화)라고 부른다. 뭔가 행렬에서 행렬식의 값이 0이 돼 버리는 상황 같은 느낌이 들지 않는가? 계수가 주어졌을 때 축퇴 여부를 판별하는 판별식도 있다. 이건

(b^2-4ac)f + ae^2 - bde + cd^2

으로, 곡선 종류 판별식을 포함하면서 다소 복잡한 편이다. 이걸 유도하는 건 확실하게 중등 이상의 더 어려운 영역이며, 더 추상적인 수학 개념이 동원된다. 딱 봤을 때 각 항들에 변수가 2개가 아니라 3개씩 곱해진 것부터가 매우 인상적이다.

쌍곡선에서 시작해서 이차곡선에 대한 더 원론적인 얘기로 주제가 옆길로 좀 샜는데.. 다시 쌍곡선 얘기를 하며 글을 맺겠다.
반비례 그래프는 xy=a, 즉 x의 역수를 구하는 함수인지라 y=-x의 그래프에 대칭인 쌍곡선이 튀어나온다. e^x가 도함수가 자신과 동일한 함수라면, a/x는 역함수가 자신과 동일한 함수이다. f(f(x)) = x가 성립하는 게 어찌 보면 not이나 xor 연산 같아 보이기도 하다..

원의 방정식이 그 정의상 (cos(t), sin(t))라는 매개변수로 표현될 수 있는 것처럼 쌍곡선의 방정식은 (cosh(t), sinh(t))라는 매개변수로 표현될 수 있다. cosh와 sinh의 배치가 바뀌면 쌍곡선의 위치가 상하 또는 좌우로 바뀐다.

그리고 원의 방정식이 y=sqrt(a-x^2) 같은 꼴로 양함수로 표현될 수 있는 것처럼 쌍곡선의 방정식은 y=sqrt(x^2+a)의 꼴로 표현될 수 있다. a의 부호가 무엇이냐에 따라 쌍곡선의 배치(상하 또는 좌우)가 바뀐다. 한편으로 저 모양만 봐도 x의 값이 너무 작거나 커지면 y=x에 가까워질 소지가 다분해 보임을 알 수 있다.

Posted by 사무엘

2021/02/09 08:37 2021/02/09 08:37
, , ,
Response
No Trackback , No Comment
RSS :
http://moogi.new21.org/tc/rss/response/1852

피보나치 수열의 일반항 구하기

피보나치 수열이란 첫 두 항 F(1)와 F(2)의 값이 1이고, 그 다음부터는 n>=3인 자연수에 대해 F(n) = F(n-1)+F(n-2)이라고 재귀적으로 정의되는 수열이다.
1, 1, 2, 3, 5, 8, 13, 21, 34 …와 같은 순으로 숫자가 나열되며, 수가 커질수록 인접한 두 항의 비율은 황금비 (1+sqrt(5))/2로 수렴한다. 즉, 얘는 1 2 4 8 같은 등비수열과 동일한 형태는 아니지만, 수가 증가하는 정도가 등비수열과 동급이다.

그런데 다른 F 값에 의존하지 않고 F(n)의 값을 곧바로 구할 수는 없을까? 다시 말해 F(n)의 일반항을 구할 수는 없을까?

결론부터 말하자면.. 구할 수 있을 뿐만 아니라 더 나아가 0이 아닌 아무 a,b,c와 초기값 F(1), F(2)에 대해서 a*F(n+2) + b*F(n+1) + c*F(n) = 0꼴의 점화식 자체의 일반항을 구하는 것도 가능하다.
저런 점화식의 일반항은 X^n ± Y^n 의 형태로 귀착된다(X, Y는 임의의 상수). 피보나치 수열은 저기서 a=1이고 b=c=-1, F(1)=F(2)=1인 경우일 뿐이다.

이 점화식을 푸는 것의 핵심은 점화식을 동일하게 유지하면서 기존 a, b, c 계수를 각각 1, -(p+q), p*q라는 형태로 바꾸는 것이다. a는 a, b, c를 똑같이 a로 나눠 주면 1로 바꿀 수 있고, b와 c는 합이 -b이고 곱이 c인 p, q라는 또 다른 숫자쌍을 구해서 바꾸면 된다. 이런 식으로 일반성을 유지하면서 계수의 형태를 치환하는 건 3차나 4차 같은 대수방정식을 풀 때도 볼 수 있는 테크닉이다.

계수의 형태를 저렇게 바꿈으로써 우리는 동일한 점화식을 F(n+2) - p*F(n+1) = q*( F(n+1) - p*F(n) )이라고.. 우리가 처리하기 더 유리한 단순한 형태로 변형할 수 있다. 어떤 점에서 더 유리한지는 곧 알게 될 것이다.
p와 q 둘 중 하나가 0이면 F(n)은 그냥 평범한 등비수열이 되겠지만, 단서가 더 추가됨으로써 변형이 가해진 좀 더 복잡한 수열을 만들 수 있다.

가령, F(1)=F(2)=1이면서 p=2, q=-1이면 이 수열은 1 1 3 5 11 21 43 ... 즉, 앞의 수의 2배에다가 1을 더하거나 뺀 형태가 되며,
p=3, q=-2이면 1 1 7 13 55 133 463 1261 ... 앞의 수의 3배에다가 각각 4, -8, 16, -32를 더한.. 기묘한 수열이 만들어진다.

이런 유형의 수열을 저 점화식으로 표현할 수 있다는 것이다. 그리고 피보나치 수열은 p+q=1, pq=-1인 경우이다.
(그러고 보니 다른 수학 교재에서는 이때 p, q 대신 알파와 베타를 쓰는 편이더라만.. 그건 그냥 기분과 취향 문제이니 이 글에서는 계속해서 p, q를 쓰도록 하겠다.)

F(n+2) - p*F(n+1) = q*( F(n+1) - p*F(n) ) 이라는 식을 잘 살펴보면.. 그 정의상 초기항인 F(2) - p*F(1)에다가 q를 곱해 주는 것만으로 F의 등급을 쭉쭉 올릴 수 있다. 무슨 얘기냐 하면, n>=1에 대해서 F(n+2) - p*F(n+1) = q^n * (F(2) - p*F(1))이라는 것이다. 이런 놀라운 특성 때문에 점화식을 이런 형태로 바꾼 것이다.

저렇게 하면 식의 우변이 p, q, F(1), F(2)라는 상수 형태로 완전히 바뀐다. 아, 우변이 F(n)에 대한 의존도만 없어졌지 n에 대한 지수함수이기 때문에 완전한 상수는 아니다. 완전한 상수라면 이 형태만으로 문제가 다 풀렸을 것이다.
이 상태에서 식을 더 단순화시키기 위해서 우리가 활용하는 특성은 바로.. p, q의 값이 서로 뒤바뀌어도 생성되는 순열 결과는 달라지지 않는다는 것이다.

애초에 덧셈과 곱셈은 교환 법칙이 성립하는 연산이다. 그러니 p, q의 등장 순서를 뒤바꿔도 합 -b와 곱 c는 바뀌지 않을 것이다. 위의 점화식을 F(n+2) - q*F(n+1) = p*( F(n+1) - q*F(n) ) 이라고 바꿔 줘도 달라지는 것은 전혀 없다.

기하학적으로 생각하자면 저건 쌍곡선(곱이 같음 = 반비례)과 직선(합이 같음 = 정비례)의 교점을 구하는 것과 같다. 그 직선이 쌍곡선의 점근선 중 하나와 수직-평행 관계가 아닌 한, 교점은 “둘” 존재하게 될 것이다.

대수적으로 생각한다면야 저건 평범한 이차방정식을 푸는 것과 같다. -(p+q)와 p*q는 이차방정식 (x-p)(x-q)와 정확하게 대응한다. (x-p)(x-q)를 하든 (x-q)(x-p)를 하든 식이 달라지는 것은 없다. 너무 당연한 얘기이다.

F(n+2) - p*F(n+1) = q^n *( F(2) - p*F(1) )
F(n+2) - q*F(n+1) = p^n *( F(2) - q*F(1) )

그래서 위의 등식에서 아래의 등식을 그대로 빼 버리면.. F(n-2)가 없어지고 등식 전체에서 F(n+1) 하나만 남게 된다.
F(n+1)의 앞에 붙은 q-p라는 계수로 양변을 나누고, n을 n-1로 치환하면 일반항 유도가 완료된다. 대략

F(n) = ( (q*F(1) - F(2))*p^(n-1) - (p*F(1) - F(2))*q^(n-1) ) / (q-p)

라는 비교적 깔끔한 식이 나온다. 이 정도는 심하게 복잡하지는 않으니 이미지 대신 그냥 문자 형태로 때웠다. ㄲㄲ
양변을 덧셈이 아니라 뺄셈을 했기 때문에 F(1)과 F(2)의 부호가 반대로 바뀌었다.

피보나치 수열의 일반항은 저기에서 F(1)=F(2)=1, 그리고 p와 q에다가는 x^2 - x - 1 = 0의 근인 (1+sqrt(5))/2와 (1-sqrt(5))/2를 각각 대입하기만 하면 구할 수 있다.
번거로운 계산이 많긴 하지만 F(n) = (p^n - q^n)/(p-q)의 형태가 된다. 형태가 꽤 복잡해 보이는데, 그래도 n에다가 자연수를 대입해 보면 근호(루트)는 거짓말처럼 없어져서 최종 결과값이 자연수로만 딱딱 떨어진다.
분자의 거듭제곱은 그렇다 쳐도 분모는 p-q는 sqrt(5)로 깔끔하게 나오기 때문에 표기가 그리 복잡하지 않다.

이상이다. 글을 쭉 쓰면서 본인도 이 분야에 대한 공부를 확실하게 다시 할 수 있었다.
메이플이나 매스매티카 같은 수학 패키지에는 점화식을 푸는 명령이 물론 존재한다.
F(x+2) - (p+q)*F(x+1) + p*q*F(x) = 0의 일반항은 단순무식 F(x+2) + b*F(x+1) + c*F(x) = 0 보다 훨씬 더 간단하게 나오는 걸 알 수 있다. 후자는 내부적으로 sqrt(b^2-4*c) 같은 근의 공식이 잔뜩 섞여서 매우 복잡하다.

그리고 끝으로 생각할 점은..
피보나치 수열 정도는 이전 항의 이전 항.. 즉 2단계까지 역참조하는 점화식인데, 그 단계가 3단계 정도로만 올라가도 식의 복잡도는 상상 이상으로 치솟을 거라는 점이다. 특성 방정식은 2차가 아니라 3차가 될 것이고, 변수들을 연립해 주는 식도 2차가 아닌 3차가 될 것이고.. 실용적인 방법으로 일반항을 구하는 게 도저히 가능하지 않겠다.

Posted by 사무엘

2020/12/30 19:33 2020/12/30 19:33
, ,
Response
No Trackback , No Comment
RSS :
http://moogi.new21.org/tc/rss/response/1837

사이클로이드 -- 下

이제 우리는 오일러 방정식 말고 다른 방식으로도 사이클로이드의 최단 강하 성질을 유도해 보고자 한다.
이것은 뉴턴 말고 동시대의 다른 천재 과학자이던 요한 베르누이가 최초로 발견했다.

물리 과목이 고전역학과 유체역학, 열역학, 전자기학을 넘어 파동과 입자 파트로 넘어갈 즈음에, 우리는 스넬의 법칙이란 걸 접하게 된다.
빛이 한 매질 속에서 v1이라는 속도로 나아가다가 속도가 다른(v2) 매질로 진입했을 때 잘 알다시피 굴절이 발생하는데.. 그 굴절 각도 사이에

사용자 삽입 이미지

sin θ1 : v1 = sin θ2 : v2

비율이 동일하게 유지된다는 법칙이다.
물리학이라는 게 딱딱한 물체의 가시적인 움직임만 기술하는 줄 알았는데.. 물 속에 비치는 물체가 실제보다 얕게 보이는 이유와 정확하게 얼마나 얕게 보이는지까지 수식으로 알려준다는 것이 경이롭다. 이건 게임에다 비유하자면 말 그대로 오브젝트들의 운동 역학뿐만 아니라 그래픽 렌더링에까지 관여한다고 볼 수 있다.

뭐, 0도~90도 사이에서 sin x는 x 자체와 별 차이 없을 정도로 단조증가만 하니, 위의 법칙이 아주 특이한 결과를 만들지는 않는다. 빛의 속도가 빠른 곳에서는 각도가 작아지고, 느린 곳에서는 각도가 대체로 커진다. 단지 고각이 될수록 그 정도에는 선형적이지 않은 차이가 발생할 뿐이다.
(낮은 각도에서 x와 sin(x)는 그리 크게 차이가 나지 않는다는 점은 단진자 주기의 근사값을 구할 때도 쓰인다. 이에 대해서는 곧 다시 다루어질 것이므로 참고하시라.)

그런데 빛은 애초에 질량이 없는 물건이고 구슬처럼 데구르르 구르지도 않을 텐데 저 법칙이 사이클로이드 내지 최단 강하 곡선과 무슨 관계가 있는 걸까..??
고지대는 매질이 진해서(...;) 빛의 속도가 제일 느리고, 아래로 갈수록 점진적으로, 선형적으로 매질의 농도가 옅어져서 빛이 더 빠르게 진행할 수 있다고 가정해 보자. 이게 빛에게 중력 역할을 하는 거나 마찬가지이다.

다시 말해, 공기 아니면 물 같은 이산적인 흑백이 아니라, 그러데이션을 생각하면 된다.
이런 상황을 만들어 놓고 위에서 아래로 빛을 조금이라도 비스듬하게 쏘면.. 빛 역시 단순무식하게 직선 형태로 나아가지 않게 된다. 최고 속도를 낼 수 있는 방향으로 쭈루룩 휘어지고, 그 궤적이 놀랍게도 사이클로이드가 된다.

사용자 삽입 이미지

즉, 궤적의 어느 점에서나, 어느 높이에서나 sinθ / v의 값은 일정해야 한다.
출처에 따라서 sinθ / sqrt(h) = C(상수) 라고 표기하기도 한다. 앞서 값을 구한 바와 같이, 속도 v는 sqrt(2*g*y)로, 높이의 제곱근에 비례하기 때문이다. y축이나 높이 h나 동일한 개념인 것은 다들 아실 테고..

그리고 여기서 각도 θ라는 건 보다시피 y축(세로선) 기준의 값이다. 이를 x축 기준으로 환산하면 90도-θ나 마찬가지이다. 즉, y축 기준 입사각 90도는 x축 기준 0도와 같다는 뜻.. 그러므로 y축 기준으로 sin θ는 우리 입장에서는 cos θ와 같은데..;;

여기서 놀라운 발상의 전환이 가능하다.
cosθ는 1/sqrt(tan(θ)^2 + 1) 로 형태를 바꿔치기 할 수 있다! (sinθ^2 + cosθ^2 = 1이니까)
여기서 탄젠트라는 건? 고맙게도 x축 대비 y의 변화량.. dy/dx, 다시 말해 y' 그 자체이다.

그러므로 sinθ/v에서 분자는 1/sqrt(1+y'^2)로 깔끔하게 나왔고, 분모 v에다가는 sqrt(2gy)를 집어넣으면..
이게 곧 미분 방정식

1/( sqrt(2gy)*sqrt(1+ y'^2)) = C

이 나오는데, 이건 앞서 오일러-라그랑주 방정식에서 d/dy 안에다 대입해서 집어넣었던 ∂F/∂x'와 같은 형태이다. 그때는 x를 먼저 구했지만 지금은 y를 먼저 구할 뿐... 그리고 그때도 지금처럼 y를 먼저 구하는 식으로 풀 수 있다.

잡다한 상수와 근호를 치우고 식을 정리하면 y(1+y'^2) = C 를 얻는다.
제곱이 좀 압박스럽게 보이긴 하지만, 얘는 dx = dy sqrt( y/(C-y) ) 로 변형 가능하며 이건.. 역시 이전 방식에서 얻었던 x'의 형태와 같다.
그러니 y를 삼각함수의 제곱으로 치환해서 계속 풀어 나가면 된다. 이상.. 더 이상의 자세한 설명은 다른 참고 사이트에서 열람하시기 바란다. (☞ 참고 1, 참고 2)

사이클로이드는 공대 1학년의 기초 필수 코스인 벡터 미적분학 교육과정에서 정말 최고로 적합한 교보재인 것 같다.
스넬의 법칙 덕분에 풀이의 일부가 좀 간소화된 듯한 느낌인데.. 사실 스넬의 법칙도 직접 유도해 보면 물리에 앞서 오일러-라그랑주 방정식과 동급의 수학 원리가 이미 깔끔하게 담긴 것이나 마찬가지이다.

빛이 속도를 최대화하기 위해 사이클로이드 궤적 형태로 굴절된다니, 이건 우주 로켓 발사와도 동일하지는 않지만 비슷한 구석이 있어 보인다.
공기가 가장 짙고 공기 저항도 극심한 지상에서는 이 구간을 빨리 빠져나가는 게 중요하므로 로켓이 닥치고 수직 상승한다. 하지만 공기가 충분히 옅어지면 이제 수평으로도 속도를 내서 지구 궤도에 진입할 채비를 하니까 말이다.

그렇게 각 고도별로 수직과 수평 동력을 잘 배분하여 연료를 가장 적게 쓰고 궤도에 진입할 수 있다. 그리고 그 경로를 짜는 건 굉장한 노하우가 필요하다. 여기에도 사이클로이드 궤적이 쓰이는지 궁금하다.

2. 등시 곡선

아이고 힘들다.. 최단 강하 곡선 얘기가 이렇게 길어질 줄 몰랐네.. 그런데 이게 사이클로이드의 역학적 특성의 끝이 아니다.
얘는 최단 강하 곡선인 동시에 놀랍게도 ‘등시 곡선’이기도 하다.
무슨 말이냐 하면.. 공을 곡선의 맨 꼭대기에서 굴리든, 밑바닥 근처에서 살살 굴리든, 목적지인 밑바닥에는 동일한 시간 후에 도착한다는 것이다! (공기 저항과 마찰을 무시하는 한)

사용자 삽입 이미지

이 말을 들으면 같이 떠오르는 게 있다. 바로 단진자의 운동.
학창 시절에 배운 기억으로는 단진자도 각도라든가 추의 무게와 무관하게 왕복 주기가 동일하다. 오로지 실의 길이 l과 중력가속도 g의 영향만 받아서 2π*sqrt(l/g)라는 공식이 나왔었다. (줄 길이의 제곱근에 비례)

그런데 공중에 대롱대롱 매달린 단진자가 그리는 궤적은 사이클로이드가 아니라 그냥 원호이다. 둘이 어떻게 동일할 수가 있지?
관련 자료를 다시 찾아보니, 단진자의 주기는 각도와 완전히 무관한 게 아니었다. 중등 수준에 맞게 난이도 보정을 하느라 θ가 충분히 작아서 sinθ가 θ와 얼추 같다고 “치고” 식을 유도한 것이었다. 원래 미분방정식은 θ'' + sinθ *g/l = 0 이렇게 나오는데, sinθ를 놔두면 미분방정식이 너무 어렵고 복잡해지기 때문이다.

언젠가 물리 시간에 뭔가 “sinθ가 θ와 얼추 같다고 치고” 식을 유도하는 걸 접한 기억은 있지만 그게 단진자 주기 공식이었다는 건 오랫동안 잊고 있었다.
sinθ를 살려서 문제를 해석학적으로 정확하게 풀려면 타원 적분이란 걸 동원해야 하며, 최종적인 답이 무한급수의 형태로 튀어나오게 된다. 이런 복잡한 항들이 2π*sqrt(l/g)의 뒤에 덕지덕지 추가적으로 곱해진다. 자세한 것은 타 사이트의 설명을 참고하시기 바란다. 단진자가 이 정도로 까다로운 물건이었다니..;;

그럼 60도짜리 진동과 15도짜리 진동이 일치할 정도가 되려면.. 진자도 원호 궤적이 아니라 사이클로이드 궤적을 따라 움직여야 한다. 사이클로이드는 원 궤적이 아니라는 것을 이미 앞서 설명한 바 있다. 진자의 궤적이 사이클로이드가 되게 바꾸는 방법은 다음과 같이 따로 있다..!

사용자 삽입 이미지
사용자 삽입 이미지

바로 이렇게.. 반지름 a/2짜리 원을 굴려서 얻어지는 사이클로이드 모양의 벽을 반반 쪼개서 양 옆에 배치하면 된다. 그러면 아무 지점에서 진동시켜도 사이클로이드 궤적을 그리면서 완벽한 등시 등주기가 실현된다. 얘는 각도와 무관하게 진동 주기에 π*sqrt(l/g) 다음으로 원운동 진자 같은 복잡한 항이 덕지덕지 붙지 않는다. 이것을 첫 발견자의 이름을 따서 호이겐스 진자라고 부른다.

사이클로이드 궤적은 어째서 등시 강하가 보장되며, 저렇게 진자를 진동을 보정하면 어떤 원리로 사이클로이드가 되는 걸까?

우린 임의의 궤적 함수가 주어졌을 때 구슬이 끝까지 다 굴러가는 데 걸리는 시간을 구하는 함수 T를 이미 구한 바 있다. 분자는 sqrt(1+f'(x)^2) dx이고, 분모는 sqrt(2*g*f(x))이던 그 식 말이다.
그걸 써먹으면 된다. 얘를 임의의 시작점을 집어넣어서 끝까지 적분을 하더라도 항상 동일한 값이 나온다는 것을 입증하면 등시 강하 특성을 입증할 수 있다.

그런데 사이클로이드는 매개변수 형태로 표현돼 있으므로..
x = r*(θ-sinθ), y = r*(1-cosθ) 로부터
dx/dθ = r*(1-cosθ), dy/dθ = r*sinθ 를 얻는다.
그러므로 dy/dx는 양변을 r로 나눈 sinθ / (1-cosθ)가 된다.
이 점을 염두에 두면 식의 분자 부분을 다음과 같이 깔끔하게 dx 대신 dθ로 치환할 수 있다.

사용자 삽입 이미지

다음으로 분모는? f(x), 아니 y에 해당하는 r*(1-cosθ)만 대입해 주면 되는데...
우리의 문제를 풀기 위해서는 약간의 변화를 줘야 된다.
일반적인 상황이라면 최고점인 y=0일 때 속도가 0이었지만, 우리는 y>0이고 더 낮은 임의의 지점에서 가속을 시작하여 구슬을 굴리더라도 끝까지 다 구르는 데 걸리는 시간이 동일하다는 걸 입증해야 한다.

그 임의의 지점을 단순 높이로 나타내건 각도로 나타내건 그건 중요하지 않다. 하지만 우리는 원을 0도에서 180도(pi!) 반원 각도만치 굴려서 사이클로이드 궤적을 굴리는 상황을 설정할 것이므로 각도 표기를 계속 사용할 것이다.
θ0이라는 각도에서 처음으로 공을 굴렸다면 속도가 어떻게 될까?
v = sqrt(2g*(y-y0)) 로부터 sqrt( 2g*r*( cos(θ0) - cos(θ) )) 이 나온다. 각도를 빼는 게 아니라 y축 관점에서 cos 결과값을 빼 주면 된다.

무슨 말이냐 하면, 사이클로이드의 y축 매개변수 r*(1-cosθ)에서 1이 cos(θ0)로 바뀐다는 것이다.

사용자 삽입 이미지

자, 그냥 제일 높은 곳에서 처음부터 구른 것이면 θ0는 0도이기 때문에 분자와 분모에서 2a*(1-cosθ)가 통째로 약분되어 없어진다. 적분식은 θ와 무관한 상수가 되며(= 극값), 사이클로이드가 고정된 최단 강하 곡선임이 증명된다.
다음으로 분모의 1을 cos(θ0)이라는 상수로 바꾸고, 얘를 θ0부터 pi까지 정적분한 값도 θ0와 무관하게 고정된 값이 나온다는 것을 입증하면.. 이건 구르는 소요 시간이 θ0의 값과 무관한 등시 곡선임을 추가로 증명할 수 있다.

얘도 다루기가 많이 까다로워 보이지만.. 그래도 끝자락이 삼각함수에서 비교적 취급하기 쉬운 상수인 pi이며, 삼각함수들을 반각/배각 공식을 이용해 제곱으로 치환하면 제곱근 근호를 걷어내고 적분을 그럭저럭 격파할 수 있다. 이렇게 말이다.

사용자 삽입 이미지

아.. 경이롭다. =_=;; 특히 마지막에 arcsin으로 치환되는 적분 부분이 정말 압권이다.
이를 통해 θ0은 싹 사라져 버리고, θ0가 있더라도 그냥 θ0=0일 때와 동일하게 상수 시간이 도출된다는 것을 알 수 있다.

이상이다. 사이클로이드를 제대로 마스터 하려면 호이겐스 진자의 진동 궤적이 왜 사이클로이드가 되는지도 해석학적으로 유도해야겠지만.. 그건 이 자리에서는 생략하겠다.
아무쪼록 (1) 사이클로이드가 원이나 타원의 호가 아닌 이유, (2) 저게 최단 강하 곡선인 이유, (3) 어느 위치에서건 등시 강하 곡선인 이유를 제대로 설명할 수 있다면 당신은 대학 나온 훌륭한 이과생 공돌이라고 불릴 자격이 될 것이다.

1600년대 중후반은 갈릴레오와 케플러에 이어 뉴턴, 라이프니츠, 베르누이 같은 사람이 등장하면서 미적분학이 태동하고 고전역학이 전성기를 맞이한 시기였다. 그 옛날 사람들이 사이클로이드라든가 단진자 운동의 특성을 갖고 저런 고민을 하고 있었던 것이다.

특히 저 때는 괘종시계가 현역이던 옛날이었기 때문에 단진자 운동을 정확하게 기술하고 등주기를 실현하는 것이 매우 중요했다. 그게 시계의 정확도와 직결됐기 때문이다.
그러다 1700년대에 가서는 오일러와 라그랑주가 나오면서 이 바닥은 더 세련된 계산법이 개발되고 발전을 이루게 되었다.;;

Posted by 사무엘

2020/11/25 08:35 2020/11/25 08:35
,
Response
No Trackback , No Comment
RSS :
http://moogi.new21.org/tc/rss/response/1823

사이클로이드 -- 上

이전 글들에서는 현수선 얘기를 하면서 한창 쌍곡선함수 얘기를 늘어놨는데, 이 글에서는 분위기를 바꿔 정통(?) 삼각함수 얘기를 좀 하겠다.
수학에서 다루는 많고 많은 곡선 중에는 “원을 직선 위에서 굴릴 때 그 원에 놓인 정점이 그리는 궤적”이란 게 있다. 이걸 ‘사이클로이드’라고 한다.

반지름 r인 원이 (0, r) 위치에 놓여 있다. 그리고 궤적을 추적하고자 하는 점은 처음에 바닥의 원점 (0, 0)에 있다고 치자.
수학 좌표계는 x의 양의 방향이 오른쪽이고 y의 양의 방향은 위쪽이다. 이 상태로 원이 x의 양의 방향으로 굴러가려면 시계 방향으로 굴러가야 하며, 각도는 처음에 270도에서 시작했다가 줄어들어야 한다. 각도가 늘어나는 방향은 반시계 방향이기 때문이다.

사용자 삽입 이미지
사용자 삽입 이미지

즉, (cos(3π/2 - θ), sin(3π/2 - θ)+1) 정도 될 텐데..
cos(3π/2 - θ)는 sin(-θ) → -sin(θ)로 간소화시킬 수 있다.
sin(3π/2 - θ)도 -cos(θ)로 간소화시킬 수 있다.

이건 원이 제자리에서만 빙글빙글 도는 상황이다.
실제로 굴러간다는 조건을 추가하면 원은 아주 단순하게 x축의 양의 방향으로 r*θ만치만 이동하게 된다. 원의 전체 둘레는 2πr이고 θ는 각도 겸 원호의 둘레와 정확하게 대응하기 때문이다.

그러므로 사이클로이드의 궤적은 ( r*(θ-sinθ), r*(1-cosθ))라고 깔끔하게 나온다. 원이 헛돌지 않고 제대로 굴러가는 이상, 점이 아예 뒤로 후퇴하는 일은 어떤 경우에도 절대 없다는 걸 알 수 있다.

사이클로이드는 원이나 타원의 호와 비슷하게 생겼지만, 실제로는 이와 무관한 별개의 궤적이다. 아래의 그림 비교와 관련 설명을 참고하시라.

사용자 삽입 이미지사용자 삽입 이미지

그리고 얘는 x와 y의 위치를 매개변수를 통해 제각기 나타낼 때는 식이 저렇게 아주 깔끔하게 구해지는 반면, y=f(x) 꼴의 단순한 양함수로 나타내는 건 굉장히 복잡하고 까다롭다. x축이 그냥 sin(t)가 아니라 t-sin(t)인데.. 이게 역함수를 구하기가 몹시 난감하기 때문이다.

그나마 x=g(y)라는 일종의 음함수에 가까운 형태로 나타내는 게 y=f(x)보다는 더 할 만하다. 원이 굴러간 거리에 대한 함수가 아니라 원의 범위 영역에 대한 함수 말이다.
사이클로이드는 이렇게 까다로운 면모가 있음에도 불구하고 한 사이클 궤적의 길이라든가 그 궤적 아래의 면적은 적분을 통해 깔끔하게 떨어지는 형태로 구할 수 있다. 이쪽으로 더 관심 있으신 분은 위키백과 등의 타 사이트를 참고하시라.

이 글에서 현수선 다음으로 사이클로이드를 소개한 이유는 얘도 현수선과 동급으로 역학적으로 아주 흥미로운 특성이 있는 물건이기 때문이다.

1. 최단 강하

먼저, 얘는 일명 ‘최단(최고속) 강하 곡선’이다. 높은 지점에서 낮은 지점으로 공을 굴리는데 무작정 최단 거리인 직선 경사로가 아니라, 사이클로이드를 상하 반전시킨 형태의 경사로를 만드는 게 좋다. 그러면 공이 중력 버프를 받아서 목적지에 더 빨리 도달하게 된다! (지면 마찰과 공기 저항 따위는 모두 무시)

사용자 삽입 이미지

그렇다면 비행기의 비상 탈출용 미끄럼틀도 직선이 아니라 이런 형태로 만드는 게 더 나을 것 같다. 물론 현실적으로는 무리이겠지만, 그래도 어린이용 미끄럼틀 중에는 이런 과학 고증(?)을 반영하여 사이클로이드 곡선을 흉내 낸 모양인 것도 있다.

그런데 의문이 든다. 이것도 까놓고 말해 그냥 포물선이라든가, 사분원이나 2차 베지어 곡선, 혹은 아예 역학적인 안정성이 검증돼 있는 현수선이 최단 강하일 수도 있을 텐데 왜 하필 사이클로이드가 당첨인 걸까? 직선보다 아래로 볼록한 모양이어야 하겠다는 건 수긍이 가지만 왜 하필 저 모양이 최적인지는 직관적으로 납득이 잘 안 된다.

먼저 우리는 구슬이 처음 놓여 있는 좌측 최상단 꼭대기가 원점 (0, 0)이라고 가정하자. 그리고 계산의 편의를 위해, y축은 중력이 향하는 방향(=아래)이 +로 증가하는 방향이라고 간주하도록 하겠다. 즉, 통상적인 수학 좌표가 아니라 컴퓨터 화면의 좌표계를 사용한다는 것이다.
그러면 구슬은 아래로 굴러가면서 x축과 y축 모두 값이 일관되게 증가한다고 생각할 수 있으며, 저 사이클로이드 공식도 y축의 부호를 뒤집을 필요 없이 그대로 사용할 수 있다.

이 문제를 푸는데 매우 중요하게 활용되는 단서는 (1) "역학적 에너지 보존의 법칙"이다. 구슬이 직선 경사로를 쫙 구르건 그 어떤 꼬불꼬불한 곡선을 타고 오르내렸건, y축 중력 가속도가 g인 상태에서 y라는 높이만치 내려가 있다면 그 당시에 물체의 속도는 mgy = mv^2 /2를 근거로 v=sqrt(2*g*y)가 된다. 위치 에너지가 그만치 운동 에너지로 바뀌었음을 뜻한다. 당연한 말이지만 x축과는 전혀 무관하다.

이 속도는 xyz 같은 축을 총체적으로 고려한 단위 시간당 이동량이다. 그 속도를 얻은 상태에서 수평 이동을 한다면 구슬은 공기 저항과 마찰이 없는 한, 영원히 등속 운동을 할 것이다. 상승하면 속도가 점차 느려질 것이고, 하강하면 속도가 붙어서 빨라질 것이다.

여기까지 준비가 완료됐으면 사이클로이드 문제는 크게 두 방법으로 풀 수 있다.
하나는 뉴턴이 터를 닦으시고 오일러-라그랑주가 끝장을 낸 (2) 변분법을 동원하는 것이다. 하드코어한 고전역학의 범주에서 끝을 보는 것이다.
다른 하나는 파동 분야에서 정립된 (3) 스넬의 법칙을 접목하는 것이다. 겉보기로 수식의 압박이 변분법보다는 '약간' 덜할지 모르지만, 그럼 스넬의 법칙은 왜 어째서 성립하는지를 일일이 따지고 든다면 난이도는 비슷하게 안드로메다로 치솟는다.

그럼 변분법 버전부터 먼저 살펴보도록 하겠다.
통상적인 미분이 함수의 극점을 구해서(= 도함수가 0) 특정 구간에서 함수의 최소/최대값을 구하는 데 쓰인다면, 변분법이란 범함수의 최소/최대값을 구하는 방법론을 말한다.
그럼 범함수란 무엇이냐? 프로그래밍에는 평범한 숫자나 객체가 아니라 함수 자체나 람다를 다른 함수의 인자로 넘겨주는 게 있다. 그것처럼 수학에도 함수를 받아들여서 스칼라 형태의 값을 되돌리는 함수가 있는데, 그걸 범함수(functional)라고 한다. 특정 함수가 특정 구간에서 미분 불가능한 지점의 개수.. 그런 것도 범함수의 일종이 될 수 있다.

변분법을 이용하면 두 점을 잇는 가장 짧은 경로가 직선인 이유처럼 공리 수준의 너무 당연해 보이는 것부터 시작해서..
둘레가 동일한 도형 중에 면적이 최대인 놈이 원의 형태가 되는 이유, 물방울· 비누 방울이나 잠수정이 전부 구형으로 만들어지는 이유(단위 면적당 압력 최소화) 같은 것도 다 수학적으로 엄밀하게 유도할 수 있다.

최단 강하 곡선 문제에서 우리가 구해야 하는 것은 길이나 면적 따위가 아니라 "도달 시간"의 최소값이다.
구슬이 위에서 아래로 굴러가는 궤적을 y = f(x)라는 함수로 나타낸다면, a라는 임의의 x축 지점에서 구슬의 진행 속도는 f(a)의 값으로부터 구할 수 있다. 속도는 앞서 공식을 구한 바와 같이 전적으로 y축에 의해서만 결정되고, y축의 값은 x축 대한 함수 f로부터 구할 수 있으니 말이다.

그렇다면 (2-1) 이 함수를 어째 잘 적분해서 f(x)라는 함수에 대해 구슬이 다 내려갈 때까지 걸리는 시간도 구할 수 있을 것이다.

이건 흔히 떠올릴 수 있는 상황은 아니다. 속도 함수를 적분해서 구하는 건 보통은 거리이기 때문이다. 시간에 대해 적분하면 끝이다. (예: 시속 100km로 2시간을 달린 거리는 200km)
그런데 반대로 소요 시간을 구하기 위해서는 반대로 함수 궤적의 거리가 주어져 있어야 한다. (예: 시속 100km로 300km를 달리는 데 걸리는 시간은 3시간) 그래도 이것도 적분이긴 하다.

앞서 sqrt(2*g*y)이라고 값을 구한 속도 v는 거리/시간, 즉 ds/dt라는 개념이다. 그런데 이 ds라는 건 역시 x 변화량 대비 y의 변화량을 거리화한 것이며, y 변화량은 곧 f(x)의 변화량과 같다. 그러므로 이것은 sqrt(1 + f'(x)^2 )로 나타낼 수 있다.
v = ds/dt 에서 sqrt(2*g*f(x)) = sqrt(1 + f'(x)^2 ) / dt 가 되고..
이 관계로부터 dt = sqrt(1 + f'(x)^2 ) / sqrt(2*g*f(x))이 된다.

오.. 그러므로 구슬이 구르는 궤적 함수가 f이고 중력 가속도는 g, 구슬이 다 구른 오른쪽 끝의 x축 지점이 a라 할 때, 구슬이 다 구르는 데 걸리는 시간 T는 다음과 같이 깔끔하게 구해진다.

사용자 삽입 이미지

여기까지 도달했으면 문제가 반 정도는 해결됐다고 볼 수 있다. 우리는 a와 g가 고정돼 있을 때 T를 최소화하는 f(x)를 구하면 된다.

1/sqrt(2*g)는 그냥 상수이므로 적분 기호 밖으로 옮겨도 아무 상관 없다. 그리고 범함수에서는 그 정의상 x라는 변수뿐만 아니라 그 x에 대한 함수 f(x)까지 범함수의 parameter가 될 수 있다. 그렇기 때문에 f(x) 대신 그냥 y로 표기하며, 도함수도 f'(x) 대신 dy/dx라고 표기하는 걸 더 일상적으로 보게 된다. 애초에 사이클로이드도 f(x) 대신 x, y축 따로 매개변수 형태로 표기하는 게 더 유리하기도 하고 말이다.

이 문제를 풀기 위해 쓰이는 도구는 바로 (2-2) 오일러-라그랑주 방정식이다.
x, y라는 변수가 있고 F가 y, y', x에 대한 범함수라고 하자. 우리가 푸는 문제에서는 x, y는 구슬의 궤적을 나타내며, F는 그 궤적으로 끝까지 구르는 데 걸리는 소요 시간을 구하는 구간 적분이 된다.
오일러-라그랑주 방정식에 대해 제일 간단하고 엉성하게 요점만 말하자면, F가 극값(최소 또는 최대)이 나올 때 이들은 다음 등식을 만족한다.

사용자 삽입 이미지

(왜 그런지 궁금하면 이변수함수의 연쇄법칙을 동원해서 저 식을 직접 유도하면 된다. 하지만 이 자리에서는 시간과 지면의 부족으로 증명을 생략하겠다. ㄲㄲ)

저 식에서 F에다가는.. 우리가 구한 처음 식 T에서 상수배 항과 dy 적분을 걷어낸 sqrt((1+x'^2)/y), 즉 순간 변화량을 대입한 뒤, 식을 x'에 대해 풀면 된다.
중요한 것은 우리의 경우, ∂F/∂x가 0이 보장된다는 것이다. 앞서 살펴보았듯이, 물체의 속도는 x축 위치와는 전혀 무관하고 y축 높이에 의해서만 결정되기 때문이다.

그러니 저 식에서 d/dy (∂F/∂x')도 같이 0이어야만 한다. F를 x'에 대해 편미분한 뒤, 양변에 sqrt(y)를 곱한 결과는 아래와 같이 된다. (x가 어떤 함수인지 정확한 정체를 모르기 때문에 x와 x'는 서로 독립변수로 간주됨) 이 식을 x'에 대해서 정리하면..

사용자 삽입 이미지

헥헥.. 이제 x'이 구해졌다. 그러면 함수 x는 y에 대해 적분을 해서 구할 수 있긴 하지만.. sqrt(x/(1-x))라는 함수는 부정적분을 호락호락 쉽게 구할 수 있는 놈이 아니다.
쟤를 수월하게 적분하는 방법은 x, y를 다른 변수 형태로 치환하는 것이다. 애초에 사이클로이드는 x, y 궤적을 매개변수 형태로 치환해야 표현하거나 취급하기 용이한 물건이다.

y를 sin(t)^2 / C^2 으로 치환하면 거추장스러운 C가 없어진다. 그리고 근호 안의 식이 sin(t)^2 / cos(t)^2로 바뀌고 근호도 없어져서 식 전체가 tan(t)로 바뀌는 마법이 펼쳐진다.
단, dy도 sin(t)^2의 도함수인 sin(t)*cos(t) dt로 바뀌기 때문에 저 tan(t)에다가 sin(t)와 cos(t)를 곱해 줘야 한다.
tan은 sin/cos이므로 cos는 서로 약분되어 없어지고.. 최종적으로 적분해야 하는 식은 sin(t)^2 dt가 된다.

그리고 sin(x)^2은 삼각함수 덧셈 정리로부터 유도된 반각 공식에 의거하여 (1-cos(2x))/2로 처분 가능하다. 이게 적분하기 훨씬 더 편하다.
사이클로이드를 기술하는데 각도가 t건 2t건 그건 중요하지 않으므로 x축의 궤적은 각도 θ에 대해 C*(θ-sin(θ))가 도출되며, y축은 이미 sin(t)^2의 간소화형인 C*(1-cos(θ))로 답이 나와 있다. 이것으로 유도 끝..

우리는 사이클로이드의 x, y축별 매개변수식에서 아주 중요한 특성을 하나 주목하게 된다. 바로 매개변수 t에 대해서 x축의 궤적 함수는 y축 궤적 함수의 부정적분이라는 것이다! 반대로 y축의 궤적 함수는 x축 궤적 함수의 도함수이다. 애초에 이런 관계였구나..

이것은 사이클로이드를 매개변수가 아닌 양/음함수로만 기술할 때는 간파할 수 없는 특성이다. 그리고 이런 특성이 존재하기 때문에 사이클로이드의 x, y 궤적은 앞서 제시되었던 미분 방정식을 만족하고 해당 범함수에 대해 오일러 방정식을 충족하고, 최단 강하 곡선 역할까지 한다고 볼 수 있다.

이상이다. 현수선하고 뭔가 비슷한 구석이 있는 것 같으면서도 현수선을 분석하는 것보다는 확실히 더 어려운 것 같다..;; 현수선이 역학적으로 자연스럽고 안정된 궤적이라면, 사이클로이드는 좀 더 인위적이고 최적화된 듯한 느낌이 드는 궤적이다. 다만, 둘 다 중력이 있기 때문에 존재한다는 공통점이 있다.

얘는 중력이 작용하는 지표면에서 공을 몇 도로 던졌을 때 제일 멀리 날아가냐 하는 문제와도 비슷한 느낌이 든다. 삼각함수의 반각 공식이 쓰였다는 공통점도 있으니 말이다. 하지만 사이클로이드는 그것보다도 당연히 훨씬 더 복잡하고 난해하다.
글이 이것만으로도 너무 길어졌으니, 최단 강하 증명의 다른 풀이법 등 나머지 얘기는 다음 시간에 계속하도록 하겠다. =_=;;

Posted by 사무엘

2020/11/22 08:34 2020/11/22 08:34
,
Response
No Trackback , No Comment
RSS :
http://moogi.new21.org/tc/rss/response/1822

현수선

자연에서 중력이 만들어 내는 물체의 '운동 궤적'은 이차함수 포물선이다. 중력이 물체를 아래로 일정하게 가속시키기 때문이며, 이는 심지어 총알 같은 작고 가볍고 빠른 물건이라도 예외가 아니다. 지구에서는 그나마 공기의 저항이란 게 있어서 그 포물선의 말단 부분이 더 가팔라지는 것을 막아 준다.

사용자 삽입 이미지
(바람이나 공기 저항 같은 게 없다면 이것들이 다 포물선 궤적일 것이다.. ㄲㄲ)

한편으로, 중력이 자연스럽게 만들어 내는 '물체의 선형'은 현수선이다. 밀도가 동일한 줄, 선, 사슬 따위를 양 끝을 잡아서 매달았을 때 그 줄이 자연스럽게 축 늘어진 모양 말이다. 이건 포물선이나 타원(!!) 따위가 아니라 수학적으로 완전히 다른 선형이다.

사용자 삽입 이미지

포물선은 공중으로 내던져진 물체가 붕 떠올랐다가 떨어지는 궤적이다. 그렇기 때문에 운동 궤적 말고 자연에서 포물선이 쫙 그려지는 것은.. 글쎄, 불꽃놀이에서 불꽃이 자기 궤적 잔상을 남기면서 움직이는 모습 같은 게 아니면 보기가 쉽지 않을 것 같다.

그에 반해 현수선은 길다란 줄이 늘어져서 정지한 모습 그 자체이기 때문에 어쩌면 포물선보다도 더 친근한 모습일 수 있다.
포물선은 이차함수이며 원뿔곡선에 속하는 반면, 현수선은 답부터 말하자면 더 생소하고 어려운 쌍곡선함수, cosh이다. 왜 그렇게 되는 것이며 이 함수가 지니는 의미는 무엇일까?

일단 쌍곡선함수라는 것 자체가 중등 교육과정에는 등장하지 않는다. 그리고 현수선의 원리를 제대로 설명하려면 고전역학 지식이 필요하며, 식을 유도하려면 역시 중등에서는 배우지 않는 미분방정식이라는 걸 풀어야 한다.
하지만 꼭 그 정도로 엄밀하게 따지지 않더라도 cosh가 될 수밖에 없는 대략의 이유 정도는 중등 수준만으로도 납득할 수 있다.

현수선은 외형상 명백하게 중력이 작용하는 아래로(y축 값이 작아지는 쪽) 볼록하면서 좌우가 대칭인 곡선이어야 할 것이다.
현수선 공식을 유도하는 여러 사이트들의 설명은 대체로 비슷하다. 선 내부에 있는 임의의 점에 대해.. x축으로 작용하는 힘은 좌우가 모두 동일한 반면(그래야 합력이 0으로 상쇄되고 안정되므로), y축으로 작용하는 힘은 자연스러운(= 줄이 향하는 방향) 상하뿐만 아니라 양쪽 줄의 무게까지 감안했을 때 합력이 0이 된다는 것이다.

사용자 삽입 이미지
(이 식에서 Fx는 T(x)cosθ = T(x+dx)cosθ일 뿐만 아니라 x, dx, θ에 관계없이 값이 일정하다. 그리고 Fy에서 m은 "줄의 밀도"와 해당 지점까지 "줄의 길이"의 곱으로 나타낼 수 있다. 그림의 출처는 여기..)

그래서 선의 정체에 대한 결론은 다음과 같은 형태의 미분방정식으로 귀착된다.

사용자 삽입 이미지

이게 의미하는 게 무엇일까?
이 f(x)는 어떤 점 x에서의 기울기(좌변)가 0부터 x까지 f(x) 함수 곡선의 거리(우변)와 동일 내지 상수배 정비례한다는 뜻이다.
양변을 한번 더 미분하면 아래처럼 되지만, 2차 도함수(도함수의 변화량을 나타내는 도함수..)는 머리로 이해하기가 더 난감하다.

그럼 sqrt(1+f'(x)^2)라는 거리 적분식은 어디서 왜 나오는가..? 줄의 무게가 줄의 길이에 정비례하기 때문이다.
x축 지점에 대한 도함수에다가 그 지점까지 선의 길이에 대한 함수값을 대입하면 식이 그렇게 나오게 된다.

도함수 f'(x)가 x 자체와 같은 함수 f(x)는 x의 부정적분인 x^2 /2 + C ... 즉 포물선이 된다.
f'(x)가 f(x)와 같은 함수는.. e^x, 즉 지수함수이다.
그 반면 f'(x)가 거리 적분과 같은 함수는 중력이 작용하는 임의의 지점에서 역학적 평형을 이루는 현수선이 된다는 것이 핵심이다. 그리고 이 미분방정식을 풀면 이 f(x)는 cosh가 된다.

cosh는 맞은편 쌍곡선함수인 sinh와 짝이며, 미분· 적분을 하면 상대방으로 곧장 바뀐다. cos/sin처럼 부호가 바뀌면서 4행정(?) 순환을 하는 것도 아니고 그냥 2행정이다. 그렇기 때문에 cosh는 2차 도함수도 자기 자신과 같다.
그 말인즉슨... f(x)는 어디에서든 길이의 증가폭과 면적의 증가폭이 동일한 함수라는 뜻도 된다! y=x 같은 직선은 이 조건을 만족하지 않는다. x가 커지면 길이는 일정하게 증가하더라도 아래의 면적은 제곱으로 증가하기 때문이다.

그리고 cos^2 + sin^2 = 1이듯이 쌍곡선함수는 cos^2 - sin^2 = 1이다.
sqrt( 1 + f'(x)^2 )에서 f(x)에다가 cosh(x)를 집어넣으면 f'(x)^2는 sinh(x)^2가 되는데, 얘는 저 정의에 따라 cosh(x)^2 - 1로 치환 가능하다. 그러니 -1은 앞의 1과 상쇄되어 없어지며, 제곱은 제곱근과 상쇄되어 없어지니...
찰나의 거리 변화량을 구하는 함수가 자기 자신과 동일해지는 것이다!

예전에 란체스터의 법칙 얘기를 하면서도 쌍곡선함수가 나왔는데, 얘가 비록 삼각함수보다 인지도가 떨어지지만 나름 자기 분야에서 유용한 구석이 있음을 알 수 있다.

Posted by 사무엘

2020/11/14 08:35 2020/11/14 08:35
, ,
Response
No Trackback , No Comment
RSS :
http://moogi.new21.org/tc/rss/response/1819

1. 오일러 상수: 감마

초등학교 시절에 반비례 함수라고 배웠던 1/x는 조화급수를 나타내며, 궤적은 쌍곡선이고 부정적분은 ln x (+C)가 되는 꽤 독특한 함수이다.
그런데 1/x의 값을 1 간격으로 n까지 구한 조화수열의 합과(즉, 1 간격의 구분구적법), 아예 해당 함수의 정적분(실제 면적)은.. 일단 명목상으로 값이 비슷할 것 같은데 정확하게 얼마나 차이가 날까? n이 무한대로 근접할수록 값이 어떻게 될까?

먼저, 이런 발상이 왜 나왔겠는지부터 생각을 해 보자.
1/x라는 문제의 함수는 x가 무한대로 갈 때 함수값 자체는 0으로 수렴하여 한없이 줄어들지만, 급수의 무한합 내지 정적분은 무한대로 발산한다는 아주 기괴한 특징이 있다. 보통은 다 발산하거나 다 수렴하지, 저렇게 되는 건 몹시 드물다.

1/x 말고 그냥 x라든가 1/x^2 같은 주변의 다른 함수에 대해서  급수의 무한합과 정적분의 차이를 구해 보면 구하는 게 무의미한 trivial한 결론이 나와 버린다. 그냥 무한대로 빠지거나, 아니면 한쪽이 그냥 0이 돼 버려서 차를 구할 필요가 없어지는 식이다.

하지만 1/x는 그렇게 trivial하게 빠지지 않는다. 더구나 무한급수와 정적분의 차이가 “무한대 - 무한대” 꼴의 극한이 되는지라, 극한값이 유한하게 나온다는 게 직관적으로 보장도 되지 않는다. 그러니 이 극한값은 수학적으로 파고들 명분과 의미가 있으며, 옛날 천재 수학자의 관심을 끌게 되었다.

일단 1/x에 대해서 무한합과 정적분의 차이가 특정값으로 수렴한다는 것 자체가 증명되었으며, 그 값은 대략 0.577215… 형태로 빠진다. 이 수는 관례적으로 오일러-마스케로니 상수라고 불린다.

자연상수 e야 미적분과 밀접한 관계가 있으니 중등교육 수준에서도 이과의 최종 테크 한정으로 배운다. 하지만 저 상수는 쓰이는 곳이 너무 난해한지라, 수학과에서 해석학을 전문적으로 배우는 정도가 아니라면 딱히 접할 일이 없다.

더구나 쟤는 특성이 밝혀진 것도 별로 없다. 사칙, 삼각함수, 지수, 로그만으로는 저 수를 나타낼 수 없다. 그러니 정황상 초월수 무리수인 것이 99.999% 확실해 보이긴 하지만.. 수학자들이 수긍할 수 있는 완벽 엄밀한 논리 전개만 동원해서는 초월수는커녕 무리수인지도 정확하게 증명이 못 돼 있다고 한다. 의외의 일이다.

다만, 이 수는 e^(-x) * ln(x)라는.. 비교적 친근한(?) 초등함수 조합을 0부터 무한대까지 이상적분을 해서 얻을 수 있다(음수 버전이 나옴). 친근해 봤자 쟤는 이미 부정적분은 초등함수 형태로 나타낼 수 없는 수준이지만 말이다.

그리고 이 수는 팩토리얼의 대수적 확장 버전인 감마 함수와도 관계가 있다. GAMMA(x)-1/x라는 함수에서 x=0의 극한값이 이 수의 음수 부호 형태이다. 신기하지 않은가? 그래서 이 오일러 상수는 그리스 문자 ‘감마’(γ)를 써서 표기하곤 한다. 상수는 소문자 감마이고 함수는 대문자 감마이다.
이 글의 전체 내용을 수식으로 요약하면 다음과 같다.

사용자 삽입 이미지

2. 오메가 상수와 람베르트 함수

고등학교 수학에서는 지수와 로그를 다루고, 이과 및 자연계에서는 이에 대한 미· 적분까지도 다룬다.
그럼 다음으로 지수함수 e^x에다가 x를 또 곱한 x*e^x라는 함수를 생각해 보자. 취급하기가 약간 더 복잡해졌지만.. 그래도 얘는 부분적분을 통해 부정적분을 온전한 형태로 구할 수는 있다.

그런데 x*e^x = 1 이라는 방정식의 근을 구할 수 있을까? (뭔가 오일러의 항등식과 살짝 비슷하게 생겼는데.. 그냥 기분 탓임..)
양변에 로그를 씌워서 식을 정리하면 x= -ln x까지는 나온다. 하지만 이 이상 식을 정리하는 건 무리이고, 이 시점에서 발상을 전환하여 뭔가 새로운 개념이나 용어를 창조해야 할 것 같다. 그리고 그걸 1700년대에 이미 실제로 한 사람이 있다.

일단 저 식을 실수 범위에서 만족하는 근 x는 대략 0.567143…으로 전개되는 값이다. 앞서 다뤘던 오일러 상수와 얼추 비슷한 크기라는 게 흥미롭다. 물론 특성과 의미는 전혀 다르지만 말이다. 더 나아가 x에 대해 t*e^t = x를 만족하는 t를 되돌리는 함수가 바로 고안자의 이름을 딴 “람베르트 W” 함수이다.

고안자인 요한 하인리히 람베르트는 수학, 물리, 천문학, 철학 등 다방면에서 가히 레오나르도 다 빈치 급으로 불세출의 천재였다고 전해진다. 오일러와도 같은 국적의 동시대 사람이었으나.. 좁은 세상에 태양이 둘일 수는 없어서 그런지 람베르트는 오일러보다야 인지도가 낮다.

오일러 상수에 그리스 문자 ‘감마’가 부여되어 있다면, 앞서 언급한 W(1)에는 관례적으로 그리스 문자 ‘오메가’가 부여되어 있다. 오메가가 w와 비슷하게 생겨서 두 문자가 저렇게 섞여 쓰이는 것 같다.
W(1)은 오일러 상수보다는 분석하기가 아무래도 더 용이한지, 초월수라는 것은 간편하게 증명되어 있다.

하지만 W라는 함수도 기존 초등함수의 형태로 나타낼 수 없으며 절대로 만만한 물건이 아니다. 그럼 정체를 알기 위해 만년 수치해석 근사값에만 의지해야 하느냐 하면.. 그렇지는 않다. 해석학적인 의미를 지닌 형태로 나타낼 수는 있는데, 그게 감마 함수가 들어간 무한급수이다. 이 역시 공대 수준의 숫자 공부만 한 사람이라면 그냥 포기하는 게 속 편할 것 같다..;;

하지만 이런 물건이 왜 존재하느냐 하면.. 그게 존재함으로써 더 복잡한 문제를 풀 수 있고 다른 복잡한 개념을 간결하게 표현할 수 있기 때문이다.
x*a^x뿐만 아니라 아예 x^x=b 같은 방정식의 근도 Lambert 함수 형태로 표현 가능하다.

단적인 예로 x^x = e의 근은.. 저 오메가 상수의 역수.. 1/W(1), 대략 1.763222…이다. e에다가 단순 가공을 한 게 아닌, 뭔가 차원이 다른 수가 튀어나온 셈이다. x^x 정도면 적분도, 방정식 근도 모두 통상적인 방법으로는 못 구하는 난감한 물건이니 말이다.
어쩐지 뭔가 메이플 같은 수학 패키지로 지수함수가 섞인 복잡한 방정식 풀이를 시켜 보면.. LambertW 이러는 식으로 답이 나오곤 하던데 그게 저런 뜻이었다.

Lambert 함수는 양의 실수에서는 ln x보다도 더욱 느리게 증가하는 별볼일 없는 함수이다. 하지만 수학 전공자들은 이런 함수를 실수도 모자라서 복소수 영역에서 갖고 논다. 도함수나 부정적분을 구하면 이 함수 자체가 포함된 더 복잡한 형태가 나오는 게 지수/로그함수 계열과 비슷해 보인다.

얘는 음수 -1/e부터 0 사이에서는 마치 제곱근처럼 값이 2개가 나온다는 특징이 있다.
비록 중등 교육과정에서 가르치지는 않지만.. 해석적으로 분석을 못 하는 것도 아닌데, 관점에 따라서는 얘도 초등함수의 범주에 넣을 수 있어 보인다.

사용자 삽입 이미지

참고로 람베르트 함수 말고 삼각함수 중에도..
우리가 0 극한값을 배울 때 써먹었던 sin(x)/x처럼.. 하필 sin(x), cos(x), sinh(x), cosh(x)를 x로 나눈 물건의 정적분 함수를 따로 Si(x), Ci(x), Shi(x), Chi(x) 요렇게 표기한다. 기존 초등함수들의 조합으로 나타낼 수 없는 새로운 특성을 갖지만 그래도 수학적으로 다른 의미가 있기 때문이다.

저렇게 써 놓으니 무슨 한어병음 표기처럼 보인다만=_=;; 어쨌든 저런 건 초월함수들 중에서 적분함수라고 따로 불린다.

Posted by 사무엘

2020/07/09 08:35 2020/07/09 08:35
Response
No Trackback , No Comment
RSS :
http://moogi.new21.org/tc/rss/response/1771

4색 정리, 정사각형 분할 문제

일명 “4색 정리, 4색 문제”는 개념 자체는 마치 페르마의 마지막 정리처럼 초등학생도 이해할 수 있을 정도로 아주 단순하다. 하지만 엄밀한 증명은 20세기의 현대 수학자조차도 감당하지 못할 정도로 난해했던지라, 1976년이 돼서야 컴퓨터의 brute-force 계산 능력의 도움을 받아 간신히 증명됐다.

사용자 삽입 이미지

요즘으로 치면 무슨 머신 러닝을 돌리듯이 당대의 슈퍼컴 두 대를 장정 50일을 돌리면서 가능한 모든 지도 모델에서 증명이 성립함을 확인했다고 한다.
물론 저건 오늘날의 머신 러닝에 비할 바는 못 된다. 내 기억이 맞다면, 1970년대 중반의 크레이 슈퍼컴퓨터는 20여 년 뒤에 등장하여 클럭 속도가 GHz급에 도달한 펜티엄 3~4급 PC와 얼추 비슷한 성능이었다. 요즘 PC라면 GPU 세팅만 잘 하면 하루는커녕 길어야 수십 분~몇 시간이면 시뮬레이션이 끝나지 싶다. 그만치 세상이 많이 변했다.

하지만 1976년은 지금으로부터 무려 45년 가까이 전의 과거이다. 증명할 지도 모델을 설계하고 계산량을 그 시절 컴퓨터로 감당 가능하게 최소화한 것만으로도 독창적인 학술 공로이며, 대학교 수학과 교수 급의 전문가가 아니면 할 수 없는 일이었다.
또한 극도로 비싸고 귀하신 몸이던 슈퍼컴을 당장 실용적으로 필요하던 일기예보나 모의 핵실험, 탄도 예측(?)이 아닌 학술 연구용으로 끌어들여 온 것 역시 해당 연구자의 행정력과 근성과 로비 덕분이었던 셈이다.

한편, 정사각형을 크기가 서로 다른 작은 정사각형들로 분할하는 문제(lowest-order perfect squared squares)도 굉장히 난해하지만 답이 존재는 하는 굉장히 기묘한 문제인데.. 4색 정리와 비슷하다면 비슷한 시기인 1978년에 길이 112짜리 사각형을 21개로 분할하는 해법이 발견됐다. 이 역시 컴퓨터를 동원하여 찾아낸 것이었다.

사용자 삽입 이미지

또한, 저 정사각형들도 최대 4개의 색만으로 서로 경계를 구분하여 칠할 수 있을 테니, 이것도 4색 문제하고 관계가 있다고 볼 수 있겠다. =_=;;
1982년에는 동일 연구자의 후속 연구를 통해 저게 이론적으로 존재 가능한 optimal 내지 lower bound라는 것도 증명됐다. 즉, 20개 이하의 서로 다른 정사각형으로 큰 정사각형을 꽉 채우는 방법은 존재하지 않는다는 것이다.

다만, 가장 작은 정사각형 분할의 하한은 112가 아니라 110이라고 한다. 분할 개수는 21개보다 딱 1개 더 많은 22개이다. 참으로 신기한 노릇이다.

사용자 삽입 이미지

그 전에 컴퓨터의 도움 없이 사람이 찾아낸 가장 단순한 정사각형 분할은 175를 24개로 분할하는 것이었다. (81, 55, 39, …) 1946년에 데오필루스 윌콕스(1912-2014)라는 영국 사람이 발견했다.

사용자 삽입 이미지

정사각형을 서로 다른 정사각형으로 분할하는 방법 자체는 다양한 크기별로 무한히 존재하기라도 하는지? 이게 증명돼 있기라도 한지는 모르겠다. (자명한 닮은꼴은 물론 제외. 작은 정사각형의 크기값들이 모두 서로 소인 것으로 한정)

단지 2차원이 아니라 3차원에서 정육면체를 서로 크기가 다른 정육면체로 꽉 맞게 채운다거나 그 이상의 차원에서 같은 방법으로 hypercube를 채우는 방법은 아예 존재하지 않는다고 한다.
직관적으로 생각해도 명확한 것이... 3차원만 생각해 봐도 그런 정육면체가 있다면 여섯 면이 다 제각기 크기가 서로 다른 정사각형으로 거대한 정사각형을 이룬 모습을 기본적으로 하고 있어야 할 것이다. 하지만 정육면체만으로 그렇게 되는 것은 불가능하기 때문이다.

벡터의 외적이 딱 3차원 벡터에 맞게 존재하는 이항연산이듯이, a^n+b^n=c^n의 정수해가 존재하는 n의 상한이 딱 2인 것처럼.. 정사각형 분할은 딱 2차원 평면에서 존재 가능한 절묘한 문제인 것 같다.

Posted by 사무엘

2020/06/25 19:38 2020/06/25 19:38
, ,
Response
No Trackback , No Comment
RSS :
http://moogi.new21.org/tc/rss/response/1766

아날로그 계산 도구

본인을 포함한 일반인들은 학교에서 10진법 아라비아 숫자를 기반으로 사칙연산을 배웠다(특히 구구단..) 종이 없이 암산은 기껏해야 한두 자리 정도까지만 가능한데, 암산을 할 때는 당연히 머릿속에 아라비아 숫자를 종이에다 쓰는 모습을 떠올리게 된다.

그런데 계산기와 컴퓨터가 지금처럼 존재하지 않았던 옛날에는 아날로그 계산 도구인 주판이 교육과정에 포함돼 있었다. 이걸로 계산을 빠르고 정확하게 잘 하면 각종 대회에서 상을 받았으며, 이것만으로 돈과 숫자를 다루는 직종에 취업도 가능할 정도였다. 그러고 보니 옛날에는 애들 대상으로 속셈 학원이라는 것도 있긴 했다.

사용자 삽입 이미지

(뭔가 악기처럼 생긴 구석도 있어 보인다..;;
하긴, 아라비아 숫자가 일반적인 오선지+콩나물 악보라면, 주판은 오르골용 연주 테이프 내지, 컴퓨터의 내부 표현 형태를 그대로 옮긴 길쭉한 수평선 나열에 대응하겠다.)

사실, 아무리 전자 계산기가 있다 해도, 주판의 달인이 주판알을 굴리는 속도가 숫자를 느릿느릿 입력하는 속도보다 더 빠르다(..;;; ). 글쎄, 숫자 타이핑의 달인도 있을지는 모르겠지만, 이런 이유로 인해 일부 영역 한정으로는 아직까지도 주판이 계산 속도면에서 승산이 있다. 마치 오토바이가 자동차보다 최고 속도 성능은 뒤쳐지지만 가속력이 월등하듯이 말이다.

그리고 주판의 달인 정도면 심지어 암산을 할 때도 머릿속에서 가상의 주판을 생각하고 주판알을 튕기면서 계산한다. 그래서 주판 실물이 없더라도, 또 당사자가 무슨 서번트 증후군 영재· 천재급이 아니더라도 일반인이 아라비아 숫자를 떠올리며 낑낑대는 것보다는 더 많은 자릿수의 암산을 더 빠르게 할 수 있다고 한다.

마치 동일한 개념과 의미이더라도 이를 어떤 언어를 통해 접하느냐에 따라 느낌과 뉘앙스가 달라지듯, 본질적으로 동일한 숫자라도 어떤 진법과 어떤 encoding 체계로 접하느냐(아라비아 숫자? vs 주판?)에 따라서 뇌의 능률이 달라질 수 있는 것 같다.
아라비아 숫자는 현대 수학을 존재 가능케 한 매우 합리적이고 편리한 체계이긴 하지만, 문자로서의 가독성과 손가락 개수라는 실용성까지 고려하다 보니 연산 자체에 딱 최적화된 체계는 아닌 것 같다.

  • 옛날에 주판뿐만 아니라 계산자라는 물건도 쓰던 시절..
  • 초등에서는 주판을 가르쳤고 중등에서는 제곱근의 근사값을 손으로 구하는 계산법도 가르쳤던 시절..
  • computer가 요즘처럼 기계가 아니라, 사람을(계산원, 계산수!) 가리키는 빈도가 더 높던 시절.. (speaker가 기계와 사람의 뜻을 모두 갖고 있듯이)

이런 시절은 사는 모습이 어떠했을지 궁금해진다. 타자수뿐만 아니라 계산수도 여성 종사자가 많았었다.

저런 걸 다루는 것도 군대로 치면 총검술 같은 legacy 스킬의 범주에 들겠다. 타자기가 Word의 아날로그 버전이라면, 계산자와 주판은 Excel의 아날로그 버전이지 않겠나.;;
물론, 주판 같은 걸로 숫자의 기계적인 연산을 빠르고 정확하게 잘하는 것은.. 오늘날의 극도로 추상적인 세계를 다루는 수학자에게 필요한 천재적인 창의성이나 직관하고 딱 정확하게 일치하는 영역은 아니다. 이 점을 감안할 필요가 있다.

Posted by 사무엘

2020/02/21 08:37 2020/02/21 08:37
, ,
Response
No Trackback , No Comment
RSS :
http://moogi.new21.org/tc/rss/response/1719

0과 음수에 대한 생각

수학에서 다루는 수 중에는 음수라는 게 있다. 얼마를 빼는 것은 음수를 더하는 것과 동급으로 치자고 발상의 전환을 한 것이다. 그래서 0의 양 옆으로 양수와 음수가 존재하게 됐다.

음수는 덧셈· 뺄셈· 곱셈· 나눗셈이라는 기본 사칙연산 범주에서는 별로 어려울 게 없다. 곱셈과 나눗셈에서는 부호가 마치 xor 연산과 비슷하게 바뀐다는 것만 염두에 두면 된다. (둘 다 동일하면 양수, 다르면 음수) 뭐, 음수라는 개념뿐만 아니라 -1 곱하기 -1이 어째서 +1이 되는지도 마냥 직관적으로 쉽게 이해 가능한 개념은 아닐 수 있는데..

더 나아가 실수 나눗셈 말고 '나머지'를 같이 구하는 정수 나눗셈에서는 피연산자에 음수가 섞여 있으면 연산의 정의부터가 깔끔하게 딱 떨어지지 않고 굉장히 골치 아파진다. 내 기억이 맞다면 나머지의 부호는 나누는 수의 부호와 동일한 것이 원칙일 텐데, 당장 컴퓨터의 정수 나머지 연산은 그렇지 않다. 걔들은 부호 불문하고 몫은 그냥 소숫점을 짤라낸 것이고, 나머지는 그 몫으로부터 파생된 부산물이기 때문이다.

또한 bit shift 연산에서도 음수만치 shift한 결과는 그냥 undefined가 된다. a<<(-b)가 자동으로 a>>b로 되는 게 아닌 게 의외이다.

그럼 음수는 나머지나 비트 shift 같은 정수 컴퓨터 연산에서만 복병인가 하면 그렇지 않다. 일반적인 대수학에서 거듭제곱의 영역으로 가 봐도 음수는 난감한 상황을 만들어 낸다.
가장 먼저, 제곱해서 음수가 되는 수 자체가 통상적인 실수 중에는 존재하지 않는다. 이런 수는 도대체 특성이 어떤 놈일까? 이런 개념을 처음으로 떠올리고 고안한 사람은 도대체 무슨 부귀영화를 바라고 무슨 약을 빨고 이걸 생각해 낸 걸까?

지수함수의 정의역을 실수 전체로, 대수적으로 확장할 때도 음수는 애로사항이 꽃핀다. 당연히.. a^b에서 b 말고 a가 음수인 것 말이다. 음수의 거듭제곱은 횟수에 따라서 부호가 음수와 양수 사이를 널뛰기 하듯 바뀌는데, 그 횟수 자체가 자연수를 넘어 다른 이상한 수가 된다면 결과가 도대체 어떻게 되겠는가?

지수함수를 대수적으로 확장한 결과에 따르면, 음수에 대해 정수가 아닌 거듭제곱을 한 결과는 허수가 섞인 복잡한 복소수가 된다. (-1)^(1/2)는 당연히 그 정의상 i가 되고 말이다.
0과 1은 그 어떤 수로 거듭제곱을 시켜도 다른 정상적인 형태의 수가 나오지 않는다. 그렇기 때문에 이 두 수는 로그 함수의 base가 될 수 없다.

하지만 복소수 범위에서는 0과 1만 빼고 나머지 아무 복소수라도, 음수와 심지어 -1조차도 log의 밑이 될 수 있다. -1을 삐리리 승 하면 100이 될 수 있고 1000이 될 수도 있다는 뜻이다. 단지 그 수가 실수가 아닌 복소수 중에 있을 뿐이다. -1의 거듭제곱은 그냥 -1과 1 사이만 진동할 거라고? 천만의 말씀이다.

다만 정의역을 실수로만 한정하면 x에 대해서 Re((-1)^x)의 그래프.. 쉽게 말해 -1의 x승의 실수부는 cos(Pi*x)의 그래프와 같으며, 허수부를 나타내는 Im((-1)^x)의 그래프는 sin(Pi*x)의 그래프와 완전히 같다! 애초에 x^n=1의 근이 복소평면에서 정다각형의 꼭지점 형태로 나타나니, 거듭제곱과 삼각함수는 피할 수 없는 귀결이라 하겠다.

사용자 삽입 이미지

어째서 그렇게 되는지는 너무 어렵게 생각할  것 없이 그 유명한 오일러의 등식 정도만 따져 봐도 된다. 우리는 고등학교 수준에서는 로그를 그냥 실수 범위까지만 배웠겠지만, 그것이 그림의 전부가 아니다.
또한, 정의역을 실수로만 한정했을 때 이렇다는 것이고, 다른 임의의 복소수를 주면 (-1)^x는 절대값이 1보다 더 큰 다른 수도 얼마든지 나올 수 있다.

a^x를 넘어 아예 x^x의 그래프를 복소수 범위까지 생각해서 그려 보면 더 환상적인 결과를 얻을 수 있다.
얘는 양의 실수 범위에서는 x=1/e일 때 최소값을 갖는다. x=0일 때는.. 0의 0승이기 때문에 값을 구하기가 좀 아햏햏하긴 하지만 극한값이 양쪽 모두 1이기도 하고, 많은 경우에 0^0은 여느 수의 0승과 마찬가지로 1이라고 편의상 통용되곤 한다.

사용자 삽입 이미지

하지만 x가 본격적으로 음수가 되면.. 이제 그래프는 실수 영역에 존재하지 않게 된다. 뭐, 어차피 실수부와 허수부 모두 0으로 급격하게 쪼그라들기 때문에 생각만치 볼 건 없긴 하다만... 그래프의 모양이 꽤 예술적이어 보이지 않는가? =_=;;

수학에는 수에서 특정 부분의 정보를 떼어내고 남은 부분만 되돌리는 연산자 내지 함수가 세 가지 남짓 있다.

(1) 가장 먼저, 수에서 부호를 제거하는 ‘절대값’이 있다. 여닫는 세로줄 기호는 다들 친숙할 것이다. y=|x|는 오르내리는 사선을 만들어 낸다.
얘는 복소수를 대상으로는 복소평면에서 원점으로부터의 거리를 의미하기도 하며, 행렬에서는 행렬식을 의미하기도 한다.

(2) 그리고 수에서 소수점을 떼어내고 근처의 정수를 되돌리는 floor 내지 ceiling 연산이 있다. 얘는 그래프에서 계단을 만들어 낸다.
(3) 끝으로, 복소수에서 실수부 내지 허수부만을 되돌리는 Re() 및 Im()이 있다.

이런 연산들은 다 특정 분야에서 인간에게 필요하고 특정 관점에서 의미가 있기 때문에 고안된 것이겠지만.. 미적분 같은 해석학의 관점에서 자연스럽고 직관적인 연산은 결코 아니다. 절대값 연산은 부호가 바뀌는 지점에서 미분 가능하지 않은 지점을 만들며, 소수점 자르기는 더 나아가 아예 연속이지도 않은 지점을 만든다.

멀쩡한 복소수에서 실수부나 허수부만 떼어내는 것도 저 그래프의 예쁘고 매끄러운 모양과는 달리, 만만찮게 인위적이고 부자연스러운 보정이다. 그렇기 때문에 x^x에서 x가 음수일 때 실수부와 허수부의 그래프 식을 따로 구해서 각각 최대값과 최소값까지 구하는 건 양수일 때와 같은 방법으로 할 수 없다. 복소함수를 취급하는 더 복잡하고 난해한 방법론을 동원해야 한다.

복소수라는 개념을 떠올리고 나니까 어째 리만 가설이라는 것도 나올 수 있고 20세기엔 수렴· 발산 여부로 만델브로트니, 줄리아니 하는 프랙탈 집합까지 발견할 수 있었다. 이런 걸 도대체 어떻게 찾아냈을지 오묘하기 그지없다. 다들 계산량이 엄청나고 빡세다는 공통점도 있다. 하긴, 프랙탈이 '차원'이라는 개념도 대수적으로 확장했다. 행렬 계산의 최적 시간 복잡도에서 거듭제곱 계수가 2도, 3도 아닌 로그함수 값이 된 것처럼 말이다.

이상이다.
리만-제타 함수라든가 감마 함수 같은 난해한 함수들이 양수 구간과 음수 구간이 모양이 심하게 차이가 나고, 특히 음수 구간에서는 상하로 심하게 널뛰기를 하는 근본 이유가.. 지수 함수와 관련된 음수의 기괴한 특성 때문이라고 감을 잡으면 될 듯하다.
x^x 말고 0의 x승의 경우.. 양수에 대해서는 그냥 0이 될 것이고 0^0은 사실상 1이 통용되고 있고, 음수 승은 0으로 나누는 것과 동급인 부정으로 귀착된다.

Posted by 사무엘

2020/01/22 19:34 2020/01/22 19:34
, ,
Response
No Trackback , No Comment
RSS :
http://moogi.new21.org/tc/rss/response/1708

모양이 그럴싸한 비선형 함수들

1. 증가 양상 변화

코딩을 하다 보면... 0부터 1 사이에 있는 속도, 압력, 밝기 등 자연계의 다양한 아날로그 신호를 입력으로 받았는데 그걸 있는 그대로 곧이곧대로 처리하는 게 아니라, 특정 구간(특히 중앙)이 더 부각되어 인지되도록 비선형적으로 보정해야 할 때가 있다. 그 구간을 if문으로 따로 분리하는 건 좀 무식해 보이니, 가능하면 함수 형태로 스무쓰하게 처리되게 하는 게 좋을 것이다.

이런 처리의 대표적인 예로는 화면의 '감마 보정'(gamma correction)이 있다.
일반 사용자의 입장에서는 이건 막연히 화면의 밝기를 조절하는 기능으로 보인다. 하지만 이건 단순히 모든 색들의 RGB 값을 일괄적으로 올리는 게 아니다. 양 극단의 제일 어둡거나 밝은 색은 그냥 놔 두고, 어중간하게 어두운 색들의 명도를 올려서 화면이 전반적으로 선명하게 보이게 해 준다.

모니터가 브라운관이든 LCD든 오래되면 그렇잖아도 어중간한 색깔을 표현하는 능력이 떨어지니, 감마 보정이 화질의 개선에 도움이 된다.
그리고 애초에 사람의 눈도 밝기를 그렇게 선형적으로 인식하지 않는다고 한다. 흑백 그러데이션을 그냥 선형적인 색 변화로만 늘어놓으면 색깔띠가 밝은 부분보다는 어두운 부분이 더 부각돼 보인다. 이때 적절히 감마 보정을 하면 흑백과 회색 구간이 그럭저럭 균형 잡혀 보이게 된다.

사용자 삽입 이미지

그럼 이 감마 보정은 어떻게 하는 걸까?
정의역 0~1, 치역 0~1, f(0)=0, f(1)=1이고 증가량의 차이만 있을 뿐 단조증가 자체는 보장되는(전구간에서 도함수의 값이 0 이상이 보장) 어떤 함수 f가 필요하다.
이런 조건을 만족하여 감마 보정에 쓰이는 함수는 의외로 단순하다. 그냥 지수함수이다.

사용자 삽입 이미지

0보다 크고 1보다 작은 지수를 설정하면 구간 0~1에 대해서 f(x)는 x보다 값이 커진다. 그래서 원본보다 화면을 더 밝게 만드는 효과를 낸다. x=1에 근접할수록 그 증가폭이 작아질 것이다.

한편, 단순히 f(x) = x^t 말고.. f(x) = (1 - (1-x)^(1/t) )^t 는 어떨까 싶다.
얘는 t가 1/2일 때는 사분원의 궤적을 만들며, 2일 때는 2차 베지어 곡선을 만드니 참 흥미롭다. 그 외의 값일 때도 0 부근에서의 증가치와 1 부근에서의 감소치가 일치하는 나름 대칭형 곡선을 형성한다는 점에서 단순 지수함수와는 차이가 있다.

사용자 삽입 이미지
(빨강-자주...-초록-파랑 순으로 t=0.5, 0.7, 1, 1,5 ,2이다. 이 선들은 자기 자신은 좌우로 대칭이지만 빨간 선과 파란 선이 y=x를 기준으로 마주보며 대칭인 건 아니다.)

얘는 한눈에 봐도 적분하기 어렵게 생겼다. t가 치환적분이 가능한 1/2, 2 등의 알려진 값이 아니라 1/3 정도만 돼도 0부터 1까지의 면적, 다시 말해 정적분의 값은 초등함수의 형태로 표현되지 못한다.

2. 좌우대칭 종 모양

함수 중에는.. 값 자체는 전부 양수이지만 거의 전구간에서 0에 가깝고, f(-x)=f(x)인 우함수이고, 원점 x=0 주변에서만 최대값이 언덕처럼 봉긋 솟아 있는 물건이 있다.
이런 함수의 대표적인 예는 바로.. 확률· 통계의 영원한 친구인 정규 분포 확률 밀도 함수이다.

얘의 본질은 상수의 -x^2승이다. 그냥 지수가 아니라 음의 제곱 지수이다.
이런 함수도 부정적분이 깔끔한 형태로 나오지 않으며, 일부 구간의 정적분을 구하려면 수치해석을 동원해야 한다.
그 대신 얘는 음의 무한대에서 양의 무한대까지 함수 전체를 적분한 면적을 구할 수 있다. 가령, e^(-x^2)의 전체 정적분은 sqrt(Pi), 즉 원주율의 제곱근이다. (약 1.7724..)

전구간의 적분 면적은 옛날에 독일의 그 가우스라는 수학자가 이 종 모양을 입체 공간에서 뺑 돌려서 회전체의 부피를 구하는 식으로 발상을 전환하여 구했다. 일종의 이상 적분 기법인데, 더 이상의 자세한 설명은 생략한다. 고등학교 수준에서는 이 함수의 해석학적 특성을 도저히 따져볼 수 없다.

평균 0, 표준편차 1의 표준 정규 분포의 확률 밀도 함수는 저 함수에서 지수를 -x^2 / 2로 절반으로 나누고, 함수값에다가 1/sqrt(2*Pi)도 곱해서 전구간의 면적이 1이 되게 한 형태이다.

그럼 정규분포 함수보다 해석학적으로 분석하기 더 쉬운(?) 함수 중에는 좌우대칭 종 모양이 없을까?
바로 삼각학수 '탄젠트'의 '변종'에 속하는 놈들의 '도함수'가 이 범주에 든다.

탄젠트의 역함수인 arctan(x)는 도함수가 1/(x^2+1)이라는 꽤 단순한 형태인데, 그래프는 종 모양이다. x=0에서 최대값이 1이고, 전체 면적은 pi이다.
그리고 하이퍼볼릭 탄젠트 tanh(x)는 도함수가 1-tanh(x)^2로 기묘하게 구해지는데, 얘 역시 x=0에서 최대값이 1이면서 전체 면적은 2이다.
숫자 공부를 손 놓은지 10수 년이 지나서 그런지 이런 기본 기초 하나도 갑자기 새삼스럽게 느껴진다.

사용자 삽입 이미지
제일 안의 초록색 선은 exp(-x^2), 빨간 선은 tanh(x)의 도함수, 파란 선은 arctan(x)의 도함수이다.

얘들은 그 정의상 자신의 부정적분이 깔끔하게 존재한다.
부정적분에 속하는 arctan이나 tanh이라는 오리지널 함수를 살펴보면.. 단조증가이면서 f(x)=-f(-x)인 기함수이며, 무한대로 갈수록 특정값에 수렴하고 반대로 무한소로 갈수록 음의 특정값에 수렴하는 걸 알 수 있다. 함수의 기울기는 x=0일 때 가장 크다.

사용자 삽입 이미지

요런 모양의 함수만을 일컫는 용어가 "sigmoid"라고 있다. 선형이 얼추 기울어진 S자 모양이라는 점에서 유래된 명칭이다.
특히 tanh의 경우 sigmoid 함수의 대표격으로 여겨지며, Logistic function이라는 이름으로 배율 변경과 평행이동만 된 바리에이션이 쓰이기도 한다.

맨 먼저 다뤘던 확률 밀도 함수를 0부터 x까지 정적분한 함수는 수학에서 따로 '오차 함수'라고 불리며 중요하게 다뤄진다. 5차가 아니라 error라는 뜻이다. 얘도 물론 sigmoid에 속한다.

그렇잖아도 5차 이상의 방정식은 유한 번의 사칙과 거듭제곱으로 표현할 수 없는 근을 가질 수 있는데, 적분은 마치 그런 것처럼 x^x, sin(x)/x, 1/ln(x)처럼 단순한 식조차도 초등함수의 형태로 표현되지 않는 결과가 나올 수 있고 미분보다 어려운 연산으로 간주되는 걸까? 하긴, 1/x의 부정적분이 갑자기 ln(x)가 나오는 것에서부터 적분의 난해함이 발현되는 것인지도 모르겠다.

아무튼..
직선을 굽게 하는 1번 모양, 종처럼 생긴 2번 모양, 그리고 2번을 적분한 S자 모양까지..
요런 함수가 있다는 걸 알아 두면 코딩 하다가 언젠가 써먹을 날이 올 수도 있을 것이다.

Posted by 사무엘

2019/06/22 08:35 2019/06/22 08:35
,
Response
No Trackback , No Comment
RSS :
http://moogi.new21.org/tc/rss/response/1632

« Previous : 1 : 2 : 3 : 4 : Next »

블로그 이미지

철도를 명절 때에나 떠오르는 4대 교통수단 중 하나로만 아는 것은, 예수님을 사대성인· 성인군자 중 하나로만 아는 것과 같다.

- 사무엘

Archives

Authors

  1. 사무엘

Calendar

«   2021/02   »
  1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28            

Site Stats

Total hits:
1548630
Today:
419
Yesterday:
485