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 vonscipy.special.combmit 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
Hinweise
Hinzugefügt in Version 0.16.0.
Referenzen
[1]„Pascal-Matrix“, https://en.wikipedia.org/wiki/Pascal_matrix
[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.]])