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:

  1. import numpy
  2. 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.

  1. import numpy
  2. m=np.array([[1,2,3],[4,5,6],[7,8,9]])
  3. 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.

 


 

Segnalami un errore, un refuso o un suggerimento per migliorare gli appunti

FacebookTwitterLinkedinLinkedin
knowledge base

Istruzioni e funzioni del linguaggio python