numpy.linalg — Rotinas de álgebra linear¶
O submódulo numpy.linalg fornece uma pequena seleção de rotinas de álgebra linear que operam sobre objetos numpy.ndarray. As funções que operam sobre matrizes exigem arrays bidimensionais; passar arrays de dimensionalidade diferente levanta um ValueError. Tipos de dados complexos não são suportados por este submódulo.
Funções¶
- numpy.linalg.cholesky(A: ndarray) ndarray¶
Calcula a decomposição de Cholesky de uma matriz quadrada simétrica e definida positiva.
- Parâmetros:
A – uma matriz quadrada bidimensional, simétrica e definida positiva.
- Retorna:
uma
numpy.ndarraytriangular inferiorLtal queA = 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.
- Retorna:
o determinante de m como um
floatdo Python. O valor retornado é sempre um float, mesmo quando a entrada é um array de inteiros.- Levanta:
ValueError – se m não for quadrada.
O cálculo é realizado por eliminação gaussiana com pivotamento parcial.
- numpy.linalg.eig(m: ndarray) tuple[ndarray, ndarray]¶
Calcula os autovalores e autovetores de uma matriz quadrada real e simétrica.
- Parâmetros:
m – uma matriz quadrada bidimensional, real e simétrica.
- Retorna:
uma 2-tupla
(eigenvalues, eigenvectors).eigenvaluesé um array unidimensional de comprimentoN;eigenvectorsé um arrayN-por-Ncujas colunas são os autovetores 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.
- Retorna:
a inversa de m como uma
numpy.ndarrayde floats.- Levanta:
ValueError – se m não for quadrada ou for singular.
A inversão é realizada 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 – uma
numpy.ndarray,tuple,listourange.axis – eixo opcional ao longo do qual a norma é calculada. Se
None(o padrão), a norma é tomada sobre a entrada achatada e um únicofloaté retornado. Caso contrário, a norma é reduzida ao longo desse eixo e umanumpy.ndarrayé retornada.
- Retorna:
ou um
floatdo Python (quando axis éNoneou quando x é um iterável diferente de um ndarray) ou umanumpy.ndarraycom aquele eixo removido.
A norma 2 é calculada como
sqrt(sum(x*x))usando uma média móvel numericamente estável, de modo que a operação não exige armazenamento adicional proporcional ao tamanho da entrada.
- numpy.linalg.qr(m: ndarray, mode: str = 'reduced') tuple[ndarray, ndarray]¶
Fatora uma matriz como o produto de uma matriz ortonormal e uma matriz triangular superior.
- Parâmetros:
m – uma matriz bidimensional de formato
(M, N).mode – ou
'reduced'(padrão) ou'complete'. No modo'complete',Qtem formato(M, M)eRtem formato(M, N). No modo'reduced',QeRsão truncados, respectivamente, às primeirasmin(M, N)colunas e linhas.
- Retorna:
uma 2-tupla
(Q, R)de objetosnumpy.ndarraytal quem == Q @ R, comQortonormal eRtriangular superior.- Levanta:
TypeError – se m não for uma
numpy.ndarray.ValueError – se m não for bidimensional ou mode não for um dos valores aceitos.
A decomposição é implementada por meio de sucessivas rotações de Givens.