Compute adjacency matrix
Now, you'll get some practice using matrices and sparse matrix multiplication to compute projections! In this exercise, you'll use the matrix multiplication operator @
that was introduced in Python 3.5.
You'll continue working with the American Revolution graph. The two partitions of interest here are 'people'
and 'clubs'
.
This exercise is part of the course
Intermediate Network Analysis in Python
Exercise instructions
- Get the list of people and list of clubs from the graph
G
using theget_nodes_from_partition()
function that you defined in the previous chapter. This function accepts two parameters: A graph, and a partition. - Compute the biadjacency matrix using
nx.bipartite.biadjacency_matrix()
, setting therow_order
parameter topeople_nodes
and thecolumn_order
parameter toclubs_nodes
. Remember to also pass in the graphG
. - Compute the user-user projection by multiplying (with the
@
operator) the biadjacency matrixbi_matrix
by its transposition,bi_matrix.T
.
Hands-on interactive exercise
Have a go at this exercise by completing this sample code.
# 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)