- Read("discreta.g");
- discreta();
- compose_group(string);
- GeneratorsPermGroup(grp, fname, deg);
- calc_delta_lambda(v, t, k);
- compute_KM(g_label, t, k);
- get_KM_matrix(km, t, k);
- get_generators(km);
- get_vtk(km);
- get_orbit_representatives(km);
- get_stabilizer_orders(km);
- calc_orbit_length(stabilizer_order, gg);
- do_LLL(km, lambda);
- do_LLL1(f_with, KM_fname, c0, beta, p, lambda);
- do_McKay(km, lambda);
- get_solutions_from_solver(km, lambda);
- get_number_of_solutions(km, lambda);
- get_solutions(km, lambda, first, number_of_solutions);
- get_designs(km, lambda, first, number_of_solutions);
- span_design(grp, bb);
- design_orbits(solution_vector);
- check_solutions(km, lambda);
- report(km);
- get_plesken_matrix(km, t, k);
- get_plesken_matrix_with_inverse(km, t, k);
- get_intersection_matrix_Iknn(km, label);
- get_intersection_matrix_Iknm(km, label);
- block_intersection_type(design_orbits, orbit_index, intersection_vector, k_min, k_max, orbit_length);
- block_intersection_type_decomposed(design_orbits, orbit_index, intersection_vector, k_min, k_max, orbit_length);
- action_on_blocks(km, i, perm);
- fuse_orbits(km, group_fname, k);
- fuse_orbits_by_representatives(rep, group_fname, k);
- transversal_of_isomorphism_types(km, lambda);
- write_bb_file(KM_fname, bb_fname, lambda, from, len);
- geo_db_build_from_bb(generators_fname, bb_fname, db_prefix, f_create);
- geo_db_get_ids(db_prefix);
- export_magma_designs(fname, t, v, designs, magma_variable);
- build_incidence_matrix(v, blocks);
- export_designs_inc(fname, v, DD);

## Anton Betten

Abstract:

We describe the commands which are available in the DISCRETA-GAP interface.
The interface is available for both versions of GAP (GAP3 and GAP4).
The two versions differ slightly.

## The Basic Concept

The DISCRETA-GAP interface shall combine the general purpose system for computational group theory GAP with the special purpose system DISCRETA for constructing t-designs with prescribed automorphism group. Using this interface, it is possible to combine the huge functionality of the command line driven system GAP with the efficiency of the plain C++ program DISCRETA. Most of the code for constructing t-designs is written in DISCRETA (in C++). Using its Motif interface, the DISCRETA program is easy to use. However, the idea behind the GAP interface was to make everything available also from the GAP command prompt. Most of the functionality and all of the data should be available for the GAP user. In GAP, one types in plain commands instead of pressing buttons. This does not seem attractive at first sight but the variety of group theoretic functions make GAP a very powerful system. Secondly, one can use the GAP language to perform small programming tasks on top of DISCRETA. By this we mean that for example a loop over all possible values of lambda for solving the equations is no problem in GAP (it can be a problem in the graphical user interface if the number of different values of lambda becomes large).The concept of the GAP interface is the following. We still have DISCRETA running in compiled C++ code, but now driven by the GAP command prompt. This means that one has to learn a lot of commands but on the other hand one is free to combine those function calls to new powerful programs. The system works as follows: we have the DISCRETA code compiled into a batch program (called discreta_batch) which takes all its input from the command line and writes its result into files readable for GAP. Sometimes, input files in plain ASCII are provided for the batch program. The syntax of the arguments for the batch program is complicated and is of no interest for the end-user. The discreta batch program collaborates with the GAP part of the interface, which is simply a collection of GAP routines forming the other end of the discreta_batch-GAP cooperation. This set of functions is contained in the file "discreta.g".

## The Commands (click on the links for detailed informations):

## A Typical Session

back
to the DISCRETA homepage

last updated: July 29, 1999, Evi Haberberger