I'VE COMPLETELY REVISED MY QUESTION
I wish to take a simple undirected graph (i.e. the complete graph K_4)
Arbitrarily direct said graph, and then create a line graph from the directed version of the graph.
However, in Sage it appears to create a line graph that shows a connection between two edges (that are just inverses of each other), so what I really want is a line graph that doesn't give an edge connected to its own inverse.
That's why I asked if we could remove cycles of length 2, but that doesn't seem to solve the problem.
Here's what I am trying to work out:
G = graphs.RandomGNP(4,1)
GD = G.to_directed()
#orients G
m = GD.size()
#number of edges of
digraphG
digraph GD
LG = GD.line_graph()
#the line graph of the digraph
IM = identity_matrix(QQ,GD.size())
T =
LG.adjacency_matrix() #returns LG.adjacency_matrix()#returns the adjacency matrix of the line graph
var('u')
#defines u as a variable
X=IM-u*T
#defines a new matrix X
Z=X.det()
#defines polynomial in u aka
inverse of the Ihara zeta
function
function
Z
#computes determinant of X
Z.coefficients(u)
#extracts
coefficients coefficients
considering my graph is a complete graph on 4 vertices - the coefficients should be as such:
[coeff,degree of u]
[1,0], [0,1], [0,2],[-8,3],[-2,4]
NOTE:
im only interested in coefficients up to the order of n=#of nodes in the graph, so here for K_4 obviously n=4.
where the coefficient of u^3 corresponds to the negative of twice the number of triangles in K_4
where the coefficient u^4 corresponds to the negative of twice the number of squares in K_4