如何在Python中用Z3求拉格朗日插值多项式?

如何在Python中用Z3求拉格朗日插值多项式?,python,z3,polynomial-math,Python,Z3,Polynomial Math,我正在用Z3库和Python语言学习数学,我不知道怎样才能找到基于拉格朗日插值多项式的多项式? 例如 我想找到f(X) 我与Scipy合作得很好,但是当切换到Z3库时,我已经找不到更多的文档了:(我不知道如何在Z3的上下文中回答您的问题。 Z3不包含任何用于拉格朗日插值的内置解算器。 可以设置一组多项式等式,其中系数保持为符号。 然后你可以问Z3这个系统是否是可解的,它为系数生成一般的代数数,所以我不确定这是否适合你的应用。 当然,在python中,您可以编写: a, b, c = Real('

我正在用Z3库和Python语言学习数学,我不知道怎样才能找到基于拉格朗日插值多项式的多项式? 例如

我想找到f(X)


我与Scipy合作得很好,但是当切换到Z3库时,我已经找不到更多的文档了:(

我不知道如何在Z3的上下文中回答您的问题。 Z3不包含任何用于拉格朗日插值的内置解算器。 可以设置一组多项式等式,其中系数保持为符号。 然后你可以问Z3这个系统是否是可解的,它为系数生成一般的代数数,所以我不确定这是否适合你的应用。 当然,在python中,您可以编写:

a, b, c = Real('a b c')
def f(X):
    return a*X*X + b*X + c

solve(f(0) == y0, f(1) == y1, f(2) == y2)

其中,
y0
y1
y2
是常数。

拉格朗日插值不同于逻辑克雷格插值。Z3是克雷格插值。您可能会感兴趣。
a, b, c = Real('a b c')
def f(X):
    return a*X*X + b*X + c

solve(f(0) == y0, f(1) == y1, f(2) == y2)