三次方程式ソルバー
三次方程式は一般形 ax³ + bx² + cx + d = 0 を持ち、複素数の範囲では常に3つの根を持ちます。4つの係数を入力すると、ソルバーはカルダノの公式を使ってそれらを返します。判別式が非正のときは3つの実根、判別式が正のときは1つの実根と複素共役のペア、判別式がゼロに等しいときは重根の構成になります。
ソルバーが根を見つける仕組み
-
1
係数を入力
4つの数:a、b、c、d。先頭の係数aは非ゼロでなければなりません。さもないと方程式は三次ではなく二次になります。
-
2
簡約三次式
ソルバーは方程式を -b/(3a) だけずらして二次の項を消し、`t³ + pt + q = 0` の形を作ります。
-
3
判別式のチェック
Δ = (q/2)² + (p/3)³ が経路を決めます:Δ > 0 は1つの実根、Δ = 0 は重根、Δ < 0 は三角法で3つの実根を与えます。
-
4
元に戻す
t空間で見つかった各根を -b/(3a) だけずらしてxを復元します。ソルバーは該当する場合は降順で返します。
判別式のケースとその意味
カルダノの方法は、判別式 Δ = (q/2)² + (p/3)³ の符号に応じて3つの分岐のいずれかを通ります。三次曲線のグラフの幾何学はこれを正確に映し出します。
ケース表
| 判別式 | 根 | グラフの形 |
|---|---|---|
| Δ > 0 | 実根1つ、複素共役2つ | x軸と1回交わる |
| Δ = 0 | 実根3つ、少なくとも2つは等しい | 重根でx軸に接する |
| Δ < 0 | 異なる実根3つ | x軸と3回交わる |
計算例
x³ − 6x² + 11x − 6 = 0(係数 1, −6, 11, −6)の場合:
- −b/(3a) = 2 だけずらして簡約形を得る:p = −1、q = 0。
- Δ = (q/2)² + (p/3)³ = 0 + (−1/3)³ = −1/27 < 0 なので、3つの実根(三角法)の経路をとる。
- 三角法の公式により、異なる3つの実根 x = 1, 2, 3 が得られる。
数値的な考慮事項
- 浮動小数点の誤差は、3つの根が近接しているとき(ほぼ三重根のとき)に入り込みます。表示される根は、正確な値と末尾の数桁で異なる場合があります。
- 非常に小さいaは b/(3a) を大きくし、これが演算を支配して精度を下げます。
|a|が約1e-12未満なら、代わりに二次として解いてください。 - 整数の係数が最もきれいな出力を与えます:有理数の根は、浮動小数点の丸めの範囲で正確な値に表示されます。
関連する方程式
- 二次:
ax² + bx + c = 0。二次方程式ソルバーを使ってください、閉形式でより単純です。 - 四次:
ax⁴ + bx³ + cx² + dx + e = 0。フェラーリの方法は分解三次に帰着しますが、ここでは扱いません。 - 簡約三次:b = 0 とすればずらしを省き、
x³ + px + q = 0を直接与えられます。
よくある質問
方程式はもはや三次ではありません。その場合、ソルバーは続行を拒否します、bx² + cx + d = 0 には二次方程式ソルバーに切り替えてください。
その場合、ソルバーは1つの実根を返します。残りの2つの根は、カルダノの公式が閉形式で与える複素共役のペアです。記号的な答えに必要なら、-x1/2 ± (√3/2) × i × 絶対値 として計算してください。
カルダノの方法の数値実装は、浮動小数点の丸めにより1e-15程度の残差を生むことがあります。1e-10未満は実数として扱ってください。このソルバーはΔ < 0 の分岐についてすでにそれらの残差を除外しています。
4つの係数は、根の計算にのみサーバーに送信され、保存されません。ステップごとの表示では、係数がページのリンクにも含まれます。
関連ツール
数秘術計算ツール
ピタゴラス式またはカルデア式の文字数値で、名前にもとづく数秘術の数字を計算します。表現数、魂の欲求数、パーソナリティ数に対応します。
名前数秘術計算ツール
ピタゴラス式数秘術で、フルネームから運命数と表現数を計算し、性格傾向の読み解きも確認できます。
ルームモード計算機
直方体室の共振周波数を計算し、軸・接線・斜めモードと、近接する低周波モードを確認できます。
RAID 容量計算ツール
RAID 0、1、5、6、10、50、60 の容量を比較。異なるドライブ容量、パリティースパン、ホットスペア、TB と TiB、平均ドライブ価格を計算できます。
スピーカーインピーダンス計算機
同一仕様のパッシブスピーカーを直列、並列、平衡直並列に接続したときの公称負荷を計算し、アンプの最小負荷と比較します。
ユリウス日変換ツール
グレゴリオ暦のUTC日時、ユリウス日、修正ユリウス日、Unix秒をミリ秒精度で相互変換。UTCオフセットに対応し、値をそのままコピーできます。
このツールは他の言語でも利用できます
- Lösare för kubiska ekvationer [SV]
- Pemecah Persamaan Kubik [ID]
- Cubic Equation Solver [EN]
- เครื่องแก้สมการลูกบาศก์ [TH]
- Phương pháp giải phương trình lập phương [VI]
- Resolutor de Ecuaciones Cúbicas [ES]
- Kübik Denklem Çözücü [TR]
- Kubische Gleichungs-Löser [DE]
- Résolveur d'équations cubiques [FR]
- Solução de Equação Cúbica [PT]
- 三次方程求解器 [ZH]
- حل المعادلات التكعيبية [AR]
- 삼차방정식 계산기 [KO]
- Oplosser voor kubische vergelijkingen [NL]
- Kalkulator równań sześciennych [PL]
- Решатель кубических уравнений [RU]
- Risolutore di Equazioni Cubiche [IT]