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]が得られたことが確認できる。