チャレンジ
多項式所定のp
順序の実際の係数を有する1
と程度n
、別の多項式を見つけるq
高々度にn
なるように(p∘q)(X) = p(q(X)) ≡ X mod X^(n+1)
、換言すれば、その結果p(q(X)) = X + h(X)
ここh
で任意の多項式ですord(h) ≥ n+1
。多項式q
はによって一意に決定されp
ます。
多項式のためにp(X) = a(n)*X^n + a(n+1)*X^(n+1) + ... + a(m)*X^m
どこn <= m
とa(n) ≠ 0
、a(m) ≠ 0
我々が言うn
でオーダーのp
とm
ある程度のp
。
単純化:にp
整数係数があると仮定できますa(1)=1
(そしてp(X) = X + [some integral polynomial of order 2]
)。この場合q
、積分係数もあります。
この単純化の目的は、浮動小数点数の問題を回避することです。ただし、説明のために非整数の例があります。
例
- テイラー級数を考える
exp(x)-1 = x + x^2/2 + x^3/6 + x^4/24 + ...
とln(x+1) = x - x^2/2 + x^3/3 - x^4/4 + ...
、明らかにそれからln(exp(x)-1+1)= x
。私達はちょうど私たちは下からの表記で取得するこれら2つの関数の次数4のテイラー多項式を考慮した場合(テストケースを参照)p = [-1/4,1/3,-1/2,1,0]
とq = [1/24, 1/6, 1/2, 1,0]
し、(p∘q)(X) ≡ X mod X^5
多項式を考え
p(X) = X + X^2 + X^3 + X^4
ます。その後のためにq(X) = X - X^2 + X^3 - X^4
、我々が得ます(p∘q)(X) = p(q(X)) = X - 2X^5 + 3X^6 - 10X^7 +...+ X^16 ≡ X mod X^5
テストケース
ここで、入力多項式と出力多項式は、係数のリストとして記述されます(最高次の単項式の係数が最初で、定数項が最後です)。
p = [4,3,2,0]; q=[0.3125,-.375,0.5,0]
統合テストケース:
p = [1,0]; q = [1,0]
p = [9,8,7,6,5,4,3,2,1,0]; q = [4862,-1430,429,-132,42,-14,5,-2,1,0]
p = [-1,3,-3,1,0]; q = [91,15,3,1,0]