开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第14天,点击查看活动详情
QAP问题--计算式转化成多项式
我们首先介绍一下拉格朗日插值法的具体概念
拉格朗日插值法
- 拉格朗日插值法:即对于一些给定的点,我们可以找到一个式子将这几个点穿起来,也就是说,找到一个同时经过这些点的函数
- 接下来是对拉格朗日函数的描述:
示例:
此示例引自whrunningduck的博客
以上四个等式可以作为列出矩阵的依据
- 在等式sym_3=sym_2+sym_1中,因为要将算式表示为s.a=s.bs.c的形式,当仅s.b就能表达这个等式时,为了凑满s.bs.c,就用~one来补充s.c
- 即(s.c=[~one,x,~out,sym_1,sym_2,sym_3].[1,0,0,0,0,0])
- 再将以上提到的四个等式分别写成s.a=s.b*s.c的形式,此时,就获得了3个4行6列的矩阵A,B,C(分别由四个等式的a,b,c组合构成)
- 此处可以理解为一个多项式p(x)可以被分解成h(x)*z(x)的形式 , 即p(x)=h(x)z(x),z(x)作为目标多项式,由p(x)的部分解构成,例如p(x)的解是x0,x1....xi,那么z(x)=(x-x0)(x-x1)...(x-xj),j<=i。