OKlibrary  0.2.1.6
InputOutput.hpp File Reference

Plans regarding input and output of graphs in Maxima/Lisp. More...

Go to the source code of this file.


Detailed Description

Plans regarding input and output of graphs in Maxima/Lisp.

Todo:
Documentation
  • Extend our documentation.
  • Link to Combinatorics/Graphs regarding the dot-format.
Todo:
Dot-format
  • Update the function-names:
    1. "print_graph_dot" -> "print_dot_g"
  • Handle ordered graph-versions:
    1. Perhaps for all versions, the functions handling the unordered versions can also handle the ordered versions.
  • Does the Maxima graphs-package handle this format?
  • Should we give the graphs in the dot-output a dedicated name?
    1. At least we should have an optional parameter.
  • Generalise the graph output, so that arbitrary graphs can be output.
    1. Make function "string_vertex" a parameter.
    2. A question is, what kind of vertex-names are directly accepted by the dot-format, and which need to be additional labels?
  • Output multi-graphs.
  • Output general graphs.
  • Output directed graphs.
  • Output multi-digraphs.
  • Output general digraphs.
Todo:
Reading graphs in dot-format
  • First of all, we need a better understanding of the dot-format.
  • The "official" specification should be available in the OKlibrary.
Todo:
Maxima graphs-package
  • What is the "DIMACS" format?
    1. Like the DIMACS cnf-format, we have first comment lines ("c"), and then a parameter line
      p edges 5 10
           
      (number of vertices, number of edges). This for undirected graphs, while for directed graphs "arcs" is used instead of "edges".
    2. Each edge is specified by a line like
      e 1 2
           
      so apparently vertices are always numbered from 1 to n.
    3. For undirected graphs, likely "e 1 2" as well as "e 2 1" is possible?
  • What is the "graph6" format?
    1. None of these functions seem to work!
  • What is the "sparse6" format?
    1. None of these functions seem to work!
Todo:
Other graph-formats
  • The dot-format seems to be the main format used in the OKlibrary.
  • Perhaps we should not provide other format at the Maxima/Lisp level, but we provide a series of conversion *programs* (in C++).

Definition in file InputOutput.hpp.