我刚刚开始考虑使用提供的 SWIG 绑定(bind)让 QuantLib 与我们的 C# 项目一起工作。
我现在一切正常,但我正在尝试建立一个矩阵,然后对其执行 Cholesky 分解。这个例程存在于 Quantlib 中(在 http://quantlib.org/reference/class_quant_lib_1_1_matrix.html#ae99bf007dfbac44521a082ca343c4160 中搜索 Cholesky),但 C# 似乎完全无法找到它。
我尝试在 Using 子句中使用 QuantLib 直接调用 CholeskyDecomposition(myMatrix)
,并在代码中键入 QuantLib.
后扫描 Intellisense 建议的列表。
扫描 SWIG 文件后,我在文本中的任何地方都看不到 Cholesky,这让我怀疑这个调用可能不包括在内。
由于我们即将决定是否开始使用这个库,因此我想检查 SWIG 文件是否有完整的 QuantLib 调用集,如果没有,是否有调用列表C++ 代码但不由 SWIG 处理? (当然,如果 SWIG 确实包含 Cholesky 调用,那么如何实际调用它也会有所帮助!)
最佳答案
不,SWIG 绑定(bind)的功能不完整。为 C++ 库提供新功能的贡献者并不总是提供绑定(bind)(或者不能;不是每个人都熟悉 SWIG 和我们在接口(interface)中玩的技巧),所以他们落后了。功能是分段添加的:有时用户需要缺少的功能,将其导出并贡献;或者其他时候,有人要求缺少功能,有人找时间写它。如您所料,第一种情况更为常见。
据我所知,没有未处理调用的列表。它会遇到同样的问题;向 C++ 库添加新功能的人必须记住保持同步...
关于c# - QuantLib-SWIG 功能是否完整?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24740360/