Goto Chapter: Top 1 2 Bib Ind
 [Top of Book]  [Contents]   [Previous Chapter]   [Next Chapter] 

2 The PAG Functions
 2.1 Working With Permutation Groups
 2.2 Generating Orbits
 2.3 Constructing Objects
 2.4 Inspecting Objects and Other Functions
 2.5 Latin Squares
 2.6 Cubes of Symmetric Designs
 2.7 Projection Cubes of Symmetric Designs
 2.8 Hadamard Matrices
 2.9 Mosaics of Combinatorial Designs
 2.10 Global Options

2 The PAG Functions

The following functions are available in the PAG package.

2.1 Working With Permutation Groups

2.1-1 CyclicPerm
‣ CyclicPerm( n )( function )

Returns the cyclic permutation (1,...,n).

2.1-2 ToGroup
‣ ToGroup( G, f )( function )

Apply function f to each generator of the group G.

2.1-3 MovePerm
‣ MovePerm( p, from, to )( function )

Moves permutation p acting on the set from to a permutation acting on the set to. The arguments from and to should be lists of integers of the same size. Alternatively, if instead of from and to just one integer argument by is given, the permutation is moved from MovedPoints(p) to MovedPoints(p)+by; see MovedPoints (Reference: MovedPoints for a permutation).

2.1-4 MoveGroup
‣ MoveGroup( G, from, to )( function )

Apply MovePerm (2.1-3) to each generator of the group G.

2.1-5 MultiPerm
‣ MultiPerm( p, set, m )( function )

Repeat the action of a permutation m times. The new permutation acts on m disjoint copies of set.

2.1-6 MultiGroup
‣ MultiGroup( G, set, m )( function )

Apply MultiPerm (2.1-5) to each generator of the group G.

2.1-7 RestrictedGroup
‣ RestrictedGroup( G, set )( function )

Apply RestrictedPerm (Reference: RestrictedPerm) to each generator of the group G.

2.1-8 PrimitiveGroupsOfDegree
‣ PrimitiveGroupsOfDegree( v )( function )

Returns a list of all primitive permutation groups on v points.

2.1-9 TransitiveGroupsOfDegree
‣ TransitiveGroupsOfDegree( v )( function )

Returns a list of all transitive permutation groups on v points.

2.1-10 Homogeneity
‣ Homogeneity( G )( function )

Returns the degree of homogeneity of the permutation group G, i.e. the largest integer k such that G is k-homogeneous. This means that every k-subset of points can be mapped to every other. Kantor [Kan72] classified all groups that are k-homogenous but not k-transitive.

2.1-11 AllSubgroupsConjugation
‣ AllSubgroupsConjugation( G )( function )

Returns a list of all subgroups of G up to conjugation.

2.1-12 PermRepresentationRight
‣ PermRepresentationRight( G )( function )

Returns the regular permutation representation of a group G by right multiplication.

2.1-13 PermRepresentationLeft
‣ PermRepresentationLeft( G )( function )

Returns the regular permutation representation of a group G by left multiplication.

2.1-14 ExtendedPermRepresentation
‣ ExtendedPermRepresentation( G )( function )

Returns the extended permutation representation of a group G including right multiplication, left multiplication, and group automorphisms.

2.2 Generating Orbits

2.2-1 SubsetOrbitRep
‣ SubsetOrbitRep( G, v, k[, opt] )( function )

Computes orbit representatives of k-subsets of [1..v] under the action of the permutation group G. The basic algorithm is described in [KVK21]. The algorithm for short orbits is described in [KV16]. The last argument is a record opt for options. The possible components of opt are:

2.2-2 SubsetOrbitRepShort1
‣ SubsetOrbitRepShort1( G, v, k, size )( function )

Computes G-orbit representatives of k-subsets of [1..v] of size less or equal size. Here, size is an integer smaller than the order of the group G. The algorithm is described in [KV16].

2.2-3 SubsetOrbitRepIN
‣ SubsetOrbitRepIN( G, v, k, lin[, opt] )( function )

Computes orbit representatives of k-subsets of [1..v] under the action of the permutation group G with intersection numbers in the list lin. Parts of the search tree with partial subsets intersecting in more than the largest number in lin are skipped. Short orbits are computed separately. The algorithm is described in [KVK21]. The last (optional) argument opt is a record for options. The possible components are:

2.2-4 IsGoodSubsetOrbit
‣ IsGoodSubsetOrbit( G, rep, lin )( function )

Check if the subset orbit generated by the permutation group G and the representative rep is a good orbit with respect to the list of intersection numbers lin. This means that the intersection size of any pair of sets from the orbit is an integer in lin.

2.2-5 SmallLambdaFilter
‣ SmallLambdaFilter( G, tsub, ksub, lambda )( function )

Remove k-subset representatives from ksub such that the corresponding G-orbit covers some of the t-subset representatives from tsub more than lambda times.

2.2-6 OrbitFilter1
‣ OrbitFilter1( G, obj, action )( function )

Takes a list of objects obj and returns one representative from each orbit of the group G acting by action. The result is a sublist of obj. The algorithm uses the GAP function Orbit (Reference: Orbit).

2.2-7 OrbitFilter2
‣ OrbitFilter2( G, obj, action )( function )

Takes a list of objects obj and returns one representative from each orbit of the group G acting by action. Canonical representatives are returned, so the result is not a sublist of obj. The algorithm uses the CanonicalImage (images: CanonicalImage) function from the package Images.

2.3 Constructing Objects

2.3-1 KramerMesnerSearch
‣ KramerMesnerSearch( t, v, k, lambda, G[, opt] )( function )

Performs a search for t-(v,k,lambda) designs with prescribed automorphism group G by the Kramer-Mesner method. A record with options can be supplied. By default, designs are returned in the Design package format DESIGN: Design and isomorph-rejection is performed by calling BlockDesignFilter (2.4-2). It can be turned off by setting opt.NonIsomorphic:=false. By setting opt.BaseBlocks:=true, base blocks are returned instead of designs. This automatically turns off isomorph-rejection. Other available options are:

2.3-2 KramerMesnerMat
‣ KramerMesnerMat( G, tsub, ksub[, lambda][, b] )( function )

Returns the Kramer-Mesner matrix for a permutation group G. The rows are labelled by t-subset orbits represented by tsub, and the columns by k-subset orbits represented by ksub. A column of constants lambda is added if the optional argument lambda is given. Another row is added if the optional argument b is given, repesenting the constraint that sizes of the chosen k-subset orbits must sum up to the number of blocks b.

2.3-3 CompatibilityMat
‣ CompatibilityMat( G, ksub, lin )( function )

Returns the compatibility matrix of the k-subset representatives ksub with respect to the group G and list of intersection numbers lin. Entries are 1 if intersection sizes of subsets in the corresponding G-orbits are all integers in lin, and 0 otherwise.

2.3-4 SolveKramerMesner
‣ SolveKramerMesner( mat[, cm][, opt] )( function )

Solve a system of linear equations determined by the matrix mat over {0,1}. By default, A.Wassermann's LLL solver solvediophant [Was98] is used. If the second argument is a compatibility matrix cm, the backtracking program solvecm from the papers [KNP11] and [KV16] is used. The solver can also be chosen explicitly in the record opt. Possible components are:

2.3-5 BaseBlocks
‣ BaseBlocks( ksub, sol )( function )

Returns base blocks of design(s) from solution(s) sol by picking them from k-subset orbit representatives ksub.

2.3-6 ExpandMatRHS
‣ ExpandMatRHS( mat, lambda )( function )

Add a column of lambda's to the right of the matrix mat.

2.3-7 CameronSeidelSet
‣ CameronSeidelSet( m )( function )

Returns a list of 2^m/2 symplectic m× m matrices over GF(2) such that the difference of any two of them is a regular matrix. Here m is an even integer. The construction is described on page 6 of the paper [CS73].

2.3-8 OrthogonalNormalBasis
‣ OrthogonalNormalBasis( k )( function )

Attempts to find a basis for the field GF(2^k) over GF(2) that is orthogonal with respect to the trace inner product Tr(xy). This should work for odd integers k, but might fail for even integers.

2.3-9 KerdockSet
‣ KerdockSet( m )( function )

Returns a Kerdock set of 2^m-1 symplectic m× m matrices over GF(2) such that the difference of any two of them is a regular matrix. Here m is an even integer. The construction is based on Example 2.4 in the paper [Kan95].

2.3-10 SingerDifferenceSets
‣ SingerDifferenceSets( q, n )( function )

Returns the classical Singer difference sets in the cyclic group of order v=(q^n-1)/(q-1), e.g. Group(CyclicPerm(v)). The difference sets are subsets of [1..v] to make them compatible with the DifSets package. For each D returned, D-1 is a difference set in the integers modulo v (a subset of [0..v-1]).

2.3-11 NormalizedSingerDifferenceSets
‣ NormalizedSingerDifferenceSets( q, n )( function )

Returns the classical Singer difference sets in the cyclic group of order v=(q^n-1)/(q-1) that are normalized. If D is a difference set, this means that the elements of D-1 sum up to 0 modulo v.

2.3-12 RightDevelopment
‣ RightDevelopment( G, ds )( function )

Returns a block design that is the development of the difference set ds by right multiplication in the group G. If ds is a tiling of the group G or a list of disjoint difference sets, a mosaic of symmetric designs is returned.

2.3-13 LeftDevelopment
‣ LeftDevelopment( G, ds )( function )

Returns a block design that is the development of the difference set ds by left multiplication in the group G. If ds is a tiling of the group G or a list of disjoint difference sets, a mosaic of symmetric designs is returned.

2.3-14 EquivalentDifferenceSets
‣ EquivalentDifferenceSets( g, D )( function )

Given a difference set or list of difference sets D in a group g, returns the set of all difference sets equivalent to the ones in D.

2.4 Inspecting Objects and Other Functions

2.4-1 BlockDesignAut
‣ BlockDesignAut( d[, opt] )( function )

Computes the full automorphism group of a block design d. Uses nauty/Traces 2.8 by B.D.McKay and A.Piperno [MP14]. This is an alternative for the AutGroupBlockDesign function from the Design package DESIGN: Automorphism groups and isomorphism testing for block designs. The optional argument opt is a record for options. Possible components of opt are:

2.4-2 BlockDesignFilter
‣ BlockDesignFilter( dl[, opt] )( function )

Eliminates isomorphic copies from a list of block designs dl. Uses nauty/Traces 2.8 by B.D.McKay and A.Piperno [MP14]. This is an alternative for the BlockDesignIsomorphismClassRepresentatives function from the Design package DESIGN: Automorphism groups and isomorphism testing for block designs. The optional argument opt is a record for options. Possible components of opt are:

2.4-3 Cliquer
‣ Cliquer( g[, opt] )( function )

Searches for cliques in the graph g. Uses Cliquer by S.Niskanen and P.Ostergard [NO03]. The graph can either be given in GRAPE format, or as a list [v,elist] where v is the number of vertices and elist is a list of edges (2-element subsets of [1..v]). The optional argument opt is a record for options. Possible components are:

2.4-4 DisjointCliques
‣ DisjointCliques( L[, opt] )( function )

Given a list L of k-sets of integers, searches for cliques of mutually disjoint k-sets from the list. The sets must be of equal size k. Uses Cliquer by S.Niskanen and P.Ostergard [NO03]. The optional argument opt is a record for options with possible components:

2.4-5 IntersectionNumbers
‣ IntersectionNumbers( d[, opt] )( function )

Returns the list of intersection numbers of the block design d. The optional argument opt is a record for options. Possible components of opt are:

2.4-6 BlockScheme
‣ BlockScheme( d[, opt] )( function )

