- 02 Aug, 2009 1 commit
-
-
Tiago Peixoto authored
This prints useful library information.
-
- 01 Mar, 2009 1 commit
-
-
Tiago Peixoto authored
This fixes bug where boost overlay files were not being used, when not compiling from source dir.
-
- 21 Feb, 2009 1 commit
-
-
Tiago Peixoto authored
Make sure libtool is properly modified, by doing it last in configure.ac.
-
- 14 Feb, 2009 1 commit
-
-
Tiago Peixoto authored
This adds the centrality module, which supports betweenness, eigentrust, pagerank and absolute trust.
-
- 06 Feb, 2009 2 commits
-
-
Tiago Peixoto authored
Now all symbols are exported by default, except those strictly marked as hidden.
-
Tiago Peixoto authored
-
- 07 Dec, 2008 1 commit
-
-
Tiago Peixoto authored
-
- 01 Dec, 2008 1 commit
-
-
Tiago Peixoto authored
This includes the community sub-module.
-
- 26 Oct, 2008 1 commit
-
-
Tiago Peixoto authored
Add global variables to configure.ac, to avoid unnecessary multiple definitions.
-
- 23 Oct, 2008 1 commit
-
-
Tiago Peixoto authored
This also creates the misc sub-module. This may be re-organized in the future.
-
- 13 Oct, 2008 2 commits
-
-
Tiago Peixoto authored
This contains at the moment functions to perform basic vertex and edge searches.
-
Tiago Peixoto authored
This allows specifying where numpy and scipy are installed, which can be useful when installing graph_tool in a different location.
-
- 15 Jul, 2008 2 commits
-
-
Tiago Peixoto authored
-
Tiago Peixoto authored
A new 'clustering' sub-module was created.
-
- 15 Apr, 2008 1 commit
-
-
Tiago Peixoto authored
-
- 14 Apr, 2008 1 commit
-
-
Tiago Peixoto authored
-
- 10 Apr, 2008 1 commit
-
-
Tiago Peixoto authored
The whole histogram code has been redone, and the code has been simplified. The three-point vertex-edge-vertex correlation has been scrapped, since it's not frequently used, and would make compilation even more expensive. This also adds some missing files to the generation routine.
-
- 17 Feb, 2008 1 commit
-
-
Tiago Peixoto authored
This commit splits libraph_tool into different libraries: - libgraph_tool_core - libgraph_tool_clustering (*) - libgraph_tool_community (*) - libgraph_tool_correlations (*) - libgraph_tool_distance (*) - libgraph_tool_generation (*) - libgraph_tool_layout (*) - libgraph_tool_misc (*) - libgraph_tool_stats (*) It also adds the python sub-module 'test', which provides extensive unit testing of the core functionality. The core library is fully functional and all test pass successfully. (*) -> module needs to be ported to new refactoring, and does not yet build
-
- 10 Feb, 2008 1 commit
-
-
Tiago Peixoto authored
This is a huge commit which completely refactors the metaprogramming engine which generates and selects (at run time) the graph view type and the desired algorithm implementation (template instantiation) that runs on it. Things are laid out now as following. There exists a main underlying graph type (GraphInterface::multigraph_t) and several other template classes that mask it some way or another, in a hierarchic fashion: multigraph_t -> filtered_graph (edges only, vertices only, both) | | | | | | | | |-------(reversed_graph)--------|-----------|-----------| | | | | \------(UndirectedAdaptor)------------------------------/ The filtered_graph filters out edges and/or vertices from the graph based on some scalar boolean property. The reversed_graph reversed the direction of the edges and, finally, the UndirectedAdaptor treats the original directed graphs as undirected, transversing the in- and out-edges of each vertex indifferently. Thus, the total number of graph view types is 12. (The option --disable-graph-filtering can be passed to the configure script, which will disable graph filtering altogether and bring the total number down to 3, to reduce compile time and memory usage) In general, some specific algorithm, implemented as a template function object, needs to be instantiated for each of those types. Furthermore, the algorithm may also depend on other types, such as specific property_maps. Thus, the following scheme is used: struct my_algorithm // algorithm to be implemented { template <class Graph, class PropertyMap> void operator()(Graph *g, PropertyMap p, double& result) const { // ... } }; // in order for the above code to be instantiated at compile time // and selected at run time, the run_action template function object // is used from a member function of the GraphInterface class: double GraphInterface::MyAlgorithm(string prop_name) { double result; boost::any vprop = prop(property, _vertex_index, _properties); run_action<>()(*this, bind<void>(my_algorithm(), _1, _2, var(result)), vertex_scalar_properties())(vprop); return result; } The whole code was changed to reflect this scheme, but now things are more centralized and less ad-hoc code needed to be written. Unfortunately, due to GCC's high memory usage during template instantiations, some of the code (namely all the degree correlation things) had to be split in multiple compilation units... Maybe this will change in the future if GCC gets optimized. This commit also touches other parts of code. More specifically, the way filtering gets done is very different. Now we only filter on boolean properties, and with the above scheme, the desired implementation runs with the correct chosen type, and no implicit type conversions should ever happen, which would have a bad impact on performance.
-
- 24 Jan, 2008 1 commit
-
-
Tiago Peixoto authored
The '-E' flag is necessary with GNU ld so that all dynamic symbols are properly exported, and things like typeid() work across DSO boundaries. However there are other linkers out there which don't accept this option. This commit checks for this and drops the option in that case. Let us hope those linkers do the right thing, or wait until someone complains...
-
- 21 Dec, 2007 1 commit
-
-
Tiago Peixoto authored
Everything was moved into the graph_tool directory, which should have, after installation, the following structure: graph_tool/ Top-level package __init__.py Initialize the graph_tool package libgraph_tool.so libgraph_tool submodule libgraph_tool.la libtool file for libgraph_tool include/ C++ include files for dynamically compiled code
-
- 07 Oct, 2007 1 commit
-
-
Tiago Peixoto authored
Complete overhaul of command line parsing, and support for loading graph-tool as whole as a python module The command line parsing was completely rewritten. It now supports better parsing of sub-options, with type checking and grouping support. Error reporting was also significantly improved, and it now warns of invalid options and option values, before the option is executed. Some syntax has changed, such as range filtering: --[vertex|edge]-range-filter was replaced by --exclude-[vertex|edge]-range and --keep-[vertex|edge]-range, which should have a clearer meaning. Ranges can also be specified now by comparison operators (>,<,>=,<=,=), such as ">=10", to indicate a range of (10, inf). In addition, ranges can now be easily open or closed at either end, by suffixing the specific end with '*', to indicate it is closed, ex: "10 700*" means (10,700]. The graph-tool script can now be loaded as a python module (it must be renamed first to 'something.py'). All the command line options (except 'for' and 'history' which become irrelevant) are available as functions, with full description and optional parameter support. In addition, pure function objects can be given as parameters where expressions are asked, instead of strings and files, which enables convenient extension of graph-tool.
-
- 04 Oct, 2007 1 commit
-
-
Tiago Peixoto authored
Simplify range filtering, and definitely remove python filtering Simplify range filtering of vertices and edges, by always filtering both at once, even if all vertices or edges are being considered. This severely reduces compilation time and memory, at a small potential cost in run-time speed, which will probably be overshadowed by other things, such as dynamic_map look-ups ("premature optimization is the root of all evil"). Also, remove python-filtering, since, in the end, it is just code bloat, since it is quite slow for most uses and can be replaced, generally, by python property editing + range filtering.
-
- 12 Sep, 2007 1 commit
-
-
Tiago Peixoto authored
-
- 31 Jul, 2007 1 commit
-
-
Tiago Peixoto authored
git-svn-id: https://svn.forked.de/graph-tool/trunk@118 d4600afd-f417-0410-95de-beed9576f240
-
- 05 Jul, 2007 2 commits
-
-
Tiago Peixoto authored
git-svn-id: https://svn.forked.de/graph-tool/trunk@109 d4600afd-f417-0410-95de-beed9576f240
-
Tiago Peixoto authored
git-svn-id: https://svn.forked.de/graph-tool/trunk@107 d4600afd-f417-0410-95de-beed9576f240
-
- 02 Jul, 2007 2 commits
-
-
Tiago Peixoto authored
git-svn-id: https://svn.forked.de/graph-tool/trunk@106 d4600afd-f417-0410-95de-beed9576f240
-
Tiago Peixoto authored
git-svn-id: https://svn.forked.de/graph-tool/trunk@104 d4600afd-f417-0410-95de-beed9576f240
-
- 15 Jun, 2007 1 commit
-
-
Tiago Peixoto authored
* further code parellelization with openmp (vertex and edge histograms, correlations, and reciprocity) git-svn-id: https://svn.forked.de/graph-tool/trunk@99 d4600afd-f417-0410-95de-beed9576f240
-
- 18 May, 2007 1 commit
-
-
Tiago Peixoto authored
* src/graph/graph_clustering.cc * src/graph/graph_distance.cc * src/graph/graph_extended_clustering.cc * src/graph/graph_distance_sampled.cc * fixed "jacknife" variance bug in src/graph/graph_clustering.cc git-svn-id: https://svn.forked.de/graph-tool/trunk@97 d4600afd-f417-0410-95de-beed9576f240
-
- 17 May, 2007 1 commit
-
-
Tiago Peixoto authored
git-svn-id: https://svn.forked.de/graph-tool/trunk@96 d4600afd-f417-0410-95de-beed9576f240
-
- 16 May, 2007 2 commits
-
-
Tiago Peixoto authored
git-svn-id: https://svn.forked.de/graph-tool/trunk@95 d4600afd-f417-0410-95de-beed9576f240
-
Tiago Peixoto authored
git-svn-id: https://svn.forked.de/graph-tool/trunk@93 d4600afd-f417-0410-95de-beed9576f240
-
- 06 May, 2007 1 commit
-
-
Tiago Peixoto authored
git-svn-id: https://svn.forked.de/graph-tool/trunk@89 d4600afd-f417-0410-95de-beed9576f240
-
- 05 May, 2007 3 commits
-
-
Tiago Peixoto authored
git-svn-id: https://svn.forked.de/graph-tool/trunk@88 d4600afd-f417-0410-95de-beed9576f240
-
Tiago Peixoto authored
git-svn-id: https://svn.forked.de/graph-tool/trunk@86 d4600afd-f417-0410-95de-beed9576f240
-
Tiago Peixoto authored
git-svn-id: https://svn.forked.de/graph-tool/trunk@85 d4600afd-f417-0410-95de-beed9576f240
-
- 29 Jan, 2007 1 commit
-
-
Tiago Peixoto authored
* accept external files for property editing routines * include in_PROP() andd out_PROP() functions to be used in python filtering/property editing routines. git-svn-id: https://svn.forked.de/graph-tool/trunk@71 d4600afd-f417-0410-95de-beed9576f240
-
- 27 Jan, 2007 1 commit
-
-
Tiago Peixoto authored
git-svn-id: https://svn.forked.de/graph-tool/trunk@70 d4600afd-f417-0410-95de-beed9576f240
-