1

我刚开始考虑使用提供的 SWIG 绑定让 QuantLib 与我们的 C# 项目一起工作。

我现在有一些工作,但我正在尝试设置一个矩阵,然后对其执行 Cholesky 分解。此例程存在于 Quantlib 中(在http://quantlib.org/reference/class_quant_lib_1_1_matrix.html#ae99bf007dfbac44521a082ca343c4160中搜索 Cholesky ),但 C# 似乎完全找不到它。

我尝试在 Using 子句中直接使用 QuantLib 调用,并在输入代码CholeskyDecomposition(myMatrix)后扫描 Intellisense 建议的列表。QuantLib.

扫描 SWIG 文件后,我在任何地方都看不到文本中提到的 Cholesky,这让我怀疑这个电话可能不包括在内。

由于我们即将决定是否开始使用这个库,因此我想检查 SWIG 文件是否有完整的 QuantLib 调用集,如果没有,是否有 C++ 代码中的调用列表但不是由 SWIG 处理?(当然,如果 SWIG 确实包含 Cholesky 调用,那么如何实际调用它也会有所帮助!)

4

1 回答 1

1

不,SWIG 绑定不是功能完整的。为 C++ 库提供新功能的贡献者并不总是提供绑定(或者不能;不是每个人都熟悉 SWIG 以及我们在接口中使用的技巧),因此他们落后了。功能是分段添加的:有时用户需要缺少的功能,将其导出并提供;或者其他时候,有人要求一个缺少的功能,有人找时间写它。如您所料,第一种情况更为常见。

据我所知,没有未处理的呼叫列表。它会遇到同样的问题;向 C++ 库添加新功能的人必须记住保持同步...

于 2014-07-15T09:10:31.860 回答