Python numpy之線性代數與隨機漫步

線性代數

線性代數,矩陣計算,優化與內存;比如矩陣乘法,分解,行列式等數學知識,是所有數組類庫的重要組成部分。和MATLAB等其他語言相比,numpy的線性代數中有所不同的是矩陣相乘不是點積運算而是逐個元素計算,因此在numpy裡面都有一個特定的函數來計算,它就是dot,

語法如下:

numpy之線性代數函數

diag

將一個方陣的對角(或非對角)元素作為一維數組返回,或者將一個一維數轉換為一個方陣,並且在非對角線上有零點

dot

矩陣點乘

trace

計算對角元素和

det

計算矩陣行列式

eig

計算方陣特征值和特征向量

inv

計算方陣的逆矩陣

pinv

計算矩陣的偽逆

qr

計算QR分解

svd

計算奇異值分解

solve

求x的線性系統:Ax = b,其中A是方陣

lstsq

計算Ax = b 的最小二乘解

偽隨機數生成

numpy.random模塊填補瞭Python內建的random模塊的不足,可以高效的生成多種概率分佈下的完整樣本數組。比如我們使用normal來獲得一個8*8的正態分佈樣本數組

隨機數種子:

什麼是隨機數種子?舉一個簡單的例子,如果我的隨機種子是100,那麼計算機就會在0-100中隨機產生,看下面

隨機種子是1111….

seed

向隨機數生成器傳遞隨機狀態種子

permutation

返回一個序列的隨機排列,或者返回一個亂序的整數范圍序列

shuffle

隨機排列一個序列

rand

從均勻分佈中抽取樣本

randint

根據給定的由低到高的范圍抽取隨機整數

randn

從均值0方差1的正態分佈中抽取樣本(MATLAB型接口)

binomial

從二項分佈中抽取樣本

normal

從高斯分佈中抽取樣本

beta

從beta中抽取樣本

chisquare

從卡方分佈中抽取樣本

gamma

從伽馬分佈中抽取樣本

uniform

從均勻分佈抽取樣本

上述的表格如果你看不懂,可以去看一看概率論與數理統計的知識,方便你深度理解每一個概念和用法

隨即漫步

示例

上面模擬的是一個簡單的隨機漫步,就比如說我們的擲硬幣,每次的結果1或者-1,然後計算積累值

到此這篇關於Python numpy之線性代數與隨機漫步的文章就介紹到這瞭,更多相關Python numpy線性代數內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: