मैं सीखना चाहता हूं कि कैसे optim(..., hessian=TRUE)
एक हेसियन की गणना करता है, इसलिए मैंने फ़ंक्शन की परिभाषा पर एक नज़र डाली। अपने अंत के पास, यह .External2()
को यह कॉल में शामिल हैं:.xternal2() द्वारा कोडित कोड का पता कैसे लगाएं?
if (hessian)
res$hessian <- .External2(C_optimhess, res$par, fn1,
gr1, con)
ऐसा लगता है कि C_optimhess
नामित एक बाहरी सी फ़ंक्शन की कॉल है जैसे, इसलिए मैं C_optimhess
के लिए R स्रोत निर्देशिका d grep
, लेकिन आया emptyhanded। आर के कोड बेस में उस स्ट्रिंग की केवल दो घटनाएं हैं, optim
में से एक और optimHess
में से एक है। दोनों कार्यों को $R_SOURCE_DIR/src/library/stats/R/optim.R
में परिभाषित किया गया है, और उस फ़ाइल में कोई अतिरिक्त संकेत/टिप्पणियां/संदर्भ शामिल नहीं हैं।
optim
की सहायता फ़ाइल संदर्भ कोड जिस पर फ़ंक्शन की ऑप्टिमाइज़ेशन विधियों पर आधारित थे, लेकिन C_optimhess
के स्रोत को इंगित नहीं करते हैं (ऐसा लगता है)।
इस तरह के मामले में, मुझे .External2
द्वारा सी कोड कहां से जाना चाहिए?
महान है, धन्यवाद! (इसके बारे में एक पंक्ति या दो "इस प्रश्न के आपके व्यापक रूप से व्यापक उत्तर के" संकलित कोड कॉल किए गए कार्यों "अनुभाग में एक अच्छा जोड़ा हो सकता है (http://stackoverflow.com/questions/19226816/how-can-i -व्यू-द-सोर्स-कोड-फॉर-ए-फ़ंक्शन/1 9 226817 # 1 9 226817)।) –
@ जोशो'ब्रायन: किया गया; और यह अंततः समुदाय विकी है, क्योंकि यह शुरुआत से ही होना चाहिए था (लेकिन मुझे इसे सीडब्ल्यू के रूप में चिह्नित करने की अनुमति नहीं थी)। –