PetscSF Object: 4 MPI processes
  [0] Number of roots=3, leaves=2, remote ranks=2
  [0] 0 <- (3,1)
  [0] 1 <- (1,0)
  [1] Number of roots=2, leaves=3, remote ranks=2
  [1] 0 <- (0,1)
  [1] 1 <- (2,0)
  [1] 2 <- (0,2)
  [2] Number of roots=2, leaves=3, remote ranks=3
  [2] 0 <- (1,1)
  [2] 1 <- (3,0)
  [2] 2 <- (0,2)
  [3] Number of roots=2, leaves=3, remote ranks=2
  [3] 0 <- (2,1)
  [3] 1 <- (0,0)
  [3] 2 <- (0,2)
  [0] Roots referenced by my leaves, by rank
  [0] 1: 1 edges
  [0]    1 <- 0
  [0] 3: 1 edges
  [0]    0 <- 1
  [1] Roots referenced by my leaves, by rank
  [1] 0: 2 edges
  [1]    0 <- 1
  [1]    2 <- 2
  [1] 2: 1 edges
  [1]    1 <- 0
  [2] Roots referenced by my leaves, by rank
  [2] 0: 1 edges
  [2]    2 <- 2
  [2] 1: 1 edges
  [2]    0 <- 1
  [2] 3: 1 edges
  [2]    1 <- 0
  [3] Roots referenced by my leaves, by rank
  [3] 0: 2 edges
  [3]    1 <- 0
  [3]    2 <- 2
  [3] 2: 1 edges
  [3]    0 <- 1
    current info=MPI_INFO_NULL
## Embedded PetscSF
PetscSF Object: 4 MPI processes
  [0] Number of roots=3, leaves=1, remote ranks=1
  [0] 0 <- (3,1)
  [1] Number of roots=2, leaves=2, remote ranks=1
  [1] 0 <- (0,1)
  [1] 2 <- (0,2)
  [2] Number of roots=2, leaves=2, remote ranks=2
  [2] 0 <- (1,1)
  [2] 2 <- (0,2)
  [3] Number of roots=2, leaves=2, remote ranks=2
  [3] 0 <- (2,1)
  [3] 2 <- (0,2)
  [0] Roots referenced by my leaves, by rank
  [0] 3: 1 edges
  [0]    0 <- 1
  [1] Roots referenced by my leaves, by rank
  [1] 0: 2 edges
  [1]    0 <- 1
  [1]    2 <- 2
  [2] Roots referenced by my leaves, by rank
  [2] 0: 1 edges
  [2]    2 <- 2
  [2] 1: 1 edges
  [2]    0 <- 1
  [3] Roots referenced by my leaves, by rank
  [3] 0: 1 edges
  [3]    2 <- 2
  [3] 2: 1 edges
  [3]    0 <- 1
    current info=MPI_INFO_NULL
