我无法使用gsl_matrix
因为我的应用程序是闭源的,并且根据 this question ,如果我直接使用 GPL 代码,我就必须将我的应用程序开源。这是上级的禁忌。
那么...Boost,甚至更好的是 TR1,是否有一个包含与 gsl_matrix
等价的类的库, gsl_vector
以及 GNU Scientific Library 中的其他类型?如果有这样的类,它们是如何调用的?
编辑:我需要:
- 执行密集矩阵 vector 乘积和求和(如
gsl_blas_dgemv
和gsl_blas_dgemm
执行的操作) - (可选)解决 quadratic programming模型。
最佳答案
首先,有C interface for BLAS/LAPACK 。有些人发现处理直接反射(reflect)原始 BLAS 签名的调用签名“很难”。
如果您更喜欢事物更奇特的一面,那么 Boost uBLAS interface ,有Armadillo ,仅举两个例子。就性能而言,您的里程可能会有所不同。
关于c++ - Boost或TR1相当于gsl_matrix等,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12501927/