Come definire matrici e vettori in Python
Per lavorare con le matrici nel linguaggio python utilizzo la libreria numpy perché ha diverse funzioni utili per il calcolo vettoriale e matriciale.
import numpy
La funzione per creare una matrice o un vettore è la funzione numpy.array()
numpy.array(lista)
L'argomento lista è l'espressione usata per creare un vettore o una matrice.
- Vettore. Una lista con valori separati da virgole e racchiusa tra parentesi quadre rappresenta un vettore.
[1,2,3]
- Matrice. Una lista contenente altre liste separate da virgole rappresenta una matrice.
[ [1,2,3] , [4,5,6] ]
Come creare un vettore
Dopo aver caricato il modulo numpy, uso la funzione array per creare un vettore contenente n elementi.
array(espressione)
Dove l'espressione è un elenco di valori separati da virgole. L'intero elenco è racchiuso tra parentesi quadre.
Un esempio pratico
Per creare un vettore contenente questi elementi:
$$ \begin{pmatrix} 1 \\ 2 \\ 3 \\ 4 \end{pmatrix} $$
Uso la funzione la funzione array in questo modo:
- import numpy
- v=np.array([1,2,3,4])
Il contenuto della variabile v è il seguente:
array([1, 2, 3, 4])
Questo tipo di dato mi permette di eseguire tutte le operazioni del calcolo vettoriale.
Ad esempio, posso moltiplicare il vettore per uno scalare 2.
>>> 2*v
array([2, 4, 6, 8])
Posso sommare due vettori tra loro
>>> v+v
array([2, 4, 6, 8])
E così via.
Attenzione. Se avessi definito i valori come una semplice variabile lista, le precedenti operazioni non sarebbero state possibili. Ad esempio, se definisco la lista x=[1,2,3,4] e poi sommo la lista x+x, il risultato è un elenco di valori [1, 2, 3, 4, 1, 2, 3, 4]. Non è una somma vettoriale. Per questo motivo è necessario usare la funzione array.
Come creare una matrice
Dopo aver caricato il modulo numpy, uso la funzione array() per creare una matrice m x n , ossia con m righe e n colonne.
array(espressione)
Dove l'espressione è una lista di liste contenenti ciascuna una riga della matrice, dalla prima all'ultima.
Un esempio pratico
Per creare la matrice 3x3 con questi elementi:
$$ \begin{pmatrix} 1 & 2 & 3 \\ 4 & 5 & 6 \\ 7 & 8 & 9 \end{pmatrix} $$
Uso la funzione array con la seguente espressione.
- import numpy
- m=np.array([[1,2,3],[4,5,6],[7,8,9]])
- print(m)
Il risultato in output è il seguente:
[[1 2 3]
[4 5 6]
[7 8 9]]
Questo tipo di dato mi consente di usare la variabile m per compiere le operazioni del calcolo vettoriale e matriciale.
Ad esempio, posso sommare due matrici.
>>> print(m+m)
[[ 2 4 6]
[ 8 10 12]
[14 16 18]]
Una simile operazione non sarebbe stata possibile usando soltanto una semplice lista o una lista delle liste.
Come leggere gli elementi del vettore o matrice
Per accedere a un elemento specifico del vettore basta digitare la sua posizione tra parentesi quadre.
Esempio (vettore)
Creo un vettore composto da quattro elementi.
v=np.array([1,2,3,4])
Il primo elemento occupa la posizione zero, il secondo la posizione uno, il terzo la posizione due, ecc.
Quindi, per accedere al terzo vettore digito
v[2]
L'interprete python accede al seguente valore
3
Esempio (vettore)
Creo una matrice 2x4 composta da due righe e da quattro elementi.
m=np.array([[1,2,3,4],[5,6,7,8]])
La prima riga occupa la posizione zero, mentre la seconda riga la posizione uno.
Quindi, per accedere al terzo elemento della seconda riga digito
m[1][2]
L'interprete python restituisce il valore
7
Il tipo di dati dell'array ( dtype )
Per definire il tipo di dati dell'array utilizzo il parametro dtype.
Esempio
>>> np.array([1. , 2. , 3], dtype=float)
Posso definire l'array per ospitare
- int
numeri interi - float
numeri reali - uint
numeri interi positivi - complex
numeri complessi
Come contare il numero degli elementi ( size )
Per conoscere il numero degli elementi di un array, matrice o vettore uso il metodo size.
Esempio
Creo una matrice 2x4 e conto gli elementi.
>>> m=np.array([[1,2,3,4],[5,6,7,8]])
>>> m.size
8
La matrice ha otto elementi.
E così via.