4
在試圖將以下C#代碼轉換爲F#時,我正在努力使用'using'關鍵字。以下片段來自ILNumerics庫。如何翻譯以下內容?將C#'使用'關鍵字轉換爲F#
ILRetArray<double> ObjFuncBFGS2D(ILInArray<double> X) {
using (ILScope.Enter(X)) {
return X[0] * X[0] + X[1] * X[1] + 2;
}
}
在附註中,F#人傾向於使用哪些庫進行優化?我一直在使用NLoptNet,但在Matlab和Julia和Python中正確收斂的例程中存在着非常奇怪的收斂問題。因此,無論是我的F#翻譯問題(更可能的話)或優化庫。這是我希望能夠確定的。坦率地說,我對因特網上缺乏與F#相關的數值優化材料感到有些驚訝。
F#有'using'(和'use') – Sehnsucht
如果我沒有記錯,那麼'use/using'是你的問題中最少的。 ILNumerics利用了'ILArray','ILInArray'和'ILRetArray'之間的很多隱式轉換,這些轉換在C#中不會產生很多障礙,但需要在F#中進行顯式轉換。你可能需要定義一堆幫助函數來在這些函數之間進行轉換,以便完成任何事情。 – TheInnerLight
@TheInnerLight任何建議都限制/不受限制的F#優化庫? –