R 에서 야코비 행렬 헤세 행렬 구하는 법
📂RR 에서 야코비 행렬 헤세 행렬 구하는 법
코드
R 에서 야코비 행렬과 헤세 행렬을 구하기 위해서는 numDeriv
패키지의 jacobian()
함수와 hessian()
함수를 사용한다.
install.packages("numDeriv")
library(numDeriv)
f <- function(v) {c(v[1]^2 + v[2]^2 - 1,
sin(pi*v[1]/2) + v[2]^3)}
g <- function(v) {(v[1])^3+(v[2])^2}
jacobian(f, c(1,1))
hessian(g, c(1,1))
위 코드를 실행시킨 결과는 다음과 같다. 위는 f(x,y):=[x2+y2−1sin2πx+y3] 의 야코비 행렬에 x=y=1 을 대입한 결과, 아래는 g(x,y):=x3+y2 의 헤세 행렬에 x=y=1 을 대입한 결과다.
실제로 f 의 야코비 행렬은 J=[2x2πcos2πx2y3y2] 이므로 J(1,1)=[2023] 이 구해졌고, g 의 헤세 행렬은 H=[6x002] 이므로 H(1,1)=[6002] 이 구해졌음을 확인할 수 있다.