Recursion 价值比较

Recursion 价值比较,recursion,sympy,python-3.7,Recursion,Sympy,Python 3.7,我正在使用python 3.7。我试图将两个函数m(I,k)和m(I,k)生成的值制成表格并进行比较,其中m(I,k)是m(I,k)递归方程的闭式解(包含嵌套双和)。问题是M(i,k)生成了一个汇合的超几何函数2F1(1,4,2,0.000034*10^(-6)),并且没有进一步对其求值以获得可比的结果。这里给出了我的完整代码 import numpy as np from sympy.interactive import printing printing.init_printing(use

我正在使用python 3.7。我试图将两个函数
m(I,k)
m(I,k)
生成的值制成表格并进行比较,其中
m(I,k)
m(I,k)
递归方程的闭式解(包含嵌套双和)。问题是
M(i,k)
生成了一个汇合的超几何函数
2F1(1,4,2,0.000034*10^(-6))
,并且没有进一步对其求值以获得可比的结果。这里给出了我的完整代码

import numpy as np

from sympy.interactive import printing
printing.init_printing(use_latex=True)

import sympy as sp

from sympy import summation, product, symbols, solve, Function, Sum, Product, rsolve, binomial, factorial

from sympy import *

from sympy.stats import Hypergeometric


n, k, j, l, i = symbols('n k j l i',integer=True)
a, b, c, eps, alpha, u = symbols( 'a b c epsilon alpha u')
u = 10**(-6)
eps = 0.85
alpha = u + eps

a = u/(2 * alpha - 1)
b = 2 * eps * (2 * alpha - u)/(2 * alpha - 1)
c = 2 * eps * (1 - u)/(2 * alpha - 1)

from sympy.abc import n


def m(i,k):
    if k==0:
        return (alpha/(2*eps))*(2*eps/(2*alpha - 1))**i
    return a*(m(i,k-1)+b*summation(c**(i - l - 1) * m(l, k-1),(l, 1, i-1)))
k=3
for i in range(1,10):
    h=cancel(m(i,k))
    display(h)

                                               #Solution
def M(i, k):
    if k==0:
        return alpha * (2 * eps)**(i - 1) / (2 * alpha - 1)**i
    return (alpha * u**(k-1) * (2 * eps)**(i-1) / (2 * alpha - 1)**(i + k)) * \
             ((2 * alpha)**k / u**(k-1) - summation( (2 * alpha - u)**j * (1 - u)**(i - j) * binomial(i-1, j-1) *\
              summation(binomial(l+j-2, j-1)*(2 * alpha / u)**(k-l-j+1),(l, 1, k-j+1)) ,(j, 1, k)) )

for i in range(1,10):
    p = cancel(M(i,k))
    display(p) 
有谁能找出这有什么问题并给我一个很好的解决方案吗