Pynote

Python、機械学習、画像処理について

numpy - 基本的な関数 まとめ (三角関数、対数関数、指数関数、etc)

三角関数

名前 説明 関数
numpy.sin \sin x numpy.sin(x)
numpy.cos \cos x numpy.cos(x)
numpy.tan \tan x numpy.tan(x)
numpy.arcsin \arcsin x numpy.arcsin(x)
numpy.arccos \arccos x numpy.arccos(x)
numpy.arctan \arctan x numpy.arctan(x)
numpy.hypot \sqrt{x^2 + y^2} numpy.hypot(x1, x2)
numpy.arctan2 \arctan \frac{y}{x} numpy.arctan2(x1, x2)

三角関数 (sin, cos, tan) のグラフ


三角関数 (arcsin, arccos, arctan) のグラフ


双曲線関数

名前 説明 関数
numpy.sinh \sinh x numpy.sinh(x)
numpy.cosh \cosh x numpy.cosh(x)
numpy.tanh \tanh x numpy.tanh(x)
numpy.arcsinh arcsinh x numpy.arcsinh(x)
numpy.arccosh arccosh x numpy.arccosh(x)
numpy.arctanh arctanh x numpy.arctanh(x)

双曲線関数 (sinh, cosh, tanh) のグラフ


度 (degree)、ラジアン (radian) の相互変換

名前 説明 関数
numpy.deg2rad radian = degree \frac{\pi}{180} numpy.deg2rad(x)
numpy.degrees radian = degree \frac{\pi}{180} numpy.degrees(x)
numpy.rad2deg degree = radian \frac{180}{\pi} numpy.rad2deg(x)
numpy.radians degree = radian \frac{180}{\pi} numpy.radians(x)

対数関数、指数関数

名前 説明 関数
numpy.exp e^x numpy.exp(x)
numpy.expm1 e^x - 1 numpy.expm1(x)
numpy.exp2 2^x numpy.exp2(x)
numpy.log \log x numpy.log(x)
numpy.log10 \log_{10} x numpy.log10(x)
numpy.log2 \log_{2} x numpy.log2(x)
numpy.log1p \log (x + 1) numpy.log1p(x)
numpy.logaddexp \log (e^{x_1} + e^{x_2}) numpy.logaddexp(x1, x2)
numpy.logaddexp2 \log_2 (2^{x_1} + 2^{x_2}) numpy.logaddexp2(x1, x2)

指数関数のグラフ

fig, ax = plt.subplots(figsize=(7, 7))
# 範囲を設定する。
ax.set_xlim(-3, 3)
ax.set_ylim(-2, 10)
# 直線を作成する。
ax.hlines(1, -3, 3, linestyles=':')
ax.hlines(0, -3, 3, linestyles=':')
ax.hlines(-1, -3, 3, linestyles=':')
ax.vlines(0, -2, 10, linestyles=':')
# 折れ線グラフを作成する。
xs = np.linspace(-3, 3, 100)
ax.plot(xs, np.exp(xs), label=r'$e^x$')
ax.plot(xs, np.expm1(xs), label=r'$e^x - 1$')
ax.plot(xs, np.exp2(xs), label=r'$2^x$')
ax.legend()

plt.show()


対数関数のグラフ

fig, ax = plt.subplots(figsize=(7, 7))
# 範囲を設定する。
ax.set_xlim(-1, 5)
ax.set_ylim(-5, 5)
# 直線を作成する。
ax.hlines(0, -5, 5, linestyles=':')
ax.vlines(0, -5, 5, linestyles=':')
ax.vlines(1, -5, 5, linestyles=':')
# 折れ線グラフを作成する。
xs1 = np.linspace(np.finfo(float).eps, 5, 100)
xs2 = np.linspace(-1 + np.finfo(float).eps, 5, 100)
ax.plot(xs1, np.log(xs1), label=r'$\log x$')
ax.plot(xs1, np.log10(xs1), label=r'$\log_{10} x$')
ax.plot(xs1, np.log2(xs1), label=r'$\log_{2} x$')
ax.plot(xs2, np.log1p(xs2), label=r'$\log (x + 1)$')
ax.legend()

plt.show()


絶対値、平方根、立方根

名前 説明 関数
numpy.absolute |x| numpy.absolute(x)
numpy.fabs |x| numpy.fabs(x)
numpy.sqrt \sqrt{x} numpy.sqrt(x)
numpy.cbrt \sqrt[3]{x} numpy.cbrt(x)

四則演算、累乗、自乗

名前 説明 関数
numpy.add x_1 + x_2 numpy.add(x1, x2)
numpy.subtract x_1 - x_2 numpy.subtract(x1, x2)
numpy.multiply x_1 \times x_2 numpy.multiply(x1, x2)
numpy.divide x_1 / x_2 numpy.divide(x1, x2)
numpy.true_divide x_1 / x_2 numpy.true_divide(x1, x2)
numpy.floor_divide x_1 // x_2 numpy.floor_divide(x1, x2)
numpy.positive  +x numpy.positive(x)
numpy.negative  -x numpy.negative(x)
numpy.reciprocal \frac{1}{x} numpy.reciprocal(x)
numpy.power x_1^{x_2} numpy.power(x1, x2)
numpy.float_power x_1^{x_2} numpy.float_power(x1, x2)
numpy.square x^2 numpy.square(x)

比較演算子

名前 説明 関数
numpy.isclose x_1 \approx x_2 numpy.isclose(a, b, rtol=1e-05, atol=1e-08, equal_nan=False)
numpy.allclose x_1 \approx x_2 numpy.allclose(a, b, rtol=1e-05, atol=1e-08, equal_nan=False)
numpy.array_equal x_1 = x_2 numpy.array_equal(a1, a2)
numpy.array_equiv x_1 = x_2 numpy.array_equiv(a1, a2)
numpy.less x_1 < x_2 numpy.less(x1, x2)
numpy.less_equal x_1 \le x_2 numpy.less_equal(x1, x2)
numpy.greater x_1 > x_2 numpy.greater(x1, x2)
numpy.greater_equal x_1 \ge x_2 numpy.greater_equal(x1, x2)
numpy.equal x_1 = x_2 numpy.equal(x1, x2)
numpy.not_equal x_1 \ne x_2 numpy.not_equal(x1, x2)

剰余 (mod)

名前 説明 関数
numpy.mod x_1 \mod x_2 numpy.mod(x1, x2)
numpy.fmod x_1 \mod x_2 numpy.fmod(x1, x2)
numpy.remainder x_1 \mod x_2 numpy.remainder(x1, x2)
numpy.divmod 商と剰余 numpy.divmod(x1, x2)