저는 Sympy 라이브러리를 처음 사용합니다. 나중에 사용할 특성 다항식의 모든 계수를 추출해야합니다. 예를 들어, 내 코드는 : 출력 제공Python에서 Sympy를 사용하는 Charpoly의 계수
import sympy as sp
M = sp.Matrix([[0, 0, 0, 1, 0, 1], [0, 0, 0, 0, 1, 0], [0, 1, 0, 1, 0, -1], [1, 0, -1, 0, 1, 0], [0, 0, 0, 1, 0, 0], [-1, 0, 1, 0, 0, 0]])
lamda = symbols('lamda')
p = M.charpoly(lamda)
print(p)
print(p.coeffs())
그러나
PurePoly(lamda**6 + lamda**4 - lamda**2, lamda, domain='ZZ')
[1, 1, -1]
는 I 필요한 [1, 0, 1, 0, 1, 0, 0], 이는 제로를 포함 lamda의 계수 역시 지수 4, 3, 1 및 0, 항. 일반적으로 for 루프를 사용하여 방정식을 반복하여 누락 된 용어를 확인함으로써 계수 배열의 적절한 지점에 0을 삽입 할 수 있습니다. 그러나 그렇게하려고 시도 할 때 PurePoly 유형이 색인 생성을 지원하지 않는다는 오류가 발생했습니다. 그래서 sympy에 0을 포함시키는 방법이나 직접 할 수있는 방법을 아는 사람이 있는지 궁금합니다. 결국에는이 코드를 많은 행렬에 대한 루프에 통합해야하므로 수동으로 수행 할 수 없습니다.
감사합니다. 내가 개체에 대한 방법의 지능형 명명 일종의 희망과 개체의 디렉토리를 통해 보면 이런 질문이있을 때
p.all_coeffs가 완벽하게 작동했습니다. 고맙습니다. – Claire
'help (p)'를보고'coeff' (type'/ coeff')를 검색 할 수도 있습니다. 이것은 이름에 "coeff"가 언급 된 메소드뿐만 아니라 docstring이 그것을 언급하는 메소드를 찾을 수 있도록 도와줍니다. – asmeurer