在复杂的 LAPACK 例程中使用 std::complex

Use std::complex in complex LAPACK routines

我希望能够从我的 C++ 程序中使用 std::complex<double> 数据类型调用我的 Lapack 函数。我意识到 clapack 中的复杂数据类型已声明(至少在 <Accelerate>-Framework 中我的 Mac 上是

typedef struct { __CLPK_real r, i; } __CLPK_complex;

但我无法想出一种方法来 use/cast std::complex 变量,以便它们可以被 lapack 处理。谢谢!

原来 __CLPK_doublecomplex 对应于 std::complex<double>,因此我可以将 STL 类型转换为 <accelerate>(即 Lapack)数据类型。