numpy.linalg — Routine di algebra lineare¶
Il sottomodulo numpy.linalg fornisce una piccola selezione di routine di algebra lineare che operano su oggetti numpy.ndarray. Le funzioni che operano su matrici richiedono array bidimensionali; passare array di dimensionalità diversa solleva un ValueError. I dtype complessi non sono supportati da questo sottomodulo.
Funzioni¶
- numpy.linalg.cholesky(A: ndarray) ndarray¶
Calcola la decomposizione di Cholesky di una matrice quadrata simmetrica e definita positiva.
- Parametri:
A – una matrice quadrata bidimensionale, simmetrica e definita positiva.
- Ritorna:
una
numpy.ndarraytriangolare inferioreLtale cheA = L @ L.T.- Solleva:
ValueError – se A non è quadrata, non è simmetrica oppure non è definita positiva.
- numpy.linalg.det(m: ndarray) float¶
Calcola il determinante di una matrice quadrata.
- Parametri:
m – una matrice quadrata bidimensionale.
- Ritorna:
il determinante di m come
floatdi Python. Il valore restituito è sempre un float, anche quando l’input è un array di interi.- Solleva:
ValueError – se m non è quadrata.
Il calcolo viene eseguito mediante eliminazione di Gauss con pivoting parziale.
- numpy.linalg.eig(m: ndarray) tuple[ndarray, ndarray]¶
Calcola gli autovalori e gli autovettori di una matrice quadrata reale e simmetrica.
- Parametri:
m – una matrice quadrata bidimensionale, reale e simmetrica.
- Ritorna:
una 2-tupla
(eigenvalues, eigenvectors).eigenvaluesè un array monodimensionale di lunghezzaN;eigenvectorsè un arrayN-per-Nle cui colonne sono i corrispondenti autovettori.- Solleva:
ValueError – se m non è quadrata, non è simmetrica, oppure se l’iterazione delle rotazioni di Jacobi non converge.
- numpy.linalg.inv(m: ndarray) ndarray¶
Calcola l’inversa di una matrice quadrata.
- Parametri:
m – una matrice quadrata bidimensionale.
- Ritorna:
l’inversa di m come
numpy.ndarraydi float.- Solleva:
ValueError – se m non è quadrata oppure è singolare.
L’inversione viene eseguita mediante eliminazione di Gauss-Jordan.
- numpy.linalg.norm(x: ndarray, axis: int | None = None) float | ndarray¶
Calcola la norma 2 di un vettore o di una matrice.
- Parametri:
x – una
numpy.ndarray, unatuple, unalistoppure unrange.axis – asse opzionale lungo il quale viene calcolata la norma. Se
None(valore predefinito), la norma viene calcolata sull’input appiattito e viene restituito un singolofloat. Altrimenti la norma viene ridotta lungo tale asse e viene restituita unanumpy.ndarray.
- Ritorna:
un
floatdi Python (quando axis èNoneo quando x è un iterabile diverso da un ndarray) oppure unanumpy.ndarraycon quell’asse rimosso.
La norma 2 viene calcolata come
sqrt(sum(x*x))utilizzando una media incrementale numericamente stabile, in modo che l’operazione non richieda spazio di memorizzazione aggiuntivo proporzionale alla dimensione dell’input.
- numpy.linalg.qr(m: ndarray, mode: str = 'reduced') tuple[ndarray, ndarray]¶
Fattorizza una matrice come prodotto di una matrice ortonormale e di una matrice triangolare superiore.
- Parametri:
m – una matrice bidimensionale di forma
(M, N).mode –
'reduced'(predefinito) oppure'complete'. In modalità'complete',Qha forma(M, M)eRha forma(M, N). In modalità'reduced',QeRsono troncate rispettivamente alle primemin(M, N)colonne e righe.
- Ritorna:
una 2-tupla
(Q, R)di oggettinumpy.ndarraytali chem == Q @ R, conQortonormale eRtriangolare superiore.- Solleva:
TypeError – se m non è una
numpy.ndarray.ValueError – se m non è bidimensionale oppure se mode non è uno dei valori accettati.
La decomposizione è implementata tramite rotazioni di Givens successive.