def getArgMaxModularity(matrix, clusters, sumsOfWeights, totalSumOfWeight, i): """ This function returns -1 if there is no optimization of modularity """ DMCE = LouvainClusterer.getDeltaModularityCalculElements( matrix, clusters, sumsOfWeights, totalSumOfWeight, i) DMCEI = DMCE[clusters[i]] maxDelta = 0 maxJ = -1 for j in matrix.getrow(i).indices: delta = DMCE[clusters[j]] - DMCEI if (delta > maxDelta): maxDelta, maxJ = delta, j for j in matrix.getcol(i).indices: delta = DMCE[clusters[j]] - DMCEI if (delta > maxDelta): maxDelta, maxJ = delta, j if (maxDelta == 0): return -1 return clusters[maxJ]
def getArgMaxModularity(matrix,clusters,sumsOfWeights,totalSumOfWeight,i) : """ This function returns -1 if there is no optimization of modularity """ DMCE = LouvainClusterer.getDeltaModularityCalculElements(matrix,clusters,sumsOfWeights,totalSumOfWeight,i) DMCEI=DMCE[clusters[i]] maxDelta=0 maxJ=-1 for j in matrix.getrow(i).indices : delta=DMCE[clusters[j]]-DMCEI if (delta>maxDelta) : maxDelta,maxJ=delta,j for j in matrix.getcol(i).indices : delta=DMCE[clusters[j]]-DMCEI if (delta>maxDelta) : maxDelta,maxJ=delta,j if (maxDelta==0) : return -1 return clusters[maxJ]