首页 > 解决方案 > 从 sympy 的系列中导出所有系数

问题描述

所以我一直在尝试从我在 sympy 中的级数展开中推导出所有系数。考虑

import numpy as np
from sympy import *
import matplotlib.pyplot as plt
from numpy.linalg import matrix_power

L     = symbols("L")
alpha = 1 -1.3*L + 0.4*L**2
roots = solve(alpha,L)
#Sanity checks
factorz_1 = factor(L**2 - 3.25*L + 2.5)
factorz_2 = factor(0.4*L**2 - 1.3*L + 1)
##GET COEFFICIENTS
coeff_1 = 1/roots[0]
coeff_2 = 1/roots[1]

##GET COEFFICIENTS OF SERIES
series_1 = series(1/(1-coeff_1*L))
series_2 = series(1/(1-coeff_2*L))
Lag_inv  = expand(series(1/(1-coeff_1*L),n=7)*series(1/(1-coeff_2*L),n=7))
Lag_poly = Poly(Lag_inv,L)
coeffs   = Lag_poly.coeffs()


我首先定义 alpha 并通过求解函数获取根。忽略完整性检查。“获取系数”部分是获取我稍后将构建我的系列的数字。之后,我使用 series 函数定义我的幂级数。我想要的是提取其中给出的系数,直到我选择的顺序。这里的问题是 Lag_inv 是一个包含 O(L^7) 表达式的系列,我假设它不允许 Poly 函数工作。有没有办法解决?得到我的表达式的系数就是!

标签: pythonsympyseries

解决方案


推荐阅读