invhilbert#
- scipy.linalg.invhilbert(n, точный=False)[источник]#
Вычисление обратной матрицы Гильберта порядка n.
Элементы обратной матрицы Гильберта являются целыми числами. Когда n превышает 14, некоторые элементы обратной матрицы превышают верхний предел 64-битных целых чисел. The точный аргумент предоставляет два варианта обработки этих больших целых чисел.
- Параметры:
- nint
Порядок матрицы Гильберта.
- точныйbool, необязательно
Если False, тип данных возвращаемого массива — np.float64, и массив является приближением обратной матрицы. Если True, массив является точным целочисленным обратным массивом. Для представления точной обратной матрицы при n > 14 возвращаемый массив является объектным массивом длинных целых чисел. Для n <= 14 точная обратная матрица возвращается как массив с типом данных np.int64.
- Возвращает:
- invh(n, n) ndarray
Тип данных массива — np.float64, если точный равно False. Если точный если 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