gpt4 book ai didi

c++ - 在 Eigen C++ : mix complex matrix and real matrix

转载 作者:太空宇宙 更新时间:2023-11-04 16:05:28 27 4
gpt4 key购买 nike

我想将实数矩阵添加到复数矩阵并将结果存储在另一个复数矩阵中。 Eigen 好像不支持这样的操作。以下代码在编译阶段失败。我想使用这个特性的原因是,在模板函数中,一个输入矩阵可以是实数或复数,我想要一个统一的代码来处理它。为什么 Eigen 不支持这样的操作?

int main(){
MatrixXd A(2,2);
MatrixXcd B(2,2);
A << -1, -2, -3, -4;
B.real() << 1, 2, 3, 4;
B.imag() << 5, 6, 7, 8;

MatrixXcd C(2, 2);
C = B + A;

return 0;
}

最佳答案

您应该阅读错误消息。它们会帮助您认识到数据类型之间没有默认转换。为了显式地转换 double矩阵到 std::complex<double>你会写的矩阵:

C = B + A.cast<std::complex<double>>();

关于c++ - 在 Eigen C++ : mix complex matrix and real matrix,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36379513/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com