- 10 Nov, 2013 1 commit
-
-
Tiago Peixoto authored
-
- 25 Apr, 2013 1 commit
-
-
Tiago Peixoto authored
This also improves some of the existing shuffling strategies with a fast alias sampling. The parameter names of the random_graph() and random_rewire() functions have been made more consistent.
-
- 11 Feb, 2013 1 commit
-
-
Tiago Peixoto authored
Dumping boost::adjacency_list<> improves memory usage by a factor of two, and also slightly improves performance in some cases.
-
- 10 Jan, 2013 1 commit
-
-
Tiago Peixoto authored
This enables the inclusion of the non-boost tr1 headers if a recent enough version of libstdc++ is detected. This als fixes a bug with clang when sparsehash pulls unwanted tr1 headers.
-
- 06 Jan, 2013 1 commit
-
-
Tiago Peixoto authored
-
- 26 Dec, 2012 1 commit
-
-
Tiago Peixoto authored
The object may be globally reset via the seed_rng() function.
-
- 02 Aug, 2012 1 commit
-
-
Tiago Peixoto authored
-
- 03 Jun, 2012 1 commit
-
-
Tiago Peixoto authored
-
- 02 May, 2012 1 commit
-
-
Tiago Peixoto authored
-
- 29 Apr, 2012 3 commits
-
-
Tiago Peixoto authored
This makes the code more efficient if the input parameter combinations are much larger than the graph itself.
-
Tiago Peixoto authored
-
Tiago Peixoto authored
-
- 14 Sep, 2011 1 commit
-
-
Tiago Peixoto authored
-
- 02 Sep, 2011 1 commit
-
-
Tiago Peixoto authored
This fixes a bug in the "correlated" mode in random_rewire().
-
- 26 Aug, 2011 1 commit
-
-
Tiago Peixoto authored
This implements a general "blockmodel" generation / rewiring algorithm, using Gibbs acceptence / rejection sampling (a.k.a Metropolis-Hastings). This also implements some optimizations in the rewiring code, which makes it more efficient on filtered graphs.
-
- 24 Aug, 2011 1 commit
-
-
Tiago Peixoto authored
This introduces several simplifications and corrections to the graph rewire algorithm, to guarantee unbiased sampling. Now a move is outright rejected if it produces a self-loop/parallel-edge, instead of retried. This also adds a "non-sweep" mode, where edges are rewired randomly, possibly with repetition. The edge moves are now simplified to the target of the edges only, since swaping sources is redundant. The number of iterations can now be explicitly modified, so it is not necessary to call the function more than once, and it is emphasized in the documentation that only after sufficiently many iterations can the graph be guaranteed to be fully mixed.
-
- 10 Feb, 2011 1 commit
-
-
Tiago Peixoto authored
-
- 13 Nov, 2010 1 commit
-
-
Tiago Peixoto authored
-
- 25 Jul, 2010 1 commit
-
-
Tiago Peixoto authored
This enables support for older versions of GCC (>=4.2), by falling back to the boost tr1 implementation when the GCC version is less than 4.4.
-
- 07 Mar, 2010 1 commit
-
-
Tiago Peixoto authored
-
- 20 Feb, 2010 2 commits
-
-
Tiago Peixoto authored
This includes also some internal refactoring, and bug fixes.
-
Tiago Peixoto authored
This extensively modifies the random_rewire() algorithm, so that only either the source or the edge of each edge is rewired (not both, as previously), and no parallel edges are created during the algorithm (if desired). The new version is much faster, and never gets stuck. However, more than one run may be necessary in order to obtain a uniform shuffling.
-
- 14 Feb, 2010 1 commit
-
-
Tiago Peixoto authored
This fixes a implicit directionality bug in random_rewire() with undirected graphs.
-
- 08 Feb, 2010 1 commit
-
-
Tiago Peixoto authored
This fixes a problem, where the underlying edge directionality would cause correlations to arise when rewiring undirected graphs. Now each edge is correctly considered in both possible orientations, which are chosen randomly.
-
- 23 Dec, 2009 1 commit
-
-
Tiago Peixoto authored
This allows compilation with older versions of boost (>=1.38), which in some sistems are the only option. This commit also removes the linking of the boost_graph shared library, since none of its symbols are actually required.
-
- 22 Dec, 2009 1 commit
-
-
Tiago Peixoto authored
This implements a simpler rewire strategy where the edges are randomly placed, without preserving the degrees of the vertices.
-
- 05 Nov, 2009 1 commit
-
-
Tiago Peixoto authored
Fix compilation warnings with boost 1.40, remove unnecessary files, fix autoconf macros and link with "boost_graph". This also raises the minimum boost version to 1.40.
-
- 06 Sep, 2009 1 commit
-
-
Tiago Peixoto authored
-
- 13 Aug, 2009 1 commit
-
-
Tiago Peixoto authored
No longer only thrown GraphError upon any error, but instead throw specific exceptions which are more meaninful and are mapped to standard python exceptions, such as IOError, ValueError and RuntimeError.
-
- 07 Aug, 2009 1 commit
-
-
Tiago Peixoto authored
When using undirected graphs, the implicit direction of each edge was not properly handled, and the correlated case would not work. Now, in this case, the direction is always checked, and the edge is inverted if necessary.
-
- 04 Aug, 2009 1 commit
-
-
Tiago Peixoto authored
-
- 02 Jun, 2009 2 commits
-
-
Ale Abdo authored
-
Tiago Peixoto authored
-
- 23 May, 2009 1 commit
-
-
Tiago Peixoto authored
The generators from boost::random seem to have a bug which causes them to be biased. The generators from tr1::random seem to be in better shape. See: http://thread.gmane.org/gmane.comp.lib.boost.user/48006
-
- 10 Mar, 2009 2 commits
-
-
Tiago Peixoto authored
This finally fixes in the bug addressed by commit 309ddbbd, where parallel edges could be erroneously created. In fact, the bug was more serious: The source and target edge lists always pointed to the same list (in the uncorrelated case, but could occasionally happen for the correlated case also) which got shuffled during iteration. Since the shuffling of one list interfered with the shuffling of the other, some combinations of source and target edges could simply never be considered... This commit forces both lists to always be independent.
-
Tiago Peixoto authored
Thins changes the graph filtering code slightly to wrap graph types with GraphWrap, which automatically updates the edge index list when edges are removed and added to the graph. This also changes how graphs are passed to algorithms, which is now by reference instead of pointer. (hence this touches lots of code, but changes are trivial)
-
- 10 Feb, 2009 1 commit
-
-
Tiago Peixoto authored
In some circumstances, the test for parallel edges would fail to detect one, if it involved another "new" edge and one of the current ones being rewired. This commit also removes the requirement that edge indexes be continuous in the range [0, num_edges(g)), which is not in general the case.
-
- 06 Feb, 2009 1 commit
-
-
Tiago Peixoto authored
This includes a new vector property map type (fast_vector_property_map) which has optional disabling of bounds checking, through its associate map type (unchecked_fast_vector_property_map). This should improve performance on algorithms which depend on tight loops which access property maps. Bounds checking is only disabled locally just before the algorithms run, and proper care is taken for bounds checking _beforehand_. The property maps exposed to python still have internal bounds checking.
-
- 23 Oct, 2008 2 commits
-
-
Tiago Peixoto authored
Unnecessary dynamic polymorphism is replaced by static polymorphism, in the definitions of the rewiring strategies.
-
Tiago Peixoto authored
This also creates the misc sub-module. This may be re-organized in the future.
-