1 | initial version |
For a given graph $G$, we can construct a new graph $H$ on the same set of vertices as $G$ such that two vertices $u$ and $v$ are connected in $H$ iff the distance between $u,v$ in $G$ is greater than $k$. Then the $k$-independence number of $G$ equals the clique number of $H$.
Here is a sample code, which computes 1-independence number of Petersen graph.
from sage.graphs.distances_all_pairs import distances_all_pairs
def k_independence_number(G,k):
D = distances_all_pairs(G) # pairwise distances
H = Graph([ G.vertices(), [(u,v) for u,N in D.items() for v,d in N.items() if d>k] ])
return H.clique_number()
print( k_independence_number(graphs.PetersenGraph(),1) )