def test_back_projection_from_lagrange_1st(self):
vec_real_func = np.vectorize(self.funcs[1])
real_weights = vec_real_func(self.nodes)
approx_func = core.back_project_from_base(real_weights, self.initial_functions)
approx_func_dz = core.back_project_from_base(real_weights, get_base("ini_funcs", 1))
self.assertTrue(np.allclose(approx_func(self.z_values), vec_real_func(self.z_values)))
if show_plots:
# lines should match exactly
pw = pg.plot(title="back projected linear function")
pw.plot(x=self.z_values, y=vec_real_func(self.z_values), pen="r")
pw.plot(x=self.z_values, y=approx_func(self.z_values), pen="g")
pw.plot(x=self.z_values, y=approx_func_dz(self.z_values), pen="b")
app.exec_()
评论列表
文章目录