2013/04/17

ライブラリ:math

Python の math というライブラリについてご紹介します。

import math

math ライブラリには、数学にまつわる変数と関数が入っています。

math ライブラリに含まれている変数・関数のうち一般によく使われそうなものを以下にピックアップしてご紹介します。

math.pi  # πを返します 3.1415... 
math.e  # eを返します  2.718...
pie はその名のとおり、数学でよく使う定数、円周率「 π 」と自然対数の底「 e 」(の近似値)を格納しています。 math 内に定義されている変数はこのふたつのみです。

math.floor(5.2)  # 5を返す
math.ceil(5.2)  # 6を返す
floor()ceil() は、浮動小数点型の数値を整数に変換する関数です。 floor(x) はその名のとおり下側、 x 以下の最大の整数を返します。一方 ceil()x 以上の最小の整数を返します。

math.floor(-5.2)  # -6を返す
math.ceil(-5.2)  # -5を返す
マイナスの数字が渡されたときには、 floor(x) は絶対値が大きくなる方向に、 ceil(x) は逆に絶対値が小さくなる方向に丸められる点に注意が必要です(つまり「 floor(x) <= x <= ceil(x) 」が常に成り立つと覚えておくと OK です)。

math.trunc(5.2)  # 5を返す
math.trunc(-5.2)  # -5を返す
trunc() は、 floor()ceil() と同じく整数を返す関数ですが、こちらは、小数点以下の切り捨てを行います。つまり、引数が正の数でも負の数でも共通して 0 方向へと近づける方向で丸めてくれます。

math.exp(5)
math.log(5)
math.pow(5, 2)  # 25.0
math.sqrt(5)  # 2.236...
exp(x)log(x)pow(x, y)sqrt(x) も名前のとおりで、それぞれ、 e^xlog(x)x^yx^(1/2) を返してくれる関数です。

math.sin(1)
math.cos(1)
math.tan(1)
三角関数も用意されています。 sin(x) はサイン、 cos(x) はコサイン、 tan(x) はタンジェントを返してくれます。いずれも引数の単位は度ではなく「ラジアン」です。三角関数についてはこれら以外にも、サインやコサインの逆となるいわゆるアークサインやアークコサイン、ハイパボリックサインなんかも用意されています。

三角関数周りの数字を扱うときには、内部での計算はラジアンで、表示するときは度で、と単位を変えることがよくあるかと思うのですが、そんなときには次の 2 つの関数が使えます。
math.degrees(1)
math.radians(30)
degrees() はラジアンから度に、 radians() はその逆、度からラジアンに単位を変換してくれます。

以上です。


ちなみに、複素数関連の機能は math とは別の cmath というライブラリにまとめられています。また、大学などの研究用途等で計算を行うときには「 Numpy 」や「 SciPy 」等の科学技術計算用ライブラリを使うことが一般的です。


インストール

math は標準ライブラリに含まれているので別途インストールする必要はありません。


参考

0 件のコメント: