【问题标题】:Sympy Matrix M (modulo n)... How?Sympy Matrix M(模n)......如何?
【发布时间】:2018-03-12 22:17:34
【问题描述】:
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


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

      使用当前的 SymPy 可以:

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

      【讨论】:

        猜你喜欢
        • 2023-02-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-03-28
        • 1970-01-01
        • 1970-01-01
        • 2013-02-21
        • 1970-01-01
        相关资源
        最近更新 更多