scipy.linalg.

invhilbert#

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

Berechnet die Inverse der Hilbert-Matrix der Ordnung n.

Die Einträge in der Inversen einer Hilbert-Matrix sind ganze Zahlen. Wenn n größer als 14 ist, übersteigen einige Einträge in der Inversen die Obergrenze von 64-Bit-Ganzzahlen. Das Argument exact bietet zwei Optionen für den Umgang mit diesen großen Ganzzahlen.

Parameter:
nint

Die Ordnung der Hilbert-Matrix.

exactbool, optional

Wenn False, ist der Datentyp des zurückgegebenen Arrays np.float64 und das Array ist eine Annäherung der Inversen. Wenn True, ist das Array die exakte ganzzahlige inverse Array. Um die exakte Inverse für n > 14 darzustellen, ist das zurückgegebene Array ein Objekt-Array von langen Ganzzahlen. Für n <= 14 wird die exakte Inverse als Array mit dem Datentyp np.int64 zurückgegeben.

Rückgabe:
invh(n, n) ndarray

Der Datentyp des Arrays ist np.float64, wenn exact False ist. Wenn exact True ist, ist der Datentyp entweder np.int64 (für n <= 14) oder object (für n > 14). Im letzteren Fall sind die Objekte im Array lange Ganzzahlen.

Siehe auch

hilbert

Erstellt eine Hilbert-Matrix.

Hinweise

Hinzugefügt in Version 0.10.0.

Beispiele

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