numpy.linalg.diagonal#
- linalg.диагональ(x, /, *, смещение=0)[источник]#
Возвращает указанные диагонали матрицы (или стека матриц)
x.Эта функция совместима с Array API, в отличие от
numpy.diagonal, предполагается, что матрица определена последними двумя измерениями.- Параметры:
- x(…,M,N) array_like
Входной массив с формой (…, M, N), чьи два внутренних измерения образуют матрицы MxN.
- смещениеint, необязательный
Смещение, указывающее на побочную диагональ относительно главной диагонали, где:
* offset = 0: the main diagonal. * offset > 0: off-diagonal above the main diagonal. * offset < 0: off-diagonal below the main diagonal.
- Возвращает:
- выход(…,min(N,M)) ndarray
Массив, содержащий диагонали, чья форма определяется путем удаления последних двух измерений и добавления измерения, равного размеру результирующих диагоналей. Возвращаемый массив должен иметь тот же тип данных, что и
x.
Смотрите также
Примеры
>>> a = np.arange(4).reshape(2, 2); a array([[0, 1], [2, 3]]) >>> np.linalg.diagonal(a) array([0, 3])
Пример в 3-D:
>>> a = np.arange(8).reshape(2, 2, 2); a array([[[0, 1], [2, 3]], [[4, 5], [6, 7]]]) >>> np.linalg.diagonal(a) array([[0, 3], [4, 7]])
Диагонали, смежные с главной диагональю, могут быть получены с помощью смещение аргумент:
>>> a = np.arange(9).reshape(3, 3) >>> a array([[0, 1, 2], [3, 4, 5], [6, 7, 8]]) >>> np.linalg.diagonal(a, offset=1) # First superdiagonal array([1, 5]) >>> np.linalg.diagonal(a, offset=2) # Second superdiagonal array([2]) >>> np.linalg.diagonal(a, offset=-1) # First subdiagonal array([3, 7]) >>> np.linalg.diagonal(a, offset=-2) # Second subdiagonal array([6])
Антидиагональ может быть получена обратным порядком элементов с использованием либо
numpy.flipudилиnumpy.fliplr.>>> a = np.arange(9).reshape(3, 3) >>> a array([[0, 1, 2], [3, 4, 5], [6, 7, 8]]) >>> np.linalg.diagonal(np.fliplr(a)) # Horizontal flip array([2, 4, 6]) >>> np.linalg.diagonal(np.flipud(a)) # Vertical flip array([6, 4, 2])
Обратите внимание, что порядок, в котором извлекается диагональ, варьируется в зависимости от функции переворота.