Alejandro Candioti

Results 12 issues of Alejandro Candioti

When multiple are registered at the same time, those registered first should have priority to make scheduling behavior easier to predict. I don't think this should be added as documented...

### Motivation NetworkX currently dispatches to backends using the `__networkx_backend__` attribute. This works well for custom Python graph classes, but it limits interoperability with immutable or third-party data types such...

type: Enhancements
Dispatching

## Summary This PR adds an internal cache for the number of edges in `nx.Graph` to speed up repeated queries to `G.number_of_edges()` and `len(G.edges)`. Change is only limited to `nx.Graph`...

type: Enhancements

After debugging https://github.com/networkx/networkx/issues/8054 we found out a minimal example that reproduces the issue. Creating this separate issue to organize discussion. This substitution cost function is triggering a corner case for...

type: Bug fix
Question

### Summary Optimize Dijkstra's algorithm when a single `target` is specified by avoiding full path reconstruction for all nodes. ### Motivation In the current implementation of `_dijkstra_multisource`, when the `paths`...

type: Enhancements

This PR introduces a new benchmarking suite for evaluating shortest path algorithms on weighted graphs. This benchmark was used to evaluate https://github.com/networkx/networkx/pull/8023. It includes the following changes: ### Graphs added...

type: Enhancements

This is a bit related to https://github.com/networkx/networkx/issues/7623 but using a separate issue to discuss something more specific. Based on the backends docs https://networkx.org/documentation/stable/reference/backends.html ``` Defining a Backend Graph class The...

This PR is a follow up from https://github.com/networkx/networkx/issues/8030. It makes `nx.is_multigraph` and `nx.is_directed` function dispatchable so its behavior can be modified by custom backends. In addition to this, it makes...

type: Enhancements
Dispatching

Girman-Newman method (https://networkx.org/documentation/stable/reference/algorithms/generated/networkx.algorithms.community.centrality.girvan_newman.html) is a hierarchal clustering method that is computationally expensive. This has raised multiple questions from users: - https://stackoverflow.com/questions/62951320/why-is-the-girvan-newman-algorithm-in-networkx-so-slow - https://github.com/networkx/networkx/discussions/7967 Based on the code there might be...

type: Enhancements

After previous contributions to NetworkX testing (https://github.com/networkx/networkx/pull/7954), I believe it's a good time to formally introduce property-based testing into the library. The aim of this PR is to propose a...

type: Enhancements