Разреженная линейная алгебра (scipy.sparse.linalg)#

Абстрактные линейные операторы#

LinearOperator(*args, **kwargs)

Общий интерфейс для выполнения матрично-векторных произведений

aslinearoperator(A)

Возвращает A как LinearOperator.

Матричные операции#

inv(A)

Вычислить обратную разреженную матрицу

expm(A)

Вычислить матричную экспоненту с использованием аппроксимации Паде.

expm_multiply(A, B[, start, stop, num, ...])

Вычислить действие матричной экспоненты A на B.

matrix_power(A, степень)

Возвести квадратную матрицу в целую степень, степень.

Матричные нормы#

norm(x[, ord, axis])

Норма разреженной матрицы

onenormest(A[, t, itmax, compute_v, compute_w])

Вычислить нижнюю границу 1-нормы разреженного массива.

Решение линейных задач#

Прямые методы для систем линейных уравнений:

spsolve(A, b[, permc_spec, use_umfpack])

Решите разреженную линейную систему Ax=b, где b может быть вектором или матрицей.

spsolve_triangular(A, b[, lower, ...])

Решить уравнение A x = b для x, предполагая, что A является треугольной матрицей.

is_sptriangular(A)

Возвращает 2-кортеж, указывающий нижнюю/верхнюю треугольную структуру для разреженных A

spbandwidth(A)

Возвращает нижнюю и верхнюю полосу пропускания двумерного числового массива.

factorized(A)

Вернуть функцию для решения разреженной линейной системы с предварительно факторизованной матрицей A.

MatrixRankWarning

Предупреждение для точно сингулярных матриц.

use_solver(**kwargs)

Выбрать решатель разреженных прямых систем по умолчанию.

Итеративные методы для систем линейных уравнений:

bicg(A, b[, x0, rtol, atol, maxiter, M, ...])

Решить Ax = b с методом бисопряжённых градиентов.

bicgstab(A, b[, x0, rtol, atol, maxiter, M, ...])

Решить Ax = b с использованием метода BIConjugate Gradient STABilized.

cg(A, b[, x0, rtol, atol, maxiter, M, callback])

Решить Ax = b с методом сопряжённых градиентов, для симметричной, положительно определённой A.

cgs(A, b[, x0, rtol, atol, maxiter, M, callback])

Решить Ax = b с использованием метода сопряжённых градиентов в квадрате.

gmres(A, b[, x0, rtol, atol, restart, ...])

Решить Ax = b с использованием метода обобщенных минимальных невязок.

lgmres(A, b[, x0, rtol, atol, maxiter, M, ...])

Решить Ax = b с алгоритмом LGMRES.

minres(A, b[, x0, rtol, shift, maxiter, M, ...])

Решить Ax = b методом MINimum RESidual для симметричной A.

qmr(A, b[, x0, rtol, atol, maxiter, M1, M2, ...])

Решить Ax = b с помощью метода квазиминимальных невязок.

gcrotmk(A, b[, x0, rtol, atol, maxiter, M, ...])

Решить Ax = b с гибким алгоритмом GCROT(m,k).

tfqmr(A, b[, x0, rtol, atol, maxiter, M, ...])

Решить Ax = b с использованием метода Transpose-Free Quasi-Minimal Residual.

Итеративные методы для задач наименьших квадратов:

lsqr(A, b[, damp, atol, btol, conlim, ...])

Найти решение методом наименьших квадратов для большой, разреженной, линейной системы уравнений.

lsmr(A, b[, damp, atol, btol, conlim, ...])

Итеративный решатель для задач наименьших квадратов.

Матричные разложения#

Проблемы собственных значений:

eigs(A[, k, M, sigma, which, v0, ncv, ...])

Найти k собственных значений и собственных векторов квадратной матрицы A.

eigsh(A[, k, M, sigma, which, v0, ncv, ...])

Найти k собственных значений и собственных векторов вещественной симметричной квадратной матрицы или комплексной эрмитовой матрицы A.

lobpcg(A, X[, B, M, Y, tol, maxiter, ...])

Метод локально оптимального блочного предобусловленного сопряженного градиента (LOBPCG).

Проблемы сингулярных значений:

svds(A[, k, ncv, tol, which, v0, maxiter, ...])

Частичное разложение по сингулярным числам разреженной матрицы.

The svds функция поддерживает следующие решатели:

Полные или неполные LU-разложения

splu(A[, permc_spec, diag_pivot_thresh, ...])

Вычисление LU-разложения разреженной квадратной матрицы.

spilu(A[, drop_tol, fill_factor, drop_rule, ...])

Вычислить неполное LU-разложение для разреженной квадратной матрицы.

SuperLU()

LU-факторизация разреженной матрицы.

Разреженные массивы со структурой#

LaplacianNd(*args, **kwargs)

Сеточный лапласиан в N размерности и его собственные значения/собственные векторы.

Исключения#

ArpackNoConvergence(msg, eigenvalues, ...)

Итерация ARPACK не сошлась

ArpackError(info[, infodict])

Ошибка ARPACK