[GAP Forum] Reading strongly regular graphs into GAP
Max Horn
max at quendi.de
Fri Mar 22 19:25:43 GMT 2013
On 22.03.2013, at 19:53, Mathieu Dutour wrote:
> The basic strategy in that case is that you write a perl
> script that reads as input the file from Spence web page
> and then write as output in a format that GAP can read.
>
> You can of course use Python or any other language that
> has good text capabilities.
Actually, it would be rather easy to read the files with GAP itself, there is no need to involve Perl or Python. The adjacency matrices just consist of a
Indeed, if you wanted to be really fancy, you could even write a GAP program which downloads those files directly from the website (e.g. using the IO packages). Although that would probably overkill for this purpose ;-).
Here is an example for parsing one of the files (the one named 64-18-2-6):
adj_mats := [];
stream := InputTextFile("64-18-2-6");
# Read first line, containing data like
# dim = 64, degree = 18, lambda = 2, mu = 6
# We could parse it, but to keep things simple, let's just skip it and the empty
# line after it.
ReadLine(stream);
ReadLine(stream);
# Now start parsing
while not IsEndOfStream(stream) do
# Read in next matrix
adj := [];
while not IsEndOfStream(stream) do
line := Chomp(ReadLine(stream));
if line = fail or IsEmpty(line) then
if not IsEmpty(adj) then
Add(adj_mats, adj);
fi;
break;
fi;
if not ForAll(line, x -> x in "01") then
break; # "garbage", e.g. a line with text
fi;
Add(adj, List(line, x -> Position("01", x)-1));
od;
od;
CloseStream(stream);
Cheers,
Max
More information about the Forum
mailing list