gpt4 book ai didi

wolfram-mathematica - 如何在 Mathematica 中为矩阵乘法重载 Times 和 Plus

转载 作者:行者123 更新时间:2023-12-01 13:02:17 27 4
gpt4 key购买 nike

我想在mathematica中重载TimesPlus进行矩阵乘法,例如让TimesBitAnd,Plus 为 BitOr,然后进行矩阵乘法。

有没有一种简单的方法可以做到这一点,而无需重写我自己的矩阵乘法?

谢谢。

最佳答案

问题是您想要更改什么 - TimesPlusDot 的行为。通常,Block 技巧通常是最简单的方法。在这种情况下,由于 Dot 不调用高级 PlusTimes,您可以:

mat1 = {{1,2},{3,4}};
mat2= {{5,6},{7,8}};
Block[{Dot = Inner[BitAnd,#1,#2,BitOr]&},
mat1.mat2]

{{3,0},{5,2}}

但请注意,这实际上是在重新实现矩阵乘法(使用 Inner)- 没有其他方法,因为 Dot 是在内部实现的并且不使用 >PlusTimes

关于wolfram-mathematica - 如何在 Mathematica 中为矩阵乘法重载 Times 和 Plus,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5252179/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com