0Pricing
Learn AI with Python · Lezione

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 = 32

Matrice 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))   # identity

Determinante

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.dot per prodotti matriciali e scalari (non *)
  • np.linalg.inv, np.linalg.det
  • np.linalg.solve(A, b) è preferibile all'inversione
  • np.linalg.eig per la decomposizione agli autovalori
  • np.linalg.norm per i moduli, A.T per 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

  1. Creazione e proprietà degli array
  2. Indicizzazione, slicing e fancy indexing
  3. Broadcasting e operazioni vettorializzate
  4. Algebra lineare con NumPy
← Torna a Learn AI with Python