Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
Download

GAP 4.8.9 installation with standard packages -- copy to your CoCalc project to get it

563642 views
@
@-----------------------------------------------------------------------------
@ FILE: bravais_catalog.c
@-----------------------------------------------------------------------------
@
@
@------------------------------------------------------------------------------
@
@ bravais_TYP *catalog_number_v4(bravais_TYP *G,char *symb,
@                             matrix_TYP **TR,int *almost,int *zclass)
@
@ The function searches for a Bravais group Z-equivalent to G in the
@ catalog. It will return this group, a transformation matrix via TR[0],
@ and the coordinates of the group in the catalog via almost[0], zclass[0].
@
@ It will return a transfromation matrix via TR[0], and the position
@ in the catalog via almost[0] and zclass[0].
@
@ bravais_TYP *G : The group in question. Its order must be given.
@ char *symb     : The symbol of the group. It can be calculated via symbol(..)
@ matrix_TYP **TR: pointer for the transformation matrix which transforms
@                  the given group G to the group returned via konj_bravais,
@                  ie. TR[0]  * G * TR[0]^-1 = group returned.
@ int *almost    : the position of the almost decomposable group in the
@                  catalog is returned via this pointer.
@ int *zclass    : 2 coordinate of the group in the catalog.
@
@------------------------------------------------------------------------------
@
@
@--------------------------------------------------------------------------
@--------------------------------------------------------------------------
@ FILE: centr.c
@--------------------------------------------------------------------------
@--------------------------------------------------------------------------
@
@
@--------------------------------------------------------------------------
@
@ matrix_TYP **solve_endo(matrix_TYP **A,matrix_TYP **B,int anz,int *dim)
@
@ Let A[0],..,A[anz-1] be mxm matrices, and B[0],..,B[anz-1] nxn matrices.
@ The function returns a Q-basis of the space of mxn matrices with
@ A[i] * X = X * B[i] for all i. The dimension is returned via dim[0].
@
@ SIDEEFFECTS: The matrices in A,B are checked with Check_mat and
@              converted with rat2kgv.
@--------------------------------------------------------------------------
@
@
@--------------------------------------------------------------------------
@
@ matrix_TYP **calc_ccentralizer(matrix_TYP **centr,int dim_centr,
@                                matrix_TYP **gen,int gen_no,int *dim_cc)
@
@
@--------------------------------------------------------------------------
@
@
@---------------------------------------------------------------------------
@
@ matrix_TYP *min_pol(matrix_TYP *A)
@
@ Let A be an integral NON ZERO matrix. Then the function returns an
@ integral 1xn matrix B with the property:
@ \sum_i=0^n B->array.SZ[0][i] * A^i =0,
@ and n is minimal.
@
@ SIDEEFECTS: the matrix A is checked via Check_mat !!!
@---------------------------------------------------------------------------
@
@
@---------------------------------------------------------------------------
@
@ matrix_TYP *zeros(matrix_TYP *minpol)
@
@---------------------------------------------------------------------------
@
@
@--------------------------------------------------------------------------
@
@ int pos(matrix_TYP **list,int no,matrix_TYP *x)
@
@--------------------------------------------------------------------------
@
@
@-------------------------------------------------------------------------
@
@ static matrix_TYP **get_idem2(matrix_TYP **gen,int number,int *anz)
@
@
@-------------------------------------------------------------------------
@
@
@------------------------------------------------------------------------
@
@ matrix_TYP **idempotente(matrix_TYP **gen,int gen_no,matrix_TYP *form,
@                          int *anz,int *dimc,int *dimcc,int *options)
@
@------------------------------------------------------------------------
@
@
@-----------------------------------------------------------------------------
@ FILE: symbol.c
@-----------------------------------------------------------------------------
@
@
@-----------------------------------------------------------------------------
@
@ static constituent *homogenous(bravais_TYP *G,matrix_TYP *F,int *anz)
@
@-----------------------------------------------------------------------------
@
@
@-----------------------------------------------------------------------------
@
@ static char *identify_hom(bravais_TYP *G,int clear)
@
@-----------------------------------------------------------------------------
@
@
@-----------------------------------------------------------------------------
@
@ char *symbol(bravais_TYP *G,matrix_TYP *F)
@
@ bravais_TYP *G: the group in question
@ matrix_TYP *F : a positive definite G-invariant form
@
@ Calculates the symbol of the FINITE INTEGRAL group in G.
@ F is assumed to be a positive definite G-invariant form.
@ The information needed from G are the records G->gen & G->gen_no,
@ and G->form & G->form_no. 
@
@ Sideefects: The matrices in G->gen and G->form might be checked via
@             Check_mat
@-----------------------------------------------------------------------------
@
@
@------------------------------------------------------------------------------
@ FILE: v4_catalog.c
@------------------------------------------------------------------------------
@
@
@------------------------------------------------------------------------------
@
@ static matrix_TYP *test_v4(bravais_TYP *G)
@
@ Tests whether the given Bravais group G is isomorphic to V_4 = C_2 x C_2.
@ The order of the group has to be 4, and this order has to sit in G->order.
@
@ The return is NULL if the group is not isomophic to V_4, and otherwise
@ a matrix with non negative trace in G.
@------------------------------------------------------------------------------
@
@
@------------------------------------------------------------------------------
@
@ static matrix_TYP *basis_part(matrix_TYP *g, matrix_TYP *h,
@                               matrix_TYP **plse,int rank2,int eps)
@
@------------------------------------------------------------------------------
@
@
@------------------------------------------------------------------------------
@
@ static matrix_TYP *normalize(matrix_TYP *g,int *dim,int flag)
@
@------------------------------------------------------------------------------
@
@
@------------------------------------------------------------------------------
@
@ bravais_TYP *catalog_number_v4(bravais_TYP *G,char *symb,
@                             matrix_TYP **TR,int *almost,int *zclass)
@
@ Tests wheter the Bravais group G is isomorphic to C_2 or V_4.
@ In these cases it will return a group which is Z-equivalent to G
@ from the catalog which sits in TOPDIR/tables.
@
@ It will return a transfromation matrix via TR[0], and the position
@ in the catalog via almost[0] and zclass[0].
@
@ bravais_TYP *G : The group in question. Its order must be given.
@ char *symb     : The symbol of the group. It can be calculated via symbol(..)
@ matrix_TYP **TR: pointer for the transformation matrix which transforms
@                  the given group G to the group returned via konj_bravais,
@                  ie. TR[0]  * G * TR[0]^-1 = group returned.
@ int *almost    : the position of the almost decomposable group in the
@                  catalog is returned via this pointer.
@ int *zclass    : 2 coordinate of the group in the catalog.
@
@------------------------------------------------------------------------------
@