SQUAB
A Fast Benchmarking Software
for Surface Quantum Computing Architectures
It is possible to run our benchmarking software on tilings
generated outside the software.
You just need to place text files containing the definion
of the tiling in the right format in the folder saved_tilings
and to use the command
Load.
Before using Load,
you can print the list of all the saved tilings using
ListTilings.
To be able to load it, a graph must be encoding in 3 files,
using the following name convention:
mytiling_edges.txt,
mytiling_faces.txt,
mytiling_open_egdes.txt
where mytiling is the name of the graph.
As an example, the files defining the 22 000-qubits tiling
obtained in our
last example
can be downloaded
here.
This pages describe our convetion to encode graphs in these 3 text files.
In order to upload a graph, this encoding must be respected.
A file containing the coordinates is generated by the command
Save
but this file is not necessary to load a tiling.
-
Let v, e, f be the number of vertices, edges and faces
of the tiling.
Vertices, edges and faces are indexed by an
integer varying respectively from 0 to v-1,
from 0 to e-1 and from 0 to f-1.
Encoding edges in a text file
-
An edge e is a pair of vertices (its endpoint),
that is a pair of integer between 0 and v-1.
Edges are indexed by an integer from 0 to e-1.
They are encoded in the text file
mytiling_edges.txt as follows.
1. v e
2. x0 x1
3. x2 x3
4. x4 x5
...
Therein the xi are vertex indices, not necessarily
distinct.
The first line contains the number of vertices and the number of edges.
It is followed by e lines, encoding the e edges of the tiling.
The (i+1)-th line of this file contains the indices of the
2 endpoints of the i-th edge.
Encoding faces in a text file
-
A face f is a encoded as the set of edges
living on its boundary.
A face of length m is therefore a set of m
edge indices, that is integer between 0 and e-1.
Faces are encoded in the text file
mytiling_faces.txt as follows.
1. f
2. m1 y1 y2 ... ym1
3. m2 ...
The number yj are edge indices.
Therein, f is the number of faces of the tiling.
The number of faces is followed by f lines encoding the f faces.
The line (i+1) starts with mi which is the size of
the i-th face. Then, the i-th line contains the indices of
the mi edges of this face.
Encoding open edges in a text file
-
A subset of edges, possibly empty is open.
It is encoded as follows in mytiling_open_edges.txt
1. o
2. z1
3. z2
4. z3
...
The number zi are vertex indices
and o is the number of open edges of the tiling.
It is followed by o lines containing the indices of
all the open edges.
It may contains only a first line with the number 0
when the tiling has no open edge.