Returns the block intersection association scheme of a block design d, or fail if d is not block schematic. The optional argument opt is a record for options. If it contains the component Matrix:=true, the block intersection matrix is returned instead. Uses the package AssociationSchemes. If the package is not available, BlockScheme always returns the block intersection matrix and does not check if it defines an association scheme.

2.4-7 PointPairScheme
‣ PointPairScheme( d[, opt] )( function )

Returns the point pair association scheme of a block design d, or fail if d is not point pair schematic. The optional argument opt is a record for options. If it contains the component Matrix:=true, the point pair inclusion matrix is returned instead. The point pair scheme was defined by Cameron [Cam75] for Steiner 3-designs. This command is a slight generalisation that works for arbitrary designs. Uses the package AssociationSchemes. If the package is not available, PointPairScheme always returns the point pair inclusion matrix and does not check if it defines an association scheme.

2.4-8 TDesignB
‣ TDesignB( t, v, k, lambda )( function )

The number of blocks of a t-(v,k,lambda) design.

2.4-9 IversonBracket
‣ IversonBracket( P )( function )

Returns 1 if P is true, and 0 otherwise.

2.4-10 SymmetricDifference
‣ SymmetricDifference( X, Y )( function )

Returns the symmetric difference of two sets X and Y.

2.4-11 AddWeights
‣ AddWeights( wd )( function )

Makes a weight distribudion wd more readable by adding the weights and skipping zero components. The argument wd is the weight distribution of a code returned by the WeightDistribution command from the GUAVA package.

2.4-12 AdjacencyMat
‣ AdjacencyMat( g )( function )

Returns the adjacency matrix of the graph g in GRAPE format.

2.5 Latin Squares

2.5-1 ReadMOLS
‣ ReadMOLS( filename )( function )

Read a list of MOLS sets from a file. The file starts with the number of rows m, columns n, and the size of the sets s, followed by the matrix entries. Integers in the file are separated by whitespaces.

2.5-2 WriteMOLS
‣ WriteMOLS( filename, list )( function )

Write a list of MOLS sets to a file. The number of rows m, columns n, and the size of the sets s is written first, followed by the matrix entries. Integers are separated by whitespaces.

2.5-3 FieldToMOLS
‣ FieldToMOLS( F )( function )

Construct a complete set of MOLS from the finite field F. A similar function is MOLS (GUAVA: MOLS) from the package Guava.

2.5-4 MOLSToOrthogonalArray
‣ MOLSToOrthogonalArray( ls )( function )

Transforms the set of MOLS ls to an equivalent orthogonal array.

2.5-5 OrthogonalArrayToMOLS
‣ OrthogonalArrayToMOLS( oa )( function )

Transforms the orthogonal array oa to an equivalent set of MOLS.

2.5-6 MOLSToTransversalDesign
‣ MOLSToTransversalDesign( ls )( function )

Transforms the set of MOLS ls to an equivalent transversal design.

2.5-7 TransversalDesignToMOLS
‣ TransversalDesignToMOLS( td )( function )

Transforms the transversal design td to an equivalent set of MOLS.

2.5-8 MOLSAut
‣ MOLSAut( ls[, opt] )( function )

Computes the full auto(para)topy group of a set of MOLS ls. Uses nauty/Traces 2.8 by B.D.McKay and A.Piperno [MP14]. The optional argument opt is a record for options. Possible components are:

Any other components are forwarded to the BlockDesignAut (2.4-1) function; see its documentation.

2.5-9 MOLSFilter
‣ MOLSFilter( ls[, opt] )( function )

Eliminates isotopic/paratopic copies from a list of MOLS sets ls. Uses nauty/Traces 2.8 by B.D.McKay and A.Piperno [MP14]. The optional argument opt is a record for options. Possible components are:

Any other components are forwarded to the BlockDesignFilter (2.4-2) function; see its documentation.

2.5-10 IsAutotopyGroup
‣ IsAutotopyGroup( n, s, G )( function )

Check if G is an autotopy group for transversal designs with s+2 point classes of order n.

