逐元素乘法和除法
每个矩阵元素对应相乘 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⎦