当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python SciPy linalg.sqrtm用法及代码示例


本文简要介绍 python 语言中 scipy.linalg.sqrtm 的用法。

用法:

scipy.linalg.sqrtm(A, disp=True, blocksize=64)#

矩阵平方根。

参数

A (N, N) 数组

要计算其平方根的矩阵

disp 布尔型,可选

如果结果中的错误估计很大,而不是返回估计的错误,则打印警告。 (默认:真)

blocksize 整数,可选

如果块大小相对于输入数组的大小没有退化,则使用分块算法。 (默认值:64)

返回

sqrtm (N, N) 数组

A 处 sqrt 函数的值。数据类型为浮点型或复数型。精度(数据大小)根据输入 A 的精度确定。当 dtype 为 float 时,精度与 A 相同。当 dtype 为复数时,精度是 A 的两倍。精度可能会被裁剪每个 dtype 精度范围。

errest 浮点数

(如果 disp == False)

估计误差的 Frobenius 范数,||err||_F /||A||_F

参考

[1]

Edvin Deadman, Nicholas J. Higham, Rui Ralha (2013) “用于计算矩阵平方根的阻塞 Schur 算法,计算机科学讲义,7782。第 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.]])

相关用法


注:本文由纯净天空筛选整理自scipy.org大神的英文原创作品 scipy.linalg.sqrtm。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。