Sympy 矩阵 M(模 n)...如何?
Sympy Matrix M (modulo n)... How?
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]]
您可以使用 applyfunc 将函数应用于每个元素:
B.applyfunc(lambda x : x % 3)
对于当前的 SymPy 这有效:
>>> import sympy
>>> B = sympy.Matrix([[2, 3], [4, 5]])
>>> print(B % 3)
Matrix([[2, 0], [1, 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]]
您可以使用 applyfunc 将函数应用于每个元素:
B.applyfunc(lambda x : x % 3)
对于当前的 SymPy 这有效:
>>> import sympy
>>> B = sympy.Matrix([[2, 3], [4, 5]])
>>> print(B % 3)
Matrix([[2, 0], [1, 2]])