library("igraph")
M = matrix(0, nrow=5, ncol=5)
M[1,2] = M[2,1] = M[1,3] = M[3,1] = M[2,3] = M[3,2] = 1
M[2,4] = M[4,2] = M[3,5] = M[5,3] = M[4,5] = M[5,4] = 1
M
     [,1] [,2] [,3] [,4] [,5]
[1,]    0    1    1    0    0
[2,]    1    0    1    1    0
[3,]    1    1    0    0    1
[4,]    0    1    0    0    1
[5,]    0    0    1    1    0
G <- graph_from_adjacency_matrix(M, mode='undirected')
plot(G, vertex.color=3)

M %*% M
     [,1] [,2] [,3] [,4] [,5]
[1,]    2    1    1    1    1
[2,]    1    3    1    0    2
[3,]    1    1    3    2    0
[4,]    1    0    2    2    0
[5,]    1    2    0    0    2
M %*% M %*% M
     [,1] [,2] [,3] [,4] [,5]
[1,]    2    4    4    2    2
[2,]    4    2    6    5    1
[3,]    4    6    2    1    5
[4,]    2    5    1    0    4
[5,]    2    1    5    4    0
LS0tDQp0aXRsZTogIlRoZSBBZGphY2VuY3kgTWF0cml4IGluIFIiDQpvdXRwdXQ6IGh0bWxfbm90ZWJvb2sNCi0tLQ0KDQoNCmBgYHtyfQ0KbGlicmFyeSgiaWdyYXBoIikNCk0gPSBtYXRyaXgoMCwgbnJvdz01LCBuY29sPTUpDQpNWzEsMl0gPSBNWzIsMV0gPSBNWzEsM10gPSBNWzMsMV0gPSBNWzIsM10gPSBNWzMsMl0gPSAxDQpNWzIsNF0gPSBNWzQsMl0gPSBNWzMsNV0gPSBNWzUsM10gPSBNWzQsNV0gPSBNWzUsNF0gPSAxDQpNDQpHIDwtIGdyYXBoX2Zyb21fYWRqYWNlbmN5X21hdHJpeChNLCBtb2RlPSd1bmRpcmVjdGVkJykNCnBsb3QoRywgdmVydGV4LmNvbG9yPTMpDQpgYGANCmBgYHtyfQ0KTSAlKiUgTQ0KYGBgDQpgYGB7cn0NCk0gJSolIE0gJSolIE0NCmBgYA0KDQo=