사용자:CrMT/연습장/2: 두 판 사이의 차이

잔글편집 요약 없음
 
(같은 사용자의 중간 판 7개는 보이지 않습니다)
1번째 줄: 1번째 줄:
=Faà di Bruno's Formula=
=미분 갈루아 이론=
==진술==
'''파 디 브루노의 공식'''(Faà di Bruno's Formula)은 [[연쇄법칙]](chain rule)을 고차 미분으로 일반화한 공식이다. 함수 <math>f</math>와 <math>g</math>가 미분가능한 일변수 함수이면 다음이 성립한다:
: <math>\frac{\mathrm d ^n}{\mathrm dx^n} f(g(x)) = \sum_{\sum_{1\le j \le n} j\cdot m_j = n}\frac{n!}{m_1! m_2! \cdots m_n!} f^{(m_1 + \cdots + m_n)}(g(x)) \prod_{1\le  j \le n} \left(\frac{g^{(j)}(x)}{j!} \right)^{m_j}.</math>
이를 [[Bell polynomial]]
: <math>B_{n,k}(x_1, \cdots , x_{n-k+1} ) = \sum_{(j_1 , \cdots , j_{n-k+1})} \frac{n!}{j_1! j_2! \cdots j_{n-k+1}!} \prod_{i=1}^{n-k+1} \left(\frac{x_i}{i!}\right)^{j_i}</math>
where <math>j_1 + \cdots + j_{n-k+1} = k</math> and <math>j_1 + 2j_2 + \cdots + (n-k+1)j_{n-k+1} = n</math>을 이용하여 간단히(?) 나타내면
:<math>\frac{\mathrm d ^n}{\mathrm dx^n} f(g(x)) = \sum_{k=1}^n f^{(k)} (g(x)) B_{n,k} \left( g'(x) , \cdots , g^{(n-k+1)}(x)\right)</math>
가 된다. 또한, 이를 '조합적'으로 나타내면 다음과 같다:
:<math>\frac{\mathrm d ^n}{\mathrm dx^n} f(g(x)) = \sum_{\pi \in \Pi }f^{(|\pi|)}(g(x)) \prod_{B\in \pi} g^{(|B|)}(x).</math>
이때 <math>\pi</math>는 <math>\{1, \cdots, n\}</math>의 partition이며 <math>\Pi</math>는 그러한 <math>\pi</math>들의 집합이고, <math>B \in \pi</math>는 partition <math>\pi</math>의 한 'block'을 뜻하고, <math>\pi</math>의 cardinality는 'block'의 수, <math>B</math>의 cardinality는 'block' <math>B</math>의 size를 말한다.


위 식에서의 <math>f^{(\cdot)}(g(x)) \prod (g^{(\cdot)}(x))^\cdot</math>의 계수들('''Faà di Bruno coefficients''')
:<math>\frac {n!}{m_1! m_2! \cdots 1!^{m_1} 2!^{m_2}\cdots}</math>
은 정수 <math>n</math>을
:<math>n=\underbrace{1+\cdots+1}_{m_1} \,+\, \underbrace{2+\cdots+2}_{m_2} \,+\, \underbrace{3+\cdots+3}_{m_3}+\cdots</math>
으로 나누는 partition의 수이며, Bell polynomial에도 나타난다. 참고로, Bell polynomial은 통계학의 [[누적량]](cumulant)과도 관계가 있다.


==Statement: for Multivariable==
위의 <math>\pi, \; \Pi, \; B</math>의 정의를 그대로 가져와 쓰면, <math>y=u(x_1 , x_2 ,\cdots , x_n)</math>라고 할 때,
:<math>\frac{\partial ^n}{\partial x_1 \cdots \partial x_n} f(y) = \sum_{\pi \in \Pi} f^{(|\pi|)}(y) \prod_{B\in\pi} \frac{\partial^{|B|}y}{\prod_{j\in B}\partial x_j}</math>
이다. 예를 들어 $n=3$이라고 하면
:<math>\begin{align}{\partial^3 \over \partial x_1\, \partial x_2\, \partial x_3}f(y) & = f'(y){\partial^3 y \over \partial x_1\, \partial x_2\, \partial x_3} \\ &  + f''(y) \left( {\partial y \over \partial x_1} \cdot{\partial^2 y \over \partial x_2\, \partial x_3} +{\partial y \over \partial x_2} \cdot{\partial^2 y \over \partial x_1\, \partial x_3} + {\partial y \over \partial x_3} \cdot{\partial^2 y \over \partial x_1\, \partial x_2}\right) \\ &  + f'''(y) {\partial y \over \partial x_1} \cdot{\partial y \over \partial x_2} \cdot{\partial y \over \partial x_3} \end{align}</math>
이다.


또한, 변수가 중복된 경우에는 다음과 같다:
:<math>\partial_\tau f(y) = \sum_{\tau = \bigcup \tau_i} M f^{(|\tau|)} (y) \prod_{i} \partial_{\tau_i} y</math>
이때 <math>\tau</math>는 multiset이며, <math>\partial_{\tau = \{ \underbrace{1, \cdots , 1}_{k_1}, \cdots, \underbrace{n, \cdots , n}_{k_n}\}} = {\partial^{\sum k_i} \over  \prod_i \partial x_i^{k_i}}</math>이고, <math>\bigcup\tau_i</math>는 multiset으로서의 합집합을 나타낸다. 또한 <math>|\tau|</math>는 <math>\tau = \bigcup\tau_i</math>로 쪼개었을 때의 partition의 수를 말하며, multiplicity <math>M</math>는


우리는 이 식을 이용하여 역함수의 <math>n</math>-계 도함수의 'linear recurrence'를 얻을 수 있다.
<!--
=람다 계산=
{{학술}}
[[분류:람다 계산]]
{{넘겨주기 있음|람다 대수|람다 연산|람다 계산법|받침=예}}


==Proof==
'''람다 계산'''(람다 대수, 람다 연산, 람다 계산법; {{llang|1=en|2=lambda calculus}})은 수리논리학과 이론 컴퓨터과학에서 사용하는 형식 체계(formal system)로, 함수의 정의, 적용, 재귀 등을 치환, 바인딩(binding) 등을 이용하여 추상화한다. [[알론조 처치]]가 1930년대 처음 발표하였다.
우리는 다음의 두 가지 point에 집중할 것이다:
*<math>\frac{\partial^n}{\partial x_1 \cdots \partial x_n}</math>, 같은 변수들도 일단 index를 다르게 하고 미분했을 때의 식. 우변의 계수는 모두 1일 것이다.
*앞의 결과에서 동류항을 정리. 예를 들면, 만약 <math>n=3</math>일 때 <math>x_2 = x_3</math>이라면, 다음 두 항은 '중복도 2의' 한 항으로 합쳐지게 된다:
::<math>\frac{\partial y}{\partial x_2}\frac{\partial^2 y}{\partial x_1\partial x_3} + \frac{\partial y}{\partial x_3}\frac{\partial^2 y}{\partial x_1\partial x_2} = 2\frac{\partial y}{\partial x_2}\frac{\partial^2 y}{\partial x_1\partial x_2}.</math>
:이런 '중복된 항의 수'를 구하는 데 초점을 둔다.


먼저 다음의 <math>\{1, \cdots, n+1\}</math>partition을 만드는 inductive한 방법(algorithm)을 생각하자: <math>\pi_n</math>를 <math>\{1, \cdots, n\}</math>의 partition이라고 할 때,  
== 역사 ==
* <math>\pi_{n+1} = \pi_n \cup \{\{n+1\}\}</math>,
[[라이프니츠]]는 다음과 같은 생각을 가지고 있었다.
* <math>\pi_{n+1} = \pi_n \setminus \{B\} \cup \{B \cup \{n+1\}\}</math> for some <math>B\in \pi_n</math>.
* 모든 문제들이 서술될 수 있는 '보편적인(universal) 언어'를 만들어라.
* 위의 언어로 서술된 모든 문제를 해결할 수 있는 방법을 찾아라.
첫 번째 것은, 만약 수학적인 문제만으로 제한한다면, [[러셀]]과 [[프레게]] 등에 의한 '집합론'공리적 서술로 인하여 꽤 만족스러운 결과를 얻었다고 할 수 있다. 하지만 두 번째 것은, 당연히 안 될 것 같지만, 그 증명이 명확하지 않았다. (이는 [[힐베르트]]에 의하여 ''Entscheidungsproblem''로 불리게 된다. 직역하면 ''결정 문제''이다.) 이것은 1930년대에 [[알론조 처치]]와 [[앨런 튜링]]에 의하여 각각 독립적으로 해결되는데, 그 답은 [[처치-튜링 명제]]가정할 때<ref>Church-Turing 명제는 다음을 말한다: 알고리듬으로 계산 가능함과 튜링 기계로의 계산 가능성은 동치이다. 이와 동치 명제로, 알고리듬으로 계산 가능함과 lambda calculus로 표현 가능함은 동치이다.)</ref> '''No'''이다. 튜링은 후에 이 두 방법으로의 ''계산 가능성'', 즉 계산 가능한 함수들의 모임이 서로 같음을 보였다.
람다 계산이 고안된 이후로, 람다 연산에 기반한 ''함수 프로그래밍 언어''(functional programming language)가 만들어졌다. ''Reduction machine''은 이런 functional language의 실행을 위하여 고안되었다.


이 두 가지 방법으로 모든 <math>\{1, \cdots , n+1\}</math>의 partition을 만들 있음은 당연하다. 이제 다음을 귀납적으로 보이자:
== 이해 ==
:<math>\frac{\partial ^n}{\partial x_1 \cdots \partial x_n} f(y) = \sum_{\pi} f^{(|\pi|)}(y) \prod_{B\in\pi} \frac{\partial^{|B|}y}{\prod_{j\in B}\partial x_j}.</math>
Lambda calculus는 함수의 계산을 조금 더 간편하게 나타내는 표기이다. 간단히 말하면, 대수학에서 잊을 만하면 한 번씩 나오는 'evaluation'과 비슷한 개념이라고 할 있다. 예를 들어, <math>x</math>에 대한 식 <math>x^2 - \sin x</math>가 있다고 하자. 이는 다음과 같은 함수를 나타내기도 한다:
이때, <math>n\ge 0</math>이다. 만약 <math>n=0</math>이면, 다른 경우와 같이 <math>\pi</math><math>\{1, \cdots, n\}</math>의 특정한 non-empty subset들을 모은 것인데 <math>\{1, \cdots , n \} = \emptyset</math> if <math>n=0</math>에서 <math>\pi</math>는 아무 원소도 가질 수 없고, 즉 <math>\pi=\emptyset</math>으로 보는 것이 타당하다. 이에 따라 <math>n=0</math>일 때에 <math>f(y) = f(y)</math>로 성립한다.
:<math>x \mapsto x^2 - \sin x.</math>
 
이 함수를 lambda calculus에서는
이제 다음 전개를 보자:
:<math>\lambda x. x^2 - \sin x</math>
:<math>\frac{\partial^{n+1}}{\partial x_1 \cdots \partial x_{n+1}} f(y)
로 나타낸다.<ref><math>\lambda x[x \mapsto x^2 - \sin x]</math>로 나타내기도 한다.</ref> 그리고 이 함수의 <math>x=a</math>에서의 함숫값을
\\= \frac \partial {\partial x_{n+1}} \sum_{\pi} f^{(|\pi|)}(y) \prod_{B\in\pi} \frac{\partial^{|B|}y}{\prod_{j\in B}\partial x_j}
:<math>(\lambda x. x^2 - \sin x)a</math>
\\= \sum_{\pi} \left[ f^{(|\pi|+1)}(y) \frac {\partial y} {\partial x_{n+1}}  \cdot \prod_{B\in\pi} \frac{\partial^{|B|}y}{\prod_{j\in B}\partial x_j}+f^{(|\pi|)}(y) \frac {\partial y} {\partial x_{n+1}} \prod_{B\in\pi} \frac{\partial^{|B|}y}{\prod_{j\in B}\partial x_j}\right]
나타낸다. 예를 들어 <math>(\lambda x.x^2 - \sin x)\pi = \pi^2 - \sin \pi = \pi^2</math>이다. 이 λ-연산자는
\\= \sum_{\pi} \left[ f^{(|\pi|+1)}(y) \frac {\partial y} {\partial x_{n+1}}  \cdot \prod_{B\in\pi} \frac{\partial^{|B|}y}{\prod_{j\in B}\partial x_j}+f^{(|\pi|)}(y) \sum_{B\in\pi} \left( \frac{\partial^{|B|+1}y}{\partial x_{n+1}\prod_{j\in B} \partial x_j} \cdot \prod_{B\ne C\in \pi}\frac{\partial^{|C|}y}{\prod_{j\in C} \partial x_j} \right)\right]
-->
</math>
여기서 각각의 partition <math>\pi</math>에 대해, 괄호 안의 두 항은 각각 inductively partition을 만드는 두 방법에 대응된다. 즉 위의 식은 <math>n+1</math>에서의 모든 partition에 대한 sum이 되고, 즉 증명이 완료된다.
 
이제 중복된 경우의 중복도를 생각해보자.

2016년 9월 11일 (일) 00:08 기준 최신판

미분 갈루아 이론[편집 | 원본 편집]