导航

Gonum矩阵计算 - 逐元素乘法和除法

Posted on 2022-04-28 19:25  蝈蝈俊  阅读(291)  评论(0编辑  收藏  举报

逐元素乘法和除法

每个矩阵元素对应相乘 element-wise multiplication
需要两个矩阵的形状完全一样。

比如下面的示例代码

a := mat.NewDense(2, 3, []float64{
	1, 2, 3,
	4, 5, 6})
b := mat.NewDense(3, 2, []float64{
	6, 8,
	6, 8,
	6, 8})
var c mat.Dense
c.Mul(a, b)
fmt.Printf("%v\n\n", mat.Formatted(&c))

d := mat.NewDense(2, 3, []float64{
	1, 2, 3,
	4, 5, 6})
var e mat.Dense
e.MulElem(a, d)
fmt.Printf("%v\n\n", mat.Formatted(&e))

var f mat.Dense
f.DivElem(a, d)
fmt.Printf("%v\n\n", mat.Formatted(&f))

输出

⎡ 36   48⎤
⎣ 90  120⎦

⎡ 1   4   9⎤
⎣16  25  36⎦

⎡1  1  1⎤
⎣1  1  1⎦