Я хочу перегрузить Times и Plus для умножения матриц в Mathematica, например, пусть Times будет BitAnd, а Плюс будет BitOr, затем умножим матрицу.
Times
Plus
BitAnd
BitOr
Есть ли способ сделать это простым способом, без переписывания моего умножения матриц?
Спасибо.
Вопрос в том, что вы хотите изменить - поведение Times и Plus, или Dot.Как правило, Block трюк часто является самым простым способом.В этом случае, так как Dot не вызывает высокоуровневые Plus или Times, вы можете сделать:1011 *) - другого пути нет, поскольку Dot реализован внутри и не использует Plus или Times.
Dot
Block