MCPで接続 →

計算を入力してください

a0はx^nの係数(最高次・0以外)、定数項はa(n)です。使わない係数は0のままで構いません。

公式

広告

結果

求まった解の個数
5
roots (real & complex) via Durand-Kerner
Value (re ± i·im)
x_1 2.6817925684442003E-15
x_2 1.3368995720865E-15
x_3 -1.5843433783877E-15
x_4 -2.1505841279553E-15
x_5 1.1330769043639002E-16

この計算機でできること

このn次方程式ソルバーは、実係数をもつ方程式 \(\text{a}_0 x^{n} + \text{a}_1 x^{n-1} + \cdots + \text{a}_{n-1} x + \text{a}_n = 0\) のすべての解——実数解も複素数解も——を求めます。用いるのはデュラン・カーナー法(ワイエルシュトラス法とも呼ばれ、DKA法=Durand-Kerner-Aberth系の基礎)です。これは、すべての解の近似値を一度に同時に改良していく反復解法です。国や単位に依存しない、普遍的な数学ツールです。

多項式の根を点として描いた複素平面、共役対を含む
多項式の根は複素平面上の点として現れ、複素数の根は鏡像となる共役対を成します。

係数の並べ方

本ツールでは係数を最高次から並べます。すなわちa0がxnの係数(最高次係数。0以外であること)anが定数項です。教科書でよく見る「a_kがx^kの係数」という流儀とは逆順なので、その点に注意して入力してください。次数nより大きい添字の係数は無視されます。

使い方

次数n(1〜16)を選び、係数a0からanまでを入力します(使わない係数は0のままで構いません)。表示する有効桁数を選んで実行してください。実数解は虚部が0として表示され、実係数多項式の複素数解は共役な組(re + i·im と re − i·im)で現れます。

広告

計算式

まず全係数をa0で割ってモニック多項式 \(p(x)=x^{n}+b_1 x^{n-1}+\cdots+b_n\) にします。次に各近似値を $$z_i \leftarrow z_i - \frac{p(z_i)}{\displaystyle\prod_{j \ne i}(z_i - z_j)}$$ で更新します。円周上に散らした互いに異なる初期点から始めると、各近似値はn個の解へ同時に収束していきます。

円周上の初期推定値が実際の根へ収束していくデュラン・カーナー反復の図
DKA法はすべての根の推定値を円周上に配置し、収束するまで同時に更新します。

計算例

\(x^3 - 6x^2 + 11x - 6 = 0\) の場合、n=3、a0=1、a1=−6、a2=11、a3=−6 と入力します。この多項式は \((x-1)(x-2)(x-3)\) と因数分解でき、反復計算は解 1、2、3(すべて実数)に収束します。

広告

よくある質問

なぜa0は0であってはいけないのですか? 最高次係数が0だと、その方程式は本当の意味でn次ではなくなります。本ツールではa0=0を無効として扱います。

なぜ複素数解は組で現れるのですか? 実係数の多項式の複素数解は、必ず共役な組で現れます。そのため、対応する +i·im と −i·im の値がペアで表示されます。

重解にも対応していますか? はい。ただし重解(多重解)は収束が遅くなるため、本ソルバーでは反復回数を多めに、許容誤差をやや緩めに設定しています。ごくわずかな虚部の残差は0に丸められます。

最終更新: