繁体   English   中英

C# Matrix*Vector = DotProduct 使用 MathNet 库

[英]C# Matrix*Vector = DotProduct Using MathNet Library

我目前正在 C# 上构建一个前馈神经网络库,并且正在努力处理矩阵乘法。

对于那些熟悉 MathNet 库的人; 是否有一个现有的 function 可以接受矩阵和向量(或相反)并返回标量作为点积?

提前致谢。

在此处输入图像描述

你是对的,它似乎没有现有的功能。 您可以使用以下内容:

double dotproduct = 0;
for (i = 0; i <= m.ColumnCount; i++) {
    dotproduct += m.Column(i).DotProduct(v);
}

在 MathNet 中对两个向量进行点积的解决方案(无法弄清楚如何用矩阵来做)

安装 MathNet.Spatial nuget

using MathNet.Spatial.Euclidean;

那么...

在此处输入图片说明

Vector3D结构体来自空间 ecluidian 命名空间

mat.net.numerics 中两个向量对象之间的 * 运算符是它们的点积。

此外,如果将一个 mxn 矩阵与一个长度为 n 的向量相乘,您将得到矩阵的每一行与 output 中的向量的标量点积结果。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM