SCORE {CASCORE}  R Documentation 
Using ratiosofeigenvectors to detect underlying communities.
SCORE(G, K, itermax = NULL, startn = NULL)
G 
A 0/1 adjacency matrix of a connected graph. 
K 
A positive integer, indicating the number of underlying communities in graph 
itermax 

startn 

SCORE is fully established in Fast community detection by
SCORE of Jin (2015). SCORE uses the entrywise ratios between the
first leading eigenvector and each of the other K1
leading eigenvectors for
clustering. It is noteworthy that SCORE only works on connected graphs,
in other words, it does not allow for isolated vertices.
estall 
A lavel vector. 
Jin, J. (2015). Fast community detection by score.
The Annals of Statistics 43 (1), 57–89.
doi:10.1214/14AOS1265
# Simulate the Network
n = 10; K = 2;
theta = 0.4 + (0.450.05)*(seq(1:n)/n)^2; Theta = diag(theta);
P = matrix(c(0.8, 0.2, 0.2, 0.8), byrow = TRUE, nrow = K)
set.seed(2022)
l = sample(1:K, n, replace=TRUE); # node labels
Pi = matrix(0, n, K) # label matrix
for (k in 1:K){
Pi[l == k, k] = 1
}
Omega = Theta %*% Pi %*% P %*% t(Pi) %*% Theta;
Adj = matrix(runif(n*n, 0, 1), nrow = n);
Adj = Omega  Adj;
Adj = 1*(Adj >= 0)
diag(Adj) = 0
Adj[lower.tri(Adj)] = t(Adj)[lower.tri(Adj)]
library(igraph)
is.igraph(Adj) # [1] FALSE
ix = components(graph.adjacency(Adj))
componentLabel = ix$membership
giantLabel = which(componentLabel == which.max(ix$csize))
Giant = Adj[giantLabel, giantLabel]
SCORE(Giant, 2)