To use the origami database, you need an instance of ArangoDB running on port 8529. After installing ArangoDB, you need to set up a database as follows:
user: 'origami'
password: none
database: 'origami'
In this database, create three collections called origami_representatives, origamis and veechgroups. Please download the data from https://origami.math.uni-sb.de/ and import the json-files into the corresponding collections. All of this can be done in the web interface of ArangoDB, which you can reach under http://127.0.0.1:8529 (unless you have specified a different endpoint for your local ArangoDB-Server).
‣ ConnectToOrigamiDB ( ) | ( function ) |
Returns: An ArangoDatabase
object
Connects to the arango database 'origami' at the endpoint 'http+tcp://127.0.0.1:8529' with the user 'origami'.
‣ InsertVeechGroupIntoDB ( G ) | ( operation ) |
Returns: An ArangoDocument
Takes a ModularSubgroup
G and inserts it into the Veech group table. Only precomputed attributes are inserted. This function does not compute anything new from the group. No test is performed to check whether G already exists in the database. The resulting ArangoDocument
corresponding to the new database entry is returned.
‣ GetVeechGroupDBEntry ( G ) | ( operation ) |
Returns: An ArangoDocument
Takes a ModularSubgroup
G and returns the corresponding database entry or fail
if G is not in the database.
‣ GetVeechGroupsFromDB ( constraints ) | ( operation ) |
Returns: A list of ModularSubgroup
s
Returns all Veech groups in the database subject to the argument constraints which is given in the form of a record.
gap> GetVeechGroupsFromDB(rec(index := 30, genus := 0)); [list of modular subgroups] gap> GetVeechGroupsFromDB(rec(congruence := true, level := 12)); [list of modular subgroups] gap> GetVeechGroupsFromDB(rec(deficiency := 5)); [list of modular subgroups]
‣ UpdateVeechGroupDBEntry ( G ) | ( operation ) |
Returns: An ArangoDocument
Updates the Veech group entry in the database with newly computed data and returns the corresponding ArangoDocument
.
‣ RemoveVeechGroupFromDB ( G ) | ( operation ) |
Returns: Nothing.
Removes the Veech group G from the database (if present). NOT YET IMPLEMENTED
‣ InsertOrigamiRepresentativeIntoDB ( O ) | ( operation ) |
Returns: An ArangoDocument
Inserts the normal form of the origami O into the origami representative list. Inserts only precomputed data. If the Veech group of O does not already exist in the database, it is also inserted. This function assumes that no other element of the \(SL_2(\mathbb{Z})\) orbit of O exists in the representative list, no test is performed to check this.
‣ GetOrigamiOrbitRepresentativeDBEntry ( O ) | ( operation ) |
Returns: An ArangoDocument
Takes an Origami O and returns the corresponding database entry or fail
if O is not in the database.
‣ GetOrigamiOrbitRepresentativesFromDB ( constraints ) | ( operation ) |
Returns: A list of Origami
s
Returns all origami orbit representatives in the database subject to the constraints given in the form of the record constraints.
gap> GetOrigamiOrbitRepresentativesFromDB(rec(stratum := [4])); [ Origami((1,4,3)(2,5), (1,5,3,4)(2,6), 6) ] gap> GetOrigamiOrbitRepresentativesFromDB(rec(degree := 5)); [ Origami((1,3,5), (1,3)(2,4,5), 5) ]
‣ GetAllOrigamiOrbitRepresentativesFromDB ( ) | ( operation ) |
Returns: A list of Origami
s
Returns all origami orbit representatives in the database. Shorthand for GetOrigamiOrbitRepresentativesFromDB(rec());
‣ UpdateOrigamiOrbitRepresentativeDBEntry ( O ) | ( operation ) |
Returns: An ArangoDocument
Updates the origami orbit representative entry in the database with newly computed data and returns the corresponding ArangoDocument
. If the origami orbit representative O does not exist in the database, it is inserted.
‣ RemoveOrigamiOrbitRepresentativeFromDB ( O ) | ( operation ) |
Returns: Nothing.
Removes the origami orbit representative O from the database if present. NOT YET IMPLEMENTED!
‣ InsertOrigamiWithOrbitRepresentativeIntoDB ( O, R ) | ( operation ) |
Returns: An ArangoDocument
Inserts the origami O into the origami list with orbit representative R which is inserted into the origami orbit representative list if it is not already in there. Returns the ArangoDocument
corresponding to O.
‣ InsertOrigamiIntoDB ( O ) | ( operation ) |
Returns: An ArangoDocument
Inserts an origami O into the database. If the Veech group and the orbit of O is known, this function checks if there is already a representative of the orbit of O in the database. If not, O is inserted as the representative of its orbit, if yes, O is only inserted into the origami list with a reference to the representative. If the Veech group of O is not known, it is inserted as its own representative. This might result in entries in the origami orbit representative list which are in the same orbit.
‣ GetOrigamiDBEntry ( O ) | ( operation ) |
Returns: An ArangoDocument
Returns the ArangoDocument
in the origami list corresponding to the origami O or fail if does not exist in the database.
‣ GetOrigamiOrbit ( O ) | ( operation ) |
Returns: A list of Origami
s
Returns all origamis in the database which are in the orbit of O.
‣ UpdateRepresentativeOfOrigami ( O, R ) | ( operation ) |
Returns: Nothing.
Updates the orbit representative of O to be R.
‣ RemoveOrigamiFromDB ( O ) | ( operation ) |
Returns: Nothing.
Removes the origami O from the database.
generated by GAPDoc2HTML