对于1d和Nd矩阵,Numpy.dot的Math.Net等效值是多少?
问题描述:
我在寻找Math.NET Numerics等效于Numpy.dot的非对称矩阵。对于1d和Nd矩阵,Numpy.dot的Math.Net等效值是多少?
np.dot:对于二维阵列,它相当于矩阵乘法,而一维阵列是向量的内积(无复共轭)。对于N维它是一个和积过的最后一个轴和第二个到最后B的:
import numpy as np
a = np.random.randn(2, 3) * 0.01
b = np.random.randn(3, 1) * 0.01
a
array([[ 0.01543693, 0.0090974 , 0.00835993],
[ 0.00475191, 0.00953389, -0.00854795]])
b
array([[ 0.00853528],
[ 0.00428625],
[-0.0110117 ]])
np.dot(a, b)
array([[ 7.86952720e-05],
[ 1.75551012e-04]])
我曾尝试:Matrix<float>.op_DotMultiply
等各种方式,但没有得到什么,我找。
答
好了,好了,对我来说,点积和*不同的东西:
using MathNet.Numerics.LinearAlgebra;
using MathNet.Numerics.LinearAlgebra.Double;
Matrix<double> a = DenseMatrix.OfArray(new double[,]
{
{ 0.01543693, 0.0090974, 0.00835993 },
{ 0.00475191, 0.00953389, -0.00854795 }
});
Matrix<double> b = DenseMatrix.OfArray(new double[,]
{
{ 0.00853528 },
{ 0.00428625},
{ -0.0110117 }
});
Console.WriteLine("{0:0}", (a * b).ToString());
给出:
DenseMatrix 2x1-Double
7.86952E-05
0.000175551
所以Numpy.dot相同Math.Net M * M
用于非对称矩阵?这对我来说毫无意义!