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 функции като набор от множество масиви с желания размер. Така е възможно да се извършват операции върхумножество обекти.