(G)
| 296 | unroll_labels_idx = nx.eye(n_labels, type_as=labels_u)[None, labels_idx] |
| 297 | |
| 298 | def f(G): |
| 299 | G_split = nx.repeat(G.T[:, :, None], n_labels, axis=2) |
| 300 | return nx.sum(nx.norm(G_split * unroll_labels_idx, axis=1)) |
| 301 | |
| 302 | def df(G): |
| 303 | G_split = nx.repeat(G.T[:, :, None], n_labels, axis=2) * unroll_labels_idx |