【发布时间】:2020-12-15 12:22:03
【问题描述】:
我正在尝试在 C# 中的矩阵 4x4 和向量 4x1 之间进行 dot 乘法。
如果我尝试使用using MathNet.Numerics.LinearAlgebra;
Matrix<double>.op_DotMultiply(matrixABuilder.DenseOfArray(A), matrixPBuilder.DenseOfArray(P));
其中A 是4x4 和P 的矩阵,定义为4x1,我收到下一个错误>System.ArgumentException: 'Matrix dimensions must agree: op1 is 4x4, op2 is 4x1. (Parameter 'other')'
如果我从矩阵P 转换为向量然后计算(现在P 是double[] 的向量)>
Matrix<double>.op_DotMultiply(matrixA.DenseOfArray(A),vectorPBuilder.Dense(P));
然后我得到错误
Cannot convert from 'MathNet.Numerics.LinearAlgebra.Vector<double>' to 'MathNet.Numerics.LinearAlgebra.Matrix<double>'
我必须如何获得这种乘法的结果,才能获得4x1 数据的数组? (在 Python 中 numpy.dot() 工作正常,在 C# 中则不行)。
【问题讨论】:
标签: c#