IniziaInizia gratis

Calcola la matrice di adiacenza

Ora farai un po' di pratica usando matrici e moltiplicazione di matrici sparse per calcolare le proiezioni! In questo esercizio userai l'operatore di moltiplicazione tra matrici @, introdotto in Python 3.5.

Continuerai a lavorare con il grafo della Rivoluzione americana. Le due partizioni di interesse qui sono 'people' e 'clubs'.

Questo esercizio fa parte del corso

Analisi di reti intermedia in Python

Visualizza il corso

Istruzioni dell'esercizio

  • Ottieni l'elenco delle persone e l'elenco dei club dal grafo G usando la funzione get_nodes_from_partition() che hai definito nel capitolo precedente. Questa funzione accetta due parametri: un grafo e una partizione.
  • Calcola la matrice di biadiacenza usando nx.bipartite.biadjacency_matrix(), impostando il parametro row_order a people_nodes e il parametro column_order a clubs_nodes. Ricorda di passare anche il grafo G.
  • Calcola la proiezione utente-utente moltiplicando (con l'operatore @) la matrice di biadiacenza bi_matrix per la sua trasposta, bi_matrix.T.

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

# Get the list of people and list of clubs from the graph: people_nodes, clubs_nodes
people_nodes = ____
clubs_nodes = ____

# Compute the biadjacency matrix: bi_matrix
bi_matrix = ____(____, row_order=____, column_order=____)

# Compute the user-user projection: user_matrix
user_matrix = ____

print(user_matrix)
Modifica ed esegui il codice