invpascal#
- scipy.linalg.invpascal(n, kind='symmetric', точный=True)[источник]#
Возвращает обратную матрицу Паскаля размера n x n.
Матрица Паскаля — это матрица, содержащая биномиальные коэффициенты как свои элементы.
- Параметры:
- nint
Размер создаваемой матрицы; то есть, результат - матрица n x n.
- kindstr, optional
Должно быть одним из 'symmetric', 'lower' или 'upper'. По умолчанию 'symmetric'.
- точныйbool, необязательно
Если точный is True, результат является либо массивом типа
numpy.int64(если n <= 35) или объектный массив целых чисел Python. Если точный равно False, коэффициенты в матрице вычисляются с использованиемscipy.special.combс exact=False. Результатом будет массив с плавающей запятой, и для больших n, значения в массиве не будут точными коэффициентами.
- Возвращает:
- invp(n, n) ndarray
Обратная матрица Паскаля.
Смотрите также
Примечания
Добавлено в версии 0.16.0.
Ссылки
[1]“Pascal matrix”, https://en.wikipedia.org/wiki/Pascal_matrix
[2]Коэн, А. М., «Обратная матрица Паскаля», Математический вестник, 59(408), стр. 111-112, 1975.
Примеры
>>> 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.]])
Пример использования kind и точный:
>>> 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.]])