【问题标题】:ilnumerics matrix multiplication operator数字矩阵乘法运算符
【发布时间】:2014-04-09 02:41:37
【问题描述】:

Ilnumerics 很棒,我真的很喜欢它。但是,矩阵乘法运算符 * 设置为 ILMath.multiplyElem,即元素智能乘法。 我想知道为什么不把它做成ILMath.multiply,与matlab一致的普通矩阵乘法,使用起来更自然。 在数学中,逐元素乘法很少使用。 我认为将 * 行为更改为普通矩阵乘法会更好。

【问题讨论】:

  • 这是一个问题或建议吗?
  • 这是给 ILNumerics 团队的建议

标签: c# ilnumerics


【解决方案1】:

这里只是一些非常常见的例子,你的建议会不太方便:

ILArray<double> A = rand(100,200) * 10 - 5; 

// square of A
A = A * A; 

// multidimensional arrays
rand(10,20,5) * ...

// vector expansion
B = A * linspace(0.0, 9.0, 100); 

在数学中,逐元素乘法很少使用

你对此持肯定态度吗?我想这在很大程度上取决于域。

已经讨论了这个决定。你的建议将是一个重大的突破性变化。但是你可以打开一个功能请求并为它收集投票:

http://ilnumerics.net/mantis

【讨论】:

  • 嗨,我确信在数学中,元素明智的乘法很少使用。我是一名数据科学家,看到大多数论文都使用矩阵乘法。实际上,在您的示例中,很少使用简单的 A 元素平方。我强烈建议您考虑一下。想想为什么在 matlab 中他们选择 .* 而不是 * 进行矩阵元素乘法?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-09-29
  • 2012-11-24
  • 1970-01-01
  • 2012-03-09
  • 1970-01-01
相关资源
最近更新 更多