| Constructor | Description | 
            
                
              
               | 
          
            
            
  | 
        
| Static member | Description | 
            
                
              
              
                  Full Usage: 
                   
              UndirectedGraph.addEdge edge graph
                  Parameters: 
 'NodeKey * 'NodeKey * 'EdgeData
                       - 
                      The edge to be created. A three part tuple containing the origin node, the destination node, and any edge label such as the weight.
                    
                    graph : UndirectedGraph<'NodeKey, 'EdgeData>
                       - 
                      The graph the edge will be added to.
                    
                    Returns: UndirectedGraph<'NodeKey, 'EdgeData>
                  
                  Unit
                   | 
          
            
            
 
  | 
        
            
                
              
              
                  Full Usage: 
                   
              UndirectedGraph.addEdges edges graph
                  Parameters: 
 ('NodeKey * 'NodeKey * 'EdgeData)[]
                       - 
                      The array of edges. Each edge is a three part tuple containing the origin node, the destination node, and any edge label such as the weight.
                    
                    graph : UndirectedGraph<'NodeKey, 'EdgeData>
                       - 
                      The graph to add the edge to
                    
                    Returns: UndirectedGraph<'NodeKey, 'EdgeData>
                  
                  Unit
                   | 
          
            
            
 
  | 
        
            
                
              
              
                  Full Usage: 
                   
              UndirectedGraph.addElement nk1 nd1 nk2 nd2 ed g
                  Parameters: 
 'NodeKey
                    
                    nd1 : 'NodeData
                    
                    nk2 : 'NodeKey
                    
                    nd2 : 'NodeData
                    
                    ed : 'EdgeData
                    
                    g : UndirectedGraph<'NodeKey, 'EdgeData>
                    
                    Returns: UndirectedGraph<'NodeKey, 'EdgeData>
                  
                   | 
          
            
            
 
  | 
        
            
                
              
              
                  Full Usage: 
                   
              UndirectedGraph.addNode node graph
                  Parameters: 
 'NodeKey
                       - 
                      The node to be created. The type must match the node type of the graph.
                    
                    graph : UndirectedGraph<'NodeKey, 'EdgeData>
                       - 
                      The graph the node will be added to.
                    
                    Returns: UndirectedGraph<'NodeKey, 'EdgeData>
                  
                  Unit
                   | 
          
            
            
 
  | 
        
            
                
              
              
                  Full Usage: 
                   
              UndirectedGraph.addNodes nodes graph
                  Parameters: 
 'NodeKey[]
                    
                    graph : UndirectedGraph<'NodeKey, 'EdgeData>
                    
                    Returns: UndirectedGraph<'NodeKey, 'EdgeData>
                  
                   | 
          
            
            
 
  | 
        
            
                
              
              
                  Full Usage: 
                   
              UndirectedGraph.create (nodes, edges)
                  Parameters: 
 'NodeKey[]
                    
                    edges : ('NodeKey * 'NodeKey * 'EdgeData)[]
                    
                    Returns: UndirectedGraph<'NodeKey, 'EdgeData>
                  
                   | 
          
            
            
 
  | 
        
            
                
              
              
                  Full Usage: 
                   
              UndirectedGraph.createFromEdges edges
                  Parameters: 
 ('NodeKey * 'NodeKey * 'EdgeData)[]
                    
                    Returns: UndirectedGraph<'NodeKey, 'EdgeData>
                  
                   | 
          
            
            
 
  | 
        
            
                
              
              
                  Full Usage: 
                   
              UndirectedGraph.createFromNodes nodes
                  Parameters: 
 'NodeKey[]
                    
                    Returns: UndirectedGraph<'NodeKey, 'EdgeData>
                  
                   | 
          
            
            
 
  | 
        
            
                
              
              
                  Full Usage: 
                   
              UndirectedGraph.find origin destination graph
                  Parameters: 
 'NodeKey
                       - 
                      The starting node of the edge
                    
                    destination : 'NodeKey
                       - 
                      The target node of the edge
                    
                    graph : UndirectedGraph<'NodeKey, 'EdgeData>
                       - 
                      The graph to find the edge in
                    
                    Returns: 'NodeKey * 'NodeKey * 'EdgeData
                  
                  A edge as a three part tuple of origin node, the destination node, and any edge label such as the weight.
                   | 
          
             
                 
               
                 
               
                 
              
              Tries to find an edge between the specified nodes. Raises KeyNotFoundException if no such edge exists in the graph. 
 
  | 
        
            
                
              
              
                  Full Usage: 
                   
              UndirectedGraph.getAllEdges graph
                  Parameters: 
 UndirectedGraph<'NodeKey, 'EdgeData>
                       - 
                      The graph the edges are present in
                    
                    Returns: ('NodeKey * 'NodeKey * 'EdgeData)[]
                  
                  An array of origin, destination nodes and the corresponding 'EdgeData tuples.
                   | 
          
            
            
 
  | 
        
            
                
              
              
                  Full Usage: 
                   
              UndirectedGraph.getEdges origin graph
                  Parameters: 
 'NodeKey
                       - 
                      The node from which the edges start
                    
                    graph : UndirectedGraph<'NodeKey, 'EdgeData>
                       - 
                      The graph the node is present in
                    
                    Returns: ('NodeKey * 'EdgeData)[]
                  
                  An array of target nodes and the corresponding 'EdgeData.
                   | 
          
            
            
 
  | 
        
            
                
              
              
                  Full Usage: 
                   
              UndirectedGraph.getNodes graph
                  Parameters: 
 UndirectedGraph<'NodeKey, 'EdgeData>
                       - 
                      The graph to be analysed
                    
                    Returns: 'NodeKey[]
                  
                  An array of nodes
                   | 
          
            
            
 
  | 
        
            
                
              
              
                  Full Usage: 
                   
              UndirectedGraph.normalizeEdges graph
                  Parameters: 
 UndirectedGraph<'NodeKey, float>
                       - 
                      The graph to perform the operation on
                    
                    Returns: UndirectedGraph<'NodeKey, float>
                  
                  Unit
                   | 
          
             
                 
               
                 
               
                 
              
              Normalises the weights of edges for each node in a graph. The function assumes that the edge data type of the graph will be float. 
 
  | 
        
            
                
              
              
                  Full Usage: 
                   
              UndirectedGraph.ofSeq edgelist
                  Parameters: 
 seq<'NodeKey * 'NodeData * 'NodeKey * 'NodeData * 'EdgeData>
                    
                    Returns: UndirectedGraph<'NodeKey, 'EdgeData>
                  
                   | 
          
            
            
 
  | 
        
            
                
              
              
                  Full Usage: 
                   
              UndirectedGraph.removeEdge edge graph
                  Parameters: 
 'NodeKey * 'NodeKey
                       - 
                      The edge to be removed. A two part tuple containing the origin node, the destination node.
                    
                    graph : UndirectedGraph<'NodeKey, 'EdgeData>
                       - 
                      The graph the edge will be removed from.
                    
                    Returns: UndirectedGraph<'NodeKey, 'EdgeData>
                  
                  Unit
                   | 
          
            
            
 
  | 
        
            
                
              
              
                  Full Usage: 
                   
              UndirectedGraph.removeNode node graph
                  Parameters: 
 'NodeKey
                       - 
                      The node to be removed.
                    
                    graph : UndirectedGraph<'NodeKey, 'EdgeData>
                       - 
                      The graph the edge will be removed from.
                    
                    Returns: UndirectedGraph<'NodeKey, 'EdgeData>
                  
                  Unit
                   | 
          
            
            
 
  | 
        
            
                
              
              
                  Full Usage: 
                   
              UndirectedGraph.toSeq graph
                  Parameters: 
 UndirectedGraph<'NodeKey, 'EdgeData>
                    
                    Returns: seq<'NodeKey * 'NodeKey * 'NodeKey * 'NodeKey * 'EdgeData>
                  
                   | 
          
            
            
 
  |