В Python матрица — это двумерный массив, состоящий из строк и столбцов. Иногда необходимо создать матрицу с единицами только на диагональных элементах. В этой статье мы рассмотрим различные методы выполнения этой задачи на примерах кода Python.
Метод 1: использование вложенных циклов
def create_matrix_diagonal(n):
matrix = [[0] * n for _ in range(n)]
for i in range(n):
matrix[i][i] = 1
return matrix
# Example usage
matrix = create_matrix_diagonal(4)
print(matrix)
Метод 2: использование NumPy
import numpy as np
def create_matrix_diagonal(n):
matrix = np.eye(n)
return matrix
# Example usage
matrix = create_matrix_diagonal(4)
print(matrix)
Метод 3: использование SciPy
import scipy.sparse as sp
def create_matrix_diagonal(n):
matrix = sp.eye(n).toarray()
return matrix
# Example usage
matrix = create_matrix_diagonal(4)
print(matrix)
Метод 4. Использование диагональной функции NumPy
import numpy as np
def create_matrix_diagonal(n):
matrix = np.diag([1] * n)
return matrix
# Example usage
matrix = create_matrix_diagonal(4)
print(matrix)
Метод 5: использование понимания списка
def create_matrix_diagonal(n):
matrix = [[1 if i == j else 0 for j in range(n)] for i in range(n)]
return matrix
# Example usage
matrix = create_matrix_diagonal(4)
print(matrix)
Метод 6: использование разреженной матрицы
import scipy.sparse as sp
def create_matrix_diagonal(n):
matrix = sp.lil_matrix((n, n))
for i in range(n):
matrix[i, i] = 1
return matrix.toarray()
# Example usage
matrix = create_matrix_diagonal(4)
print(matrix)
В этой статье мы рассмотрели шесть различных методов создания матрицы Python, в которых используются только диагональные элементы. Эти методы включают использование вложенных циклов, NumPy, SciPy, диагональной функции NumPy, понимания списков и разреженных матриц. В зависимости от ваших конкретных требований и доступных вам библиотек вы можете выбрать метод, который лучше всего соответствует вашим потребностям.