2018年6月6日水曜日

開発環境

Computing the Cube Rootを考えず、手軽な方法でぴったり1に。

コード(Emacs)

Python 3

#!/usr/bin/env python3

from sympy import pprint, root
import fractions

print((1.0 - 2 ** 52) ** (1 / 3))
print((1.0 - 2 ** 52) ** fractions.Fraction(1, 3))
pprint(root(1.0 - 2 ** -52, 3))

入出力結果(Terminal, Jupyter(IPython))

$ ./sample.py
(82570.18592591037+143015.75721408537j)
(82570.18592591037+143015.75721408537j)
1.00000000000000
$

(内部でどういうアルゴリズムを使用してるのかは調べてないです…)

0 コメント:

コメントを投稿

関連コンテンツ