2.5-11 MOLSSubsetOrbitRep
‣ MOLSSubsetOrbitRep( n, s, G )( function )

Computes representatives of pairs and transversals of the s+2 point classes for the construction of MOLS of order n with prescribed autotopy group G. A list containing pair representatives in the first component and transversal representatives in the second component is returned.

2.5-12 KramerMesnerMOLS
‣ KramerMesnerMOLS( n, s, G[, opt] )( function )

If the function IsAutotopyGroup (2.5-10)(G) returns true for the group G, call KramerMesnerMOLSAutotopy (2.5-13); otherwise call KramerMesnerMOLSAutoparatopy (2.5-14).

2.5-13 KramerMesnerMOLSAutotopy
‣ KramerMesnerMOLSAutotopy( n, s, G[, opt] )( function )

Search for MOLS sets of order n and size s with prescribed autotopy group G. By default, A.Wassermann's LLL solver solvediophant is used for s=1, and the backtracking solver solvecm is used for s>1. This can be changed by setting options in the record opt. Available options are:

2.5-14 KramerMesnerMOLSAutoparatopy
‣ KramerMesnerMOLSAutoparatopy( n, s, G[, opt] )( function )

Search for MOLS sets of order n and size s with prescribed autoparatopy group G. By default, A.Wassermann's LLL solver solvediophant is used for s=1, and the backtracking solver solvecm is used for s>1. This can be changed by setting options in the record opt. Available options are:

2.6 Cubes of Symmetric Designs

2.6-1 DifferenceCube
‣ DifferenceCube( G, ds, n )( function )

Returns the n-dimenional difference cube constructed from a difference set ds in the group G.

2.6-2 GroupCube
‣ GroupCube( G, dds, n )( function )

Returns the n-dimenional group cube constructed from a symmetric design dds such that the blocks are difference sets in the group G.

2.6-3 CubeSlice
‣ CubeSlice( C, x, y, fixed )( function )

Returns a 2-dimensional slice of the incidence cube C obtained by varying coordinates in positions x and y, and taking fixed values for the remaining coordinates given in a list fixed.

2.6-4 CubeSlices
‣ CubeSlices( C[, x, y][, fixed] )( function )

Returns 2-dimensional slices of the incidence cube C. Optional arguments are the varying coordinates x and y, and values of the fixed coordinates in a list fixed. If optional arguments are not given, all possibilities are supplied. For an n-dimensional cube C of order v, the following calls will return:

2.6-5 CubeLayer
‣ CubeLayer( C, x, fixed )( function )

Returns an (n-1)-dimensional layer of the n-dimensional cube C obtained by setting coordinate x to the value fixed and varying the remaining coordinates.

2.6-6 CubeLayers
‣ CubeLayers( C, x )( function )

Returns the (n-1)-dimensional layers of the n-dimensional cube C obtained by fixing coordinate x.

2.6-7 CubeToOrthogonalArray
‣ CubeToOrthogonalArray( C )( function )

Transforms the incidence cube C to an equivalent orthogonal array.

2.6-8 OrthogonalArrayToCube
‣ OrthogonalArrayToCube( oa )( function )

Transforms the orthogonal array oa to an equivalent incidence cube.

2.6-9 OrthogonalArrayToTransversalDesign
‣ OrthogonalArrayToTransversalDesign( oa )( function )

Transforms the orthogonal array oa to an equivalent transversal design.

2.6-10 CubeToTransversalDesign
‣ CubeToTransversalDesign( C )( function )

Transforms the incidence cube C to an equivalent transversal design.

2.6-11 TransversalDesignToCube
‣ TransversalDesignToCube( td )( function )

Transforms the transversal design td to an equivalent incidence cube.

2.6-12 LatinSquareToCube
‣ LatinSquareToCube( L )( function )

Transforms the Latin square L to an equivalent incidence cube.

2.6-13 CubeTest
‣ CubeTest( C )( function )

Test whether an incidence cube C is a cube of symmetric designs. The result should be [[v,k,lambda]]. Anything else means that C is not a (v,k,λ) cube.

