У меня есть скалярная функция, написанная на Фортране, которую я использую в Mathematica через небольшой модуль mathlink.Я хочу, чтобы эта функция вела себя как можно ближе к нативной функции Mathematica, включая обработку символьных констант.
Много раз мне хотелось написать какое-то выражение в mathematica с символическими константами / переменными, которые будут замененыпоследний со списком правил замены.Тем не менее, Mathematica немедленно пытается оценить мою функцию mathlink с символическими аргументами на месте, и это, очевидно, не удается.Например, даже следующее простое выражение потерпит неудачу
extf[a]/.a->5
Есть ли способ отложить оценку функции до тех пор, пока все символические аргументы не будут заменены числами?
Один не такой элегантныйЯ использовал с некоторым успехом (но не приемлемо, если я хочу включить эту функцию в пакет mathematica общего назначения, чтобы поделиться с коллегами), чтобы оценить все с «фиктивной» ссылкой на внешнюю функцию, а затем использовать правило замены дляпоменяйте местами все фиктивные ссылки на реальные, одновременно оценивая все остальные числовые константы.например,
dummyf[a]/.{a->5,dummyf->extf}