Sympy Matrix M(modulo n)......怎么样?

问题描述 投票:2回答:2
import sympy

我试图在获取每个值(mod n)后找到一个矩阵。我知道numpy数组可以正常使用但不幸的是我必须使用sympy。有没有人知道一个内置的sympy函数可以做到这一点还是其他任何方式?谢谢!

B = sympy.Matrix([[2, 3], [4, 5]])
print(B % 3)

这是我的错误

TypeError: unsupported operand type(s) for %: 'MutableDenseMatrix' and 'int'

numpy这是正确的输出:

B = np.array([[2, 3], [4, 5]])
print(B % 3)

>>> [[2 0]
    [1 2]]
python matrix sympy modulus
2个回答
1
投票

您可以使用applyfunc将函数应用于每个元素:B.applyfunc(lambda x : x % 3)


0
投票

使用当前的SymPy,这有效:

>>> import sympy
>>> B = sympy.Matrix([[2, 3], [4, 5]])
>>> print(B % 3)
Matrix([[2, 0], [1, 2]])
© www.soinside.com 2019 - 2024. All rights reserved.