1 什么是矩陣
數(shù)學(xué)上技扼,一個(gè)m×n的矩陣是一個(gè)由m行n列元素排列成的矩形陣列剿吻。矩陣?yán)锏脑乜梢允?a target="_blank" rel="nofollow">數(shù)字始赎、符號(hào)或數(shù)學(xué)式仔燕。以下是一個(gè)由6個(gè)數(shù)字元素構(gòu)成的2行3列的矩陣:
(1)矩陣加法
大小相同(行數(shù)列數(shù)都相同)的矩陣之間可以相互加減晰搀,具體是對(duì)每個(gè)位置上的元素做加減法.
(2)矩陣乘法
數(shù)乘:標(biāo)量c與矩陣A的數(shù)乘:cA的每個(gè)元素是A的相應(yīng)元素與c的乘積
標(biāo)準(zhǔn)乘法:兩個(gè)矩陣的乘法僅當(dāng)?shù)谝粋€(gè)矩陣A的列數(shù)和另一個(gè)矩陣B的行數(shù)相等時(shí)才能定義外恕。
矩陣的乘法滿足結(jié)合律和對(duì)矩陣加法的分配律(左分配律和右分配律):
- 結(jié)合律:(AB)C = A(BC)
- 分配律:(A+B)C = AC + BC
(3)標(biāo)記
將一些元素排列成若干行鳞疲,每行放上相同數(shù)量的元素蠕蚜,就是一個(gè)矩陣。這里說的元素可以是數(shù)字靶累,例如以下的矩陣:
一個(gè)矩陣A從左上角數(shù)起的第i行第j列上的元素稱為第i,j項(xiàng)挣柬,在上述例子中A[4,3] = 7
(4)點(diǎn)乘
以Numpy為例,使用array時(shí)急黎,運(yùn)算符 * 用于計(jì)算數(shù)量積(點(diǎn)乘)侧到,函數(shù) dot() 用于計(jì)算矢量積(叉乘)床牧,例子如
import numpy as np
a = np.array([[1, 2], [3, 4]])
b = np.array([[5, 6], [7, 8]])
print 'a * b = \n', a * b
print 'np.dot(a, b) = \n', np.dot(a, b)
運(yùn)行結(jié)果為:
a * b =
[[ 5 12]
[21 32]]
np.dot(a, b) =
[[19 22]
[43 50]]
注意np.array生成的二維數(shù)組就相當(dāng)于矩陣遭贸。
(5) 轉(zhuǎn)置
下面附上一段matlab的轉(zhuǎn)置給大家理解
>> a=rand(3)
a =
0.8147 0.9134 0.2785
0.9058 0.6324 0.5469
0.1270 0.0975 0.9575
>> b=a'
b =
0.8147 0.9058 0.1270
0.9134 0.6324 0.0975
0.2785 0.5469 0.9575
(6)逆矩陣
設(shè)A是數(shù)域上的一個(gè)n階方陣壕吹,若在相同數(shù)域上存在另一個(gè)n階矩陣B耳贬,使得: AB=BA=E。 則我們稱B是A的逆矩陣顷蟆,而A則被稱為可逆矩陣。
驗(yàn)證兩個(gè)矩陣互為逆矩陣
按照矩陣的乘法滿足:AB = BA
故A逐纬,B互為逆矩陣削樊。
若矩陣A是可逆的漫贞,則A的逆矩陣是唯一的。
(7)行列式
這一期我只簡(jiǎn)單介紹一下numpy
import numpy as np
>>> a = np.arange(15).reshape(3, 5)
>>> a
array([[ 0, 1, 2, 3, 4],
[ 5, 6, 7, 8, 9],
[10, 11, 12, 13, 14]])
>>> a.shape
(3, 5) 三行五列
>>> a.ndim
2 這是一個(gè)二維數(shù)組
>>> a.dtype.name
'int64'
>>> a.itemsize
8 int64 64/8 = 8 8位一個(gè)字節(jié)
>>> a.size
15
>>> type(a)
<type 'numpy.ndarray'>
>>> b = np.array([6, 7, 8])
>>> b
array([6, 7, 8])
>>> type(b)
<type 'numpy.ndarray'>
- ndarray.dtype
an object describing the type of the elements in the array. One can create or specify dtype’s using standard Python types. Additionally NumPy provides types of its own. numpy.int32, numpy.int16, and numpy.float64 are some examples.
今天就講到這里,都是基礎(chǔ)大家要下去慢慢消化围小。