2014年11月30日日曜日

141130(3)

NumPy


行列計算

>>> from numpy.linalg import inv, qr
>>> mat = np.array([[1, 2, 3], [2, 4, 5], [3, 5, 7]])
>>> mat.dot(inv(mat))
array([[  1.00000000e+00,   0.00000000e+00,   2.22044605e-16],
       [  0.00000000e+00,   1.00000000e+00,   4.44089210e-16],
       [  0.00000000e+00,   0.00000000e+00,   1.00000000e+00]])
>>> q,r = qr(mat)
>>> q
array([[ -2.67261242e-01,  -3.58568583e-01,  -8.94427191e-01],
       [ -5.34522484e-01,  -7.17137166e-01,   4.47213595e-01],
       [ -8.01783726e-01,   5.97614305e-01,  -1.22124533e-15]])
>>> r
array([[-3.74165739, -6.68153105, -9.08688223],
       [ 0.        , -0.5976143 , -0.47809144],
       [ 0.        ,  0.        , -0.4472136 ]])
>>> q.dot(r)
array([[ 1.,  2.,  3.],
       [ 2.,  4.,  5.],
       [ 3.,  5.,  7.]])

0 件のコメント:

コメントを投稿

注: コメントを投稿できるのは、このブログのメンバーだけです。