用于求解复杂线性系统的C ++库Ax = b

时间:2013-12-19 02:53:25

标签: c++ linear-algebra

我有兴趣求解稀疏复线性系统Ax = b其中A是复数的方阵,b是复数的向量。

如果可能的话,我希望这样的库可以模板化(为了便于安装和使用) ......本着Eigen

的精神

我检查了Eigen,但我认为它不支持求解具有复杂稀疏矩阵的线性方程,(尽管可以在复杂矩阵上创建并执行基本运算。)

有人向我建议的另一个技巧是,可以解决这个问题,通过使用(A1 + iA2)(x1 + ix2)=(b1 + ib2)这一事实来解决两倍尺寸的扩展系统 但我更喜欢一些简单的黑匣子来完成工作。

有什么建议吗?

1 个答案:

答案 0 :(得分:0)

将其转移到尺寸为两倍的实值系统可能是最直接的方式。您可以编写适配器来打包转换逻辑。也可以尝试这个:http://trilinos.sandia.gov/packages/docs/r4.0/packages/komplex/doc/html/