首页 文章

在Python中减少矩阵元素的系数

提问于
浏览
2

我想删除或最小化1个不是指数的任何数量的矩阵元素 . 我希望这可以在符号计算(sympy模块)中完成 .

from sympy import*
init_printing()

X = symbols('X')
A = Matrix([[1, 2*X**2], [4*X, 2]])
A

enter image description here

我确实尝试用 subs() 函数解决这个问题但是它也会影响指数,我想保留它们 .

有什么建议?

1 回答

  • 2

    也许是这样的?

    from sympy import*
    init_printing()
    
    X = symbols('X')
    A = Matrix([[1, -2*X**2], [4*X, -2]])
    
    for i in range(len(A)):
        if  A[i].is_Number:
            A[i] = A[i] / abs(A[i])
        else:
            A[i] = A[i].primitive()[1]
    A
    

    *编辑:允许否定

相关问题