首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何处理本征(C++)中的复数?

如何处理本征(C++)中的复数?
EN

Stack Overflow用户
提问于 2018-04-20 22:59:32
回答 1查看 6.7K关注 0票数 3

我正在成功地与艾根合作,我试图用复数来理解一些细节。

  1. 如何将矩阵或向量乘以复常数?乘成复矩阵很容易;同样地,与复向量和矩阵的内积一样。
  2. 如何将复值赋给矩阵元素?我试过:

这很好()

代码语言:javascript
复制
kx.real()(0, 0) = 1.0;

这会引发编译器错误。

代码语言:javascript
复制
kz_r.imag()(0, ii) =1.0

我得到的错误是:

严重程度代码描述项目文件行抑制状态错误C2440‘返回’:不能从'double‘转换为'double &’\eigen\src\mathfunctions.h.h 919

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-04-21 07:57:35

只需使用std::complex<double> (或float):

代码语言:javascript
复制
std::complex<double> c(1,1);
Eigen::MatrixXd R1; R1.setRandom(2,2);
Eigen::MatrixXcd C1 = c*R1; // multiply complex*real
Eigen::MatrixXcd C2 = c*C1; // complex scalar times complex matrix
C1(0,0) = c; // assign complex value.
票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49950708

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档