numpy.linalg — Rutinas de álgebra lineal¶
El submódulo numpy.linalg proporciona una pequeña selección de rutinas de álgebra lineal que operan sobre objetos numpy.ndarray. Las funciones que operan sobre matrices requieren arrays bidimensionales; pasar arrays de una dimensionalidad diferente genera un ValueError. Este submódulo no admite dtypes complejos.
Funciones¶
- numpy.linalg.cholesky(A: ndarray) ndarray¶
Calcula la descomposición de Cholesky de una matriz cuadrada simétrica y definida positiva.
- Parámetros:
A – una matriz cuadrada bidimensional, simétrica y definida positiva.
- Devuelve:
un
numpy.ndarraytriangular inferiorLtal queA = L @ L.T.- Muestra:
ValueError – si A no es cuadrada, no es simétrica o no es definida positiva.
- numpy.linalg.det(m: ndarray) float¶
Calcula el determinante de una matriz cuadrada.
- Parámetros:
m – una matriz cuadrada bidimensional.
- Devuelve:
el determinante de m como un
floatde Python. El valor devuelto es siempre un float, incluso cuando la entrada es un array de enteros.- Muestra:
ValueError – si m no es cuadrada.
El cálculo se realiza mediante eliminación gaussiana con pivoteo parcial.
- numpy.linalg.eig(m: ndarray) tuple[ndarray, ndarray]¶
Calcula los autovalores y autovectores de una matriz cuadrada real y simétrica.
- Parámetros:
m – una matriz cuadrada bidimensional, real y simétrica.
- Devuelve:
una 2-tupla
(eigenvalues, eigenvectors).eigenvalueses un array unidimensional de longitudN;eigenvectorses un array deNporNcuyas columnas son los autovectores correspondientes.- Muestra:
ValueError – si m no es cuadrada, no es simétrica, o si la iteración de rotación de Jacobi no logra converger.
- numpy.linalg.inv(m: ndarray) ndarray¶
Calcula la inversa de una matriz cuadrada.
- Parámetros:
m – una matriz cuadrada bidimensional.
- Devuelve:
la inversa de m como un
numpy.ndarrayde tipo float.- Muestra:
ValueError – si m no es cuadrada o es singular.
La inversión se realiza mediante eliminación de Gauss-Jordan.
- numpy.linalg.norm(x: ndarray, axis: int | None = None) float | ndarray¶
Calcula la norma 2 de un vector o matriz.
- Parámetros:
x – un
numpy.ndarray,tuple,listorange.axis – eje opcional a lo largo del cual se calcula la norma. Si es
None(el valor predeterminado), la norma se toma sobre la entrada aplanada y se devuelve un únicofloat. De lo contrario, la norma se reduce a lo largo de ese eje y se devuelve unnumpy.ndarray.
- Devuelve:
ya sea un
floatde Python (cuando axis esNoneo cuando x es un iterable distinto de un ndarray) o unnumpy.ndarraycon ese eje eliminado.
La norma 2 se calcula como
sqrt(sum(x*x))usando una media móvil numéricamente estable, de modo que la operación no requiere almacenamiento adicional proporcional al tamaño de la entrada.
- numpy.linalg.qr(m: ndarray, mode: str = 'reduced') tuple[ndarray, ndarray]¶
Factoriza una matriz como el producto de una matriz ortonormal y una matriz triangular superior.
- Parámetros:
m – una matriz bidimensional de forma
(M, N).mode – ya sea
'reduced'(predeterminado) o'complete'. En modo'complete',Qtiene forma(M, M)yRtiene forma(M, N). En modo'reduced',QyRse truncan a las primerasmin(M, N)columnas y filas respectivamente.
- Devuelve:
una 2-tupla
(Q, R)de objetosnumpy.ndarraytal quem == Q @ R, conQortonormal yRtriangular superior.- Muestra:
TypeError – si m no es un
numpy.ndarray.ValueError – si m no es bidimensional o mode no es uno de los valores aceptados.
La descomposición se implementa mediante sucesivas rotaciones de Givens.