情報学部 菅沼ホーム 目次 索引

数学関係

  1. 数学関数

      C の標準関数,または,C++ の標準ライブラリ( <cmath> ヘッダ)内の三角関数,逆三角関数双曲線関数,逆双曲線関数指数関数,対数関数累乗,冪乗,絶対値切り上げ,切り捨て,四捨五入剰余誤差関数,ガンマ関数特殊関数に相当します.

        • 定数
        • acos : 逆余弦
        • acosh : 逆双曲線余弦
        • asin : 逆正弦
        • asinh : 逆双曲線正弦
        • atan : 逆正接
        • atan2 : 逆正接
        • atanh : 逆双曲線正弦
        • ceil : 天井関数
        • copysign : 絶対値が x で,符号が y と同じ浮動小数点数
        • cos : 絶対値が x で,符号が y と同じ浮動小数点数
        • cosh : 双曲線余弦
        • degrees : ラジアンから度に変換
        • erf : 誤差関数
        • erfc : 相補誤差関数
        • exp : 指数関数
        • expm1 : e**x - 1
        • fabs : 絶対値
        • factorial : 階乗
        • floor : 床関数
        • fmod : 余り
        • frexp : x の仮数と指数
        • fsum : 和
        • gamma : ガンマ関数
        • gcd : 最大公約数
        • hypot : 原点からの距離
        • isclose : 近傍か?
        • isfinite : 有限か?
        • isinf : 無限か?
        • isnan : NaN か?
        • ldexp : m * (2 ** e)
        • lgamma : ガンマ関数の値の絶対値をとり,その自然対数
        • log : 対数関数
        • log1p : 1+x の自然対数
        • log10 : 常用対数
        • log2 : 2 を底とする x の対数
        • modf : 小数部分と整数部分
        • pow : べき乗
        • radians : 度からラジアンに変換
        • sin : 正弦
        • sinh : 双曲線正弦
        • sqrt : 平方根
        • tan : 正接
        • tanh : 双曲線正接
        • trunc : 小数点以下を切り捨て

    • 定数

      • math.pi : 円周率
      • math.e : 自然対数の底
      • math.inf : 浮動小数の正の無限大
      • math.nan : 浮動小数の非数 “not a number” (NaN)

    • math.acos(x)

         x の逆余弦をラジアンで返す( -π/2 ~ π/2 )
      >>> from math import *
      >>> degrees(acos(0.5))
      60.00000000000001				

    • math.acosh(x)

        x の逆双曲線余弦を返す.
      >>> from math import *
      >>> acosh(1.0)
      0.0
      >>> cosh(0.0)
      1.0				

    • math.asin(x)

         x の逆正弦をラジアンで返す( -π/2 ~ π/2 )
      >>> from math import *
      >>> degrees(asin(0.5))
      30.000000000000004				

    • math.asinh(x)

        x の逆双曲線正弦を返す.
      >>> from math import *
      >>> asinh(1.0)
      0.8813735870195429
      >>> sinh(0.8813735870195429)
      0.9999999999999999				

    • math.atan(x)

         x の逆正接をラジアンで返す( -π/2 ~ π/2 )
      >>> from math import *
      >>> degrees(atan(1.0))
      45.0				

    • math.atan2(y, x)

         y / x の逆正接をラジアンで返す( -π ~ π )
      >>> from math import *
      >>> degrees(atan(-1.0 / -1.0))
      45.0
      >>> degrees(atan2(-1.0, -1.0))
      -135.0
      >>> degrees(atan2(1.0, 0.0))
      90.0				

    • math.atanh(x)

         x の逆双曲線正弦を返す.
      >>> from math import *
      >>> atanh(0.1)
      0.1003353477310756
      >>> tanh(0.1003353477310756)
      0.10000000000000002				

    • math.ceil(x)

        x 以上の最小の整数を返す(天井関数).
      >>> from math import *
      >>> ceil(3.14)
      4
      >>> ceil(-3.14)
      -3				

    • math.copysign(x, y)

         絶対値が x で,符号が y と同じ浮動小数点数を返す.
      >>> from math import *
      >>> copysign(3.14, -2.0)
      -3.14				

    • math.cos(x)

        x ラジアンの余弦を返す.
      >>> from math import *
      >>> cos(radians(60.0))
      0.5000000000000001				

    • math.cosh(x)

        x の双曲線余弦を返す.
      >>> from math import *
      >>> acosh(1.0)
      0.0
      >>> cosh(0.0)
      1.0				

    • math.degrees(x)

        角 x をラジアンから度に変換する.
      >>> from math import *
      >>> x = radians(45.0)
      >>> x
      0.7853981633974483
      >>> degrees(x)
      45.0				

    • math.erf(x)

        x に対する誤差関数の値を返す.
      >>> from math import *
      >>> erf(0.5)
      0.5204998778130465
      >>> erfc(0.5)
      0.4795001221869535
      >>> 1.0 - erf(0.5)
      0.4795001221869535				

    • math.erfc(x)

        x に対する相補誤差関数の値を返す.相補誤差関数は,1.0 - erf(x) と定義される.
      >>> from math import *
      >>> erf(0.5)
      0.5204998778130465
      >>> erfc(0.5)
      0.4795001221869535
      >>> 1.0 - erf(0.5)
      0.4795001221869535				

    • math.exp(x)

        e**x を返す.
      >>> from math import *
      >>> x = exp(-0.1)
      >>> x
      0.9048374180359595
      >>> log(x)
      -0.10000000000000006				

    • math.expm1(x)

        e**x - 1 を返す.
      >>> from math import *
      >>> exp(0.00001) - 1.0
      1.0000050000069649e-05
      >>> expm1(0.00001)
      1.0000050000166667e-05				

    • math.fabs(x)

        x の絶対値を返す
      >>> from math import *
      >>> fabs(-4.6)
      4.6				

    • math.factorial(x)

        正の整数 x の階乗 x! を返す.
      >>> from math import *
      >>> factorial(5)
      120				

    • math.floor(x)

        x 以下の最大の整数を返す(床関数).
      >>> from math import *
      >>> floor(3.4)
      3
      >>> floor(-3.4)
      -4				

    • math.fmod(x, y)

        x を y で割った余りを返す.
      >>> from math import *
      >>> fmod(4.5, 2.1)
      0.2999999999999998				

    • math.frexp(x)

        x の仮数と指数を ( m, e ) のペアとして返す.x は,m * (2 ** e) で表される.
      >>> from math import *
      >>> frexp(0.00123)
      (0.62976, -9)
      >>> 0.62976 * pow(2, -9)
      0.00123
      >>> ldexp(0.62976, -9)
      0.00123				

    • math.fsum(iterable)

        iterable 中の浮動小数点数の正確な和を返す.
      >>> from math import *
      >>> fsum([1.2, 3.4, 0.001])
      4.601				

    • math.gamma(x)

        x に対するガンマ関数の値を返す.
      >>> from math import *
      >>> gamma(5)
      24.0
      >>> lgamma(5)
      3.178053830347945
      >>> log(24.0)
      3.1780538303479458				

    • math.gcd(a, b)

        整数 a と b の最大公約数を返す.
      >>> from math import *
      >>> gcd(6, 15)
      3				

    • math.hypot(x, y)

        原点から,点 (x, y) までの距離(ユークリッドノルム,sqrt(x*x + y*y )を返す.
      >>> from math import *
      >>> hypot(1.0, 2.0)
      2.23606797749979				

    • math.isclose(a, b, *, rel_tol=1e-09, abs_tol=0.0)

        値 a と b が互いに近い場合 True を,そうでない場合は False を返す.近さの判定は,相対許容誤差 rel_tol,または,絶対許容誤差 abs_tol によって行われる.なお,許容誤差に対する引数は,キーワード引数でなければならない.
      >>> from math import *
      >>> isclose(0.001, 0.001001, rel_tol=1e-3)
      True
      >>> isclose(0.001, 0.001001, rel_tol=0.0, abs_tol=0.001)
      True				

    • math.isfinite(x)

        x が無限でも NaN でもない場合に True を返す.
      >>> from math import *
      >>> isfinite(inf)
      False				

    • math.isinf(x)

         x が正または負の無限数ならば True を返す.
      >>> from math import *
      >>> isinf(inf)
      True				

    • math.isnan(x)

        x が NaN (非数)の時に True を返す.
      >>> from math import *
      >>> isnan(nan)
      True				

    • math.ldexp(m, e)

        m * (2 ** e) で表される数値を返す.
      >>> from math import *
      >>> frexp(0.00123)
      (0.62976, -9)
      >>> 0.62976 * pow(2, -9)
      0.00123
      >>> ldexp(0.62976, -9)
      0.00123				

    • math.lgamma(x)

        x に対するガンマ関数の値の絶対値をとり,その自然対数を返す.
      >>> from math import *
      >>> gamma(5)
      24.0
      >>> lgamma(5)
      3.178053830347945
      >>> log(24.0)
      3.1780538303479458				

    • math.log(x[, base])

        base を底とする x の対数を返す.base を省略すると e とみなされる.
      >>> from math import *
      >>> x = exp(-0.1)
      >>> x
      0.9048374180359595
      >>> log(x)
      -0.10000000000000006				

    • math.log1p(x)

        1+x の自然対数を返す.
      >>> from math import *
      >>> log1p(0.00001)
      9.99995000033333e-06
      >>> log(1 + 0.00001)
      9.999950000398841e-06				

    • math.log10(x)

        10 を底とする x の対数(常用対数)を返す.一般に log(x, 10) よりも高精度である.

    • math.log2(x)

        2 を底とする x の対数を返す.一般に log(x, 2) よりも高精度である.

    • math.modf(x)

        x の小数部分と整数部分を返す.
      >>> from math import *
      >>> modf(-3.14)
      (-0.14000000000000012, -3.0)				

    • math.pow(x, y)

        x の y 乗を返す.
      >>> from math import *
      >>> pow(2.0, 0.5)
      1.4142135623730951
      >>> 2.0 ** 0.5
      1.4142135623730951
      >>> sqrt(2.0)
      1.4142135623730951				

    • math.radians(x)

        角 x を度からラジアンに変換する.
      >>> from math import *
      >>> x = radians(45.0)
      >>> x
      0.7853981633974483
      >>> degrees(x)
      45.0				

    • math.sin(x)

        x ラジアンの正弦を返す.
      >>> from math import *
      >>> sin(radians(30.0))
      0.49999999999999994				

    • math.sinh(x)

        x の双曲線正弦を返す.
      >>> from math import *
      >>> asinh(1.0)
      0.8813735870195429
      >>> sinh(0.8813735870195429)
      0.9999999999999999				

    • math.sqrt(x)

        x の平方根を返す.
      >>> from math import *
      >>> pow(2.0, 0.5)
      1.4142135623730951
      >>> 2.0 ** 0.5
      1.4142135623730951
      >>> sqrt(2.0)
      1.4142135623730951				

    • math.tan(x)

        x ラジアンの正接を返す.
      >>> from math import *
      >>> tan(radians(45.0))
      0.9999999999999999				

    • math.tanh(x)

         x の双曲線正接を返す.
      >>> from math import *
      >>> atanh(0.1)
      0.1003353477310756
      >>> tanh(0.1003353477310756)
      0.10000000000000002				

    • math.trunc(x)

        小数点以下を切り捨てた値を返す.
      >>> from math import *
      >>> trunc(3.14)
      3				

  2. 数学関数(複素数)

      Python には,C++ のような関数名のオーバーロード機能(同じ名前の関数であっても,引数の型や個数によって,その引数に適切な関数を呼ぶ機能)がありませんので,例えば,

    from math import *
    from cmath import *

    のような処理を行うと,両者に同じ名前のメソッドが存在するような場合,math モジュール内のメソッドを使用できなくなってしまいますので,気をつけてください.

      C++ の標準ライブラリ( <complex> ヘッダ)内の複素数 に対応します.

        • 定数
        • acos : 逆余弦
        • acosh : 逆双曲線余弦
        • asin : 逆正弦
        • asinh : 逆双曲線正弦
        • atan : 逆正接
        • atanh : 逆双曲線正接
        • cos : 余弦
        • cosh : 双曲線余弦
        • exp : 指数関数
        • isclose : 近傍か?
        • isfinite : 有限か?
        • isinf : 無限か?
        • isnan : NaN か?
        • log : 対数関数
        • log10 : 常用対数
        • phase : 位相
        • polar : 極座標表現に変換
        • rect : 極座標から直交座標
        • sin : 正弦
        • sinh : 双曲線正弦
        • sqrt : 平方根
        • tan : 正接
        • tanh : 双曲線正接

    • 定数

      • cmath.pi : 円周率
      • cmath.e : 自然対数の底

    • cmath.acos(x)

        複素数 x の逆余弦を返す.(参考 : sin(x) = ( exp(jx) - exp(-jx) ) / 2j, cos(x) = ( exp(jx) + exp(-jx) ) / 2 )
      >>> from cmath import *
      >>> cos(1 + 1j)
      (0.8337300251311491-0.9888977057628651j)
      >>> acos(0.8337300251311491-0.9888977057628651j)
      (0.9999999999999999+1j)				

    • cmath.acosh(x)

        複素数 x の逆双曲線余弦を返す.
      >>> from cmath import *
      >>> cosh(1 + 1j)
      (0.8337300251311491+0.9888977057628651j)
      >>> acosh(0.8337300251311491+0.9888977057628651j)
      (1+0.9999999999999999j)				

    • cmath.asin(x)

        複素数 x の逆正弦を返す.(参考 : sin(x) = ( exp(jx) - exp(-jx) ) / 2j, cos(x) = ( exp(jx) + exp(-jx) ) / 2 )
      >>> from cmath import *
      >>> sin(1 + 1j)
      (1.2984575814159773+0.6349639147847361j)
      >>> asin(1.2984575814159773+0.6349639147847361j)
      (1+1j)				

    • cmath.asinh(x)

        複素数 x の逆双曲線正弦を返す.
      >>> from cmath import *
      >>> sinh(1 + 1j)
      (0.6349639147847361+1.2984575814159773j)
      >>> asinh(0.6349639147847361+1.2984575814159773j)
      (1+1j)				

    • cmath.atan(x)

        複素数 x の逆正接を返す.(参考 : sin(x) = ( exp(jx) - exp(-jx) ) / 2j, cos(x) = ( exp(jx) + exp(-jx) ) / 2 )
      >>> from cmath import *
      >>> tan(1 + 1j)
      (0.2717525853195117+1.0839233273386946j)
      >>> atan(0.2717525853195117+1.0839233273386946j)
      (1+1j)				

    • cmath.atanh(x)

        複素数 x の逆双曲線正接を返す.
      >>> from cmath import *
      >>> tanh(1 + 1j)
      (1.0839233273386946+0.2717525853195117j)
      >>> atanh(1.0839233273386946+0.2717525853195117j)
      (1+1j)				

    • cmath.cos(x)

        複素数 x の余弦を返す.(参考 : sin(x) = ( exp(jx) - exp(-jx) ) / 2j, cos(x) = ( exp(jx) + exp(-jx) ) / 2 )
      >>> from cmath import *
      >>> cos(1 + 1j)
      (0.8337300251311491-0.9888977057628651j)
      >>> acos(0.8337300251311491-0.9888977057628651j)
      (0.9999999999999999+1j)				

    • cmath.cosh(x)

        複素数 x の双曲線余弦を返す.
      >>> from cmath import *
      >>> cosh(1 + 1j)
      (0.8337300251311491+0.9888977057628651j)
      >>> acosh(0.8337300251311491+0.9888977057628651j)
      (1+0.9999999999999999j)				

    • cmath.exp(x)

        複素数 x に対して,e**x を返す(オイラーの公式 : exp(jθ) = cos(θ) + j sin(θ) ).
      >>> from cmath import *
      >>> exp(complex(0, pi / 2))
      (6.123233995736766e-17+1j)				

    • cmath.isclose(a, b, *, rel_tol=1e-09, abs_tol=0.0)

        複素数 a と b が互いに近い場合 True を,そうでない場合は False を返す.近さの判定は,相対許容誤差 rel_tol,または,絶対許容誤差 abs_tol によって行われる.なお,許容誤差に対する引数は,キーワード引数でなければならない.
      >>> from cmath import *
      >>> isclose(1+1j, 1+1.0001j, rel_tol=0.001)
      True				

    • cmath.isfinite(x)

         複素数 x の実部,虚部ともに有限であれば True を返す.
      >>> from cmath import *
      >>> isfinite(inf + 1j)
      False				

    • cmath.isinf(x)

         複素数 x の実部または虚部が正または負の無限大であれば True を返す.
      >>> from cmath import *
      >>> isinf(inf + 1j)
      True				

    • cmath.isnan(x)

        複素数 x の実部と虚部のどちらかが NaN のとき True を返す.
      >>> from cmath import *
      >>> isnan(nan + 1j)
      True				

    • cmath.log(x[, base])

        base を底とする複素数 x の対数を返す.base を省略すると e とみなされる.(参考 : log(x) = log|x| + j∠x )
      >>> from cmath import *
      >>> log(1 + 1j)
      (0.34657359027997264+0.7853981633974483j)				

    • cmath.log10(x)

        10 を底とする複素数 x の対数(常用対数)を返す.(参考 : log(x) = log|x| + j∠x )
      >>> from cmath import *
      >>> log10(1 + 1j)
      (0.15051499783199057+0.3410940884604603j)				

    • cmath.phase(x)

        複素数 x の位相をラジアンで返す.
      >>> from cmath import *
      >>> degrees(phase(complex(1.0, 1.0)))
      45.0				

    • cmath.polar(x)

        複素数 x の大きさと位相の組 (r, phi),つまり,極座標表現を返す.なお,位相はラジアン表現である.
      >>> from cmath import *
      >>> polar(complex(1.0, 1.0))
      (1.4142135623730951, 0.7853981633974483)				

    • cmath.rect(r, phi)

        極座標 (r, phi) を持つ複素数 x を返す.
      >>> from cmath import *
      >>> import math
      >>> rect(math.sqrt(2.0), radians(45.0))
      (1.0000000000000002+1j)				

    • cmath.sin(x)

        複素数 x の正弦を返す.(参考 : sin(x) = ( exp(jx) - exp(-jx) ) / 2j, cos(x) = ( exp(jx) + exp(-jx) ) / 2 )
      >>> from cmath import *
      >>> sin(1 + 1j)
      (1.2984575814159773+0.6349639147847361j)
      >>> asin(1.2984575814159773+0.6349639147847361j)
      (1+1j)				

    • cmath.sinh(x)

        複素数 x の双曲線正弦を返す.
      >>> from cmath import *
      >>> sinh(1 + 1j)
      (0.6349639147847361+1.2984575814159773j)
      >>> asinh(0.6349639147847361+1.2984575814159773j)
      (1+1j)				

    • cmath.sqrt(x)

        複素数 x の平方根を返す.
      >>> from cmath import *
      >>> sqrt(1 + 1j)
      (1.09868411346781+0.45508986056222733j)				

    • cmath.tan(x)

        複素数 x の正接を返す.(参考 : sin(x) = ( exp(jx) - exp(-jx) ) / 2j, cos(x) = ( exp(jx) + exp(-jx) ) / 2 )
      >>> from cmath import *
      >>> tan(1 + 1j)
      (0.2717525853195117+1.0839233273386946j)
      >>> atan(0.2717525853195117+1.0839233273386946j)
      (1+1j)				

    • cmath.tanh(x)

        複素数 x の双曲線正接を返す.
      >>> from cmath import *
      >>> tanh(1 + 1j)
      (1.0839233273386946+0.2717525853195117j)
      >>> atanh(1.0839233273386946+0.2717525853195117j)(1+1j)				

  3. 疑似乱数

      C++ の標準ライブラリ( <random> ヘッダ)内のメルセンヌ・ツイスター法による擬似乱数生成エンジンベルヌーイ分布乱数,二項分布乱数,幾何分布乱数,負の二項分布乱数一様分布乱数ポワソン分布乱数,指数分布乱数,ガンマ分布乱数,ワイブル分布乱数,極値分布乱数正規分布乱数,対数正規分布乱数,カイ二乗分布乱数,コーシー分布乱数,フィッシャーの F 分布乱数,ステューデントの t 分布確率分布生成器,重み付き確率分布生成器,線形重み付き確率分布生成器に対応します.

        • betavariate : ベータ分布に従う乱数
        • choice : シーケンス seq からランダムに要素を選択
        • expovariate : 指数分布に従う乱数
        • gammavariate : ガンマ分布に従う乱数
        • gauss : ガウス分布(正規分布)に従う乱数
        • getrandbits : k 桁の乱数ビットで整数を生成
        • getstate : 乱数生成器の現在の内部状態を記憶
        • lognormvariate : 対数正規分布に従う乱数
        • normalvariate : ガウス分布(正規分布)に従う乱数
        • paretovariate : パレート分布に従う乱数
        • randint : a <= N <= b であるようなランダムな整数 N
        • random : [0.0, 1.0) 区間の一様分布に従う乱数
        • randrange : range(start, stop, step) からランダムに選ばれた要素
        • sample : ランダムに選ばれた,長さ k の一意な要素からなるリスト
        • seed : 乱数生成器を初期化
        • setstate : 乱数生成器の内部状態を復帰
        • shuffle : シーケンス x をシャッフル
        • triangular : [low, high] 区間に最頻値 mode を持つような乱数
        • uniform : [a, b],または,[b, a] 区間の一様分布に従う乱数
        • vonmisesvariate : フォン・ミーゼス分布に従う乱数
        • weibullvariate : ワイブル分布に従う乱数

    • random.betavariate ( alpha, beta )

        母数 alpha(α),beta(β) のベータ分布に従う乱数を返す.alpha > 0,beta > 0 でなければならず,0 から 1 の範囲に入る値を返す.
      >>> from random import *
      >>> betavariate(1.0, 2.0)
      0.7137512751672623				

    • random.choice ( seq )

        シーケンス seq からランダムに要素を返す.
      >>> from random import *
      >>> choice([1, 2, 3, 4, 5])
      4
      >>> choice([1, 2, 3, 4, 5])
      3				

    • random.expovariate ( lambda )

        母数 lambda(λ.1/λ が平均)の指数分布に従う乱数を返す.lambda が正であれば,0 から正の無限大,また,lambda が負であれば,負の無限大から 0 までの値を返す.
      >>> from random import *
      >>> expovariate(2.0)   # 2.0 は平均値の逆数(λ)
      0.3687274660201018				

    • random.gammavariate ( alpha, beta )

        母数 alpha(α),beta(β)のガンマ分布に従う乱数を返す.alpha > 0,beta > 0 でなければならない.
      >>> from random import *
      >>> gammavariate(1.0, 2.0)
      1.4556376656902985				

    • random.gauss ( mu, sigma )

        平均 mu(μ),標準偏差 sigma(σ)のガウス分布(正規分布)に従う乱数を返す.sigma > 0 でなければならない.
      >>> from random import *
      >>> gauss(0, 1.0)   # 標準正規分布
      0.6178997336284542				

    • random.getrandbits ( k )

        k 桁の乱数ビットで整数を生成して返す.
      >>> from random import *
      >>> getrandbits(20)
      54907				

    • random.getstate ( )

        乱数生成器の現在の内部状態を記憶したオブジェクトを返す.このオブジェクトを setstate() に渡して内部状態を復帰することができる.

    • random.lognormvariate ( mu, sigma )

        母数 mu(μ),sigma(σ)の対数正規分布に従う乱数を返す.この分布を自然対数を用いた分布にした場合,平均 mu(μ),標準偏差 sigma(σ)のガウス分布(正規分布)になる.sigma > 0 でなければならない.
      >>> from random import *
      >>> lognormvariate(0, 1.0)
      16.76806615681981				

    • random.normalvariate ( mu, sigma )

        平均 mu(μ),標準偏差 sigma(σ)のガウス分布(正規分布)に従う乱数を返す.sigma > 0 でなければならない.
      >>> from random import *
      >>> normalvariate(0, 1.0)
      0.44329264392416573				

    • random.paretovariate ( alpha )

        母数 alpha(α)のパレート分布に従う乱数を返す.alpha は形状パラメタであり,alpha > 0 でなければならない.
      >>> from random import *
      >>> paretovariate(1.0)
      6.006394708695113				

    • random.randint ( a, b )

        a <= N <= b であるようなランダムな整数 N を返す.randrange(a, b+1) のエイリアスである.

    • random.random()

         [0.0, 1.0) 区間の一様分布に従う乱数を返す.
      >>> from random import *
      >>> random()
      0.8786303371012171				

    • random.randrange ( stop )
      random.randrange(start, stop[, step])

        range(start, stop, step) からランダムに選ばれた要素を返す.
      >>> from random import *
      >>> randrange(100)
      34
      >>> randrange(100)
      11				

    • random.sample ( population, k )

        母集団のシーケンスまたは集合 population からランダムに選ばれた,長さ k の一意な要素からなるリストを返す.
      >>> from random import *
      >>> sample(range(100), 5)
      [20, 0, 55, 99, 11]				

    • random.seed ( a = None, version = 2 )

        乱数生成器を初期化する.a が省略されるか None の場合,現在のシステム時刻が使用される.

    • random.setstate ( state )

        予め getstate() によって呼び出した state を使用し,呼び出された時の乱数生成器の内部状態を復帰する.

    • random.shuffle ( x[, random ] )

        シーケンス x をシャッフルする.random は,引数を持たず [0.0, 1.0) 区間のランダムな浮動小数点数を返すような関数である.省略すると,random() が使用される.
      >>> from random import *
      >>> x = [1, 2, 3, 4, 5]
      >>> shuffle(x)
      >>> x
      [2, 1, 4, 5, 3]				

    • random.triangular ( [ low, high[, mode ] ] )

        [low, high] 区間に最頻値 mode を持つような乱数を返す.low と high のデフォルトは 0 と 1 であり,mode のデフォルトは両境界値の中点になる.
      >>> from random import *
      >>> triangular(5, 10)
      8.919537010144266
      >>> triangular()
      0.3819695793057113				

    • random.uniform ( a, b )

        [a, b],または,[b, a] 区間の一様分布に従う乱数を返す.
      >>> from random import *
      >>> uniform(0, 2)
      1.4640785075474039				

    • random.vonmisesvariate ( mu, kappa )

        母数 mu(μ),kappa(κ)のフォン・ミーゼス分布に従う乱数を返す.mu は平均の角度であり,0 から 2*π までのラジアンで表され,kappa は濃度パラメタであり,0 以上でなければならない.
      >>> from random import *
      >>> vonmisesvariate(pi, 1.0)
      4.14502416163938				

    • random.weibullvariate ( eata, m )

        母数 eata(η),m のワイブル分布に従う乱数を返す.eata は尺度パラメータ,m は形状パラメータ(ワイブル係数)である.いずれのパラメータも正である必要がある.
      >>> from random import *
      >>> weibullvariate(1.0, 5.0)
      0.8853138662142248				

  4. 数理統計関数

    • statistics.mean ( data )

        data の算術平均を返す.
      >>> from statistics import *
      >>> mean([1, 2, 3, 3, 4, 4, 4, 5])
      3.25				

    • statistics.median ( data )

        data の中央値を返す.データ数が偶数の場合は,中央に最も近い 2 値の算術平均を返す.
      >>> from statistics import *
      >>> median([1, 2, 3, 3, 4, 4, 4, 5])
      3.5				

    • statistics.median_grouped ( data, interval = 1 )

        data の中央値を返す.中央値は,50 パーセンタイルとして計算され,小数部分があれば補間される.interval は間隔を表す.なお,パーセンタイルとは,データを小さい順に並べたとき,どこに位置するのかを示す指標である.例えば,p パーセンタイルであれば,データを小さい順に並べたとき,小さいデータから数えて全データ数の p %に相当する位置となる.
      >>> from statistics import *
      >>> median_grouped([1, 2, 3, 3, 4, 4, 4, 5])
      3.5
      >>> median_grouped([1, 2, 3, 3, 4, 4, 4, 5], 4)
      2.0				

    • statistics.median_high ( data )

        data の中央値を返す.データ数が奇数の場合は中央の値を返し,偶数の場合は中央の 2 値の大きい方を返す.
      >>> from statistics import *
      >>> median_high([1, 2, 3, 3, 4, 4, 4, 5])
      4				

    • statistics.median_low ( data )

        data の中央値を返す.データ数が奇数の場合は中央の値を返し,偶数の場合は中央の 2 値の小さい方を返す.
      >>> from statistics import *
      >>> median_low([1, 2, 3, 3, 4, 4, 4, 5])
      3				

    • statistics.mode ( data )

        data の最頻値を返す.
      >>> from statistics import *
      >>> mode([1, 2, 3, 3, 4, 4, 4, 5])
      4				

    • statistics.pstdev( data, mu = None )

        data の標準偏差(分散の平方根)を返す.mu は data の平均値でなければならない.mu が与えられない場合や None の場合,平均値は data を使用して自動的に計算される.
      >>> from statistics import *
      >>> pvariance([1, 2, 3, 3, 4, 4, 4, 5])
      1.4375
      >>> pstdev([1, 2, 3, 3, 4, 4, 4, 5])
      1.1989578808281798
      >>> math.sqrt(pvariance([1, 2, 3, 3, 4, 4, 4, 5]))
      1.1989578808281798				

    • statistics.pvariance ( data, mu = None )

        data の分散(不偏分散ではない)を返す.mu は data の平均値でなければならない.mu が与えられない場合や None の場合,平均値は data を使用して自動的に計算される.
      >>> from statistics import *
      >>> pvariance([1, 2, 3, 3, 4, 4, 4, 5])
      1.4375
      >>> variance([1, 2, 3, 3, 4, 4, 4, 5])
      1.6428571428571428				

    • statistics.stdev ( data, mu = None )

        data の標準偏差(不偏分散の平方根)を返す.mu は data の平均値でなければならない.mu が与えられない場合や None の場合,平均値は data を使用して自動的に計算される.
      >>> from statistics import *
      >>> variance([1, 2, 3, 3, 4, 4, 4, 5])
      1.6428571428571428
      >>> stdev([1, 2, 3, 3, 4, 4, 4, 5])
      1.2817398889233114
      >>> math.sqrt(variance([1, 2, 3, 3, 4, 4, 4, 5]))
      1.2817398889233114				

    • statistics.variance ( data, mu = None )

        data の不偏分散を返す.mu は data の平均値でなければならない.mu が与えられない場合や None の場合,平均値は data を使用して自動的に計算される.
      >>> from statistics import *
      >>> pvariance([1, 2, 3, 3, 4, 4, 4, 5])
      1.4375
      >>> variance([1, 2, 3, 3, 4, 4, 4, 5])
      1.6428571428571428				

  5. 有理数

        • denominator : 有理数を既約分数で表したときの分母
        • Fraction : fraction オブジェクトの生成
        • from_decimal : fraction オブジェクトの生成
        • from_float : fraction オブジェクトの生成
        • limit_denominator : fraction オブジェクトの生成
        • numerator : 有理数を既約分数で表したときの分子

    • fractions.denominator : fraction モジュールのインスタンス変数

        有理数を既約分数で表したときの分母
      >>> from fractions import Fraction
      >>> x = Fraction(0.75)
      >>> x.numerator
      3
      >>> x.denominator
      4				

    • class fractions.Fraction ( numerator = 0, denominator = 1 )
      class fractions.Fraction ( other_fraction )
      class fractions.Fraction ( float )
      class fractions.Fraction ( decimal )
      class fractions.Fraction ( string )

        fraction オブジェクトを生成する.
      >>> from fractions import Fraction
      >>> Fraction(numerator=3, denominator=4)
      Fraction(3, 4)
      >>> Fraction(0.75)
      Fraction(3, 4)
      >>> Fraction(1.75)
      Fraction(7, 4)
      >>> Fraction(0.73)
      Fraction(1643813863990231, 2251799813685248)
      >>> Fraction(2)
      Fraction(2, 1)
      >>> Fraction(0)
      Fraction(0, 1)
      >>> Fraction()
      Fraction(0, 1)
      >>> Fraction("3/4")   # '/' の前後にスペースを入れてはいけない
      Fraction(3, 4)
      >>> Fraction("0.75")
      Fraction(3, 4)
      				

    • Fraction.from_decimal ( dec ) : クラスメソッド

        decimal.Decimal のインスタンスである dec の正確な値を表す fraction オブジェクトを生成する.
      >>> from fractions import Fraction
      >>> Fraction(3,10)
      Fraction(3, 10)
      >>> Fraction.from_float(0.3)
      Fraction(5404319552844595, 18014398509481984)
      >>> from decimal import Decimal
      >>> Fraction.from_decimal(Decimal("0.3"))
      Fraction(3, 10)				

    • Fraction.from_float ( flt ) : クラスメソッド

        float である flt の正確な値を表す fraction オブジェクトを生成する.
      >>> from fractions import Fraction
      >>> Fraction(3,10)
      Fraction(3, 10)
      >>> Fraction.from_float(0.3)
      Fraction(5404319552844595, 18014398509481984)
      >>> from decimal import Decimal
      >>> Fraction.from_decimal(Decimal("0.3"))
      Fraction(3, 10)				

    • fractions.limit_denominator ( max_denominator = 1000000 ) : インスタンスメソッド

        分母が高々 max_denominator である self に最も近い fraction オブジェクトを返す.
      >>> from fractions import Fraction
      >>> x = Fraction(0.3)
      >>> x.limit_denominator(20)
      Fraction(3, 10)				

    • fractions.numerator : fraction モジュールのインスタンス変数

        有理数を既約分数で表したときの分子
      >>> from fractions import Fraction
      >>> x = Fraction(0.75)
      >>> x.numerator
      3
      >>> x.denominator
      4				

情報学部 菅沼ホーム 目次 索引