우리는 이미 앞에서 피보나치 수열의 일반항도 구했고, 여러 방법으로 구해보기도 하였습니다. 이 과정을 선형대수로도 할 수 있다는 것이 이 포스팅의 골자가 되겠네요.
2. 어떻게 풀건데?
2-1. 피보나치 수열을 선형대수적으로 나타내기
일단 수열 Fn을 선형대수적으로 정의해봅시다. Fn=Fn−1+Fn−2를 [FnFn−1]=[1110]⏟CompanionMatrix[Fn−1Fn−2] 이렇게 표현 가능합니다. 여기서 잘 보면 Fn과 Fn−1 사이에 생기는 행렬을 Companion matrix(동반 행렬)이라고 하는데, 어떻게 저렇게 표현되는지는 사실 간단합니다. 일단 그냥 Fn을 Fn과 Fn−1을 성분으로 갖는 열벡터로 정의합시다.(선형대수에서 벡터의 의미는 열이나 행 하나로 정의된 행렬을 뜻합니다) →Fn=[FnFn−1] 이 될 것이고, 여기서 Fn=Fn−1+Fn−2라는 피보나치 수열의 정의를 이용하면 →Fn=[Fn−1+Fn−2Fn−1] 덧셈의 항등원인 0까지 넣어주면 →Fn=[Fn−1+Fn−2Fn−1+0] 좀 더 보기 편하게 곱셈의 항등원 1도 표시해주죠 →Fn=[1⋅Fn−1+1⋅Fn−21⋅Fn−1+0⋅Fn−2] 행렬의 곱셈공식을 생각해서 분리해보면 →Fn=[1110][Fn−1Fn−2] 여기서 →Fn=[FnFn−1] 이므로 [FnFn−1]=[1110][Fn−1Fn−2] 이렇게 유도가 됩니다. 그리고 이를 벡터로 표기하면 →Fn=[1110]→Fn−1 이렇게도 표현할 수 있겠죠?
2-2. 피보나치 수열을 변환하기
자, 그럼 아주 재밌게도 Fn과 Fn−1 사이에는 companion matrix의 곱만큼 차이가 납니다. 가령, Fn−1을 표현해보아도 →Fn−1=[1110]→Fn−2 일 것이고, 이를 위 식에 대입을 하면 →Fn=[1110]→Fn−1 →Fn−1=[1110]→Fn−2 →Fn=[1110][1110]→Fn−2 →Fn=[1110]2⋅→Fn−2 가 되겠고, 이제 조금 표기의 편의성을 위해 companion matrix를 A라고 놓으면 →Fn=A2⋅→Fn−2 라고 표기할 수 있겠습니다. 자, 다시 돌아가서 Fn과 Fn−1 사이에는 companion matrix의 곱만큼 차이가 난다고 했습니다. 그렇다면 이를 이용하면 Fn을 F1으로 표현도 가능하겠네요? 그렇다면 companion matrix A는 n-1번 곱해지면 되겠습니다. →Fn=An−1⋅→F1 열벡터를 풀어서 행렬로 보게 된다면 [FnFn−1]=An−1⋅[F1F0] 여기서 F1=1,F0=0이므로, [FnFn−1]=An−1⋅[10] 이렇게 깔끔하게 정리가 되겠네요! 여기까지는 아주 순조롭습니다! 여기까지는...
자, 여기서 어려움에 봉착합니다. 행렬의 곱은 일반 적인 대수적 곱이랑은 다르다고 했습니다. 그렇다면 곱으로 연결되어있는 행렬, 즉 행렬의 거듭제곱은 쉬울까요? 각 요소에다가 각자 다 거듭제곱을 붙여주면 되는걸까요? 아뇨.. 일반적으로는 매우 어렵습니다. 대수의 거듭제곱처럼 쉬웠으면 얼마나 좋을까요.. 그렇다고 거듭제곱으로 압축표기된 행렬을 쫙 풀어놓고 하나하나 곱하고 있자니 그것도 조금 메롱합니다.. 물론 앞의 몇번을 반복하고 수학적 귀납법으로 이런 규칙이 있다!하고 찾은 뒤 적용해주어도 괜찮지만, 우리는 뭔가 좀 더 신박한 방법을 찾아보려 합니다. 그렇다면 행렬을 일반 대수처럼, '행렬의 거듭제곱 = 요소의 거듭제곱'으로 나타낼 수 있는 행렬이 있을까요?
예, 행렬의 곱셈에 대해 조금만 생각해보면, '대각행렬'은 자기 자신이 속한 행과 열 중에서 자기 자신을 제외한 다른 요소들이 전부 0이므로 행렬의 곱셈을 수행하여도 자기 자신의 거듭제곱만 결과로 나타나게 됩니다! 즉, [1002]2=[1002][1002]=[1004]=[120022] 오! 결국 행렬의 거듭제곱을 요소의 거듭제곱으로 표현할 수 있는 방법을 찾았습니다! 그럼 행렬을 대각행렬로 바꿔주면 되겠네요!? 근데.. 어떻게 해야하죠...?
여기서 나오는 개념이 바로 '대각화'입니다. 연역적으로 너무나도 당연하게 한 행렬을 대각행렬로 바꿔주는 작업이죠. 그런데, 딱 봐도 뭔가 그럴싸해보이는 작업이 맨입으로 가능할까요? 아니겠죠... 그래서 대각화에 앞서서 바로 '고유값 분해(eigen decomposition)'가 필요합니다. 갑자기 뭔가 난이도가 엄청 뛴 느낌입니다.
2-3. 대각화를 위한 고유값 분해
간단하게 고유값 분해를 설명하자면, '어떤 행렬을 어떤 벡터에 곱한 값이 그 어떤 벡터의 상수배 만큼과 같은 그 어떤 벡터와 상수 찾기'라고 생각하시면 됩니다. 좀 더 설명해보자면, 행렬의 곱은 기본적으로 어떤 공간에서의 좌표변환 역할을 합니다. 그러나 이 행렬의 변환을 거쳐도 변하지 않는 그런 벡터를 찾는 것이 고유벡터(아이젠 벡터, eigen vector)를 찾는 과정입니다. 그리고 물론 이 벡터는 변환을 거쳐서 특정 상수배만큼 길이가 길어지거나 짧아질텐데, 바로 그런 상수를 찾는 것이 고유값(아이젠 벨류, eigen value)을 찾는 과정입니다. 그리고 이둘이 한번에 이루어지기때문에 고유값분해라고 명명지어진 것이죠. 그럼 실제로 한번 어떻게 이루어지는지 봐 볼까요? 아, 참고로 고유값 분해는 정방행렬에서만 적용된답니다. 이를 확장한게 특이값 분해(singular value decomposition)죠.
자, 일단 '어떤 행렬과 곱한 열벡터' 즉, '행렬변환을 한 열벡터'라는 식을 세워봅시다. 지금 쓰는 A 행렬은 위에서의 companion matrix였던 A행렬과 다른 행렬입니다. A⋅→v 그리고, '상수배만큼 변한 열벡터'도 식으로 세워보죠 λ⋅→v 이젠 이 둘을 합쳐 동치로 놓습니다. 뜻은 아까 말했듯 'A 행렬 변환을 거친 벡터 = 특정 상수배 만큼 변한 벡터'입니다. 결국 벡터의 방향은 바뀌지 않고 크기만 바뀐셈이죠 A⋅→v=λ⋅→v 그리고 이걸 풀기위해 이항하여 =0으로 바꿔줍니다. A⋅→v−λ⋅→v=0 공통된 벡터를 묶어줍니다. 행렬에서는 곱하는 방향이 중요하기 때분에(교환법칙 성립 x) 같은 방향으로 묶어줍니다. (A−λ)→v=0 근데 여기서 문제가 생깁니다. A는 행렬이고, λ는 스칼라거든요.. 그럼 어떻게 처리해줘야할까요? 행렬을 스칼라로? 스칼라를 행렬로?
네, 스칼라 값을 행렬로 변환해줘야합니다. 왜냐하면 지금 저희는 어떤 변환을 하더라도 변하지 않는 벡터를 찾는 중이니까요, 어떤 변환을 하는 행렬을 찾아야죠 그러면 λ를 어떻게 행렬로 변환 할 것이냐... 일단 행렬의 뺄셈을 하려면 행렬의 크기가 맞아야겠죠? 그럼 이 스칼라 값에 어떤 행렬을 곱해주면 될텐데.. 어떤 행렬을 곱해줄까요..? 그냥 A행렬과 크기만 맞는 행렬이면 다 되는 걸까요?
물론 아니겠죠..! 스칼라 값을 어떤 행렬 공간에서 동일하게 작용하는 행렬로 확장하려면 단위행렬을 곱해줘야 합니다. 좀 더 정확하게 말하자면 [단위행렬은 '모든 벡터를 자기 자신으로 보존'하는 유일한 선형변환]이기 때문입니다. 어떻게 보자면 곱셈의 항등원과 같은 뜻입니다. 자, 이렇게 알아냈으니 다시 식을 써보죠 (A−λ⋅I)→v=0 네, 이게 바로 고유값 분해의 식입니다.
그리고 여기서 잘 보자면, 결국 (A−λ⋅I)가 0이거나, →v가 0이어야지만이 이 식이 성립함을 알 수 있습니다. 그런데, 저희는 처음 시작부터 고유 벡터 →v가 있다! 하고 가정을 하고 출발했으니까 →v는 0이 되면 안됩니다. 결국, (A−λ⋅I)가 0이 되어야 하는데... 이게 0이 되는걸 어떻게 찾을 수 있을까요? 행렬을 단 하나의 스칼라 값으로 바꾸는 방법은 여러가지가 있지만, 그 중에서도 행렬식(determinant)이 가장 대표적입니다.
그냥 간단하게 스칼라 값으로 바꾼다고 했지만, 사실 고등학교정도의 행렬을 배웠던 사람이라면 행렬식은 좀 익숙할 겁니다. 바로 역행렬을 만들때 필요한 친구이기 때문인데요, 고등학교에서는 역행렬을 만들 때, (abcd)−1=1ad−bc(d−b−ca)로 배웠을 거에요. 그리고 사실 ad−bc가 행렬식(determinant)이죠. 그리고 여기서 '행렬식이 0이면, 역행렬이 없다' = '역행렬이 존재하려면 행렬식이 0이면 안된다'는 결론이 나옵니다. 결국 이 문제에서도 (A−λ⋅I)가 역행렬이 있으면 안되기 때문에 det(A−λ⋅I)(행렬식 연산을 det라고 줄여서 표기합니다)가 0인 것을 찾는 겁니다. 여담으로 (A−λ⋅I)가 역행렬이 된다면, (A−λ⋅I)−1(A−λ⋅I)→v=(A−λ⋅I)−1⋅0 →v=0 즉, 고유벡터가 영벡터가 되어버리므로 결국 저희가 세웠던 가정이 맞지 않게되어버립니다.
행렬식은 이미 아시다시피 2차는 아주 간단하게 (abcd) 행렬에서 ad−bc입니다. 3차부터 복잡해지지만, 일단 저희는 지금 피보나치 수열을 구하는 수준에서 2차까지 알아보겠습니다.
자 그럼 다시 돌아와서, 우리는 지금 companion matrix를 대각화 하고 싶고, 그래서 방법을 찾다보니 우선 고유값 분해를 해야한다는 걸 알았습니다. 그러면 companion matrix를 고유값 분해합시다. (A−λ⋅I)→v=0 여기서 A는 현재 companion matrix의 A입니다. det(A−λ⋅I)=0이면 된다고 했습니다. 일단, 실제값으로 바꿔보죠 det([1110]−λ⋅[1001])=0 det([1110]−[λ00λ])=0 det([1−λ11−λ])=0
여기서 행렬식 연산을 해줍니다. ad−bc (1−λ)(−λ)−1=0 λ2−λ−1=0 풀어주면 되겠죠? 근의 공식에 넣어서 풀어주면 됩니다. 여기까지 오면서 정말 많이 풀었으니까(다른 포스팅에서 피보나치 수열 풀던 가락..) 여기서는 그냥 바로 뿅 가겠습니다. λ=1+√52or1−√52 λ1=1+√52,λ2=1−√52 이렇게 놓을 수 있겠네요! 고유값(eigen value) 찾았습니다!
그럼이제 고유벡터를 찾아야겠죠? 고유벡터의 요소를 ab라고 놓으면, →v=[ab] λ값이 두개였으니까 하나만 살펴보죠 (A−λ1⋅I)→v1=0 이므로, [1−λ111−λ1][ab]=0 이겠네요. 풀면, {(1−λ1)a+b=0a−λ1b=0 결국, a=λ1b이고 →v1=[λ1bb] 여기서 고유벡터는 방향만 나타내주면 되는 성분이니 그냥 가장 간단하게 b에다가 1 대입하면 →v1=[λ11] 요렇게 정리가 됩니다. λ2에 대해서 정리해도 똑같죠! 고유벡터(eigen vector) 찾았습니다!
위에서 왜 연립방정식 안푸냐... 하시는 분들도 계실텐데.. 두번째 식 a=λ1b을 첫번째 식에 대입해서 풀어보시면 그냥 의미없이 b⋅0=0이런 결과를 얻으실 겁니다...
자, 그리고 이제 이 고유벡터를 column으로 stack한 새로운 행렬 P를 정의해보죠.(열벡터를 쌓아서 행렬 만들기는 흔한 조작중에 하나입니다) P=[v1v2]=[λ1λ211] 자, 이제 대각화를 할 준비를 마쳤습니다. 어휴.. 쓰다보니까 진짜 엄청 기네요! 잘 따라와주세요!(사실 보통은 따로따로 파편적으로 공부하지만 이렇게 한번에 쭉 보는것도 도움이 된답니다!)
2-4. 드디어 대각화
자, 우리의 염원이던 '행렬의 거듭제곱 = 요소의 거듭제곱 그러나 답은 바뀌지 않는'을 찾기위한 여정의 막바지 입니다. 일단 우리는 companion matrix인 A를 알고있고, 고유벡터를 쌓아서 만든 P라는 matrix를 알고있습니다. 일단 이 두개. 곱해보죠. AP=A[v1v2] 자, 혹시 여기서 설명이 조금 헛갈리시면 행렬곱셈 개념정리를 한번 참조해주시기 바랍니다. matrix와 column끼리 곱한 column을 모아도 행렬의 곱셈이 성립한다고 했습니다. 그렇다면 여기서 이렇게 식을 변형할 수 있겠네요? AP=[A⋅v1A⋅v2] 근데 위에서 우리는 고유값 분해를 했습니다. 고유값 분해식은 A⋅→v=λ⋅→v 이거였죠. 어? 얘를 또 변형 가능해보입니다? AP=[A⋅v1A⋅v2]=[λ1⋅v1λ2⋅v2]
자, 여기서 아까 [단위행렬은 '모든 벡터를 자기 자신으로 보존'하는 유일한 선형변환]이라고 했습니다. 즉, 이 단위행렬에 어떤 벡터하나가 곱해졌을 때 자기 자신이 나온다는 말이죠. 그럼 이 단위행렬이 스칼라배가 되면, 당연히 어떤 벡터도 방향은 그대로이고 스칼라배가 된 벡터가 나오겠죠? 자, 근데 여기서 벡터가 쌓인 행렬이 곱해지면 어떻게 될까요?
가령 [v1v2][1001]=[v1v2] 이건 자명하죠? 결국 [단위행렬은 '모든 벡터를 자기 자신으로 보존'하는 유일한 선형변환]이 맞네요 그렇다면 일정 스칼라배 한건? [v1v2][5005]=[5⋅v15⋅v2] 오, 역시 벡터의 배수배가 되는군요? 그럼 좀 더 나아가서 단위행렬이 아니라, 대각선으로 다른 값을 주면 각 벡터마다 곱해지는 배수가 달라지겠네요? [v1v2][2005]=[2⋅v15⋅v2] 오~ 그럼 다시 돌아가서 AP=[λ1⋅v1λ2⋅v2] 이친구를 다시 보면... 오! AP=[v1v2][λ100λ2] 이렇게 변환이 되겠군요! 그리고 우리는 이 결과로부터 아주 재밌는 결과도 같이 얻었습니다! 네! 결국 대각선인 행렬을 찾아냈어요!
이 대각선 행렬을 D라고 해볼께요! 그럼 수식은 AP=A[v1v2]=[A⋅v1A⋅v2]=[λ1⋅v1λ2⋅v2]=[v1v2][λ100λ2]=PD AP=PD가 되겠죠! 여기서 P의 역행렬을 좌우변 모두 곱해주면! A=PDP−1 와! 결국 companion matrix를 연역적 방법으로 대각행렬로 변환하는데 성공하였습니다!!!
그리고 이 변형에는 아주 재밌는 특성이 있는데요 A2=(PDP−1)⋅(PDP−1)이 되잖아요? 근데 P−1P는 상쇄되니까 A2=PDDP−1=PD2P−1이 되면서, 결국 대각행렬만 제곱이 되는 꼴이 된답니다! 그럼 대각행렬의 거듭제곱은 뭐다? 요소의 거듭제곱으로 나타낼 수 있다! 와! 해결! 그럼 우리 companion matrix의 거듭제곱 문제가 해결되었어요!
2-5. 대각행렬로 다시나타내기
아까 [FnFn−1]=An−1⋅[10] 요렇게 깔끔하게 정리된 식을 얻었으나, 결국 companion matrix의 거듭제곱에 막혔던 것을 이번에 우리는 쉽게 파고들 수 있습니다. An−1=PDn−1P−1 [FnFn−1]=PDn−1P−1⋅[10] 이제 진짜로 식을 풀어봅시다
3. 결론
여기서 P−1은 P−1=1λ1−λ2[1−λ2−1λ1] [FnFn−1]=P⏞[λ1λ211]Dn−1⏞[λn−1100λn−12]⋅P−1⏞1λ1−λ2[1−λ2−1λ1]⋅[10] [FnFn−1]=1λ1−λ2⋅[λ1λ211][λn−1100λn−12][1−λ2−1λ1]⋅[10] [FnFn−1]=1λ1−λ2⋅[λn1λn2λn−11λn−12][1−λ2−1λ1]⋅[10] [FnFn−1]=1λ1−λ2⋅[λn1λn2λn−11λn−12][1−1] [FnFn−1]=1λ1−λ2⋅[λn1−λn2λn−11−λn−12] 그리고 여기서 우리는 Fn 성분만 필요하므로 (개념적으로는 1번 요소만 꺼내서 쓰면 될 것이고, 수식적으로는 양변에 [1 0]을 곱해주면 될 것이다) Fn=1λ1−λ2(λn1−λn2) 여기서, λ1=1+√52,λ2=1−√52이므로
선형대수[Linear Algebra]: 행렬곱셈(Matrix multiplication)의 개념 정리
1. 서론
선형대수를 하면서 사실 제일 큰게 수를 다루는 '감각'이 아닌가 싶다.
'엄밀하게 왜이래?'를 따지는 것도 중요하지만, 사실은 약간 '어~ 이게 이러니까 이렇게 되네? 오 쫌 재밌네?'하면서 받아들이고 사용하다보면 나중에 크게 이해되는 때가 오기도 한다.(그리고 그건 어떤 내부적이든 외부적이든 깨달음의 순간이 왔을 때 익숙했었어야지만이 깨달을 수 있다는 부분이기도 하다..)
그리고 선형대수는 아주 재밌게도, 직관적으로 '어 이거 되는거 아냐?'했을 때 되는 경우가 굉장히 많다. 사실 그래서 선대 수학자들이 '이게 왜 돼!?!?'하면서 연구를 더욱 더 심도있게 진행시키지 않았을까~ 하는 생각도 든다.
그래서 결론은 다른 고급(?)선형대수를 들어가기 전에, 가장 기본적인 행렬 곱셈의 개념부터 한번 정리하고 가면 좋겠다고 생각을 했다.
우리가 흔하게 아는 고등학교 때 배웠던 요소별로 채워넣는 행렬곱셈 말고도 행렬을 가로로(열로) 세로로(행으로) 찢어서 계산도 가능하다는 아주 재밌는 사실이 있기 때문이다.
2. 행렬의 곱셈방식은 몇가지?
그렇다면 행렬의 곱셈방식은 몇가지나 있을까?
물론 '방식'이 여러가지 인거지, '답'은 하나다.
결론부터 말하자면 곱셈방식은 사실 네가지다.
행렬을 행과 열로 찢어서 조합할 수 있다고 하면, 꽤나 많은 경우의 수가 나오겠지만
행렬곱셈을 수행하면 그 대원칙인 ∑row∗column가 수행되고, 따라서 (n x m) * (m x k) = (n x k)의 행렬이 나온다는 것만 알고 있으면 경우의 수는 사실 아래의 네가지로 귀결된다.
빨간 삼각형과 비슷하게 밑변*높이*절반을 가져가려하나, 밑변에 해당하는 길이가 변수 a에 의해서 계속 변화합니다. 따라서 밑변은 변수 a에 의해 길이가 결정되는데, 이 법칙을 나타낸게 원의 방정식을 정리한 함수죠. 자세한 내용은 이전 포스팅에 있으니 여기서는 빠르게 수식을 세워보도록 하겠습니다.
그리고 이 파란 삼각형에서도 높이는 밑변에 tan값을 곱한 값이 되는데, 여기서 일반각은 평행한 두 직선 사이 엇각의 관계가 되므로(정확히는 내엇각(alternate interior angle)) 똑같이 \theta 가 됩니다.
요렇게 생긴 삼각형이랍니다. 정삼각형의 각 꼭지점에서 그 변을 반지름으로하는 호를 그렸을 때 만들어지는 도형이죠! 그리고 이 도형의 특징은! 바로 등폭도형(curve of constant width)이라는거죠! 그 뜻은 이 도형의 어느 양 끝을 기준으로 삼아도 폭이 일정하다는 말입니다.(그도그럴게 정삼각형의 한 변을 기준으로 각각 호를 그렸으니 너무나도 당연한 결과죠!) 그리고 여기서 폭은 정삼각형의 한 변의 길이가 됩니다. 그러나 오늘은 이 뢸로 삼각형을 소개하는 것 뿐만이 아니라, 이 뢸로삼각형을 같은 넓이로 4등분해 볼건데요! 왜 요런짓을 하는지는 나중에 마무리부분에서 보기로 하고 일단 4등분 고고싱 해보죠 고고싱~
수식세우기-
1] 전체 넓이 구하기
일단 4등분을 하려면 과거 >>직선 두개로 원 삼등분하기<<처럼 전체 넓이를 기준으로 계산을 하는 것이 편합니다. 따라서 이 뢸로 삼각형의 전체 넓이 S를 구해보겠습니다. 언뜻 '아니 곡선으로 이루어진 도형의 넓이를 어떻게 구해?' 싶지만, 의외로 부채꼴의 조합이므로 계산이 어렵지 않아요! [전체넓이 = 한 부채꼴의 넓이*3 - 삼각형의 넓이*2] 로 구할 수 있답니다! 여기서 부채꼴의 반지름 r은 등폭도형이므로 폭 d와 같습니다.(폭 d는 정삼각형 한 변의 길이와도 같죠) 또한 부채꼴의 각도는 60도이므로(정삼각형의 한 각과 같습니다) 라디안으로 쓰면 \frac{\pi}{3} 죠 한 부채꼴의 넓이: \frac{1}{2}r^2\theta = \frac{1}{2}d^2\frac{\pi}{3} 정삼각형의 넓이: \frac{\sqrt{3}}{4}d^2 그렇다면 부채꼴 넓이 *3-정삼각형 넓이는 S = \frac{1}{2}d^2\frac{\pi}{3}*3 - \frac{\sqrt{3}}{4}d^2*2 S = \frac{1}{2}d^2(\pi - \sqrt{3}) 자, 그러면 이 전체넓이의 \frac{1}{4} 을 부분넓이 구하는 식에서 찾으면 되겠죠? \frac{S}{4} = \frac{1}{8}d^2(\pi - \sqrt{3})
2] 부분넓이 구하기
자, 이제 '어느 높이에서 이 뢸로 삼각형의 넓이는 이만큼입니다~'하고 알려주는 부분넓이 공식이 필요한데... 아무래도 호(arc)이다 보니 계산이 녹록치 않아보이죠? 일단 계산이 쉽게 좌표 세팅부터 해주겠습니다.
자, 먼저 정삼각형의 밑변을 x축에 접하게두고, y축의 중심에 놓습니다. 이렇게두면 정삼각형은 y축으로 이등분이 되는 꼴이 되겠죠, 그리고 좌우 대칭일 겁니다 이걸로 일단 4등분을 할 때 세로로 2등분은 해결이 되었습니다. 무조건 세로로 2등분하면 넓이는 절반이 되겠죠 그렇다면 가로로 2등분 점을 찾아야 한다는 결과에 도달합니다. 그러면 세로로 2등분, 가로로 어느정도 높이에서 2등분하면 전체 넓이의 \frac{1}{4} 이 되는 넓이가 나올겁니다. 이 높이를 찾으면 되겠네요. 폭이 d라고 했으니, 오른쪽 빨간색 호의 중심은 왼쪽아래 빨간점이 되겠고 좌표는 (-\frac{d}{2}, 0) 그러면 이 부채꼴의 원래 원의 방정식은 (x + \frac{d}{2})^2+y^2=d^2 이 될겁니다. 그럼 이 식을 정리해서, x좌표에 대한 식으로 변형한 다음 0부터 어떤 지점 a까지 적분하면 이 뢸로삼각형의 부채꼴의 일부의 넓이를 구할 수 있겠네요! 이 넓이를 T라고 해보죠(a부터 \frac{\sqrt{3}}{2}d 까지 구할 수도 있으나, 밑끝이나 위끝에 0이 들어가야 적분식이 깔끔해지는 경향이 있어 그냥 0부터 적분하겠습니다.) 자, 근데 하나 문제가 있죠. 이거는 0부터 적분해가는 식인데, 저희가 놓은 좌표대로면 아래쪽 활꼴(주황색)의 넓이가 반영이 안됩니다. 근데, 뭐 이 활꼴의 넓이는 너무 쉬우니까 바로 계산해보죠 활꼴의 넓이 = 부채꼴의 넓이-삼각형의 넓이 A_{sector} = \frac{1}{2}d^2\frac{\pi}{3} A_{triangle} = \frac{\sqrt{3}}{4}d^2 A_{segment} = \frac{1}{2}d^2\frac{\pi}{3} -\frac{\sqrt{3}}{4}d^2 A_{segment} = \frac{1}{2}d^2(\frac{\pi}{3} -\frac{\sqrt{3}}{2}) 근데 여기서 절반의 넓이만 포함되어야하므로 \frac{1}{2}A_{segment} = \frac{1}{4}d^2(\frac{\pi}{3} -\frac{\sqrt{3}}{2}) 그러면 \frac{1}{4}S = \frac{1}{2}A_{segment} + T(0부터 a까지 부채꼴의 일부의 넓이 적분) 이면 높이 a를 구할 수 있겠군요! 영역으로 보자면, 오른쪽 위에 해당하는 1사분면만 적분이 되어야 하구요 일단 찾은 원의 방정식을 정리해봅시다. (x + \frac{d}{2})^2+y^2=d^2 (x + \frac{d}{2})^2=d^2-y^2 x + \frac{d}{2}=\pm \sqrt{d^2-y^2} x=\sqrt{d^2-y^2} - \frac{d}{2} 로 정리가 되었습니다. 여기서 마지막줄로 정리할 때 제곱근의 양수만 취한 것은 오른쪽 영역만 표현하는 함수를 얻기 위함이며, y값이 음수와 양수를 모두 포함하더라도 적분 자체에서 0부터 a까지 적분할 예정이므로 y값의 영역이 정해지기에 문제가 없습니다! 그러면 적분을 해봅시다 T = \int_{0}^{a} (\sqrt{d^2-y^2} - \frac{d}{2}) dy T = \int_{0}^{a} \sqrt{d^2-y^2} dy - \int_0^a \frac{d}{2} dy T = \int_{0}^{a} \sqrt{d^2-y^2} dy - [\frac{d}{2}y]^a_0 T = \int_{0}^{a} \sqrt{d^2-y^2} dy - \frac{d}{2}a 자, 적분의 뒤쪽영역은 아주 쉽게 적분이 되었으나, 앞쪽은 쉽지 않아보이네요? 원을 적분할 때 가장 많이 쓰이는 트릭이 치환 적분에서 y를 r * sin t로 놓는 것입니다. 똑같이 적용해보죠 y = d*sin\theta dy = d*cos\theta d\theta T_1 = \int_{0}^{a} \sqrt{d^2-(d*sin\theta)^2} * d*cos\theta d\theta T_1 = \int_{0}^{a} d*\sqrt{1-(sin\theta)^2} * d*cos\theta d\theta T_1 = \int_{0}^{a} d^2*\sqrt{1-(sin\theta)^2} * cos\theta d\theta 1-sin^2\theta 는 항등식에 따라 cos^2\theta 와 같으니 T_1 = \int_{0}^{a} d^2*\sqrt{(cos\theta)^2} * cos\theta d\theta T_1 = \int_{0}^{a} d^2*cos\theta * cos\theta d\theta T_1 = \int_{0}^{a} d^2*cos^2\theta d\theta 여기서 삼각함수의 제곱은 적분불가하므로 더 쉬운 형태로 바꿔주겠습니다. cos 2배각을 이용하면 cos^2\theta = \frac{1+cos2\theta}{2} 이므로 T_1 = \int_{0}^{a} d^2*\frac{1+cos2\theta}{2} d\theta T_1 = \frac{d^2}{2}\int_{0}^{a} (1+cos2\theta) d\theta 자, 여기서 변수치환 했으니 당연히 아래끝 위끝도 변경해줘야합니다. 여기서 y가 0일땐, \theta 도 0이므로 아래끝은 동일하게 0이고, 위끝이 a인 경우엔, a = d*sin\theta \frac{a}{d} = sin\theta arcsin \frac{a}{d} = \theta 로 정리되므로, 위끝 아래끝 바꿔서 최종식을 써보면 T_1 = \frac{d^2}{2}\int_{0}^{arcsin \frac{a}{d}} (1+cos2\theta) d\theta 가 되겠네요 T_1 = \frac{d^2}{2}(\int_{0}^{arcsin \frac{a}{d}} 1 d\theta + \int_{0}^{arcsin \frac{a}{d}} cos2\theta) d\theta T_1 = \frac{d^2}{2} ([\theta]^{arcsin \frac{a}{d}}_{0}+ \int_{0}^{arcsin \frac{a}{d}} cos2\theta) d\theta T_1 = \frac{d^2}{2} (arcsin \frac{a}{d} + \int_{0}^{arcsin \frac{a}{d}} cos2\theta) d\theta T_1 = \frac{d^2}{2} (arcsin \frac{a}{d} + [\frac{1}{2}sin2\theta]^{arcsin \frac{a}{d}}_{0}) 여기서 sin 2t는 2sin t cos t와 같으므로 T_1 = \frac{d^2}{2} (arcsin \frac{a}{d} + [sin\theta cos\theta]^{arcsin \frac{a}{d}}_{0}) T_1 = \frac{d^2}{2} (arcsin \frac{a}{d} + sin(arcsin \frac{a}{d}) * cos(arcsin \frac{a}{d})) 여기서 arcsin은 sin의 역함수이므로 f(f^{-1}(x)) = x 를 이용하여 sin(arcsin \frac{a}{d}) = \frac{a}{d} cos(arcsin)의 경우 \theta = arcsin \frac{a}{d} sin \theta = \frac{a}{d} sin^2\theta + cos^2\theta = 1 cos\theta = \sqrt{1-sin^2\theta} cos\theta = \sqrt{1-\left(\frac{a}{d}\right)^2} 로 정리되므로 T_1 = \frac{d^2}{2} (arcsin \frac{a}{d} + \frac{a}{d} \sqrt{1-\left(\frac{a}{d}\right)^2}) 이 되며 결국 총 식은 T = \frac{d^2}{2} (arcsin \frac{a}{d} + \frac{a}{d} \sqrt{1-\left(\frac{a}{d}\right)^2}) - \frac{d}{2}a 자, 이제 다 왔습니다. \frac{1}{4}S = \frac{1}{2}A_{segment} + T \frac{1}{8}d^2(\pi - \sqrt{3}) = \frac{1}{4}d^2(\frac{\pi}{3} -\frac{\sqrt{3}}{2}) + \frac{d^2}{2} (arcsin \frac{a}{d} + \frac{a}{d} \sqrt{1-\left(\frac{a}{d}\right)^2}) - \frac{d}{2}a 식이 복잡하니 정리해보죠. 일단 \frac{2}{d^2} 으로 양변 곱해줍니다. \frac{1}{4}(\pi - \sqrt{3}) = \frac{1}{2}(\frac{\pi}{3} -\frac{\sqrt{3}}{2}) + (arcsin \frac{a}{d} + \frac{a}{d} \sqrt{1-\left(\frac{a}{d}\right)^2}) - \frac{a}{d} 풀어서 상수항 정리하면, \frac{\pi}{12} = arcsin(\frac{a}{d})+\frac{a}{d}\sqrt{1-\left(\frac{a}{d}\right)^2}-\frac{a}{d} 이 식에서 a를 찾아주면 영점에서 얼만큼 위로 올라가서 가로선을 그어야 4등분이 되는지가 나오며, 이를 \frac{\sqrt{3}}{2}d-a 를 하면 삼각형의 위쪽 꼭지점(주황색)으로부터의 거리를 구할 수 있습니다. 참고로 이 방정식은 초월방정식이라 사람이 일반해를 구할수는 없고, 계산기의 도움을 빌려야합니다. 이번에는 wolframalpha도 두손두발 들고 뻗어버렸기에, chatgpt를 이용하여 계산하면 gpt의 불확실한 결과(매번 결과가 달라지는)로 인해 다시 수식정리해서 wolframalpha로 계산하면 a = 0.268309283804244d 로 결과가 나오고, \frac{\sqrt{3}}{2}d-a 이 식에 넣어 계산하면 0.597716119980195d 라는 결과가 나오게 됩니다.
3] 수식적 결론
결국 폭의 0.5977위치에서(삼각형의 꼭지점에서부터 0.5977d 위치에서) 가로로 한번, 이후 세로로 중앙을 한번 자르면 정확하게 이 뢸로삼각형을 4등분 할 수 있습니다.(전체 폭의 60%쯤 되는 위치네요. 위와같은 형태에선 정확한 절반보다 조금 아래라고 생각하시면 될 것 같습니다.)
마무리-
이 뢸로삼각형은 의외로 활용도가 꽤 있습니다. 벽을 네모나게 뚫는 드릴도 이 뢸로삼각형을 응용하고 있으며, 무엇보다 폭이 어디에서재도 같다는 성질은 아주 요긴하게 쓰일 수 있습니다. 가령 약을 만들때도, 이 뢸로 삼각형의 모양대로 타정하면 약이 어떤 슬라이드를 지나갈때 막힘없이 원과 비슷하게 흘러갈 수 있겠죠 그래서 실제로 시판되는 약중에서도 이 뢸로삼각형의 모양인 약들이 꽤 있습니다. 그중에 대표적인게 바라크루드(Baraclude)인데요, 실제로 약의 정보를 보면 가로 세로 높이가 같은 뢸로삼각형임을 알 수 있습니다. 0.5mg 제형의 경우 8.4mm의 폭을 가지는데, 이걸 계산한 결과에 대입하면 삼각형의 한 꼭지점에서부터 5mm떨어진 지점에서 가로로한번 세로로한번 자르면 된다는 결론이 나오죠.
Windows 11에서 공유 프린터에 연결하려고 할 때 "제공한 자격 증명에 이 프린터에 액세스할 수 있는 권한이 충분하지 않습니다. 새 자격 증명을 지정하시겠습니까?"라는 오류 메시지가 나타남
* 원인
컴퓨터의 고급 공유 설정이 암호로 보호된 공유로 설정되어 있기 때문
해결 방법
고급 공유 설정에서 암호로 보호된 공유를 해제
* 해결 방법 상세 안내
* 설정 열기: 시작 메뉴에서 설정을 검색하여 열거나, Windows 키 + I를 누릅니다. * 네트워크 및 인터넷 선택: 설정 창에서 "네트워크 및 인터넷" 메뉴를 선택합니다. * 고급 공유 설정 변경: 네트워크 및 인터넷 설정에서 "고급 네트워크 설정"을 찾아 클릭합니다. 이후 "고급 공유 설정"을 찾아 클릭합니다. * 암호로 보호된 공유 해제: 고급 공유 설정 창에서 "모든 네트워크"탭에서 "암호로 보호된 공유" 옵션을 끕니다.
* 자격증명관리자 추가: 윈도우 검색에 "자격증명 관리자"를 검색하여 자격증명관리자에서 "Windows 자격 증명 추가"를 눌러 공유프린터 IP, 비밀번호를 입력 후 다시 연결하면 됩니다. 혹은 네트워크가 등록되어있다면 실행에 "₩₩네트워크이름(혹은 IP주소)"를 검색한 뒤 "네트워크 자격 증명 입력" 창에서 사용자 이름(해당 네트워크 이름)과 암호를 입력 후 "내 자격 증명 기억"에 체크를 하고 로그인합니다.