我有一個用Fortran寫的標量函數,我在Mathematica中通過一個小數學模塊使用。我希望這個函數儘可能接近本地Mathematica函數,包括處理符號常量。Mathlink和延遲評估/變量
很多時候我希望在mathematica中用符號常量/變量寫一些表達式,這些符號常量/變量將被替換規則列表替換。然而,Mathematica立即嘗試用符號參數來評估我的數學運算函數,它顯然失敗了。例如,即使下面這個簡單的表達式將失敗
extf[a]/.a->5
是否有延遲功能的評價,直到所有的符號參數已替換爲數字的方式嗎?
一個不是很優雅的方式,我用了一些成功(但不能接受如果我希望將這個函數包含在通用mathematica包中以與同事共享),就是用一個「虛擬」引用來評估所有內容函數,然後使用替換規則將所有虛擬引用替換爲真實引用,同時我計算所有其他數字常量。例如
dummyf[a]/.{a->5,dummyf->extf}
你使用了什麼樣的參數模式?這是我的理解,如果參數模式不匹配函數返回未評估。在那一刻,替換應該踢進去,你的函數應該用一個數字參數來評估。 –