python的矩陣運(yùn)算

1.jpg

python自身不支持矩陣運(yùn)算,一般想要在python進(jìn)行矩陣運(yùn)算:一個方法是自己用二維列表定義矩陣症见,然后自己寫矩陣基本運(yùn)算的函數(shù),這個方法有點(diǎn)事倍功半的意思,所以一般不采用矾飞。第二個方法是使用numpy庫。
NumPy是用Python進(jìn)行科學(xué)計(jì)算的基礎(chǔ)軟件包呀邢。它包含以下內(nèi)容:

  • 一個強(qiáng)大的N維數(shù)組對象
  • 復(fù)雜的(廣播)功能
  • 用于集成C / C ++和Fortran代碼的工具
  • 有用的線性代數(shù)洒沦,傅里葉變換和隨機(jī)數(shù)能力

除了明顯的科學(xué)用途外,NumPy還可以用作通用數(shù)據(jù)的高效多維容器价淌∩暄郏可以定義任意數(shù)據(jù)類型。這使得NumPy能夠與各種數(shù)據(jù)庫無縫并快速地整合蝉衣。
在python中安裝了numpy庫括尸,就相當(dāng)于安裝了matlab一樣,是的病毡。這個庫能夠讓你在python中操作矩陣仿佛是在matlab中一樣輕松方便濒翻。
下面就對使用這個numpy庫進(jìn)行矩陣運(yùn)算做簡單地介紹
NumPy的數(shù)組類被稱為ndarray,ndarray對象具有如下重要屬性:

  • ndarray.ndim 矩陣的維度。在Python中有送,維度的數(shù)量被稱為級數(shù)淌喻。
  • ndarray.shape矩陣的尺寸。返回一個數(shù)組雀摘,表示矩陣行和列的大小裸删,也就是每個維度的大小。對于具有n行m列的矩陣阵赠,返回值是(n涯塔,m)。
  • ndarray.dtype 一個描述數(shù)組中元素類型的對象清蚀∝拜可以使用標(biāo)準(zhǔn)的Python類型創(chuàng)建或指定dtype。另外NumPy提供它自己的類型枷邪。numpy.int32每聪,numpy.int16和numpy.float64就是一些例子。
  • ndarray.itemsize 數(shù)組中每個元素的字節(jié)大小齿风。例如药薯,類型的元件的陣列float64具有itemsize 8(= 64/8),而類型的一個complex32具有itemsize 4(= 32/8)救斑。它相當(dāng)于- - ndarray.dtype.itemsize童本。
  • ndarray.data該緩沖區(qū)包含數(shù)組的實(shí)際元素。通常脸候,我們不需要使用此屬性穷娱,因?yàn)槲覀儗⑹褂盟饕O(shè)施訪問數(shù)組中的元素。
    下面是一個實(shí)例:
>>> import numpy as np  #導(dǎo)入numpy 庫 
>>> a = np.arange(15).reshape(3, 5)  #arange(15)表示生成從0到14的序列reshape(3, 5)表示將這個序列重新設(shè)置成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
>>> a.dtype.name
'int64'
>>> a.itemsize
8
>>> a.size
15
>>> type(a)
<type 'numpy.ndarray'>
>>> b = np.array([6, 7, 8])
>>> b
array([6, 7, 8])
>>> type(b)
<type 'numpy.ndarray'> 

比較需要注意的是矩陣的乘法的符號表示运沦,不少人會犯這個小錯誤泵额。

>>> A = np.array( [[1,1],
...             [0,1]] )
>>> B = np.array( [[2,0],
...             [3,4]] )
>>> A*B                         # 只是對應(yīng)元素相乘而已
array([[2, 0],
       [0, 4]])
>>> A.dot(B)                    # 這個才是矩陣相乘
array([[5, 4],
       [3, 4]])
