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


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


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

用法:

scipy.linalg.invhilbert(n, exact=False)#

计算 n 阶希尔伯特矩阵的逆矩阵。

希尔伯特矩阵的逆矩阵中的条目是整数。当 n 大于 14 时,逆中的某些条目超过了 64 位整数的上限。确切的参数提供了两种处理这些大整数的选项。

参数

n int

希尔伯特矩阵的阶。

exact 布尔型,可选

如果为 False,则返回的数组的数据类型为 np.float64,并且该数组是逆的近似值。如果为 True,则该数组是精确的整数逆数组。为了表示 n > 14 时的精确逆,返回的数组是一个长整数对象数组。对于 n <= 14,精确的倒数作为数据类型为 np.int64 的数组返回。

返回

invh (n, n) 数组

如果精确为 False,则数组的数据类型为 np.float64。如果精确为 True,则数据类型为 np.int64(对于 n <= 14)或对象(对于 n > 14)。在后一种情况下,数组中的对象将是长整数。

注意

例子

>>> from scipy.linalg import invhilbert
>>> invhilbert(4)
array([[   16.,  -120.,   240.,  -140.],
       [ -120.,  1200., -2700.,  1680.],
       [  240., -2700.,  6480., -4200.],
       [ -140.,  1680., -4200.,  2800.]])
>>> invhilbert(4, exact=True)
array([[   16,  -120,   240,  -140],
       [ -120,  1200, -2700,  1680],
       [  240, -2700,  6480, -4200],
       [ -140,  1680, -4200,  2800]], dtype=int64)
>>> invhilbert(16)[7,7]
4.2475099528537506e+19
>>> invhilbert(16, exact=True)[7,7]
42475099528537378560

相关用法


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