numpy.linalg — Rotinas de álgebra linear

The numpy.linalg submodule provides a small selection of linear-algebra routines that operate on numpy.ndarray objects. Functions that operate on matrices require two-dimensional arrays; passing arrays of a different dimensionality raises a ValueError.

Funções

numpy.linalg.cholesky(A: ndarray) ndarray

Calcula a decomposição de Cholesky de uma matriz quadrada simétrica definida positiva.

Parâmetros:

A – uma matriz quadrada simétrica bidimensional definida positiva.

Retorno:

um numpy.ndarray triangular inferior L tal que A = L @ L.T.

Levanta:

ValueError – se A não for quadrada, não for simétrica ou não for definida positiva.

numpy.linalg.det(m: ndarray) float

Calcula o determinante de uma matriz quadrada.

Parâmetros:

m – uma matriz quadrada bidimensional.

Retorno:

o determinante de m como um float de Python. O valor de retorno é sempre um float, mesmo quando a entrada é um array de inteiros.

Levanta:

ValueError – se m não for quadrada.

O cálculo é efectuado por eliminação gaussiana com pivotagem parcial.

numpy.linalg.eig(m: ndarray) tuple[ndarray, ndarray]

Calcula os valores próprios e vetores próprios de uma matriz quadrada simétrica real.

Parâmetros:

m – uma matriz quadrada simétrica real bidimensional.

Retorno:

um 2-tuplo (eigenvalues, eigenvectors). eigenvalues é um array unidimensional de comprimento N; eigenvectors é um array N-por-N cujas colunas são os vetores próprios correspondentes.

Levanta:

ValueError – se m não for quadrada, não for simétrica, ou se a iteração de rotação de Jacobi não convergir.

numpy.linalg.inv(m: ndarray) ndarray

Calcula a inversa de uma matriz quadrada.

Parâmetros:

m – uma matriz quadrada bidimensional.

Retorno:

a inversa de m como um numpy.ndarray de floats.

Levanta:

ValueError – se m não for quadrada ou for singular.

A inversão é efectuada por eliminação de Gauss-Jordan.

numpy.linalg.norm(x: ndarray, axis: int | None = None) float | ndarray

Calcula a norma-2 de um vetor ou matriz.

Parâmetros:
  • x – um numpy.ndarray, tuple, list ou range.

  • axis – eixo opcional ao longo do qual a norma é calculada. Se None (predefinição), a norma é calculada sobre a entrada aplanada e é devolvido um único float. Caso contrário, a norma é reduzida ao longo desse eixo e é devolvido um numpy.ndarray.

Retorno:

um float de Python (quando axis é None ou quando x é um iterável diferente de ndarray) ou um numpy.ndarray com esse eixo removido.

A norma-2 é calculada como sqrt(sum(x*x)) utilizando uma média em execução numericamente estável, pelo que a operação não requer armazenamento adicional proporcional ao tamanho da entrada.

numpy.linalg.qr(m: ndarray, mode: str = 'reduced') tuple[ndarray, ndarray]

Factoriza uma matriz como produto de uma matriz ortonormal e uma matriz triangular superior.

Parâmetros:
  • m – uma matriz bidimensional de forma (M, N).

  • mode'reduced' (predefinição) ou 'complete'. No modo 'complete', Q tem forma (M, M) e R tem forma (M, N). No modo 'reduced', Q e R são truncados às primeiras min(M, N) colunas e linhas, respectivamente.

Retorno:

um 2-tuplo (Q, R) de objetos numpy.ndarray tais que m == Q @ R, com Q ortonormal e R triangular superior.

Levanta:

A decomposição é implementada através de rotações de Givens sucessivas.