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.ndarray triangular inferior L tal que A = 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 float de 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). eigenvalues es un array unidimensional de longitud N; eigenvectors es un array de N por N cuyas 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.ndarray de 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, list o range.

  • 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 único float. De lo contrario, la norma se reduce a lo largo de ese eje y se devuelve un numpy.ndarray.

Devuelve:

ya sea un float de Python (cuando axis es None o cuando x es un iterable distinto de un ndarray) o un numpy.ndarray con 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', Q tiene forma (M, M) y R tiene forma (M, N). En modo 'reduced', Q y R se truncan a las primeras min(M, N) columnas y filas respectivamente.

Devuelve:

una 2-tupla (Q, R) de objetos numpy.ndarray tal que m == Q @ R, con Q ortonormal y R triangular superior.

Muestra:

La descomposición se implementa mediante sucesivas rotaciones de Givens.