anchor.diff:      ///resolution : The higher the resolution, the smaller the number of communities. The value has to be 1. or higher. Based on : "R. Lambiotte, J.-C. Delvenne, M. Barahona Laplacian Dynamics and Multiscale Modular Structure in Networks 2009", 	arXiv:0812.1770 [physics.soc-ph].
       let louvainResolution (graph:ArrayAdjacencyGraph<'Vertex,'Label,float>) (randomized: bool) (modularityIncreaseThreshold: float) (resolution: float) :(ArrayAdjacencyGraph<'Vertex,'Label*int,float>) =
           louvainMethod graph randomized modularityIncreaseThreshold resolution
  -
  -    let louvainOld (graph:ArrayAdjacencyGraph<'Vertex,'Label,float>) (modularityIncreaseThreshold: float) :(ArrayAdjacencyGraph<'Vertex,'Label*int,float>) =
  -        louvainMethodOld graph false modularityIncreaseThreshold
  -
  -
  
positive.code:                 Randomize.shuffle verti|>ignore
  
              //Total weight of all edges combined
              let totalWeight =
          
                  //let result = Array.zeroCreate (graph.AdjacencyGraph()).Count
                  //let mutable i = 0
                  //for group in (graph.AdjacencyGraph()) do
                  //    result.[i] <- group.Value
                  //    i <- i+1
                  //result
                  //|> Array.concat
                  //|> Array.sumBy (fun (source,target,weight) -> (weight))
  
                  (
                      [|
                          for i in graph.GetVertices() do
                              //graph.WeightedDegree ((Array.sumBy(fun (s,t,w) -> if s = t then w else (w/2.))),i)
                              graph.WeightedDegree ((Array.sumBy(fun (s,t,w) -> (w/2.))),i)
  
                      |]
                      |> Array.sum
                  )
  
              printfn "total weight = %A" totalWeight
                 
              //Array of all neighbouring vertices, returned as (vertex,edgeweight) array. The index of the element is the same as the vertex in verti.
              let neighbours =
                  [|
  
negative.code:                                 result.[i] <- (s,t,w)
                                  i <- i + 1
                              result
                          
                              
  
                          nbOfMoves,                                    
                          ArrayAdjacencyGraph(
                              (vert),
  