scipy.linalg.
sqrtm#
- scipy.linalg.sqrtm(A, disp=True, blocksize=64)[source]#
矩陣平方根。
- 參數:
- A(N, N) 類陣列
要評估平方根的矩陣
- disp布林值,選用
如果結果中的誤差估計值偏大,則列印警告,而不是傳回估計誤差。(預設值:True)
- blocksize整數,選用
如果 blocksize 相對於輸入陣列的大小不是退化的,則使用區塊演算法。(預設值:64)
- 回傳值:
- sqrtm(N, N) ndarray
在 A 處的 sqrt 函數值。dtype 是 float 或 complex。精度(資料大小)取決於輸入 A 的精度。
- errest浮點數
(如果 disp == False)
估計誤差的 Frobenius 範數,||err||_F / ||A||_F
參考文獻
[1]Edvin Deadman, Nicholas J. Higham, Rui Ralha (2013) “Blocked Schur Algorithms for Computing the Matrix Square Root, Lecture Notes in Computer Science, 7782. pp. 171-182.
範例
>>> import numpy as np >>> from scipy.linalg import sqrtm >>> a = np.array([[1.0, 3.0], [1.0, 4.0]]) >>> r = sqrtm(a) >>> r array([[ 0.75592895, 1.13389342], [ 0.37796447, 1.88982237]]) >>> r.dot(r) array([[ 1., 3.], [ 1., 4.]])