c++ - 为什么 uBLAS 没有 `operator*(matrix, vector)` ?

标签 c++ boost ublas boost-ublas

doc , 他们说

We decided to use no operator overloading for ...

他们为这些提供了 prod。但为什么?有什么好的理由吗?我喜欢做 matrix * vector(和大多数其他语言一样)。我想了解为什么他们没有重载此运算符以了解为什么自己做可能是个坏主意。或者,如果我自己重载,它们不会有任何缺点吗?

最佳答案

可能是因为 op* 在其他语言中,例如使用 Python 中的 Numpy,将始终是元素明智的。如果一个元素是矩阵而另一个元素是 vector ,它将尝试广播缺失维度中的所有元素。

关于c++ - 为什么 uBLAS 没有 `operator*(matrix, vector)` ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20056774/

相关文章:

c++ - 使用 cygwin 为 Windows 构建静态库

c++ - 将双单引号 (' ' ) 替换为单引号 (')

c++ - std::generate - 如何使用随机数生成器?

c++ - 在 C++ 中,我不知道为什么我的函数不返回结果

c++ - 使用 WaveIn 获得声音输出?

c++ - zLib inflate 在某些情况下结果为空

c++ - 使用 boost ptr_unordered_map

java - Boost序列化文本存档是跨语言的吗?

c++ - boost::numeric::ublas::vector 内部数据存储指针

C++ boost ublas + units 维数约束