Python

[Python]数値計算とか,使おうとしてみた.

普通に勉強しているのもあれなので.
せっかくパッケージ(モジュール?)がたくさんあるので使ってみよう.

数値計算とかするときは

  • Numpy / Scipy
  • Matplotlib

を使うと面白いらしいよ.

Obtaining NumPy & SciPy — SciPy
matplotlib: python plotting — Matplotlib v1.0.0 documentation

ここからダウンロードしてくるん.
MacOS用だと全部インストーラで入れられるんだね,親切親切.

インストールの確認

importして普通に使えれば大丈夫らしい.

import numpy
import scipy
import matplotlib



何も出なかった.
ついでにPythonもOSX用のインストーラでちゃんとインストールしたよ.
はじめから入ってたけどね.

使ってみる

なんとなく思いつく数値計算と言うと,どうしても線形代数の方になる.

>>> A = numpy.array([[1,2,3],[4,5,6],[7,8,9]])
>>> AT = A.T
>>> A
array([[1, 2, 3],
       [4, 5, 6],
       [7, 8, 9]])
>>> AT
array([[1, 4, 7],
       [2, 5, 8],
       [3, 6, 9]])
>>> R = numpy.random.random((3,3))
>>> R
array([[ 0.17785979,  0.55781791,  0.99652099],
       [ 0.56430619,  0.58062239,  0.94404127],
       [ 0.05924664,  0.55369138,  0.74929885]])
>>> R = numpy.random.random((3,3))
>>> R
array([[ 0.60784765,  0.84313972,  0.77810188],
       [ 0.14224564,  0.31941115,  0.91111037],
       [ 0.32147762,  0.07344987,  0.07136616]])



arrayオブジェクトというのがあるらしい.
その気になったときにリファレンス的なものでも見ておこうか.

>>> A = numpy.array([[1,2,3],[4,5,6],[7,8,9]])
>>> B = numpy.array([[9,8,7],[6,5,4],[3,2,1]])
>>> A
array([[1, 2, 3],
       [4, 5, 6],
       [7, 8, 9]])
>>> B
array([[9, 8, 7],
       [6, 5, 4],
       [3,2,1]])
>>> AB = A*B
>>> AB
array([[ 9, 16, 21],
       [24, 25, 24],
       [21, 16,  9]])
>>> norm = numpy.linalg.norm(A)
>>> det = numpy.linalg.det(A)
>>> (d, x) = numpy.linalg.eig(A)
>>> norm
16.881943016134134
>>> det
6.6613381477509402e-16
>>> (d, x)
(array([  1.61168440e+01,  -1.11684397e+00,  -9.24061800e-16]), array([[-0.23197069, -0.78583024,  0.40824829],
       [-0.52532209, -0.08675134, -0.81649658],
       [-0.8186735 ,  0.61232756,  0.40824829]]))



くはー.
よく分からん.

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です