NumPy复数数组赋值后虚部丢失仅保留实部问题咨询
问题原因
np.identity() 函数默认生成的数组数据类型为浮点型(float64),该类型仅支持存储实数。当你向浮点型数组中写入复数时,NumPy会执行隐式类型转换,直接丢弃复数的虚部,仅保留实部存入数组,这就是虚部丢失的核心原因。
解决方案
初始化单位矩阵时显式指定数据类型为复数类型即可,修改初始化B的代码为:
B = np.identity(5, dtype=np.complex128)
修改后再执行原有的循环赋值逻辑,即可完整保留计算结果的实部和虚部。
- 你也可以使用
np.eye(5, dtype=np.complex128)实现相同的复数单位矩阵初始化效果。
内容的提问来源于stack exchange,提问作者Don P.
相关产品推荐
相关产品推荐

