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.]])