fixedpoint.jp - 「月を入力すると日を返す多項式」と線形代数




「月を入力すると日を返す多項式」と線形代数

"「月を入力すると日を返す多項式」と中国剰余定理"にあるような有理数係数の多項式は、わざわざ中国剰余定理を考える必要はなくラグランジュ補間で直接得られる。実際、SageMathの関数lagrange_polynomialが使える:

sage: R = PolynomialRing(QQ, 'x')
sage: p = R.lagrange_polynomial([(1,31),(2,28),(3,31),(4,30),(5,31),(6,30),(7,31),(8,31),(9,30),(10,31),(11,30),(12,31)])
sage: p
-11/907200*x^11 + 163/181440*x^10 - 37/1260*x^9 + 13481/24192*x^8 - 2055371/302400*x^7 + 240683/4320*x^6 - 28268521/90720*x^5
 + 85774775/72576*x^4 - 446998571/151200*x^3 + 46351537/10080*x^2 - 221017/56*x + 1416
sage: 

一般に、\(n+1\)個の相異なる実数\(x_0, x_1, ..., x_n\)と、\(n+1\)個の実数\(y_0, y_1, ..., y_n\)がそれぞれ任意に与えられたとき、\(n\)次以下の実数係数の1変数多項式\(p(x)\)で、各\(i = 0,1,...,n\)について\(p(x_i) = y_i\)となるものが一意に存在することが証明できる。しかも線形代数の知識で証明できることが、例えば「数学をいかに使うか」の第1章で端的に説明されている。


© 2006-2018 fixedpoint.jp