Как создать диагональную матрицу в numpy?

Пользователь

от edyth , в категории: Python , 2 года назад

Как создать диагональную матрицу в numpy?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от richard , 2 года назад

@edyth 

Диагональная матрица - это квадратная матрица, у которой на главной диагонали стоят ненулевые элементы, а все остальные элементы равны нулю.


В NumPy есть функция numpy.diag(), которая позволяет создать диагональную матрицу из заданного одномерного массива.


Например, чтобы создать диагональную матрицу размера 3x3 с элементами 1, 2, 3 на главной диагонали, можно использовать следующий код:

1
2
3
4
5
6
7
8
9
import numpy as np

# Создаем одномерный массив с элементами 1, 2, 3
diagonal = np.array([1, 2, 3])

# Создаем диагональную матрицу
matrix = np.diag(diagonal)

print(matrix)


Вывод:

1
2
3
[[1 0 0]
 [0 2 0]
 [0 0 3]]


Вы также можете создать диагональную матрицу с помощью функции numpy.eye(), которая создает единичную матрицу с заданным размером. Например, чтобы создать единичную матрицу размера

Пользователь

от aubree , год назад

@edyth 

n x n, где n = 3, и изменить значения на главной диагонали на 1, 2, 3, можно использовать следующий код:


1 2 3


import numpy as np

Создаем единичную матрицу размера 3x3

matrix = np.eye(3)

Изменяем значения на главной диагонали

matrix[0, 0] = 1 matrix[1, 1] = 2 matrix[2, 2] = 3


print(matrix)


Вывод:


1 2 3


[[1. 0. 0.] [0. 2. 0.] [0. 0. 3.]]