「Python3」math(特殊関数「ガンマ関数・誤差関数」と数学定数)

math math

mathは名前の通り数学関数を提供しているモジュールになります。
mathはPython標準モジュールです。なので、使用したい場合にインストールする必要がありません。
このモジュールで提供されている各関数の説明と、分かりやすくmatplotlibライブラリを用いて図で表したいと思います。

今回説明する数学関数と数学定数を表にまとめます。

数学関数 説明
math.erf(x) xの誤差関数を返す
math.erfc(x) xの相補誤差関数を返す
相補誤差関数は 1.0 – erf(x)
math.gamma(x) xのガンマ関数を返す
math.lgamma(x) xのガンマ関数の絶対値の自然対数を返す
数学定数 説明
math.pi π = 3.141592… (円周率)
math.e e = 2.718281… (自然対数の底)
math.tau τ = 6.283185…
math.inf 浮動小数の正の無限大
math.nan 浮動小数の非数 “not a number” (NaN)

また、インポートしたライブラリはこちらになります。

import math
import numpy as np
import matplotlib.pyplot as plt

math.erf(x)

math.erf(x)は、xの誤差関数を返します。

<ソースコード>
print(math.erf(2))

x = np.arange(-3, 3, 0.01)
y = list(map(math.erf , x))
plt.scatter(x, y, s=10, color='black')
plt.plot(x, y, linewidth = 0.1, color='black')
plt.show()
<出力結果>
0.9953222650189527

math 特殊関数 説明1

math.erfc(x)

math.erfc(x)は、xの相補誤差関数を返します。
相補誤差関数は 1.0-erf(x)

<ソースコード>
print(math.erfc(2))

x = np.arange(-3, 3, 0.01)
y = list(map(math.erfc , x))
plt.scatter(x, y, s=10, color='black')
plt.plot(x, y, linewidth = 0.1, color='black')
plt.show()
<出力結果>
0.004677734981047266

math 特殊関数 説明2

math.gamma(x)

math.gamma(x)は、xのガンマ関数を返します。

<ソースコード>
print(math.gamma(2))

x = np.arange(-5, 5.5, 0.01)
y = np.array([])
for i in x:
    try:
        if math.fabs(math.gamma(i)) > 10:
            y = np.append(y, math.nan)
        else:
            y = np.append(y, math.gamma(i))
    except:
        y = np.append(y, math.nan)
plt.scatter(x, y, s=10, color='black')
plt.plot(x, y, linewidth = 0.1, color='black')
plt.show()
<出力結果>
1.0

math 特殊関数 説明3

math.lgamma(x)

math.lgamma(x)は、xのガンマ関数の絶対値の自然対数を返します。

<ソースコード>
print(math.lgamma(2))
x = np.arange(-5, 5, 0.01)
y = np.array([])
for i in x:
    try:
        if math.fabs(math.lgamma(i)) > 10:
            y = np.append(y, math.nan)
        else:
            y = np.append(y, math.lgamma(i))
    except:
        y = np.append(y, math.nan)

plt.scatter(x, y, s=10, color='black')
plt.plot(x, y, linewidth = 0.1, color='black')
plt.show()
<出力結果>
0.0

math 特殊関数 説明4

数学定数(pi, e, tau, inf, nan)

<ソースコード>
print(math.pi)
print(math.e)
print(math.tau)
print(math.inf)
print(math.nan)
<出力結果>
3.141592653589793
2.718281828459045
6.283185307179586
inf
nan

コメント

タイトルとURLをコピーしました