2.6-14 SliceInvariant
‣ SliceInvariant( C )( function )

Computes a paratopy invariant of the cube C based on automorphism group sizes of parallel slices. Cubes equivalent under paratopy have the same invariant.

2.6-15 CubeAut
‣ CubeAut( C[, opt] )( function )

Computes the full auto(para)topy group of an incidence cube C. Uses nauty/Traces 2.8 by B.D.McKay and A.Piperno [MP14]. The optional argument opt is a record for options. Possible components are:

Any other components are forwarded to the BlockDesignAut (2.4-1) function; see its documentation.

2.6-16 CubeFilter
‣ CubeFilter( cl[, opt] )( function )

Eliminates equivalent copies from a list of incidence cubes cl. Uses nauty/Traces 2.8 by B.D.McKay and A.Piperno [MP14]. The optional argument opt is a record for options. Possible components are:

Any other components are forwarded to the BlockDesignFilter (2.4-2) function; see its documentation.

2.6-17 SDPSeriesGroup
‣ SDPSeriesGroup( m )( function )

Returns a group for the designs of SDPSeriesDesign (2.6-18). This is the elementary Abelian group of order 4^m.

2.6-18 SDPSeriesDesign
‣ SDPSeriesDesign( m, i )( function )

Returns a symmetric block design with parameters (4^m,2^m-1(2^m-1),2^m-1(2^m-1-1)). The argument i must be 1, 2, or 3. If i=1, the design is the symplectic design of Kantor [Kan75]. This design has the symmetric difference property (SDP). If i=2 or i=3, two other non-isomorphic designs with the same parameters are returned. They are not SDP designs, but have the property that all their blocks are difference sets in the group returned by SDPSeriesGroup (2.6-17). Developments of these blocks are isomorphic to the design for i=1, so the two other designs are not developments of their blocks.

2.7 Projection Cubes of Symmetric Designs

2.7-1 CubeProjection
‣ CubeProjection( C, p )( function )

Returns the projection of the n-dimensional cube C on a pair of coordinates p.

2.7-2 CubeProjections
‣ CubeProjections( C )( function )

Returns the projections of the n-dimensional cube C on all pairs of coordinates.

2.7-3 CubeProjectionTest
‣ CubeProjectionTest( C )( function )

Test whether an incidence cube C is a projection cube of symmetric designs. The result should be [[v,k,lambda]]. Anything else means that C is not a (v,k,λ) projection cube. The function OrthogonalArrayProjectionTest (2.7-6) is usually much faster.

2.7-4 OrthogonalArrayProjection
‣ OrthogonalArrayProjection( oa, t )( function )

Returns the projection of the orthogonal array oa on a tuple of coordinates t.

2.7-5 OrthogonalArrayProjections
‣ OrthogonalArrayProjections( oa[, k] )( function )

Returns the projections of the orthogonal array oa on all k-tuples of coordinates. If the second argument is not given, k=2 is assumed.

2.7-6 OrthogonalArrayProjectionTest
‣ OrthogonalArrayProjectionTest( oa )( function )

Test whether an orthogonal array oa corresponds to a projection cube of symmetric (v,k,λ) designs. The result should be [[v,k,lambda]]. Anything else means that oa does not correspond to a projection cube.

2.7-7 DifferenceSetToOrthogonalArray
‣ DifferenceSetToOrthogonalArray( [G, ]ds )( function )

Transforms a (higher-dimensional) difference set to an orthogonal array. The argument G is a group and ds is a difference set in the DifSets package format, with positive integers as elements. If the first argument is not given, ds contains finite field elements and the operation is addition. This is used for Paley difference sets and twin prime power difference sets.

2.7-8 PaleyDifferenceSet
‣ PaleyDifferenceSet( q )( function )

Returns the q-dimensional Paley difference set in GF(q). This is a (q,(q-1)/2,(q-3)/4) difference set in the additive group of GF(q). See [KR24] for more details.

2.7-9 PowerDifferenceSet
‣ PowerDifferenceSet( q, m )( function )

Returns the q-dimensional difference set constructed from the m-th powers in GF(q). Paley difference sets are power difference sets for m=2. See [KR24] for more details.

2.7-10 TwinPrimePowerDifferenceSet
‣ TwinPrimePowerDifferenceSet( q )( function )

Returns the q-dimensional twin prime power difference set. For n=(q+1)^2/4, this is a (4n-1,2n-1,n-1) difference set in the direct product GF(q)× GF(q+2). Both q and q+2 must be powers of primes. See [KR24] for more details.

2.7-11 OrthogonalArrayAut
‣ OrthogonalArrayAut( oa[, opt] )( function )

Computes the full auto(para)topy group of an orthogonal array oa. Uses nauty/Traces 2.8 by B.D.McKay and A.Piperno [MP14]. The optional argument opt is a record for options. Possible components are:

Any other components are forwarded to the BlockDesignAut (2.4-1) function; see its documentation.

2.7-12 OrthogonalArrayFilter
‣ OrthogonalArrayFilter( oal[, opt] )( function )

Eliminates equivalent copies from a list of orthogonal arrays oal. Uses nauty/Traces 2.8 by B.D.McKay and A.Piperno [MP14]. The optional argument opt is a record for options. Possible components are:

Any other components are forwarded to the BlockDesignFilter (2.4-2) function; see its documentation.

2.8 Hadamard Matrices

2.8-1 IsHadamardMat
‣ IsHadamardMat( H )( function )

Returns true if H is an n-dimensional Hadamard matrix and false otherwise.

2.8-2 IsProperHadamardMat
‣ IsProperHadamardMat( H )( function )

Returns true if H is a proper n-dimensional Hadamard matrix and false otherwise.

2.8-3 Paley1Mat
‣ Paley1Mat( q )( function )

Returns a Paley type I Hadamard matrix of order q+1 constructed from the squares in GF(q). The argument should be a prime power q≡ 3 mod 4.

2.8-4 Paley2Mat
‣ Paley2Mat( q )( function )

Returns a Paley type II Hadamard matrix of order 2(q+1) constructed from the squares in GF(q). The argument should be a prime power q≡ 1 mod 4.

2.8-5 Paley3DMat
‣ Paley3DMat( v )( function )

Returns a three-dimensional Hadamard matrix of order v obtained by the Paley-like construction introduced in [KPT23]. The argument should be an even number v such that v-1 is a prime power.

2.8-6 SDPSeriesHadamardMat
‣ SDPSeriesHadamardMat( m, i )( function )

Returns a Hadamard matrix of order 4^m for the SDP series of designs. The argument i must be 1, 2, or 3. See documentation for the SDPSeriesDesign (2.6-18) function.

2.8-7 AllOnesMat
‣ AllOnesMat( v[, n] )( function )

Returns the n-dimensional matrix of order v with all entries 1. By default, n=2.

2.8-8 ProductConstructionMat
‣ ProductConstructionMat( H, n )( function )

Given a 2-dimensional Hadamard matrix H, returns the n-dimensional proper Hadamard matrix obtained by the product construction of Yang [Yan86].

2.8-9 DigitConstructionMat
‣ DigitConstructionMat( H, s )( function )

Given a 2-dimensional Hadamard matrix H of order (2t)^s, returns the 2s-dimensional Hadamard matrix of order 2t obtained by Theorem 6.1.4 of [YNX10].

2.8-10 CyclicDimensionIncrease
‣ CyclicDimensionIncrease( H )( function )

Given an n-dimensional Hadamard matrix H, returns the (n+1)-dimensional Hadamard matrix obtained by Theorem 6.1.5 of [YNX10]. The construction also works for cyclic cubes of symmetric designs.

2.8-11 HadamardMatAut
‣ HadamardMatAut( H[, opt] )( function )

Computes the full automorphism group of a Hadamard matrix H. Represents the matrix by a colored graph (see [McK79]) and uses nauty/Traces 2.8 by B.D.McKay and A.Piperno [MP14]. The optional argument opt is a record for options. Possible components of opt are:

2.8-12 HadamardMatFilter
‣ HadamardMatFilter( hl[, opt] )( function )

Eliminates equivalent copies from a list of Hadamard matrices hl. Represents the matrices by colored graphs (see [McK79]) and uses nauty/Traces 2.8 by B.D.McKay and A.Piperno [MP14]. The optional argument opt is a record for options. Possible components of opt are:

2.8-13 HadamardToIncidence
‣ HadamardToIncidence( M )( function )

Transforms the Hadamard matrix M to an incidence matrix by replacing all -1 entries by 0.

2.8-14 IncidenceToHadamard
‣ IncidenceToHadamard( M )( function )

Transforms the incidence matrix M to a (1,-1)-matrix by replacing all 0 entries by -1.

2.9 Mosaics of Combinatorial Designs

2.9-1 MosaicParameters
‣ MosaicParameters( M )( function )

Returns a string with the parameters of the mosaic of combinatorial designs M. See [GGP18] for the definition. Entries 0 in the matrix M are considered empty, and other integers are considered as incidences of distinct designs.

2.9-2 BlocksToIncidenceMat
‣ BlocksToIncidenceMat( d )( function )

Transforms a list of blocks d to an incidence matrix. Points correspond to rows, and blocks to columns.

2.9-3 IncidenceMatToBlocks
‣ IncidenceMatToBlocks( M )( function )

Transforms an incidence matrix M to a list of blocks. Rows correspond to points, and columns to blocks.

2.9-4 MosaicToBlockDesigns
‣ MosaicToBlockDesigns( M )( function )

Transforms a mosaic of combinatorial designs M with c colors to a list of c block designs in the Design package format.

2.9-5 ReadMat
‣ ReadMat( filename )( function )

Reads a list of m× n integer matrices from a file. The file starts with the number of rows m and columns n followed by the matrix entries. Integers in the file are separated by whitespaces.

2.9-6 WriteMat
‣ WriteMat( filename, list )( function )

Writes a list of m× n integer matrices to a file. The number of rows m and columns n is written first, followed by the matrix entries. Integers are separated by whitespaces.

2.9-7 AffineMosaic
‣ AffineMosaic( k, n, q )( function )

Returns a mosaic of designs with blocks being k-dimensional subspaces of the affine space AG(n,q). Uses the FinInG package. If the package is not available, the function is not loaded.

2.9-8 DifferenceMosaic
‣ DifferenceMosaic( G, dds )( function )

Returns the mosaic of symmetric designs obtained from a list of disjoint difference sets dds in the group G.

2.9-9 PowersMosaic
‣ PowersMosaic( q, n )( function )

Returns the mosaic of symmetric designs constructed from n-th powers in the field GF(q).

2.9-10 MatAut
‣ MatAut( M )( function )

Computes the full autotopy group of a matrix M. It is assumed that the entries of M are consecutive integers. Permutations of rows, columns and symbols are allowed. Represents the matrix by a colored graph and uses nauty/Traces 2.8 by B.D.McKay and A.Piperno [MP14].

2.9-11 MatFilter
‣ MatFilter( ml[, opt] )( function )

Eliminates equivalent copies from a list of matrices ml. It is assumed that all of the matrices have the same set of consecutive integers as entries. Two matrices are equivalent (isotopic) if one can be transformed into the other by permutating rows, columns and symbols. Represents the matrices by colored graphs and uses nauty/Traces 2.8 by B.D.McKay and A.Piperno [MP14]. The optional argument opt is a record for options. Possible components of opt are:

2.10 Global Options

2.10-1 PAGGlobalOptions
‣ PAGGlobalOptions( global variable )

A record with global options for the PAG package. Components are:

 

 [Top of Book]  [Contents]   [Previous Chapter]   [Next Chapter] 
Goto Chapter: Top 1 2 Bib Ind

generated by GAPDoc2HTML