NumPy част 4 linalg, Python 3 за начинаещи и манекени
В предишните части се занимавахме с основните операции с масиви и произволни в NumPy. Сега ще преминем към по-сериозни неща, които са в NumPy. Първи поред имаме модула numpy.linalg, който ни позволява да правим много операции от линейната алгебра.
степенуване
linalg.matrix_power(M, n) - повдига матрицата на степен n.
разширения
linalg.cholesky(a) - разлагане на Cholesky.
linalg.qr(a[, режим]) - QR разлагане.
linalg.svd(a[, full_matrices, compute_uv]) - разлагане на сингулярна стойност.
Някои характеристики на матриците
linalg.eig(a) - собствени стойности и собствени вектори.
linalg.norm(x[, ord, axis]) - векторна или операторна норма.
linalg.cond(x[, p]) - номер на условие.
linalg.slogdet(a) - знак и логаритъм на детерминантата (за да се избегне препълване, ако самата детерминанта е много малка).
Системи уравнения
linalg.solve(a, b) - решава системата от линейни уравнения Ax = b.
linalg.tensorsolve(a, b[, оси]) - решава тензорната система от линейни уравнения Ax = b.
linalg.lstsq(a, b[, rcond]) - метод на най-малките квадрати.
linalg.inv(a) - обратна матрица.
- linalg.LinAlgError- изключение, хвърлено от тези функции в случай на повреда (например, когато се опитвате да вземете обратната матрица от изродена).
- Подробна документация, както винаги, на английски: https://docs.scipy.org/doc/numpy/reference/routines.linalg.html
- По-големите масиви се интерпретират в повечето linalg функции като набор от множество масиви с желания размер. Така е възможно да се извършват операции върхумножество обекти.