scipy 笔记:solve_triangular
生活随笔
收集整理的這篇文章主要介紹了
scipy 笔记:solve_triangular
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
1 基本用法
scipy.linalg.solve_triangular(a, b, trans=0, lower=False, unit_diagonal=False, overwrite_b=False, debug=None, check_finite=True)解決ax=b方程中的x,(假定a是一個上/下三角矩陣)
2 參數(shù)介紹
| a | (M, M) array_like 三角矩陣a |
| b | (M,) or (M, N) array_like |
| lower | bool, optional 如果是True的話,那么a是一個下三角矩陣;否則是一個上三角矩陣(默認也是一個上三角矩陣) |
| trans | {0, 1, 2, ‘N’, ‘T’, ‘C’}, optional ?T是轉(zhuǎn)置,H是共軛轉(zhuǎn)置 |
| unit_diagonal | bool, optional 如果為True,則a的對角元素被假定為1并且不被引用。 |
| overwrite_b | bool, optional 如果為True,結(jié)果寫入原來的b |
| check_finite | bool, optional 是否檢查輸入矩陣只包含有限的數(shù)。禁用可能會提高性能,但如果輸入確實包含無限或nan,則可能導(dǎo)致問題(崩潰、未終止)。 |
3 使用舉例
from scipy.linalg import solve_triangular a = np.array([[3, 0, 0, 0], [2, 1, 0, 0], [1, 0, 1, 0], [1, 1, 1, 1]]) b = np.array([4, 2, 4, 2]) x=solve_triangular(a,b,lower=True) print(x) #[ 1.33333333 -0.66666667 2.66666667 -1.33333333] print(a @ x) #[4. 2. 4. 2.]如果我們設(shè)置unit_diagonal=True的話,即使原來對角線有值,也會變成1來進行計算
from scipy.linalg import solve_triangular a = np.array([[3, 0, 0, 0], [2, 1, 0, 0], [1, 0, 1, 0], [1, 1, 1, 1]]) b = np.array([4, 2, 4, 2]) x=solve_triangular(a,b,lower=True,unit_diagonal=True) print(x) #[ 4. -6. 0. 4.] print(a @ x) #[12. 2. 4. 2.] a1 = np.array([[1, 0, 0, 0], [2, 1, 0, 0], [1, 0, 1, 0], [1, 1, 1, 1]]) print(a1 @ x) #[4. 2. 4. 2.]總結(jié)
以上是生活随笔為你收集整理的scipy 笔记:solve_triangular的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 线性代数笔记: Cholesky分解
- 下一篇: numpy笔记整理 multivaria