使用拉格朗日插值来变换我们的R1CS。我们要做的是从每个系数矩阵的向量中取出第一个值(即:系数矩阵的每一列),使用拉格朗日插值得到多项式依此类推。
import matplotlib.pyplot as plt
import numpy as np
import math
x = np.linspace(0, 4, 10000) #分别代表最小,最大,数量, 生成一个等差数列
y = 0.833 * x ** 3 - 5*x**2 + 9.166*x -5
def f(xx):
return 0.833 * xx ** 3 - 5*xx**2 + 9.166*xx -5
print(f(1))
print(f(2))
print(f(3))
print(f(4))
plt.plot(x, y)
plt.show()
(1,-0.0009999999999994458)
(2,-0.0039999999999995595)
(3,-0.010999999999999233)
(4,4.975999999999999)
y = -0.666 * x ** 3 + 5x**2 - 11.333x +8
(1,1.0009999999999994)
(2,0.006000000000000227)
(3,1.0189999999999984)
(4,0.04399999999999693)