當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。