scipy.linalg.

invpascal#

scipy.linalg.invpascal(n, kind='symmetric', exact=True)[Quelle]#

Gibt die Inverse der n x n Pascal-Matrix zurück.

Die Pascal-Matrix ist eine Matrix, die Binomialkoeffizienten als ihre Elemente enthält.

Parameter:
nint

Die Größe der zu erstellenden Matrix; das heißt, das Ergebnis ist eine n x n-Matrix.

kindstr, optional

Muss eine der Optionen 'symmetric', 'lower' oder 'upper' sein. Standard ist 'symmetric'.

exactbool, optional

Wenn exact True ist, ist das Ergebnis entweder ein Array vom Typ numpy.int64 (wenn n <= 35) oder ein Objekt-Array von Python-Ganzzahlen. Wenn exact False ist, werden die Koeffizienten in der Matrix mithilfe von scipy.special.comb mit exact=False berechnet. Das Ergebnis ist ein Gleitkomma-Array, und für große n sind die Werte im Array nicht die exakten Koeffizienten.

Rückgabe:
invp(n, n) ndarray

Die Inverse der Pascal-Matrix.

Siehe auch

pascal

Hinweise

Hinzugefügt in Version 0.16.0.

Referenzen

[2]

Cohen, A. M., „The inverse of a Pascal matrix“, Mathematical Gazette, 59(408), S. 111-112, 1975.

Beispiele

>>> from scipy.linalg import invpascal, pascal
>>> invp = invpascal(5)
>>> invp
array([[  5, -10,  10,  -5,   1],
       [-10,  30, -35,  19,  -4],
       [ 10, -35,  46, -27,   6],
       [ -5,  19, -27,  17,  -4],
       [  1,  -4,   6,  -4,   1]])
>>> p = pascal(5)
>>> p.dot(invp)
array([[ 1.,  0.,  0.,  0.,  0.],
       [ 0.,  1.,  0.,  0.,  0.],
       [ 0.,  0.,  1.,  0.,  0.],
       [ 0.,  0.,  0.,  1.,  0.],
       [ 0.,  0.,  0.,  0.,  1.]])

Ein Beispiel für die Verwendung von kind und exact

>>> invpascal(5, kind='lower', exact=False)
array([[ 1., -0.,  0., -0.,  0.],
       [-1.,  1., -0.,  0., -0.],
       [ 1., -2.,  1., -0.,  0.],
       [-1.,  3., -3.,  1., -0.],
       [ 1., -4.,  6., -4.,  1.]])