>>> np.dot(A, B)                # 這是另外一種形式
array([[5, 4],
       [3, 4]])
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市携添,隨后出現(xiàn)的幾起案子嫁盲,更是在濱河造成了極大的恐慌,老刑警劉巖烈掠,帶你破解...
    沈念sama閱讀 221,820評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件羞秤,死亡現(xiàn)場離奇詭異,居然都是意外死亡左敌,警方通過查閱死者的電腦和手機(jī)瘾蛋,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,648評論 3 399
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來矫限,“玉大人哺哼,你說我怎么就攤上這事佩抹。” “怎么了取董?”我有些...
    開封第一講書人閱讀 168,324評論 0 360
  • 文/不壞的土叔 我叫張陵棍苹,是天一觀的道長。 經(jīng)常有香客問我甲葬,道長廊勃,這世上最難降的妖魔是什么懈贺? 我笑而不...
    開封第一講書人閱讀 59,714評論 1 297
  • 正文 為了忘掉前任经窖,我火速辦了婚禮,結(jié)果婚禮上梭灿,老公的妹妹穿的比我還像新娘画侣。我一直安慰自己,他們只是感情好堡妒,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,724評論 6 397
  • 文/花漫 我一把揭開白布配乱。 她就那樣靜靜地躺著,像睡著了一般皮迟。 火紅的嫁衣襯著肌膚如雪搬泥。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,328評論 1 310
  • 那天伏尼,我揣著相機(jī)與錄音忿檩,去河邊找鬼。 笑死爆阶,一個胖子當(dāng)著我的面吹牛燥透,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播辨图,決...
    沈念sama閱讀 40,897評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼班套,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了故河?” 一聲冷哼從身側(cè)響起吱韭,我...
    開封第一講書人閱讀 39,804評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎鱼的,沒想到半個月后杉女,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,345評論 1 318
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡鸳吸,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,431評論 3 340
  • 正文 我和宋清朗相戀三年熏挎,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片晌砾。...
    茶點(diǎn)故事閱讀 40,561評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡坎拐,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情哼勇,我是刑警寧澤都伪,帶...
    沈念sama閱讀 36,238評論 5 350
  • 正文 年R本政府宣布,位于F島的核電站积担,受9級特大地震影響陨晶,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜帝璧,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,928評論 3 334
  • 文/蒙蒙 一先誉、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧的烁,春花似錦褐耳、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,417評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至襟雷,卻和暖如春刃滓,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背耸弄。 一陣腳步聲響...
    開封第一講書人閱讀 33,528評論 1 272
  • 我被黑心中介騙來泰國打工咧虎, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人叙赚。 一個月前我還...
    沈念sama閱讀 48,983評論 3 376
  • 正文 我出身青樓老客,卻偏偏與公主長得像,于是被迫代替她去往敵國和親震叮。 傳聞我的和親對象是個殘疾皇子胧砰,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,573評論 2 359

推薦閱讀更多精彩內(nèi)容

  • 基礎(chǔ)篇NumPy的主要對象是同種元素的多維數(shù)組。這是一個所有的元素都是一種類型苇瓣、通過一個正整數(shù)元組索引的元素表格(...
    oyan99閱讀 5,133評論 0 18
  • 來源:NumPy Tutorial - TutorialsPoint 譯者:飛龍 協(xié)議:CC BY-NC-SA 4...
    布客飛龍閱讀 32,830評論 6 97
  • 先決條件 在閱讀這個教程之前尉间,你多少需要知道點(diǎn)python。如果你想從新回憶下击罪,請看看Python Tutoria...
    舒map閱讀 2,584評論 1 13
  • 一哲嘲、numpy概述 numpy(Numerical Python)提供了python對多維數(shù)組對象的支持:ndar...
    L_steven的貓閱讀 3,475評論 1 24
  • 昨天知乎看到一個關(guān)于抑郁癥的討論,就是抑郁癥是會遺傳的媳禁。還記得自己大學(xué)時期在新浪博客里寫下的東西:“我要變得和你一...
    楊小二的獨(dú)立生活閱讀 113評論 0 0