docs: def _get_vectors(self, tree, precomputed_info):
          """
          Populate the vectors m and M.
          """
          little_m = []
          big_m = []
  
          leaf_nodes = sorted(tree.leaf_nodes(), key=lambda x: x.taxon.label)
          # inner nodes, sorted order
          for leaf_a, leaf_b in combinations(leaf_nodes, 2):
              mrca = tree.mrca(taxa=[leaf_a.taxon, leaf_b.taxon])
              little_m.append(precomputed_info[mrca].edges_from_root)
              big_m.append(precomputed_info[mrca].dist_from_root)
          
          # leaf nodes, sorted order
          for leaf in leaf_nodes:
              little_m.append(1)
              big_m.append(leaf.edge_length)
  
          return np.array(little_m), np.array(big_m)