code: def from_coarse_partition(self, partition, coarse_node=None):
      
      # Read the coarser partition
      _c_leiden._MutableVertexPartition_from_coarse_partition(self._partition,
                                                               partition.membership, coarse_node)
      self._update_internal_membership()
docs: Update current partition according to coarser partition.
  
      Parameters
      ----------
      partition : :class:`~VertexPartition.MutableVertexPartition`
        The coarser partition used to update the current partition.
  
      coarse_node : list of int
        The coarser node which represent the current node in the partition.
  
      Notes
      -----
      This function is to be used to determine the correct partition for an
      aggregated graph. In particular, suppose we move nodes and then get an
      aggregate graph.
  
      >>> diff = optimiser.move_nodes(partition)
      >>> aggregate_partition = partition.aggregate_partition()
  
      Now we also move nodes in the aggregate partition
  
      >>> diff = optimiser.move_nodes(aggregate_partition)
  
      Now we improved the quality function of ``aggregate_partition``, but this
      is not yet reflected in the original ``partition``. We can thus call
  
      >>> partition.from_coarse_partition(aggregate_partition)
  
      so that ``partition`` now reflects the changes made to
      ``aggregate_partition``.
  
      The ``coarse_node`` can be used it the ``aggregate_partition`` is not
      defined based on the membership of this partition. In particular the
      membership of this partition is defined as follows:
  
      >>> for v in G.vs:
      ...   partition.membership[v] = aggregate_partition.membership[coarse_node[v]] # doctest: +SKIP
  
      If ``coarse_node`` is :obj:`None` it is assumed the coarse node was defined
      based on the membership of the current partition, so that
  
      >>> for v in G.vs:
      ...   partition.membership[v] = aggregate_partition.membership[partition.membership[v]] # doctest: +SKIP
  
      This can be useful when the aggregate partition is defined on a more
      refined partition.