code: def FullyConnectedGraph(size: int) -> nx.DiGraph:
      """Generate fully connected structure of graph.
      For example, a FullyConnectedGraph with 16 nodes:
  
      Example: A FullyConnectedGraph 16 nodes:
  
      .. plot::
  
          >>> import networkx as nx
          >>> from bluefog.common import topology_util
          >>> G = topology_util.FullyConnectedGraph(16)
          >>> nx.draw_spring(G)
      """
      assert size > 0
      x = np.array([1 / size] * size)
      topo = np.empty((size, size))
      for i in range(size):
          topo[i] = np.roll(x, i)
      G = nx.from_numpy_array(topo, create_using=nx.DiGraph)
      return G
  
imports: from typing import List, Tuple, Dict, Iterator, Optional
  import math
  import numpy
  import networkx
label_desc: Use image node_id 11 for calling a global function with example usage: FullyConnectedGraph(size) and returns: G