optim(..., hessian=TRUE)
'un Hessian'ı nasıl hesapladığını öğrenmek istiyorum, bu yüzden işlevin tanımına bir göz attım. sonuna yakın otelde .External2()
bu çağrıyı içerir: C_optimhess
adında bir harici C işlevine bir çağrı var gibi.External2() tarafından çağrılan kod nasıl bulunur?
if (hessian)
res$hessian <- .External2(C_optimhess, res$par, fn1,
gr1, con)
görünüyor, bu yüzden 'C_optimhess
R kaynak dizini d grep
ama geldi emptyhanded. R'nin kod tabanında, optim
'dan birinde ve optimHess
'dan birinde bu dizenin yalnızca iki tekrarı vardır. Her iki işlev de $R_SOURCE_DIR/src/library/stats/R/optim.R
'da tanımlanmıştır ve bu dosyada ek ipucu/yorum/referans bulunmamaktadır.
optim
Yardım dosyası, işlevin en iyi duruma getirme yöntemlerinin birkaçının temel aldığı, ancak C_optimhess
kaynağına işaret etmediği kodları referans alır.
Böyle bir durumda, .External2
tarafından çağrılan C kodunu nerede bulabilirim?
Harika, teşekkürler! (Bununla ilgili bir çizgi veya iki [bu soruya gittikçe artan kapsamlı cevabınızın] "derlenmiş kodu çağıran işlevler" bölümüne hoş bir ekleme yapabilir (http://stackoverflow.com/questions/19226816/how-can-i -görüntü-için-kaynak-kod-için-işlev/19226817 # 19226817).) –
@ JoshO'Brien: done; ve sonuçta en başından beri olması gerektiği gibi topluluk wiki'sidir (ancak bunu CW olarak işaretlemem). –