Jacobian

Robotics나 Computer Animation에서 Invers Kinematics를 풀 때 많이 나오는 Jacobian에 대해서 알아보자.

Jacobian은 19세기 독일 수학자
Carl Gustav Jacobi에 의해서 제안되었다. 보통 the Jacobian이라고 하면, Jacobian matirx나 Jacobian determinant를 나타낸다.

n개의 변수들,  x_1, ..., x_n 안에서 n개의 방정식들의 집합 y==f(x)가 아래와 같이 명시적으로 주어질 때, 

y=[f_1(x); f_2(x); |; f_n(x)],
(1)

혹은 좀 더 명확하게, 

{y_1==f_1(x_1,...,x_n); |; y_n==f_n(x_1,...,x_n),
(2)

Jacobian 행렬은 (때때로 단순히 Jacobian이라고 불린다) 아래와 같이 정의된다.

J(x_1,...,x_n)==[(partialy_1)/(partialx_1) ... (partialy_1)/(partialx_n); | ... |; (partialy_n)/(partialx_1) ... (partialy_n)/(partialx_n)].
(3)

J행렬식은 Jacobian determiant이며 (헷갈리게도 흔히 the Jacobian이라고도 불린다) 아래와 같이 나타낸다.

J==|(partial(y_1,...,y_n))/(partial(x_1,...,x_n))|.
(4)

미분을 취해보면, 

dy==y_(x)dx
(5)

Jy_(x)행렬행렬식임을 보여주고,  yx안의 n차원의 부피의 비를 준다.

dy_1...dy_n==|(partial(y_1,...,y_n))/(partial(x_1,...,x_n))|dx_1...dx_n.
(6)

그러므로 이 미분은 change of variables theorem에 나타난다.

Jacobian의 개념은 n개 이상의 변수들 안에 있는 n개의 함수들에 적용될 수도 있다. 예를 들어, f(u,v,w)g(u,v,w)를 고려해보면, Jacobian은 아래와 같이 정의된다. (Kaplan 1984, p. 99).

(partial(f,g))/(partial(u,v))=|f_u f_v; g_u g_v|
(7)
(partial(f,g))/(partial(u,w))=|f_u f_w; g_u g_w|
(8)

n = 3인 변수들의 경우에, Jacobian은 특별한 형태를 갖는다.

Jf(x_1,x_2,x_3)=|(partialy)/(partialx_1).(partialy)/(partialx_2)x(partialy)/(partialx_3)|,
(9)

여기서  a.b내적이고 bxc외적이며, 위 식은 아래와 같이 확장될 수 있다.

댓글

Designed by JB FACTORY