scipy.linalg.invhilbert

scipy.linalg.invhilbert(n, exact=False)[源代码]

阶希尔伯特矩阵的求逆 n

希尔伯特矩阵的逆中的项是整数。什么时候 n 大于14,则反转中的某些条目超过了64位整数的上限。这个 exact 参数提供了两个选项来处理这些大整数。

参数
n集成

希尔伯特矩阵的阶数。

exact布尔值,可选

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

退货
invh(n,n)ndarray

如果满足以下条件,则数组的数据类型为np.float64 exact 是假的。如果 exact 为True,则数据类型为np.int64(对于n<=14)或Object(对于n>14)。在后一种情况下,数组中的对象将是长整数。

参见

hilbert

创建一个希尔伯特矩阵。

注意事项

0.10.0 新版功能.

示例

>>> 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