Skip to content

Latest commit

 

History

History
129 lines (87 loc) · 1.37 KB

040.md

File metadata and controls

129 lines (87 loc) · 1.37 KB

矩阵

使用 mat 方法将 2 维数组转化为矩阵:

In [1]:

import numpy as np
a = np.array([[1,2,4],
              [2,5,3], 
              [7,8,9]])
A = np.mat(a)
A

Out[1]:

matrix([[1, 2, 4],
        [2, 5, 3],
        [7, 8, 9]])

也可以使用 Matlab 的语法传入一个字符串来生成矩阵:

In [2]:

A = np.mat('1,2,4;2,5,3;7,8,9')
A

Out[2]:

matrix([[1, 2, 4],
        [2, 5, 3],
        [7, 8, 9]])

利用分块创造新的矩阵:

In [3]:

a = np.array([[ 1, 2],
              [ 3, 4]])
b = np.array([[10,20], 
              [30,40]])

np.bmat('a,b;b,a')

Out[3]:

matrix([[ 1,  2, 10, 20],
        [ 3,  4, 30, 40],
        [10, 20,  1,  2],
        [30, 40,  3,  4]])

矩阵与向量的乘法:

In [4]:

x = np.array([[1], [2], [3]])
x

Out[4]:

array([[1],
       [2],
       [3]])

In [5]:

A * x

Out[5]:

matrix([[17],
        [21],
        [50]])

A.I 表示 A 矩阵的逆矩阵:

In [6]:

print A * A.I
[[  1.00000000e+00   0.00000000e+00   0.00000000e+00]
 [  0.00000000e+00   1.00000000e+00   2.08166817e-17]
 [  2.22044605e-16  -8.32667268e-17   1.00000000e+00]]

矩阵指数表示矩阵连乘:

In [7]:

print A ** 4
[[ 6497  9580  9836]
 [ 7138 10561 10818]
 [18434 27220 27945]]