在 Accelerate Framework 中将复数 (__CLPK_complex) 提升为指数

Raising a complex number (__CLPK_complex) to an exponent in the Accelerate Framework

我正在 Swift 中进行一些矩阵运算,并且我正在使用 Accelerate 框架来执行此操作。我需要能够有效地找到矩阵的权力。为此,我通过找到矩阵的特征值和特征向量(使用 dgeev_ 函数)对角化矩阵,然后我需要将特征值提高到相关的幂。我将特征值存储为 Accelerate.

中提供的 __CLPK_complex 类型

如何将这种类型的值提升为 Double 提供的幂?

我最终创建了一个包装器和一个协议来表示复数,并扩展了 __CLPK_complex 以符合它。然后我实现了 ^ 运算符并使用 De Moivre 定理计算所需的功率。