如何使用gonum/go创建含complex128元素的矩阵?
创建含complex128元素的矩阵实例
你想要的复数版本矩阵其实在gonum库中已经有现成实现啦,对应float64类型Dense矩阵的是CDense类型,用mat.NewCDense就能创建,用法和你熟悉的NewDense几乎一模一样。
你原来的float64矩阵代码:
matrix := mat.NewDense(2, 2, []float64{0, 0, 0, 3})
对应的complex128版本代码直接改成这样就行:
matrix := mat.NewCDense(2, 2, []complex128{0, 0, 0, 3i})
这里有几个小细节需要注意:
- 要确保已经正确导入gonum的mat包:
import "gonum.org/v1/gonum/mat" - 复数字面量的写法要规范,比如纯虚数
3i是合法的,带实部的复数可以写成1+2i这种形式 CDense的方法和Dense对齐,但所有运算都会适配复数逻辑,比如矩阵乘法、加法都会按照复数规则计算
如果需要了解更多CDense的操作方法,可以直接查看库的内置文档,核心的创建逻辑就是上面这样,完全符合你想要的写法~
内容的提问来源于stack exchange,提问作者user8002239
相关产品推荐
相关产品推荐

