本文簡要介紹 python 語言中 scipy.linalg.solve_sylvester
的用法。
用法:
scipy.linalg.solve_sylvester(a, b, q)#
計算 Sylvester 方程 的解 (X)。
- a: (M, M) 數組
Sylvester 方程的前導矩陣
- b: (N, N) 數組
Sylvester 方程的尾隨矩陣
- q: (M, N) 數組
右側
- x: (M, N) ndarray
西爾維斯特方程的解。
- LinAlgError
如果沒有找到解決方案
參數 ::
返回 ::
拋出 ::
注意:
通過 Bartels-Stewart 算法計算 Sylvester 矩陣方程的解。 A 和 B 矩陣首先進行 Schur 分解。生成的矩陣用於構造替代 Sylvester 方程 (
RY + YS^T = F
),其中 R 和 S 矩陣采用 quasi-triangular 形式(或者,當 R、S 或 F 為複數時,為三角形形式)。然後使用 LAPACK 中的*TRSYL
直接求解簡化方程。例子:
給定 a、b 和 q 求解 x:
>>> import numpy as np >>> from scipy import linalg >>> a = np.array([[-3, -2, 0], [-1, -1, 3], [3, -5, -1]]) >>> b = np.array([[1]]) >>> q = np.array([[1],[2],[3]]) >>> x = linalg.solve_sylvester(a, b, q) >>> x array([[ 0.0625], [-0.5625], [ 0.6875]]) >>> np.allclose(a.dot(x) + x.dot(b), q) True
相關用法
- Python SciPy linalg.solve_circulant用法及代碼示例
- Python SciPy linalg.solve_banded用法及代碼示例
- Python SciPy linalg.solve_discrete_lyapunov用法及代碼示例
- Python SciPy linalg.solve_toeplitz用法及代碼示例
- Python SciPy linalg.solve_continuous_lyapunov用法及代碼示例
- Python SciPy linalg.solve_continuous_are用法及代碼示例
- Python SciPy linalg.solve_discrete_are用法及代碼示例
- Python SciPy linalg.solve_triangular用法及代碼示例
- Python SciPy linalg.solve用法及代碼示例
- Python SciPy linalg.solveh_banded用法及代碼示例
- Python SciPy linalg.svd用法及代碼示例
- Python SciPy linalg.spsolve用法及代碼示例
- Python SciPy linalg.spsolve_triangular用法及代碼示例
- Python SciPy linalg.splu用法及代碼示例
- Python SciPy linalg.spilu用法及代碼示例
- Python SciPy linalg.svdvals用法及代碼示例
- Python SciPy linalg.sqrtm用法及代碼示例
- Python SciPy linalg.svds用法及代碼示例
- Python SciPy linalg.sinm用法及代碼示例
- Python SciPy linalg.schur用法及代碼示例
- Python SciPy linalg.sinhm用法及代碼示例
- Python SciPy linalg.signm用法及代碼示例
- Python SciPy linalg.subspace_angles用法及代碼示例
- Python SciPy linalg.eigvalsh_tridiagonal用法及代碼示例
- Python SciPy linalg.cdf2rdf用法及代碼示例
注:本文由純淨天空篩選整理自scipy.org大神的英文原創作品 scipy.linalg.solve_sylvester。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。