lil_matrix#
- класс scipy.sparse.lil_matrix(arg1, shape=None, dtype=None, copy=False, *, maxprint=None)[источник]#
Разреженная матрица на основе списка списков по строкам.
Это структура для инкрементального построения разреженных матриц. Обратите внимание, что вставка одного элемента может занимать линейное время в худшем случае; для эффективного построения матрицы убедитесь, что элементы предварительно отсортированы по индексу, для каждой строки.
- Это может быть создано несколькими способами:
- lil_matrix(D)
где D — это 2-D ndarray
- lil_matrix(S)
с другой разреженной матрицей или массивом S (эквивалентно S.tolil())
- lil_matrix((M, N), [dtype])
для создания пустой матрицы с формой (M, N) dtype опционален, по умолчанию dtype='d'.
- Атрибуты:
Методы
__len__()__mul__(other)asformat(format[, copy])Вернуть этот массив/матрицу в переданном формате.
asfptype()Приведение матрицы к формату с плавающей точкой (при необходимости)
astype(dtype[, casting, copy])Привести элементы массива/матрицы к указанному типу.
conj([copy])Поэлементное комплексное сопряжение.
conjugate([copy])Поэлементное комплексное сопряжение.
copy()Возвращает копию этого массива/матрицы.
count_nonzero([axis])Количество ненулевых элементов, эквивалентно
diagonal([k])Возвращает k-ю диагональ массива/матрицы.
dot(other)Обычное скалярное произведение
getH()Возвращает эрмитово сопряжённую матрицу.
Получить форму матрицы
getcol(j)Возвращает копию столбца j матрицы в виде разреженной матрицы (m x 1) (вектор-столбец).
Формат хранения матрицы
Максимальное количество элементов для отображения при печати.
getnnz([axis])Количество хранимых значений, включая явные нули.
getrow(i)Возвращает копию строки i матрицы в виде разреженной матрицы (1 x n) (вектор-строка).
getrowview(i)Возвращает представление i-й строки (без копирования).
maximum(other)Поэлементный максимум между этим и другим массивом/матрицей.
mean([axis, dtype, out])Вычисляет среднее арифметическое вдоль указанной оси.
minimum(other)Поэлементный минимум между этим и другим массивом/матрицей.
multiply(other)Поэлементное умножение на другой массив/матрицу.
nonzero()Ненулевые индексы массива/матрицы.
power(n[, dtype])Поэлементное возведение в степень.
reshape(self, shape[, order, copy])Придаёт новую форму разреженному массиву/матрице без изменения данных.
resize(*shape)Изменить размер массива/матрицы на месте до размеров, заданных
shapeset_shape(форма)Установить форму матрицы на месте
setdiag(values[, k])Установить диагональные или внедиагональные элементы массива/матрицы.
sum([axis, dtype, out])Суммировать элементы массива/матрицы по заданной оси.
toarray([order, out])Возвращает плотное представление ndarray для этого разреженного массива/матрицы.
tobsr([blocksize, copy])Преобразовать этот массив/матрицу в формат Block Sparse Row.
tocoo([copy])Преобразование этого массива/матрицы в формат COOrdinate.
tocsc([copy])Преобразовать этот массив/матрицу в формат сжатого разреженного столбца.
tocsr([copy])Преобразовать этот массив/матрицу в формат сжатых строк (CSR).
todense([order, out])Вернуть плотное представление этой разреженной матрицы.
todia([copy])Преобразовать этот массив/матрицу в разреженный DIAгональный формат.
todok([copy])Преобразовать этот массив/матрицу в формат Dictionary Of Keys.
tolil([copy])Преобразовать этот массив/матрицу в формат List of Lists.
trace([offset])Возвращает сумму по диагоналям разреженного массива/матрицы.
transpose([axes, copy])Обращает размерности разреженного массива/матрицы.
__getitem__
Примечания
Разреженные матрицы можно использовать в арифметических операциях: они поддерживают сложение, вычитание, умножение, деление и возведение матрицы в степень.
- Преимущества формата LIL
поддерживает гибкое срезание
изменения в структуре разреженности матрицы эффективны
- Недостатки формата LIL
арифметические операции LIL + LIL медленные (рассмотрите CSR или CSC)
медленное срезание столбцов (рассмотреть CSC)
медленные матрично-векторные произведения (рассмотрите CSR или CSC)
- Предполагаемое использование
LIL — удобный формат для построения разреженных матриц
после построения матрицы преобразуйте в формат CSR или CSC для быстрых арифметических операций и операций с матрицами-векторами
рассмотрите использование формата COO при построении больших матриц
- Структура данных
Массив (
self.rows) строк, каждая из которых представляет собой отсортированный список индексов столбцов ненулевых элементов.Соответствующие ненулевые значения хранятся аналогичным образом в
self.data.