We had to (often) transform our matrix/graph files to variants formats to meet the research purposes or softwares/libraries/packages (i.e. Matlab, METIS, LAPACK, MKL, PETSc, SNAP,NetworKit ...) requirements. We need some easy to use, safe to embed codes.
MGTrans provides easy to use, safe to embed codes that transfer Matrix or Graph between different formats for c/c++, python and matlab language users.
- for Matrix file format transformation, please go to ./Matrix*/
- for Graph file format transformation, please go to ./Graph*/
- mm ------- Matrix Market
- metis ---- METIS
- matlab ASCII
- matlab binary
- edge list
- PETSc binary
The term graph within this project refers to the "finite simple graph", know as "directed or undirected, no weight, no self loops, no multiple edges graph".
Even though all finite simple graph can directly be represent by a adjacency matrix (There are other ways, such as Laplacian Matrix). There are differences between the matrix and the graph. So we divide the transformationsinto two parts.
- Matrix
- Graph
for different users.
METIS format only support undirected graphs. How can I partition directed graphs?
check the readme of each sub-directory.