代数的数オブジェクト
Mathematica 5では,指定された代数的数体内で,代数的数の高性能計算が実行できます.Mathematica はバージョン3以来,代数的数をRootオブジェクトとして表現してきました.Rootオブジェクトには,代数的数と根の番号(Rootオブジェクトが最小多項式のどの根を表しているかを示す整数)の最小多項式が含まれます.これにより,任意の複素数の代数的数を一意に表すことができるのです.
しかし,このような表現で演算操作を実行することはコストが高いという欠点があります.もし,固定された実数の有限次代数拡大 内での計算に限定すると, の元の表現により便利な方法,つまり の多項式を使うことができます.固定された代数的数体内では,Algebraicオブジェクト表現で代数的数の演算をした方が,Rootオブジェクト表現で行うよりも格段に速く実行できます.Mathematica 5には,代数的数体に関連した広範に渡る機能が備わっており,パッケージNumberTheory`AlgebraicNumberFields`で利用することができます.
以下の代数的数
があり, の値を計算するとします.
RootReduceを使って値を直接計算すると,長時間かかります.
これよりも速く実行するには,まず{a, b, c}を含む共通の代数的数体を見付けます.これにはほんの一瞬しかかかりません.
共通の数体内での計算の方が格段に速く終ります.
|