scipy.linalg.
sqrtm#
- scipy.linalg.sqrtm(A, disp=True, blocksize=64)[source]#
- Matrix square root. - Parameters:
- A(N, N) array_like
- Matrix whose square root to evaluate 
- dispbool, optional
- Print warning if error in the result is estimated large instead of returning estimated error. (Default: True) 
- blocksizeinteger, optional
- If the blocksize is not degenerate with respect to the size of the input array, then use a blocked algorithm. (Default: 64) 
 
- Returns:
- sqrtm(N, N) ndarray
- Value of the sqrt function at A. The dtype is float or complex. The precision (data size) is determined based on the precision of input A. 
- errestfloat
- (if disp == False) - Frobenius norm of the estimated error, ||err||_F / ||A||_F 
 
 - References [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. - Examples - >>> 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.]])