Я хочу добавить реальную матрицу к сложной матрице и сохранить результат в другой сложной матрице. Похоже, 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;
}