mathモジュール
pythonには計算を行うモジュールである
“math”モジュールがあります。
モジュールというのはツールのようなものです。
import math
と入力すると使えるようになる。
とおぼえておけばいいでしょう。
まず
import math
を行います。
指数
aのn乗\(a^n\)
a ** n
または
math.pow(a,n)
In [25]: 3 ** 4
Out[25]: 81
nが整数でなくても使用できます
In [26]: 36 ** 0.5
Out[26]: 6.0
In [28]: 2 ** -2
Out[28]: 0.25
math.powでも計算できます。
powはpower(指数)の略です。
In [48]: math.pow(2, 5)
Out[48]: 32.0
In [49]: math.pow(64, 0.5)
Out[49]: 8.0
In [50]: math.pow(4, -1)
Out[50]: 0.25
平方根
aの平方根
a ** (1/2)
または
math.sqrt(a)
In [35]: 9 ** (1/2)
Out[35]: 3.0
In [33]: math.sqrt(2)
Out[33]: 1.4142135623730951
負の平方根
負の値をいれると
In [39]: (-3) ** (1/2)
Out[39]: (1.0605752387249068e-16+1.7320508075688772j)
これは虚数を表しています。
実数部がほぼ0, 虚数部がルート3iです。
“j”は虚数のiを表しています。
In [37]: math.sqrt(-3)
—————————————————————————
ValueError Traceback (most recent call last)
in
—-> 1 math.sqrt(-3)
mathモジュールではエラーになります
「マイナスの平方根をとる」
という計算は想定外であり、そのまま進んでしまう ** も問題があるとも言えます。
n乗根
aのn乗根
a ** (1/n)
または
math.pow(a, 1/n)
In [36]: 27 ** (1/3)
Out[36]: 3.0
In [34]: math.pow(8, 1/3)
Out[34]: 2.0
対数
\(log_ea \)
math.log(a)
\(log_2a\)
math.log2(a)
\(log_{10}a\)
math.log10(a)
\(log_na \)
math.log(a) / math.log(n)
最後の式は数学の公式ですね。
In [55]: math.log(10)
Out[55]: 2.302585092994046
In [56]: math.log2(4)
Out[56]: 2.0
In [57]: math.log10(10)
Out[57]: 1.0
数学における定数
円周率\(\pi\)
math.pi
自然対数 \(e\)
math.e
無限大\(\infty\)
math.inf
In [51]: math.e
Out[51]: 2.718281828459045
In [52]: math.pi
Out[52]: 3.141592653589793
In [53]: math.inf
Out[53]: inf
In [54]: 1 / math.inf
Out[54]: 0.0
ちなみに 1 / 0.0 としてもinfは返ってこずに
ZeroDivisionErrorとなります。