本篇介紹 NumPy 與 Matlab 的 矩陣分解的指令
“Talk is cheap. Show me the code.”
― Linus Torvalds
老子第41章
上德若谷
大白若辱
大方無隅
大器晚成
大音希聲
大象無形
道隱無名
拳打千遍, 身法自然
“There’s no shortage of remarkable ideas, what’s missing is the will to execute them.” – Seth Godin
「很棒的點子永遠不會匱乏,然而缺少的是執行點子的意志力。」—賽斯.高汀
本系列文章之連結
-
用 Python+Numpy+scipy 執行 Matlab 的矩陣計算 1 Python科學計算第三方庫, 原生指令, 內建模組, 外部模組 link
-
用 Python+Numpy+scipy 執行 Matlab 的矩陣計算 1.1 scipy.linalg 官網完整列表 link
-
用 Python+Numpy+scipy 執行 Matlab 的矩陣計算 2 產生 numpy 的 數組, 矩陣點乘 等 link
-
用 Python+Numpy+scipy 執行 Matlab 的矩陣計算 3 向量與矩陣運算 link
-
用 Python+Numpy+scipy 執行 Matlab 的矩陣計算 4 函數向量化 function vectorized
link -
用 Python+Numpy+scipy 執行 Matlab 的矩陣計算 5 矩陣特徵值等不變量計算 link
-
用 Python+Numpy+scipy 執行 Matlab 的矩陣計算 5.1 矩陣分解的指令
-
用 Python+Numpy+scipy 執行 Matlab 的矩陣計算 6 解線性方程組 直接法: Gauss 消去, LU 等 link
-
用 Python+Numpy+scipy 執行 Matlab 的矩陣計算 7 解線性方程組 迭代法: Jacobi iterated,Gauss-Seidel 等 link
文章目录
- 本系列文章之連結
- Numpy 與 Matlab 的矩陣分解的指令
Numpy 與 Matlab 的矩陣分解的指令
| 矩陣分解的指令 | SciPy (NumPy) | Matlab |
|---|---|---|
| 矩陣的條件數 | from numpy import linalg linalg.cond() (只有 numpy.linalg 才有) | cond() |
| rank | from numpy import linalg linalg.matrix_rank() (只有 numpy.linalg 才有) | rank() |
| LU 分解 | linalg.lu() (只有 scipy.linalg 才有) | lu() |
| Cholesky 分解(對稱矩陣的LU分解) | linalg.cholesky() | chol() |
| QR 正交化分解 | clinalg.qr() | qr() |
| svd 奇異值分解 | linalg.svd() | svd() |
| Shur 分解 | linalg.shur() (只有 scipy.linalg 才有) | shur() |
注意: linalg.cond(a) 是 Numpy 之下的, SciPy 之下的 linalg 沒有.
注意: linalg.matrix_rank(a) 是 Numpy 之下的, SciPy 之下的 linalg 沒有.
>>> import numpy
>>>> from numpy import linalg
>>>> a = numpy.ones([3,3])
>>> a
array([[1., 1., 1.],
[1., 1., 1.],
[1., 1., 1.]])
>>> linalg.matrix_rank(a)
1



