質問: 方程式が解けません。 x^5 + {0.45+2*10~(-5)}・x^4 ‐ 1.1*10~(-5)・x^3 ‐ 6*10~(-32)・x ‐ 12*10~(-37)=0 ってどうやって解くんでしょうか? 化学の問題の計算式の途中で出てきたのですが、こんな5次方程式どうやって解くのかサッパリわかりません... ちなみに答えは、 x=2.44・10^(-5) だそうなんですが...
回答: >「代数的に」解く・・・xという数字を使って解くと言う意味? x=の解の公式をつくるという事です。2次方程式ax^2+bx+c=0の解の公式、 x=(1/2a)×(-b±(b^2-4ac)^(1/2)) はご存知ですよね?。方程式の係数に、四則演算と根号を有限回施した組合せで、x=与えれば、それで「代数的に解いた」事になります。5次方程式以上には、解の公式が存在しない事を、ガロアだったかアーベルが証明しました。という訳で、高次方程式は一般に、数値計算頼みとなりますが、次は予備知識です。 コンピュータは無限の桁数を持てないので、国際規格でコンピュータ内部数値の有効桁数が決まっています。標準では8桁または16桁で、それぞれ単精度浮動小数点実数型,倍精度浮動小数点実数型です。略して単長,倍長とも呼ばれます。長は、桁数の長さです。倍精度実数以上の有効桁数を持つ実数型を、多倍長と言い、標準でcpuがサポートしないので、自分で専用プログラムを書いたりします。95桁の精度などは、その例です。5次方程式は、倍精度実数による数値計算の限界付近にあるので、標準では倍精度で計算します。単精度では駄目です。 数値計算を効率よく行うには、現場条件の吟味が大事です。例えばxがモル濃度だとすると、xは負ではありません。また5次方程式の0次の係数-12*10^(-37)molなんて濃度は、現実的に作りようがありません。そうすると、これを0とみなしても、実用解を得られる可能性があります。そこで方程式の主要部を判断します。各次数の係数の大きさを比較する、という事です。 5次の係数:10の0乗. 4次の係数:10の-1乗くらい. 3次の係数:10の-5乗くらい. 1次の係数:10の-32乗くらい. 0次の係数:10の-37乗くらい. 3次と1次の間で極端にオーダーが違うので、0次と1次は実用上省略できると仮定し、2次方程式に持ち込みます。x=2.4442*10^(-5)(>0)と決まります。ここで問題は、係数を比較した時、x^5などの影響を無視していた点です。そこで今度は、xの影響も考慮して方程式のオーダーを判断し、検算します。 求めたxは10の-5乗程度なので、xの影響も考慮すれば、 5次の項:10の-25乗くらい. 4次の項:10の-21乗くらい. 3次の項:10の-20乗くらい. 1次の項:10の-37乗くらい. 0次の項:10の-37乗くらい. となり、3,4,5次の項は5桁程度の違いなので、これは無視できません。0と1次は3次の項と比べて17桁も小さいので、ふつうは無視できるという判断になります。 最後に念のため、もとの5次方程式に代入し、数値計算自体の精度をチェックします。零点誤差は4.67734*10^(-32)です。3次の項より12桁小さいので、十分実用に耐えると自分は判断します。 何故3次の項かと言うと、問題の誤差規模は、最大の項の大きさで決まり、許容される誤差限度も最大項でふつうは決まるからです。有効数字2桁でいいなら、10の-22乗程度です。計算は、全てexcelで行いました。 で、解は1個なんでしょうか?。これも現場条件の一部です。2個以上あるという理論的根拠があれば、今のxで因数分解などして、さらに解を探し検算します。だから理論の定性的性質は、思いのほか大事です。