numpy.polynomial.laguerre.lagvander3d#

polynomial.laguerre.lagvander3d(x, y, z, deg)[источник]#

Псевдо-матрица Вандермонда заданных степеней.

Возвращает псевдо-матрицу Вандермонда степеней deg и точки выборки (x, y, z). Если l, m, n являются заданными степенями в x, y, z, тогда псевдо-матрица Вандермонда определяется как

\[V[..., (m+1)(n+1)i + (n+1)j + k] = L_i(x)*L_j(y)*L_k(z),\]

где 0 <= i <= l, 0 <= j <= m, и 0 <= j <= n. Ведущие индексы V индексировать точки (x, y, z) и последний индекс кодирует степени полиномов Лагерра.

Если V = lagvander3d(x, y, z, [xdeg, ydeg, zdeg]), тогда столбцы V соответствуют элементам трехмерного массива коэффициентов c формы (xdeg + 1, ydeg + 1, zdeg + 1) в порядке

\[c_{000}, c_{001}, c_{002},... , c_{010}, c_{011}, c_{012},...\]

и np.dot(V, c.flat) и lagval3d(x, y, z, c) будет одинаковым с точностью до округления. Эта эквивалентность полезна как для метода наименьших квадратов подгонки, так и для вычисления большого количества трёхмерных рядов Лагерра одинаковых степеней и точек выборки.

Параметры:
x, y, zarray_like

Массивы координат точек, все одинаковой формы. Типы данных будут преобразованы в float64 или complex128 в зависимости от того, являются ли какие-либо элементы комплексными. Скаляры преобразуются в одномерные массивы.

degсписок целых чисел

Список максимальных степеней вида [x_deg, y_deg, z_deg].

Возвращает:
документация:ndarray

Форма возвращаемой матрицы равна x.shape + (order,), где \(order = (deg[0]+1)*(deg[1]+1)*(deg[2]+1)\). Тип данных будет таким же, как преобразованный x, y, и z.

Смотрите также

lagvander, lagvander3d, lagval2d, lagval3d

Примеры

>>> import numpy as np
>>> from numpy.polynomial.laguerre import lagvander3d
>>> x = np.array([0])
>>> y = np.array([2])
>>> z = np.array([0])
>>> lagvander3d(x, y, z, [2, 1, 3])
array([[ 1.,  1.,  1.,  1., -1., -1., -1., -1.,  1.,  1.,  1.,  1., -1.,
        -1., -1., -1.,  1.,  1.,  1.,  1., -1., -1., -1., -1.]])