spdiags#
- scipy.sparse.spdiags(данные, diags, m=None, n=None, формат=None)[источник]#
Верните разреженную матрицу из диагоналей.
Предупреждение
Эта функция возвращает разреженную матрицу, а не разреженный массив. Рекомендуется использовать
dia_arrayчтобы воспользоваться функциональностью разреженных массивов. (См. примечания ниже.)- Параметры:
- данныеarray_like
Диагонали матрицы, хранящиеся построчно
- diagsпоследовательность целых чисел или целое число
Диагонали для установки:
k = 0 главная диагональ
k > 0 k-я верхняя диагональ
k < 0 k-я нижняя диагональ
- m, nint, tuple, optional
Форма результата. Если n равно None и m является заданным кортежем, форма является этим кортежем. Если опущено, матрица квадратная и её форма
len(data[0]).- форматstr, optional
Формат результата. По умолчанию (format=None) возвращается подходящий формат разреженной матрицы. Этот выбор может измениться.
- Возвращает:
- new_matrixразреженная матрица
dia_matrixформат со значениями вdataна диагоналях отdiags.
Смотрите также
diags_arrayболее удобная форма этой функции
diagsматричная версия diags_array
dia_matrixразреженный DIAгональный формат.
Примечания
Эту функцию можно заменить эквивалентным вызовом
dia_matrixкак:dia_matrix((data, diags), shape=(m, n)).asformat(format)
Примеры
>>> import numpy as np >>> from scipy.sparse import spdiags >>> data = np.array([[1, 2, 3, 4], [1, 2, 3, 4], [1, 2, 3, 4]]) >>> diags = np.array([0, -1, 2]) >>> spdiags(data, diags, 4, 4).toarray() array([[1, 0, 3, 0], [1, 2, 0, 4], [0, 2, 3, 0], [0, 0, 3, 4]])