Algebra lineare con NumPy
np.dot, np.linalg.inv, np.linalg.eig, np.linalg.solve per i sistemi di equazioni.
Algebra lineare con NumPy è una lezione Learn AI with Python gratuita su CoddyKit. Questa è la lezione 4 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Learn AI with Python, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Learn AI with Python include 4 lezioni in totale.
Algebra lineare in NumPy
NumPy fornisce operazioni matriciali tramite l'operatore @ e il modulo np.linalg, alla base di quasi tutti gli algoritmi di machine learning.
Moltiplicazione di matrici con @
L'operatore @ esegue una vera moltiplicazione matriciale. Le dimensioni interne devono coincidere: (m,k) @ (k,n) produce (m,n).
import numpy as np
A = np.array([[1, 2], [3, 4]])
B = np.array([[5, 6], [7, 8]])
print(A @ B)
# [[19 22]
# [43 50]]@ vs * (importante!)
* è elemento per elemento, mentre @ esegue una moltiplicazione matriciale. Confonderli è un errore classico.
print(A * B) # element-wise: [[ 5 12]
# [21 32]]
print(A @ B) # matrix product (different result)np.dot
np.dot è la forma funzionale. Per gli array 2D equivale a @; per gli array 1D calcola il prodotto scalare (uno scalare).
u = np.array([1, 2, 3])
v = np.array([4, 5, 6])
print(np.dot(u, v)) # 1*4 + 2*5 + 3*6 = 32Matrice inversa
np.linalg.inv(A) restituisce l'inversa, la matrice che, moltiplicata per A, produce la matrice identità. Solo le matrici quadrate non singolari ne possiedono una.
A = np.array([[4.0, 7.0], [2.0, 6.0]])
Ainv = np.linalg.inv(A)
print(np.round(A @ Ainv, 6)) # identityDeterminante
np.linalg.det(A) restituisce il determinante. Un determinante pari a 0 indica che la matrice è singolare e non può essere invertita.
print(np.linalg.det(A)) # 10.0 (nonzero -> invertible)Risoluzione dei sistemi lineari
Per risolvere A x = b, preferisca np.linalg.solve(A, b) al calcolo dell'inversa. È più veloce e numericamente più stabile.
A = np.array([[3.0, 1.0], [1.0, 2.0]])
b = np.array([9.0, 8.0])
x = np.linalg.solve(A, b)
print(x) # [2. 3.]Perché usare solve invece di inv
Calcolare inv(A) @ b è uno spreco di lavoro e amplifica l'errore di arrotondamento. solve utilizza direttamente la decomposizione LU. Nel codice reale, scelga solve.
# Avoid: x = np.linalg.inv(A) @ b
# Prefer: x = np.linalg.solve(A, b)Autovalori e autovettori
np.linalg.eig(A) restituisce autovalori e autovettori. Questi sono alla base della PCA, dell'analisi della stabilità e di molto altro.
A = np.array([[2.0, 0.0], [0.0, 3.0]])
vals, vecs = np.linalg.eig(A)
print(vals) # [2. 3.]Norme di vettori e matrici
np.linalg.norm misura il modulo. Per impostazione predefinita è la norma euclidea (L2) dei vettori, utilizzata in contesti che vanno dalle distanze alla regolarizzazione.
v = np.array([3.0, 4.0])
print(np.linalg.norm(v)) # 5.0 (sqrt(9+16))
print(np.linalg.norm(v, 1)) # 7.0 (L1 norm)Trasposta
A.T calcola la trasposta di una matrice, scambiando righe e colonne. Compare continuamente in formule come le equazioni normali.
A = np.array([[1, 2, 3], [4, 5, 6]])
print(A.T)
# [[1 4]
# [2 5]
# [3 6]]Verifica rapida
Verifichi quanto ricorda dell'algebra lineare.
Riepilogo
Strumenti di algebra lineare:
@/np.dotper prodotti matriciali e scalari (non*)np.linalg.inv,np.linalg.detnp.linalg.solve(A, b)è preferibile all'inversionenp.linalg.eigper la decomposizione agli autovalorinp.linalg.normper i moduli,A.Tper la trasposizione
Domande Frequenti
La lezione «Algebra lineare con NumPy» è gratuita?
Sì — il testo completo di «Algebra lineare con NumPy» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Learn AI with Python, passa a CoddyKit PRO. Il corso Learn AI with Python include 4 lezioni in totale.
Cosa imparerò in «Algebra lineare con NumPy»?
np.dot, np.linalg.inv, np.linalg.eig, np.linalg.solve per i sistemi di equazioni. Eserciti Learn AI with Python con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.
Ho bisogno di esperienza per iniziare Learn AI with Python?
Non è richiesta alcuna esperienza precedente. Learn AI with Python su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 4 di 4.
Quanto tempo richiede la lezione «Algebra lineare con NumPy»?
La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.
Posso scrivere ed eseguire codice in questa lezione Learn AI with Python?
Sì. Ogni lezione Learn AI with Python include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.
Tutte le lezioni di questo corso
- Creazione e proprietà degli array
- Indicizzazione, slicing e fancy indexing
- Broadcasting e operazioni vettorializzate
- Algebra lineare con NumPy