Operazioni Matriciali in Python
1. Addizione e Sottrazione
Due matrici A e B della stessa dimensione possono essere sommate:
123456789import numpy as np A = np.array([[1, 2], [5, 6]]) B = np.array([[3, 4], [7, 8]]) C = A + B print(f'C:\n{C}') # C = [[4, 6], [12, 14]]
2. Regole di Moltiplicazione
La moltiplicazione tra matrici non è elemento per elemento.
Regola: se A ha dimensione (n,m) e B ha dimensione (m,l), allora il risultato ha dimensione (n,l).
1234567891011121314151617181920import numpy as np # Example random matrix 3x2 A = np.array([[1, 2], [3, 4], [5, 6]]) print(f'A:\n{A}') # Example random matrix 2x4 B = np.array([[11, 12, 13, 14], [15, 16, 17, 18]]) print(f'B:\n{B}') # product shape (3, 4) product = np.dot(A, B) print(f'np.dot(A, B):\n{product}') # or equivalently product = A @ B print(f'A @ B:\n{product}')
3. Trasposizione
La trasposizione scambia righe e colonne.
Regola generale: se A è (n×m), allora AT è (m×n).
1234567import numpy as np A = np.array([[1, 2, 3], [4, 5, 6]]) A_T = A.T # Transpose of A print(f'A_T:\n{A_T}')
4. Inversa di una Matrice
Una matrice A possiede un'inversa A−1 se:
A⋅A−1=IDove I è la matrice identità.
Non tutte le matrici hanno un'inversa. Una matrice deve essere quadrata e a rango completo.
12345678910import numpy as np A = np.array([[1, 2], [3, 4]]) A_inv = np.linalg.inv(A) # Inverse of A print(f'A_inv:\n{A_inv}') I = np.eye(2) # Identity matrix 2x2 print(f'A x A_inv = I:\n{np.allclose(A @ A_inv, I)}') # Check if product equals identity
Grazie per i tuoi commenti!
Chieda ad AI
Chieda ad AI
Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione
Can you explain why matrix multiplication is not element-wise?
How do I know if a matrix is full-rank?
What happens if I try to invert a non-square matrix?
Awesome!
Completion rate improved to 1.96
Operazioni Matriciali in Python
Scorri per mostrare il menu
1. Addizione e Sottrazione
Due matrici A e B della stessa dimensione possono essere sommate:
123456789import numpy as np A = np.array([[1, 2], [5, 6]]) B = np.array([[3, 4], [7, 8]]) C = A + B print(f'C:\n{C}') # C = [[4, 6], [12, 14]]
2. Regole di Moltiplicazione
La moltiplicazione tra matrici non è elemento per elemento.
Regola: se A ha dimensione (n,m) e B ha dimensione (m,l), allora il risultato ha dimensione (n,l).
1234567891011121314151617181920import numpy as np # Example random matrix 3x2 A = np.array([[1, 2], [3, 4], [5, 6]]) print(f'A:\n{A}') # Example random matrix 2x4 B = np.array([[11, 12, 13, 14], [15, 16, 17, 18]]) print(f'B:\n{B}') # product shape (3, 4) product = np.dot(A, B) print(f'np.dot(A, B):\n{product}') # or equivalently product = A @ B print(f'A @ B:\n{product}')
3. Trasposizione
La trasposizione scambia righe e colonne.
Regola generale: se A è (n×m), allora AT è (m×n).
1234567import numpy as np A = np.array([[1, 2, 3], [4, 5, 6]]) A_T = A.T # Transpose of A print(f'A_T:\n{A_T}')
4. Inversa di una Matrice
Una matrice A possiede un'inversa A−1 se:
A⋅A−1=IDove I è la matrice identità.
Non tutte le matrici hanno un'inversa. Una matrice deve essere quadrata e a rango completo.
12345678910import numpy as np A = np.array([[1, 2], [3, 4]]) A_inv = np.linalg.inv(A) # Inverse of A print(f'A_inv:\n{A_inv}') I = np.eye(2) # Identity matrix 2x2 print(f'A x A_inv = I:\n{np.allclose(A @ A_inv, I)}') # Check if product equals identity
Grazie per i tuoi commenti!