多项式关于特定项的因式分解

2024-05-13 08:51:44 发布

您现在位置:Python中文网/ 问答频道 /正文

import numpy as np
import sympy as sp
from sympy import *
init_printing()

uVars    = list(symbols(', '.join([f'u{n}' for n in range(1, 3 + 1)])))
aVars    = list(symbols(', '.join([f'a{n}' for n in range(1, 3 + 1)])))
lambda1, mu = symbols('lambda, mu')

U = np.array([ [0, -uVars[2], uVars[1]], [uVars[2], 0, -uVars[0]], [-uVars[1], uVars[0], 0] ])
a = np.array([ [aVars[0], 0, 0], [0, aVars[1], 0], [0, 0, aVars[2]] ])

I = np.eye(3)
L = a*lambda1 + U

preCharPoly = L - mu*I
preCharPoly_sym = sp.Matrix(preCharPoly)

factor(preCharPoly_sym.det())

上述代码输出以下多项式:

enter image description here

但是,我要求多项式与变量lambda和mu有关,如下所示:enter image description here

我一直在检查https://docs.sympy.org/latest/modules/simplify/simplify.html的文档,但不知道如何做所需的工作。如何指定factor()或simplify()来执行与lambda和mu相关的任务


Tags: lambdaimportforasnpsimplifysplist