в доктор, они говорят
Мы решили не использовать перегрузку операторов для …
Они предоставляют prod
вместо этого. Но почему? Есть ли веская причина? я люблю делать matrix * vector
(как и в большинстве других языков). Мне нравится понимать, почему они не перегружают этот оператор, чтобы понять, почему может быть плохой идеей просто сделать это самому. Или нет ли у них недостатков, если я сам это перегрузлю?
Наверное, потому что op*
на других языках, например с Numpy в Python, всегда будет поэлементным. В случае, если один элемент является матрицей, а другой — вектором, он попытается передать все элементы в отсутствующем измерении.
Других решений пока нет …