2013/04/17

ライブラリ:math

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

import math

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

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

math.pi  # πを返します 3.1415... 
math.e  # eを返します  2.718...
piとeはその名のとおり、数学でよく使う定数、円周率「π」と自然対数の底「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)は逆に絶対値が小さくなる方向に丸められる点に注意が必要です。

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^x、log(x)、x^y、x^(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ライブラリの関数としてではなく、
sign(-5)  # -1
と単体で使えるようになっています。

複素数に関する関数については、別の「cmath」というライブラリにまとめられています。大学などの研究で使う計算を行うときには、「Numpy」「SciPy」という科学技術計算用のライブラリが便利です。


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


参考
math - Python公式ドキュメント

0 件のコメント: