F# 和 ILNumerics

问题描述

我刚刚下载了 ILNumerics 的最新版本,可用于我的 F# 项目。是否可以在 F# 中利用这个库?我尝试过简单的计算,但看起来很麻烦(在 F# 中)。

我想设置一个有约束(甚至无约束)的优化问题。通常的 Rosenbrock 函数会做,然后我将使用我自己的函数。我什至很难定义一个数组。我可以定义的唯一类型的数组是 RetArray,例如使用此代码

let vector = ILMath.vector<float>(1.0,2.0)

编译器表示 vector 是一个 RetArray;我认为这是因为它是从函数返回的(即:ILMath.vector)。如果我定义另一个类似的向量,我可以 -e.g.- 求和向量,简单地写,例如

let a = ILMath.vector<float>(1.0,2.0)
let b = ILMath.vector<float>(3.2,2.2)
let c = a  + b 

我明白了

RetArray<float> = seq [4.2; 4.2]

但是如果我尝试检索 c 的值,再次写入,例如在 FSI 中,

c;;

我明白

错误:未将对象引用设置为对象的实例。

在 F# 中使用 ILNumerics 的建议方法是什么?是否可以在 F# 中本地使用该库,或者我被迫从 C# 库调用我的 F# 代码以使用整个 ILNumerics 库?除了引用的问题之外,当我在 F# 中移植时,我在理解 ILNumerics 的基本逻辑方面存在问题。

例如,与示例代码中使用作用域的 C# 等效的 F# 是什么,如:

using (ILScope.Enter(inData)) { ...

}

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)