GroupLoopHoop' Package.

Symmetry-conserving partial-fraction-division "hoop algebras" are closely related to Groups and Moufang Loops. They multiply, divide, add and split vectors with generalized signs and employ many new or neglected mathematical concepts to re-define physical mathematics.
To activate the package for use with GroupLoopDemo.nb & HoopDemo.nb, either save it as a package in Addons/ExtraPackages and use <<GroupLoopHoop` or initialise the following cell and answer Yes to the query. GroupLoopTest.nb can then be used to validate the package. A shorter and simpler account of Hoop Algebras (using a much smaller package) is available as MathSource/6198; it should be studied first if your interest is only Hoops.

Off[General::"spell", General::"spell1", Part::"partd", 
      Syntax::"com", 
      Less::"nord"]

Quit[]

This package includes:
 (1) A database containing all finite groups with up to 73 elements and a few larger groups, together with many loops and hoop algebras, in an extension of the GAP Atlas, as "protoloops" - preferred isomorph Cayley index tables. 
 (2) An identification procedure that will identify any isomorph of a group or hoop in the database, and provisionally identify isomorphs of the other loops.
 (3) Procedures to create, manipulate, and analyse groups, loops and hoops.

1. Version, Copyright notice.

Version 3b. dated 11/10/6. Packaged as GroupLoopHoop`, without extraneous bits, validation. 
etc. "Collapse" converted to "Fold". More non-associative Moufang Loops included.
Mathematica 4.2 compatible. genTimes etc replaced by hoopTimes. 
Comments to rhberesford@btinternet.com please.

© Copyright 2003, 2004, 2005, 2006 Roger Herbert Beresford, 30, Brook Rd., Woodhouse Eaves, Loughborough, Leics, LE12 8RS, England. 
Considerable effort has gone into checking this work, but some errors probably persist. No responsibility will be accepted for any problems arising from its use. Permission is granted to distribute this file for any purpose except for inclusion in commercial software or program collections. This copyright notice must remain intact.

2. Revisions.

Based on and replacing GroupMLHoops.nb & HoopsDemo originally published as [5], May 2003 and revised up to 13th Sept. 2003.
Version 1. 4th Dec. 2003. Demonstrations re-designed for non-Mathematica users.
Version 1a. 9th Dec. 2003. Database expanded. Appendices included. 
Version 1b. 11th Jan. 2004  C4c from u4[[16]]. genCos & genSin[x,m,j] not genCos[x,m,i] for clarity. Duplicate ms removed. Pr changed to P4, msi creates P4, P16c. Plex-conjugate appendix enlarged. Extra signed tables added.
Version 1c. July - November 2004. Quadratic sizes (up to 6 elements) put first for use with JuliaSets. Introduced remainders on division by zero-vecs. Minor clarifications. hoopTest revised, Q12r corrected, rational units for ℍ & 𝕆, 3/11/4.
Version 1d. C8cn in place of QC2n. More u2 matrices and related groups. More 64 element incantations. Rl & Rr calculated on multiplication, tested in section 2.11.6. Q12 toPol corrected. Qr transposition removed to match standard quaternion package, 6/1/05
Version 2. 20/2/5 Stand-alone package extracted from HoopAlgebras1d. Renamed GroupLoopHoop.m. Added reductiveQ, quasigroupQ corrected to loopQ, all tests include gpd test; 5/7/5. 
Version 2a. 6/12/5 Octonion compositions added. alph lengthened to 260. alternativeQ l error removed. Skeleton routines (algorithm demos, stripped of all extraneous bells and whistles) added:-  ca[m,k,s], co[g,h,k,s], collapse[g,r], hoopInverse[A,s], hoopTimes[A,B,G,1], groupFromRelators[gp_,post_:{}], ma[t1,t2,max,s]. These test neither input nor output, so they only give correct results if the arguments are valid.
C3C4c & C3C4 shapes, D3 & P4 toPol revised, C9j &C9J distinguished. Many minor edits.
Version 3. Packaged as GroupLoopHoop.m. 21/4/2006 without tests or Visualizations.
(Previous versions did not create a package.)
gi corrected for CL22. C3C3j factors, but no pol/vec. as copied from HoopData. non-Abelian remainders corrected. Sign removed from hoopPower. cscale deleted. C3C4c  & C3C4 L4a, L4b factors used to give correct toPol, toVec. QPower included. sh12 extended to all functions conserved in at least one case. Noncommutative extensions to ge, det.
Version 3a, 6/6/6. Octr, not Octc. Alt12n second incantation. cd write-up, accepts incantations. O4k added. Some colour-coding.
Version 3b, 11/10/6 Non-conservative non-associative Moufang Loops D3Mn, D4M1n, ... Q12M5n added; Q8M2 and 5 (Q8C2M, P16M, C8pC2M, KiC4M, C4iC4M) conservative non-associative 32 element loops added. OctC2 was already known. Moufang doubling partially implemented as md. Rest, Mod altered to be M4.2 compatible. genTimes etc changed to hoopTimes etc. shape[C3P4] restored. "Collapse" converted to "Fold". 
(Non-commutative OPScalar' (Mathsource/4291) investigations abandoned as it screws up Sqrt[b-a])

3. Keywords.

Algebras, Cayley-Dickson, Cayley-tables, Clifford, Clifford-like, conservative loops & algebras, continuous orbits, determinants, directors, Frobenius-conservation, Fold, generalized signs, groups, hoops, Hoop shapes, Hoop sizes, isomers, isomorphs, isotopes, loops, Moufang Loops, m-vecs, non-associative algebras, plex-conjugate, Primal numbers, partial-fraction division-by-zero, quasigroups, renormalization, remainders, Roger algebras, roots of unity, signed-tables, vecs, univectors, zero-vectors.

4. Warnings.

Many of the new concepts transcend and revise those current mathematical beliefs that are solely based on real and complex numbers.
Global effects - genel,  globa, matel, mm, nn, gi, gp, R1, Rr, sg, smax, strep are Global names that are altered by various routines.

5. Limitations.

Only a few loops with over 73 elements are included in the database; they will not be uniquely identified by id. All 267 64-element groups are present, but many lack unique identification and generation. g4828 cannot be generated by makeProtoloop. Associativity is (deliberately, for speed) not tested by id, so non-associative tables may be wrongly identified as groups (idc tests for conservation, but not associativity, before attempting an identification). Clifford hoops and named signed-tables may be isotopes. (Isomorphs correspond to renaming elements; isotopes involve changing some element signs so that the structure, but not the details, of the shape is conserved.)
	The creation of groups and signed tables from unitary monomial matrices, using ma, mg & ms, has only been cursorily investigated. Extra matrices, especially traceless matrices, could be included, and systematic search procedures (supplied) could be used with more generating matrices.
	Signed table & generalised plex-conjugate investigations, generalised quadratic and simultaneous equation solution procedures are all rudimentary.

6. Note on Implementation.

A standard methodology has been aimed for. Top-level procedures should accept any format for loop arguments:- an indexTable or signed-table (in list or traditional matrix form), the name of a predefined table, a mnemonic that matches the first element of an entry in the loop database, the table size and position e.g. {12,1} as in the (extended) GAP atlas, or an instruction that creates an index table, such as ca[12,1],  co[C3,C4,2],  ge[{3,4},{ba->a2b}],  mp[{12,1}],  ma[{u2[[10]], u2[[13]]}]]. These examples all create "Q12" - from a formula, as a non-abelian composition, from relators, as a protoloop, and from 2×2 matrices. Deeper procedures (that are likely to be called many times by a top-level procedure) only accept tables as lists, for speed. Two global tables, globa & glo, are set up when a "target loop" is established, to eliminate the need to copy large tables as far as possible; a global mnemonic gmn, and two global variables mm, nn are also set up. Some procedures (e.g. hoopFactor[f]) use glo implicitly, whilst others (e.g. sh[]) use gmn explicitly. Many procedures have a final "Options" argument, o_:0, that modifies the operation; if it is negative the output properties will (in many cases) be tested and failures reported. Two-letter abbreviations are supplied for frequently used procedures, to reduces clutter in the loop data file. Tests that yield True or False follow the "trailing Q" Mathematica nomenclature; the reason for falsity is output if o≠0.
	Skeleton routines have been supplied for key routines, for expository purposes. These omit all tests and frills, so they only work for carefully prepared data.

TWO LETTER ABBREVIATIONS.
as[v,w] maps v with u.,		bf=Bold form,	
ca=Create Cayley Table from formula,
cd=Create Cayley Table by doubling,
cl=Create Clifford Table,
co=Compose Cayley Tables,	ds=Formalae in Dozalcons,
fa=Find alpha determinant,
fp=Find Powers-of-2 determinant,
gd=Loop data,			ge=create loop from relators,
gi=inverse data,		gp=multiplicity data,
id=Table identity,		ma=make loop from matrices,
md=Moufang Doubling,	mg=Make loop  from matrix list,
mp=Make Protoloop,
ms=make signed table from matrices,
mm=No. of elements in target loop,
nn=position of target loop in loop[[mm]],
pe=Create Cayley Table from permutations,
Rl Rr=Left and right remainders,
s3 s4 s5 are permutations defining S3 to S5,
sg=subgroup indices,	sh=shape of target loop,
tf=TraditionalForm,		ts=ToSignedLoop,
u2 u3 u4=unitary monomial matrices used by ma mg ms

7. Set up the GroupLoopHoop.m package, usage.

7.1 Begin, GroupLoopHoop Usage.

BeginPackage["GroupLoopHoop`"];

GroupLoopHoop::usage = "GroupLoopHoop is a package that creates a database of over 800 loops, including all groups with up to 73 elements. It generalizes signs & creates & manipulates Groups & 'Moufang Loops' (ordered division quasigroups) as index-Tables (Cayley tables with indices as elements) and signed tables (e.g. the Quaternion multiplication table). It also sets up conservative partial-fraction division algebras (Hoops) based on them, and provides procedures & tests for division, powers, roots, polar-dual formulations & loop properties.";

7.2 Alphabetic list of Usage for functions and procedures.

\(a::usage = "Symbol in HoopTbl etc."; b::usage = ""; 
    c::usage = ""; d::usage = ""; e::usage = ""; 
    f::usage = ""; g::usage = ""; h::usage = ""; 
    i::usage = ""; j::usage = ""; k::usage = ""; 
    l::usage = ""; m::usage = ""; n::usage = ""; 
    o::usage = ""; p::usage = ""; q::usage = ""; 
    r::usage = ""; s::usage = ""; t::usage = ""; 
    u::usage = ""; v::usage = ""; w::usage = ""; 
    x::usage = ""; y::usage = ""; 
    z::usage = ""; α::usage = ""; β::usage = ""; γ::usage = ""; δ::usage = ""; ϵ::usage = ""; ε::usage = ""; ζ::usage = ""; η::usage = ""; θ::usage = ""; Θ::usage = ""; ι::usage = ""; κ::usage = ""; λ::usage = ""; μ::usage = ""; ν::usage = ""; ξ::usage = ""; Ξ::usage = ""; ϖ::usage = ""; Π::usage = ""; ρ::usage = ""; ϱ::usage = ""; σ::usage = ""; Σ::usage = ""; τ::usage = "";\)

\(TraditionalForm\`abbr::usage = \*""abbr[t_,o_:1] is used by 'dico' & 'trico' to create an abbreviation such as {12,(Subscript[4, 5]),15} in which subscripts indicate numbers of appearances of elements in a table diagonal, with the first element real for abelian and negated for signed tables. 'dico' has another discriminant appended in cases with many tables of the same size. In the example, dico[makeProtoloop['g3207']], there are 12 occurences of the unit; 5 other elements occur 4 times (total=32), and there are 15 subgroups of 4 elements.""; 
    abbrFactors::usage = \*""abbrFactors[g_indexTableQ:glo,p_:pow2] creates an abbreviation such as {(Subscript[1, 2]),2,(Subscript[2, 2]^2),(Subscript[6, 2]^2)} for the factor structure of the indexTable determinant. In this (Q36) example there are two different linear factors, a single quadratic and two repeated quadratic factors, and two repeated sixth powers. Note that abelian groups (only) have no repeated factors. Uses power2 as pow2 sometimes errs.""; 
    abelGrassmanQ::usage = "Tests whether (ab)c=(cb)a for all a,b,c in 'G'"; abelianQ::usage = "Tests whether Transpose[g]==g.";\)
\(TraditionalForm\`allFactorGroups::usage = "allFactorGroups[gg_:glo,o_:0,i1_:2,i2_:49,p_:{}] finds the  Factor groups (quotient groups) for all normal subgroups in the size range {i1,i2} of 'gg'. If the global variable 'sg' contains the selected subgroups (i.e. after calling subgroups) set 'o' to 1 to avoid recalculation as sg already contains the relevant subgroups. A list may be appended; the first matching subgroup {i1,p[[_]]} is then reported and the search ends."; 
    alph::usage = "A list of 260 symbols, {a,b,...α,β..,a} (the first 72 are repeated later) used as symbolic elements of Cayley Tables."; alpha::usage = "Same as alph, with letters in place of symbols"; 
    alternativeQ::usage = "alternativeQ[g_:glo,o_:0] tests whether xx.y=x.xy for all x,y.z in 'g'. It reports the first error if 'o'≠0. See PMA p94, numbers p226."; 
    amQ::usage = "Tests if x(yx.zx)=(xy.xz)x"; 
    any::usage = "Dummy used in various tests"; 
    arcTanh::usage = "arcTanh[adj_,opp_] or arcTanh[{adj_,opp_}] calculates an angle that takes account of the octant of the arguments; the angle has an imaginary part for three non-standard hyperbolae. Note that opp,adj is the argument order used by many mathematicians."; 
    as::usage = "/.as[v_,w_] replaces elements of v by elements of w.";\)
associator::usage = "associator[g_:glo,i_,j_,k_] is \
the standard groupoid function, (ij)k-i(jk) "; 
    AssociativeQ::usage = "AssociativeQ([gg_:glo,o_] tests whether (x(y \
z))==((x y) z) for all x,y,z in 'gg' and reports the first error if 'o'\
≠0."; 
    associativeQ::usage = "associativeQ([gg_:glo,o_] tests whether (x(y \
z))==((x y) z) (up to a sign) for all x,y,z in 'gg' and reports the first \
error if 'o'≠0. Some non-associative signed tables (including Qr, \
Octr, Sed) are associative 'up to a sign'";

bolQ::usage = "bolQ([gg_:glo,o_] tests the left & right Bol \
identities (PMA p97-8) (z.yz)x ==z(y.zx) & x(zy.z) ==(xz.y)z for all x,y,z in \
'gg' and reports the error type if 'o'≠0."; 
    c2simeq::usage = "c2simeq[{a_,b_,c_]solves simultaneous linear \
equations Ax+B=C in the C2 algebra. Wherever the solution is indeterminate, \
it includes a free x$ variable"; 
    ca::usage = "ca[m_Integer?Positive,a_Integer] or
   ca[{m_,a_:1}] checks that GCD[m,k=Abs[a]] is 1 before creating an \
m×m quasigroup indexTable with first row and first column containing \
the 'unity' {1,2,...,m}, and with every element occurring once in each row \
and column (i.e. it is a sorted quasigroup or Latin Square). The result is \
the Cyclic group 'Cm' if 'a' is 0 or absent, the Dihedral group 'D[m/2]' if \
'k'='m'-1 and the generalised Quaternion group 'Q[m]' if 'k'='m'/2-1; some \
other values of 'k' give compound Dihedral or Quaternion groups. Some other \
cases give Hamiltonian quasigroups. If 'a' is negative, non-associativity is \
reported. The indexTable is output. A skeleton version is supplied."; 
    caylindex::usage  =  "caylindex[gg_] converts a square symbolic table \
'gg' to an indexTable on the assumption that the first row is the \
unity.";

cd::usage = "cd[{gamma__:IntegerQ}] (generalized Cayley-Dickson) \
takes a list of none or more ±1's and recursively builds \
signed-tables (including P,R,C,H,O,sedenions) by the generalized \
Cayley-Dickson doubling procedure. See Lounesto, Clifford Algebras & Spinors, \
2nd. ed., p285.
    'm' is the table (of size q×q) obtained by dropping the last \
±1; the starting case (with no ±1's) is the primal \
multiplication table {{1}}. The top-left quarter of the new table repeats \
'm'; the top right quarter is 'm' transposed and shifted by 'q' (using \
'modqr' to give a signed index); the bottom left quarter is 'm' shifted by \
'q', with all but the first column multiplied by the current ±1. \
The bottom right quarter is 'm' transposed with all but the first row & \
column multiplied by the current ±1. An extension takes any of {2, \
-2, 3, 3., -3,  4, 4. -4, -4.,'incantation'} in place of the first \
±1, and also allows '±1.' (i.e. real) elsewhere. This \
generates more signed hoop algebras and lots of rubbish. ('incantation' is \
any string that creates a hoop.) If the last gamma is {list}, e.g. {2} or \
{3}, the last stage is the composition of the penultimate result with the \
group ca[list].
    md is a related Moufang Doubling operation.";

centralizer::usage = "standard group function"; 
    center::usage = "standard group function"; 
    centre::usage = "standard group function";
cl::usage = "cl[p,q:0] creates Clifford[p,q]; cl[p,list] creates \
Clifford-like algebras with p binary generators, those in list having \
negative squares. See Lounesto[13] ch21.
  cl[p_,q_,gr_:{}] creates a Grassmann-like algebra by creating a \
Clifford-like algebra
   (using cl[p,q]) and then zeroing the squares of elements listed in 'gr'. \
As the result is not a groupoid, most hoop operations fail."; 
    cliff::usage = "cliff is a substitution list for Clifford-like \
algebras. 'e' is the unit, 'a', 'b', 'c', 'd', 'f' the generators \
(univectors), 'ab' etc are bivectors, 'abc' is a trivector, etc"; 
    co::usage = "co[gg_?indexTableQ,hh_?indexTableQ,a_:0] outputs the \
direct composition of 'g' & 'h' if 'a' is 0 or absent; some values of 'a' \
create quasigroups or groups. If 'a' is 1 or negative, non-groupoid & \
non-associative tables will be reported. 'gg' (but not hh) may be a signed \
table. co[g_,h_,gg_,hh_,a_,o_:0,p_:0] and co[g_,gg_,hh_,a_,o_:0] (NB first \
parameter 'a' can be 0, but must be supplied) generate the multiple \
compositions by iteratively composing the inner tables using the leading \
parameters. co[g_,h_,a_,c_] is a skeleton, omitting all tests.";

\(collect::usage\  = \ "collect[%], collect[sg], or collect[] is used to count the numbers of each type of subgroup identified by subgroupTypes and stored in 'sg'"; 
    conservativeQ::usage = "conservativeQ[gg_:glo] tests whether Det[A]Det[B]=±Det[AB], for the (possibly signed) groupoid 'gg'. Frobenius showed that associativity is a sufficient condition; a few non-associative Moufang tables are conservative. Random integer values of the elements of A & B are tested if 'gg' is signed or not associative. 
   conservativeQ[gg_,t_:Complex,r_:{-1-I,1+I}/2] uses random A & B of type 't' in range 'r'. As round-off errors could wrongly give False, the test uses the ratio of the minimum to the maximum of the ± cases. Fails with 𝕁 algebras"; 
    cosorbit::usage = "cosorbit[θ_,phaselist_:{0,1,2,3,4,5},scale_:1,meanlist_:Table[0,{24}]] creates an orbit with angle parameter θ; phaselist defines the phase of each element (with null values permitted) and the number of elements; scale is a factor that can be adjusted to obtain a unitary result; meanlist is an optional offset from zero."; 
    cQ::usage = "Tests if (xy.y)z=x(yy.z)"; 
    det::usage = \*""det[a_?MatrixQ] calculates a generalized determinant, as a list of 'Abs[m]' components, for a (not necessarily square) matrix.Putting 'm' ={±1,±2,±3,±4} gives the {permanent, ditermanent, tritermanent,4terminant}; the ordinary determinant is the signed sum of the two ditermanent terms. In effect, each element of 'a' is multiplied by a power of the sign 'J', with (J^(|m|))=1; the final result comprises the signed sums of all the determinant-like terms with a given power of 'J'. The calculation is recursive via a stripped down version, 'det1', a signed row or column matrix being the basis. If necessary, 'short' matrices are transposed to become 'long', i.e. with more columns than rows. 'det' sums all the square det's, as in the Moore-Penrose inverse""; det1::usage = "See det"; 
    dico::usage = "dico[g_:glo] is the 'diagonal count' i.e. the count of elements of 'g' in the table diagonal, compressed via 'abbr' (q.v.). The first entry is the number of square roots of unity, and is signed if 'g' is signed, and is real if 'g' is abelian.  An extra diagnostic integer is added for tables with m = 32, 48, 54, 64 or 72";\)

dozalcons::usage = "dozalcons[12vec] calculates 39 functions that \
are conserved in some Dozal operations. Their names are given in ds";
dozaltest::usage = "dozaltest[A0_,B0_,n_:5] multiplies A0 by B0 using \
the first n 12 element loops and tabulates  the conservation of the dozalcons \
functions. If 5<n<0 the polar forms are calculated from A0 & B0"; 
    ds::usage = "The list of functions in dozalcons";
entropicQ::usage  =  "Test whether wx.yz= wy.xz.";
fa::usage  =  "fa[g_?indexTableQ] maps the list of symbols 'alph' \
onto the indexTable 'g' unless 'g' is too large (more than 11×11); it \
returns the determinant factors, dropping any -1. Use 'fp' for larger groups; \
'fp' with 12×12 (or larger) is very slow without a lot of zero \
elements."; 
    factorGroup::usage  =  "factorGroup[n_,gg_:glo] first tests whether \
the subgroup 'n' of 'g' is normal; 'g' must be an indexTable (default \
'globa') and 'n' a subgroup list (as output by 'lcoset' or 'subgroups'). The \
factorGroup g/n (also called the quotient group) is identified"; 
    fenyvesQ::Usage = "fenyvesQ[gg_:glo,o_:0] tests whether \
(xy.z)x=x.(y.zx) for all x,y,z in 'gg'. See Kinyon,Sci.Math.Res,19/8/3"; 
    flexQ::usage = "flexQ[gg_:glo] tests whether xy.x=x.yx for all x,y,z in \
'gg'. See Smith & Romanskowa, PMA p92."; 
    flexibleQ::usage = "flexibleQ[gg_:glo] tests whether \
⟨x,y,z⟩=-⟨z,y,x\
⟩ for all x,y,z in 'gg'. ?ref lost?"; 
    fp::usage = "fp[g_?indexTableQ,list_pow2] maps 'list' onto 'g' and \
factorises the determinant. If necessary, 'list' is right padded with zeroes.\
";

frag::usage = "frag[g_,o_:0] where 'g' may be a hoop or its \
determinant factors, creates (as far as possible) the fragmented form, using \
known shapes where available. The root multiplicity is reported if >1."; 
    frag2::usage = "frag2[Polynomial_,o_:0] attempts to convert quadratic \
factors of a quasigroup determinant to sums and/or differences of squares. It \
is Listable, and returns non-quadratics unchanged, so it can be applied to \
'hoopFactor' & 'fa' output. The 'polsort' table is printed if o>0. The \
current version is wrong with factors of a few signed tables; use 'o'=1 to \
test for failure in new cases (the unfragmented result is returned if 'o'=0). \
The correct fragmentation can often be deduced from the diagnostic output"; 
    fromAlph::usage = "/.fromAlph[vec_] replaces 'alph' symbols by those in \
'vec'."; fromCycles::usage = "converts a cycle list to permutation"; 
    fromZtoCliff::usage = "fromZtoCliff[a_,B_:cliff,Z_:Range[32]] replaces \
items in 'Z' (default: 1 to 32) by items in 'B' (default: the elements of a \
Clifford algebra) preserving negation, in the expression 'a'.";

gd::usage = "gd[] returns {mm,nn,{loop entry}} for the last loop to \
be identified.
   gd[Mnemonic_],gd[m_,n_] or gd[{m_,n_}] returns the requested 'loop' \
data"; ge::usage  =  "ge[gp_,pre_,o_:0] creates quasigroups via \
Relators and re-write rules. If 'gp' is {na, nb,...}, 'ge' sets up a vector \
of ordered string elements starting with the empty string followed by up to \
'na'-1 repetitions of 'a', followed by 'nb'-1 repetitions of 'b', etc but not \
beyond 'g'. 'pre' contains any re-write rules for out-of-order or squared \
(quaternion-style) letters. These are preferably strings, but symbols can be \
used and will be converted to strings. Bad rules (with overlong character \
repeats, etc) are rejected if 'o'>=0. A full set of re-write rules is created \
from 'pre' by adding any unspecified Abelian rules such as \
'ba→ab'. A preliminary array is created by concatenating the \
elements. The re-write rules are then applied to reduce concatenations to \
elements. If Abs[o]=1, non-quasigroups are rejected, non-conservativity is \
reported, the table is put into global list 'matel', and the elements are put \
into global list 'genel'. The reduced array is converted to an indexTable g. \
If the last element of gp is a real number r, g will be collapsed to a signed \
table by g=ts[g,r].  Finally,g is output. groupFromRelators is a skeleton \
version."; 
    genel::usage = "Global. The string elements of the last generator group \
to have been created with 'o'=1";
genCos::usage = "genCos[x_,m_:4,j_:0] creates the j'th phase of the \
generalized antisymmetric sinusoid or helix with m phases; generalised Cosh \
and Sinh functions are generated if m=0 or 2.";

\(\(genQuadratic::usage = \*""genQuadratic[A_?VectorQ,B_?VectorQ,C_?VectorQ,g_:gmn] solves the quadratic equation (Ax^2)+Bx+C=0 in the algebra 'g', provided that 'hoopPower' exists for 'g'. Still has PROBLEMS."";\)\)

hoopShape::usage  =  "hoopShape[X_,o_:0] accepts either a valid \
Protoloop identifier ({mm,nn} or mnemonic) or a loop table. If the loop is \
symbolic, it creates a rule that will apply the symbols to the final result. \
If the specific shape[X] is not available, the indexTable (up to \
11\[Cross]11) is found, put into 'glo' and used to set 'gi' for use by \
'hoopInverse' and to find the generalised shape. The output is converted to \
the loop symbols if necessary. Non-conservative loops are rejected unless o<0\
"; genSin::usage = "genSin[x_,m_:4,j_:0] creates the j'th phase of the \
generalized symmetric sinusoid or helix with m phases; generalised Cosh and \
Sinh functions are generated if m=0 or 2.";

gi::usage = "Data required by hoopInverse & set up by sh, shape or \
hoopFactor, consisting of the location of the signed 1's in the indexTable \
rows, multiplied by the inverse sign if the 1 is signed, & followed by the \
multiplicity of the factors (which is zero for factored quartics)."; 
    gInverse::usage = "finds the element inverses"; 
    glo::usage = "Set by 'ge', 'ma', 'pe', 'hoopTest', 'hoopTimes', & \
'makeProtoloop' as the (global) indexTable of the loop being created or \
investigated; the default argument in many operations. See 'globa', \
'gmn'."; 
    globa::usage = "Set by 'subgroups'. The (global) indexTable of the loop \
being analyzed. See 'glo', gmn'";

gmap::usage  =  "gmap[gg_,v_] maps the elements of the list 'v' \
onto the indexTable 'g', which may include signed elements."; 
    gmn::usage  =  "Set by 'id' & 'makeProtoloop'; the (global) mnemonic \
of the current loop,used widely as a default argument. See 'globa', glo'"; 
    gp::usage = "Size multiplicity data needed by 'hoopPower', set up for \
the target loop by 'sh', 'hoopFactor' & 'toPolar'"; 
    gpd::usage = "gpd[gg_] is used on function arguments that should be \
groupoids (i.e. magmas, loops, quasigroups). It removes any TraditionalForm \
wrapper and rejects non-groupoids by 'Abort[]'. The first row must contain \
the elements, which may be matrices; signed elements are permitted in the \
body of the table.";
grayinv::usage = "grayinv[a_] calculates the inverse Graycode \
function of 'a', which must be an IntegerDigits list. Used in 'cl'"; 
    groupFromRelators::usage = "groupFromRelators[gp_,post_:{}] is a \
skeleton version of ge, which only handles pre-checked relators and only \
creates Cayley tables for groups.";

hamiltonianQ::usage = "hamiltonianQ[g_:glo] is true if 'g' \
is not abelian but all subgroups are normal"; 
    hmin::usage = "hmin is arbitrarily set at 4$MachineEpsilon as the \
criterion for 'hoopInverse' to ignore (renormalize) partial fractions with \
near-zero denominators."; 
    hoopFactor::usage = "hoopFactor[f_:fp] is called by 'hoopShape' & \
'hoopTest' to create 'gi' from the indexTable 'glo', for use by \
'hoopInverse'; and returns the short or (if the first argument is 'fa') the \
symbolic factor list."; 
    hoopInverse::usage = "hoopInverse[vec_?VectorQ] finds the \
multiplicative left inverse of 'vec' (right-padded with zeroes if necessary) \
in the algebra specified by 'glo'. It is effective provided that the algebra \
is conservative - i.e. the determinant of the product is the product of the \
multiplicand determinants (up to a sign). The procedure is related to \
Cramer's method. If the determinant factorises, the inverse splits into \
partial fractions with determinant factors as denominators and their \
derivations as numerators. The sequence of derivation variables is fixed by \
the location of 1's in the IndexTable, and is given in 'gi'.
   'Partial-fraction division-by-zero' (renormalisation) is implemented by \
omitting partial-fractions with denominators (sizes) that are within \
±'hmin' of zero. 'hmin' has been arbitrarily set at \
4$MachineEpsilon (=2.^-50 on my machine). Renormalisation is related to the \
Moore-Penrose pseudo-inverse (which gives minimised root-mean-square \
solutions to inconsistent sets of equations), and corresponds to projecting \
any vec onto a constrained sub-algebra whilst 'ejecting' remainders Rl, Rr to \
maintain conservation if needed. hoopInverse[vec_,loop_,gi_,gshape_]is a \
skelton algorithm, omting all tests";
hoopList::usage = "List of hoop names";\(hoopPower::usage = \*""hoopPower[A_, r_:1/2] calculates (A^r) if the target loop has a polar form.""\);hoopRoot::usage = "hoopRoot[A_?VectorQ] calculates the \
square root of A in the target algebra if it has a polar form. It is faster \
than using hoopPower.";hoopTimes::usage  =  "hoopTimes[a,b] or \
hoopTimes[a_,b_,gg_] multiplies the vectors 'a' & 'b' to give a product 'p' \
according to the indexTable 'gg' (default 'glo'). This may include signs. \
Remainders Rl & Rr are created, so that a=p/b+Rl, b=p/a+Rr, maintaining \
conservation. hoopTimes[a_,b_,loop_,c_] is a skeleton, omitting all tests, \
defaults and remainders. c is a dummy argument. ";hoopTest::usage = "hoopTest[X_:{mm,nn},t_:Real,r_:{-1.,1.}] \
accepts either a valid Protoloop identifier ({mm,nn} or mnemonic) or a \
groupoid indexTable. It sets 'glo' to the indexTable and creates two suitable \
random vectors in the field 't' with range 'r'. If the shape is known or \
calculable it is tested for conservation and division. If the Polar and \
Vector forms are known, reversion, powers and (if abelian) quadratic equation \
solutions are tested; if the hyPolar and hyVector forms are known, their \
reversion is tested. Successful tests are reported.";id::usage  =  "id[G_,L_:{}] uses a range of tests to \
identify 'G', which may be a name, or {mm,nn}, or an indexTable; if an \
index-list 'L' is specified, the corresponding subgroup of 'G' is identified. \
Associativity is not tested (for speed of execution) so unknown groupoids may \
be wrongly identified. Names: Cn, Dn/2, & Qn are cyclic or generalised \
Dihedral and Quaternion groups with n elements. An & Sn have n generators. \
Alt12n, Oct, D4Mn etc  are 'Square associative' or 'alternative aa.b=a.ab' \
groupoids. XY, XiY,XpY are the direct or indirect compositions of X & Y. Xa \
is a second isomorph of X. Xr & Xc are conservative signed tables obtained \
from X that also provide conservative algebras on expanding with C2 or (C2 & \
C4). Loops with names ending in n are not conservative. Loops with M in the \
name are non-associative Moufang loops. gnnmm is GAP SmallGroups(mm,nn). If \
the name contains ? identification is provisional because all groups of that \
size have not been distinguished. The global variables glo, gmn,mm,& nn are \
set by id. gmn is returned and gd[] will provide more details.";idc::usage  =  "idc[G_?MatrixQ,L_:{}] checks that 'G' is \
conservative before attempting identification via 'id'";

indexTableQ::usage = "indexTableQ[gg_:glo]] checks that the first row \
and column are Range[Length[gg]] and that every row and column contains each \
of these (possibly signed) integers once"; 
    jacobiQ::usage = "jacobiQ[gg_:glo,o_:0] tests whether xy=-yx & \
x.yz+y.zx+z.xy=0 for all x,y,z in glo"; 
    jordanQ::usage = "jordanQ[gg_:glo,o_:0] tests whether (xy).xx=x(y.xx) \
up to a sign"; 
    lcoset::usage  =  "lcoset[h_,g_:glo] finds the left coset for the \
subgrouplist 'h' in the indexTable 'g' or in 'glo'"; 
    linearFactor::usage = "linearFactor[f_,l_] finds the symbolic 'alph' \
form of a linear factor 'f' generated by 'fp' for a group of length 'l'"; 
    lmatrix::usage  =  "lmatrix[gg_?indexTableQ] converts 'gg' into the \
corresponding matrix with 1's on the diagonal and {1,2,3..,m} in the first \
column. If an ordered set of symbols or numbers is mapped onto an lmatrix, \
the groupoid product is given by the left matrix dot product of this matrix \
and any other ordered set. Cf rmatrix.";

KS::"usage" = "KS[l_List,k_Integer?Positive,gap_:{},lef_:{}] is \
an adaptation of k-subsets in Skiena p44, to create subsets, of length 'k' of \
group indices that give groupoids from 'globa'. It creates a list 'gap' of \
rejected indices and a list 'lef' of elements left in, adding to 'lef' those \
new elements that do not have any products in 'gap'."; 
    loop::"usage" = "loop[[mm,nn]] is the data file. 'mm' is the number \
of elements, and 'nn' is the position in the extended GAP Atlas entry. For \
each loop, the first entry is the mnemonic, the second is 'dico', the third \
specifies a test (0 if 'dico' is unique), the fourth is a prescription, the \
5th & 6th define the generators. If matrix formulations are known they are \
supplied as indices for 2\[Cross]2, 3\[Cross]3, & 4\[Cross]4 standard \
matrices u2, u3, u4. In a few cases, extra table creation procedures are \
appended.";

loopQ::usage = "loopQ[gg_?MatrixQ,o_:0] tests whether the first row \
and first column are the same set of different elements (i.e. are the unit) \
and every row and column contain every element once (up to a sign). If 'o' \
≠ 0 the reason for rejection will be output.";

ma::"usage" = "ma[{mm__},maxel_:72,o_:0] takes a list of one or \
more unitary monomial signed square matrices (all of the same size) and \
prepends the unit matrix. It then creates the dot products of these matrices \
and appends any that are not already present, until the size exceeds 'maxel' \
or a group has been completed. The group is then created as (global) element \
list 'matel' which is output if o≠0; the indexTable is put into \
'glo' and is output."; 
    matel::usage = "Global. The elements of the latest matrix (ma or ms) or \
relator (ge) group. (The last relator acts as a sign in a signed table.)"; 
    makeProtoloop::usage  = "makeProtoloop[g_:{mm,nn},o_:0] is the full \
name for 'mp', q.v."; "makeProtoloop[] or makeProtoloop[mm,nn] uses the \
first available prescription in gd[mm,nn] to create the protoloop.
   makeProtoloop[G_:MatrixQ,o_:0] recognises three formats for G - a string \
(mnemonic) as a name, indices {mm,nn} in 'loop' (i.e. the extended GAP Atlas \
identifiers), or a matrix. It then attempts to make the protoloop, returning \
'Unknown' or 'No protoloop' and clearing matel as appropriate. If 'o'=0 it \
uses the first available formulation. If 'o' is 1, 'ge' is used.  If 'o' is \
2, 3, or 4, the corresponding matrix formulation is used in mg. ms is used \
for signed tables
   If 'o' is 5 or 6, different protoloops may be generated (only P16a, P16i, \
g2003, Alt12n so far). The indexTable is output.";

matstrep::usage  =  "matstrep[l_,rul_,sm_:smax] performs up to 'sm' \
string replace repetitions on the matrix."; 
    md::usage = "md[g_,l_:{}] (Moufang doubling) creates a non-associative \
Moufang loop from a non-abelian group. l={} uses gInverse to implement Chein \
doubling; 3 cases use l as a reordering."; 
    mg::usage = "mg[v_?VectorQ,u_] (Matrix Group) creates a matrix by \
sending the u matrices given in 'v' to 'ma'.u may be u2,u3, or u4. The size \
is limited to 'mm'+1"; 
    minsign::usage = "minsign[g_] finds any signed elements of 'g' and sets \
up the appropriate simplification list from 'unitSigns'"; 
    mm::usage = "Global. mm is the table size of entries in 'loop', set by \
'id' & 'gd', used as {mm,nn} in many procedures"; 
    modqr::usage = "The 'modqr' function shifts a signed index 'r' by 'q' \
whilst keeping in the range ±{1,2q}. e.g. modqr[3,-2] = -5. Used \
in 'cd'."; 
    MoufangQ::usage = "MoufangQ tests if zx.yz=(z.xy)z, the 3rd Moufang \
Identity. See PMA p92. As this fails for many conservative signed tables such \
as Qr, unsigned tests can be performed by moufangQ."; 
    moufangQ::usage = "Tests if |zx.yz|=|(z.xy)z|, the (unsigned) 3rd \
Moufang Identity. See PMA p92"; 
    moufangLQ::usage = "Tests if |(zy.z)x|=|z(y.zx)|, the (unsigned) Left \
Moufang Identity. See PMA p93"; 
    moufangRQ::usage = "Tests if |x(z.yz)|=|(xz.y)z|, the (unsigned) Right \
Moufang Identity. See PMA p93"; 
    mp::usage = "mp[] or mp[mm,nn] uses the first available prescription in \
gd[mm,nn] to create the protoloop.
   mp[G_:MatrixQ,o_:0] recognises three formats for G - a string (mnemonic) \
as a name, indices {mm,nn} in 'loop' (i.e. the extended GAP Atlas \
identifiers), or a matrix. It then attempts to make the protoloop, returning \
'Unknown' or 'No protoloop' and clearing matel as appropriate. If 'o'=0 it \
uses the first available formulation. If 'o' is 1, 'ge' is used.  If 'o' is \
2, 3, or 4, the corresponding matrix formulation is used in mg. ms is used \
for signed tables.
   If 'o' is 5 or 6, different protoloops may be generated (only P16a, P16i, \
g2003, Alt12n so far). The indexTable is output.";

\(ms::usage = "ms[v__?ListQ,l_:u2,maxel_:33] makes signed tables that may be hoops, from the specified unitary monomial matrices. It puts the unit matrix and either the matrices in v (or if v is a list of indices, possibly signed, the listed matrices from l, where l is u2,u3 or u4), into matel. It then creates a table from their dot products, adding any that do not match signed existing ones, up to a limit maxel. ms is used in place of mg in mp for signed tables"; 
    msi::usage = "msi[v__?ListQ,l_:u2,si={1,-1,I,-I},maxel_:64] is a variation on ms that handles P4 and P16c"; 
    mstst::usage = "mstst[m_,s_] tests whether matel contains a version of the matrix m, multiplied by the signs in s, returning 0 or the corresponding sign for use in ms."; 
    ncm::usage = "ncm performs some simplifications on NonCommutative polynomials of up to 3 variables. Should be replaced by instructions from NCAlgebra@math.ucsd.edu."; 
    negatableQ::usage = "negatableQ[gg_:glo,f_:2] tests whether the table 'gg' has the same elements in each 1/f × 1/f fraction with elements shifted by 'm/f' (allowing for signs). If so, the top left fraction may describe a signedTable.";\)

\(nn::usage = "Global. 'nn' is set by 'id', 'hoopTest', 'hoopTimes & 'gd', and used in {mm,nn} to identify the position of an entry (of length mm) in 'loop'"; 
    normalSubgroup::usage\  = \ \*""normalSubgroup[h,g] tests whether 'h' is a normal subgroup of 'G', i.e. gh\!\(g\&_\)ϵH, all g,h.""; 
    orderCount::usage = "gives the order of each element in 'g'"; 
    pe::usage = "Generates a loop from a list of permutations such as s4"; period::usage = "standard group function"; 
    permute::usage = "If 'p' is a valid sub-permutation, permute[P_List,p_List] returns the sublist of 'P'";\)

pick::usage = "pick[g_,m_List,n_List] picks out the rows 'm' & \
columns 'n' from 'g'"; 
    plex::usage = "The vec used to give a plex-conjugate to {a,b,...}; set \
up by some shapes. If it does not give the standard shape in an obvious way, \
the plex form of the shape is supplied as a comment. Conjugates are a \
meta-mathematical trick that provide a quadratic size in some algebras; the \
more general approach is via the explicit 'shape' functions that give all the \
conserved sizes."; 
    polsort::usage = "creates a sorted list of elements in the polynomial \
P, for use in 'frag'"; 
    pos::usage = "pos[a_] negates 'a' if the first term is negated, so that \
'frag2' squared terms match."; 
    pow2::usage = "A list {a,1,2,4,8..} used as elements of Cayley Tables \
to allow fast determinant evaluation via fp & 'linearFactor'. (May have \
problems with some Clifford algebras - use fp[G,power2 or power3].)"; 
    power2::usage = "A list {a,3,7,1,2,4,8..} used as elements of Cayley \
Tables to allow fast determinant evaluation via 'fp'"; 
    power3::usage = "A list {a,1,2,3,9,27,81..} used as elements of Cayley \
Tables to allow fast determinant evaluation via 'fp'.";

QPower::usage = "QPower[{a,b,c,d},r]  raises the quaternion (or \
biquaternion, as the coefficients can be complex) to the power or root r, \
giving the square root if r is omitted";

rcoset::usage  =  "rcoset[h_,g_] finds the right coset for the \
subgrouplist 'h' in the indexTable'g' or in 'glo'"; 
    reductiveQ::usage = "tests xy.xx=x(y.xx)"; 
    reim::usage  =  "Replaces Derivative[Re] by Re, etc"; 
    reorder::usage  =  "reorder[gg_?indexTableQ,p_] generates the \
indexTable of 'gg' as reordered by the permutation 'p'; short permutations \
give sub-tables."; riffQ::usage = "Tests if xy(z.xy)=((x.yz).x)y"; 
    r3::usage = "1/Sqrt[3]"; 
    Rl::usage = "The left remainder from the last P=hoopTimes[A,B], \
containing the sizes of A that are zero in P"; 
    Rr::usage = "The right remainder from the last P=hoopTimes[A,B], \
containing the sizes of B that are zero in P"; 
    rmatrix::usage  =  "rmatrix[gg_?indexTableQ] converts 'gg' into the \
corresponding matrix with 1's on the diagonal and {1,2,3..,m) in the first \
row. If an ordered set of symbols or numbers is mapped onto an rmatrix, the \
groupoid product is given by the right matrix dot product of this matrix and \
any other ordered set. Cf lmatrix"; 
    rotateQOP::usage = "rotateQOP[{vecs},axis,angle,hoop:gmn] rotates the \
vecs (truncated or padded with zeroes if necessary) through angle about axis \
(which is also truncated or padded) The hoop must be Qr,Octr, or P4. gmn is \
set for further use. The classic Euler defnition is used, multiplying twice \
by half angles."; 
    ruleExpand::usage  =  "ruleExpand[a] applies 'stringExpand' to a list \
of compressed rules e.g a4b2→aaaabb.";

select::usage = "select[l_] finds all elements appearing as products \
in the subarray 'l' of 'globa'"; 
    s3::usage = "s3 is the list of permutations that define S3"; 
    s4::usage = "s4 is the list of permutations that define S4"; 
    s5::usage = "s5 is the list of permutations that define S5"; 
    sg::usage = "sg is the (global) list of subgroup indices created by \
'subgroups'; used by 'subgroupTypes'"; 
    sh::usage = "sh[hoop] is the list of factors of the symbolic hoop \
determinant."; 
    shape::usage = "shape[vec_,mnemonic_] obtains specific shape data \
(where known) from sh for the current or specified loop. The real determinant \
factors (i.e. those that are conserved) are supplied, and the lists gi & gp \
are set up for use by hoopInverse & toPolar. Plex conjugates are also \
supplied (where known) for completeness."; 
    sgroup::usage  =  "sgroup[m_?IntegerQ] is adapted from Skiena p17. It \
creates the indexTable for S[n]"; 
    sh12::usage = "sh12[{12vec}] is the standard shape data for Dozal, the \
12-element groups C3C4, C3K, Q12, D3C2, A4. It includes functions that are \
conserved on general multiplication but are not determinant factors, and \
others that are only conserved in some multiplications of orbits";

\(signlist::usage = "signlist={𝕕,𝕠,𝕘,𝕙,𝕡,𝕀,𝕐,𝕁,𝕞,𝕟,𝕤} is the list of extended signs. These are different 12th, 8th, 7th, 6th, 5th, 4th, 3rd, 3rd, 2nd, 2nd & 9th roots of +1 respectively. 𝕤 is the general sign or 𝕣'th root of +1. See also 'unitSigns'."; 𝕕::usage = \*""Extended Sign. (𝕕^12)=1""; 𝕘::usage = \*""Extended Sign. (𝕘^7)=1""; 𝕙::usage = \*""Extended Sign. (𝕙^6)=1""; 𝕀::usage = \*""Extended Sign. (𝕀^4)=1""; 𝕁::usage = \*""Extended Sign. (𝕁^3)=1""; 𝕜::usage = \*""Extended Sign. (𝕜^2)=1""; 𝕝::usage = \*""Extended Sign. (𝕝^2)=1""; 𝕞::usage = \*""Extended Sign. (𝕞^2)=1""; 𝕟::usage = \*""Extended Sign. (𝕟^9)=1""; 𝕠::usage = \*""Extended Sign. (𝕠^8)=1""; 𝕡::usage = \*""Extended Sign. (𝕡^5)=1""; 𝕤::usage = \*""Generalised Extended Sign, the 𝕣'th root of unity. (𝕤^𝕣)=1"";\)
\(\(\(𝕐::usage = \*""Extended Sign. (𝕐^3)=1"";\);\)\)

signedTableQ::usage = "tests whether the group is an indexTable with \
signed elements"; 
    simC2::usage = "simc2[a_,b_,o_:0] solves a set of simultaneous \
equations ax+b=0 for x in the C2 algebra. The determinant factorises into p \
and n (i.e. ±); if either is zero, the indeterminate solution has \
a degree of freedom $x. If o≠0 the solution is collapsed to real \
numbers"; 
    strep::usage  =  "created by ge[...,±1] as string \
replacement rules."; 
    streprpt::usage  =  "streprpt[str_,rul_,imax_] performs up to 'imax' \
string replace repetitions using the list 'rul'."; 
    stringExpand::usage  =  "stringExpand[t] replaces 'letter integer' by \
'integer' repetitions of 'letter' in the string 't'.";

subgroupTypes::usage  =  "subgroupTypes[] or subgroupTypes[%] may \
be used after subgroups[g] to identify them in order.";  
    subgrpPerm::usage = "subgrpPerm[G_,a_:0] & subgrpPerm[G_,a_,b_,c_] are \
implementations of RandomPermutation from Skiena p7. They permute the group \
to increase the chance of pruning, and usually speed up the determination of \
subgroups for groups with 'm'>47. a, b, & c are arguments that are passed \
through."; 
    subgroups::usage  =  "subgroups[g_,o_,i1_,i2_,p_:associativeQ] finds \
all the subloops, in the IndexTable 'g' that pass the 'p' test, so the \
default finds subgroups, within the optional length range {i1,i2}, as \
sublists of indices. 'globa' is set to 'g'. If 'o'=0, the number of subloops \
is output; if 'o'=1 the sublist is put into 'sg', for use by 'id' and is \
output; o=2 gives both.
  subgroups[g_,-n,i1_] or subgroups[g_,any,i1_,any,{n__}] test whether the \
subgroup identified as {i1,n} or {i1,n__} is a subgroup of 'g', returning 0 \
or the first matching n__ found. Used by 'id'";

tf::usage = "TraditionalForm";
tidy::usage  =  "tidy[g_:globa,n_:-1,o_:1,p_:{}] uses the list \
'n' (or the n'th subgroup if 'n' is an integer; the default is the last found \
subgroup) in the top-left corner of a reordering of 'g'; 'o' is the \
(optional) element at the beginning  of the next column. 'p' is the \
(optional) starting  element (or list) for the remainder. The reorder list \
and the new table are output. The default group is 'globa', as set up by \
'subgroups'. It is faster to specify a subgroup as an element-list than to \
specify a position in the subgroup list, as the latter has to proceed via \
'subgroups', which is slow for large groups";
toCycles::"usage" = "toCycles[perm_?VectorQ] generates the cycles \
from the permutation."; 
    toIndexTable::usage  =  "toIndexTable[g_?MatrixQ] rearranges a \
shuffled indexTable to make the first row and column into {1,2,...m}"; 
    tohyPol::usage = "tohyPol[{radius,angle}__,mnemonic_] contains the \
hyperbolic forms"; 
    tohyPolar::usage = "tohyPolar[vec_,mnemonic_] obtains the hyperbolic \
form for the current groupoid"; 
    tohyVec::usage = "tohyVec[{ulna,angle}__,mnemonic_] contains the \
hyperbolic forms"; 
    tohyVector::usage = "tohyVector[hpf_,mnemonic_] reverts the hyperbolic \
form for the current groupoid";

toPol::usage = "toPol[vec_,mnemonic_] gives the polar form of vec in \
the specified hoop."; 
    toPolar::usage = "toPolar[vec_,mnemonic_] obtains the polar form from \
the vector form for the current groupoid"; 
    toSignedTable::usage  =  "toSignedTable[g_?MatrixQ,r_:2,reo_:{},o_:0] \
(abbreviation ts) attempts to collapse 'g' to a signed table of length m/|r|, \
after reordering if 'reo' is provided. Non-conservative tables are rejected \
unless 'r'<0. Collapse is a skeleton,omitting reordering and all tests."; 
    toVec::usage = "toVec[mnemonic_] gives the vector form, using 'alph' \
variables."; 
    toVector::usage = "toVector[pf_,mnemonic_] reverts the polar form to \
the vector form for the current groupoid";

trico::usage = "trico[g_] is the count of elements of 'g' having cube \
roots, with the unit roots first "; 
    ts::usage  =  "ts[a___] is an abbreviation, used in data, for \
toSignedTable[g_?MatrixQ,r_:2,reo_:{},o_:0]. It attempts to collapse 'g' to a \
signed table of length m/|r|, after reordering if 'reo' is provided. \
Non-conservative tables are rejected unless 'r'<0."; 
    u2::usage = "u2, u3, & u4 are lists of 2×2, 3×3, & 4\
\[Cross]4 monomial unit matrices that include the Pauli Sigma and Dirac Gamma \
and Tau matrices. These allow development of matrix groups with different \
symmetries. Only some root matrices are included; dot multiplying them \
together generates many more. In combination with 'loop' & 'makeProtoloop', \
they allow the generation of many small groups with sets of matrices as \
elements. Further work is needed to increase the number of groups \
handled."; u3::usage = "See u2"; u4::usage = "See u2"; 
    union::usage = "Finds the unsorted union. Same as UnionNoSort of \
EAAM";

unitSigns::usage="𝕕, 𝕘, 𝕙, 𝕀, 𝕁, 𝕝, 𝕜, 𝕞, 𝕟, 𝕠, 𝕡, 𝕤 and 𝕐 are set up to act as unit signs related to I, with 𝕕=((+1)^(1/12)), 𝕘=((+1)^(1/7)), 𝕀=((+1)^(1/4)) (and distinct from I and I), 𝕁=((+1)^(1/3)) and 𝕐=((+1)^(1/3))(both distinct from I  which is synonymous with I and I in Mathematica), 𝕙=(Sqrt[+1]), 𝕜=(Sqrt[+1]), 𝕞=(Sqrt[+1]) (all being extra negations), 𝕟=((+1)^(1/9)), 𝕠=((+1)^(1/8)), 𝕡=((+1)^(1/5)), 𝕤=((+1)^(1/𝕣)). They are all non-Positive, with NumberQ=True, Abs=1, Re=0, Im=0 and equal their own Sign, so that 'gmap' treats them correctly. 'unitSigns' reduces their powers to their primary range, whilst minsign creates a specific reduction rule. 𝕤 is general 𝕣'th root of unity.";unsign::usage = "unsign[g] replaces negated or complex signed \
elements in 'g' by the indices of the expanded table.";walsh::usage = "walsh[a_] calculates the Walsh function, \
±1, for 'a', which must be an IntegerDigits list;
  walsh[a_,list_] calculates the modified Walsh function with 'n' defining \
`negative-square` elements of 'a'. Used in 'cl'";
ω::usage = "ω=2π/3 used in many \
orbits";

7.3 Usage for Predefined Index & Signed Tables.

\(\(\( (*2, 
      3\ elements\ *) \)\(
\)\(C2::usage = "indexTable for C2"; C3::usage = "indexTable for C3"; 
    C3n::usage = "non-Moufang 3-element table"; 
    C3C3j::usage = "conservative 𝕁-signedTable from C3C3, though conservativeQ and idc fail to simplify and so fail"; 
    C9J::usage = "conservative 𝕁-signedTable from C9, though conservativeQ and idc fail to simplify and so fail"; 
    C9j::usage = "conservative 𝕁-signedTable from a C9 isomorph, though conservativeQ and idc fail to simplify and so fail"; 
    C4C3c::usage = "conservative I-signedTable"; 
    C3i::usage = "conservative I-signedTable"; 
    C12c::usage = "conservative I-signedTable";
 (*\ 4\ elements\ *) 

    C4::usage = "indexTable for C4"; 
    K::usage = "indexTable for K ≡ C2C2"; 
    P4::usage = "complexTable from P16 ≡ Pauli algebra"; 
    P16c::usage = "complexTable from P16"; 
    C4C3c::usage = "signedTable from C4C3"; 
    Q4n::usage = "non-conservative signedTable related to Q4 & P4";  (*\ 
      5  elements\ *) 
C5::usage = "indexTable for C5"; 
    C5n::usage = "The smallest non-associative Jacobi-identity loop (arXiv:hep-th/0111292 v1)";
 (*6\ elements\ *) 

    C3C2::usage = "indexTable for C3C2"; 
    D3::usage = "indexTable for D3 ≡ S3"; 
    D3C2c::usage = "signed indexTable from D3C2"; 
    C6n::usage = "A table with the repeated quadratic size of D3 replaced by two signed sums of 6 squares. Passes the hamiltonian test (only)";\)\)\)

\(\(\( (*\ 8, \ 
      9\ elements\ *) \)\(
\)\(C4C2::usage = "indexTable for C4C2"; C8::usage = "indexTable for C8"; 
    KC2::usage = \*""indexTable for KC2 ≡(C2^3)""; 
    D4::usage = "indexTable for D4"; 
    Q8::usage = "indexTable for quaternion group"; 
    CL12::usage = "signedTable Clifford(1,2)"; 
    P8::usage = "signedTable from KK";

    Octi::usage = "'isoOctonion' signedTable from M(16,2)"; 
    Octr::usage = "signedTable from Oct or M(16,3)"; 
    O4::usage = "signedTable from C4K; O4a & O4b are isomorphs."; 
    O4k::usage = "A signedTable from C4K with 4 linear and two quadratic sizes."; Q8C2r::usage = "signedTable from Q8C2"; 
    Q8n::usage = "non-conservative Table related to Q8 & P8"; 
    C8an::usage = "signedTable cd[{2,-1.,-1}] that passes associativeQ & moufangQ but does not conserve its single factor";
 (*\ 
      9\ elements\ *) 

    \(C3C3::usage = "indexTable for C3C3";\)\)\)\)

\(\(\( (*\ 
      12\ elements\ *) \)\(
\)\(C3C4::usage = "indexTable for C3C4"; C3K::usage = "indexTable for C3K ≡ C3C2C2"; 
    Q12::usage = "indexTable for Q12"; 
    A4::usage = "indexTable for A4"; 
    A4a::usage = "second indexTable for A4"; 
    D3C2::usage = "indexTable for D3C2"; 
    C3P4::usage = "conservative 12-element complexTable"; 
    D3Mn::usage = "indexTable for M1201, 12-element non-associative Moufang Loop from D3"; 
    Alt12n::usage = "non-conservative alternative 12-element indexTable";\)\)\)

\(\(\( (*\ 
      16\ elements\ *) \)\(
\)\(Q16::usage = "indexTable for Q16"; D4C2::usage = "indexTable for D4C2"; 
    C4C4::usage = "indexTable for C4C4"; 
    Q8C2::usage = "indexTable for Q8C2"; 
    C8pC2::usage = "indexTable for C8pC2"; 
    KK::usage = \*""indexTable for KK ≡ (C2^4)""; 
    C4K::usage = "indexTable for C4K"; 
    KiC4::usage = "indexTable for KiC4"; 
    C4iC4::usage = "indexTable for C4iC4"; 
    P16::usage = "indexTable for Pauli group P16"; 
    P16a::usage = "second indexTable for Pauli group P16"; 
    P16i::usage = "third indexTable for Pauli group P16"; 
    Oct::usage = "conservative alternative 16-element indexTable"; 
    r31r::usage = "16 element signedTable from g3249"; 
    CL4::usage = "16 element signedTable from g3250"; 
    D4M1n::usage = "indexTable for 16-element non-associative Moufang Loop from D4, GAP M1601"; 
    Q8M2::usage = "indexTable for 16-element associative Moufang Loop from Q8, GAP M1602"; 
    D4M4n::usage = "indexTable for 16-element non-associative Moufang Loop from D4, GAP M1604"; 
    D4M5n::usage = "indexTable for 16-element non-associative Moufang Loop from Q8, GAP M1605"; 
    Sed::usage = "The Sedenion (hexadecimilion) non-conservative non-alternative Cayley-Dickson algebra";\)\)\)

\(\(\( (*\ 
      20 + \ elements\ *) \)\(
\)\(D5Mn::usage = "indexTable for 20-element non-associative Moufang Loop from D5, GAP M2001"; 
    D3C2Mn::usage = "indexTable for 24-element non-associative Moufang Loop from D3C2, GAP M2401"; 
    A4Mn::usage = "indexTable for 24-element non-associative Moufang Loop from A4, GAP M402"; 
    Q12M3n::usage = "indexTable for 24-element non-associative Moufang Loop from Q12, GAP M2403"; 
    Q12M4n::usage = "indexTable for 24-element non-associative Moufang Loop from Q12, GAP M2405"; 
    Q12M5n::usage = "indexTable for 24-element non-associative Moufang Loop from Q12, GAP M2405"; 
    SL23::usage = "indexTable for 24-element group SL[2,3]"; 
    OctrC3::usage = "conservative alternative 24-element signedTable"; 
    Alt12nC2::usage = "non-conservative alternative 24-element indexTable"; P27::usage = "indexTable for group P27"; 
    g2704::usage = "indexTable for group 27-element without prescription"; 
    OctC2M::usage = "conservative alternative 32-element indexTable, GAP M3216"; 
    P16M::usage = "indexTable for 32-element non-associative Moufang Loop from P16, GAP M3221"; 
    C8pC2M::usage = "indexTable for 32-element non-associative Moufang Loop from C8pC2 GAP M3235"; 
    KiC4M::usage = "indexTable for 32-element non-associative Moufang Loop from KiC4, GAP M3254"; 
    C4iC4M::usage = "indexTable for 32-element non-associative Moufang Loop from C4iC4, GAP M4365"; 
    Alt12nC3::usage = "non-conservative alternative 36-element indexTable"; 
    OctC3::usage = "conservative alternative 48-element indexTable";\)\)\)

8. Start Private definitions.  Create Database.

8.1 Begin Private.

Begin["`Private`"];

protected = Unprotect[NumberQ, Positive, Abs, Sign, Re, Im, Interval];(* no longer needed?*)

8.2 Miscellaneous definitions arcTanh, det, grayinv, pos, walsh, etc.

The following are general definitions that extend Mathematica without being specific to groups, loops, or hoops.

arcTanh[adj_, opp_] := 
      Module[{x = Chop[adj], y = Chop[opp], b}, 
        If[(x == y || x == -y), 
          If[x ≠ 0, ∞ Sign[y]/Sign[ x], 0, 0], 
          b = Log[(x + y)/(Sqrt[(x^2) - (y^2)]) // N]; 
          Chop[Re[b] + I Chop[Im[b]]]]]; 
    arcTanh[{x_, y_}] := arcTanh[x, y];

Interval[{a_, a_}] := a;
pos[a_] := 
      If[Head[a] === TraditionalForm, 
        If[Position[a[[1, 1]], -_] === {{}}, -a[[1]], 
          a[[1]]], 
        If[Position[a[[1]], -_] === {{}}, -a, 
          a]];   
symdiff[a_Real, 
        b_Real:  0. ] := If[a < b, b - a, a - b, a - b]; 
    symdiff[a_Integer, b_Integer:  0] := 
      If[a < b, b - a, a - b, a - b]
reim={Derivative[any_][Re]->Re,Derivative[any_][Im]->Im};

det[(a_)?MatrixQ, m_:  2] := 
          Module[{am = Abs[m], b = a, c, d, i, J, ln = Length[a], 
              lm = Length[a[[1]]], t = Times}, 
            Which[ln == 1, 
              d = Sum[J^(i - 1)*a[[1, i]], {i, lm}], lm == 1, 
              d = Sum[J^(i - 1)*a[[i, 1]], {i, ln}], True, 
              If[ln > lm, b = Transpose[a]; lm = ln]; c = J*b[[1]]; 
              b = Transpose[Drop[b, 1]]; 
              d = Sum[If[c[[i]] === 0, 0, 
                    J^i* t[c[[i]], det1[Drop[b, {i}], J, t]]], {i, 
                    lm}]]; CoefficientList[
                Expand[d] //. {J^any_ -> J^Mod[any, am]}, J] /. 
              J -> 
                Switch[am, 1, 1, 2, -1, 3, 𝕛, 
                  4, 𝕚]];;
det1[a_, J_, t_] := 
        Module[{ln = Length[a], lm = Length[a[[1]]], b, c}, 
          If[lm == 1, Sum[J^(i - 1)*a[[i, 1]], {i, ln}], 
            b = Transpose[a]; c = J*b[[1]]; b = Transpose[Drop[b, 1]]; 
            Sum[If[c[[i]] === 0, 0, 
                J^i*t[c[[i]], det1[Drop[b, {i}], J, t]]], {i, 
                ln}]]];

walsh[a_] := If[EvenQ[Length[Position[a, 1]]], 1, -1]; 
    walsh[a_, n_] := If[EvenQ[Length[Position[a[[n]], 1]]], 1, -1]; 
    grayinv[a_] := 
      Table[Mod[Plus @@ Take[a, i], 2], {i, 
          Length[a]}]
\(Distribution[l_List] := Distribution[l, Union[l]];  (*\ 
      From\ Skiena\ p106\ *) 

    Distribution[l_List, set_List] := Map[\((Count)\)[l, #] &, set]; 
    select[l_?ListQ]\  := 
      Union[Flatten[
          Table[globa[\([l[\([i]\)], l[\([j]\)]]\)], \ {i, \ 
              Length[l]}, \ {j, \ Length[l]}]]]; 
    union[lst_] :=  (*\ 
        Union\ No\ Sort\ as\ in\ EEAM . \ 
            Available\ as\ UnsortedUnion\ in\ Functions*) 
Apply[Head[lst], 
        Fold[If[MemberQ[#1, #2], #1, Append[#1, #2]] &, {First[lst]}, 
          Drop[lst, 1]]]\)

permfromQ[p_List, n_Integer] := 
      Length[Complement[p, Range[n]]] == 0 && 
        Sort[p] == Union[p]; 
    permute[P_List, p_List] := 
      If[permfromQ[p, Length[P]], P[[p]], Print[{P, p, " error"}]]; 
    toCycles[perm_?VectorQ] := 
      Module[{c, i, m, n, p = perm}, 
        If[Sort[p] == Range[Max[p]], 
          Select[Table[
              m = n = p[[i]]; 
              c = {}; While[
                p[[n]] ≠ 0, 
                AppendTo[c, m = n]; 
                n = p[[n]]; 
                p[[m]] = 0]; 
              c, {i, Length[p]}], #1 =!= {} &], "Not a Permutation"]]; 
    fromCycles[cyc_List] := 
      Module[{p = Range[Max[Flatten[cyc]]], pos}, 
        Scan[(pos = Last[#1]; 
              Scan[Function[c, 
                  pos = p[[pos]] = 
                      c], #1]) &, cyc]; p]; 
    as[A_] :=   
Table[
        alph[[ii]] -> A[[ii]], {ii, Min[mm, Length[A]]}]; 
    tf = TraditionalForm; r3 = 1/Sqrt[3];

8.3 Extended (generalized) signs.

Extended signs are roots of unity. They (and their low powers) are orthogonal to each other; several distinct r'th roots occur in many groups. (Projecting them onto the complex unit circle destroys these important properties.) A set of symbols is proposed as a standard (together with -, i, & -i).  𝕀 and 𝕁 differ from related letters used in Mathematica, where I & 𝕛 are synonymous with i. 
	𝕤 is a generalized sign, the 𝕣'th root of unity; the others are specific extended signs. unitSigns is a simplifying function for expressions that include extended signs; minsign[expression] creates a selective version for just those signs in expression. I suggest the convention that "readable-ASCII-only" documents use 'd, 'g,...'Y (read as sign d, etc) for these double-struck letters.

𝕣 =. ;unitSigns={(𝕕^12) → 1,(𝕕^any)_ -> (𝕕^Mod)[any, 12],(𝕘^7) -> 1,(𝕘^any)_ -> (𝕘^Mod)[any, 7],(𝕙^6) -> 1,(𝕙^any)_ -> (𝕙^Mod)[any, 6],(𝕀^4)->1,(𝕀^(any_))->(𝕀^(Mod[any, 4])),(𝕁^3)->1,(𝕁^(any_))->(𝕁^(Mod[any, 3])),(𝕜^any)_?OddQ -> 𝕜,(𝕜^any)_?EvenQ -> 1,(𝕝^any)_?OddQ -> 𝕝,(𝕝^any)_?EvenQ -> 1,(𝕞^(any_?OddQ))->𝕞,(𝕞^(any_?EvenQ))->1,(𝕟^9)->1,(𝕟^(any_))->(𝕟^Mod)[any, 9],(𝕠^8) -> 1,(𝕠^any)_ -> (𝕠^Mod)[any, 8],(𝕡^5) -> 1,(𝕡^any)_ -> (𝕡^Mod)[any, 5],(𝕤^𝕣) -> 1,(𝕤^any)_ -> (𝕤^Mod)[any, 𝕣],(𝕐^3) -> 1,(𝕐^any)_ -> (𝕐^Mod)[any, 3]};

signlist = {𝕕, 𝕘, 𝕙, 𝕀, 𝕁, 𝕜, 𝕝, 𝕞, 𝕟, 𝕠, 𝕡, 𝕤, 𝕐};

NumberQ[𝕕] = True;NumberQ[𝕘] = True;NumberQ[𝕙] = True;NumberQ[𝕀] = True;NumberQ[𝕁] = True;NumberQ[𝕜] = True;NumberQ[𝕝] = True;NumberQ[𝕞]=True;NumberQ[𝕟]=True;NumberQ[𝕠] = True;NumberQ[𝕡] = True;NumberQ[𝕤] = True;NumberQ[𝕐] = True;
Positive[𝕕] = False;Positive[-𝕕] = False;Positive[𝕘] = False;Positive[-𝕘] = False;Positive[𝕙] = False;Positive[-𝕙] = False;Positive[𝕀] = False;Positive[-𝕀] = False;Positive[𝕁] = False;Positive[-𝕁] = False;Positive[𝕜] = False;Positive[-𝕜] = False;Positive[𝕝] = False;Positive[-𝕝] = False;Positive[𝕞]=False;Positive[-𝕞]=False;Positive[𝕟]=False;Positive[-𝕟]=False;Positive[𝕠]=False;Positive[-𝕠] = False;Positive[𝕡]=False;Positive[-𝕡] = False;Positive[𝕤]=False;Positive[-𝕤] = False;Positive[𝕐] = False;Positive[-𝕐] = False;

Abs[𝕕] = 1;Abs[𝕘] = 1;Abs[𝕙] = 1;Abs[𝕀] = 1;Abs[𝕁] = 1;Abs[𝕜] = 1;Abs[𝕝] = 1;Abs[𝕞]=1;Abs[𝕟]=1;Abs[𝕠] = 1;Abs[𝕡] = 1;Abs[𝕤] = 1;Abs[𝕐] = 1;
Sign[𝕕] = 𝕕;Sign[𝕘] = 𝕘;Sign[𝕙] = 𝕙;Sign[𝕀] = 𝕀;Sign[𝕁] = 𝕁;Sign[𝕜] = 𝕜;Sign[𝕝] = 𝕝;Sign[𝕞]=𝕞;Sign[𝕟]=𝕟;Sign[𝕠] = 𝕠;Sign[𝕡] = 𝕡;Sign[𝕤]=𝕤;Sign[𝕐] = 𝕐;
Re[𝕕] = 0;Re[𝕘] = 0;Re[𝕙] = 0;Re[𝕀] = 0;Re[𝕁] = 0;Re[𝕜] = 0;Re[𝕝] = 0;Re[𝕞]=0;Re[𝕟]=0;Re[𝕠] = 0;Re[𝕡] = 0;Re[𝕤]=0;Re[𝕐] = 0;Im[𝕕] = 0;Im[𝕘] = 0;Im[𝕙] = 0;Im[𝕀] = 0;Im[𝕁] = 0;Im[𝕜] = 0;Im[𝕝]=0;Im[𝕞]=0;Im[𝕟]=0;Im[𝕠] = 0;Im[𝕡] = 0;Im[𝕤]=0;Im[𝕐] = 0;Re[   a_ 𝕁^b_] := 0;Im[  a_  𝕁^b_] := 0;Re[ 𝕁^b_] := 0;Im[𝕁^b_] := 0;Re[a_  𝕁] = 0;Im[a_ 𝕁] = 0;Re[   a_ 𝕐^b_] := 0;Im[  a_  𝕐^b_] := 0;Re[ 𝕐^b_] := 0;Im[𝕐^b_] := 0;Re[a_  𝕐] = 0;Im[a_ 𝕐] = 0;

minsign[g_] := 
      Module[{a = 
            Intersection[Variables[g], signlist], 
s = {}}, 
        Do[Do[If[unitSigns[[i]][[1, 1]] === a[[j]], 
              AppendTo[s, unitSigns[[i]]]], {i, Length[unitSigns]}], {j, 
            Length[a]}]; s]

8.4 Predefined Index & Signed Tables.

hoopList names all the loops for which determinant factors have been found, in their order in sections 8.2 ete seq (but non-conservative loops are moved to the end).

\(\(hoopList = {"C2", "C4c", "C3", "C3C2c", "C12c", "C3i", "C4C3c", "C3C3j", "C9j", "C9J", "C4", "K", "Qr", "P4", "Dav", "O2", "C8r", "C3C4j", "CL2", "C4C2r", "P16c", "C8c", "C5", "C3C2", "D3", "C3C4c", "Q12c", "Q12r", "Q12r", "g2401c", "D6r", "D3C2c", "KC3c", "C3Kr", "Cl3r", "Clm3r", "C8", "KC2", "C4C2", "D4", "Q8", "Octr", "KiC4c", "O4", "O4a", "O4b", "C4C4c", "C4C4r", "Q8C2r", "C2D4r", "P8", "CL3", "C4iC4c", "QC2r", "KiC4r", "CL21", "CL03", "Octi", "C3C3", "C9", "C6C3c", "C3C4", "C3K", "Q12", "D3C2", "A4", "C3Qr", "C3P4", "C6Kr", "C3KC2r", "Q12C2c", "D8", "Q16", "D4C2", "C4C4", "Q8C2", "KK", "C4K", "KiC4", "C4iC4", "P16", "Oct", "Q8M2", "CL4", "CL13", "CL22", "CL31", "r31r", "CL04", "O8", "C3C4C2", "CL31C2", "CL4C2", "Q4n", "C6n", "Q8n", "D3Mn"};\)\)

C2 = ca[2]; C3 = ca[3]; 
    C3n = {{a, b, c}, {b, c, a}, {c, -a, b}};
C3C3j = {{1, 2, 3}, {2, 
            3 (𝕁^2), 𝕁}, {3, 𝕁, 2 (𝕁^2)}};C9j = {{1, 2, 3}, {2, 3 (𝕁^2), 1}, {3, 1, 
            2 𝕁}};C9J = {{1, 2, 3}, {2, 
            3, 𝕁}, {3, 𝕁, 
            2 𝕁}};C3i = {{1, 2, 3}, {2, 3, I}, {3, I, 
              2 I}};
C12c = {{1, 2, 3}, {2, 
            3, -I}, {3, -I, -2 I}};
C4 = ca[4]; K = ca[4, 3]; 
    P4 = {{1, 2, 3, 4}, {2, 1, -4 I, 3 I}, {3, 
          4 I, 
          1, -2 I}, {4, -3 I, 
          2 I, 1}}; 
    C4C3c = {{1, 2, 3}, {2, 3 I, -1}, {3, -1, 
          2 I}};
P16c = {{1, 2, 3, 
          4}, {2, -1, -4 I, -3 I}, {3, 
          4 I, -1, 2 I}, {4, 
          3 I, -2 I, 1}}; 
    Q4n = {{1, 2, 3, 4}, {2, 1, 4, -3}, {3, -4, 1, 2}, {4, 3, -2, 
          1}}; C5 = ca[5]; 
    C5n = {{1, 2, 3, 4, 5}, {2, 1, 4, 5, 3}, {3, 5, 1, 2, 4}, {4, 3, 5, 1, 
          2}, {5, 4, 2, 3, 1}};

C3C2 = co[C3, C2]; D3 = ca[6, 5];
D3C2c = ms[{6, 7}, u3]; 
    C6n = {{1, 2, 3, 4, 5, 6}, {2, 3, 1, 6, 4, 5}, {3, 1, 2, 5, 6, 4}, {4, 5, 
          6, 2, 1, 3}, {5, 6, 4, 1, 3, 2}, {6, 4, 5, 3, 2, 1}};

C4C2 = co[C4, C2]; KC2 = co[K, C2]; D4 = ca[8, 7]; C8 = ca[8]; 
    Q8 = ca[8, 3]; 
    Oct = cd[{-1, -1, -1, {2}}];

    Q8C2r = {{1, 2, 3, 4, 5, 6, 7, 8}, {2, -5, 1, 8, -3, -4, 
            6, -7}, {3, 1, -5, -6, -2, 7, -8, 
            4}, {4, -6, 8, -5, 7, -3, -1, 
            2}, {5, -3, -2, 7, 1, 8, 4, 6}, {6, 7, -4, -2, 
            8, -5, 3, -1}, {7, -8, 6, -1, 4, 
            2, -5, -3}, {8, 4, -7, 3, 
            6, -1, -2, -5}};

    P8 = {{1, 2, 3, 4, 5, 6, 7, 8}, {2, 1, -4 I, 
            3 I, 6, 5, -8 I, 
            7 I}, {3, 4 I, 
            1, -2 I, 7, 8 I, 
            5, -6 I}, {4, -3 I, 
            2 I, 1, 8, -7 I, 6 I, 
            5}, {5, 6, 7, 8, 1, 2, 3, 4}, {6, 5, -8 I, 
            7 I, 2, 1, -4 I, 
            3 I}, {7, 8 I, 
            5, -6 I, 3, 4 I, 
            1, -2 I}, {8, -7 I, 
            6 I, 5, 4, -3 I, 2 I, 
            1}};

    Q8n = {{1, 2, 3, 4, 5, 6, 7, 8}, {2, 1, 4, 7, 6, 5, 8, 3}, {3, 8, 1, 2, 
            7, 4, 5, 6}, {4, 3, 6, 1, 8, 7, 2, 5}, {5, 6, 7, 8, 1, 2, 3, 
            4}, {6, 5, 8, 3, 2, 1, 4, 7}, {7, 4, 5, 6, 3, 8, 1, 2}, {8, 7, 2, 
            5, 4, 3, 6, 1}};

    CL12 = cl[1, 2];

C3C3 = co[C3, C3]; C3C4 = co[C3, C4]; C3K = co[C3, K]; 
    Q12 = co[C3, C4, 2]; D3C2 = co[C3, K, 2]; 
    A4 = ge[{3, 2, 
          2}, {"ba" -> "abc", "ca" -> "ab"}]; 
    A4a = Transpose[A4]; D3C4r = ms[{3, 15}];

C3P4=(({{1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}, {2, 3, 1, 5, 6, 4, 8, 9, 7, 11, 12, 10}, {3, 1, 2, 6, 4, 5, 9, 7, 8, 12, 10, 11}, {4, 5, 6, 1, 2, 3, 10 I, 11 I, 12 I, -7 I, -8 I, -9 I}, {5, 6, 4, 2, 3, 1, 11 I, 12 I, 10 I, -8 I, -9 I, -7 I}, {6, 4, 5, 3, 1, 2, 12 I, 10 I, 11 I, -9 I, -7 I, -8 I}, {7, 8, 9, -10 I, -11 I, -12 I, 1, 2, 3, 4 I, 5 I, 6 I}, {8, 9, 7, -11 I, -12 I, -10 I, 2, 3, 1, 5 I, 6 I, 4 I}, {9, 7, 8, -12 I, -10 I, -11 I, 3, 1, 2, 6 I, 4 I, 5 I}, {10, 11, 12, 7 I, 8 I, 9 I, -4 I, -5 I, -6 I, 1, 2, 3}, {11, 12, 10, 8 I, 9 I, 7 I, -5 I, -6 I, -4 I, 2, 3, 1}, {12, 10, 11, 9 I, 7 I, 8 I, -6 I, -4 I, -5 I, 3, 1, 2}}));

P16i = 
      ge[{2, 2, 2, 
          2}, {"aa" -> "d", "cb" -> "bcd"}]; 
    P16a = co[Q8, C2, 4]; P16 = co[P4, C4]; C8pC2 = co[ca[8], C2, 4]; 
    g2101 = ge[{7, 3}, {"ba" -> "aab"}]; 
    OctC2 = co[Oct, C2];
SL23 = mg[{9, 14}, u4]; 
    P27 = ge[{3, 3, 3}, {"ba" -> "abc"}]; 
    g2704 = ge[{9, 
          3}, {"ba" -> "a4b", "baa" -> "ab"}];

Q12M5n=(({{1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24}, {2, 3, 5, 6, 1, 7, 9, 10, 4, 11, 12, 8, 14, 15, 17, 22, 13, 23, 24, 18, 20, 19, 21, 16}, {3, 5, 1, 7, 2, 9, 4, 11, 6, 12, 8, 10, 15, 17, 13, 19, 14, 21, 16, 23, 18, 24, 20, 22}, {4, 10, 7, 8, 12, 2, 11, 1, 5, 6, 3, 9, 16, 18, 19, 20, 21, 22, 23, 13, 24, 14, 15, 17}, {5, 1, 2, 9, 3, 4, 6, 12, 7, 8, 10, 11, 17, 13, 14, 24, 15, 20, 22, 21, 23, 16, 18, 19}, {6, 11, 9, 10, 8, 3, 12, 2, 1, 7, 5, 4, 18, 19, 21, 14, 16, 15, 17, 22, 13, 23, 24, 20}, {7, 12, 4, 11, 10, 5, 8, 3, 2, 9, 1, 6, 19, 21, 16, 23, 18, 24, 20, 15, 22, 17, 13, 14}, {8, 6, 11, 1, 9, 10, 3, 4, 12, 2, 7, 5, 20, 22, 23, 13, 24, 14, 15, 16, 17, 18, 19, 21}, {9, 8, 6, 12, 11, 1, 10, 5, 3, 4, 2, 7, 21, 16, 18, 17, 19, 13, 14, 24, 15, 20, 22, 23}, {10, 7, 12, 2, 4, 11, 5, 6, 8, 3, 9, 1, 22, 23, 24, 18, 20, 19, 21, 14, 16, 15, 17, 13}, {11, 9, 8, 3, 6, 12, 1, 7, 10, 5, 4, 2, 23, 24, 20, 15, 22, 17, 13, 19, 14, 21, 16, 18}, {12, 4, 10, 5, 7, 8, 2, 9, 11, 1, 6, 3, 24, 20, 22, 21, 23, 16, 18, 17, 19, 13, 14, 15}, {13, 17, 15, 20, 14, 21, 23, 16, 18, 24, 19, 22, 3, 2, 1, 11, 5, 6, 8, 7, 9, 10, 4, 12}, {14, 13, 17, 22, 15, 16, 24, 18, 19, 20, 21, 23, 5, 3, 2, 9, 1, 11, 6, 12, 8, 7, 10, 4}, {15, 14, 13, 23, 17, 18, 20, 19, 21, 22, 16, 24, 1, 5, 3, 8, 2, 9, 11, 4, 6, 12, 7, 10}, {16, 24, 19, 13, 22, 17, 15, 20, 14, 21, 23, 18, 7, 6, 4, 3, 9, 10, 1, 11, 12, 2, 8, 5}, {17, 15, 14, 24, 13, 19, 22, 21, 16, 23, 18, 20, 2, 1, 5, 6, 3, 8, 9, 10, 11, 4, 12, 7}, {18, 20, 21, 14, 23, 13, 17, 22, 15, 16, 24, 19, 9, 7, 6, 12, 4, 3, 10, 5, 1, 11, 2, 8}, {19, 22, 16, 15, 24, 14, 13, 23, 17, 18, 20, 21, 4, 9, 7, 1, 6, 12, 3, 8, 10, 5, 11, 2}, {20, 21, 23, 16, 18, 24, 19, 13, 22, 17, 15, 14, 11, 10, 8, 7, 12, 2, 4, 3, 5, 6, 1, 9}, {21, 23, 18, 17, 20, 15, 14, 24, 13, 19, 22, 16, 6, 4, 9, 10, 7, 1, 12, 2, 3, 8, 5, 11}, {22, 16, 24, 18, 19, 20, 21, 14, 23, 13, 17, 15, 12, 11, 10, 5, 8, 7, 2, 9, 4, 3, 6, 1}, {23, 18, 20, 19, 21, 22, 16, 15, 24, 14, 13, 17, 8, 12, 11, 4, 10, 5, 7, 1, 2, 9, 3, 6}, {24, 19, 22, 21, 16, 23, 18, 17, 20, 15, 14, 13, 10, 8, 12, 2, 11, 4, 5, 6, 7, 1, 9, 3}}));Alt12nC2 = co[Alt12n, C2];OctrC3 = co[Oct, C3];Alt12nC3 = co[Alt12n, C3];C4iC4M=(({{1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32}, {2, 5, 6, 7, 8, 10, 11, 1, 12, 13, 14, 15, 3, 4, 16, 9, 18, 21, 28, 23, 24, 31, 27, 17, 22, 32, 30, 26, 25, 20, 29, 19}, {3, 12, 4, 9, 10, 2, 6, 16, 1, 11, 15, 7, 8, 13, 5, 14, 25, 28, 17, 19, 31, 18, 22, 32, 20, 21, 26, 23, 24, 29, 27, 30}, {4, 7, 9, 1, 11, 12, 2, 14, 3, 15, 5, 6, 16, 8, 10, 13, 20, 23, 25, 17, 27, 28, 18, 30, 19, 31, 21, 22, 32, 24, 26, 29}, {5, 8, 10, 11, 1, 13, 14, 2, 15, 3, 4, 16, 6, 7, 9, 12, 21, 24, 26, 27, 17, 29, 30, 18, 31, 19, 20, 32, 22, 23, 25, 28}, {6, 15, 7, 12, 13, 5, 10, 9, 2, 14, 16, 11, 1, 3, 8, 4, 28, 31, 23, 22, 32, 27, 26, 25, 18, 30, 29, 21, 20, 19, 24, 17}, {7, 11, 12, 2, 14, 15, 5, 4, 6, 16, 8, 10, 9, 1, 13, 3, 23, 27, 22, 18, 30, 26, 21, 20, 28, 29, 24, 31, 19, 17, 32, 25}, {8, 1, 13, 14, 2, 3, 4, 5, 16, 6, 7, 9, 10, 11, 12, 15, 24, 17, 32, 30, 18, 25, 20, 21, 29, 28, 23, 19, 31, 27, 22, 26}, {9, 6, 1, 3, 15, 7, 12, 13, 4, 5, 10, 2, 14, 16, 11, 8, 19, 22, 20, 25, 26, 23, 28, 29, 17, 27, 31, 18, 30, 32, 21, 24}, {10, 16, 11, 15, 3, 8, 13, 12, 5, 4, 9, 14, 2, 6, 1, 7, 31, 32, 21, 26, 25, 24, 29, 28, 27, 17, 19, 30, 18, 22, 20, 23}, {11, 14, 15, 5, 4, 16, 8, 7, 10, 9, 1, 13, 12, 2, 3, 6, 27, 30, 31, 21, 20, 32, 24, 23, 26, 25, 17, 29, 28, 18, 19, 22}, {12, 10, 2, 6, 16, 11, 15, 3, 7, 8, 13, 5, 4, 9, 14, 1, 22, 26, 18, 28, 29, 21, 31, 19, 23, 24, 32, 27, 17, 25, 30, 20}, {13, 9, 14, 16, 6, 1, 3, 15, 8, 7, 12, 4, 5, 10, 2, 11, 32, 25, 30, 29, 28, 20, 19, 31, 24, 23, 22, 17, 27, 26, 18, 21}, {14, 4, 16, 8, 7, 9, 1, 11, 13, 12, 2, 3, 15, 5, 6, 10, 30, 20, 29, 24, 23, 19, 17, 27, 32, 22, 18, 25, 26, 21, 28, 31}, {15, 13, 5, 10, 9, 14, 16, 6, 11, 1, 3, 8, 7, 12, 4, 2, 26, 29, 27, 31, 19, 30, 32, 22, 21, 20, 25, 24, 23, 28, 17, 18}, {16, 3, 8, 13, 12, 4, 9, 10, 14, 2, 6, 1, 11, 15, 7, 5, 29, 19, 24, 32, 22, 17, 25, 26, 30, 18, 28, 20, 21, 31, 23, 27}, {17, 23, 19, 20, 21, 22, 18, 30, 25, 26, 27, 28, 29, 24, 31, 32, 5, 14, 10, 11, 1, 13, 8, 7, 15, 3, 4, 16, 6, 2, 9, 12}, {18, 27, 22, 23, 24, 26, 21, 20, 28, 29, 30, 31, 19, 17, 32, 25, 8, 4, 16, 14, 2, 9, 1, 11, 13, 12, 7, 3, 15, 5, 6, 10}, {19, 22, 20, 25, 26, 18, 28, 29, 17, 27, 31, 23, 24, 32, 21, 30, 15, 13, 5, 10, 9, 8, 16, 6, 11, 1, 3, 14, 2, 12, 4, 7}, {20, 18, 25, 17, 27, 28, 23, 24, 19, 31, 21, 22, 32, 30, 26, 29, 11, 8, 15, 5, 4, 16, 14, 2, 10, 9, 1, 13, 12, 7, 3, 6}, {21, 30, 26, 27, 17, 29, 24, 23, 31, 19, 20, 32, 22, 18, 25, 28, 1, 7, 3, 4, 5, 6, 2, 14, 9, 10, 11, 12, 13, 8, 15, 16}, {22, 26, 23, 28, 29, 21, 31, 19, 18, 30, 32, 27, 17, 25, 24, 20, 16, 3, 14, 13, 12, 4, 9, 10, 8, 7, 6, 1, 11, 15, 2, 5}, {23, 21, 28, 18, 30, 31, 27, 17, 22, 32, 24, 26, 25, 20, 29, 19, 14, 1, 13, 8, 7, 3, 4, 5, 16, 6, 2, 9, 10, 11, 12, 15}, {24, 20, 29, 30, 18, 19, 17, 27, 32, 22, 23, 25, 26, 21, 28, 31, 2, 11, 12, 7, 8, 15, 5, 4, 6, 16, 14, 10, 9, 1, 13, 3}, {25, 28, 17, 19, 31, 23, 22, 32, 20, 21, 26, 18, 30, 29, 27, 24, 10, 16, 11, 15, 3, 14, 13, 12, 5, 4, 9, 8, 7, 6, 1, 2}, {26, 29, 27, 31, 19, 24, 32, 22, 21, 20, 25, 30, 18, 28, 17, 23, 9, 6, 1, 3, 15, 2, 12, 13, 4, 5, 10, 7, 8, 16, 11, 14}, {27, 24, 31, 21, 20, 32, 30, 18, 26, 25, 17, 29, 28, 23, 19, 22, 4, 2, 9, 1, 11, 12, 7, 8, 3, 15, 5, 6, 16, 14, 10, 13}, {28, 31, 18, 22, 32, 27, 26, 25, 23, 24, 29, 21, 20, 19, 30, 17, 13, 9, 8, 16, 6, 1, 3, 15, 14, 2, 12, 4, 5, 10, 7, 11}, {29, 19, 30, 32, 22, 17, 25, 26, 24, 23, 28, 20, 21, 31, 18, 27, 12, 10, 7, 6, 16, 11, 15, 3, 2, 14, 13, 5, 4, 9, 8, 1}, {30, 17, 32, 24, 23, 25, 20, 21, 29, 28, 18, 19, 31, 27, 22, 26, 7, 5, 6, 2, 14, 10, 11, 1, 12, 13, 8, 15, 3, 4, 16, 9}, {31, 32, 21, 26, 25, 30, 29, 28, 27, 17, 19, 24, 23, 22, 20, 18, 3, 12, 4, 9, 10, 7, 6, 16, 1, 11, 15, 2, 14, 13, 5, 8}, {32, 25, 24, 29, 28, 20, 19, 31, 30, 18, 22, 17, 27, 26, 23, 21, 6, 15, 2, 12, 13, 5, 10, 9, 7, 8, 16, 11, 1, 3, 14, 4}}));

8.5 Main Groupoid Data File, loop[[mm,nn]]

\(\(\(\(Unprotect[loop];\)

    \(Clear[loop];\)\)\( (*\ to\ allow\ revisions*) \)\)\)

loop = Table[{}, {i, 257}];

loop[[1]] = {{"C1", {1. }, 
            0, "ca[1]", {1}, {}, {}, {}, {}}};
\(\(loop[\([2]\)] = {{"C2", {2. }, 
            0, "ca[2]", {2}, {}, {1}, {1}, {1}}, 
{"C4c", {\(-1. \), 1, 1}, 
            0, "cd[{-1}]", {}, {}, {12}, {44}, {30}, "cl[0,1]"}};\)\)
\(\(loop[\([3]\)] = {{"C3", {1. , 1\_2}, 
            0, "ca[3]", {3}, {}, {10}, {8}, {8}}, {"C3C2c", {\(-1. \), 1\_2, 3}, 
            0, "cd[{3.}]", {}, {}, {𝕁}, {\(-8\)}, {\(-8\)}}, {"C3C2r", {\(-1. \), 1\_2, 2}, 
            0, "cd[{-3}]", {}, {}, {}, {}, {}}, 
{"C4C3c", {\(-1. \)\ I, 1\_2, 4}, 
            0, "C4C3c", {}, {}, {}, {}, {}}, {"C3C3j", {\(-1. \)\ 𝕁, 1\_2, 8}, 
            0, "C3C3j", {}, {}, {}, {}, {}}, {"C9j", {\(-1. \) 𝕁, 1\_2, 5}, 
            0, "C9j", {}, {}, {}, {}, {}}, {"C9J", {\(-1. \)\ 𝕁, 1\_2, 4}, 
            0, "ts[ca[9],3]", {}, {}, {}, {}, {}}, 
{"C12c", {\(-1. \) I, 1\_2, 3}, 
            22, "C12c", {}, {}, {}, {}, {}}, 
{"C3i", {\(-1. \)\ I, 1\_2, 3}, 
            22, "C3i", {}, {}, {}, {}, {}}};\)\)

\(\(loop[\([4]\)] = {{"K", {4. }, 
            0, "co[C2,C2]", {2, 2}, {}, {1, 2}, {1, 2}, {1, 
              2}}, 
{"C4", {2. , 2}, 
            0, "ca[4]", {4}, {}, {12}, {13}, {12}}, 
{"Qr", {\(-3\), 1, 6}, 
            0, "cd[{-1,-1}]", {}, {}, {13, 14}, {}, {30, 
              31}, "cl[0,2]"}, 
{"Kr", {\(-4. \), 
              6}, 0, "cd[{4.}]", {}, {}, {}, {}, {}}, 
{"O2", {\(-2. \), 2, 4}, 
            7, "cd[{-1,1}]", {}, {}, {3, 12}, {3, 43}, {3, 
              30}}, {"Dav", {\(-2. \), 2, 6}, 
            2, "cd[{-1,-1.}]", {}, {}, {12, 13}, {}, {30, 
              41}}, 
{"CL2", {\(-1\), 3, 4}, 
            0, "cd[{1,-1}]", {}, {}, {2, 4}, {}, {4, 
              5}}, 
{"P4", {\(-4\) I, 6}, 
            0, "P4", {}, {}, {}, {}, {}, "msi[{2,3,4}]"}, 
{"C4C2r", {\(-2. \), 2, 6}, 
            2, "cd[{-4}]", {}, {}, {}, {}, {}}, 
{"C3C4j", {\(-2. \), 2, 4}, 
            7, "cd[{-2,1}]", {}, {}, {}, {}, {4, 
              13}}, 
{"C8c", {\(-1. \), 1\_3, 6}, 
            0, "cd[{-4.}]", {}, {}, {29}, {}, {37}}, 
{"C8r", {\(-1. \), 1\_3, 4}, 
            0, "ts[ca[8,5]]", {}, {}, {}, {}, {}}, 
{"P16c", {\(-2\) I, 2, 8}, 
            0, "P16c", {}, {}, {}, {}, {}, "msi[{13,2,14}]"}, 
{"Q4n", {\(-4\), 3}, 
            0, "Q4n", {}, {}, {}, {}, {}}};\)\)

\(\(loop[\([5]\)] = {{"C5", {1. , 1\_4}, 
            0, "ca[5]", {5}, {}, {18}, {16}, {17}}, {"C10c", {\(-1. \), 1\_4, 10}, 
            0, "ts[ca[10]]", {}, {}, {}, {\(-16\)}, {25}}, {"C10r", {\(-1. \), 1\_4, 9}, 
            0, "ts[ca[10],2,{1,3,5,7,4,6,8,10,2,9}]", {}, {}, {}, {}, {}}, 
{"C10s", {\(-1. \), 1\_4, 7}, 
            0, "ts[ca[10],2,{1,7,8,4,10,6,2,3,9,5}]", {}, {}, {}, {}, {}}, 
{"C10t", {\(-1. \), 1\_4, 12}, 
            0, "ts[ca[10],2,{1,2,8,4,10,6,7,3,9,5}]", {}, {}, {}, {}, {}}, {"C5n", {5}, 0, "C5n", {}, {}, {}, {}, {}}};\)\)

\(\(loop[\([6]\)] = {{"D3", {4, 1\_2}, 
            0, "ca[6,5]", {3, 2}, {"ba" -> "a2b"}, {3, 
              10}, {2, 5}, {3, 9}}, 
{"C3C2", {2. , 
              2\_2}, 72, "co[C3,C2]", {3, 
              2}, {}, {19\ }, {17}, {18}}, 
{"Q12c", {\(-3\), 1\_3, 9}, 
            0, "ts[Q12]", {}, {}, {10, 13}, {}, {8, 
              43}}, {"Q12r", {\(-1\), 1\_2, 3, 15}, 
            0, "ts[ca[12,5]]", {}, {}, {}, {}, {}}, 
{"D6r", {\(-1\), 1, 4, 12}, 
            0, "ts[ca[12,11]]", {}, {}, {}, {}, {4, \(-8\)}}, 
{"KC3c", {\(-2. \), 2\_2, 12}, 
            0, "cd[{3.,1}]", {}, {}, {𝕁, 𝕜}, {3, 17}, {}}, {"C3Kr", {\(-2. \), 2\_2, 8}, 
            0, "cd[{-3,1}]", {}, {}, {}, {}, {}}, {"C3C4c", {\(-1. \), 1\_5, 9}, 
            0, "cd[{3,-1.}]", {}, {}, {10, 12}, {8, 
              43}, {}}, 
{"D3C2c", {\(-1\), 1, 4, 8}, 
            0, "ms[{6,7},u3]", {}, {}, {}, {}, {}}, 
{"Clm3r", {\(-1. \), 1\_5, 13}, 
            0, "cd[{-3,-1.}]", {}, {}, {}, {}, {}}, 
{"Cl3r", {\(-1. \), 1\_5, 15}, 
            0, "cd[{3.,-1.}]", {}, {}, {𝕁\ 12}, {17, 44}, {26}}, 
{"g2401c", {\(-3\) I, 
              1\_3, 9}, 
            0, "ts[mp[{24,1}],-4]", {}, {}, {}, {}, {}}, 
{"C6n", {2, 2\_2}, 
            0, "C6n", {}, {}, {}, {}, {}}, 
{"C6an", {2. , 2\_2}, 
            72, "co[C9j,C2]", {}, {}, {}, {}, {}}, 
{"Alt6n", {\(-1. \)\ I, 1\_5, 15}, 
            0, "ts[mp[{24,2}],-4]", {}, {}, {}, {}, {}}};\)\)
\(\(loop[\([7]\)] = {{"C7", {1. , 1\_6}, 
            0, "ca[7]", {7}, {}, {21}, {24}, {20}}, {"C14c", {\(-1. \), 1\_6, 21}, 
            0, "ts[ca[14]]", {}, {}, {}, {\(-24\)}, {}}};\)\)

\(\(loop[\([8]\)] = {\ \ {"C8", {2. , 2\_3}, 
            0, "ca[8]", {8}, {}, {22}, {25}, {21}}, 
{"C4C2", {4. , 4}, 
            0, "co[C4,C2]", {4, 2}, {}, {1, 16}, {1, 13}, {1, 
              16}}, \ {"D4", {6, 2}, 
            0, "ca[8,7]", {4, 2}, {"ba" -> "a3b"}, {2, 
              3}, {2, 15}, {1, 3}}, 
{"Q8", {2, 6}, 
            0, "ca[8,3]", {2, 2, 
              2}, {"aa" -> "c", "bb" -> "c", "ba" -> "abc"}, {13, 14}, {13, 14}, {15, 
              16}}, 
{"KC2", {8. }, 
            0, "co[K,C2]", {2, 2, 2}, {}, {1, 2, 6}, {1, 2, 3}, {1, 2, 
              4}}, {"C16c", {\(-1. \), 1\_7, 28}, 
            0, "ts[ca[16]]", {}, {}, {}, {}, {}}, {"C16r", {\(-1. \), 
              1\_7, 24}, 
            0, "ts[ca[16,9]]", {}, {}, {}, {}, {}}, 
{"C4C4c", {\(-2. \), 2\_3, 16}, 
            0, "cd[{2,1.,-1.}]", {}, {}, {12, 16}, {42, 
              44}, {}}, {"KiC4c", {\(-2\), 2, 4, 16}, 
            0, "ts[co[K,C4,2]]", {}, {}, {}, {}, {12, 
              16}}, {"C4iC4c", {\(-4\), 2\_2, 16}, 
            0, "ts[co[C4,C4,2]]", {}, {}, {16, 
              24}, {}, {}}, {"QC2r", {\(-6\), 2, 24}, 
            20, "ts[co[C2,Q8]]", {}, {}, {6, 13, 14}, {}, {7, 30, 
              44}}, {"Q8C2r", {\(-6\), 2, 26}, 
            0, "Q8C2r", {}, {}, {}, {}, {29, 30, 
              31}}, 
{"O4", {\(-4. \), 4, 16}, 
            97, "cd[{1,1,-1.}]", {}, {}, {4, 6, 
              13}, {}, {}}, 
{"O4a", {\(-4. \), 4, 24}, 
            0, "cd[{-1,1.,-1.}]", {}, {}, {3, 26, 
              27}, {}, {}}, 
{"O4b", {\(-4. \), 4, 28}, 
            0, "cd[{-1,-1.,-1.}]", {}, {}, {12, 26, 
              27}, {}, {}}, 
{"P8", {\(-8\) I, 24}, 
            0, "P8", {}, {}, {}, {}, {}}, 
{"KKr", {\(-8. \), 24}, 
            0, "cd[{4.,1}]", {}, {}, {}, {}, {}}, 
{"C2D4r", {\(-2\), 6, 16}, 
            0, "ts[co[C2,D4]]", {}, {}, {2, 6, 25}, {}, {1, 4, 
              5}}, 
{"CL3", {\(-4\), 4, 24}, 
            0, "cl[3]", {}, {}, {}, {}, {4, 29, 
              30}, "ts[P16i]"}, 
{"CL12", {\(-4\), 
              4, 24}, 0, "cl[1,2]", {}, {}, {}, {}, {}}, 
{"Octr", {\(-7\), 1, 28}, 
            0, "cd[{-1,-1,-1}]", {}, {}, {}, {}, {}}, 
{"KiC4r", {\(-2\), 2, 4, 24}, 
            0, "ts[co[K,C4,2],2,{1,10,13,14,3,12,15,16,9,2,5,6,11,4,7,8}]", {}, {}, {9, 13}, {}, {3, 43}}, 
{"C8pC2c", {\(-2\), 
              2\_3, 24}, 
            0, "ts[mp[{16,6}],{1,14,3,4,9,6,11,12,5,10,7,8,13,2,15,16}]", {}, {}, {}, {}, {}}, 
{"D8c", {\(-1\), 1\_2, 5, 24}, 
            0, "ts[ca[16,15]]", {}, {}, {}, {}, {}}, 
{"Q8iC2r", {\(-1\), 1, 3\_2, 24}, 
            0, "ts[co[Q8,C2,2],{1,4,3,2,9,14,15,16,   5,8,7,6,13,10,11,12}]", {}, {}, {}, {}, {}}, 
{"Q16r", {\(-1\), 1\_2, 5, 
              28}, 0, "ts[ca[16,7]]", {}, {}, {}, {}, {}}, 
{"CL21", {\(-2\), 6, 24}, 
            0, "cl[2,1]", {}, {}, {}, {}, {4, 5, 7, 
              16}}, 
{"CL03", {\(-6\), 2, 28}, 
            0, "cl[0,3]", {}, {}, {}, {}, {16, 30, 
              44}}, {"C4C4r", {\(-2. \), 2\_3, 24}, 
            12, "cd[{-2,1,-1.}]", {}, {}, {6, 
              29}, {}, {}}, 
{"Octi", {\(-3\), 5, 24}, 
            0, "cd[{1,-1,-1}]", {}, {}, {}, {}, {}}, 
{"O4k", {\(-4. \), 4, 16}, 
            97, "cd[{-2,1,1}]", {}, {}, {}, {}, {}}, 
{"C8pr", {\(-2\), 2\_3, 26}, 
            0, "ts[co[ca[8],C2,4],{1,13,16,4,3,11,10,6,5,9,12,8,7,15,14,2}]", {}, {}, {2, 29}, {}, {}}, {"C8n", {\(-2\), 1, 2, 3, 24}, 
            0, "cd[{2,-1.,-1}]", {}, {}, {}, {}, {}}, 
{"Q8n", {8}, 
            0, "Q8n", {}, {}, {}, {}, {}}};\)\)

\(\(loop[\([9]\)] = {{"C9", {1. , 1\_8}, 
            1, "ca[9]", {9}, {}, {23}, {28}, {23}}, {"C3C3", {1. , 
              1\_8}, 1, "co[C3,C3]", {3, 3}, {}, {10, 11}, {8, 12}, {8, 
              11}}, {"C6C3c", {\(-1. \), 1\_8, 38}, 
            0, "ts[mp[18,5],2,{1,15,8,5,13,9,14,7,6,4,18,11,2,16,12,17,10,3}]", {}, {}, {}, {}, {}}, 
{"C3C6c", {\(-1. \), 1\_8, 
              27}, 0, "ts[co[C3,ca[6]]]", {}, {}, {}, {10, \(-12\)}, {}}, 
{"C18c", {\(-1. \), 1\_8, 36}, 
            0, "ts[ca[18]]", {}, {}, {}, { (*\(-28\)*) }, {}}};\)\)
loop[[10]] = {{"D5", {6, (Subscript[1, 4])}, 
            0, "ca[10,9]", {5, 2}, {"ba" -> "a4b"}, {3, 
              18}, {2, 16}, {}}, {"C10", {2. , (Subscript[2, 4])}, 
            0, "ca[10]", {5, 2}, {}, {1, 
              18}, {29}, {24}}, 
{"Q20c", {-5, 
              (Subscript[1, 5]), 25}, 
            0, "ca[]", {}, {}, {13, 
              18}, {}, {}}};
loop[[11]] = {{"C11", {1. , (Subscript[1, 10])}, 
            0, "ca[11]", {11}, {}, {}, {}, {}}};

\(\(loop[\([12]\)] = {{"Q12", {2, 2\_2, 6}, 
            0, "co[C3,C4,2]", {3, 4}, {"ba" -> "a2b"}, {10, 
              13}, {8, 36}, {8, 16}}, {"C3C4", {2. , 2\_5}, 
            0, "co[C3,C4]", {3, 4}, {}, {10, 12}, {8, 
              15}, {26}}, {"A4", {4, 1\_8}, 
            0, "ca[]", {3, 2, 
              2}, {"ba" -> "abc", "ca" -> "ab"}, {}, {3, 9}, {1, 10}}, 
{"D3C2", {8, 2\_2}, 
            0, "co[C3,K,2]", {3, 2, 2}, {"ba" -> "a2b"}, {3, 
              19}, {2, 6}, {2, 3\ }}, 
{"C3K", {4. , 
              4\_2}, 0, "co[C3,K]", {3, 2, 2}, {}, {1, 19}, {1, 19}, {1, 
              19}}, {"Alt12n", {4, 4\_2}, 
            0, "cd[{-1,-1,{3}}]", {}, {}, {}, {}, {}, "ge[{2,2,3},{ ba->abc }]"}, {"C3Qr", {\(-3\), 1\_3, 3\_2, 54}, 
            0, "ts[co[C3,Q8]]", {}, {}, {}, {}, {}}, 
{"C3P4", {\(-4\) I, 4\_2, 54}, 
            0, "C3P4", {}, {}, {}, {}, {}}, 
{"C3Dav", {\(-2. \), 2\_5, 54}, 
            0, "cd[{3,-1.,-1.}]", {}, {}, {}, {}, {}}, 
{"SL23r", {\(-1\), 1\_8, 3, 54}, 
            0, "ts[mp[{24,3},4],2,{1,2,4,3,5,6,10,9,22,20,21,7,8,12,14,13,15,16,19,18,24,11,23,17}]", {}, {}, {}, {}, {}}, 
{"C3iC8c", {\(-3\), 1\_6, 3, 54}, 
            0, "ts[mp[{24,1},1]]", {}, {}, {10, 
              29}, {}, {}}, 
{"D3C4c", {\(-1\), 1\_3, 
              4\_2, 36}, 
            0, "ts[mp[{24,5},1]]", {}, {}, {}, {}, {}}, 
{"D12r", {\(-1\), 1\_4, 7, 60}, 
            0, "ts[ca[24,23]]", {}, {}, {}, {}, {}}, 
{"Q12C2c", {\(-6\), 2\_3, 36}, 
            0, "ts[mp[{24,7},1]]", {}, {}, {13, 
              19}, {}, {}}, 
{"Q12C2r", {\(-2\), 2\_2, 
              6, 60}, 0, "ts[co[C2,ca[12,5]]]", {}, {}, {}, {}, {}}, 
{"C3iC4iC2r", {\(-3\), 2\_2, 5, 36}, 
            0, "ts[mp[{24,8},1]]", {}, {}, {4, 10, 
              15}, {}, {}, "msi[{11,2,14}]"}, 
{"C3r8", {\(-2. \), 2\_5, 36}, 
            0, "cd[{3,-1.,1}]", {}, {}, { (*12, 
                19*) }, { (*I, 
                2  𝕁*) }, { (*I, 𝕁*) }}, 
{"C6Kc", {\(-4. \), 
              4\_2, 48}, 
            0, "cd[{3.,1,1}]", {}, {}, {}, {}, {}}, 
{"C3KC2r", {\(-4. \), 4\_2, 30}, 
            0, "ts[co[C2,C3K],2,{1,3, 5,20,22,24,7,21,23,2,4, 6,13,15,17,8,10,12,19,9,11,14,16,18}]", {}, {}, {}, {}, {}}, 
{"C6Kr", {\(-4. \), 4\_2, 32}, 
            0, "cd[{-3,1,1}]", {}, {}, {}, {}, {}}, 
{"C3C8c", {\(-1. \), 1\_11, 54}, 
            0, "ts[co[C3,ca[8],1]]", {}, {}, {}, {}, {}}, 
{"C24r", {\(-2. \), 2\_5, 52}, 
            0, "cd[{-3,-1.,1}]", {}, {}, {}, {}, {}}, 
{"C24ra", {\(-2. \), 2\_5, 60}, 
            0, "cd[{3.,-1.,1}]", {}, {}, {2, 𝕁\ 12}, {19, 44}, { (*2, 
                8  I*) }}, 
{"Cm311", {\(-2. \), 2\_5, 62}, 
            0, "cd[{-3,-1.,-1.}]", {}, {}, {}, {}, {}}, 
{"C24rb", {\(-2. \), 2\_5, 66}, 
            0, "cd[{3.,-1.,-1.}]", {}, {}, {13, 𝕁\ 12}, {}, {}}, 
{"A4C2r", {\(-1\), 1\_7, 4, 46}, 
            0, "ca[]", {}, {}, {}, {4, 
              11}, {}}, 
{"C12n", {\(-4\), 1, 3, 4, 
              52}, 0, "cd[{-3,1.,-1}]", {}, {}, {}, {}, {}}, {"D3Mn", {10, 1\_2}, 
            0, "md[D3]", {}, {}, {}, {}, {}}};\)\)
loop[[13]] = {{"C13", {1. , (Subscript[1, 12])}, 
            0, "ca[13]", {13}, {}, {}, {}, {}}};
loop[[14]] = {{"C14", {2. , (Subscript[2, 6])}, 
            0, "ca[14]", {14}, {}, {1, 21}, {30}, {1, 
              20}}, {"D7", {8, (Subscript[1, 6])}, 
            0, "ca[14,13]", {7, 2}, {"ba" -> "a6b"}, {3, 
              21}, {2, 24}, {}}};
loop[[15]] = {{"C15", {1. , (Subscript[1, 14])}, 
            0, "ca[15]", {15}, {}, {10, 18}, {8, 
              16}, {28}}};

\(\(loop[\([16]\)] = {
{"C16", {2. , 2\_7}, 
            0, "ca[16]", {16}, {}, {}, {}}, \ \ {"C4C4", {4. , 4\_3}, 
            3, "co[C4,C4]", {4, 4}, {}, {12, 16}, {15, 
              43}, {}}, \ \ {"KiC4", {8, 4\_2}, 
            0, "co[K,C4,2]", {4, 2, 2}, {"ba" -> "abc"}, {9, 
              13}, {3, 13}, {1, 13}}, {"C4iC4", {4, 4, 8}, 
            0, "co[C4,C4,2]", {4, 4}, {"ba" -> "a3b"}, {13, 
              16}, {}, {}}, {"C8C2", {4. , 4\_3}, 
            3, "co[C8,C2]", {8, 2}, {}, {1, 22}, {1, 25}, {1, 
              22}}, {"C8pC2", {4, 4\_3}, 
            0, "co[ca[8],C2,4]", {8, 2}, {"ba" -> "a5b"}, {29, 
              34}, {15, 26}, {1, 21}}, {"D8", {10, 2\_3}, 
            0, "ca[16,15]", {8, 2}, {"ba" -> "a7b"}, {3, 
              22}, {}, {4, 22}}, {"Q8iC2", {6, 2\_2, 6}, 
            0, "co[Q8,C2,2]", {8, 
              2}, {"ba" -> "a3b"}, {}, {}, {14, 
              37}}, {"Q16", {2, 2\_2, 10}, 
            0, "ca[16,7]", {2, 2, 2, 
              2}, {"aa" -> "c", "bb" -> "c", "dd" -> "c", "ba" -> "abc", "da" -> "abd", "db" -> "bcd"}, {}, {}, {}}, 
{"C4K", {8. , 8}, 0, "co[C4,K]", {4, 2, 2}, {}, {1, 2, 16}, {1, 3, 15}, {5, 6, 
              12}}, {"D4C2", {12, 4}, 
            0, "co[D4,C2]", {4, 2, 2}, {"ba" -> "a3b"}, {1, 
              3, 9}, {1, 2, 15}, {1, 2, 
              5}}, 
{"Q8C2", {4, 12}, 
            0, "co[Q8,C2]", {2, 2, 2, 
              2}, {"aa" -> "c", "bb" -> "c", "ba" -> "abc"}, {6, 13, 14}, {1, 13, 14}, {6, 14, 
              30\ }}, 
{"P16", {8, 8}, 
            0, "co[P4,C4]", {2, 2, 2, 
              2}, {"dd" -> "c", "ba" -> "abc"}, {2, 
              3, 4\ }, {\ }, {1, 7, 
              16}, "co[Q8,C2,4]", "co[cl[3],C2]"}, 
{"KK", {16. }, 
            0, "co[K,K]", {2, 2, 2, 2}, {}, {1, 2, 6, 
              8}, {}, {}}, 
{"Oct", {2, 14}, 
            0, "Oct", {}, {}, {}, {}, {}}, 
{"Sed", {\(-15\), 1, 120}, 
            0, "cd[{-1,-1,-1,-1}]", {}, {}, {}, {}, {}}, 
{"r31r", {\(-6\), 10, 96}, 
            16, "cl[4,{2}]", {}, {}, {}, {}, {}}, 
{"r31s", {\(-6\), 10, 96}, 
            16, "cl[4,{2,3}]", {}, {}, {}, {}, {}}, 
{"r31t", {\(-6\), 10, 96}, 
            16, "cl[4,{2,4}]", {}, {}, {}, {}, {}}, 
{"r31u", {\(-6\), 10, 96}, 
            16, "cl[4,{1,3}]", {}, {}, {}, {}, {}}, 
{"CL4", {\(-10\), 6, 112}, 
            15, "cl[4]", {}, {}, {}, {}, {}}, 
{"CL31", {\(-6\), 10, 112}, 
            13, "cl[3,1]", {}, {}, {}, {}, {}}, 
{"CL22", {\(-6\), 10, 112}, 
            13, "cl[2,2]", {}, {}, {}, {}, {}}, {"CL13", {\(-10\), 6, 
              112}, 15, "cl[1,3]", {}, {}, {}, {}, {}}, 
{"CL04", {\(-10\), 6, 120}, 
            0, "cl[0,4]", {}, {}, {}, {}, {}}, {"PD16",  (*Variation\ on\ CL04 ?? *) {\(-10\), 6, 118}, 
            0, "ca[]", {}, {}, {}, {}, {1, \(-29\), \(-30\), 
              15}}, 
{"O8", {\(-8. \), 8, 64}, 
            0, "cd[{1,1,1,-1.}]", {}, {}, {}, {}, {}}, 
{\*""(C2^5)r"", {\(-16. \), 96}, 
            0, "cd[{4.,1,1}]", {}, {}, {}, {}, {}}, 
{"C4KC2r", {\(-8. \), 8, 112}, 
            0, "cd[{4.,1,-1.}]", {}, {}, {}, {}, {}}, 
{"C8Kr", {\(-4. \), 4\_3, 96}, 
            0, "cd[{-4.,1,1}]", {}, {}, {}, {}, {}}, 
{"D4Kr", {\(-4\), 12, 70}, 
            0, "ca[]", {}, {}, {2, 3, 6, 
              8}, {}, {}}, 
{"O8a", {\(-4. \), 4\_3, 
              64}, 0, "cd[{4,1,-1.}]", {}, {}, {}, {}, {}}, 
{"D4M1n", {14, 2}, 
            0, "md[D4]", {}, {}, {}, {}, {}}, {"Q8M2", {10, 6}, 
            98, "md[Q8]", {}, {}, {}, {}, {}, "cd[{1,-1,-1,{2}}]"}, {"D4M4n", {10, 6}, 
            98, "md[D4,{1,2,3,8,5,6,7,4}]", {}, {}, {}, {}, {}}, {"D4M5n", {6, 10}, 
            0, "md[Q8,{1,2,3,8,5,6,7,4}]", {}, {}, {}, {}, {}}};\)\)

loop[[17]] = {{"C17", {1. , (Subscript[1, 16])}, 
            0, "ca[17]", {17}, {}, {}, {}, {}}};
\(\(loop[\([18]\)] = {{"D9", {10, 1\_8}, 
            6, "ca[18,17]", {9, 2}, {"ba" -> "a8b"}, {3, 
              23}, {2, 28}, {}}, 
{"C18", {2. , 2\_8}, 
            5, "ca[18]", {18}, {}, {1, 23}, {31}, {1, 
              23}}, {"D3C3", {4, 1\_6, 4\_2}, 
            0, "co[D3,C3]", {3, 6}, {"ba" -> "a2b"}, {4, 
              32}, {2, 9}, {2, 11}}, 
{"E18", {10, 
              1\_8}, 6, "co[C3,ca[6,5],2]", {2, 3, 
              3}, {"ba" -> "abb", "ca" -> "acc"}, {3, 10, 11}, {2, 8, 32}, {}}, 
{"C6C3", {2. , 2\_8}, 
            5, "co[C3C2,C3]", {6, 3}, {}, {10, 19}, {8, 17}, {8, 
              19}}};\)\)
loop[[19]] = {{"C19", {1. , (Subscript[1, 18])}, 
            0, "ca[19]", {19}, {}, {}, {}, {}}};

\(\(loop[\([20]\)] = {{"Q20", {2, 2\_4, 10}, 
            0, "ca[20,9]", {5, 4}, {"ba" -> "a4b"}, {13, 
              18}, {}, {}}, {"C20", {2. , 2\_9}, 
            0, "ca[20]", {20}, {}, {12, 18}, {15, 16}, {12, 
              17}}, 
{"g2003", {6, 1\_4, 2\_5}, 
            0, "ca[]", {5, 
              4}, {"ba" -> "a2b"}, {}, {}, {}, "pe[{{1,6,5,4,2,3},{1,3,4,5,2,6}}]"}, {"D10", {12, 2\_4}, 
            0, "ca[20,19]", {10, 
              2}, {"ba" -> "a9b"}, {3, \(-18\)}, {2, 
              29}, {}}, {"C10C2", {4. , 4\_4}, 
            0, "co[ca[10],C2]", {10, 2}, {}, {2, \(-18\)}, {3, 29}, {1, 
              25}}, {"D5Mn", {16, 1\_4}, 
            0, "md[ca[10,9]]", {}, {}, {}, {}, {}}};\)\)
\(\(loop[\([21]\)] = {{"g2101", {1, 1\_20}, 
            0, "co[ca[7],C3,7]", {7, 
              3}, {"ba" -> "a2b"}, {}, {}, {}}, {"C21", {1. , 1\_20}, 0, "ca[21]", {21}, {}, {10, 21}, {8, 24}, {8, 
              20}}};\)\)
\(\(loop[\([22]\)] = {{"D11", {12, 1\_10}, 
            0, "ca[22,21]", {11, 
              2}, {"ba" -> "a10b"}, {}, {}, {}}, {"C22", {2. , 2\_10}, 
            0, "co[ca[11],C2]", {22}, {}, {}, {}, {}}};\)\)
loop[[23]] = {{"C23", {1. , (Subscript[1, 22])}, 
            0, "ca[23]", {23}, {}, {}, {}, {}}};

\(\(loop[\([24]\)] = {{"C3iC8", {2, 2\_5, 6\_2}, 
            0, "co[C3,C8,2]", {3, 8}, {"ba" -> "a2b"}, {10, 
              35}, {8, 26\ }, {}}, {"C24", {2. , 2\_11}, 
            0, "ca[24]", {24}, {}, {10, 22}, {8, 27}, {8, 
              22}}, 
{"SL23", {2, 2\_8, 6}, 
            0, "ca[]", {3, 2, 2, 
              2}, {"bb" -> "c", "dd" -> "c", "ba" -> "abcd", "da" -> "abc", "db" -> "bcd"}, {}, {}, {9, 
              14}, "pe[{{{3,7,5},{4,8,6}},{{1,5,2,6},{3,8,4,7}},{{1,3,2,4},{5,7,6,8}},{{1,2},{3,4},{5,6},{7,8}}}]"}, 
{"Q24", {2, 
              2\_4, 14}, 
            0, "ca[24,11]", {3, 2, 2, 
              2}, {"ba" -> "a2b", "bb" -> "c", "dd" -> "c", "db" -> "bcd"}, {13, 15}, {}, {14, 
              27}}, {"D3C4", {8, 2\_4, 8}, 
            0, "co[D3,C4]", {3, 2, 4}, {"ba" -> "a2b"}, {3, 
              15}, {2, 46}, {27, 29}}, {"D12", {14, 2\_5}, 
            0, "ca[24,23]", {12, 2}, {"ba" -> "a11b"}, {3, 
              5}, {2, 8, 15}, {34, 39, 40}}, {"Q12C2", {4, 4\_2, 12}, 
            0, "co[ca[12,5],C2]", {6, 
              4}, {"ba" -> "a5b"}, {13, 19}, {}, {1, 8, 
              16}}, 
{"C3iC4iC2", {10, 4\_2, 6}, 
            0, "co[C3,C4,C2,2,2]", {6, 2, 
              2}, {"ba" -> "a5bc"}, {3, 20}, {3, 5, 7}, {3, 
              19}}, 
{"C3C4C2", {4. , 4\_5}, 
            0, "co[C3C4,C2]", {3, 4, 2}, {}, {12, 19}, {13, 17}, {5, 
              27}}, {"D4C3", {6, 2\_3, 6\_2}, 
            0, "co[D4,C3]", {4, 2, 3}, {"ba" -> "a3b"}, {2, 
              32}, {5, 22}, {1, 27}}, {"Q8C3", {2, 2\_2, 6\_3}, 
            0, "co[Q8,C3]", {2, 2, 2, 
              3}, {"aa" -> "c", "bb" -> "c", "ba" -> "abc"}, {}, {12, 13, 
              14}, {}}, 
{"S4", {10, 1\_8, 2\_3}, 
            0, "sgroup[4]", {3, 2, 2, 
              2}, {"ba" -> "abc", "ca" -> "ab", "da" -> "a2d", "db" -> "cd", "dc" -> "bd"}, {}, {2, 11}, {2, 9}}, 
{"A4C2", {8, 2\_8}, 
            0, "co[A4a,C2]", {3, 2, 2, 
              2}, {"ba" -> "abc", "ca" -> "ab"}, {}, {3, 20}, {1, 9}}, 
{"D6C2", {16, 4\_2}, 
            0, "co[ca[12,11],C2]", {6, 2, 
              2}, {"ba" -> "a5b"}, {1, 3, 19}, {2, 3, 
              18}, {3, \(-9\), 18}}, 
{"C3KC2", {8. , 
              8\_2}, 0, "co[C3K,C2]", {3, 2, 2, 2}, {}, {1, 2, 19}, {1, 
              2, 22}, {1, 5, 19}}, 
{"Alt12nC2", {8, 
              8\_2}, 0, "co[cd[{-1,-1,{3}}],C2]", {}, {}, {}, {}, {}}, 
{"D3C2Mn", {20, 2\_2}, 
            0, "md[D3C2]", {}, {}, {}, {}, {}}, 
{"A4Mn", {16, 1\_8}, 
            0, "md[A4]", {}, {}, {}, {}, {}}, 
{"Q12M3n", {14, 2\_2, 6}, 
            0, "md[Q12]", {}, {}, {}, {}, {}}, 
{"Q12M4n", {8, 2\_2, 12}, 
            0, "md[Q12,{1,3,2,4,5,6,7,9,8,10,11,12}]", {}, {}, {}, {}, {}}, 
{"Q12M5n", {2, 2\_2, 18}, 
            0, "Q12M5n", {}, {}, {}, {}, {}}};\)\)

loop[[25]] = {{"C25", {1. , (Subscript[1, 24])}, 
            9, "ca[25]", {25}, {}, {}, {}, {}}, {"C5C5", {1. , 
              (Subscript[1, 24])}, 9, "co[ca[5],ca[5]]", {5, 
              5}, {}, {}, {}, {}}};
\(\(loop[\([26]\)] = {{"D13", {14, 1\_12}, 
            0, "ca[26,25]", {13, 
              2}, {"ba" -> "a12b"}, {}, {}, {}}, {"C26", {2. , 2\_12}, 
            0, "ca[26]", {26}, {}, {}, {}, {}}};\)\)
\(\(loop[\([27]\)] = {{"C27", {1. , 1\_26}, 
            8, "ca[27]", {27}, {}, {}, {}, {}}, {"C9C3", {1. , 
              1\_26}, 8, "co[ca[9],C3]", {9, 3}, {}, {10, 23}, {8, 
              28}, {8, 23}}, {"P27", {1, 1\_26}, 
            10, "ca[]", {3, 3, 3}, {"ba" -> "abc"}, {}, {8, 
              9\ }, {8, 10\ }}, 
{"g2704", {1, 1\_26}, 
            10, "ca[]", {9, 
              3}, {"ba" -> "a4b"}, {}, {}, {}}, {"C3^3", {1. , 1\_26}, 8, "co[C3C3,C3]", {3, 3, 3}, {}, {}, {8, 12, 
              32}, {}}};\)\)
loop[[28]] = {{"Q28", {2, (Subscript[2, 6]), 14}, 
            0, "ca[28,13]", {7, 4}, {"ba" -> "a6b"}, {13, 
              21}, {}, {}}, {"C28", {2. , (Subscript[2, 13])}, 
            0, "ca[28]", {28}, {}, {12, 21}, {15, 24}, {12, 
              20}}, {"D14", {16, (Subscript[2, 6])}, 
            0, "ca[28,27]", {14, 
              2}, {"ba" -> "a13b"}, {3, -21}, {2, 
              30}, {}}, {"C14C2", {4. , (Subscript[4, 6])}, 
            0, "co[ca[14],C2]", {14, 2}, {}, {2, -21}, {3, 
              30}, {1, -20}}};

loop[[29]] = {{"C29", {1. , (Subscript[1, 28])}, 
            0, "ca[29]", {29}, {}, {}, {}, {}}};
loop[[30]] = {{"D3C5", {4, (Subscript[1, 10]), (Subscript[4, 4])}, 
            0, "ca[30,11]", {3, 
              10}, {"ba" -> "a2b"}, {}, {}, {3, 
              28}}, {"D5C3", {6, (Subscript[1, 12]), (Subscript[6, 2])}, 
            0, "ca[30,19]", {15, 2}, {"ba" -> "a4b"}, {18, 
              32}, {16, 19}, {}}, 
{"D15", {16, (Subscript[1, 14])}, 
            0, "ca[30,29]", {15, 2}, {"ba" -> "a14b"}, {3, 
              10, 18}, {2, 8, 16}, {}}, 
{"C30", {2. , 
              (Subscript[2, 14])}, 0, "ca[30]", {30}, {}, {18, 19}, {8, 29}, {8, 
              25}}};
loop[[31]] = {{"C31", {1. , (Subscript[1, 30])}, 
            0, "ca[31]", {31}, {}, {}, {}, {}}};

\(\(loop[\([32]\)] = {{"C32", {2. , 2\_15, 1}, 
            0, "ca[32]", {32}, {}, {}, {}, {}}, 
{"g3202", {8, 8\_3, 19}, 
            11, "ca[]", {4, 4, 
              2}, {"ba" -> "abc"}, {}, {}, {}}, 
{"C8C4", {4. , 4\_7, 7}, 
            0, "co[C8,C4]", {8, 4}, {}, {12, 22}, {15, 27}, {12, 
              22}}, 
{"C8pC4", {4, 4\_7, 7}, 
            0, "co[C8,C4,4]", {8, 
              4}, {"ba" -> "a5b"}, {}, {}, {}}, 
{"KiC8", {8, 4\_4, 8, 11}, 
            14, "co[K,C8,2]", {8, 2, 2}, {"ba" -> "abc"}, {2, 
              35}, {3, 25}, {}}, {"g3206", {12, 4\_5, 23}, 
            0, "ca[]", {4, 2, 2, 
              2}, {"ba" -> "abc", "ca" -> "acd"}, {}, {}, {5, 13}}, 
{"g3207", {12, 4\_5, 15}, 
            0, "ca[]", {8, 2, 
              2}, {"ba" -> "a5b", "ca" -> "abc"}, {}, {}, {7, 37}}, 
{"g3208", {4, 4\_4, 12, 7}, 
            0, "ca[]", {2, 2, 2, 2, 
              2}, {"aa" -> "d", "bb" -> "e", "dd" -> "e", "ba" -> "abc", "ca" -> "ace", "db" -> "bde"}, {}, {}, {}}, 
{"D4iC4", {12, 4\_3, 8, 19}, 
            0, "co[D4,C4,2]", {8, 2, 2}, {"ba" -> "a3bc"}, {3, 
              17}, {}, {}}, 
{"Q8iC4", {4, 4\_2, 8, 12, 
              11}, 0, "co[Q8,C4,2]", {2, 2, 2, 2, 
              2}, {"aa" -> "d", "bb" -> "e", "cc" -> "e", "ba" -> "abc", "ca" -> "ace", "cb" -> "bce"}, {}, {}, {}}, 

{"g3211", {8, 4\_4, 8, 11}, 
            14, "ca[]", {}, {}, {3, 29}, {2, 26}, {3, 
              12}}, 
{"C4iC8", {4, 4\_3, 8\_2, 7}, 
            0, "co[C4,C8,2]", {4, 8}, {"ba" -> "a3b"}, {34, 
              35}, {}, {}}, 
{"Q8pC4", {4, 4\_3, 8\_2, 
              11}, 0, "co[ca[8,5],C4,2]", {8, 
              4}, {"ba" -> "a3b"}, {}, {}, {}}, {"C8iC4", {4, 4\_3, 16, 11}, 
            0, "co[C8,C4,2]", {8, 4}, {"ba" -> "a7b"}, {13, 
              17}, {13, 27\ }, {16, 
              22\ }}, 
{"g3215", {4, 4\_3, 8\_2, 3}, 
            0, "ca[]", {2, 2, 2, 2, 
              2}, {"aa" -> "d", "bb" -> "c", "cc" -> "e", "dd" -> "e", "ba" -> "abc", "ca" -> "ace"}, {}, {}, {}}, 
{"C16C2", {4. , 4\_7, 3}, 
            0, "co[ca[16],C2]", {16, 
              2}, {}, {}, {}, {}}, 
{"g3217", {4, 4\_7, 
              3}, 0, "ca[]", {16, 
              2}, {"ba" -> "a9b"}, {}, {}, {}}, {"D16", {18, 
              2\_7, 9}, 
            0, "ca[32,31]", {16, 
              2}, {"ba" -> "a15b"}, {}, {}, {}}, {"Q16iC2", {10, 
              2\_6, 10, 9}, 
            0, "co[ca[16,7],C2,2]", {16, 
              2}, {"ba" -> "a7b"}, {}, {}, {}}, 
{"Q32", {2, 2\_6, 18, 9}, 
            0, "ca[32,15]", {2, 2, 2, 2, 
              2}, {"aa" -> "e", "bb" -> "e", "cc" -> "de", "dd" -> "e", "ba" -> "abc", "ca" -> "acd", "da" -> "ade", "db" -> "bde", "cb" -> "bcd"}, {}, {}, {}}, 

{"C4C4C2", {8. , 8\_3, 
              19}, 0, "co[C4,C4,C2,1]", {4, 4, 2}, {}, {2, 12, 
              16}, {}, {}}, {"KiC4C2", {16, 8\_2, 43}, 
            0, "co[K,C4C2,2]", {4, 2, 2, 2}, {"ba" -> "abc"}, {6, 
              9, 13}, {1, 3, 13}, {2, 4, 
              12}}, 
{"C4iC4C2", {8, 8, 16, 19}, 
            17, "co[C4,C4,C2,1,2]", {4, 4, 
              2}, {"ba" -> "a3b"}, {6, 13, 
              16}, {}, {}}, 
{"C2C4pC4", {8, 8\_3, 19}, 
            11, "co[co[C2,C4],C4,4]", {4, 2, 
              4}, {"ba" -> "abcc"}, {}, {}, {}}, 
{"D4C4", {12, 4\_2, 12, 23}, 
            18, "co[ca[8,7],C4]", {4, 2, 
              4}, {"ba" -> "a3b"}, {3, 9, 12}, {}, {2, 5, 
              12}}, {"Q8C4", {4, 4, 12\_2, 15}, 
            19, "co[Q8,C4]", {2, 2, 2, 
              4}, {"aa" -> "c", "bb" -> "c", "ba" -> "abc"}, {}, {}, {}}, {"P32", {20, 4\_3, 47}, 
            0, "co[K,K,C2,2,2]", {4, 2, 2, 
              2}, {"ba" -> "a3b", "ca" -> "acd"}, {}, {3, 5, 34}, {1, 2, 7}}, 
{"KiD4", {16, 8\_2, 27}, 
            0, "co[K,D4,2]", {4, 2, 
              4}, {"ba" -> "a3b", "ca" -> "ac3"}, {2, 3, 9}, {}, {4, 5, 12}}, 
{"KiQ8", {8, 8, 16, 19}, 
            17\ , "co[K,Q8,2]", {2, 2, 2, 2, 
              2}, {"aa" -> "c", "bb" -> "c", "ba" -> "abc", "da" -> "ade"}, {}, {3, 13, 14}, {2, 
              14, 30}}, {"g3230", {12, 4\_2, 12, 23}, 
            18, "ca[]", {2, 2, 2, 2, 
              2}, {"cc" -> "d", "ba" -> "abd", "ca" -> "ace"}, {}, {}, {}}, 

{"g3231", {12, 4\_2, 12, 23}, 
            18, "ca[]", {2, 2, 2, 2, 
              2}, {"bb" -> "e", "cc" -> "d", "ba" -> "abd", "ca" -> "ace"}, {9, 13, 
              14}, {}, {}}, 
{"Q8C4a", {4, 4, 12\_2, 
              15}, 19\ , "ca[]", {2, 2, 2, 2, 
              2}, {"aa" -> "d", "bb" -> "e", "cc" -> "d", "ba" -> "abd", "ca" -> "ace"}, {}, {}, {}}, 
{"g3233", {8, 8\_3, 19}, 
            11, "ca[]", {2, 2, 2, 2, 
              2}, {"bb" -> "de", "cc" -> "d", "ba" -> "abd", "ca" -> "ace"}, {}, {}, {}}, 
{"C4iD4", {20, 4\_3, 31}, 
            0\ , "co[C4,D4,2]", {4, 4, 
              2}, {"cb" -> "b3c", "ca" -> "a3c"}, {3, 4, 9}, {}, {}}, 
{"C4iQ8", {4, 4\_2, 20, 15}, 
            0, "co[C4,Q8,2]", {4, 2, 2, 
              2}, {"ba" -> "a3b", "bb" -> "c", "dd" -> "c", "db" -> "bcd"}, {13, 14, 
              16}, {}, {}}, {"C8K", {8. , 8\_3, 11}, 
            0, "co[C8,K]", {8, 2, 2}, {}, {1, 2, 22}, {1, 3, 26}, {1, 2, 
              22}}, {"C2C8pC2", {8, 8\_3, 11}, 
            0, "co[C2,ca[8],C2,4]", {8, 2, 
              2}, {"ba" -> "a5b"}, {}, {1, 15, 26}, {1, 5, 
              21}}, 
{"g3238", {8, 8\_3, 7}, 
            99, "ca[]", {2, 2, 2, 2, 
              2}, {"aa" -> "d", "dd" -> "e", "cb" -> "bce"}, {}, {}, {}}, 
{"D4iK", {20, 4\_3, 27}, 
            0\ , "co[D4,K,2]", {8, 2, 
              2}, {"ba" -> "a7b"}, {1, 3, 22}, {}, {1, 4, 
              22}}, 
{"Q8iK", {12, 4\_2, 12, 19}, 
            0, "co[Q8,K,2]", {8, 2, 
              2}, {"ba" -> "a3b"}, {}, {}, {}}, 

{"Q16C2", {4, 4\_2, 20, 11}, 
            0\ , "co[ca[16,7],C2]", {2, 2, 2, 2, 
              2}, {"aa" -> "d", "bb" -> "d", "cc" -> "d", "ba" -> "abd", "ca" -> "abc", "cb" -> "bcd"}, {}, {}, {}}, 
{"g3242", {12, 4\_2, 12, 11}, 
            0, "ca[]", {2, 2, 2, 2, 
              2}, {"aa" -> "e", "bb" -> "e", "cc" -> "e", "dd" -> "e", "ba" -> "abe", "ca" -> "abc", "cb" -> "bce"}, {}, {}, {}}, 
{"g3243", {16, 4\_2, 8, 19}, 
            0, "ca[]", {8, 2, 
              2}, {"ba" -> "a3b", "ca" -> "a5c"}, {}, {}, {}}, {"g3244", {8, 4\_2, 16, 11}, 
            0, "ca[]", {2, 2, 2, 2, 
              2}, {"aa" -> "e", "bb" -> "e", "cc" -> "e", "dd" -> "e", "ba" -> "abe", "ca" -> "abc", "cb" -> "bce", "dc" -> "cde"}, {}, {}, {}}, 
{"C4KC2", {16. , 16, 
              43}, 0, "co[C4,K,C2,1]", {4, 2, 2, 2}, {}, {1, 2, 6, 
              16}, {}, {}}, {"D4K", {24, 8, 67}, 
            0, "co[D4,K]", {4, 2, 2, 2}, {"ba" -> "a3b"}, {1, 3, 
              6, 9}, {1, 2, 3, 15}, {}}, 
{"Q8K", {8, 
              24, 19}, 
            0, "co[Q8,K]", {2, 2, 2, 2, 
              
              2}, {"aa" -> "c", "bb" -> "c", "ba" -> "abc"}, {6, 8, 13, 14}, {1, 3, 4, 15, 
              36}, {}}, 
{"PC2", {16, 16, 27}, 
            0\ , "co[co[Q8,C2,4],C2]", {2, 2, 2, 2, 
              2}, {"dd" -> "c", "ba" -> "abc"}, {2, 
              3, 4, 6}, {}, {5, 7, 29, 
              30}}, 
{"CL31C2", {20, 12, 39}, 
            0, "co[cl[3,1],C2]", {2, 2, 2, 2, 
              2}, {"ba" -> "abc", "ed" -> "cde"}, {}, {}, {1, 4, 5, 7}}, 
{"CL4C2", {12, 20, 15}, 
            0, "co[cl[4],C2]", {2, 2, 2, 2, 
              2}, {"ba" -> "abe", "ca" -> "ace", "cb" -> "bce", "da" -> "ade", "db" -> "bde", "dc" -> "cde"}, {}, {}, {1, 29, 30, 
              31}}, 

{"KKC2", {32. , 
              155}, 0, "co[K,co[K,C2]]", {2, 2, 2, 2, 
              2}, {}, {}, {}, {}}, 
{"CL5?", {\(-20\), 
              12, 3}, 0, "cl[5]", {}, {}, {}, {}, {}}, {"CL32", {\(-12\), 20, 17}, 
            0, "cl[3,2]", {}, {}, {}, {}, {}}, 
{"CL41?", {\(-16\), 16, 7}, 
            0, "cl[4,1]", {}, {}, {}, {}, {}}, {"OctC2", {{4, 28, 
                15}}, 0, "co[Oct,C2]", {}, {}, {}, {}, {}}, {"OctiC2n", {6, 2\_2, 4\_2, 14, 9}, 
            0, "co[Oct,C2,2]", {}, {}, {}, {}, {}}, 
{"P16M", {16, 16, 15}, 
            0, "md[co[P4,C4],{1,10,11,12,5,14,15,16,9,2,3,4,13,6,7,8}]", {}, {}, {}, {}, {}}, 
{"C8pC2M", {8, 8\_3, 7}, 
            99, "md[co[ca[8],C2,4],{1,6,3,8,5,2,7,4,13,14,15,16,9,10,11,12}]", {}, {}, {}, {}, {}}, 
{"KiC4M", {12, 4, 8\_2, 23}, 
            0, "md[co[K,C4,2],{1,4,3,2,7,8,5,6,9,12,11,10,15,16,13,14}]", {}, {}, {}, {}, {}}, 
{"Q8C2M", {20, 12, 31}, 
            0, "md[co[Q8,C2]]", {}, {}, {}, {}, {}}, 
{"C4iC4M", {4, 12, 16, 15}, 
            0, "C4iC4M", {}, {}, {}, {}, {}}, 
{"O16", {\(-16. \), 16, 35}, 
            0, "cd[{-1,1,1,1,1}]", {}, {}, {}, {}, {}}};\)\)

loop[[33]] = {{"C33", {1. , (Subscript[1, 32])}, 
            0, "ca[33]", {11, 
              3}, {}, {}, {}, {}}};
loop[[34]] = {{"C34", {2. , (Subscript[2, 16])}, 
            0, "ca[34]", {34}, {}, {}, {}, {}}, {"D17", {18, (Subscript[1, 16])}, 
            0, "ca[34,33]", {17, 
              2}, {"ba" -> "a16b"}, {}, {}, {}}};
loop[[35]] = {{"C35", {1. , (Subscript[1, 34])}, 
            0, "ca[35]", {7, 5}, {}, {18, 21}, {16, 24}, {17, 
              20}}};

\(\(loop[\([36]\)] = {{"Q36", {2, 2\_8, 18}, 
            26, "ca[36,17]", {9, 4}, {"ba" -> "a8b"}, {13, 
              23}, {}, {}}, 
{"C36", {2. , 2\_17}, 
            23, "ca[36]", {36}, {}, {12, 23}, {15, 28}, {12, 
              23}}, 
{"g3603", {4, 1\_24, 4\_2}, 
            27, "ca[]", {3, 3, 2, 
              2}, {"aaa" -> "b", "ca" -> "acd", "da" -> "ac"}, {}, {}, {}}, 
{"D18", {20, 2\_8}, 
            25, "ca[36,35]", {18, 
              2}, {"ba" -> "a17b"}, {3, \(-23\)}, {2, 
              31}, {}}, 
{"C18C2", {4. , 4\_8}, 
            24, "co[ca[18],C2]", {18, 2}, {}, {6, 7}, {3, 
              31}, {1, \(-23\)}}, 
{"Q12C3", {2, 2\_8, 
              6\_3}, 0, "co[Q12,C3]", {12, 
              3}, {"ba" -> "abb"}, {}, {8, 
              13}, {8, 14}}, {"C3iQ12", {2, 2\_8, 18}, 
            26, "co[C3,ca[12,5],2]", {3, 4, 
              3}, {"ba" -> "a2b", "cb" -> "bcc"}, {10, 11, 13}, {}, {}}, 
{"C12C3", {2. , 2\_17}, 
            23, "co[ca[12],C3]", {12, 3}, {}, {10, 11, 12}, {8, 12, 
              15}, {8, 11, 12}}, 
{"g3609", {10, 1\_8, 
              2\_9}, 0, "ca[]", {4, 3, 
              3}, {"ba" -> "ac", "ca" -> "abb"}, {}, {}, {8, 13}}, 
{"D3D3", {16, 1\_4, 4\_4}, 
            0, "co[D3,D3]", {3\ , 2\ , 3, \ 
              2}, {"ba" -> "a2b", "dc" -> "c2d"}, {}, {}, {32, 33}}, 
{"A4C3", {4, 1\_24, 4\_2}, 
            27, "co[A4a,C3]", {3, 2, 2, 
              3}, {"ca" -> "ab", "ba" -> "abc"}, {}, {9, 22}, {1, 10, 11}}, 
{"D6C3", {8, 2\_6, 8\_2}, 
            0, "co[D3C2,C3]", {6, 6}, {"ba" -> "a5b"}, {19, 
              32}, {2, 23}, {7, 19}}, 
{"E18C2", {20, 
              2\_8}, 25, "co[ca[6],ca[6,5],2]", {2, 3, 3, 
              2}, {"ba" -> "abb", "ca" -> "acc"}, {3, 10, 19}, {2, 18, 32}, {}}, 
{"C6C6", {4. , 4\_8}, 
            24, "co[ca[6],ca[6]]", {6, 6}, {}, {19, 20}, {18, 
              22}, {\(-8\), 19}}};\)\)

loop[[37]] = {{"C37", {1. , (Subscript[1, 36])}, 
            0, "ca[37]", {37}, {}, {}, {}, {}}};
loop[[38]] = {{"C38", {2. , (Subscript[2, 18])}, 
            0, "ca[38]", {38}, {}, {}, {}, {}}, {"D19", {20, (Subscript[1, 18])}, 
            0, "ca[38,37]", {19, 
              2}, {"ba" -> "a18b"}, {}, {}, {}}};
\(\(loop[\([39]\)] = {{"C39n", {1, 1\_38}, 
            0, "ca[]", {13, 
              3}, {"ba" -> "a3b"}, {}, {}, {}}, {"C39", {1. , 1\_38}, 0, "ca[39]", {13, 3}, {}, {}, {}, {}}};\)\)

\(\(loop[\([40]\)] = {{"C40g9", {2, 2\_9, 10\_2}, 
            0, "ca[40,9]", {5, 8}, {"ba" -> "a4b"}, {18, 
              35}, {16, 26}, {}}, 
{"C40", {2. , 
              2\_19}, 0, "ca[40]", {40}, {}, {18, 22}, {16, 27}, {17, 
              22}}, 
{"C40d", {2, 2\_14, 10}, 
            0, "ca[]", {5, 
              8}, {"ba" -> "a2b"}, {}, {}, {}}, {"Q40", {2, 
              2\_8, 22}, 
            0, "ca[40,19]", {5, 2, 2, 
              2}, {"ba" -> "a4b", "bb" -> "c", "dd" -> "c", "db" -> "bcd"}, {13, 14, 
              18}, {}, {}}, {"D5C4", {12, 2\_8, 12}, 
            0, "co[ca[10,9],C4]", {20, 
              2}, {"ba" -> "a9b"}, {3, 12, 
              18}, {}, {}}, 
{"D20", {22, 2\_9}, 
            0, "ca[40,39]", {20, 2}, {"ba" -> "a19b"}, {3, 
              4, 18}, {2, 15, 16}, {}}, 
{"C10iC4", {4, 
              4\_4, 20}, 
            0, "co[ca[10],C4,2]", {5, 4, 
              2}, {"ba" -> "a4b"}, {6, 13, 
              18}, {}, {}}, 
{"KiD5", {14, 4\_4, 10}, 
            0, "co[K,ca[10,9],2]", {5, 4, 
              2}, {"ba" -> "a4b", "cb" -> "b3c"}, {2, 3, 18}, {}, {}}, 
{"C20C2", {4. , 4\_9}, 
            0, "co[ca[20],C2]", {20, 2}, {}, {16, \(-18\)}, {15, 
              29}, {12, 25}}, 
{"C40g31", {6, 2\_5, 
              6\_4}, 0, "ca[40,31]", {4, 
              10}, {"ba" -> "a3b"}, {}, {37, 40}, {1, 
              24}}, {"Q8C5", {2, 2\_4, 6\_5}, 
            0, "ca[40,11]", {5, 2, 2, 
              2}, {"bb" -> "c", "dd" -> "c", "db" -> "bcd"}, {}, {}, {}}, 
{"C40b", {12, 2\_4, 4\_5}, 
            0, "ca[]", {5, 4, 
              2}, {"ba" -> "a2b"}, {}, {}, {}}, 
{"D5K", {24, 4\_4}, 
            0, "co[ca[10,9],K]", {5, 2, 2, 
              2}, {"ba" -> "a4b"}, {3, 6, \(-18\)}, {2, 3, 
              29}, {}}, 
{"C10K", {8. , 8\_4}, 
            0, "co[ca[10],K]", {10, 2, 2}, {}, {2, 6, \(-18\)}, {}, {1, 
              5, 25}}};\)\)

loop[[41]] = {{"C41", {1. , (Subscript[1, 40])}, 
            0, "ca[41]", {41}, {}, {}, {}, {}}};
\(\(loop[\([42]\)] = {{"C42", {2. , 2\_20}, 
            0, "ca[42]", {42}, {}, {19, 21}, {8, 30}, {19, 
              20}}, 
{"C42g13", {8, 1\_18, 8\_2}, 
            0, "ca[42,13]", {21, 2}, {"ba" -> "a13b"}, {21, 
              32}, {19, 24}, {}}, 
{"C42g29", {4, 
              1\_14, 4\_6}, 
            0, "ca[42,29]", {3, 
              14}, {"ba" -> "a2b"}, {}, {}, {}}, 
{"D21", {22, 1\_20}, 
            0, "ca[42,41]", {21, 2}, {"ba" -> "a20b"}, {3, 
              10, 21}, {2, 8, 24}, {}}, 
{"C42a", {8, 
              1\_6, 2\_14}, 
            0, "ca[]", {7, 
              6}, {"ba" -> "a3b"}, {}, {}, {}}, 
{"g2101C2", {2, 2\_20}, 
            0, "co[co[ca[7],C3,7],C2]", {7, 3, 
              2}, {"ba" -> "a2b", "baa" -> "ab"}, {}, {}, {}}};\)\)
loop[[43]] = {{"C43", {1. , (Subscript[1, 42])}, 
            0, "ca[43]", {43}, {}, {}, {}, {}}};
\(\(loop[\([44]\)] = {{"Q44", {2, 2\_10, 22}, 
            0, "ca[44,21]", {11, 
              4}, {"ba" -> "a10b"}, {}, {}, {}}, {"C44", {2. , 2\_21}, 0, "ca[44]", {44}, {}, {}, {}, {}}, {"D22", {24, 2\_10}, 
            0, "ca[44,43]", {22, 
              2}, {"ba" -> "a21b"}, {}, {}, {}}, {"C11K", {4. , 4\_10}, 
            0, "co[ca[11],K]", {11, 2, 
              2}, {}, {}, {}, {}}};\)\)
loop[[45]] = {{"C45", {1. , (Subscript[1, 44])}, 
            30, "ca[45]", {45}, {}, {18, 23}, {16, 28}, {17, 
              23}}, 
{"C15C3", {1. , (Subscript[1, 44])}, 
            30, "co[ca[5],C3C3]", {15, 3}, {}, {10, 11, 18}, {8, 12, 
              16}, {8, 11, 17}}};
loop[[46]] = {{"C46", {2. , (Subscript[2, 22])}, 
            0, "ca[46]", {46}, {}, {}, {}, {}}, {"D23", {24, (Subscript[1, 22])}, 
            0, "ca[46,45]", {23, 
              2}, {"ba" -> "a22b"}, {}, {}, {}}};
loop[[47]] = {{"C47", {1. , (Subscript[1, 46])}, 
            0, "ca[47]", {47}, {}, {}, {}, {}}};

\(\(loop[\([48]\)] = {{"C3iC16", {2, 2\_11, 6\_4}, 
            0, "ca[48,41]", {3, 
              16}, {"ba" -> "a2b"}, {}, {}, {}}, 
{"C48", {2. , 2\_23}, 
            0, "ca[48]", {48}, {}, {}, {}, {}}, 
{"g4803", {4, 1\_32, 4\_3}, 
            0, "ca[]", {3, 2, 2, 2, 
              2}, {"bb" -> "de", "cc" -> "d", "ba" -> "abcd", "ca" -> "abe", "da" -> "ade", "ea" -> "ad"}, {}, {9, 15}, {10, 12}}, 
{"C8D3", {8, 2\_8, 
              8\_3}, 33, "co[C8,D3]", {24, 
              2}, {"ba" -> "a17b"}, {}, {}, {}}, 
{"g4805", {8, 2\_8, 8\_3}, 
            33, "ca[]", {2, 2, 2, 2, 
              3}, {"bb" -> "c", "cc" -> "d", "ba" -> "abd", "ea" -> "aee"}, {}, {}, {}\ }, 
{"C24iC2", {14, 2\_10, 14}, 
            0, "co[ca[24,13],C2,2]", {24, 
              2}, {"ba" -> "a11b"}, {}, {}, {}}, 
{"D24", {26, 2\_11}, 
            0, "ca[48,47]", {24, 2}, {"ba" -> "a23b"}, {3, 
              10, 22}, {}, {4, 8, 22}}, 
{"Q48", {2, 
              2\_10, 26}, 
            0, "ca[48,23]", {2, 2, 2, 2, 
              3}, {"aa" -> "d", "bb" -> "cd", "cc" -> "d", "ba" -> "abc", "ca" -> "acd", "ea" -> "aee"}, {}, {}, {}}, 
{"C3iC8C2", {4, 4\_5, 12\_2}, 
            36, "co[ca[24,17],C2]", {3, 8, 
              2}, {"ba" -> "a2b"}, {\(-11\), 35}, {18, 
              26}, {}}, 
{"C3C8pC2", {4, 4\_5, 12\_2}, 
            36, "co[C3,C8pC2,2]", {3, 8, 
              2}, {"ba" -> "a2b", "cb" -> "b5c"}, {}, {8, 15, 26}, {}}, 

{"Q12C4", {4, 
              4\_5, 12\_2}, 
            36, "co[Q12,C4]", {12, 
              4}, {"ba" -> "a5b"}, {}, {}, {}}, {"Q12iC4", {4, 4\_4, 12, 16}, 
            0, "co[ca[12,5],C4,2]", {3, 4, 
              4}, {"ba" -> "a2b", "cb" -> "bbbc"}, {}, {}, {}}, {"C4iQ12", {4, 4\_5, 24}, 
            0, "co[ca[4],ca[12,5],2]", {12, 
              4}, {"ba" -> "a11b"}, {10, 13, 
              16}, {}, {}}, 
{"D6iC4", {16, 4\_5, 12}, 
            0, "co[ca[12,11],C4,2]", {12, 2, 
              2}, {"ba" -> "a11bc"}, {9, 15}, {}, {4, 8, 
              12}}, 
{"C3iC8iC2", {18, 2\_3, 6\_4}, 
            0, "co[ca[24,17],C2,2]", {8, 3, 
              2}, {"ba" -> "abb", "ca" -> "a7c"}, {}, {}, {}}, {"C3iQ8iC2", {6, 2\_2, 6\_4, 14}, 
            0, "co[C3,co[Q8,C2,2],2]", {3, 8, 
              2}, {"ba" -> "a2b", "cb" -> "bbbc"}, {}, {}, {}}, 
{"Q8iD3", {14, 2\_2, 6\_5}, 
            0, "co[Q8,ca[6,5],2]", {2, 2, 2, 2, 
              3}, {"bb" -> "d", "cc" -> "d", "ba" -> "abc", "ca" -> "adc", "ea" -> "aee", "cb" -> "bcd"}, {}, {}, {}}, 
{"g4818", {2, 2\_2, 6\_4, 
              18}, 0, "ca[]", {2, 2, 2, 2, 
              3}, {"aa" -> "d", "bb" -> "d", "cc" -> "d", "ba" -> "abc", "ca" -> "acd", "ea" -> "aee", "cb" -> "bcd"}, {}, {}, {}}, 
{"KiQ12", {8, 8\_2, 12\_2}, 
            0, "co[K,ca[12,5],2]", {6, 4, 
              2}, {"ba" -> "a5bc"}, {}, {}, {14, 
              19}}, 
{"C3C4C4", {4. , 4\_11}, 
            32\ , "co[C3C4,C4]", {3, 4, 4}, {}, {10, 12, 
              16}, {}, {}}, 

{"KiC4C3", {8, 4\_6, 8\_2}, 
            0, "co[C3,K,C4,2]", {6, 4, 
              2}, {"ba" -> "abc"}, {}, {3, 12, 13}, {2, 8, 
              12}}, 
{"C4iC4iC3", {4, 4\_5, 8\_3}, 
            0, "co[co[C4,C4,2],C3,2]", {4, 
              12}, {"ba" -> "a3b"}, {}, {}, {}}, 
{"C24C2", {4. , 4\_11}, 
            32, "co[ca[24],C2]", {24, 2}, {}, {19, 22}, {17, 25}, {19, 
              22}}, 
{"C8pC2C3", {4, 4\_11}, 
            0, "co[C8pC2,C3]", {8, 2, 
              3}, {"ba" -> "a5b"}, {𝕁\ 2, 
              29}, {22, 25}, {1, 11, 
              21}}, 
{"D8C3", {10, 2\_9, 10\_2}, 
            0, "co[ca[16,15],C3]", {8, 
              6}, {"ba" -> "a7b"}, {22, 32}, {}, {22, 
              33}}, 
{"Q8iC6", {6, 2\_6, 6\_5}, 
            0, "co[Q8,C3C2,2]", {8, 
              6}, {"ba" -> "a3b"}, {}, {}, {}}, {"Q16C3", {2, 2\_8, 10\_3}, 
            0, "co[ca[16,7],C3]", {2, 2, 2, 2, 
              3}, {"aa" -> "d", "bb" -> "d", "cc" -> "d", "ba" -> "abd", "ca" -> "abc", "cb" -> "bcd"}, {}, {}, {}}, 
{"g4828", {2, 2\_14, 18}, 
            0, "ca[]", {}, {}, {}, {}, {}}, 
{"g4829", {14, 2\_14, 6}, 
            0, "ca[]", {}, {}, {}, {}, {9, 
              37}}, 
{"g4830", {8, 2\_8, 4\_3, 12}, 
            0, "ca[]", {2, 2, 3, 2, 
              2}, {"aa" -> "b", "ca" -> "acc", "da" -> "ae", "ea" -> "ad", "dc" -> "ce", "ec" -> "cde"}, {}, {}, {}}, 

{"A4C4", {8, 2\_16, 8}, 
            37, "co[A4a,C4]", {3, 2, 2, 
              4}, {"ba" -> "abc", "ca" -> "ab"}, {}, {4, 46}, {1, 26}}, 
{"SL23C2", {4, 4\_8, 12}, 
            0, "co[SL23,C2]", {3, 2, 2, 2, 
              2}, {"bb" -> "d", "cc" -> "d", "ba" -> "abcd", "ca" -> "abd", "cb" -> "bcd"}, {}, {}, {}}, 
{"g4833", {8, 2\_16, 8}, 
            37, "ca[]", {2, 3, 2, 2, 
              2}, {"aa" -> "e", "cc" -> "e", "dd" -> "e", "cb" -> "bcde", "db" -> "bce", "dc" -> "cde"}, {}, {}, {}}, 
{"Q24C2", {4, 4\_4, 
              28}, 0, "co[ca[24,11],C2]", {6, 2, 2, 
              2}, {"ba" -> "a5b", "bb" -> "c", "dd" -> "c", "db" -> "bcd"}, {6, 13, 15}, {1, 8, 
              15, 18, 36}, {}}, {"C4D6", {16, 4\_4, 16}, 
            35, "co[C4,D3C2]", {12, 2, 
              2}, {"ba" -> "a5b"}, {3, 6, 
              15}, {}, {}}, 
{"D12C2", {28, 4\_5}, 
            0, "co[ca[24,23],C2]", {12, 2, 
              2}, {"ba" -> "a11b"}, {1, 5, 9}, {2, 15, 
              18}, {}}, 
{"P48", {16, 4\_4, 16}, 
            35, "co[C3,P16a,2]", {3, 2, 2, 2, 
              2}, {"ba" -> "a2b", "ca" -> "aac", "cb" -> "bce", "db" -> "bde", "dc" -> "cde"}, {2, 3, 5}, {}, {5, 14, 27}}, 
{"D4D3", {24, 
              2\_2, 6\_2, 8}, 
            0, "co[D4,D3]", {6, 2, 
              4}, {"ba" -> "a5b", "ca" -> "ac3"}, {}, {}, {1, 27, 29}}, 
{"C3iP16", {12, 2\_2, 6\_2, 20}, 
            0, "co[C3,P16i,2]", {3, 2, 2, 2, 
              2}, {"ba" -> "a2b", "cb" -> "bce", "db" -> "bde", "dc" -> "cde"}, {}, {}, {1, 14, 
              27}}, {"Q8D3", {8, 2\_2, 6\_2, 24}, 
            0, "co[Q8,D3]", {2, 2, 2, 3, 
              2}, {"aa" -> "c", "bb" -> "c", "ba" -> "abc", "abab" -> "c", "ed" -> "dde"}, {}, {}, {14, 27, 
              30}}, 

{"Q8pD3", {20, 
              2\_2, 6\_2, 12}, 
            0, "co[Q8,D3,4]", {2, 2, 2, 2, 
              3}, {"bb" -> "d", "cc" -> "d", "ca" -> "acd", "ea" -> "aee", "cb" -> "bcd"}, {}, {}, {}}, 
{"Q12K", {8, 8\_2, 24}, 
            0, "co[Q12,K]", {6, 4, 2}, {"ba" -> "a5b"}, {6, 
              13, 19}, {1, 3, 4, 8, 36}, {}}, {"KpD12", {20, 8\_2, 12}, 
            0\ \ , "co[K,ca[12,11],2]", {6, 2, 2, 
              2}, {"ba" -> "a5bc"}, {2, 3, 19}, {3, 6, 7}, {3, 
              6, 19}}, 
{"C3C4K", {8. , 8\_5}, 
            0, "co[C3C4,K]", {3, 4, 2, 2}, {}, {1, 16, 19}, {3, 15, 
              17}, {5, 12, 19}}, 
{"C4pC12", {12, 4\_3, 
              12\_2}, 
            0, "co[C4,ca[12,7],2]", {12, 2, 
              2}, {"ba" -> "a7b"}, {}, {1, 5, 22}, {1, 5, 
              27}}, 
{"Q8C6", {4, 4\_2, 12\_3}, 
            0, "co[Q8,C3C2]", {2, 2, 2, 
              6}, {"aa" -> "c", "bb" -> "c", "ba" -> "abc"}, {}, {1, 12, 13, 14}, {}}, {"PC3", {8, 8\_5}, 
            0, "co[P16i,C3]", {2, 2, 6, 
              2}, {"dd" -> "c", "ba" -> "abc"}, {}, {2, 12, 15, 19, 36}, {}}, 
{"S4C2", {20, 2\_8, 4\_3}, 
            0\ , "co[pe[s4],C2]", {3, 2, 2, 2, 
              2}, {"ba" -> "abc", "ca" -> "ab", "da" -> "a2d", "db" -> "cd", "dc" -> "bd"}, {}, {2, 13}, {2, 18}}, 
{"A4K", {16, 4\_8}, 
            0, "co[A4a,K]", {3, 2, 2, 2, 
              2}, {"ba" -> "abc", "ca" -> "ab"}, {}, {}, {1, 18}}, 
{"g4850", {16, 1\_32}, 
            0, "ca[]", {3, 2, 2, 2, 
              2}, {"ba" -> "abc", "ca" -> "ab", "da" -> "ade", "ea" -> "ad"}, {}, {3, 10, 
              35}, {}}, 
{"D3KC2", {32, 8\_2}, 
            0, "co[D3,KC2]", {6, 2, 2, 
              2}, {"ba" -> "a5b"}, {1, 3, 6, 
              19}, {}, {}}, 
{"C6KC2", {16. , 16\_2}, 
            0, "co[ca[6],K,C2,1]", {6, 2, 2, 2}, {}, {1, 2, 6, 19}, {1, 
              2, 3, 22}, {1, 5, 6, 19}}, {"OctC3", {2, 2\_2, 14\_3}, 
            0, "co[Oct,C3]", {}, {}, {}, {}, {}}, 
{"OctiC3n", {2, 2\_3, 4\_3, 14\_2}, 
            0, "co[Oct,C3,2]", {}, {}, {}, {}, {}}, 
{"OctpC3n", {2, 2\_2, 6\_2, 30}, 
            0, "co[Oct,C3,3]", {}, {}, {}, {}, {}}};\)\)

loop[[49]] = {{"C49", {1. , (Subscript[1, 48])}, 
            38, "ca[49]", {49}, {}, {}, {}, {}}, {"C7C7", {1. , 
              (Subscript[1, 48])}, 38, "co[ca[7],ca[7]]", {7, 
              7}, {}, {}, {}, {}}};
\(\(loop[\([50]\)] = {{"C50", {2. , 2\_24}, 
            39, "ca[50]", {50}, {}, {}, {}, {}}, {"C10C5", {2. , 
              2\_24}, 39, "co[ca[10],ca[5]]", {10, 
              5}, {}, {}, {}, {}}, {"D25", {26, 1\_24}, 
            40, "ca[50,49]", {25, 
              2}, {"ba" -> "a24b"}, {}, {}, {}}, {"C5nD5", {26, 1\_24}, 
            40, "co[ca[5],ca[10,9],2]", {5, 5, 
              2}, {"cb" -> "b4c", "ca" -> "a4c"}, {}, {}, {}}, {"C5nC10", {6, 1\_20, 6\_4}, 
            0, "co[ca[5],ca[10],2]", {5, 
              10}, {"ba" -> "a4b"}, {}, {5, 16}, {2, 
              17}}};\)\)
loop[[51]] = {{"C51", {1. , (Subscript[1, 50])}, 
            0, "ca[51]", {51}, {}, {}, {}, {}}};

\(\(loop[\([52]\)] = {{"C52", {2. , 2\_25}, 
            0, "ca[52]", {52}, {}, {}, {}, {}}, {"D26", {28, 2\_12}, 
            0, "ca[52,51]", {26, 
              2}, {"ba" -> "a25b"}, {}, {}, {}}, {"Q52", {2, 
              2\_12, 26}, 
            0, "ca[52,25]", {13, 
              4}, {"ba" -> "a12b"}, {}, {}, {}}, {"C26C2", {4. , 4\_12}, 
            0, "co[ca[26],C2]", {26, 
              2}, {}, {}, {}, {}}, 
{"C52a", {14, 
              1\_12, 2\_13}, 
            0, "ca[]", {13, 
              4}, {"ba" -> "a5b"}, {}, {}, {}}};\)\)
loop[[53]] = {{"C53", {1. , (Subscript[1, 52])}, 
            0, "ca[53]", {53}, {}, {}, {}, {}}};

\(\(loop[\([54]\)] = {{"D27", {28, 1\_26, 1}, 
            0, "ca[54,53]", {27, 
              2}, {"ba" -> "a26b"}, {}, {}, {}}, 
{"C54", {2. , 2\_26, 1}, 
            0, "ca[54]", {\ 
              54}, {}, {}, {}, {}}, 
{"D9C3", {10, 
              1\_24, 10\_2, 4}, 
            0, "co[ca[18,17],C3]", {9, 
              6}, {"ba" -> "a8b"}, {23, 32}, {19, 
              28}, {}}, 
{"C9D3", {4, 1\_18, 4\_8, 4}, 
            0, "co[ca[9],D3]", {3, 18}, {"ba" -> "a2b"}, {7, 
              10}, {2, 33}, {3, 23}}, 
{"D9C3a", {10, 
              1\_20, 4\_6, 4}, 
            42, "ca[]", {9, 
              6}, {"ba" -> "a2b"}, {}, {}, {}}, 
{"g5406", {10, 1\_20, 4\_6, 4}, 
            42, "ca[]", {2, 3, 3, 
              3}, {"ccc" -> "dd", "ca" -> "accd", "da" -> "add", "cb" -> "bcd"}, {}, {}, {}}, 
{"D9nC3", {28, 1\_26, 4}, 
            0, "co[C3,ca[18,17],2]", {2, 3, 3, 
              3}, {"bbb" -> "dd", "ba" -> "abbd", "ca" -> "acc", "da" -> "add"}, {3, 10, 23}, {2, 8, 
              28}, {}}, 
{"P54", {10, 1\_24, 10\_2, 
              13}, 41, "ca[]", {2, 3, 3, 
              3}, {"ba" -> "abb", "ca" -> "acc", "cb" -> "bcd"}, {}, {2, 5, 
              7}, {}}, 
{"C18C3", {2. , 2\_26, 4}, 
            0, "co[ca[18],C3]", {18, 3\ }, {}, {19, 23}, {8, 31}, {19, 
              23}}, 
{"Q54", {2, 2\_26, 13}, 
            0, "co[P27,C2]", {6, 3, 
              3}, {"ba" -> "abc"}, {}, {8, 20}, {\(-8\), 
              10}}, 

{"g2704C2", {2, 
              2\_26, 4}, 
            0, "ca[]", {9, 
              6}, {"ba" -> "a4b"}, {}, {}, {}}, 
{"D3C3C3", {4, 1\_18, 4\_8, 13}, 
            0, "co[D3,C3,C3,0]", {3, 6, 
              3}, {"ba" -> "a2b"}, {}, {5, 12, 32}, {2, 8, 
              11}}, 
{"E18C3", {10, 1\_24, 10\_2, 13}, 
            41, "co[co[C3,ca[6,5],2],C3]", {2, 3, 3, 
              3}, {"ba" -> "abb", "ca" -> "acc"}, {}, {5, 7, 32}, {4, 8, 11}}, 
{"D27b", {28, 1\_26, 13}, 
            0, "ca[]", {3, 3, 3, 
              2}, {"da" -> "aad", "db" -> "bbd", "dc" -> "ccd"}, {}, {}, {}}, 
{"C3^3C2", {2. , 2\_26, 13}, 
            0, "co[C3C3,C3,C2,1]", {3, 3, 3, 2}, {}, {10, 11, 19}, {8, 
              17, 32}, {8, 11, 19}}};\)\)
loop[[55]] = {{"C55", {1. , (Subscript[1, 54])}, 
            0, "ca[55]", {55}, {}, {}, {}, {}}, {"g5502", {1, (Subscript[1, 54])}, 
            0, "ca[]", {11, 
              5}, {"ba" -> "a9b"}, {}, {}, {}}};

\(\(loop[\([56]\)] = {{"C7nC8", {2, 2\_13, 14\_2}, 
            0, "ca[56,13]", {7, 8}, {"ba" -> "a6b"}, {21, 
              35}, {24, 26}, {}}, 
{"C56", {2. , 
              2\_27}, 0, "ca[56]", {56}, {}, {21, 22}, {24, 27}, {20, 
              22}}, 
{"C7nQ8", {2, 2\_12, 30}, 
            0, "co[ca[7],Q8,2]", {7, 2, 2, 
              2}, {"bb" -> "d", "cc" -> "d", "cb" -> "bcd", "ba" -> "a6b"}, {13, 14, 
              21}, {}, {}}, 
{"Q56", {16, 2\_12, 16}, 
            0, "co[ca[14,13],C4]", {28, 
              2}, {"ba" -> "a13b"}, {3, 12, 
              21}, {}, {}}, 
{"D28", {30, 2\_13}, 
            0, "ca[56,55]", {28, 2}, {"ba" -> "a27b"}, {3, 
              4, 21}, {2, 15, 24}, {}}, 
{"C14nC4", {4, 
              4\_6, 28}, 
            0, "co[ca[14],C4,2]", {14, 
              4}, {"ba" -> "a13b"}, {6, 13, 
              21}, {}, {}}, {"KnD7", {18, 4\_6, 14}, 
            0, "co[K,ca[14,13],2]", {7, 4, 
              2}, {"ba" -> "a6b", "cb" -> "bbbc"}, {2, 
              3, 21}, {}, {}}, 
{"C2nC28", {4. , 
              4\_13}, 0, "co[C4,ca[14],4]", {2, 2, 7, 
              2}, {"aa" -> "d"}, {16, \(-21\)}, {15, 
              30}, {12, \(-20\)}}, 
{"KnC14", {6, 2\_7, 
              6\_6}, 0, "ca[56,15]", {4, 
              14}, {"ba" -> "a3b"}, {}, {}, {2, 5, 
              20}}, {"Q8C7", {2, 2\_6, 6\_7}, 
            0, "ca[56,43]", {2, 2, 2, 
              7}, {"aa" -> "c", "bb" -> "c", "ba" -> "abc"}, {}, {}, {}}, 
{"g5611", {8, 1\_48}, 
            0, "ca[]", {7, 2, 2, 
              2}, {"ba" -> "abc", "ca" -> "adc", "da" -> "ab"}, {}, {}, {}}, 
{"C14nK", {32, 4\_6}, 
            0, "co[ca[14],K,2]", {14, 2, 
              2}, {"ba" -> "a13b"}, {3, 6, \(-21\)}, {2, 3, 
              30}, {}}, 
{"C14K", {8. , 8\_6}, 
            0, "co[ca[14],K]", {14, 2, 2}, {}, {2, 6, \(-21\)}, {}, {1, 
              5, 6, 20}}};\)\)

\(\(loop[\([57]\)] = {{"g5701", {1, 1\_56}, 
            0, "ca[]", {19, 
              3}, {"ba" -> "a7b"}, {}, {}, {}}, {"C57", {1. , 1\_56}, 
            0, "ca[57]", {57}, {}, {}, {}, {}}};\)\)
loop[[58]] = {{"C58", {2. , (Subscript[2, 28])}, 
            0, "ca[58]", {58}, {}, {}, {}, {}}, {"D29", {30, (Subscript[1, 28])}, 
            0, "ca[58,57]", {29, 
              2}, {"ba" -> "a28b"}, {}, {}, {}}};
loop[[59]] = {{"C59", {1. , (Subscript[1, 58])}, 
            0, "ca[59]", {59}, {}, {}, {}, {}}};

\(\(loop[\([60]\)] = {{"C3iC20", {2, 2\_14, 6\_5}, 
            0, "co[C3,ca[20],2]", {3, 4, 
              5}, {"ba" -> "a2b"}, {}, {}, {}}, {"Q20C3", {2, 2\_14, 10\_3}, 
            0, "ca[60,49]", {5, 4, 
              3}, {"ba" -> "a4b"}, {}, {}, {}}, {"Q60", {2, 
              2\_14, 30}, 
            0, "ca[60,29]", {15, 4}, {"ba" -> "a14b"}, {10, 
              13, 18}, {}, {}}, {"C60", {2. , 2\_29}, 
            0, "ca[60]", {5, 4, 3}, {}, {10, 12, 18}, {8, 15, 16}, {8, 
              12, 17}}, {"A5", {16, 1\_44}, 
            0, "ca[]", {}, {}, {}, {}, {}, "pe[{{1,4,2,6,3,5},{1,2,5,6,3,4}}]"}, 
{"g6006", {6, 1\_12, 2\_15, 6\_2}, 
            0, "ca[]", {5, 4, 
              3}, {"ba" -> "a2b"}, {}, {}, {}}, {"g6007", {6, 1\_12, 6\_7}, 
            0, "ca[]", {15, 
              4}, {"ba" -> "a8b"}, {}, {}, {}}, 
{"D10iC3", {24, 1\_8, 4\_4, 6\_2}, 
            0, "co[ca[30,19],C2,2]", {15, 2, 
              2}, {"ba" -> "a14b", "ca" -> "a4c"}, {}, {}, {}}, 
{"A4C5", {4, 1\_40, 4\_4}, 
            0, "co[A4a,ca[5]]", {3, 2, 2, 
              5}, {"ba" -> "abc", "ca" -> "ab"}, {}, {}, {5, 28}}, {"C60g19", {12, 2\_12, 12\_2}, 
            0, "ca[60,19]", {5, 6, 
              2}, {"ba" -> "a4b"}, {}, {19, 
              29}, {}}, {"C6iC10", {8, 2\_10, 8\_4}, 
            0, "co[ca[6],ca[10],2]", {6, 
              10}, {"ba" -> "a5b"}, {}, {}, {3, \(-28\)}}, {"D30", {32, 2\_14}, 
            0, "ca[60,59]", {30, 2}, {"ba" -> "a29b"}, {3, 
              18, 19}, {2, 8, 29}, {}}, {"C30C2", {4. , 4\_14}, 
            0, "co[ca[30],C2]", {5, 3, 2, 2}, {}, {\(-18\), 19}, {22, 
              29}, {19, 25}}};\)\)

loop[[61]] = {{"C61", {1. , (Subscript[1, 60])}, 
            0, "ca[61]", {61}, {}, {}, {}, {}}};
\(\(loop[\([62]\)] = {{"C62", {2. , 2\_30}, 
            0, "ca[62]", {62}, {}, {}, {}, {}}, 
{"D31", {32, 1\_30}, 
            0, "ca[62,61]", {31, 
              2}, {"ba" -> "a30b"}, {}, {}, {}}};\)\)
\(\(loop[\([63]\)] = {{"C63", {1. , 1\_62}, 
            29, "ca[63]", {63}, {}, {21, 23}, {24, 28}, {20, 
              23}}, 
{"C7C3C3", {1. , 1\_62}, 
            29, "co[ca[7],C3C3]", {7, 3, 3}, {}, {10, 11, 21}, {8, 12, 
              24}, {8, 11, 20}}, 
{"g2101C3", {1, 
              1\_62}, 31, "co[co[ca[7],C3,7],C3]", {7, 3, 
              3}, {"ba" -> "a2b"}, {}, {}, {}}, 
{"g6304", {1, 1\_62}, 
            31, "ca[]", {7, 
              9}, {"ba" -> "a4b"}, {}, {}, {}}};\)\)

\(\(loop[\([64]\)] = {{"C64", {2. , 2\_31, 32, 0}, 
            0, "ca[64]", {64}, {}, {}, {}, {}}, {"g64002", {4. , 
              4\_15, 48, 0}, 
            0, "co[C8,C8]", {8, 
              8}, {}, {}, {}, {}}, 
{"g64003", {4, 
              4\_15, 48, 1536}, 
            0, "co[C8,C8,4]", {8, 
              8}, {"ba" -> "a5b"}, {}, {}, {}}, {"g64004", {16, 4\_8, 8\_2, 32, 2688}, 
            0, "ca[]", {8, 2, 2, 
              2}, {"ba" -> "abc", "da" -> "adb"}, {}, {}, {}}, {"g64005", {8, 4\_8, 8, 16, 32, 2688}, 
            0, "ca[]", {}, {}, {}, {}, {}}, 
{"g64006", {12, 4\_6, 8\_2, 12, 32, 2304}, 
            0, "co[D4,ca[8,5],2]", {}, {}, {29, 
              17}, {}, {}}, {"Q8pC8", {4, 4\_5, 8\_2, 12\_2, 32, 2304}, 
            0, "co[Q8,C8,2]", {}, {}, {}, {}, {}}, {"g64008", {16, 
              4\_4, 8\_4, 32, 2880}, 
            0, "ca[]", {}, {}, {}, {}, {}}, {"g64009", {8, 4\_4, 
              8\_3, 16, 40, 2880}, 
            0, "ca[]", {}, {}, {}, {}, {}}, {"g64010", {12, 4\_10, 
              12, 32, 2880}, 
            0, "ca[]", {}, {}, {}, {}, {}}, 

{"g64011", {4, 4\_9, 12\_2, 32, 2880}, 
            0, "ca[]", {}, {}, {}, {}, {}}, {"g64012", {20, 4\_3, 
              8\_4, 32, 2880}, 
            0, "ca[]", {}, {}, {}, {}, {}}, {"g64013", {4, 4\_2, 
              8\_4, 20, 32, 2880}, 
            47, "ca[]", {}, {}, {}, {}, {}}, {"g64014", {4, 4\_2, 
              8\_4, 20, 32, 2880}, 
            47, "ca[]", {}, {}, {}, {}, {}}, {"g64015", {4, 4\_7, 
              8\_4, 48, 2304}, 
            0, "co[ca[8,5],C8,2]", {8, 
              8}, {"ba" -> "a3b"}, {}, {}, {}}, {"g64016", {4, 4\_7, 16\_2, 48, 2304}, 
            0, "co[C8,C8,2]", {8, 8}, {"ba" -> "a7b"}, {29, 
              22}, {}, {}}, 
{"g64017", {8, 8\_7, 32, 
              1536}, 60, "co[C4C2,C8,4]", {8, 4, 
              2}, {"ba" -> "abc"}, {1, 16, 22}, {1, 15, 27}, {5, 
              12, 22}}, {"g64018", {8, 8\_7, 40, 2688}, 
            51, "ca[]", {4, 4, 
              4}, {"ba" -> "abc"}, {}, {}, {}}, 
{"g64019", {8, 8\_7, 48, 2688}, 
            46, "ca[]", {}, {}, {}, {}, {}}, 
{"g64020", {8, 8\_7, 40, 2304}, 
            0, "ca[]", {4, 4, 
              4}, {"ca" -> "bc", "cb" -> "ac"}, {24, 35}, {}, {}}, 

{"g64021", {8, 
              8\_3, 16\_2, 40, 2304}, 
            52, "ca[]", {8, 4, 
              2}, {"ba" -> "a3bc"}, {}, {}, {}}, {"g64022", {8, 8\_7, 48, 2304}, 
            0, "ca[]", {}, {}, {}, {}, {}}, 
{"g64023", {16, 8\_6, 48, 2688}, 
            0, "ca[]", {4, 4, 2, 
              2}, {"ba" -> "abc", "ca" -> "acd"}, {}, {}, {}}, 
{"g64024", {8, 8\_5, 16, 32, 2688}, 
            0, "ca[]", {8, 2, 
              4}, {"ba" -> "a5b", "ca" -> "abc"}, {}, {}, {}}, {"g64025", {8, 8\_7, 32, 2688}, 
            0, "ca[]", {}, {}, {}, {}, {}}, 
{"g64026", {4. , 4\_15, 32, 0}, 
            49, "co[C4,ca[16,9],4]", {}, {}, {}, {}, {}}, {"g64027", {4, 4\_15, 32, 1536}, 
            50, "ca[]", {16, 
              4}, {"ba" -> "a9b"}, {}, {}, {}}, 
{"g64028", {4, 4\_15, 32, 2688}, 
            0, "ca[]", {16, 
              4}, {"ba" -> "a5b"}, {}, {}, {}}, {"g64029", {8, 4\_8, 8\_3, 32, 1536}, 
            0, "co[K,ca[16],2]", {16, 2, 
              2}, {"ba" -> "abc"}, {}, {}, {}}, {"g64030", {8, 4\_8, 8\_3, 32, 2688}, 
            0, "ca[]", {}, {}, {}, {}, {}}, 

{"g64031", {8, 4\_8, 8\_3, 32, 2304}, 
            0, "ca[]", {8, 4, 
              2}, {"ca" -> "abc"}, {}, {}, {}}, 
{"g64032", {20, 4\_11, 28, 3264}, 
            0, "ca[]", {}, {}, {}, {}, {}}, {"g64033", {12, 4\_10, 
              12, 36, 3264}, 
            0, "ca[]", {}, {}, {}, {}, {}}, {"g64034", {20, 4\_11, 
              44, 3264}, 
            0, "ca[]", {}, {}, {}, {}, {}}, {"g64035", {12, 4\_10, 
              12, 52, 3264}, 
            0, "ca[]", {}, {}, {}, {}, {12, 13}}, {"g64036", {12, 
              4\_10, 12, 32, 3264}, 
            0, "ca[]", {}, {}, {}, {}, {}}, {"g64037", {4, 4\_10, 20, 
              32, 3264}, 
            0, "ca[]", {}, {}, {}, {}, {}}, {"g64038", {20, 4\_7, 16, 
              20, 2688}, 
            0, "co[ca[16,15],C4,2]", {}, {}, {}, {}, {}}, 
{"g64039", {4, 4\_6, 16, 20, 36, 2688}, 
            0, "co[ca[16,7],C4,2]", {}, {}, {}, {}, {}}, 
{"g64040", {12, 4\_6, 8\_2, 12, 24, 2688}, 
            0, "ca[]", {}, {}, {}, {}, {}}, 

{"g64041", {12, 4\_6, 8\_2, 12, 28, 3072}, 
            0, "ca[]", {}, {}, {}, {}, {}}, {"g64042", {20, 4\_7, 
              8\_2, 24, 3072}, 
            0, "ca[]", {}, {}, {}, {}, {}}, {"g64043", {4, 4\_6, 
              8\_2, 20, 24, 3072}, 
            0, "ca[]", {}, {}, {}, {}, {}}, {"g64044", {4, 4\_7, 
              8\_4, 32, 1536}, 
            0, "co[C4,ca[16],2]", {4, 
              16}, {"ba" -> "a3b"}, {}, {}, {}}, {"g64045", {4, 4\_7, 8\_4, 32, 2304}, 
            0, "ca[]", {}, {}, {}, {}, {}}, {"g64046", {4, 4\_7, 
              8\_4, 24, 3072}, 
            0, "ca[]", {16, 
              4}, {"ba" -> "a3b"}, {}, {}, {}}, {"g64047", {4, 4\_7, 32, 36, 2688}, 
            0, "co[ca[16],C4,2]", {16, 
              4}, {"ba" -> "a15b"}, {}, {}, {}}, {"g64048", {4, 4\_7, 16\_2, 36, 2688}, 
            0, "ca[]", {16, 
              4}, {"ba" -> "a7b"}, {}, {}, {}}, {"g64049", {4, 4\_7, 16\_2, 40, 2688}, 
            0, "ca[]", {}, {}, {}, {}, {}}, {"g64050", {4. , 4\_15, 
              32, 0}, 49, "co[ca[32],C2]", {32, 
              2}, {}, {}, {}, {}}, 

{"g64051", {4, 4\_15, 32, 1536}, 
            0, "ca[]", {32, 
              2}, {"ba" -> "a17b"}, {}, {}, {}}, 
{"g64052", {34, 2\_15, 33, 2880}, 
            0, "ca[64,63]", {32, 
              2}, {"ba" -> "a31b"}, {}, {}, {}}, 
{"g64053", {18, 2\_14, 18, 18, 2880}, 
            0, "co[ca[32,15],C2,2]", {32, 
              2}, {"ba" -> "a15b"}, {}, {}, {}}, {"g64054", {2, 2\_14, 34, 34, 2880}, 
            0, "ca[64,31]", {}, {}, {}, {}, {}}, {"g64055", {8. , 
              8\_7, 56, 0}, 
            0, "co[C4,C4,C4,1]", {2, 2, 2, 2, 2, 
              2}, {"aa" -> "d", "bb" -> "e", "cc" -> "f"}, {}, {}, {}}, 
{"g64056", {16, 16\_3, 48, 1536}, 
            69, "co[C4C2,C4C2,4]", {4, 4, 2, 
              2}, {"ba" -> "abc"}, {}, {}, {}}, 
{"g64057", {8, 8\_7, 56, 1536}, 
            0, "ca[]", {4, 4, 
              4}, {"ba" -> "abcc"}, {}, {}, {}}, 
{"g64058", {16, 8\_4, 16, 48, 1536}, 
            0, "co[C4,K,C4,2]", {4, 2, 2, 
              4}, {"ba" -> "abc"}, {}, {}, {7, 13, 
              30}}, {"g64059", {8, 8\_3, 16\_2, 56, 1536}, 
            0, "co[C4,C4,C4,2]", {4, 4, 
              4}, {"ba" -> "a3b"}, {}, {}, {}}, {"g64060", {32, 8\_4, 32, 2304}, 
            0, "ca[]", {}, {}, {}, {}, {}}, 

{"g64061", {16, 16\_3, 48, 2304}, 
            68, "ca[]", {4, 4, 2, 
              2}, {"ba" -> "a3b", "cb" -> "bcd"}, {}, {}, {}}, {"g64062", {16, 8\_4, 16, 48, 2304}, 
            67, "ca[]", {}, {}, {}, {}, {}}, {"g64063", {8, 8\_3, 
              16\_2, 56, 2304}, 
            66, "ca[]", {}, {}, {}, {}, {}}, {"g64064", {8, 8\_7, 56, 
              2304}, 0, "ca[]", {}, {}, {}, {}, {}}, {"g64065", {8, 
              8\_3, 32, 56, 2304}, 
            62, "ca[]", {}, {}, {}, {}, {}}, {"g64066", {16, 8\_3, 
              24, 48, 2304}, 
            0, "co[K,C4,C4,2,2]", {}, {}, {}, {}, {}}, {"g64067", {24, 8\_3, 16, 40, 2304}, 
            64, "co[K,K,C4,2,2]", {4, 4, 2, 
              2}, {"ba" -> "abc", "da" -> "a3d"}, {}, {}, {}}, {"g64068", {8, 8\_3, 16\_2, 56, 2304}, 
            66, "ca[]", {}, {}, {}, {}, {}}, {"g64069", {16, 8\_4, 
              16, 48, 2304}, 
            67, "ca[]", {}, {}, {}, {}, {}}, {"g64070", {8, 8\_2, 16, 
              24, 56, 2304}, 
            65, "ca[]", {4, 4, 
              4}, {"ba" -> "a3b", "ca" -> "accc"}, {}, {}, {}}, 

{"g64071", {24, 8\_3, 
              16, 40, 2304}, 
            64, "co[C4C2,D4,4]", {}, {}, {}, {}, {}}, {"g64072", {8, 
              8\_2, 16, 24, 56, 2304}, 
            65, "co[C4C2,Q8,4]", {}, {}, {}, {}, {}}, 
{"g64073", {32, 8\_4, 32, 2688}, 
            0, "ca[]", {}, {}, {}, {}, {}}, {"g64074", {16, 8\_3, 24, 
              48, 2688}, 
            63, "ca[]", {}, {}, {}, {}, {}}, {"g64075", {24, 8\_3, 
              16, 40, 2688}, 
            0, "ca[]", {}, {}, {}, {}, {}}, {"g64076", {8, 8\_3, 32, 
              56, 2688}, 
            0, "ca[]", {}, {}, {}, {}, {}}, {"g64077", {16, 16\_3, 
              48, 2688}, 
            68, "ca[]", {}, {}, {}, {}, {}}, {"g64078", {16, 8\_4, 
              16, 48, 2688}, 
            21, "ca[]", {}, {}, {}, {}, {}}, {"g64079", {8, 8\_2, 16, 
              24, 56, 2688}, 
            65, "ca[]", {}, {}, {}, {}, {}}, 
{"g64080", {16, 8\_3, 24, 48, 2688}, 
            63, "ca[]", {}, {}, {}, {}, {}}, 

{"g64081", {8, 8\_3, 16\_2, 56, 2688}, 
            0, "ca[]", {}, {}, {}, {}, {}}, {"g64082", {8, 8\_7, 56, 
              2688}, 0, "ca[]", {}, {}, {}, {}, {}}, 
{"g64083", {8. , 8\_7, 32, 0}, 
            61, "co[C8,C4C2]", {8, 4, 2}, {}, {2, 12, 
              22}, {}, {}}, 
{"g64084", {8, 8\_7, 32, 
              1536}, 60, "co[C8,C4C2,4]", {8, 4, 
              2}, {"ba" -> "a5b"}, {}, {}, {}}, {"g64085", {8, 8\_7, 32, 1536}, 
            60, "co[C4,C8,C2,4]", {8, 2, 
              4}, {"ba" -> "a5b"}, {}, {}, {}}, 
{"g64086", {8, 8\_7, 32, 1536}, 
            60, "ca[]", {2, 4, 
              8}, {"ba" -> "abcccc"}, {}, {}, {}}, {"g64087", {16, 8\_4, 16, 32, 1536}, 
            0, "co[K,C8,C2,1,2]", {8, 2, 2, 
              2}, {"ba" -> "abc"}, {1, 3, 4, \(-14\)}, {1, 2, 
              15, 26}, {5, 7, 12}}, 
{"g64088", {16, 
              8\_4, 16, 32, 2304}, 
            59, "co[K,C8,C2,4,2]", {}, {}, {}, {}, {}}, {"g64089", {16, 8\_4, 16, 32, 2304}, 
            59, "ca[]", {}, {}, {}, {}, {}}, {"g64090", {24, 8\_5, 
              40, 2688}, 
            0, "ca[]", {4, 2, 2, 2, 
              2}, {"ba" -> "abc", "ca" -> "acd"}, {}, {}, {}}, 

{"g64091", {16, 8\_4, 
              16, 48, 2688}, 
            21, "ca[]", {}, {}, {}, {}, {}}, {"g64092", {24, 8\_5, 
              32, 2688}, 
            0, "ca[]", {8, 2, 2, 
              2}, {"ba" -> "a5b", "ca" -> "abc"}, {}, {}, {}}, {"g64093", {8, 8\_4, 24, 32, 2688}, 
            0, "ca[]", {2, 2, 2, 2, 2, 
              2}, {"aa" -> "d", "bb" -> "e", "dd" -> "e", "ba" -> "abc", "ca" -> "ace", "db" -> "bde"}, {}, {}, {}}, {"g64094?", {16, 8\_4, 16, 
              32, 2688}, 
            0, "ca[]", {4, 2, 
              8}, {"ba" -> "a3b", "ca" -> "ac3"}, {}, {}, {}, {}, {}}, {"g64095", {24, 8\_3, 16, 24, 2304}, 
            0, "co[D4,C4,C2,1,2]", {8, 2, 2, 
              2}, {"ba" -> "a3bc"}, {2, 13, 
              22}, {}, {}}, 
{"g64096", {8, 8\_2, 16, 
              24, 40, 2304}, 
            0, "co[Q8,C4C2,2]", {2, 2, 2, 2, 2, 
              2}, {"aa" -> "d", "bb" -> "e", "cc" -> "e", "ba" -> "abc", "ca" -> "ace", "cb" -> "bce"}, {}, {}, {}}, 
{"g64097", {16, 8\_4, 16, 32, 2304}, 
            59, "ca[]", {}, {}, {}, {}, {}}, {"g64098", {16, 8\_2, 
              16\_2, 32, 2688}, 
            0, "ca[]", {}, {}, {}, {}, {}}, {"g64099", {24, 8\_5, 24, 
              2688}, 72, "ca[]", {}, {}, {}, {}, {}}, 
{"g64100", {8, 8\_4, 24, 40, 2688}, 
            58, "ca[]", {}, {}, {}, {}, {}}, 

{"g64101", {16, 8\_4, 16, 32, 2304}, 
            59, "ca[]", {2, 2, 4, 
              4}, {"ca" -> "ad3", "da" -> "ac3"}, {24, 26, 29}, {}, {}}, {"g64102?", {16, 8\_4, 16, 32, 
              2688}, , "ca[]", {}, {}, {}, {}, {}}, {"g64103", {8, 
              8\_3, 16\_2, 32, 1536}, 
            28, "co[C2,C4,C8,2]", {4, 8, 
              
              2}, {"ba" -> "a3b"}, {}, {}, {}}, 
{"g64104", {8, 8\_3, 16\_2, 32, 2304}, 
            28, "co[C4,C8,C2,4,2]", {8, 2, 
              4}, {"ba" -> "a5b", "ca" -> "ac3"}, {}, {}, {}}, {"g64105", {8, 8\_3, 16\_2, 32, 2304}, 
            28, "ca[]", {}, {}, {}, {}, {}}, {"g64106", {8, 8\_3, 
              16\_2, 40, 2304}, 
            52, "co[ca[8,5],C4C2,2]", {8, 4, 
              2}, {"ba" -> "a3b"}, {}, {}, {}}, 
{"g64107", {8, 8\_3, 32, 40, 2304}, 
            0, "co[C8,C4C2,2]", {8, 4, 
              2}, {"ba" -> "a7b"}, {6, 13, 17}, {1, 13, 27}, {1, 
              16, 22}}, {"g64108", {8, 8\_3, 16\_2, 40, 2304}, 
            52, "ca[]", {}, {}, {}, {}, {}}, {"g64109", {8, 8\_4, 24, 
              40, 2688}, 
            58, "ca[]", {8, 4, 
              2}, {"ba" -> "a3b", "ca" -> "a5c"}, {}, {}, {}}, {"g64110", {8, 8\_3, 16\_2, 48, 2304}, 
            0, "ca[]", {2, 2, 2, 2, 2, 
              2}, {"aa" -> "d", "bb" -> "c", "cc" -> "e", "dd" -> "e", "ba" -> "abc", "ca" -> "ace"}, {}, {}, {}}, 

{"g64111", {8, 8\_3, 16\_2, 48, 2688}, 
            0, "ca[]", {}, {}, {}, {}, {}}, {"g64112", {8, 8\_7, 32, 
              1536}, 0, "co[co[C2,C4],C8,4]", {}, {}, {}, {}, {}}, 
{"g64113", {8, 8\_7, 32, 2304}, 
            62, "ca[]", {}, {}, {}, {}, {}}, 
{"g64114", {8, 8\_7, 32, 2304}, 
            62, "ca[]", {}, {}, {}, {}, {}}, {"g64115", {12, 4\_4, 
              12\_3, 32, 1536}, 
            0, "co[D4,C8]", {}, {4, 2, 
              8}, {"ba" -> "a3b"}, {}, {2, 5, 
              22}}, 
{"g64116?", {12, 4\_4, 12\_3, 32, 
              2304}, 34, "ca[]", {}, {}, {}, {}, {}}, 
{"g64117?", {12, 4\_4, 12\_3, 32, 2304}, 
            34, "co[C8,D4,4]", {}, {}, {}, {}, {}}, 
{"g64118", {20, 4\_6, 20, 28, 2304}, 
            0, "co[C4,C8,C2,2]", {8, 2, 
              4}, {"ba" -> "a7b"}, {4, 12, 
              22}, {}, {}}, 
{"g64119", {12, 4\_4, 
              12\_3, 36, 2304}, 
            0, "co[C4,Q8,C2,2]", {8, 2, 
              4}, {"ba" -> "a3b"}, {}, {}, {}}, 
{"g64120", {4, 4\_5, 20\_2, 44, 2304}, 
            0, "co[ca[16,7],C4]", {2, 2, 2, 2, 
              4}, {"aa" -> "c", "bb" -> "c", "dd" -> "c", "ba" -> "abc", "da" -> "abd", "db" -> "bcd"}, {}, {}, {}}, 

{"g64121", {12, 4\_5, 12, 20, 36, 2688}, 
            0, "ca[]", {8, 2, 
              4}, {"ba" -> "a3b", "ca" -> "a5c"}, {}, {}, {}}, 
{"g64122", {4, 4\_4, 12\_2, 20, 44, 
              2688}, 0, "ca[]", {}, {}, {}, {}, {}}, 
{"g64123", {20, 4\_5, 12\_2, 28, 2688}, 
            0, "ca[]", {8, 2, 
              4}, {"ba" -> "a7b", "ca" -> "a3c"}, {}, {}, {}}, {"g64124", {12, 4\_4, 12\_3, 32, 2304}, 
            34, "ca[]", {}, {}, {}, {}, {}}, 
{"g64125", {12, 4\_4, 12\_3, 32, 2688}, 
            0, "ca[]", {}, {}, {}, {}, {}}, {"Q8C8", {4, 4\_3, 12\_4, 
              32, 1536}, 
            0, "co[Q8,C8]", {2, 2, 2, 
              8}, {"aa" -> "c", "bb" -> "c", "ba" -> "abc"}, {}, {}, {}}, {"Q8pC8", {4, 4\_3, 12\_4, 32, 
              2304}, 0, "co[C8,Q8,4]", {}, {}, {}, {}, {}}, {"g64128", {32, 4\_4, 8\_2, 31, 2880}, 
            0, "co[K,C8,C2,2,2]", {}, {}, {}, {}, {}}, {"g64129", {16, 4\_4, 8, 24, 32, 2880}, 
            70, "co[Q8,K,C2,2,2]", {}, {}, {}, {}, {}}, 
{"g64130", {24, 4\_4, 8, 16, 24, 2880}, 
            71, "ca[]", {}, {}, {}, {}, {}}, 

{"g64131", {24, 4\_4, 8, 16, 24, 2880}, 
            71, "co[K,Q8,C2,2,2]", {}, {}, {}, {}, {}}, 
{"g64132", {8, 4\_4, 8, 32, 40, 2880}, 
            0, "ca[]", {}, {}, {}, {}, {}}, {"g64133", {16, 4\_4, 8, 
              24, 32, 2880}, 
            70, "ca[]", {}, {}, {}, {}, {}}, 
{"g64134", {28, 4\_6, 12, 27, 3072}, 
            54, "ca[]", {}, {}, {}, {}, {}}, {"g64135", {20, 4\_6, 
              20, 28, 3072}, 
            53, "ca[]", {}, {}, {3, 12, 17}, {}, {4, 7, 
              12}}, 
{"g64136", {20, 4\_6, 20, 28, 
              3072}, 53, "ca[]", {}, {}, {}, {}, {}}, {"g64137", {12, 
              4\_6, 28, 36, 3072}, 
            73, "ca[]", {}, {}, {}, {}, {}}, {"g64138", {28, 4\_6, 
              12, 36, 3072}, 
            0, "ca[]", {}, {}, {}, {}, {1, 3, 
              4}}, 
{"g64139", {20, 4\_6, 20, 44, 
              3072}, 0, "ca[]", {}, {}, {}, {}, {5, 13, 
              30}}, 
{"g64140", {28, 4\_2, 8\_2, 12, 
              27, 2880}, 
            0, "co[D4,D4,2]", {}, {}, {}, {}, {}}, 

{"Q8pD4", {20, 4, 8\_2, 12\_2, 28, 2880}, 
            0, "co[Q8,D4,2]", {}, {}, {}, {}, {}}, 
{"g64142", {12, 4, 8\_2, 12, 20, 36, 2880}, 
            74, "co[C4,Q8,C2,2,2]", {8, 2, 
              4}, {"ba" -> "a3b", "ca" -> "ac3"}, {}, {}, {}}, 
{"g64143?", {4, 4, 8\_2, 12, 28, 44, 
              2880}, 0, "ca[]", {}, {}, {}, {}, {}}, {"g64144", {20, 
              4, 8\_2, 12\_2, 28, 56}, 
            0, "ca[]", {}, {}, {}, {}, {}}, {"g64145", {12, 4, 8\_2, 
              12, 20, 36, 2880}, 
            74, "ca[]", {}, {}, {}, {}, {}}, 
{"g64146?", {16, 8\_4, 16, 32, 2688}, 
            0, "ca[]", {}, {}, {}, {}, {}}, {"g64147", {24, 8\_3, 16, 
              24, 2688}, 
            0, "co[C8,C4,C2,2,2]", {4, 2, 
              8}, {"ba" -> "a3b", "ca" -> "ac7"}, {2, 3, 22}, {}, {}}, 
{"g64148", {8, 8\_2, 16, 24, 40, 
              2688}, 0, "co[K,ca[16,7],2]", {}, {}, {}, {}, {}}, 
{"g64149", {16, 8\_2, 16\_2, 32, 3072}, 
            0, "ca[]", {}, {}, {}, {}, {}}, 
{"g64150", {24, 8\_5, 24, 3072}, 
            0, "ca[]", {}, {}, {}, {}, {}}, 

{"g64151", {8, 8\_4, 24, 40, 3072}, 
            0, "ca[]", {}, {}, {}, {}, {}}, {"g64152", {16, 8\_4, 16, 
              32, 3072}, 
            0, "ca[]", {}, {}, {}, {}, {}}, {"g64153", {24, 8\_5, 32, 
              3072}, 0, "ca[]", {}, {}, {}, {}, {}}, {"g64154", {8, 
              8\_4, 24, 32, 3072}, 
            0, "ca[]", {}, {}, {}, {}, {}}, {"D4nQ8", {12, 4\_2, 
              8\_2, 28, 36, 2880}, 
            0, "co[D4,Q8,2]", {}, {}, {}, {}, {}}, 
{"Q8pQ8", {4, 8\_2, 12\_2, 20, 44, 2880}, 
            75, "co[Q8,Q8,2]", {}, {}, {}, {}, {}}, 
{"g64157", {12, 4, 8\_2, 12, 20, 36, 2880}, 
            74, "ca[]", {}, {}, {}, {}, {}}, {"g64158?", {4, 4, 8\_2, 
              12, 28, 44, 2880}, 
            0, "ca[]", {}, {}, {}, {}, {}}, {"g64159", {12, 4, 8\_2, 
              12, 20, 36, 2880}, 
            74, "ca[]", {}, {}, {}, {}, {}}, 
{"g64160", {4, 8\_2, 12\_2, 20, 44, 2880}, 
            75, "ca[]", {}, {}, {}, {}, {}}, 

{"g64161", {16, 4\_4, 8, 24, 32, 2880}, 
            70, "ca[]", {}, {}, {}, {}, {}}, 
{"g64162", {16, 4\_4, 8\_2, 16, 32, 2880}, 
            76, "ca[]", {}, {}, {}, {}, {}}, {"g64163", {16, 4\_4, 
              8\_2, 16, 32, 2880}, 
            76, "ca[]", {}, {}, {}, {}, {}}, {"g64164", {8, 4\_4, 8, 
              16\_2, 40, 2880}, 
            77, "ca[]", {}, {}, {}, {}, {}}, {"g64165", {8, 4\_4, 16, 
              24, 40, 2880}, 
            0, "ca[]", {}, {}, {}, {}, {}}, 
{"g64166", {8, 4\_4, 8, 16\_2, 40, 2880}, 
            77, "ca[]", {}, {}, {}, {}, {}}, 
{"g64167", {20, 4\_6, 20, 28, 2688}, 
            57, "ca[]", {}, {}, {}, {}, {}}, {"g64168", {4, 4\_5, 
              20\_2, 44, 2688}, 
            78, "ca[]", {}, {}, {}, {}, {}}, {"g64169", {12, 4\_4, 
              12\_3, 36, 2688}, 
            0, "ca[]", {}, {}, {}, {}, {}}, 
{"g64170", {12, 4\_5, 12, 20, 36, 3072}, 
            0, "ca[]", {}, {}, {}, {}, {}}, 

{"g64171", {20, 4\_5, 12\_2, 28, 3072}, 
            0, "ca[]", {}, {}, {}, {}, {}}, {"g64172", {4, 4\_4, 
              12\_2, 20, 44, 3072}, 
            0, "ca[]", {}, {}, {}, {}, {}}, 
{"g64173", {20, 4\_6, 20, 28, 2688}, 
            57, "ca[]", {4, 8, 
              2}, {"ca" -> "a3c", "cb" -> "b3c"}, {}, {}, {}}, {"g64174", {36, 4\_7, 35, 2688}, 
            79, "co[C4,ca[16,15],2]", {4, 8, 
              2}, {"ca" -> "a3c", "cb" -> "b7c"}, {3, 16, 22}, {}, {}}, 
{"g64175", {4, 4\_6, 36, 44, 
              2688}, 80, "co[C4,ca[16,7],2]", {}, {}, {13, 14, 17}, {13, 
              14, 27}, {}}, 
{"g64176", {20, 4\_6, 20, 
              28, 2688}, 
            57, "ca[]", {}, {}, {}, {}, {}}, {"g64177", {28, 4\_6, 
              12, 27, 3072}, 
            54, "ca[]", {}, {}, {}, {}, {}}, {"g64178", {12, 4\_6, 
              28, 36, 3072}, 
            73, "ca[]", {}, {}, {}, {}, {}}, {"g64179", {4, 4\_5, 
              20\_2, 44, 2688}, 
            78, "ca[]", {}, {}, {}, {}, {}}, 
{"g64180", {4, 4\_5, 20\_2, 44, 2688}, 
            78, "ca[]", {}, {}, {}, {}, {}}, 

{"g64181", {4, 4\_6, 36, 44, 2688}, 
            80, "co[C8,Q8,2]", {}, {}, {13, 14, 
              17}, {}, {}}, {"g64182", {4, 4\_5, 12, 28, 44, 3072}, 
            0, "ca[]", {}, {}, {}, {}, {}}, 
{"g64183", {8. , 8\_7, 32, 0}, 
            61, "co[K,ca[16],4]", {2, 2, 
              16}, {}, {}, {}, {}}, 
{"g64184", {8, 
              8\_7, 32, 1536}, 
            60, "ca[]", {16, 2, 
              2}, {"ba" -> "a9b"}, {}, {}, {}}, 
{"g64185", {8, 8\_7, 32, 1536}, 
            60, "ca[]", {}, {}, {}, {}, {}}, {"g64186", {36, 4\_7, 
              35, 2688}, 
            79, "co[ca[32,31],C2]", {16, 2, 
              2}, {"ba" -> "a15b"}, {}, {}, {}}, {"g64187", {20, 4\_6, 20, 20, 2688}, 
            81, "co[ca[16,9],K,2]", {16, 2, 
              2}, {"ba" -> "a7b"}, {}, {}, {}}, {"g64188", {4, 4\_6, 36, 36, 2688}, 
            0, "co[ca[32,15],C2]", {2, 2, 2, 2, 2, 
              
              2}, {"aa" -> "e", "bb" -> "e", "cc" -> "de", "dd" -> "e", "ba" -> "abc", "ca" -> "acd", "da" -> "ade", "db" -> "bde", "cb" -> "bcd"}, {}, {}, {}}, {"g64189", {20, 4\_6, 20, 20, 2688}, 
            81, "ca[]", {}, {}, {}, {}, {}}, {"g64190", {28, 4\_6, 
              12, 27, 3072}, 
            54, "ca[]", {16, 2, 
              2}, {"ba" -> "a15b", "ca" -> "a7c"}, {}, {}, {}}, 

{"g64191", {12, 4\_6, 
              28, 28, 3072}, 
            0, "ca[]", {2, 2, 2, 2, 2, 
              2}, {"aa" -> "e", "bb" -> "e", "cc" -> "de", "dd" -> "e", "ba" -> "abc", "ca" -> "acd", "da" -> "ade", "db" -> "bde", "cb" -> "bcd", "ff" -> "e", "fa" -> "afe"}, {}, {}, {}}, {"g64192", {16. , 16\_3, 48, 0}, 
            0, "co[C4C2,C4C2]", {2, 2, 4, 
              4}, {}, {}, {}, {}}, {"g64193", {32, 16\_2, 32, 1536}, 
            0, "co[K,K,C4,2]", {2, 2, 2, 2, 2, 
              2}, {"aa" -> "e", "ca" -> "abce"}, {1, 2, 3, 6, 9}, {}, {}}, {"g64194", {16, 16, 32, 48, 1536}, 
            0, "co[K,C4,C4,2]", {4, 4, 2, 
              2}, {"ba" -> "a3b"}, {6, 8, 13, 16}, {1, 3, 4, 13, 
              14}, {1, 3, 4, 13, 14}}, 
{"g64195", {16, 
              16\_3, 48, 1536}, 
            69, "co[C2,co[C2,C4],C4,4]", {4, 2, 4, 
              2}, {"ba" -> "abcc"}, {}, {}, {}}, {"g64196", {24, 8\_2, 24, 40, 1536}, 
            0, "co[C4C2,D4]", {4, 2, 4, 
              2}, {"ba" -> "a3b"}, {2, 13, 14, 16}, {}, {1, 2, 
              7, 30}}, 
{"Q8C4C2", {8, 8, 24\_2, 56, 
              1536}, 0, "co[Q8,C4C2]", {2, 2, 2, 4, 
              2}, {"aa" -> "c", "bb" -> "c", "ba" -> "abc"}, {}, {}, {}}, 
{"g64198", {16, 16\_3, 48, 1536}, 
            69, "co[co[P4,C4],C4]", {2, 2, 2, 2, 
              4}, {"aa" -> "c", "bb" -> "c", "ba" -> "abc", "da" -> "acd"}, {}, {}, {}}, {"g64199", {24, 8, 16\_2, 40, 1920}, 
            0, "ca[]", {}, {}, {}, {}, {}}, 
{"g64200", {8, 16\_2, 24, 56, 1920}, 
            0, "ca[]", {2, 2, 2, 2, 
              4}, {"aa" -> "c", "bb" -> "c", "ba" -> "abc", "ed" -> "cde"}, {}, {}, {}}, 

{"g64201", {16, 8, 16, 24, 48, 
              1920}, 0, "ca[]", {2, 2, 2, 2, 
              4}, {"aa" -> "c", "bb" -> "c", "ba" -> "abc", "da" -> "adc", "ed" -> "cde"}, {}, {}, {}}, {"g64202", {40, 8\_3, 39, 2304}, 
            82, "ca[]", {4, 2, 2, 2, 
              2}, {"ba" -> "a3b", "ca" -> "acd"}, {6, 8, 9, 22}, {1, 3, 4, 5, 34}, {}}, 
{"g64203", {32, 
              16\_2, 32, 2304}, 
            0, "co[C2,K,D4,2,2]", {4, 2, 4, 
              2}, {"ba" -> "a3b", "ca" -> "ac3"}, {}, {}, {}}, {"g64204", {16, 16, 32, 48, 2304}, 
            0, "co[K,co[Q8,C2],2]", {2, 2, 2, 2, 2, 
              2}, {"aa" -> "c", "bb" -> "c", "ba" -> "abc", "da" -> "ade"}, {}, {}, {}}, {"g64205", {24, 8\_2, 24, 40, 2304}, 
            83, "co[K,Q8,C2,4,2]", {2, 2, 2, 2, 2, 
              2}, {"cc" -> "d", "ba" -> "abd", "ca" -> "ace"}, {}, {}, {}}, {"g64206", {24, 8\_2, 24, 40, 
              2304}, 83, "ca[]", {2, 2, 2, 2, 2, 
              2}, {"bb" -> "e", "cc" -> "d", "ba" -> "abd", "ca" -> "ace"}, {}, {}, {}}, 
{"g64207", {24, 8\_2, 24, 40, 2304}, 
            83, "co[C4,co[P4,C4],2]", {}, {}, {}, {}, {}}, 
{"g64208", {8, 8, 24\_2, 56, 2304}, 
            84, "ca[]", {}, {}, {}, {}, {}}, 
{"g64209", {16, 16\_3, 48, 2304}, 
            68, "ca[]", {2, 2, 2, 2, 2, 
              2}, {"bb" -> "de", "cc" -> "d", "ba" -> "abd", "ca" -> "ace"}, {}, {}, {}}, 
{"g64210", {16, 16\_3, 48, 2304}, 
            68, "ca[]", {}, {}, {}, {}, {}}, 

{"g64211", {40, 8\_3, 39, 2304}, 
            82, "co[C2,C4,D4,2]", {4, 4, 2, 
              2}, {"cb" -> "b3c", "ca" -> "a3c"}, {}, {}, {}}, {"g64212", {8, 8\_2, 40, 56, 2304}, 
            0, "co[C2,C4,Q8,2]", {4, 2, 2, 2, 
              2}, {"ba" -> "a3b", "bb" -> "c", "dd" -> "c", "db" -> "bcd"}, {8, 13, 14, 
              16}, {}, {}}, 
{"g64213", {24, 8\_2, 24, 
              40, 2304}, 
            83, "ca[]", {}, {}, {}, {}, {}}, {"g64214", {8, 8, 24\_2, 
              56, 2304}, 
            84, "co[co[C2,C4],Q8,4]", {2, 2, 2, 2, 2, 
              2}, {"aa" -> "d", "bb" -> "e", "cc" -> "d", "ba" -> "abd", "ca" -> "ace"}, {}, {}, {}}, {"g64215", {32, 8\_2, 16, 32, 2688}, 
            85, "ca[]", {}, {}, {}, {}, {}}, 
{"g64216", {32, 8\_2, 16, 32, 2688}, 
            85, "ca[]", {}, {}, {}, {}, {}}, {"g64217", {16, 8\_2, 
              32, 48, 2688}, 
            0, "ca[]", {}, {}, {}, {}, {}}, {"g64218", {24, 16, 24, 
              40, 2688}, 
            0, "ca[]", {}, {}, {}, {}, {}}, {"g64219", {24, 8, 16\_2, 
              40, 2688}, 
            87, "ca[]", {}, {}, {}, {}, {}}, {"g64220?", {16, 8, 16, 
              24, 48, 2688}, 
            0, "ca[]", {}, {}, {}, {}, {}}, 

{"g64221", {24, 8, 16\_2, 40, 2688}, 
            87, "ca[]", {}, {}, {}, {}, {}}, {"g64222", {8, 16\_2, 
              24, 56, 2688}, 
            0, "ca[]", {}, {}, {}, {}, {}}, {"g64223?", {16, 8, 16, 
              24, 48, 2688}, 
            0, "ca[]", {}, {}, {}, {}, {}}, 
{"g64224", {16, 24\_2, 48, 2688}, 
            0, "ca[]", {}, {}, {}, {}, {}}, {"g64225", {8, 8, 16, 32, 
              56, 2688}, 
            0, "ca[]", {}, {}, {}, {}, {}}, {"g64226", {36, 4, 12\_2, 
              35, 2496}, 
            0, "co[D4,D4]", {4, 2, 4, 
              2}, {"ba" -> "a3b", "dc" -> "c3d"}, {}, {}, {}}, 
{"g64227", {28, 4, 12, 20, 36, 2496}, 
            86, "co[K,P16i,2]", {}, {}, {}, {}, {}}, 
{"g64228", {20, 4, 12, 28, 44, 2496}, 
            88, "co[C4,P16i,-2]", {}, {}, {}, {}, {}}, 
{"g64229", {20, 4, 12, 28, 44, 2496}, 
            88, "co[D4,D4,4]", {}, {}, {}, {}, {}}, 
{"Q8D4", {12, 4, 12, 36, 52, 2496}, 
            0, "co[Q8,D4]", {2, 2, 2, 4, 
              2}, {"aa" -> "c", "bb" -> "c", "ba" -> "abc", "ed" -> "d3e"}, {}, {}, {}}, 

{"g64231", {28, 4, 12, 20, 36, 
              2496}, 86, "co[Q8,D4,4]", {}, {}, {}, {}, {}}, 
{"g64232", {20, 12\_2, 20, 44, 2496}, 
            89, "ca[]", {}, {}, {}, {}, {}}, 
{"g64233?", {12, 12, 20\_2, 52, 2496}, 
            0, "ca[]", {}, {}, {}, {}, {}}, 
{"g64234?", {20, 12\_2, 20, 44, 2496}, 
            89, "ca[]", {}, {}, {}, {}, {}}, 
{"g64235", {12, 4, 20, 28, 52, 2496}, 
            0, "co[D4,Q8,4]", {}, {}, {2, 4, 5, 
              11}, {}, {}}, 
{"g64236?", {20, 12\_2, 
              20, 44, 2496}, 
            89, "ca[]", {}, {}, {}, {}, {}}, 
{"g64237?", {12, 12, 20\_2, 52, 2496}, 
            0, "ca[]", {}, {}, {}, {}, {}}, {"Q8pQ8", {4, 12, 20, 28, 
              60, 2496}, 
            0, "co[Q8,Q8,4]", {}, {}, {}, {}, {}}, {"Q8Q8", {4, 
              12\_2, 36, 60, 2496}, 
            0, "co[Q8,Q8]", {2, 2, 2, 2, 2, 
              2}, {"aa" -> "c", "bb" -> "c", "ba" -> "abc", "dd" -> "f", "ee" -> "f", "ed" -> "def"}, {}, {}, {}}, 
{"g64240", {20, 12\_2, 20, 44, 2496}, 
            89, "ca[]", {}, {}, {}, {}, {}}, 

{"g64241", {28, 12\_3, 36, 2880}, 
            90, "ca[]", {}, {}, {}, {}, {}}, {"g64242", {28, 12\_3, 
              36, 2880}, 
            90, "ca[]", {}, {}, {}, {}, {}}, {"g64243", {20, 4, 
              20\_2, 44, 2880}, 
            0, "ca[]", {}, {}, {}, {}, {}}, {"g64244", {12, 12\_2, 
              28, 52, 2880}, 
            0, "ca[]", {}, {}, {}, {}, {}}, 
{"g64245", {4, 20\_3, 60, 2880}, 
            0, "ca[]", {}, {}, {}, {}, {}}, 
{"g64246", {16. , 16\_3, 32, 0}, 
            0, "co[C8,K,C2,1]", {2, 2, 2, 8}, {}, {2, 6, 8, 
              22}, {}, {}}, 
{"g64247", {16, 16\_3, 32, 
              1536}, 91, "ca[]", {}, {}, {}, {}, {}}, {"g64248", {16, 
              16\_3, 32, 1536}, 
            91, "co[C2,C8,K,4]", {8, 2, 2, 
              2}, {"ba" -> "a5b"}, {}, {}, {}}, {"g64249", {16, 16\_3, 32, 1920}, 
            0, "ca[]", {}, {}, {}, {}, {}}, 
{"g64250?", {40, 8\_3, 39, 2304}, 
            82, "co[C2,D4,K,2]", {8, 2, 2, 
              2}, {"ba" -> "a7b"}, {}, {}, {}}, 

{"g64251", {24, 8\_2, 24, 24, 
              2304}, 92, "ca[]", {}, {}, {}, {}, {}}, 
{"g64252", {8, 8\_2, 40, 40, 2304}, 
            0, "co[ca[16,7],K]", {2, 2, 2, 2, 2, 
              2}, {"aa" -> "c", "bb" -> "c", "dd" -> "c", "ba" -> "abc", "da" -> "abd", "db" -> "bcd"}, {}, {}, {}}, 
{"g64253", {24, 8\_2, 24, 24, 2304}, 
            92, "co[C2,Q8,K,2]", {8, 2, 2, 
              2}, {"ba" -> "a3b"}, {}, {}, {}}, {"g64254", {32, 8\_2, 16, 31, 2688}, 
            93, "ca[]", {8, 2, 2, 
              2}, {"ba" -> "a3b", "ca" -> "a5c"}, {}, {}, {}}, {"g64255", {16, 8\_2, 32, 32, 2688}, 
            95, "ca[]", {2, 2, 2, 2, 2, 
              2}, {"aa" -> "e", "bb" -> "e", "cc" -> "e", "dd" -> "e", "ba" -> "abe", "ca" -> "abc", "cb" -> "bce", "dc" -> "cde"}, {}, {}, {}}, {"g64256", {24, 8\_2, 24, 24, 2688}, 
            94, "ca[]", {}, {}, {}, {}, {}}, {"g64257", {32, 8\_2, 
              16, 31, 2688}, 
            93, "ca[]", {}, {}, {}, {}, {}}, {"g64258", {24, 8\_2, 
              24, 24, 2688}, 
            94, "ca[]", {}, {}, {}, {}, {}}, {"g64259", {16, 8\_2, 
              32, 32, 2688}, 
            95, "ca[]", {}, {}, {}, {}, {}}, {"g64260", {32. , 32, 
              32, 0}, 0, "co[C4C2,KC2]", {2, 2, 2, 2, 4}, {}, {1, 2, 6, 
              8, 16}, {}, {}}, 

{"g64261", {48, 16, 47, 1536}, 
            0, "co[D4,KC2]", {4, 2, 2, 2, 
              2}, {"ba" -> "a3b"}, {1, 3, 6, 8, 
              9}, {}, {}}, 
{"g64262", {16, 48, 48, 
              1536}, 0, "co[Q8,KC2]", {2, 2, 2, 2, 2, 
              2}, {"aa" -> "c", "bb" -> "c", "ba" -> "abc"}, {}, {}, {}}, 
{"g64263", {32, 32, 32, 1536}, 
            0, "co[co[P4,C4],K]", {2, 2, 2, 2, 2, 
              2}, {"aa" -> "e", "fd" -> "def"}, {2, 
              3, 4, 6, 8}, {1, 2, 3, 15, 
              36}, {}}, 
{"CL32C2", {40, 24, 39, 1920}, 
            0, "co[cl[3,2],C2]", {2, 2, 2, 2, 2, 
              2}, {"ba" -> "abc", "ed" -> "cde"}, {}, {}, {}}, 
{"CL5C2", {24, 40, 40, 1920}, 
            0, "co[cl[5],C2]", {2, 2, 2, 2, 2, 
              2}, {"ba" -> "abe", "ca" -> "ace", "cb" -> "bce", "da" -> "ade", "db" -> "bde", "dc" -> "cde"}, {}, {}, {}}, 
{"CL41C2", {32, 32, 32, 1920}, 
            0, "co[cl[4,1],C2]", {2, 2, 2, 2, 2, 
              2}, {"aa" -> "e", "cb" -> "bce", "fd" -> "def"}, {}, {}, {}}, {"KKK", {64. , 63, 0}, 
            0, "co[K,K,K,1]", {}, {}, {}, {}, {}}, {"CL6", {\(-36\), 
              28, 36, 2016}, 
            0, "cl[6]", {}, {}, {}, {}, {}}, {"OctC4", {4, 4, 28\_2, 
              60, 2688}, 
            0, "co[Oct,C4]", {}, {}, {}, {}, {}}, {"OctiC4n", {4, 
              4\_2, 8\_3, 28, 36, 3008}, 
            0, "co[Oct,C4,2]", {}, {}, {}, {}, {}}, {"OctK", {8, 56, 
              56, 2688}, 
            0, "co[Oct,K]", {}, {}, {}, {}, {}}, {"OctiKn", {12, 
              4\_2, 8\_2, 28, 28, 3008}, 
            0, "co[Oct,K,2]", {}, {}, {}, {}, {}}};\)\)

loop[[65]] = {{"g6501", {1. , (Subscript[1, 64])}, 
            0, "ca[65]", {13, 
              5}, {}, {}, {}, {}}};
\(\(loop[\([66]\)] = {{"g6601", {4, 1\_22, 4\_10}, 
            0, "ca[66,23]", {3, 2, 
              11}, {"ba" -> "a2b"}, {}, {}, {}}, {"g6602", {12, 1\_30, 12\_2}, 
            0, "ca[66,43]", {11, 2, 
              3}, {"ba" -> "a10b"}, {}, {}, {}}, {"D33", {34, 1\_32}, 
            0, "ca[66,65]", {33, 
              2}, {"ba" -> "a32b"}, {}, {}, {}}, {"g6604", {2. , 2\_32}, 
            0, "ca[66]", {66}, {}, {}, {}, {}}};\)\)
loop[[67]] = {{"C67", {1. , (Subscript[1, 66])}, 
            0, "ca[67]", {67}, {}, {}, {}, {}}};
\(\(loop[\([68]\)] = {{"Q68", {2, 2\_16, 34}, 
            0, "ca[68,33]", {17, 
              4}, {"ba" -> "a16b"}, {}, {}, {}}, {"C68", {2. , 2\_33}, 
            0, "ca[68]", {68}, {}, {}, {}, {}}, 
{"g6803", {18, 1\_16, 2\_17}, 
            0, "ca[]", {}, {}, {}, {}, {}}, {"D34", {36, 2\_16}, 
            0, "ca[68,67]", {34, 
              2}, {"ba" -> "a33b"}, {}, {}, {}}, {"C17K", {4. , 4\_16}, 
            0, "ca[68,35]", {17, 2, 
              2}, {}, {}, {}, {}}};\)\)
loop[[69]] = {{"g6901", {1. , (Subscript[1, 68])}, 
            0, "ca[69]", {69}, {}, {}, {}, {}}};
\(\(loop[\([70]\)] = {{"g7001", {6, 1\_28, 6\_6}, 
            0, "ca[70,29]", {}, {}, {}, {}, {}}, {"g7002", {8, 1\_30, 
              8\_4}, 0, "ca[70,41]", {}, {}, {}, {}, {}}, 
{"D35", {36, 1\_34}, 
            0, "ca[70,69]", {}, {}, {3, 18, 21}, {2, 16, 
              24}, {}}, 
{"C70", {2. , 2\_34}, 
            0, "ca[70]", {70}, {}, {\(-18\), 21}, {16, 30}, {20, 
              25}}};\)\)
loop[[71]] = {{"C71", {1. , (Subscript[1, 70])}, 
            0, "ca[71]", {}, {}, {}, {}, {}}};

loop[[72]]={{"g7201", {2, (Subscript[2, 17]), (Subscript[18, 2]), 1}, 
              0, "ca[72,53]", {}, {}, {23, 35}, {26, 28}, {}},
{"C72", {2. , (Subscript[2, 35]), 1}, 
              0, "ca[72]", {9, 8}, {}, {22, 23}, {25, 33}, {22, 23}},
{"g7203", {2, (Subscript[2, 26]), (Subscript[6, 3]), 1}, 
              0, "ca[]", {}, {}, {}, {}, {}},
{"Q72", {2, (Subscript[2, 16]), 38, 1}, 
              0, "ca[72,35]", {}, {}, {13, 14, 23}, {}, {}},
{"D9C4", {20, (Subscript[2, 16]), 20, 1}, 
              0, "co[ca[18,17],C4,2]", {9, 2, 
                4}, {"ba" -> "a8b"}, {3, 12, 23}, {}, {}},
{"D36", {38, (Subscript[2, 17]), 1}, 
              0, "ca[72,71]", {36, 2}, {"ba" -> "a35b"}, {3, 4, 
                23}, {2, 15, 28}, {}},
{"Q36C2", {4, (Subscript[4, 8]), 36, 1}, 
              0, "co[ca[36,17],C2]", {9, 4, 
                2}, {"ba" -> "a8b"}, {6, 13, 23}, {}, {}},{"KnD9", {22, (Subscript[4, 8]), 18, 1}, 
              0, "co[ca[36,17],C2,2]", {18, 2, 
                2}, {"ba" -> "a17bc"}, {2, 3, 23}, {}, {}},
{"C9C4C2", {4. , (Subscript[4, 17]), 1}, 
              0, "co[ca[36],C2]", {9, 4, 2}, {}, {7, 12}, {15, 
                31}, {12, -23}},
{"D4C9", {6, (Subscript[2, 9]), (Subscript[6, 8]), 1}, 
              0, "ca[72,7]", {4, 2, 9}, {"ba" -> "a3b"}, {2, 
                7}, {3, 5, 33}, {}},

\({"Q8C9", {2, 2\_8, 6\_9, 1}, 
              0, "ca[72,19]", {2, 2, 2, 
                9}, {"aa" -> "c", "bb" -> "c", "ba" -> "abc"}, {}, {}, {}}\),{"g7212", {2, (Subscript[2, 17]), (Subscript[6, 6]), 4}, 
              0, "co[ca[3],ca[8],ca[3],3]", {3, 
                24}, {"ba" -> "a2b"}, {29, 33}, {8, 25}, {8, 
                21}},\({\*""(C3^2)nC8"", {2, 2\_17, 18\_2, 4}, 
              0, "co[C3,ca[24,5],2]", {3\ , 3, \ 
                8}, {"cb" -> "bbc", "ca" -> "aac"}, {}, {8, 26, 32}, {}}\),\({\*""\!\(C8C3\^2\)"", {2. , 2\_35, 4}, 
              0, "co[ca[24],C3]", {8, 3, 3}, {}, {10, 11, 22}, {8, 12, 
                27}, {8, 11, 22}}\),
{"g7215", {22, (Subscript[1, 24]), (Subscript[4, 2]), (Subscript[6, 3]), 
                1}, 0, "ca[]", {}, {}, {}, {}, {}},
{"g3603C2", {8, (Subscript[2, 24]), (Subscript[8, 2]), 1}, 
              0, "ca[]", {}, {}, {}, {}, {}},
{"D9K", {40, (Subscript[4, 8]), 1}, 
              0, "co[ca[18,17],K]", {9, 2, 2, 
                2}, {"ba" -> "a8b"}, {3, 6, -23}, {2, 3, 
                31}, {}},
{"C9(C2^3)",{8. , (Subscript[8, 8]), 1},0,"co[C2,ca[36,19]]",{9, 2, 2, 2},{},{2, 6, -23},{},{1, 5, 6, 23}},
\({"g7219", {2, 2\_26, 18, 4}, 
              0, "ca[]", {8, 3, 
                3}, {"ba" -> "acc", "ca" -> "ab"}, {}, {}, {}}\),\({"Q12D3", {8, 2\_6, 6\_2, 8\_2, 24, 4}, 
              0, "co[ca[12,5],D3]", {3, 2, 3, 
                4}, {"ba" -> "a2b", "dc" -> "ccd"}, {}, {}, {16, 27}}\),

{"g7221", {20, (Subscript[2, 8]), (Subscript[6, 4]), 12, 4}, 
              0, "co[C3,co[ca[6,5],C4,2],2]", {}, {}, {}, {}, {4, 27}},
{"g7222", {14, (Subscript[2, 4]), (Subscript[8, 4]), 18, 
                4}, 0, "ca[]", {}, {}, {}, {}, {7, 8, 16}},\({"Q12nD3", {26, 2\_6, 6\_3, 8\_2, 4}, 
              0, "co[ca[12,5],D3,2]", {12, 3, 
                2}, {"ba" -> "abb", "ca" -> "a11c"}, {}, {}, {4, 7, 8}}\),
{"g7224", {2, (Subscript[2, 8]), (Subscript[6, 4]), 30, 4}, 
              0, "ca[]", {}, {}, {}, {}, {8, 15, 16}},
{"SL23C3", {2, (Subscript[2, 26]), (Subscript[6, 3]), 13}, 
              0, "co[SL23,C3]", {}, {}, {}, {}, {}},
\({"Q24C3", {2, 2\_14, 14\_3, 4}, 
              0, "co[ca[24,11],C3]", {3, 2, 2, 2, 
                3}, {"ba" -> "a2b", "bb" -> "d", "cc" -> "d", "cb" -> "bcd"}, {}, {8, 13, 14}, {8, 
                14, 30}}\),
{"D3C3C4", {8, (Subscript[2, 12]), (Subscript[8, 5]), 4}, 
              0, "co[D3,C3,C4,1]", {3, 6, 
                4}, {"ba" -> "a2b"}, {13, 32}, {7, 46}, {}},{"C4nD3C3", {14, (Subscript[2, 15]), (Subscript[14, 2]), 4}, 
              0, "co[co[C4,D3,2],C3]", {12, 2, 
                3}, {"ba" -> "a11b"}, {3, 32}, {8, 15, 19}, {8, 
                39, 40}},
{"Q12C3C2", {4, (Subscript[4, 8]), (Subscript[12, 3]), 4}, 
              0, "co[ca[12,5],C3C2]", {6, 4, 
                3}, {"ba" -> "a5b"}, {}, {13, 18}, {15, 19}},
{"g7230", {10, (Subscript[4, 6]), (Subscript[6, 3]), (Subscript[10, 2]), 
                4}, 0, "co[ca[12,7],ca[6],2]", {6, 2, 2, 
                3}, {"ba" -> "a5bc"}, {14, 32}, {3, 5, 8}, {2, 
                19}},
{"C3nQ24", {2, (Subscript[2, 16]), 38, 4}, 
              0, "co[C3,ca[24,11],2]", {}, {}, {11, 13, 15}, {}, {}},\({"E18C4", {20, 2\_16, 20, 4}, 
              0, "co[co[C3,ca[6,5],2],C4]", {2, 3, 3, 
                4}, {"ba" -> "abb", "ca" -> "acc"}, {3, 11, 15}, {}, {}}\),\({"C12nD3", {38, 2\_17, 4}, 
              0, "co[ca[12],ca[6,5],2]", {3, 12, 
                2}, {"cb" -> "b11c", "ca" -> "aac"}, {3, 5, 11}, {2, 8, 15, 32}, {}}\),\({"C6nQ12", {4, 4\_8, 36, 4}, 
              0, "co[ca[6],ca[12,5],2]", {3, 4, 3, 
                2}, {"ba" -> "a2b", "cb" -> "bcc"}, {10, 13, 19}, {1, 8, 18, 32, 36}, {}}\),{"g7235", {22, (Subscript[4, 8]), 18, 4}, 
              0, "co[ca[12,7],ca[6,5],2]", {}, {}, {3, 11, 20}, {}, {}},
{"g7236", {4. , (Subscript[4, 17]), 4}, 
              0, "ca[]", {4, 3, 3, 2}, {}, {10, 12, 19}, {8, 15, 17}, {8, 
                12, 19}},
{"D4C3C3", {6, (Subscript[2, 9]), (Subscript[6, 8]), 4}, 
              0, "co[C3,ca[24,7]]", {4, 2, 3, 
                3}, {"ba" -> "a3b"}, {}, {}, {}},\({"Q8C3C3", {2, 2\_8, 6\_9, 4}, 
              0, "co[ca[24,19],C3]", {2, 2, 2, 3, 
                3}, {"aa" -> "c", "bb" -> "c", "ba" -> "abc"}, {}, {}, {}}\),
{"g7239", {10, (Subscript[1, 8]), (Subscript[2, 27]), a_}, 
              0, "ca[]", {}, {}, {}, {}, {}},
{"P72", {22, (Subscript[2, 9]), (Subscript[4, 8]), 4}, 
              0, "ca[]", {}, {}, {}, {}, {2, 7, 8}},

{"g7241", {10, (Subscript[1, 8]), (Subscript[6, 9]), a_}, 
              0, "ca[]", {}, {}, {}, {}, {}},
\({"S4C3", {10, 1\_24, 2\_9, 10\_2, 
                13}, 0, "co[sgroup[4],C3]", {3, 2, 2, 2, 
                3}, {"ba" -> "abc", "ca" -> "ab", "da" -> "a2d", "db" -> "cd", "dc" -> "bd"}, {}, {9, 13}, {3, 10}}\),
{"g7243", {22, (Subscript[1, 24]), (Subscript[4, 2]), (Subscript[6, 3]), 
                a_}, 0, "ca[]", {}, {}, {}, {}, {}},
{"A4D3", {16, (Subscript[1, 16]), (Subscript[4, 10]), 13}, 
              0, "co[A4a,ca[6,5]]", {3, 2, 2, 3, 
                2}, {"ba" -> "abc", "ca" -> "ab", "\
ed" -> "dde"}, {}, {}, {}},\({"g7245", {20, 2\_8, 4\_9, 4}, 
              0, "ca[]", {4, 3, 3, 
                2}, {"ba" -> "acc", "ca" -> "ab"}, {}, {}, {\(-8\), 13}}\),
\({\*""(D3^2)C2"", {32, 2\_4, 
                8\_4, 4}, 
              0, "co[co[ca[6,5],ca[6,5]],C2]", {3, 2, 3, 2, 
                2}, {"ba" -> "a2b", "dc" -> "ccd"}, {}, {}, {}}\),
\({"A4C6", {8, 2\_24, 8\_2, 13}, 
              0, "co[A4a,ca[6]]", {3, 2, 2, 3, 
                2}, {"ca" -> "ab", "ba" -> "abc"}, {}, {9, 21}, {5, 10, 11}}\),{"g7248", {16, (Subscript[4, 6]), (Subscript[16, 2]), 4}, 
              0, "co[ca[6],ca[12,7],2]", {6, 2, 3, 
                2}, {"ba" -> "a5b"}, {}, {2, 18, 22}, {5, 7, 
                19}},
\({"E18K", {40, 4\_8, 4}, 
              0, "co[co[C3,ca[6,5],2],K]", {2, 3, 3, 2, 
                2}, {"ba" -> "abb", "ca" -> "acc"}, {\(-4\), 5, 19}, {2, 3, 18, 32}, {}}\),
\({\*""(C3^2)(C2^3)"", {8. , 8\_8, 4}, 0, "co[C3C3,K,C2,1]", {3, 3, 2, 2, 2}, {}, {1, 19, 20}, {3, 
                18, 22}, {1, \(-8\), 19}}\)};

loop[[73]] = {{"C73", {1. , (Subscript[1, 72])}, 
          0, "ca[73]", {}, {}, {}, {}, {}}}; 
    loop[[74]] = {{"D34", {38, (Subscript[1, 36])}, 
          0, "ca[74,73]", {}, {}, {}, {}, {}}};
{"C74", {2. , (Subscript[2, 36])}, 
        0, "ca[74]", {}, {}, {}, {}, {}};
\(loop[\([75]\)] = {{"C3C25", {1. , 1\_74}, 
          4, "co[ca[5],ca[5],C3,1]", {}, {}, {}, {}, {}}, 
{"C75", {1. , 1\_74}, 
          4, "ca[75]", {}, {}, {}, {}, {}}}; 
    loop[\([80]\)] = {{"OctC5", {2, 2\_4, 14\_5}, 
          0, "co[Oct,C5]", {}, {}, {}, {}, {}}, {"OctC5n", {10, 70}, 
          0, "co[Oct,C5n]", {}, {}, {}, {}, {}}, {"OctiC5n", {2, 
            2\_6, 4\_6, 14\_3}, 
          0, "co[Oct,C5,2]", {}, {}, {}, {}, {}}};\)
\(\(loop[\([96]\)] = {{"P48C2?", {32, 8\_4, 32}, 
            0, "co[co[C3,P16a,2],C2]", {3, 2, 2, 2, 2, 
              2}, {"ba" -> "a2b", "ca" -> "aac", "cb" -> "bce", "db" -> "bde", "dc" -> "cde"}, {}, {}, {}}};\)\)
loop[[104]] = {{"g104003", {2, (Subscript[2, 38]), 26}, 
            0, "ca[]", {13, 
              8}, {"ba" -> "a5b"}, {}, {}, {}}};
\(\(loop[\([120]\)] = {{"S5", {26, 1\_24, 2\_35}, 
            0, "sgroup[5]", {}, {}, {}, {}, {}}, {"SL25", {2, 2\_44, 
              30}, 0, "pe[{{1,3,5,7,9,6,12,14,15,17,19,8,11,4,2,13,23,18,22,24,21,16,20,10},
{2,4,6,8,10,11,13,3,16,18,20,21,22,23,5,9,19,7,1,17,24,12,14,15}},120]", {}, {}, {}, {}, {}}};\)\)
\(loop[\([144]\)] = {{"P144?", {52, 4\_4, 6\_4, 10\_4, 12}, 
          0, "ca[]", {}, {}, {}, {}, {}}}; 
    loop[\([168]\)] = {{"SL32?", {22, 1\_104, 2\_21}, 
          0, "ca[]", {}, {}, {}, {}, {}}}; 
    loop[\([256]\)] = {{"CL8", {\(-120\), 136, 32512}, 
          0, "cl[8]", {}, {}, {}, {}, {}}, 
{"OctOctn", {4, 28\_2, 196}, 
          0, "co[Oct,Oct]", {}, {}, {}, {}, {}}, 
{"OctiOctn", {4, 16\_2, 28, 32\_2, 44, 84}, 
          0, "co[Oct,Oct,2]", {}, {}, {}, {}, {}}}; 
    loop[\([257]\)] = {{"Unrecognised", {}, 
          0, "Unrecognised", {}, {}, {}, {}, {}}};\)

8.6 Creating Polar-Vector & Hyperbolic functions.

Standard Rules for toPol,  toVec,  toHyPol & toHyVec synthesis.
1. Sum of 2 squares  (a1^2)= (((a1 ± a2+ .. ))^2), (b1^2)=(((b1 ± b2+ .. ))^2);  s2=a1+b1,
Include s2 in the toPol output, followed by θ=If[b1==0,If[a1==0,π,0],ArcTan[a1,b1]]
In toVec, calculate s= m(Sqrt[s2]), where m is the required weighting.
Set up the result list, with an entry for each of {a1,a2,..b1,b2,..}, divided by mm, the number of elements. Add ±s Cos[θ] wherever ±ai occurs, ±s Sin[θ] wherever ±bi occurs.
2. Sum of 3 squares
(a1^2)= (((a ± b+ .. ))^2), (b1^2)=(((h ± i+ .. ))^2), \(TraditionalForm\`c1\^2 = \((\(\(p ± q\)\(+\)\) .. )\)\^2\), s3=(a1+b1+c1)/2.
They all have the 2 divisor. Include s3, followed by θ =If[b1=0, 0, ArcTan[a1-c1, -(Sqrt[3]) b1]]. Start toVec in the same way, but add ±s Cos[θ] wherever ±ai occurs, ±s Cos[θ+2π/3] wherever ±bi occurs, ±s Cos[θ-2π/3] wherever ±ci occurs.
3. Difference of 2 squares  (a1^2)= (((a1 ± a2+ .. ))^2), (b1^2)=(((b1 ± b2+ .. ))^2); s2=a1-b1,
Include s2 in the toHyPol output, followed by θ=If[b1==0,If[a1==0,π,0], arcTanh[a1,b1]]. Note that this must be my 2-argument version, NOT ArcTanh[ai/b1].
In toVec, calculate s= m(Sqrt[s2]), where m is the required weighting.
Set up the result list, with an entry for each of {a1,a2,..b1,b2,..}, divided by mm, the number of elements. Add ±s Cosh[θ] wherever ±ai occurs, ±s Sinh[θ] wherever ±bi occurs.

8.7 Shapes, Polar-Vector, Hyperbolics, sh, toPol, toVec, tohyPol, tohyVec for 2, 3, & 4 element loops.

sh["C2"] := 
      Module[{}, gi = {1, 2, 1, 1}; gp = {1, 1}; 
        plex = {a, -b}; {a - b, a + b}]
toPol[{x_, y_}, "C2"] := {x - y, x + y}
toVec[{x_, y_}, "C2"] := {x + y, y - x}/2
tohyPol[{a_, b_}, "C2"] := 
      Chop[{(a^2) - (b^2), arcTanh[a, b]}]
tohyVec[{uu_, ϕ_}, "C2"] := 
      Chop[(Sqrt[uu]) {Cosh[ϕ], Sinh[ϕ]}]

sh["C4c"] := 
      Module[{}, gi = {1, -2, 1}; gp = {1, 0. }; 
        plex = {a, -b}; {-(a^2) - (b^2)}]
toPol[{a_, b_}, "C4c"] := {(a^2) + (b^2), 
        ArcTan[a, b]}
toVec[{x_, y_}, "C4c"] := {(Sqrt[x]) Cos[y], (Sqrt[x]) Sin[y]}

sh["C3"] := 
      Module[{}, gi = {1, 3, 2, 1, 1}; gp = {1, 1, 0. }; 
        plex = {a, c, b}; 
  {a + b + 
            c, ((a - b)^2 + (b - c)^2 + (c - a)^2)/
            2}]
toPol[{a_, b_, c_}, "C3"] := {a + b + 
          c, ((a - b)^2 + (b - c)^2 + (c - a)^2)/
          2, 
ArcTan[
          2*a - b - c, -Sqrt[3]*(b - c)]}
toVec[{α_, rr_, θ_}, "C3"] := 
      Chop[{α + 2*Sqrt[rr]*Cos[θ], α + 
              2*Sqrt[rr]*
                Cos[θ + 2*Pi/3], 
α + 
              2*Sqrt[rr]*Cos[θ - 2*Pi/3]}/3]

sh["C3C2c"] := 
      Module[{}, gi = {1, -3, -2, 1, 1}; gp = {1, 1, 0. }; 
        plex = {a, -c, -b}; {a - b + 
            c, ((a + b)^2 + (b + c)^2 + (c - a)^2)/2}]; 
    toPol[{a_, b_, c_}, "C3C2c"] := {a - b + 
          c, ((a + b)^2 + (b + c)^2 + (c - a)^2)/
          2, 
ArcTan[
          2*a + b - c, -Sqrt[3]*(b + c)]};
toVec[{α_, rr_, θ_}, "C3C2c"] := 
        Chop[{α + 2*Sqrt[rr]*Cos[θ], -α - 
                2*Sqrt[rr]*
                  Cos[θ - 2*Pi/3], 
α + 
                2*Sqrt[rr]*Cos[θ + 2*Pi/3]}/
            3];
\(\(sh["C12c"] := 
        Module[{}, gi = {1, 3\ I, 2\ I, 1, 1}; 
          gp = {1, 1, 0. }; 
          plex =. ; {a + I\ b - 
              c, \ \((\((a - I\ b)\)\^2 + \((a + c)\)\^2 + \((I\ b + c)\)\^2)\)/2}];\)\)
\(toPol[{a_, b_, c_}, "C12c"] := {a + I\ b - 
          c, \ \((\((a - I\ b)\)\^2 + \((a + c)\)\^2 + \((I\ b + c)\)\^2)\)/2, 
ArcTan[
          2*a - I\ b + c, 
          Sqrt[3]*\((I\ b + c)\)]}\)
\(\(toVec[{α_, rr_, θ_}, "C12c"] := 
        Chop[{α + 
                2*Sqrt[rr]*
                  Cos[θ], 
\(-I\) \((α + 2*Sqrt[rr]*Cos[θ - 2*Pi/3])\), \(-\((α + 
                    2*Sqrt[rr]*Cos[θ + 2*Pi/3])\)\)}/
            3];\)\)
\(\(sh["C3i"] := 
        Module[{}, 
          gi = {1, \(-3\)\ I, \(-2\)\ I, 1, 1}; 
          gp = {1, 1, 0. }; 
          plex =. ; {a - I\ b - 
              c, \ \((\((a + I\ b)\)\^2 + \((I\ b - c)\)\^2 + \((c + a)\)\^2)\)/2}];\)\)
\(toPol[{a_, b_, c_}, "C3i"] := {a - I\ b - 
          c, \ \((\((a + I\ b)\)\^2 + \((I\ b - c)\)\^2 + \((c + a)\)\^2)\)/2, 
ArcTan[
          2*a + I\ b + c, 
          Sqrt[3]*\((\(-I\)\ b + 
                c)\)]}\)
toVec[{α_, 
          rr_, θ_}, "C3i"] := 
Chop[{α + 
              2*Sqrt[rr]*
                Cos[θ], I (α + 
                  2*Sqrt[rr]*Cos[θ - 2*Pi/3]), -(α + 
                  2*Sqrt[rr]*Cos[θ + 2*Pi/3])}/
          3]
\(\(sh["C4C3c"] := 
        Module[{}, gi = {1, \(-3\), \(-2\), 1, 1}; gp == {1, 1, 0. }; 
          plex =. ; {a + I\ b + I\ c, \((\((a - I\ b)\)^2 + \((a - I\ c)\)^2 - \((b - c)\)^2)\)/
              2}];\)\)
\(toPol[{a_, b_, c_}, "C4C3c"] := {a - I\ b - 
          c, \ \((\((a + I\ b)\)\^2 + \((I\ b - c)\)\^2 + \((c + a)\)\^2)\)/2, 
ArcTan[
          2*a + I\ b + c, 
          Sqrt[3]*\((\(-I\)\ b + 
                c)\)]}\)
toVec[{α_, rr_, θ_}, "C4C3c"] := 
      Chop[{α + 
              2*Sqrt[rr]*
                Cos[θ], I (α + 
                  2*Sqrt[rr]*Cos[θ - 2*Pi/3]), -(α + 
                  2*Sqrt[rr]*Cos[θ + 2*Pi/3])}/3]

sh["C9j"] := 
        Module[{}, gi = {1, 3, 2, 1}; gp = {}; 
          plex =. ; {(a^3) + (b^3) (𝕁^2) + 
              (c^3) 𝕁  - 
              3 a b c}];
\(\(sh["C3C3j"] := 
        Module[{}, 
          gi = {1, 3  𝕁\^2, 
              2  𝕁\^2, 1, 1}; gp = {}; 
          plex =. ; {\((a + b\ 𝕁\^2 + 
                c\ 𝕁\^2)\), \((\((a - 
                        b\ \ 𝕁\^2)\)^2 + \((b\ 𝕁\^2 - 
                        c\ 𝕁\^2)\)^2 + \((c\ 𝕁\^2 - a)\)^2)\)/2}];\)\)
sh["C9J"] := 
        Module[{}, 
          gi = {1, 3  𝕁^2, 
              2  𝕁^2, 1}; gp = {}; 
          plex =. ; {(a^3) + (b^3) 𝕁 + 
              (c^3) (𝕁^2) - 
              3 a b c 𝕁}];

sh["C4"] := 
      Module[{}, gi = {1, 4, 3, 2, 1, 1, 1}; 
        gp = {1, 1, 1, 0. }; 
plex = {a,  -b,  
            c, - d}; {a + b + c + d, 
          a - b + c - 
            d, (((a - c))^2) + (((b - d))^2)}
  ]
toPol[{a_, b_, c_, d_}, "C4"] := {a + b + c + d, 
        a - b + c - 
          d, (((a - c))^2) + (((b - d))^2), 
ArcTan[
          a - c, b - d]}
\(toVec[{α_, β_, ϵϵ_, σ_}, "C4"] := {α + β + 
            2*Sqrt[ϵϵ]*Cos[σ], α - β + 
            2*Sqrt[ϵϵ]*Sin[σ], α + β - 
            2*Sqrt[ϵϵ]*
              Cos[σ], 
α - β - 
            2*Sqrt[ϵϵ]*Sin[σ]}/
        4\)
tohyPol[{a_, b_, c_, d_}, "C4"] := 
      Chop[{(a + c)^2 - (b + d)^2, 
          arcTanh[a + c, b + d], (a - c)^2 + (b - d)^2, 
          ArcTan[a - c, b - d]}]
tohyVec[{uu_, ϕ_, rr_, θ_}, "C4"] := 
      Module[{r = Sqrt[rr], u = Sqrt[uu]}, 
        Chop[r*{Cos[θ], 
                  Sin[θ], -Cos[θ], -Sin[θ]}/2 + 
            u*{Cosh[ϕ], Sinh[ϕ], Cosh[ϕ], Sinh[ϕ]}/
                2]]

sh["K"] := 
      Module[{}, gi = {1, 2, 3, 4, 1, 1, 1, 1}; gp = {1, 1, 1, 1}; 
        plex = {a, - b,  -c, d}; 
{a + b - c - d, 
          a - b + c - d, a - b - c + d, 
          a + b + c + d}  ]
toPol[{a_, b_, c_, d_}, "K"] := {a + b - c - d, a - b + c - d, 
          a - b - c + d, a + b + c + d};
toVec[{o1_, o2_, o3_, o4_}, "K"] := {o1 + o2 + o3 + o4, 
          o1 - o2 - o3 + o4, -o1 + o2 - o3 + o4, -o1 - o2 + o3 + o4}/
        4
tohyPol[{a_, b_, c_, d_}, "K"] := 
      Chop[{(a + c)^2 - (b + d)^2, 
          arcTanh[a + c, 
            b + d], 
(a - c)^2 - (b - d)^2, 
          arcTanh[a - c, b - d]}]
tohyVec[{uu_, ϕ_, vv_, ψ_}, "K"] := 
      Module[{v = Sqrt[vv], u = Sqrt[uu]}, 
Chop[
          v*{Cosh[ψ], 
                  Sinh[ψ], -Cosh[ψ], -Sinh[ψ]}/2 + 
            u*{Cosh[ϕ], Sinh[ϕ], Cosh[ϕ], Sinh[ϕ]}/
                2]]

sh["Qr"]   := 
        Module[{}, gi = {1, -2, -3, -4, 2}; 
          gp = {1, 0. , 1, 0. }; 
          plex = {a, - b,  -c, -d}; {(a^2) + (b^2) + (c^2) + 
              (d^2)}]
toPol[{a_, b_, c_, d_}, "Qr"]:={(a^2) + (b^2) + (c^2) + (d^2),ArcTan[a, b],(c^2) + (d^2),ArcTan[c, d]} 
\(toVec[{rr_, ρ_, 
            ss_, σ_}, "Qr"] := {\@\(rr - ss\)\ Cos[ρ], \@\(rr - ss\)\ Sin[ρ], \@ss\ Cos[σ], \@ss\ Sin[σ]}\)
sh["C8c"] := 
        Module[{}, 
          gi = {1, -4, -3, -2, 1, 1};  {(a^2) + (b^2) + (c^2) + 
              (d^2) + (Sqrt[2]) (a b + b c - a d + c d), 
            (a^2) + (b^2) + (c^2) + 
              (d^2) - (Sqrt[2]) (a b + b c - a d + 
                    c d)}  ]

sh["P4"]  := Module[{}, gi = {1, 2, 3, 4, 2}; gp = {1, 0. , 1, 0. }; 
          plex = {a, - b,  -c, -d}; { 
            (a^2) - (b^2) - (c^2) - (d^2)}]
toPol[{a_, b_, c_, d_}, "P4"]:=Module[{r = √(((((b - c))^2) + (((c - d))^2) + (((d - b))^2))/2)},{r,ArcTan[a/r],(b + c + d)/3,If[c == d,0,ArcTan[2  b - c - d, -(Sqrt[3]) (c - d)]]} ];
toVec[{r_, σ_, 
              s_, θ_}, "P4"] := {r Tan[σ], 
            s + 2*r*Cos[θ]/3, 
            s + 2*r*Cos[θ + 2*Pi/3]/3, 
s + 
              2*r*Cos[θ + 4*Pi/3]/3};
tohyPol[{a_, b_, c_, 
            d_}, "P4"] := 
        Chop[{(a^2) - (b^2), arcTanh[a, b], (c^2) + (d^2), 
            ArcTan[c, d]}];
tohyVec[{uu_, ϕ_, 
          vv_, ψ_}, "P4"] := 
      Module[{v = (Sqrt[vv]), u = (Sqrt[uu])}, 
        Chop[ v {0, 0, Cos[ψ], Sin[ψ]} + 
            u {Cosh[ϕ], Sinh[ϕ], 0, 0}]]

sh["Dav"]:=Module[{},gi = {1, -2, -3, 4, 1, 1};gp = {1, 0. , 1, 0. };plex = {a, - b,  -c, d}; {(((a - d))^2)+(((b + c))^2),(((a+d))^2)+(((b-c))^2)}
  ];
toPol[{a_, b_, c_, d_}, "Dav"]:={(((a - d))^2)+(((b + c))^2),ArcTan[a - d, b + c],
(((a+d))^2)+(((b-c))^2),ArcTan[a + d, b - c]} ;
\(toVec[{rr_, ρ_, 
              ss_, σ_}, "Dav"] := 
{\ \@rr\ Cos[ρ] + \@ss\ Cos[σ], \ \@rr\ Sin[ρ] + \@ss\ Sin[σ], \ \@rr\ Sin[ρ] - \@ss\ Sin[σ], \(-\@rr\)\ Cos[ρ] + \@ss\ Cos[σ]}/2;\)

sh["O2"]:=Module[{}, gi = {1, -2, 3, -4, 1, 1}; 
          gp = {1, 0. , 1, 0. }; 
          plex = {a, - 
                b, -c, -d}; 
 {(((a - c))^2) + (((b - d))^2), (((a + c))^2) + (((b + d))^2)}
(*((((a^2) + (b^2) + (c^2) + (d^2)))^2)-4(((a c + b d))^2)*)];toPol[{a_, b_, c_, d_}, "O2"]:= {(((a-c))^2)+(((b-d))^2),ArcTan[a - c, b - d],
(((a + c))^2) + (((b + d))^2),ArcTan[a + c, b + d]} ;\(toVec[{rr_, ρ_, 
              ss_, σ_}, "O2"] := {\ \ \@rr\ Cos[ρ] + \@ss\ Cos[σ], \ \@rr\ Sin[ρ] + \@ss\ Sin[σ], 
\(-\@rr\)\ Cos[ρ] + \(\@ss\) 
                  Cos[σ], \ \(-\@rr\)\ Sin[ρ] + \@ss\ Sin[σ]}/2\);

sh["C8r"] := 
        Module[{}, gi = {1, 4, -3, 2, 1, 1}; 
          plex = {a, - b, 
              c, -d};   {(a^2) + 
              (b^2) + (c^2) + (d^2) + (Sqrt[2]) (a b - b c + a d + c d), 
            (a^2) + (b^2) + (c^2) + 
              (d^2) - (Sqrt[2]) (a b - b c + a d + 
                    c d)}];
sh["C3C4j"] := 
        Module[{}, gi = {1, -4, 3, -2, 1, 1, 1}; gp = {1, 1, 1, 0. }; 
          plex = {a,  -b,  c, -d}; {a + b - c - d, 
            a - b - c + 
              d, (((a + c))^2) + (((b + d))^2)}  ];
toPol[{a_, b_, c_, d_}, "C3C4j"] := {a + b - c - d, 
          a - b - c + d, (((a + c))^2) + (((b + d))^2), 
          ArcTan[a + c, b + d]};
\(\(toVec[{α_, β_, ϵϵ_, σ_}, "C3C4j"] := {α + β + 
              2*Sqrt[ϵϵ]*
                Cos[σ], 
α - β + 
              2*Sqrt[ϵϵ]*
                Sin[σ], 
\(-α\) - β + 
              2*Sqrt[ϵϵ]*
                Cos[σ], 
\(-α\) + β + 
              2*Sqrt[ϵϵ]*Sin[σ]}/4;\)\)

sh["CL2"]   := 
      Module[{}, gi = {1, 2, -3, 4, 2}; gp = {1, 0. , 1, 0. }; 
        plex = {a, - b,  -c, -d}; 
 {(a^2) - 
            (b^2) + (c^2) - (d^2)}]
toPol[{a_, b_, c_, d_}, "CL2"]:= {(a^2)+(c^2)-(b^2)-(d^2),ArcTan[a, c],(b^2)+(d^2),ArcTan[b, d]} 
\(toVec[{rr_, ρ_, 
            ss_, σ_}, "CL2"] := {\ \ \@\(rr + ss\)\ Cos[ρ], \ \@ss\ Cos[σ], \@\(rr + ss\)\ Sin[ρ], \@ss\ Sin[σ]}\)

sh["C4C2r"] := 
      Module[{}, gi = {1, -4, 3, -2, 1, 1, 1}; gp = {1, 1, 1, 0. }; 
        plex = {a, -b, c, -d}; 
 {a + b + c - d, 
          a - b + c + 
            d, (((a - c))^2) + (((b + d))^2)}
  ]
toPol[{a_, b_, c_, d_}, "C4C2r"]:= {a + b + c - d,a - b + c + d,(((a - c))^2) + (((b + d))^2),ArcTan[a - c, b + d]} 
\(toVec[{α_, β_, ϵϵ_, σ_}, "C4C2r"] := 
{α + β + 
              2*Sqrt[ϵϵ]*
                Cos[σ], 
α - β + 
              2*Sqrt[ϵϵ]*
                Sin[σ], 
α + β - 
              2*Sqrt[ϵϵ]*
                Cos[σ], 
\(-α\) + β + 
              2*Sqrt[ϵϵ]*Sin[σ]}/4\)
tohyPol[{a_, b_, c_, 
          d_}, "C4C2r"] := 
      Chop[{(a + c)^2 - (b - d)^2, 
          arcTanh[a + c, b - d], (a - c)^2 + (b + d)^2, 
          ArcTan[a - c, 
            b + d]}]
tohyVec[{uu_, ϕ_, 
          rr_, θ_}, "C4C2r"] := 
      Module[{r = Sqrt[rr], u = Sqrt[uu]}, 
        Chop[r*{Cos[θ], Sin[θ], -Cos[θ], 
                  Sin[θ]}/2 + 
            u*{Cosh[ϕ], Sinh[ϕ], Cosh[ϕ], -Sinh[ϕ]}/
                2]]
sh["P16c"]   := 
      Module[{}, gi = {1, -2, -3, 4, 2}; gp = {1, 0. , 1, 0. }; 
        plex = {a, - b,  -c, -d}; 
 {(a^2) + 
            (b^2) + (c^2) - (d^2)}]
toPol[{a_, b_, c_, d_}, "P16c"]:= {(a^2) + (b^2),If[b ≠ 0, ArcTan[a, b], 0],(c^2) - (d^2),If[d ≠ 0,arcTanh[c, d],0]} 
\(toVec[{rr_, ρ_, 
            ss_, σ_}, "P16c"] := {\ \ \@rr\ Cos[ρ], \ \@rr\ Sin[ρ], \@ss\ Cosh[σ], \@ss\ Sinh[σ]}\)
sh["Q4n"] := 
      Module[{}, gi = {1, 2, 3, 4, 1, 1}; gp =. ; 
        plex =. ; 
 {(a^2) - (b^2) - (c^2) - (d^2), 
          (a^2) + (b^2) + (c^2) + (d^2)}]

8.8 Shapes, Polar-Vector, Hyperbolics, sh, toPol, toVec, tohyPol, tohyVec for 5 & 6 element loops.

\(sh["C5"] := 
      Module[{}, gp =. ; gi = {1, 5, 4, 3, 2, 1, 1}; 
        plex =. ; 
{a + b + c + d + 
            e, \((\((a - b)\)^2 + \((b - c)\)^2 + \((c - d)\)^2 + \((d - 
                          e)\)^2 + \((e - a)\)^2 + 
\((a - 
                          c)\)^2 + \((b - d)\)^2 + \((c - e)\)^2 + \((d - 
                          a)\)^2 + \((e - b)\)^2)\)^2/
              16 - 
5\ \((a\ b - a\ c + b\ c - a\ d - b\ d + c\ d + a\ e - b\ e - c\ e + d\ e)\)\^2/4}]\)
\(toVec[{α_, ϵ_, σ_}, "C5"] := \(\({α + ϵ*Sin[σ], α + ϵ*
              Sin[σ + 
                  2  π/5], 
α + ϵ*
              Sin[σ + 4  π/5], α + ϵ*
              Sin[σ + 6  π/5], α + ϵ*
              Sin[σ + 8  π/5]}/5\)\(\ \)\)\)

\(sh["C3C2"] := 
      Module[{}, gi = {1, 3, 2, 4, 6, 5, 1, 1, 1, 1}; 
        gp = {1, 1, 1, 0. , 1, 0. }; 
        plex = {a, c, b, d, f, e}; 
{a + b + c + d + e + f, 
          a + b + c - d - e - 
            f, \((\((a - b + d - e)\)\^2 + \((a - c + d - f)\)\^2 + \((b - c + e - f)\)\^2)\)/
            2, \((\((a - b - d + e)\)\^2 + \((a - c - d + f)\)\^2 + \((b - c - e + f)\)\^2)\)/2}]\)
\(toVec[{α_, δ_, ηη_, χ_, κκ_, ψ_}, "C3C2"] := 
      Module[{η = 2 \@ ηη, κ = 
            2 \@ κκ}, {\ \ α + δ + η\ Cos[χ] + κ\ Cos[ψ], α + δ + η\ Cos[χ + 
                    2\ π/3] + κ\ Cos[ψ + 
                    2  π/3], α + δ + η\ Cos[χ - 
                    2\ π/3] + κ\ Cos[ψ - 
                    2\ π/
                        3], 
α - δ + η\ Cos[χ] - κ\ Cos[ψ], α - δ + η\ Cos[χ + 2\ π/3] - κ\ Cos[ψ + 
                    2  π/3], α - δ + η\ Cos[χ - 
                    2\ π/3] - κ\ Cos[ψ - 2\ π/3]}/
          6]\)
\(toPol[{a_, b_, c_, d_, e_, f_}, "C3C2"] := 
      Module[{a1 = Chop[2  a - b - c + 2  d - e - f], 
          a2 = Chop[2  a - b - c - 2  d + e + f], 
          b1 = Chop[Simplify[c - b - e + f]], 
          b2 = Chop[Simplify[c - b + e - f]]}, {a + b + c + d + e + f, 
          a + b + c - d - e - 
            f, \((\((a - b + d - e)\)\^2 + \((b - c + e - f)\)\^2 + \((c - a + f - d)\)\^2)\)/2, 
          ArcTan[a1, 
            Sqrt[3] b1], \((\((a - b - d + e)\)\^2 + \((b - c - e + f)\)\^2 + \((c - a - f + d)\)\^2)\)/2, ArcTan[a2, Sqrt[3] b2]}]\)
\(tohyPol[{a_, b_, c_, d_, e_, f_}, "C3C2"] := 
      Module[{a1 = Chop[2  a - b - c + 2  d - e - f], 
          a2 = Chop[2  a - b - c - 2  d + e + f], 
          b1 = Chop[Simplify[c - b - e + f]], 
          b2 = Chop[
              Simplify[
                c - b + e - f]]}, {\((a + b + c)\)\^2 - \((d + e + f)\)\^2, 
          arcTanh[a + b + c, 
            d + e + 
              f], \((\((a - b + d - e)\)\^2 + \((b - c + e - f)\)\^2 + \((c - a + f - d)\)\^2)\)/2, 
          ArcTan[a1, 
            Sqrt[3] b1], \((\((a - b - d + e)\)\^2 + \((b - c - e + f)\)\^2 + \((c - a - f + d)\)\^2)\)/2, ArcTan[a2, Sqrt[3] b2]}]\)
\(tohyVec[{γγ_, δ_, ηη_, χ_, κκ_, ψ_}, "C3C2"] := 
      Module[{γ = \@γγ, η = \@ηη, κ = \@κκ}, {\ γ\ Cosh[δ] + η\ Cos[χ] + κ\ Cos[ψ], γ\ Cosh[δ] + η\ Cos[χ + 2\ π/3] + κ\ Cos[ψ + 
                    2  π/
                        3], γ\ Cosh[δ] + η\ Cos[χ - 
                    2\ π/3] + κ\ Cos[ψ - 
                    2\ π/
                        3], γ\ Sinh[δ] + η\ Cos[χ] - κ\ Cos[ψ], γ\ Sinh[δ] + η\ Cos[χ + 
                    2\ π/3] - κ\ Cos[ψ + 
                    2  π/
                        3], γ\ Sinh[δ] + η\ Cos[χ - 
                    2\ π/3] - κ\ Cos[ψ - 2\ π/3]}/
          3]\)

\(\(sh["D3"] := 
        Module[{}, gi = {1, 2, 5, 4, 3, 6, 1, 1, 2}; 
          gp = {1, 1, 1, 0. , 1, 0. }; 
          plex =. ; 
{a + b + c + d + e + f, 
            a - b + c - d + e - 
              f, \((\((a - c)\)\^2 + \((c - e)\)\^2 + \((e - a)\)\^2 - \((b - d)\)\^2 - \((d - f)\)\^2 - \((f - b)\)\^2)\)/2}];\)\)
toPol[{a_, b_, c_, d_, e_, f_}, "D3"] := 
      Module[{ace = ((((a - c))^2) + (((c - e))^2) + (((e - a))^2))/
              2, χ = ArcTan[2 a - c - e, Sqrt[3] (e - c)], 
          bdf = ((((b - d))^2) + (((d - f))^2) + (((f - b))^2))/
              2, ψ = ArcTan[2 b - d - f, Sqrt[3] (f - d)]}, {a + 
            b + c + d + e + f, a - b + c - d + e - f, ace - bdf, χ, 
          ace, ψ}]
\(toVec[{γ_, δ_, ηη_, χ_, κκ_, ψ_}, "D3"] := 
      Module[{η = 4 \@ κκ, κ = 
            4 \@\( κκ - ηη\)}, {\ γ + δ + η\ Cos[χ]\ , γ - δ + κ\ \ Cos[ψ], γ + δ + η\ Cos[χ + 
                    2\ π/
                        3], γ - δ + κ\ \ Cos[ψ + 
                    2  π/3], γ + δ + η\ Cos[χ - 
                    2\ π/
                        3], γ - δ + κ\ \ Cos[ψ - 
                    2\ π/3]}/6]\)
\(tohyPol[{a_, b_, c_, d_, e_, f_}, "D3"] := 
      Module[{χ}, {\((a + c + e)\)\^2 - \((b + d + f)\)\^2, 
          arcTanh[a + c + e, 
            b + d + f], \((\((a - c)\)\^2 + \((c - e)\)\^2 + \((e - a)\)\^2)\)/2, 
χ = 
            ArcTan[2\ a - c - e, 
              Sqrt[3] \((e - 
                    c)\)], \((\((b - d)\)\^2 + \((d - f)\)\^2 + \((f - b)\)\^2)\)/
            2, 
ArcTan[2\ b - d - f, 
              Sqrt[3] \((f - d)\)] - χ}]\)
\(tohyVec[{γγ_, ϕ_, ηη_, χ_, κκ_, ψ_}, "D3"] := 
      Module[{γ = 2 \@ γγ, η = 
            4 \@ ηη, κ = 
            4 \@ κκ}, {γ\ Cosh[ϕ] + η\ Cos[χ], γ\ Sinh[ϕ] + κ\ \ Cos[χ + ψ], γ\ Cosh[ϕ] + η\ Cos[χ + 
                    2\ π/
                        3], 
γ\ Sinh[ϕ] + κ\ \ Cos[χ + ψ + 
                    2  π/
                        3], γ\ Cosh[ϕ] + η\ Cos[χ - 
                    2\ π/
                        3], γ\ Sinh[ϕ] + κ\ \ Cos[χ + ψ - 2\ π/3]}/6]\)

\(TraditionalForm\`sh["C6n"] := 
      Module[{}, gi = {1, 3, 2, 5, 4, 6, 1, 1, 1, 1}; gp =. ; 
        plex =. ; 
{a + b + c - d - e - f, 
          a + b + c + d + e + 
            f, \((\((a - b)\)\^2 + \((b - c)\)\^2 + \((c - a)\)\^2 - \((d - e)\)\^2 - \((e - f)\)\^2 - \((f - d)\)\^2)\)/
            2, \((\((a - b)\)\^2 + \((b - c)\)\^2 + \((c - a)\)\^2 + \((d - e)\)\^2 + \((e - f)\)\^2 + \((f - d)\)\^2)\)/2}]\)

\(sh["C3C4c"] :=  (*Revised\ \(8/1\)/
            6*) 
Module[{}, gp = {1, 0. , 1, 0. , 1, 0. }; 
        gi = {1, 3, 2, \(-4\), \(-6\), \(-5\), 1, 1, 1}; 
        plex = {a, b, 
            c, \(-d\), \(-e\), \(-f\)}; 
{\((a + b + c)\)\^2 + \((d + e + f)\)\^2, 
          3 \((\((a - b + \((d + e - 2  f)\) r3)\)\^2 + \((\((a + b - 2  c)\) r3 - d + e)\)\^2)\)/4, 
          3 \((\((a - b - \((d + e - 2  f)\) r3)\)\^2 + \((\((a + b - 2  c)\) r3 + d - e)\)\^2)\)/4}]\)

toPol[{a_, b_, c_, d_, e_, f_}, "C3C4c"] := 
      Module[{f1 = a - b + (d + e - 2  f) r3, 
          f2 = (a + b - 2  c) r3 - d + e, 
          f3 = a - b - (d + e - 2  f) r3, 
          f4 = (a + b - 2  c)/r3 + d - 
              e}, {(((a + b + c))^2) + (((d + e + f))^2)  , 
          If[d + e + f == 0, If[a + b + c < 0, π, 0], 
            ArcTan[a + b + c, 
              d + e + f]]  , 
Expand[
            3 ((f1^2) + (f2^2))/4]  , 
          If[f2 == 0, If[f1 < 0, π, 0], ArcTan[f1, f2]] - π/
              6  , 
Expand[
            3 ((f3^2) + (f4^2))/4]  , 
          If[f4 == 0, If[f3 < 0, π, 0], ArcTan[f3, f4]] - π/
              6  }]
\(toVec[{ϵϵ_, σ_, ηη_, χ_, κκ_, ψ_}, "C3C4c"] := 
      Module[{ϵ = \@ϵϵ/
              3, η = \@\(ηη/12\), κ = \@\(κκ/12\), x = χ + π/6, 
          y = ψ + π/
                6}, 
{ (*a*) ϵ\ Cos[σ] + η\ Cos[x] + η\ r3\ Sin[x] + κ\ Cos[y] + κ\ r3\ Sin[
                y], 
 (*b*) ϵ\ Cos[σ] - η\ Cos[x] + η\ r3\ Sin[x] - κ\ Cos[y] + κ\ r3\ Sin[
                y], 
 (*c*) ϵ\ Cos[σ] - η\ 2  r3\ Sin[x] - κ\ 2  
              r3\ Sin[y], 
 (*d*) ϵ\ Sin[σ] + η\ r3\ Cos[x] - η\ Sin[x] - κ\ r3\ Cos[y] + κ\ Sin[
                y], 
 (*e*) ϵ\ Sin[σ] + η\ r3\ Cos[x] + η\ Sin[x] - κ\ r3\ Cos[y] - κ\ Sin[
                y], 
 (*f*) ϵ\ Sin[σ] - η\ 2  r3\ Cos[x] + κ\ 2  r3\ Cos[y]}]\)

\(sh["Q12c"] := 
      Module[{}, gi = {1, 3, 2, \(-4\), \(-5\), \(-6\), 1, 2}; 
        gp = {1, 2, 1, 0. , 1, 0. }; 
        plex = {a, c, 
            b, \(-d\), \(-e\), \(-f\)}; {\((a + b + c)\)\^2 + \((d + e + f)\)\^2, \((\((a - b)\)\^2 + \((a - c)\)\^2 + \((b - c)\)\^2 + \((d - e)\)\^2 + \((d - f)\)\^2 + \((e - f)\)\^2)\)/2}]\)
toPol[{a_, b_, c_, d_, e_, f_}, "Q12c"] := 
      Module[{abc = ((((a - b))^2) + (((b - c))^2) + (((c - a))^2))/2, 
          def = ((((d - e))^2) + (((e - f))^2) + (((f - d))^2))/
              2}, {(((a + b + c))^2) + (((d + e + f))^2), 
          If[d + e + f === 0, 0, ArcTan[a + b + c, d + e + f]], abc + def, 
          If[c == b, 0, ArcTan[2 a - b - c, Sqrt[3] (c - b)]], def, 
          If[e == f, 0, 
            ArcTan[2 d - e - f, Sqrt[3] (f - e)]]}]
\(toVec[{ϵϵ_, σ_, ηη_, χ_, κκ_, ψ_}, "Q12c"] := 
      Module[{ϵ = \@ϵϵ/3, η = 
            2 \@\( ηη - κκ\)/3, κ = 
            2 \@ κκ/
                3}, {\ ϵ\ Cos[σ] + η\ Cos[χ]\ , 
ϵ\ Cos[σ] + η\ Cos[χ + 
                  2\ π/
                      3], 
ϵ\ Cos[σ] + η\ Cos[χ - 
                  2\ π/
                      3], 
ϵ\ Sin[σ] + κ\ \ Cos[ψ], 
ϵ\ Sin[σ] + κ\ \ Cos[ψ + 
                  2\ π/
                      3], 
ϵ\ Sin[σ] + κ\ \ Cos[ψ - 2\ π/3]}]\)

\(sh["Q12r"] := 
      Module[{}, gi = {1, \(-2\), \(-5\), \(-4\), \(-3\), \(-6\), 1, 2}; 
        gp = {1, 1, 1, 0. , 1, 0. }; 
        plex = {a, c, 
            b, \(-d\), \(-e\), \(-f\)}; {\((a - c + e)\)\^2 + \((b - d + f)\)\^2, \((\((a + c)\)^2 + \((c + e)\)^2 + \((a - e)\)^2 + \((b + 
                      d)\)^2 + \((d + f)\)^2 + \((b - f)\)^2)\)/
            2}]\)
toPol[{a_, b_, c_, d_, e_, f_}, "Q12r"] := 
      Module[{ace = ((a + c)^2 + (a - e)^2 + (c + e)^2)/2, 
          bdf = ((b + d)^2 + (d + f)^2 + (b - f)^2)/
              2}, {(((a - c + e))^2) + (((b - d + f))^2), 
          If[b + f === d, 0, 
            ArcTan[a - c + e, b - d + f]], 
ace + bdf, 
          If[c == -e, 0, 
            ArcTan[2 a - e + c, 
              Sqrt[3] (-c - e)]], 
bdf, 
          If[d == -f, 0, 
            ArcTan[2 b + d - f, Sqrt[3] (-d - f)]]}]
\(\(toVec[{ϵϵ_, σ_, ηη_, χ_, κκ_, ψ_}, "Q12r"] := 
        Module[{ϵ = \@ϵϵ/3, η = 
              2 \@\( ηη - κκ\)/3, κ = 
              2 \@ κκ/
                  3}, {\ \ ϵ\ Cos[σ] + η\ Cos[χ]\ , 
\ \ ϵ\ Sin[σ] + κ\ Cos[ψ], 
\(-ϵ\)\ Cos[σ] - η\ Cos[χ - 
                    2\ π/
                        3], 
\(-ϵ\)\ Sin[σ] - κ\ Cos[ψ - 
                    2\ π/
                        3], 
\ ϵ\ Cos[σ] + η\ Cos[χ + 
                    2\ π/
                        3], 
\ ϵ\ Sin[σ] + κ\ Cos[ψ + 2\ π/3]}];\)\)

sh["g2401c"]:=Module[{},gi={1,3,2,-4*I,-5*I,-6*I,2,1};gp={1,1,1,0.,1,0.};;plex={a,c,b,-d,-e,-f}; 
{((a-b)^2+(a-c)^2+(b-c)^2-I*((d-e)^2+(d-f)^2+(e-f)^2))/2,(a+b+c)^2-I*(d+e+f)^2}]
sh["D6r"]:=Module[{},gi={1,2,-5,4,-3,6,1,1,2};
gp={1,1,1,0.,1,0.};;plex=.;{a-b-c+d+e-f,a+b-c-d+e+f,
((a+c)^2+(c+e)^2+(a-e)^2-(b+d)^2-(d+f)^2-(b-f)^2)/2}]
sh["D3C2c"]:=Module[{},gi={1,2,3,5,4,6,1,1,2};plex={a,c,b,-d,-e,-f};
gp={1,1,1,0.,1,0.};{(a-b+c-d-e-f),(a+b-c-d-e+f), ((a+d)^2+(a+e)^2+(d-e)^2-(b+c)^2-(b-f)^2-(c+f)^2)/
    2}]

(*Two relabellings of C3C2*)
sh["KC3c"]:=Module[{},gi={1,-3,-2,4,-6,-5,1,1,1,1};gp={1,1,1,0.,1,0.};;plex={a,b,c,-d,-e,-f};{a-b+c-d+e-f,a-b+c+d-e+f,((a+b-d-e)^2+(a-c-d+f)^2+(b+c-e-f)^2)/2,((a+b+d+e)^2+(a-c+d-f)^2+(b+c+e+f)^2)/2}];
sh["C3Kr"]:=Module[{},gi={1,3,2,4,6,5,1,1,1,1};gp={1,1,1,0.,1,0.};;{a-b-c-d+e+f,a-b-c+d-e-f,((a+b-d-e)^2+(a+c-d-f)^2+(b-c-e+f)^2)/2,((a+b+d+e)^2+(a+c+d+f)^2+(b-c+e-f)^2)/2}]

\(sh["Cl3r"] := 
      Module[{}, \(gp = {1, 1, 1, 0. , 1, 0. };\); 
        gi = {1, \(-3\), \(-2\), \(-4\), 6, 5, 1, 1}; 
        plex = {a, b, 
            c, \(-d\), \(-e\), \(-f\)}; 
{\((a - b + c)\)\^2 + \((d - e + f)\)\^2, \((\((\((a + b)\)^2 + \((\ 
                            b + c)\)^2 + \((a - \ c)\)^2)\) + \((d + 
                          e)\)^2 + \((e + f)\)^2 + \((\ f - d)\)^2)\)^2/4 - 
            3\ \((\(-b\)\ d - c\ d + a\ e - c\ e + a\ f + b\ f)\)\^2}]\)

\(sh["Clm3r"] := 
      Module[{}, \(gp = {1, 1, 1, 0. , 1, 0. };\); 
        gi = {1, 3, 2, \(-4\), \(-6\), \(-5\), 1, 1}; 
        plex = {a, b, 
            c, \(-d\), \(-e\), \(-f\)}; 
{\((a - b - c)\)\^2 + \((d - e - f)\)\^2, \((\((\((a + b)\)^2 + \((\ 
                            b - c)\)^2 + \((a + \ c)\)^2)\) + \((d + 
                          e)\)^2 + \((e - f)\)^2 + \((\ f + d)\)^2)\)^2/4 - 
            3\ \((\(-b\)\ d + c\ d + a\ e + c\ e - a\ f - b\ f)\)\^2}]\)

8.9 Shapes, Polar-Vector, Hyperbolics, sh, toPol, toVec, tohyPol, tohyVec for 8 & 9 element loops.

\(\(sh["C8"] := 
        Module[{}, gi = {1, 8, 7, 6, 5, 4, 3, 2, 1, 1, 1, 1}; 
          gp = {1, 1, 1, 1, 0. , 1, 0.  (*?*) }; 
          plex = {a, \(-b\), c, \(-d\), e, \(-f\), 
              g, \(-h\)}; {\((a - b + c - d + e - f + g - h)\)\ , \((a + b + 
                c + d + e + f + g + 
                h)\), \((a - c + e - g)\)\^2 + \((b - d + f - h)\)\^2, \((\((a - e)\)\^2 + \((c - g)\)\^2)\)\^2 + \((\((b - f)\)\^2 + \((d - h)\)\^2)\)\^2 + 
              4\ \((\((a - e)\)\ \((d - h)\) + \((f - b)\)\ \((c - 
                          g)\))\)\ \((\((a - e)\)\ \((b - f)\) + \((c - 
                          g)\)\ \((d - h)\))\)}];\)\)
sh["KC2"] := 
        Module[{}, gp = {1, 1, 1, 1, 1, 1, 1, 1}; 
          plex = {a, b, c, d, -e, -f, -g, -h}; 
          gi = {1, 2, 3, 4, 5, 6, 7, 8, 1, 1, 1, 1, 1, 1, 1, 
              1}; 
{a + b + c + d - e - f - g - h, 
            a + b - c - d + e + f - g - h, a - b + c - d + e - f + g - h, 
            a - b - c + d - e + f + g - h, a - b - c + d + e - f - g + h, 
            a - b + c - d - e + f - g + h, a + b - c - d - e - f + g + h, 
            a + b + c + d + e + f + g + h}];
toPol[{a_, b_, c_, d_, e_, f_, g_, 
            h_}, "KC2"] := 
{a + b + c + d - e - f - 
            g - h, a + b - c - d + e + f - g - h, 
a - b + 
            c - d + e - f + g - h, 
          a - b - c + d - e + f + g - h, 
a - b - c + d + 
            e - f - g + h, 
          a - b + c - d - e + f - g + h, 
a + b - c - d - 
            e - f + g + h, a + b + c + d + e + f + g + h};
\(toVec[{α_, β_, γ_, δ_, ϵ_, σ_, ζ_, θ_}, "KC2"] := 
{\ α + β + γ + δ + ϵ\  + σ + ζ\  + θ, α + β - γ - δ - ϵ\  - σ + ζ\  + θ, 
α - β + γ - δ - ϵ + σ - ζ + θ, α - β - γ + δ + ϵ - σ - ζ + θ, 
\(-α\) + β + γ - δ + ϵ\  - σ - ζ\  + θ, \(-α\) + β - γ + δ - ϵ\  + σ - ζ\  + θ, 
\(-α\) - β + γ + δ - ϵ\  - σ + ζ\  + θ, \(-α\) - β - γ - δ + ϵ\  + σ + ζ\  + θ}/8\)

\(\(sh["C4C2"] := 
        Module[{}, gi = {1, 4, 3, 2, 5, 8, 7, 6, 1, 1, 1, 1, 1, 1}; 
          gp = {1, 1, 1, 1, 1, 0. , 1, 0. }; 
          plex = {a, \(-b\), c, \(-d\), e, \(-f\), 
              g, \(-h\)}; 
{a + b + c + d - e - f - g - h, 
            a - b + c - d + e - f + g - h, a - b + c - d - e + f - g + h, 
            a + b + c + d + e + f + g + 
              h, \((a - c - e + g)\)\^2 + \((b - d - f + h)\)\^2, \((a - c + e - g)\)\^2 + \((b - d + f - h)\)\^2}];\)\)
\(\(toPol[{a_, b_, c_, d_, e_, f_, g_, h_}, "C4C2"] := {a + b + c + 
            d + e + f + g + h, a - b + c - d + e - f + g - h, 
          a + b + c + d - e - f - g - h, 
          a - b + c - d - e + f - g + 
            h, \((a - c - e + g)\)\^2 + \((b - d - f + h)\)\^2, 
ArcTan[a - c - e + g, 
            b - d - f + 
              h], 
\((a - c + e - g)\)\^2 + \((b - d + f - h)\)\^2, 
ArcTan[a - c + e - g, 
            b - d + f - h]};\)\)
\(toVec[{α_, β_, γ_, δ_, ϵϵ_, σ_, ζζ_, θ_}, "C4C2"] := 
      Module[{ϵ = 2 \@ ϵϵ, ζ = 
            2 \@ ζζ}, 
{\ \ α + β + γ + δ + ϵ\ Cos[σ] + ζ\ Cos[θ], α - β + γ - δ + ϵ\ Sin[σ] + ζ\ Sin[θ], 
α + β + γ + δ - ϵ\ Cos[σ] - ζ\ Cos[θ], α - β + γ - δ - ϵ\ Sin[σ] - ζ\ Sin[θ], 
α + β - γ - δ - ϵ\ Cos[σ] + ζ\ Cos[θ], α - β - γ + δ - ϵ\ Sin[σ] + ζ\ Sin[θ], 
α + β - γ - δ + ϵ\ Cos[σ] - ζ\ Cos[θ], α - β - γ + δ + ϵ\ Sin[σ] - ζ\ Sin[θ]}/8]\)

\(\(sh["D4"] := 
        Module[{}, gi = {1, 2, 7, 4, 5, 6, 3, 8, 1, 1, 1, 1, 2}; 
          gp = {1, 1, 1, 1, 1, 0. , 1, 0. }; 
          plex =. ; {a + b - c - d + e + f - g - h, 
            a - b + c - d + e - f + g - h, a - b - c + d + e - f - g + h, 
            a + b + c + d + e + f + g + 
              h, 
\((a - e)\)\^2 - \((b - f)\)\^2 + \((c - g)\)\^2 - \((d - h)\)\^2 (*repeated*) }];\)\)
\(\(toPol[{a_, b_, c_, d_, e_, f_, g_, h_}, "D4"] := {a + b + c + d + 
            e + f + g + h, a + b - c - d + e + f - g - h, 
          a - b + c - d + e - f + g - h, 
          a - b - c + d + e - f - g + 
            h, 
\((a - e)\)\^2 + \((c - g)\)\^2 - \((b - f)\)\^2 - \((d - h)\)\^2, 
          ArcTan[a - e, 
            c - g], 
\((b - f)\)\^2 + \((d - h)\)\^2, 
          ArcTan[b - f, d - h]};\)\)
\(\(toVec[{α_, β_, γ_, δ_, ϵϵ_, σ_, ζζ_, θ_}, "D4"] := 
        Module[{ϵ = 
                4 \@\( ϵϵ + ζζ\), ζ = 
                4 \@ ζζ}, 
{α + β + γ + δ + ϵ\ Cos[σ], α + β - γ - δ + ζ\ Cos[θ], α - β + γ - δ + ϵ\ Sin[σ], α - β - γ + δ + ζ\ Sin[θ], α + β + γ + δ - ϵ\ Cos[σ], α + β - γ - δ - ζ\ Cos[θ], α - β + γ - δ - ϵ\ Sin[σ], α - β - γ + δ - ζ\ Sin[θ]}]/8;\)\)
\(\(tohyPol[{a_, b_, c_, d_, e_, f_, g_, 
            h_}, "D4"] := {\((a + b + e + f)\)\^2 - \((c + d + g + h)\)\^2, arcTanh[a + b + e + f, 
            c + d + g + 
              h], 
\((a - b + e - f)\)\^2 - \((c - d + g - h)\)\^2, arcTanh[a - b + e - f, 
            c - d + g - 
              h], 
\((a - e)\)\^2 + \((c - g)\)\^2, 
          ArcTan[a - e, 
            c - g], 
\((b - f)\)\^2 + \((d - h)\)\^2, 
          ArcTan[b - f, d - h]};\)\)
\(\(tohyVec[{αα_, ϕ_, γγ_, ρ_, ϵϵ_, σ_, ζζ_, θ_}, "D4"] := 
        Module[{α = \@αα, γ = \@γγ, ϵ = 2 \@ ϵϵ, ζ = 
                2 \@ ζζ}, 
{α\ Cosh[ϕ] + γ\ Cosh[ρ] + ϵ\ Cos[σ], α\ Cosh[ϕ] - γ\ Cosh[ρ] + ζ\ Cos[θ], α\ Sinh[ϕ] + γ\ Sinh[ρ] + ϵ\ Sin[σ], α\ Sinh[ϕ] - γ\ Sinh[ρ] + ζ\ Sin[θ], α\ Cosh[ϕ] + γ\ Cosh[ρ] - ϵ\ Cos[σ], α\ Cosh[ϕ] - γ\ Cosh[ρ] - ζ\ Cos[θ], α\ Sinh[ϕ] + γ\ Sinh[ρ] - ϵ\ Sin[σ], α\ Sinh[ϕ] - γ\ Sinh[ρ] - ζ\ Sin[θ]}]/4;\)\)

\(\(sh["Q8"] := 
        Module[{}, gi = {1, 6, 7, 8, 5, 2, 3, 4, 1, 1, 1, 1, 2}; 
          gp = {1, 1, 1, 1, 1, 0. , 1, 0. }; 
          plex = {a, \(-b\), \(-c\), \(-d\), 
              e, \(-f\), \(-g\), \(-h\)}; 
{a + b - c - d + 
              e + f - g - h, a - b + c - d + e - f + g - h, 
            a - b - c + d + e - f - g + h, 
            a + b + c + d + e + f + g + 
              h, \((a - e)\)\^2 + \((b - f)\)\^2 + \((c - g)\)\^2 + \((d - h)\)\^2 (*repeated*) }];\)\)
toPol[{a_, b_, c_, d_, e_, f_, g_, h_}, "Q8"] := {a + b + c + d + 
            e + f + g + h, a - b + c - d + e - f + g - h, 
          a - b - c + d + e - f - g + h, 
          a + b - c - d + e + f - g - h, (((a - e))^2) + (((b - f))^2), 
          ArcTan[a - e, b - f], (((c - g))^2) + (((d - h))^2), 
          ArcTan[c - g, d - h]};
\(\(toVec[{α_, β_, γ_, δ_, ϵϵ_, σ_, ζζ_, θ_}, "Q8"] := {\ \ α + β + γ + δ + 
              4 \@ ϵϵ\ Cos[σ], α - β - γ + δ + 
              4 \@ ϵϵ\ Sin[σ], α + β - γ - δ + 
              4 \@ ζζ\ Cos[θ], α - β + γ - δ + 
              4 \@ ζζ\ Sin[θ], α + β + γ + δ - 
              4 \@ ϵϵ\ Cos[σ], α - β - γ + δ - 
              4 \@ ϵϵ\ Sin[σ], α + β - γ - δ - 
              4 \@ ζζ\ Cos[θ], α - β + γ - δ - 4 \@ ζζ\ Sin[θ]}/8;\)\)
\(\(tohyPol[{a_, b_, c_, d_, e_, f_, g_, 
            h_}, "Q8"] := {\((a + b + e + f)\)\^2 - \((c + d + g + h)\)\^2, arcTanh[a + b + e + f, 
            c + d + g + 
              h], 
\((a - b + e - f)\)\^2 - \((c - d + g - h)\)\^2, arcTanh[a - b + e - f, 
            c - d + g - 
              h], 
\((a - e)\)\^2 + \((b - f)\)\^2, 
          ArcTan[a - e, 
            b - f], 
\((c - g)\)\^2 + \((d - h)\)\^2, 
          ArcTan[c - g, d - h]};\)\)
\(\(tohyVec[{αα_, ϕ_, γγ_, ρ_, ϵϵ_, σ_, ζζ_, θ_}, "Q8"] := 
        Module[{α = \@αα, γ = \@γγ, ϵ = 2 \@ ϵϵ, ζ = 
                2 \@ ζζ}, 
{α\ Cosh[ϕ] + γ\ Cosh[ρ] + ϵ\ Cos[σ], α\ Cosh[ϕ] - γ\ Cosh[ρ] + ϵ\ Sin[σ], 
α\ Sinh[ϕ] + γ\ Sinh[ρ] + ζ\ Cos[θ], α\ Sinh[ϕ] - γ\ Sinh[ρ] + ζ\ Sin[θ], 
α\ Cosh[ϕ] + γ\ Cosh[ρ] - ϵ\ Cos[σ], α\ Cosh[ϕ] - γ\ Cosh[ρ] - ϵ\ Sin[σ], 
α\ Sinh[ϕ] + γ\ Sinh[ρ] - ζ\ Cos[θ], α\ Sinh[ϕ] - γ\ Sinh[ρ] - ζ\ Sin[θ]}]/
          4;\)\)

\(\(sh["Octr"] := 
        Module[{}, 
          gi = {1, \(-2\), \(-3\), \(-4\), \(-5\), \(-6\), \(-7\), \(-8\), 
              4}; gp = {1, 0. , 1, 0. , 1, 0. , 1, 0. }; 
          plex = {a, \(-b\), \(-c\), \(-d\), \(-e\), \(-f\), \(-g\), \(-h\)}; 
{a\^2 + b\^2 + c\^2 + d\^2 + e\^2 + f\^2 + g\^2 + 
              h\^2}];\)\)
toPol[{a_, b_, c_, d_, e_, f_, g_, h_}, "Octr"] := 
      Module[{}, {(a^2) + (b^2) + (c^2) + (d^2) + (e^2) + (f^2) + (g^2) + (h^2), 
          ArcTan[a, b], (c^2) + (d^2), ArcTan[c, d], (e^2) + (f^2), ArcTan[e, f], 
          (g^2) + (h^2), ArcTan[g, h]}]
toVec[{pp_, ϕ_, qq_, ψ_, rr_, ρ_, 
          ss_, σ_}, "Octr"] := 
      Module[{p = (Sqrt[pp - qq - rr - ss]), q = (Sqrt[qq]), r = (Sqrt[rr]), 
          s = (Sqrt[ss])}, {  p Cos[ϕ] , p Sin[ϕ], q Cos[ψ] , 
          q Sin[ψ] , r Cos[ρ] , r Sin[ρ], 
          s Cos[σ], s Sin[σ]}]

\(sh["KiC4c"] := 
      Module[{}, gi = {1, 2, 3, 4, \(-5\), \(-8\), \(-7\), \(-6\), 1, 1, 2}; 
        gp = {1, 0. , 1, 0. , 1, 0, 1, 
            0. }; 
{\((a - b + c - d)\)\^2 + \((e - f + g - h)\)\^2, \((a + b + c + d)\)\^2 + \((e + f + g + h)\)\^2, \((a - c)\)\^2 - \((b - d)\)\^2 + \((e - g)\)\^2 - \((f - h)\)\^2 (*repeated*) }]\)
\(toPol[{a_, b_, c_, d_, e_, f_, g_, h_}, "KiC4c"] := 
      Module[{}, { (*pp*) \((a - c)\)\^2 - \((b - d)\)\^2 + \((e - g)\)\^2 - \((f - h)\)\^2,  (*ϕ*) If[e == g, 0, 
            ArcTan[a - c, 
              e - g]], 
 (*qq*) \((b - d)\)\^2 + \((f - h)\)\^2, 
 (*ψ*) If[f == h, 0, 
            ArcTan[b - d, 
              f - h]],  (*rr*) \((a - b + c - d)\)\^2 + \((e - f + g - h)\)\^2,  (*ρ*) If[e + g == f + h, 0, 
            ArcTan[a - b + c - d, 
              e - f + g - 
                h]],  (*ss*) \((a + b + c + d)\)\^2 + \((e + f + g + h)\)\^2,  (*σ*) If[e + f == g + h, 0, 
            ArcTan[a + b + c + d, e + f + g + h]]}]\)
\(toVec[{pp_, ϕ_, qq_, ψ_, rr_, ρ_, 
          ss_, σ_}, "KiC4c"] := 
      Module[{p = \@\(pp + qq\)/2, q = \@qq/2, r = \@rr/4, 
          s = \@ss/4}, { (*a*) \ \ p\ Cos[ϕ]\  + r\ Cos[ρ] + 
            s\ Cos[σ], 
\ \ \  (*b*) \ \(+q\)\ Cos[ψ] - r\ Cos[ρ] + 
            s\ Cos[σ], 
 (*c*) \(-p\)\ Cos[ϕ] + 
            r\ Cos[ρ] + 
            s\ Cos[σ]\ , 
\ \ \  (*d*) \(-q\)\ Cos[ψ] - r\ Cos[ρ] + 
            s\ Cos[σ], 
 (*e*) \ \ p\ Sin[ϕ] + 
            r\ Sin[ρ] + 
            s\ Sin[σ], 
\ \ \  (*f*) \(+q\)\ Sin[ψ] - r\ Sin[ρ] + 
            s\ Sin[σ], 
 (*g*) \(-p\)\ Sin[ϕ] + 
            r\ Sin[ρ] + 
            s\ Sin[σ], 
\ \ \  (*h*) \ \(-q\)\ Sin[ψ] - r\ Sin[ρ] + s\ Sin[σ]}]\)

\(\(sh["O4"] := 
        Module[{}, gp = {1, 0. , 1, 0. , 1, 0. , 1, 0. }; 
          gi = {1, 2, 3, 4, \(-5\), \(-6\), \(-7\), \(-8\), 1, 1, 1, 1}; 
          plex = {a, b, c, 
              d, \(-e\), \(-f\), \(-g\), \(-h\)}; 
{\((a - b - c + d)\)\^2 + \((e - f - g + h)\)\^2, \((a - b + c - d)\)\^2 + \((e - f + g - h)\)\^2, 
\((a + b - c - d)\)\^2 + \((e + f - g - h)\)\^2, \((a + b + c + d)\)\^2 + \((e + f + g + h)\)\^2}];\)\)
toPol[{a_, b_, c_, d_, e_, f_, g_, h_}, "O4"] := 
      Module[{}, 
        gp = {1, 0. , 1, 0. , 1, 0. , 1, 
            0. }; {(((a - b - c + d))^2) + (((e - f - g + h))^2), 
          If[e + h == f + g, 0, 
            ArcTan[a - b - c + d, 
              e - f - g + 
                h]], (((a - b + c - d))^2) + (((e - f + g - h))^2), 
          If[e + g == f + h, 0, 
            ArcTan[a - b + c - d, 
              e - f + g - 
                h]], (((a + b - c - d))^2) + (((e + f - g - h))^2), 
          If[e + f == g + h, 0, 
            ArcTan[a + b - c - d, 
              e + f - g - 
                h]], (((a + b + c + d))^2) + (((e + f + g + h))^2), 
          If[e + f + g + h == 0, 0, 
            ArcTan[a + b + c + d, e + f + g + h]]}]
toVec[{pp_, ϕ_, qq_, ψ_, rr_, ρ_, 
          ss_, σ_}, "O4"] := 
      Module[{p = Sqrt[pp], q = Sqrt[qq], r = Sqrt[rr], 
            s = Sqrt[ss]}, {  p Cos[ϕ]  + q Cos[ψ]  + 
              r Cos[ρ]  + s Cos[σ], - p Cos[ϕ] - 
              q Cos[ψ] + r Cos[ρ]  + 
              s Cos[σ], -p Cos[ϕ]  + q Cos[ψ]  - 
              r Cos[ρ]  + s Cos[σ],  
            p Cos[ϕ] - q Cos[ψ]  - r Cos[ρ]  + 
              s Cos[σ], 
  p Sin[ϕ]  + 
              q Sin[ψ]  + r Sin[ρ]  + 
              s Sin[σ], -p Sin[ϕ] - q Sin[ψ]  + 
              r Sin[ρ]  + 
              s Sin[σ], 
-p Sin[ϕ]  + 
              q Sin[ψ]  - r Sin[ρ]  + s Sin[σ],  
            p Sin[ϕ]  - q Sin[ψ] - r Sin[ρ] + 
              s Sin[σ]}]/4

\(\(sh["O4a"] := 
        Module[{}, gp = {1, 0. , 1, 0. , 1, 0. , 1, 0. }; 
          gi = {1, \(-2\), 3, \(-4\), \(-5\), 6, \(-7\), 8, 1, 1, 1, 1}; 
          plex = {a, \(-b\), c, \(-d\), \(-e\), f, \(-g\), 
              h}; 
{\((a - c - f + h)\)\^2 + \((b - d + e - g)\)\^2, \((a - c + f - h)\)\^2 + \((b - d - e + g)\)\^2, 
\((a + c - f - h)\)\^2 + \((b + d + e + g)\)\^2, \((a + c + f + h)\)\^2 + \((b + d - e - g)\)\^2}];\)\)
\(\(sh["O4b"] := 
        Module[{}, gp = {1, 0. , 1, 0. , 1, 0. , 1, 0. }; 
          gi = {1, \(-2\), \(-3\), 4, \(-5\), 6, 7, \(-8\), 1, 1, 1, 1}; 
          plex = {a, \(-b\), \(-c\), d, \(-e\), f, 
              g, \(-h\)}; 
{\((\(-a\) + d + f + g)\)\^2 + \((b + c + e - h)\)\^2, \((a - d + f + g)\)\^2 + \((b + c - e + h)\)\^2, 
\((a + d - f + g)\)\^2 + \((b - c + e + h)\)\^2, \((a + d + f - g)\)\^2 + \((\(-b\) + c + e + h)\)\^2}];\)\)

\(sh["C4C4c"] := 
      Module[{}, gp = {1, 0. , 1, 0. , 1, 0. , 1, 0. }; 
        gi = {1, 4, 3, 2, \(-5\), \(-8\), \(-7\), \(-6\), 1, 1, 1, 1}; 
        plex = {a, \(-b\), c, \(-d\), \(-e\), f, \(-g\), 
            h}; {\((b - d + e - g)\)\^2 + \((a - c - f + h)\)\^2, \((b - d - e + g)\)\^2 + \((a - c + f - h)\)\^2, 
\((a - b + c - d)\)\^2 + \((e - f + g - h)\)\^2, \((a + b + c + d)\)\^2 + \((e + f + g + h)\)\^2}]; 
    toPol[{a_, b_, c_, d_, e_, f_, g_, h_}, "C4C4c"] := 
      Module[{aa, bb, ss, w}, 
        ss := aa^2 + bb^2; 
w := 
          Which[bb === 0 && aa < 0, π, bb == 0, 0, 
            aa == 0, π/2\ Sign[bb], True, ArcTan[aa, bb]]; {aa = 
            a - c - f + h; bb = b - d + e - g; ss, w, aa = a - c + f - h; 
          bb = b - d - e + g; ss, w, aa = a - b + c - d; bb = e - f + g - h; 
          ss, w, aa = a + b + c + d; bb = e + f + g + h; ss, w}];\)
toVec[{pp_, ϕ_, qq_, ψ_, rr_, ρ_, 
          ss_, σ_}, "C4C4c"] := 
      Module[{p = Sqrt[pp], q = Sqrt[qq], r = Sqrt[rr], 
          s = Sqrt[ss]}, {    p Cos[ϕ] + q Cos[ψ] + 
              r Cos[ρ] + s Cos[σ], 
 
            p Sin[ϕ] + q Sin[ψ] - r Cos[ρ] + 
              s Cos[σ], 
-p Cos[ϕ] - 
              q Cos[ψ] + r Cos[ρ] + 
              s Cos[σ], -p Sin[ϕ] - q Sin[ψ] - 
              r Cos[ρ] + 
              s Cos[σ], 
  p Sin[ϕ] - 
              q Sin[ψ] + r Sin[ρ] + 
              s Sin[σ], -p Cos[ϕ] + q Cos[ψ] - 
              r Sin[ρ] + 
              s Sin[σ], 
-p Sin[ϕ] + 
              q Sin[ψ] + r Sin[ρ] + 
              s Sin[σ],   p Cos[ϕ] - q Cos[ψ] - 
              r Sin[ρ] + s Sin[σ]}/4]

\(\(sh["C4C4r"] := 
        Module[{}, gp = {1, 0. , 1, 0. , 1, 0. , 1, 0. }; 
          gi = {1, \(-4\), 3, \(-2\), \(-5\), 8, \(-7\), 6, 1, 1, 1, 1}; 
          plex = {a, \(-b\), c, \(-d\), \(-e\), f, \(-g\), 
              h}; {\((b + d + e + g)\)\^2 + \((a + c - f - h)\)\^2, \((a + b - c - d)\)\^2 + \((e + f - g - h)\)\^2, \((a - b - c + d)\)\^2 + \((e - f - g + h)\)\^2, \((b + d - e - g)\)\^2 + \((a + c + f + h)\)\^2}];\)\)

sh["Q8C2r"] := 
        Module[{}, 
          gi = {1, 3, 2, -7, 5, -8, -4, -6, 1, 1, 1, 1, 2}; 
          gp = {1, 1, 1, 1, 1, 0. , 1, 0. }; 
          plex = {a, -b, -c, -d, e, -f, -g, -h}; {a - 
              b - c - d - e - f + g + h, a + b + c - d - e + f + g - h, 
            a + b + c + d - e - f - g + h, 
            a - b - c + d - e + f - g - 
              h, (a + e)^2 + (b - c)^2 + (d + g)^2 + (f + 
                    h)^2  }];
toPol[{a_, b_, c_, d_, e_, f_, g_, 
            h_}, "Q8C2r"] := 
{a - b - c - d - e - f + 
            g + h, a + b + c - d - e + f + g - h, 
          a + b + c + d - e - f - g + h, 
          a - b - c + d - e + f - g - h, (a + e)^2 + (b - c)^2, 
          ArcTan[a + e, b - c], (d + g)^2 + (f + h)^2 , 
          ArcTan[d + g, f + h]};
\(\(toVec[{α_, β_, γ_, δ_, ϵϵ_, σ_, ζζ_, θ_}, "Q8C2r"] := 
        Module[{ϵ = 4 \@ ϵϵ, ζ = 
              4 \@ ζζ}, 
{\ \ \ \ \ α + β + γ + δ + ϵ\ Cos[σ], \(-α\) + β + γ - δ + ϵ\ Sin[σ], \(-α\) + β + γ - δ - ϵ\ Sin[σ], \(-α\) - β + γ + δ + ζ\ Cos[θ], \(-α\) - β - γ - δ + ϵ\ Cos[σ], \(-α\) + β - γ + δ + ζ\ Sin[θ], \ \ α + β - γ - δ + ζ\ Cos[θ], \ \ \ α - β + γ - δ + ζ\ Sin[θ]}/8];\)\)

\(\(sh["C2D4r"] := 
        Module[{}, gi = {1, 2, 3, 4, \(-5\), \(-6\), 7, 8, 2, 2}; 
          gp = {1, 0. , 1, 0. , 1, 0. , 1, 0. }; 
          plex = {a, 
              b, \(-c\), \(-d\), \(-e\), \(-f\), \(-g\), \(-h\)}; {\((a + b)\)\^2 - \((c + d)\)\^2 + \((e + f)\)\^2 - \((g + h)\)\^2 (*repeated*) , \((a - b)\)\^2 - \((c - d)\)\^2 + \((e - f)\)\^2 - \((g - h)\)\^2 (*repeated*) }];\)\)
\(\(toPol[{a_, b_, c_, d_, e_, f_, g_, 
            h_}, "C2D4r"] := 
{\((a + b)\)\^2 + \((e + f)\)\^2, If[e == \(-f\), 0, 
            ArcTan[a + b, 
              e + f]], 
\((c + d)\)\^2 + \((g + h)\)\^2, 
          If[g == \(-h\), 0, 
            ArcTan[c + d, g + h]], \((a - b)\)\^2 + \((e - f)\)\^2, 
          If[e == f, 0, 
            ArcTan[a - b, 
              e - f]], 
\((c - d)\)\^2 + \((g - h)\)\^2, 
          If[g == h, 0, ArcTan[c - d, g - h]]};\)\)
\(\(toVec[{ϵϵ_, σ_, ζζ_, θ_, ηη_, ϕ_, κκ_, ψ_}, "C2D4r"] := 
        Module[{ϵ = \@ϵϵ, ζ = \@ζζ, η = \@ηη, κ = \@κκ}, 
{\ \ ϵ\ Cos[σ] + η\ Cos[ϕ], ϵ\ Cos[σ] - η\ Cos[ϕ], 
ζ\ Cos[θ] + κ\ Cos[ψ], ζ\ Cos[θ] - κ\ Cos[ψ], 
ϵ\ Sin[σ] + η\ Sin[ϕ], ϵ\ Sin[σ] - η\ Sin[ϕ], 
ζ\ Sin[θ] + κ\ Sin[ψ], ζ\ Sin[θ] - κ\ Sin[ψ]}/2];\)\)

\(\(sh["P8"] (*Signature\ \((1, 3)\)\ repeated*)  := 
        Module[{}, gi = {1, 2, 3, 4, 5, 6, 7, 8, 2, 2}; 
          gp = {1, 0. , 1, 0. , 1, 0. , 1, 0. }; 
          plex = {a, \(-b\), \(-c\), \(-d\), 
              e, \(-f\), \(-g\), \(-h\)}; 
{\((a + e)\)\^2 - \((b + f)\)\^2 - \((c + g)\)\^2 - \((d + h)\)\^2 (*repeated*) , \((a - e)\)\^2 - \((b - f)\)\^2 - \((c - g)\)\^2 - \((d - h)\)\^2 (*repeated*) }];\)\)
toPol[{a_, b_, c_, d_, e_, f_, g_, h_}, "P8"] := 
        Module[{}, 
          gp = {1, 0. , 1, 0. , 1, 0. , 1, 
              0. }; {(((a + e))^2) - (((b + f))^2), 
            arcTanh[a + e, 
              b + f], 
(((c + g))^2) + (((d + h))^2), 
            ArcTan[c + g, 
              d + h], 
(((a - e))^2) - (((b - f))^2), 
            arcTanh[a - e, 
              b - f], 
(((c - g))^2) + (((d - h))^2), 
            ArcTan[c - g, d - h]}];
toVec[{pp_, ϕ_, qq_, ψ_, rr_, ρ_, 
          ss_, σ_}, "P8"] := 
      Module[{p = Sqrt[pp], q = Sqrt[qq], r = Sqrt[rr], s = Sqrt[ss]}, { 
            p Cosh[ϕ] + r Cosh[ρ],  
            p Sinh[ϕ] + r Sinh[ρ] , 
            q Cos[ψ]   + s Cos[σ], 
            q Sin[ψ]   + 
              s Sin[σ], 
p Cosh[ϕ] - 
              r Cosh[ρ], p Sinh[ϕ] - r Sinh[ρ] , 
            q Cos[ψ] - s Cos[σ], 
            q Sin[ψ] - s Sin[σ]}]/2

\(\(sh["CL3"] := 
        Module[{}, gp =. ; 
          gi = {1, 2, 3, \(-4\), 5, \(-6\), \(-7\), \(-8\), 2}; 
          plex = {a, \(-b\), \(-c\), \(-d\), \(-e\), \(-f\), \(-g\), 
              h}; 
{4\ \((a\ h - b\ g + c\ f - d\ e)\)\^2 + \((a\^2 - b\^2 - c\^2 + d\^2 - e\^2 + f\^2 + g\^2 - h\^2)\)\^2}];\)\)
\(\(sh["CL12"] :=  (*\ CL3\ isotope*) Module[{}, gp =. ; 
          gi = {1, \(-2\), \(-3\), \(-4\), 5, 6, 7, \(-8\), 2}; 
          plex = {a, \(-b\), \(-c\), \(-d\), \(-e\), \(-f\), \(-g\), 
              h}; {4 \((a\ h - b\ g + c\ f - d\ e)\)\^2 + \((a\^2 + b\^2 + c\^2 + d\^2 - e\^2 - f\^2 - g\^2 - h\^2)\)\^2}];\)\)
\(sh["C4iC4c"] := 
      Module[{}, gi = {1, 4, 3, 2, \(-5\), \(-6\), \(-7\), \(-8\), 2, 1, 1}; 
        gp = {1, 1, 2, 1, 0. , 1, 0.  (*?*) }; 
        plex = {a, \(-b\), 
            c, \(-d\), \(-e\), \(-f\), \(-g\), \(-h\)}; {\((a - c)\)\^2 + \((b - d)\)\^2 + \((e - g)\)\^2 + \((f - h)\)\^2 (*repeated*) , 
\((a - b + c - d)\)\^2 + \((e - f + g - h)\)\^2, \((a + b + c + d)\)\^2 + \((e + f + g + h)\)\^2}]\)
\(sh["QC2r"] := 
      Module[{}, 
        gi = {1, 2, \(-3\), \(-4\), \(-5\), \(-6\), \(-7\), \(-8\), 2, 2}; 
        plex = {a, b, \(-c\), \(-d\), \(-e\), \(-f\), \(-g\), \(-h\)}; 
        gp = {1, 1, 1, 1, 0. , 1, 
            0.  (*?*) }; {\((a - b)\)\^2 + \((c - d)\)\^2 + \((e - f)\)\^2 + \((g - h)\)\^2, \((a + b)\)\^2 + \((c + d)\)\^2 + \((e + f)\)\^2 + \((g + h)\)\^2}]\)
\(sh["KiC4r"] := 
      Module[{}, gi = {1, 2, \(-3\), \(-8\), 5, 6, \(-7\), \(-4\), 2, 1, 1}; 
        plex = {a, \(-b\), \(-c\), \(-d\), e, \(-f\), \(-g\), \(-h\)}; 
        gp = {1, 1, 1, 1, 0. , 1, 
            0.  (*?*) }; {\((a - e)\)\^2 - \((b - f)\)\^2 + \((c - g)\)\^2 - \((d - h)\)\^2 (*repeated*) , \((a + b + e + f)\)\^2 + \((c - d + g - h)\)\^2, \((a - b + e - f)\)\^2 + \((c + d + g + h)\)\^2}]\)
\(\(sh["CL21"] := 
        Module[{}, gp = {1, 0. , 1, 0. , 1, 0. , 1, 0. }; 
          gi = {1, \(-2\), 3, 4, 5, 6, \(-7\), 8, 2, 2}; 
          plex = {a, \(-b\), \(-c\), \(-d\), \(-e\), \(-f\), \(-g\), 
              h}; 
{\((a - h)\)\^2 + \((b + g)\)\^2 - \((c + f)\)\^2 - \((d - e)\)\^2 (*repeated*) , \((a + h)\)\^2 + \((b - g)\)\^2 - \((c - f)\)\^2 - \((d + e)\)\^2 (*repeated*) }];\)\)
\(\(toPol[{a_, b_, c_, d_, e_, f_, g_, 
            h_}, "CL21"] := 
{ (*p, ϕ*) \((a - h)\)\^2 + \((b + g)\)\^2, 
          ArcTan[a - h, 
            b + g], 
 (*q, ψ*) \((c + f)\)\^2 + \((d - e)\)\^2, ArcTan[c + f, 
            d - e], 
 (*r, ρ*) \((a + h)\)\^2 + \((b - g)\)\^2, ArcTan[a + h, 
            b - g], 
 (*s, σ*) \((c - f)\)\^2 + \((d + e)\)\^2, ArcTan[c - f, d + e]};\)\)
\(\(toVec[{pp_, ϕ_, qq_, ψ_, rr_, ρ_, 
            ss_, σ_}, "CL21"] := 
        Module[{p = Sqrt[pp], q = Sqrt[qq], r = Sqrt[rr], 
            s = Sqrt[ss]}, { (*a*) \ 
              p\ Cos[ϕ]\  + r\ Cos[ρ],  (*b*) \ 
              p\ Sin[ϕ]\  + r\ Sin[ρ], 
 (*c*) 
                q\ Cos[ψ] + s\ Cos[σ],  (*d*) q\ Sin[ψ] + 
                s\ Sin[σ], 
 (*e*) \(-q\)\ Sin[ψ] + s\ Sin[σ],  (*f*) \ 
              q\ Cos[ψ] - s\ Cos[σ], 
 (*g*) \ 
              p\ Sin[ϕ]\  - 
                r\ Sin[ρ],  (*h*) \(-\ p\)\ Cos[ϕ] + 
                r\ Cos[ρ]}/2];\)\)
\(\(sh["CL03"] := 
        Module[{}, gp = {1, 0. , 1, 0. , 1, 0. , 1, 0. }; 
          gi = {1, \(-2\), \(-3\), \(-4\), \(-5\), \(-6\), \(-7\), 8, 2, 2}; 
          plex = {a, \(-b\), \(-c\), \(-d\), \(-e\), \(-f\), \(-g\), 
              h}; 
{\((a - h)\)\^2 + \((b + g)\)\^2 + \((c - f)\)\^2 + \((d + e)\)\^2 (*repeated*) , \((a + h)\)\^2 + \((b - g)\)\^2 + \((c + f)\)\^2 + \((d - e)\)\^2 (*repeated*) }];\)\)
\(\(toPol[{a_, b_, c_, d_, e_, f_, g_, 
            
            h_}, "CL03"] := 
{ (*p, ϕ*) \((a - h)\)\^2 + \((b + g)\)\^2, 
          ArcTan[a - h, 
            b + g], 
 (*q, ψ*) \((c - f)\)\^2 + \((d + e)\)\^2, ArcTan[c - f, 
            d + e], 
 (*r, ρ*) \((a + h)\)\^2 + \((b - g)\)\^2, ArcTan[a + h, 
            b - g], 
 (*s, σ*) \((c + f)\)\^2 + \((d - e)\)\^2, ArcTan[c + f, d - e]};\)\)
toVec[{pp_, ϕ_, qq_, ψ_, rr_, ρ_, 
          ss_, σ_}, "CL03"] := 
      Module[{p = Sqrt[pp], q = Sqrt[qq], r = Sqrt[rr], 
          s = Sqrt[ss]}, {   
            p Cos[ϕ]  + r Cos[ρ],    
            p Sin[ϕ]  + r Sin[ρ], 
  
              q Cos[ψ] + s Cos[σ],   q Sin[ψ] + 
              s Sin[σ], 
  q Sin[ψ] - 
              s Sin[σ],   -q Cos[ψ] + 
              s Cos[σ], 
   
            p Sin[ϕ]  - 
              r Sin[ρ],   - p Cos[ϕ] + 
              r Cos[ρ]}/2]

\(\(sh["Octi"] := 
        Module[{}, gi = {1, 2, \(-3\), 4, \(-5\), 6, \(-7\), 8, 4}; 
          gp = {1, 0. , 1, 0. , 1, 0. , 1, 0. }; 
          plex = {a, \(-b\), \(-c\), \(-d\), \(-e\), \(-f\), \(-g\), \(-h\)}; 
{a\^2 - b\^2 + c\^2 - d\^2 + e\^2 - f\^2 + g\^2 - 
              h\^2}];\)\)
toPol[{a_, b_, c_, d_, e_, f_, g_, h_}, "Octi"] := 
      Module[{}, {(a^2) + (c^2), ArcTan[a, c], (b^2) + (d^2), ArcTan[b, d], 
          (e^2) + (g^2), ArcTan[e, g], (f^2) + (h^2), ArcTan[f, h]}]
toVec[{pp_, ϕ_, qq_, ψ_, rr_, ρ_, 
          ss_, σ_}, "Octi"] := 
      Module[{p = Sqrt[pp], q = Sqrt[qq], r = Sqrt[rr], 
          s = Sqrt[ss]}, {p Cos[ϕ] , q Cos[ψ], p Sin[ϕ] , 
          q Sin[ψ] , r Cos[ρ] , s Cos[σ], 
          r Sin[ρ], s Sin[σ]}]

\(\(sh["Q8n"] := 
        Module[{},  (*L2\ shapes\ not\ conserved*) 
            gp = {1, 1, 1, 1, 1, 0. , 1, 0. }; plex =. ; 
          gi = {1, 2, 3, 4, 5, 6, 7, 8, 1, 1, 1, 1, 1, 
              1}; 
{a + b + c + d + e + f + g + h, 
            a + b - c - d + e + f - g - h, 
a - b + c - d + 
              e - f + g - h, 
            a + b + c + d + e + f + g + 
              h, \((a - e)\)\^2 - \((b - f)\)\^2 - \((c - g)\)\^2 - \((d - h)\)\^2, \((a - e)\)\^2 + \((b - f)\)\^2 + \((c - g)\)\^2 + \((d - h)\)\^2}];\)\)

\(\(sh["C3C3"] := 
        Module[{}, gi = {1, 3, 2, 7, 9, 8, 4, 6, 5, 1, 1, 1, 1, 1}; 
          gp = {1, 1, 0. , 1, 0. , 1, 0. , 1, 0. }; 
          plex = {a, c, b, g, i, h, d, f, 
              e}; {\((a + b + c + d + e + f + g + h + 
                i)\)\ , 
\((\((a - b - d + f + h - i)\)\^2 + \((b - c + d - e + i - g)\)\^2 + \((\(-a\) + c + e - f + g - h)\)\^2)\)/
              2, \((\((a - b + e - f - g + i)\)\^2 + \((b - c - d + f + g - h)\)\^2 + \((a - c - d + e - h + i)\)\^2)\)/
              2, \((\((a - b + d - e + g - h)\)\^2 + \((b - c + e - f + h - i)\)\^2 + \((c - a + f - d + i - g)\)\^2)\)/
              2, \((\((a + b + c - d - e - f)\)\^2 + \((d + e + f - g - h - i)\)\^2 + \((a + b + c - g - h - i)\)\^2)\)/2}];\)\)

\(\(toPol[{a_, b_, c_, d_, e_, f_, g_, h_, i_}, "C3C3"] := {a + b + 
            c + d + e + f + g + h + 
            i, \((\((a - b - d + f + h - i)\)\^2 + \((b - c + d - e + i - g)\)\^2 + \((\(-a\) + c + e - f + g - h)\)\^2)\)/2, 
ArcTan[
            2\ a - b - c - d - e + 2\ f - g + 2\ h - 
              i, \(-Sqrt[3]\) \((b - c + d - e + i - 
                  g)\)], 
\((\((a - b + e - f - g + i)\)\^2 + \((b - c - d + f + g - h)\)\^2 + \((a - c - d + e - h + i)\)\^2)\)/
            2, 
ArcTan[
            2\ a - b - c - d + 2\ e - f - g - h + 
              2\ i, \(-Sqrt[3]\) \((b - c - d + f + g - 
                  h)\)], 
\((\((a - b + d - e + g - h)\)\^2 + \((b - c + e - f + h - i)\)\^2 + \((c - a + f - d + i - g)\)\^2)\)/
            2, 
ArcTan[
            2\ a - b - c + 2\ d - e - f + 2\ g - h - 
              i, \(-Sqrt[3]\) \((b - c + e - f + h - 
                  i)\)], 
\((\((a + b + c - d - e - f)\)\^2 + \((d + e + f - g - h - i)\)\^2 + \((a + b + c - g - h - i)\)\^2)\)/
            2, 
ArcTan[
            2\ a + 2\ b + 2\ c - d - e - f - g - h - 
              i, \(-Sqrt[3]\) \((d + e + f - g - h - i)\)]};\)\)
\(toVec[{α_, ζ2_, θ_, η2_, ϑ_, κ2_, ϰ_, λ2_, ϕ_}, "C3C3"] := 
      Module[{ζ = \@ζ2, η = \@η2, κ = \@κ2, λ = \@λ2}, 
{\ \ α + 
              2  ζ\ Cos[θ]\ \ \ \ \ \ \ \ \ \ \ \ \ \ \  + 
              2  η\ Cos[ϑ]\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \  + 
              2  κ\ Cos[ϰ]\ \ \ \ \ \ \ \ \ \ \ \ \ \ \  + 
              2  λ\ Cos[ϕ], \ α + 
              2  ζ\ Cos[θ + 2  π/3] + 
              2  η\ Cos[ϑ + 2  π/3] + 
              2  κ\ Cos[ϰ + 2  π/3] + 
              2  λ\ Cos[ϕ], 
α + 
              2  ζ\ Cos[θ + 4  π/3] + 
              2  η\ Cos[ϑ + 4  π/3] + 
              2  κ\ Cos[ϰ + 4  π/3] + 
              2  λ\ Cos[ϕ], α + 
              2  ζ\ Cos[θ + 2  π/3] + 
              2  η\ Cos[ϑ + 4  π/3] + 
              2  κ\ Cos[ϰ]\ \ \ \ \ \ \ \ \ \ \ \ \ \ \  + 
              2  λ\ Cos[ϕ + 
                    2  π/3], 
α + 
              2  ζ\ Cos[θ + 4  π/3] + 
              2  η\ Cos[ϑ]\ \ \ \ \ \ \ \ \ \ \ \ \ \ \  + 
              2  κ\ Cos[ϰ + 2  π/3] + 
              2  λ\ Cos[ϕ + 2  π/3], \ α + 
              2  ζ\ Cos[θ]\ \ \ \ \ \ \ \ \ \ \ \ \ \ \  + 
              2  η\ Cos[ϑ + 2  π/3] + 
              2  κ\ Cos[ϰ + 4  π/3] + 
              2  λ\ Cos[ϕ + 
                    2  π/3], 
α + 
              2  ζ\ Cos[θ + 4  π/3] + 
              2  η\ Cos[ϑ + 2  π/3] + 
              2  κ\ Cos[ϰ]\ \ \ \ \ \ \ \ \ \ \ \ \ \ \  + 
              2  λ\ Cos[ϕ + 4  π/3], \ α + 
              2  ζ\ Cos[θ]\ \ \ \ \ \ \ \ \ \ \ \ \ \ \  + 
              2  η\ Cos[ϑ + 4  π/3] + 
              2  κ\ Cos[ϰ + 2  π/3] + 
              2  λ\ Cos[ϕ + 4  π/3], \ α + 
              2  ζ\ Cos[θ + 2  π/3] + 
              2  η\ Cos[ϑ]\ \ \ \ \ \ \ \ \ \ \ \ \ \ \  + 
              2  κ\ Cos[ϰ + 4  π/3] + 
              2  λ\ Cos[ϕ + 4  π/3]}/9]\)

\(\(sh["C6C3c"] := 
        Module[{}, gi = {1, 3, 2, 9, 8, 7, 6, 5, 4, 1, 1, 1, 1, 1}; 
          gp = {1, 1, 1, 1, 1, 1, 0. , 1, 0. , 1, 0. , 1, 0.  (*?*) }; 
          plex =. ; {a + b + c - d + e + f + g + h - 
              i, 
\ \((\((a + b + c + d - e - f)\)\^2 + \((a + b + c - g - h + i)\)\^2 + \((\(-d\) + e + f - g - h + i)\)\^2)\)/
              2, \ \((\((a - c + d + e - g + h)\)\^2 + \((b - c + d + f - g - i)\)\^2 + \((a - b + e - f + h + i)\)\^2)\)/
              2, \ \((\((a - b + d + f + g - h)\)\^2 + \((a - c - e + f + g + i)\)\^2 + \((b - c - d - e + h + i)\)\^2)\)/
              2, \((\((b - c + e - f + g - h)\)\^2 + \((a - b - d - e - g - i)\)\^2 + \((a - c - d - f - h - i)\)\^2)\)/2}];\)\)

8.10 Shapes, Polar-Vector, Hyperbolics, sh, toPol, toVec, tohyPol, tohyVec for 12 element loops.

\(\(sh["C3C4"] := 
        Module[{}, 
gi = {1, 3, 2, 10, 12, 11, 7, 9, 8, 4, 
              6, 5, 1, 1, 1, 1, 1, 1, 1}; 
gp = {1, 1, 1, 
              0. , 1, 0. , 1, 0. , 1, 0. , 1, 0. }; 
          plex = {a, c, b, d, f, e, g, i, h, j, l, k}; {a + b + c + d + e + 
              f + g + h + i + j + k + l, 
            a + b + c - d - e - f + g + h + i - j - k - 
              l, 
\((a + b + c - g - h - i)\)\^2 + \((d + e + f - j - k - l)\)\^2, 
	\((\((a - b + d - e + g - h + j - k)\)\^2 + \((b - c + e - f + h - i + k - l)\)\^2 + \((\(-a\) + c - d + f - g + i - j + l)\)\^2)\)/
              2, 
\((\((a - b - d + e + g - h - j + k)\)\^2 + \((b - c - e + f + h - i - k + l)\)\^2 + \((\(-a\) + c + d - f - g + i + j - l)\)\^2)\)/
              2, \((\((\((a + b - 2  c - g - h + 2  i)\) r3 - d + e + j - k)\)\^2 + \((a - b - g + h + \((d + e - 2  f - j - k + 2  l)\) r3)\)\^2)\) 
              3/4, \((\((\((a + b - 2  c - g - h + 2  i)\) r3 + d - e - j + k)\)\^2 + \((a - b - g + h - \((d + e - 2  f - j - k + 2  l)\) r3)\)\^2)\) 
              3/4}];\)\)

\(\(toVec[{α_, β_, ϵϵ_, σ_, ζζ_, τ_, λλ_, ϕ_, ηη_, χ_, κκ_, ψ_}, "C3C4"] := 
Module[{ϵ = 2 \@ ϵϵ, ζ = 
              2 \@ ζζ, λ = 
              2 \@ λλ, η = \@\(3  ηη\), κ = \@\(3  κκ\), x = χ + π/6, 
            y = ψ + π/
                  6}, 
{α + β + ϵ\ Cos[σ] + ζ\ Cos[τ] + λ\ Cos[ϕ] + η\ Cos[
                    x] + η\ r3\ Sin[x] + κ\ Cos[
                    y] + κ\ r3\ Sin[
                    y], 
α + β + ϵ\ Cos[σ] + ζ\ Cos[τ + ω] + λ\ Cos[ϕ + ω] - η\ Cos[x] + η\ r3\ Sin[x] - κ\ Cos[
                    y] + κ\ r3\ Sin[
                    y], 
α + β + ϵ\ Cos[σ] + ζ\ Cos[τ - ω] + λ\ Cos[ϕ - ω] - 2  η\ r3\ Sin[x] - 
                2  κ\ r3\ Sin[
                    y], 
α - β + ϵ\ Sin[σ] + ζ\ Cos[τ] - λ\ Cos[ϕ] + η\ r3\ Cos[x] - η\ Sin[x] - κ\ r3\ Cos[y] + κ\ Sin[
                    y], 
α - β + ϵ\ Sin[σ] + ζ\ Cos[τ + ω] - λ\ Cos[ϕ + ω] + η\ r3\ Cos[x] + η\ Sin[x] - κ\ r3\ Cos[
                    y] - κ\ Sin[
                    y], 
α - β + ϵ\ Sin[σ] + ζ\ Cos[τ - ω] - λ\ Cos[ϕ - ω] - 2  η\ r3\ Cos[x] + 
                2  κ\ r3\ Cos[
                    y], 
α + β - ϵ\ Cos[σ] + ζ\ Cos[τ] + λ\ Cos[ϕ] - η\ Cos[
                    x] - η\ r3\ Sin[x] - κ\ Cos[
                    y] - κ\ r3\ Sin[
                    y], 
α + β - ϵ\ Cos[σ] + ζ\ Cos[τ + ω] + λ\ Cos[ϕ + ω] + η\ Cos[x] - η\ r3\ Sin[x] + κ\ Cos[
                    y] - κ\ r3\ Sin[
                    y], 
α + β - ϵ\ Cos[σ] + ζ\ Cos[τ - ω] + λ\ Cos[ϕ - ω] + 2  η\ r3\ Sin[x] + 
                2  κ\ r3\ Sin[
                    y], 
α - β - ϵ\ Sin[σ] + ζ\ Cos[τ] - λ\ Cos[ϕ] - η\ r3\ Cos[x] + η\ Sin[x] + κ\ r3\ Cos[y] - κ\ Sin[
                    y], 
α - β - ϵ\ Sin[σ] + ζ\ Cos[τ + ω] - λ\ Cos[ϕ + ω] - η\ r3\ Cos[x] - η\ Sin[x] + κ\ r3\ Cos[
                    y] + κ\ Sin[
                    y], 
α - β - ϵ\ Sin[σ] + ζ\ Cos[τ - ω] - λ\ Cos[ϕ - ω] + 2  η\ \ r3\ Cos[x] - 2  κ\ r3\ Cos[y]}/
            12];\)\)

Note that {ϵ,σ} defines 4-phases, {ζ,τ} 3 phases, {λ,ϕ} 6 phases and both {η,χ} and {κ,ψ} 12 phases. The {η,χ} and {κ,ψ} systems are shown by the following plots:-

vv := 
        toVec[{0, 0, 0, 0, 0, 0, 0, 0, 36, χ, 0, 
            0}, "C3C4"];
Plot[{vv[[1]], vv[[2]], vv[[3]], vv[[4]], vv[[5]], 
        vv[[6]], vv[[7]], vv[[8]], vv[[9]], vv[[10]], 
        vv[[11]], vv[[12]]}, {χ, 0, 2  Pi}]; 
    vv := toVec[{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
          36, ψ}, "C3C4"];
Plot[{vv[[1]], vv[[2]], vv[[3]], vv[[4]], 
          vv[[5]], vv[[6]], vv[[7]], vv[[8]], vv[[9]], 
          vv[[10]], vv[[11]], vv[[12]]}, {ψ, 0, 
          2  Pi}];

Six of the 12 phases cancel if {η,χ} = {κ,ψ} (displacement introduced to separate phases):-

vv := 
        toVec[{0, 0, 0, 0, 0, 0, 0, 0, 1, χ, 
            1, χ}, "C3C4"];
Plot[{vv[[1]], vv[[2]] +  .01, vv[[3]] +  .02, 
          vv[[4]] +  .03, vv[[5]] +  .04, vv[[6]] +  .05, 
          vv[[7]] +  .06, vv[[8]] +  .07, vv[[9]] +  .08, 
          vv[[10]] +  .09, vv[[11]] +  .1, 
          vv[[12]] +  .11}, {χ, 0, 2  Pi}];

toPol[{a_, b_, c_, d_, e_, f_, g_, h_, i_, j_, k_, 
            l_}, "C3C4"] := 
Module[{ϵ, 
            r = -Sqrt[3], e1 = a + b + c - g - h - i, 
            e2 = d + e + f - j - k - l, 
a1 = 
              a - b + d - e + g - h + j - k, 
            a2 = a - b - d + e + g - h - j + k, 
b1 = 
              Chop[FullSimplify[b - c + e - f + h - i + k - l]], 
            b2 = Chop[
                FullSimplify[
                  b - c - e + f + h - i - k + l]], 
c1 = 
              c - a + f - d + i - g + l - j, 
            c2 = c - a - f + d + i - g - l + j, 
            f1 = a - b - g + 
                h + (d + e - 2 f - j - k + 2  l) 
                  r3, 
f2 = (a + b - 2  c - g - h + 
                      2  i) r3 - d + e + j - k, 
f3 = 
              a - b - g + 
                h - (d + e - 2 f - j - k + 2  l) 
                  r3, 
f4 = (a + b - 2  c - g - h + 
                      2  i) r3 + d - e - j + 
                k}, 
Chop[{a + b + c + d + e + f + g + h + 
                i + j + k + l, 
              a + b + c - d - e - f + g + h + i - j - k - 
                l, 
ϵ = (e1^2) + (e2^2), 
              If[ϵ == 0 && e2 == 0, 0, ArcTan[e1, e2], 
                ArcTan[e1, 
                  e2]], 
((a1^2) + (b1^2) + (c1^2))/2, 
              If[b1 == 0, 0, 
                ArcTan[a1 - c1, 
                  r b1]], 
((a2^2) + (b2^2) + (c2^2))/2, 
              If[b2 == 0, 0, 
                ArcTan[a2 - c2, 
                  r b2]], 
((f1^2) + (f2^2)) 3/4, 
              If[f2 == 0, -π/6, 
                ArcTan[f1, f2] - π/6], 
((f3^2) + 
                    (f4^2)) 3/4, 
              If[f4 == 0, -π/6, 
                ArcTan[f3, f4] - π/6]}]];

\(\(sh["C3K"] := 
        Module[{}, 
          gi = {1, 3, 2, 4, 6, 5, 7, 9, 8, 10, 12, 11, 1, 1, 1, 1, 1, 1, 1, 
              1}; 
gp = {1, 1, 1, 1, 1, 0. , 1, 0. , 1, 
              0. , 1, 0. }; 
          plex = {a, b, c, \(-d\), \(-e\), \(-f\), g, h, 
              i, \(-j\), \(-k\), \(-l\)}; 
{a + b + c + d + 
              e + f + g + h + i + j + k + l, 
            a + b + c - d - e - f + g + h + i - j - k - 
              l, 
a + b + c + d + e + f - g - h - i - j - 
              k - l, a + b + c - d - e - f - g - h - i + j + k + 
              l, 
	\((\((a - b + d - e + g - h + j - k)\)\^2 + \((b - c + e - f + h - i + k - l)\)\^2 + \((c - a + f - d + i - g + l - j)\)\^2)\)/
              2, \((\((a - b - d + e + g - h - j + k)\)\^2 + \((b - c - e + f + h - i - k + l)\)\^2 + \((c - a - f + d + i - g - l + j)\)\^2)\)/
              2, \((\((a - b + d - e - g + h - j + k)\)\^2 + \((b - c + e - f - h + i - k + l)\)\^2 + \((c - a + f - d - i + g - l + j)\)\^2)\)/
              2, \((\((a - b - d + e - g + h + j - k)\)\^2 + \((b - c - e + f - h + i + k - l)\)\^2 + \((c - a - f + d - i + g + l - j)\)\^2)\)/
              2}];\)\)
toPol[{a_, b_, c_, d_, e_, f_, g_, h_, i_, j_, k_, l_}, "C3K"] := 
        Module[{r = -Sqrt[3], a1 = a - b + d - e + g - h + j - k, 
            a2 = a - b - d + e + g - h - j + k, 
a3 = 
              a - b + d - e - g + h - j + k, 
            a4 = a - b - d + e - g + h + j - k, 
b1 = 
              Chop[FullSimplify[b - c + e - f + h - i + k - l]], 
            b2 = Chop[
                FullSimplify[
                  b - c - e + f + h - i - k + l]], 
b3 = 
              Chop[FullSimplify[b - c + e - f - h + i - k + l]], 
            b4 = Chop[
                FullSimplify[
                  b - c - e + f - h + i + k - l]], 
c1 = 
              c - a + f - d + i - g + l - j, 
            c2 = c - a - f + d + i - g - l + j, 
c3 = 
              c - a + f - d - i + g - l + j, 
            c4 = c - a - f + d - i + g + l - j}, 
Chop[{a + 
                b + c + d + e + f + g + h + i + j + k + l, 
              a + b + c - d - e - f + g + h + i - j - k - 
                l, 
a + b + c + d + e + f - g - h - i - j - 
                k - l, 
              a + b + c - d - e - f - g - h - i + j + k + 
                l, 
((a1^2) + (b1^2) + (c1^2))/2, 
              If[b1 == 0, 0, 
                ArcTan[a1 - c1, 
                  r b1]], 
((a2^2) + (b2^2) + (c2^2))/2, 
              If[b2 == 0, 0, 
                ArcTan[a2 - c2, 
                  r b2]], 
((a3^2) + (b3^2) + (c3^2))/2, 
              If[b3 == 0, 0, 
                ArcTan[a3 - c3, 
                  r b3]], 
((a4^2) + (b4^2) + (c4^2))/2, 
              If[b4 == 0, 0, ArcTan[a4 - c4, r b4]]}]];

\(toVec[{α_, β_, γ_, δ_, ζζ_, τ_, λλ_, ϕ_, ηη_, χ_, κκ_, ψ_}, "C3K"] := 
Module[{ζ = 
            2 \@ ζζ, λ = 
            2 \@ λλ, η = 2 \@ ηη, κ = 
            2 \@ κκ}, 
{\ \ α + β + γ + δ + ζ\ Cos[τ]\ \ \ \ \ \  + λ\ Cos[ϕ]\ \ \ \ \  + η\ Cos[χ]\ \ \ \ \ \  + κ\ Cos[ψ], 
α + β + γ + δ + ζ\ Cos[τ + ω] + λ\ Cos[ϕ + ω] + η\ Cos[χ + ω] + κ\ Cos[ψ + ω], \ 
α + β + γ + δ + ζ\ Cos[τ - ω] + λ\ Cos[ϕ - ω] + η\ Cos[χ - ω] + κ\ Cos[ψ - ω], 
α - β + γ - δ + ζ\ Cos[τ]\ \ \ \ \ \  - λ\ Cos[ϕ]\ \ \ \ \  + η\ Cos[χ]\ \ \ \ \ \  - κ\ Cos[ψ]\ , 
α - β + γ - δ + ζ\ Cos[τ + ω] - λ\ Cos[ϕ + ω] + η\ Cos[χ + ω] - κ\ Cos[ψ + ω], 
α - β + γ - δ + ζ\ Cos[τ - ω] - λ\ Cos[ϕ - ω] + η\ Cos[χ - ω] - κ\ Cos[ψ - ω], 
α + β - γ - δ + ζ\ Cos[τ]\ \ \ \ \ \  + λ\ Cos[ϕ]\ \ \ \ \  - η\ Cos[χ]\ \ \ \ \ \  - κ\ Cos[ψ]\ , 
α + β - γ - δ + ζ\ Cos[τ + ω] + λ\ Cos[ϕ + ω] - η\ Cos[χ + ω] - κ\ Cos[ψ + ω], 
α + β - γ - δ + ζ\ Cos[τ - ω] + λ\ Cos[ϕ - ω] - η\ Cos[χ - ω] - κ\ Cos[ψ - ω], 
α - β - γ + δ + ζ\ Cos[τ]\ \ \ \ \ \  - λ\ Cos[ϕ]\ \ \ \ \  - η\ Cos[χ]\ \ \ \ \ \  + κ\ Cos[ψ]\ , 
α - β - γ + δ + ζ\ Cos[τ + ω] - λ\ Cos[ϕ + ω] - η\ Cos[χ + ω] + κ\ Cos[ψ + ω], 
α - β - γ + δ + ζ\ Cos[τ - ω] - λ\ Cos[ϕ - ω] - η\ Cos[χ - ω] + κ\ Cos[ψ - ω]}/12]\)

Note that in C3K,  {ζ,τ} defines 3 phases, {λ,ϕ} {η,χ} and {κ,ψ} 6 phases in different sequences. 12 equal phases arise if {η,χ} = {κ,ψ+π/2}. These systems are shown by the following plots:-

vv := 
        toVec[{0, 0, 0, 0, 1, τ, 0, 0, 0, 0, 0, 
            0}, "C3K"];
Plot[{vv[[1]], vv[[2]], vv[[3]], vv[[4]], 
          vv[[5]], vv[[6]], vv[[7]], vv[[8]], vv[[9]], 
          vv[[10]], vv[[11]], vv[[12]]}, {τ, 0, 
          2  π}];
vv := 
        toVec[{0, 0, 0, 0, 0, 0, 1, ϕ, 0, 0, 0, 
            0}, "C3K"];
Plot[{vv[[1]], vv[[2]], vv[[3]], vv[[4]], 
          vv[[5]], vv[[6]], vv[[7]], vv[[8]], vv[[9]], 
          vv[[10]], vv[[11]], vv[[12]]}, {ϕ, 0, 
          2  π}];
vv := 
        toVec[{0, 0, 0, 0, 0, 0, 0, 0, 1, η, 0, 
            0}, "C3K"];
Plot[{vv[[1]], vv[[2]], vv[[3]], vv[[4]], 
          vv[[5]], vv[[6]], vv[[7]], vv[[8]], vv[[9]], 
          vv[[10]], vv[[11]], vv[[12]]}, {η, 0, 
          2  π}];
vv := 
        toVec[{0, 0, 0, 0, 0, 0, 0, 0, 1, ψ, 
            1, ψ + π/2}, "C3K"];
Plot[{vv[[1]], vv[[2]], vv[[3]], vv[[4]], 
          vv[[5]], vv[[6]], vv[[7]], vv[[8]], vv[[9]], 
          vv[[10]], vv[[11]], vv[[12]]}, {ψ, 0, 
          2  π}];

\(\(sh["Q12"] := 
        Module[{}, 
          gi = {1, 3, 2, 10, 11, 12, 7, 9, 8, 4, 5, 6, 1, 1, 1, 2, 
              2}; 
gp = {1, 1, 1, 0. , 1, 0. , 1, 0. , 1, 
              0. , 1, 0. }; 
          plex =. ; 
{a + b + c + d + e + f + g + h + i + 
              j + k + l, 
            a + b + c - d - e - f + g + h + i - j - k - 
              l, \((a + b + c - g - h - i)\)\^2 + \((d + e + f - j - k - l)\)\^2, 
\((\((\(-b\) + c - h + i)\)\^2 + \((a - c + g - i)\)\^2 + \((a - b + g - h)\)\^2 - \((\(-e\) + f - k + l)\)\^2 - \((d - f + j - l)\)\^2 - \((d - e + j - k)\)\^2)\)/
              2, 
\((\((\(-b\) + c + h - i)\)\^2 + \((a - c - g + i)\)\^2 + \((a - b - g + h)\)\^2 + \((\(-e\) + f + k - l)\)\^2 + \((d - f - j + l)\)\^2 + \((d - e - j + k)\)\^2)\)/2}];\)\)
toPol[{a_, b_, c_, d_, e_, f_, g_, h_, i_, j_, k_, l_}, "Q12"] := 
        Module[{ϵ, r = -Sqrt[3], g1 = a + b + c - g - h - i, 
            g2 = d + e + f - j - k - l, 
a1 = 
              a - b + g - h, 
            a2 = a - b - g + h, 
b1 = 
              Chop[FullSimplify[b - c + h - i]], 
            b2 = Chop[
                FullSimplify[
                  b - c - h + i]], 
c1 = -a + c - g + 
                i, c2 = -a + c + g - i, 
d1 = 
              d - e + j - k, 
            d2 = d - e - j + k, 
e1 = 
              Chop[FullSimplify[e - f + k - l]], 
            e2 = Chop[
                FullSimplify[
                  e - f - k + l]], 
f1 = -d + f - j + 
                l, f2 = -d + f + j - l}, 
Chop[{a + b + 
                c + d + e + f + g + h + i + j + k + l, 
              a + b + c - d - e - f + g + h + i - j - k - 
                l, 
ϵ = (g1^2) + (g2^2), 
              If[ϵ == 0 && g2 == 0, 0, ArcTan[g1, g2], 
                ArcTan[g1, 
                  g2]], 
((a1^2) + (b1^2) + (c1^2))/2, 
              If[b1 == 0, 0, 
                ArcTan[a1 - c1, 
                  r b1]], 
((d1^2) + (e1^2) + (f1^2))/2, 
              If[e1 == 0, 0, 
                ArcTan[d1 - f1, 
                  r e1]], 
((a2^2) + (b2^2) + (c2^2))/2, 
              If[b2 == 0, 0, 
                ArcTan[a2 - c2, 
                  r b2]], 
((d2^2) + (e2^2) + (f2^2))/2, 
              If[e2 == 0, 0, ArcTan[d2 - f2, r e2]]}]];

\(\(toVec[{α_, β_, ϵϵ_, σ_, ζζ_, τ_, λλ_, ϕ_, ηη_, χ_, κκ_, ψ_}, "Q12"] := 
Module[{ϵ = 2 \@ ϵϵ, ζ = 
              4 \@ ζζ, λ = 
              4 \@ λλ, η = 4 \@ ηη, κ = 
              4 \@ κκ}, {\ \ α + β + ϵ\ \ Cos[σ] + ζ\ Cos[τ]\ \ \ \ \  + η\ Cos[χ], 
α + β + ϵ\ \ Cos[σ] + ζ\ Cos[τ + ω] + η\ Cos[χ + ω], \ 
α + β + ϵ\ \ Cos[σ] + ζ\ Cos[τ - ω] + η\ Cos[χ - ω], 
α - β + ϵ\ \ Sin[σ]\ \  + λ\ Cos[ϕ]\ \ \ \ \ \ \ \  + κ\ Cos[ψ]\ , 
α - β + ϵ\ \ Sin[σ]\ \  + λ\ Cos[ϕ + ω]\ \  + κ\ Cos[ψ + ω], 
α - β + ϵ\ \ Sin[σ]\ \  + λ\ Cos[ϕ - ω]\ \  + κ\ Cos[ψ - ω], 
α + β - ϵ\ \ Cos[σ] + ζ\ Cos[τ]\ \ \ \ \  - η\ Cos[χ]\ \ , 
α + β - ϵ\ \ Cos[σ] + ζ\ Cos[τ + ω] - η\ Cos[χ + ω], 
α + β - ϵ\ \ Cos[σ] + ζ\ Cos[τ - ω] - η\ Cos[χ - ω], 
α - β - ϵ\ \ Sin[σ]\ \  + λ\ Cos[ϕ]\ \ \ \ \ \ \ \  - κ\ Cos[ψ]\ , 
α - β - ϵ\ \ Sin[σ]\ \  + λ\ Cos[ϕ + ω]\ \  - κ\ Cos[ψ + ω], 
α - β - ϵ\ \ Sin[σ]\ \  + λ\ Cos[ϕ - ω]\ \  - κ\ Cos[ψ - ω]}/
            12];\)\)

\(\(sh["D3C2"] := 
        Module[{}, 
          gi = {1, 3, 2, 4, 5, 6, 7, 9, 8, 10, 11, 12, 1, 1, 1, 1, 2, 
              2}; 
gp = {1, 1, 1, 1, 1, 0. , 1, 0. , 1, 
              0. , 1, 0. }; 
          plex =. ; 
{a + b + c + d + e + f + g + h + i + 
              j + k + l, 
            a + b + c - d - e - f + g + h + i - j - k - 
              l, 
a + b + c + d + e + f - g - h - i - j - 
              k - l, a + b + c - d - e - f - g - h - i + j + k + 
              l, 
	\((\((a - b + g - 
                        h)\)^2 + \((b - c + h - i)\)\^2 + \((\(-a\) + c - g + i)\)\^2 - 
	\ \((\(-d\) + e - j + k)\)\^2 - \((\(-e\) + f - k + l)\)\^2 - \((d - f + j - l)\)\^2)\)/
              2, 
	\((\((a - b - g + h)\)\^2 + \((b - c - h + i)\)\^2 + \((\(-a\) + c + g - i)\)\^2 - 
	\ \ \ \((\(-d\) + e + j - k)\)\^2 - \((\(-e\) + f + k - l)\)\^2 - \((d - f - j + l)\)\^2)\)/2}];\)\)

toPol[{a_, b_, c_, d_, e_, f_, g_, h_, i_, j_, k_, l_}, "D3C2"] := 
        Module[{r = -Sqrt[3], a1 = a - b + g - h, 
            a2 = -d + e - j + k, a3 = a - b - g + h, 
            a4 = -d + e + j - k, 
b1 = 
              Chop[FullSimplify[b - c + h - i]], 
            b2 = Chop[
                FullSimplify[-e + f - k + l]], 
b3 = 
              Chop[FullSimplify[b - c - h + i]], 
            b4 = Chop[
                FullSimplify[-e + f + k - 
                    l]], 
c1 = -a + c - g + i, 
            c2 = d - f + j - l, c3 = -a + c + g - i, 
            c4 = d - f - j + l}, 
Chop[{a + b + c + d + e + 
                f + g + h + i + j + k + l, 
              a + b + c - d - e - f + g + h + i - j - k - 
                l, 
a + b + c + d + e + f - g - h - i - j - 
                k - l, a + b + c - d - e - f - g - h - i + j + k + 
                l, 
((a1^2) + (b1^2) + (c1^2))/2, 
              If[b1 == 0, 0, 
                ArcTan[a1 - c1, 
                  r b1]], 
((a2^2) + (b2^2) + (c2^2))/2, 
              If[b2 == 0, 0, 
                ArcTan[a2 - c2, 
                  r b2]], 
((a3^2) + (b3^2) + (c3^2))/2, 
              If[b3 == 0, 0, 
                ArcTan[a3 - c3, 
                  r b3]], 
((a4^2) + (b4^2) + (c4^2))/2, 
              If[b4 == 0, 0, ArcTan[a4 - c4, r b4]]}]];

\(toVec[{α_, β_, γ_, δ_, ζζ_, τ_, λλ_, ϕ_, ηη_, χ_, κκ_, ψ_}, "D3C2"] := 
Module[{ζ = 
            4 \@ ζζ, λ = 
            4 \@ λλ, η = 4 \@ ηη, κ = 
            4 \@ κκ}, {\ \ \ \ \ \ 
α + β + γ + δ + ζ\ Cos[τ]\ \ \ \ \ \  + η\ Cos[χ], 
α + β + γ + δ + ζ\ Cos[τ + ω] + η\ Cos[χ + ω], \ 
α + β + γ + δ + ζ\ Cos[τ - ω] + η\ Cos[χ - ω], 
α - β + γ - δ - λ\ Cos[ϕ]\ \ \ \ \ \  - κ\ Cos[ψ]\ , 
α - β + γ - δ - λ\ Cos[ϕ + ω] - κ\ Cos[ψ + ω], 
α - β + γ - δ - λ\ Cos[ϕ - ω] - κ\ Cos[ψ - ω], 
α + β - γ - δ + ζ\ Cos[τ]\ \ \ \ \ \  - η\ Cos[χ]\ , 
α + β - γ - δ + ζ\ Cos[τ + ω] - η\ Cos[χ + ω], 
α + β - γ - δ + ζ\ Cos[τ - ω] - η\ Cos[χ - ω], 
α - β - γ + δ - λ\ Cos[ϕ]\ \ \ \ \ \  + κ\ Cos[ψ]\ , 
α - β - γ + δ - λ\ Cos[ϕ + ω] + κ\ Cos[ψ + ω], 
α - β - γ + δ - λ\ Cos[ϕ - ω] + κ\ Cos[ψ - ω]}/12]\)

\(\(sh["A4"] := 
        Module[{}, gp =. ; plex =. ; 
          gi = {1, 3, 2, 4, 9, 11, 7, 12, 5, 10, 6, 8, 1, 1, 
              3}; 
{a + b + c + d + e + f + g + h + i + j + 
              k + l, 
	\((\((\(-a\) + c - d + f - g + i - j + l)\)\^2 + \((a - b + d - e + g - h + j - k)\)\^2 + \((b - c + e - f + h - i + k - l)\)\^2)\)/2, 
	\((a + d - g - j)\)\ \((a - d + g - j)\)\ \((a - d - g + 
                    j)\) + \((b + e - h - k)\)\ \((b - e + h - k)\)\ \((b - 
                    e - h + k)\) - 
\ \ \ \ \ \ \ \ \ \ \ \ \ 	\((a - d + 
                    g - j)\)\ \((b - e - h + k)\)\ \((c + f - i - 
                    l)\) - \((a - d - g + j)\)\ \((b + e - h - k)\)\ \((c - 
                    f + i - l)\) - 
\ \ \ \((a + d - g - 
                    j)\)\ \((b - e + h - k)\)\ \((c - f - i + l)\) + \((c + 
                    f - i - l)\)\ \((c - f + i - l)\)\ \((c - f - i + 
                    l)\)}];\)\)

\(\(sh["C3Qr"] := 
        Module[{}, 
gp = {1, 1, 1, 0. , 1, 0. , 1, 0. , 1, 
              0. , 1, 0.  (*?*) }; 
          gi = {1, 3, 
              2, \(-4\), \(-6\), \(-5\), \(-7\), \(-9\), \(-8\), \(-10\), \(-12\), \(-11\), 2, 2}; {a, c, 
            b, \(-d\), \(-f\), \(-e\), \(-g\), \(-i\), \(-h\), \(-j\), \(-l\), \(-k\)}; 
{\((a + b + c)\)\^2 + \((d + e + f)\)\^2 + \((g + h + i)\)\^2 + \((j + k + l)\)\^2, 
\((\((a - b)\)\^2 + \((b - c)\)\^2 + \((c - a)\)\^2 + \((d - e)\)\^2 + \((e - f)\)\^2 + \((f - d)\)\^2 + 
	\ \ \ \ \((g - h)\)\^2 + \((h - i)\)\^2 + \((i - g)\)\^2 + \((j - k)\)\^2 + \((k - l)\)\^2 + \((l - j)\)\^2)\)^2/4 - 
              3 \((\((b\ d - c\ d - a\ e + c\ e + a\ f - b\ f)\)\^2 + \((h\ j - i\ j - g\ k + i\ k + g\ l - h\ l)\)\^2 + 
	\((b\ j - c\ j - a\ k + c\ k + a\ l - b\ l)\)\^2 + \((b\ g - c\ g - a\ h + c\ h + a\ i - b\ i)\)\^2 + 
	\((e\ g - f\ g - d\ h + f\ h + d\ i - e\ i)\)\^2 + \((\(-e\)\ j + f\ j + d\ k - f\ k - d\ l + e\ l)\)\^2)\)}];\)\)

\(\(sh["C3P4"] := 
        Module[{}, 
gp = { (*?*) }; 
          gi = {1, 3, 2, 4, 6, 5, 7, 9, 8, 10, 12, 11, 2, 2}; {a, c, 
            b, \(-d\), \(-f\), \(-e\), \(-g\), \(-i\), \(-h\), \(-j\), \(-l\), \(-k\)}; 
{\((a + b + c)\)\^2 - \((d + e + f)\)\^2 - \((g + h + i)\)\^2 - \((j + k + l)\)\^2, 
\((\((a - b)\)\^2 + \((b - c)\)\^2 + \((a - c)\)\^2 - \((d - e)\)\^2 - \((e - f)\)\^2 - \((d - f)\)\^2 - 
	\ \ \ \ \((g - h)\)\^2 - \((h - i)\)\^2 - \((g - i)\)\^2 - \((j - k)\)\^2 - \((k - l)\)\^2 - \((j - l)\)\^2)\)^2/4 + 
              3 \((\((b\ d - c\ d - a\ e + c\ e + a\ f - b\ f)\)\^2 - \((h\ j - i\ j - g\ k + i\ k + g\ l - h\ l)\)\^2 + 
	\((b\ j - c\ j - a\ k + c\ k + a\ l - b\ l)\)\^2 + \((b\ g - c\ g - a\ h + c\ h + a\ i - b\ i)\)\^2 - 
	\((e\ g - f\ g - d\ h + f\ h + d\ i - e\ i)\)\^2 - \((\(-e\)\ j + f\ j + d\ k - f\ k - d\ l + e\ l)\)\^2)\)}];\)\)

\(\(sh["C6Kr"] := 
        Module[{}, 
          gi = {1, 3, 2, 4, 6, 5, 7, 9, 8, 10, 12, 11, 1, 1, 1, 1, 1, 1, 1, 
              1}; 
gp = {1, 1, 1, 1, 1, 0. , 1, 0. , 1, 
              0. , 1, 0. }; 
          plex = {a, c, b, d, f, e, g, i, h, j, l, 
              k}; 
{a - b - c + d - e - f + g - h - i + j - 
              k - l, a - b - c - d + e + f - g + h + i + j - k - 
              l, 
a - b - c - d + e + f + g - h - i - j + 
              k + l, a - b - c + d - e - f - g + h + i - j + k + 
              l, 
	\((\((a + b - d - e - g - h + j + k)\)\^2 + \((b - c - e + f - h + i + k - l)\)\^2 + \((a + c - d - f - g - i + j + l)\)\^2)\)/
              2, \((\((a + b - d - e + g + h - j - k)\)\^2 + \((b - c - e + f + h - i - k + l)\)\^2 + \((a + c - d - f + g + i - j - l)\)\^2)\)/
              2, \((\((a + b + d + e + g + h + j + k)\)\^2 + \((b - c + e - f + h - i + k - l)\)\^2 + \((a + c + d + f + g + i + j + l)\)\^2)\)/
              2, 
\((\((a + b + d + e - g - h - j - k)\)\^2 + \((b - c + e - f - h + i - k + l)\)\^2 + \((a + c + d + f - g - i - j - l)\)\^2)\)/2}];\)\)

\(\(sh["C3KC2r"] := 
        Module[{}, 
          gi = {1, 3, 2, 4, 6, 5, 7, 9, 8, 10, 12, 11, 1, 1, 1, 1, 1, 1, 1, 
              1}; 
gp = {1, 1, 1, 1, 1, 0. , 1, 0. , 1, 
              0. , 1, 0. }; 
          plex = {a, c, b, d, f, e, g, i, h, j, l, 
              k}; 
{a + b + c + d + e + f + g - h - i - j - 
              k - l, 
a + b + c - d - e - f - g + h + i - 
              j - k - l, 
a + b + c - d - e - f + g - h - 
              i + j + k + l, 
a + b + c + d + e + f - g + 
              h + i + j + k + 
              l, 
	\((\((a - b + d - e - g - h + j - k)\)\^2 + \((b - c + e - f + h - i + k - l)\)\^2 + \((\(-a\) + c - d + f + g + i - j + l)\)\^2)\)/
              2, 
	\((\((a - b - d + e + g + h + j - k)\)\^2 + \((b - c - e + f - h + i + k - l)\)\^2 + \((\(-a\) + c + d - f - g - i - j + l)\)\^2)\)/
              2, \((\((a - b - d + e - g - h - j + k)\)\^2 + \((b - c - e + f + h - i - k + l)\)\^2 + \((\(-a\) + c + d - f + g + i + j - l)\)\^2)\)/
              2, \((\((a - b + d - e + g + h - j + k)\)\^2 + \((b - c + e - f - h + i - k + l)\)\^2 + \((\(-a\) + c - d + f - g - i + j - l)\)\^2)\)/
              2}];\)\)
\(\(sh["Q12C2c"] := 
        Module[{}, plex =. ; 
          gi = {1, 6, 5, 4, 3, 
              2, \(-7\), \(-8\), \(-9\), \(-10\), \(-11\), \(-12\), 1, 2, 2, 
              1}; 
gp = {1, 0. , 1, 0. , 1, 0. , 1, 
              0. }; 
	{\((a - b + c - d + e - f)\)\^2 + \((g - h + i - j + k - l)\)\^2, \((\((a - b + d - e)\)\^2 + \((a - c + d - f)\)\^2 + \((b - c + e - f)\)\^2 + \((g - h + j - k)\)\^2 + \((g - i + j - l)\)\^2 + \((h - i + k - l)\)\^2)\)/
              2, \((\((a + b - d - e)\)\^2 + \((b + c - e - f)\)\^2 + \((a - c - d + f)\)\^2 + \((g + h - j - k)\)\^2 + \((h + i - k - l)\)\^2 + \((g - i - j + l)\)\^2)\)/
              2, \((a + b + c + d + e + f)\)\^2 + \((g + h + i + j + k + l)\)\^2}];\)\)

sh["D3Mn"] := 
        Module[{}, gp =. ; 
          gi = {1, 2, 5, 4, 3, 7, 
8, 9, 10, 11, 12, 1, 1, 
              1, 1, 2, 2, 2, 2}; 
{a + b + c + d + e + f - 
              g - h - i - j - k - l, 
a - b + c - d + e - 
              f + g - h + i - j + k - l, 
a - b + c - d + 
              e - f - g + h - i + j - k + l, 
a + b + c + 
              d + e + f + g + h + i + j + k + l, Unknown}];

\(\(sh12[{a_, b_, c_, d_, e_, f_, g_, h_, i_, j_, k_, l_}] := 
        Module[{ab = a - b - g + h, ag = a - b + g - h, bc = b - c - h + i, 
            bh = b - c + h - i, 
ca = a - c - g + i, 
            ci = a - c + g - i, de = d - e - j + k, 
            dj = d - e + j - k, 
ef = e - f - k + l, 
            ek = e - f + k - l, fd = d - f - j + l, fl = d - f + j - l, 
            f1 = a - b - g + 
                h + \((d + e - 2\ f - j - k + 
                      2  l)\)/\@3, 
f2 = \((a + b - 2  c - 
                      g - h + 2  i)\)/\@3 - d + e + j - 
                k, 
f3 = 
              a - b - g + 
                h - \((d + e - 2\ f - j - k + 
                      2  l)\)/\@3, 
f4 = \((a + b - 2  c - 
                      g - h + 2  i)\)/\@3 + d - e - j + k, abef, 
            agek}, 
abef = 3 \((ab\ ef - bc\ de)\)\^2; 
          agek = 3 \((ag\ ek - bh\ dj)\)\^2; 
{o1 = 
              a + b + c + d + e + f + g + h + i + j + k + l, 
            o2 = a + b + c - d - e - f + g + h + i - j - k - 
                l, 
o3 = 
              a + b + c + d + e + f - g - h - i - j - k - l, 
            o4 = a + b + c - d - e - f - g - h - i + j + k + 
                l, 
 (*5*) l22a = 
              3 \((f1\^2 + f2\^2)\)/4,  (*6*) l22b = 
              3 \((f3\^2 + f4\^2)\)/4, 
 (*7*) 
              p22 = \((a + b + c + g + h + i)\)\^2 + \((d + e + f + j + k + l)\)\^2,  (*8*) 
              q22 = \((a + b + c - g - h - i)\)\^2 + \((d + e + f - j - k - l)\)\^2,  (*9*) 
              r22 = \((a + b + c + g + h + i)\)\^2 - \((d + e + f + j + k + l)\)\^2,  (*10*) 
              s22 = \((a + b + c - g - h - i)\)\^2 - \((d + e + f - j - k - l)\)\^2, 
 (*11*) 
              p23 = \((\((ag + dj)\)\^2 + \((bh + ek)\)\^2 + \((ci + fl)\)\^2)\)/2,  (*12*) 
              q23 = \((\((ag - dj)\)\^2 + \((bh - ek)\)\^2 + \((ci - fl)\)\^2)\)/2, 
 (*13*) 
              r23 = \((\((ab + de)\)\^2 + \((bc + ef)\)\^2 + \((ca + fd)\)\^2)\)/2,  (*14*) 
              s23 = \((\((ab - de)\)\^2 + \((bc - ef)\)\^2 + \((ca - fd)\)\^2)\)/2, 
 (*15*) 
              q24 = \((a + b + c)\)\^2 + \((d + e + f)\)\^2 + \((g + h + i)\)\^2 + \((j + k + l)\)\^2, 
 (*16*) 
              s24 = \((a + b + c)\)\^2 - \((d + e + f)\)\^2 - \((g + h + i)\)\^2 - \((j + k + l)\)\^2, 
 (*17*) 
              p26 = \((ag\^2 + bh\^2 + ci\^2 - dj\^2 - fl\^2 - ek\^2)\)/
                2,  (*18*) 
              q26 = \((ab\^2 + bc\^2 + ca\^2 - de\^2 - ef\^2 - fd\^2)\)/
                2, 
 (*19*) 
              r26 = \((ag\^2 + bh\^2 + ci\^2 + dj\^2 + fl\^2 + ek\^2)\)/
                2,  (*20*) 
              s26 = \((ab\^2 + bc\^2 + ca\^2 + de\^2 + ef\^2 + fd\^2)\)/
                2, 
\ \ \ \ \ \ \ \  (*21*) \ 
            l3 = \((a + d - g - j)\)\ \((a - d + g - j)\)\ \((a - d - g + 
                      j)\) + \((b + e - h - k)\)\ \((b - e + h - k)\)\ \((b - 
                      e - h + k)\) + 
\((c + f - \ i\  - 
                      l)\)\ \((c - f + \ i\  - l)\)\ \((c - f - \ i\  + 
                      l)\) - \((a - d + g - j)\)\ \((b - e - h + k)\)\ \((c + 
                      f - \ i\  - l)\) - 
\((a - d - g + 
                      j)\)\ \((b + e - h - k)\)\ \((c - f + i - l)\) - \((a + 
                      d - g - j)\)\ \((b - e + h - k)\)\ \((c - f - \ i\  + 
                      l)\), 
 (*22*) l4p = 
              p26\^2 + agek, 
 (*23*) l4q = 
              q26\^2 + abef, 
 (*24*) l4r = 
              r26\^2 - 3  agek, 
 (*25*) l4s = 
              l22a\ l22b (*s26\^2 - abef*) ,  (*26*) 
              L4Q = \((\((a - b)\)\^2 + \((b - c)\)\^2 + \((a - c)\)\^2 + \((d - e)\)\^2 + \((e - f)\)\^2 + \((d - f)\)\^2 + \((g - h)\)\^2 + 
\((h - i)\)\^2 + \((g - i)\)\^2 + \((j - k)\)\^2 + \((k - l)\)\^2 + \((j - l)\)\^2)\)^2/4 - 
                3\ \((\((a\ \((f - e)\) + b\ \((d - f)\) + c\ \((e - d)\))\)\^2 + \((a\ \((i - h)\) + b\ \((g - i)\) + c\ \((h - g)\))\)\^2 + \((d\ \((h - i)\) + e\ \((i - g)\) + f\ \((g - h)\))\)\^2 + \((g\ \((k - l)\) + h\ \((l - j)\) + i\ \((j - k)\))\)\^2 + 
\((\((b - c)\)\^2 + \((e - f)\)\^2)\)\ j\^2 + \((\((a - c)\)\^2 + \((d - f)\)\^2)\)\ k\^2 + \((\((a - b)\)\^2 + \((d - e)\)\^2)\)\ l\^2)\) + 
6\ \((\((\((c - a)\)\ \((c - b)\) + \((f - d)\)\ \((f - e)\))\)\ j\ k + \((\((b - 
                        
                                a)\)\ \((b - c)\) + \((e - d)\)\ \((e - 
                                  f)\))\)\ j\ l + 
\((\((a - b)\)\ \((a - c)\) + \((d - e)\)\ \((d - 
                                  f)\))\)\ k\ l)\), 
 (*27*) 
              L4σ = \ \((\((a - b)\)\^2 + \((b - c)\)\^2 + \((c - a)\)\^2 - \((d - e)\)\^2 - \((e - f)\)\^2 - \((f - d)\)\^2 - \((g - h)\)\^2 - \((h - i)\)\^2 - \((i - g)\)\^2 - \((j - k)\)\^2 - \((k - l)\)\^2 - \((l - j)\)\^2)\)^2/4 + 
                3\ \((\((b\ d - c\ d - a\ e + c\ e + a\ f - b\ f)\)\^2 + \((b\ g - c\ g - a\ h + c\ h + a\ i - b\ i)\)\^2 - \((e\ g - f\ g - d\ h + f\ h + d\ i - e\ i)\)\^2 + \((b\ j - c\ j - a\ k + c\ k + a\ l - b\ l)\)\^2 - \((\(-e\)\ j + f\ j + d\ k - f\ k - d\ l + e\ l)\)\^2 - \((h\ j - i\ j - g\ k + i\ k + g\ l - h\ l)\)\^2)\), 
 (*28*) 
              L4a3 = \((\((ag + dj)\)\^2 + \((bh + ek)\)\^2 + \((ci + fl)\)\^2)\)\^2/4 + agek,  (*29*) 
              L4b3 = \((\((ag - dj)\)\^2 + \((bh - ek)\)\^2 + \((ci - fl)\)\^2)\)\^2/4 + agek,  (*30*) 
              L4c3 = \((\((ab + de)\)\^2 + \((bc + ef)\)\^2 + \((ca + fd)\)\^2)\)\^2/4 - abef,  (*31*) 
              L4d3 = \((\((ab - de)\)\^2 + \((bc - ef)\)\^2 + \((ca - fd)\)\^2)\)\^2/4 - abef,  (*32*) 
              L4a6 = \((ag\^2 + bh\^2 + ci\^2 - dj\^2 - fl\^2 - ek\^2)\)\^2/
                  4 + agek,  (*33*) 
              L4b6 = \((ab\^2 + bc\^2 + ca\^2 - de\^2 - ef\^2 - fd\^2)\)\^2/
                  4 + abef,  (*34*) 
              L4c6 = \((ab\^2 + bc\^2 + ca\^2 - de\^2 - ef\^2 - fd\^2)\)\^2/
                  4 - abef, 
	 (*35*) 
              L4d6 = \ \((ag\^2 + bh\^2 + ci\^2 + dj\^2 + fl\^2 + ek\^2)\)\^2/
                  4 - agek, 
 (*36*) 
              L49 = \((\((ab\^2 - de\^2)\)\^2 + \((ab\^2 - ef\^2)\)\^2 + \((ab\^2 - fd\^2)\)\^2 + \((bc\^2 - de\^2)\)\^2 + \((bc\^2 - ef\^2)\)\^2 + \((bc\^2 - fd\^2)\)\^2 + \((ca\^2 - de\^2)\)\^2 + \((ca\^2 - ef\^2)\)\^2 + \((ca\^2 - fd\^2)\)\^2)\), 
 (*37*) 
              L49a = \((\((ag\^2 - dj\^2)\)\^2 + \((ag\^2 - ek\^2)\)\^2 + \((ag\^2 - fl\^2)\)\^2 + \((bh\^2 - dj\^2)\)\^2 + \((bh\^2 - ek\^2)\)\^2 + \((bh\^2 - fl\^2)\)\^2 + \((ci\^2 - dj\^2)\)\^2 + \((ci\^2 - ek\^2)\)\^2 + \((ci\^2 - fl\^2)\)\^2)\), 
 (*38*) 
              L49b = \((\((ab\^2 - dj\^2)\)\^2 + \((ab\^2 - ek\^2)\)\^2 + \((ab\^2 - fl\^2)\)\^2 + \((bc\^2 - dj\^2)\)\^2 + \((bc\^2 - ek\^2)\)\^2 + \((bc\^2 - fl\^2)\)\^2 + \((ca\^2 - dj\^2)\)\^2 + \((ca\^2 - ek\^2)\)\^2 + \((ca\^2 - fl\^2)\)\^2)\), 
 (*39*) 
              L49c = \((\((ag\^2 - de\^2)\)\^2 + \((ag\^2 - ef\^2)\)\^2 + \((ag\^2 - fd\^2)\)\^2 + \((bh\^2 - de\^2)\)\^2 + \((bh\^2 - ef\^2)\)\^2 + \((bh\^2 - fd\^2)\)\^2 + \((ci\^2 - de\^2)\)\^2 + \((ci\^2 - ef\^2)\)\^2 + \((ci\^2 - fd\^2)\)\^2)\)}];\)\)

dozalcons = sh12[{a, b, c, d, e, f, g, h, i, j, k, l}];

\(\(ds = {"o1", "o2", "o3", "o4", "l22a", "l22b", "p22", "q22", "r22", "s22", "p23", "q23", "r23", "s23", "q24", "s24", "p26", "q26", "r26", "s26", "l3", "l4p", "l4q", "l4r", "l4s", "L4Q", "L4σ", "L4a3", "L4b3", "L4c3", "L4d3", "L4a6", "L4b6", "L4c6", "L4d6", "L49", "L49a", "L49b", "L49c"};\)\)

8.11 Polar-Vector, Hyperbolics, sh, toPol, toVec, tohyPol, tohyVec for 16 element loops.

\(sh["D8"] := 
      Module[{}, gp =. ; 
        gi = {1, 2, 15, 4, 13, 6, 11, 8, 9, 10, 7, 12, 5, 14, 3, 16, 1, 1, 1, 
            1, 2, 2}; 
{a + b + c + d + e + f + g + h + i + 
            j + k + l + m + n + o + p, 
          a - b + c - d + e - f + g - h + i - j + k - l + m - n + o - p, 
          a + b - c - d + e + f - g - h + i + j - k - l + m + n - o - p, 
          a - b - c + d + e - f - g + h + i - j - k + l + m - n - o + 
            p, \((a - e + i - m)\)^2 - \((b - f + j - n)\)^2 + \((c - g + k - 
                  o)\)^2 - \((d - h + l - 
                  p)\)^2, \(-2\)\ \((\((a - i)\)\ \((c - k)\) - \((b - 
                          j)\)\ \((d - l)\) + \((c - k)\)\ \((e - 
                          m)\) - \((d - l)\)\ \((f - n)\) - \((a - 
                          i)\)\ \((g - o)\) + \((e - m)\)\ \((g - 
                          o)\) + \((b - j)\)\ \((h - p)\) - \((f - 
                          n)\)\ \((h - 
                          p)\))\)^2 + \((\((a - i)\)\^2 - \((b - j)\)\^2 + \((c - k)\)\^2 - \((d - l)\)\^2 + \((e - m)\)\^2 - \((f - n)\)\^2 + \((g - o)\)\^2 - \((h - p)\)\^2)\)^2}]; 
    sh["Q16"] := 
      Module[{}, gp =. ; 
        gi = {1, 10, 15, 12, 13, 14, 11, 16, 9, 2, 7, 4, 5, 6, 3, 8, 1, 1, 1, 
            1, 2, 2}; {a + b + c + d + e + f + g + h + i + j + k + l + m + 
            n + o + p, 
          a - b + c - d + e - f + g - h + i - j + k - l + m - n + o - p, 
          a + b - c - d + e + f - g - h + i + j - k - l + m + n - o - p, 
          a - b - c + d + e - f - g + h + i - j - k + l + m - n - o + 
            p, \((a - e + i - m)\)^2 - \((b - f + j - n)\)^2 + \((c - g + k - 
                  o)\)^2 - \((d - h + l - 
                  p)\)^2, 
\((a - i)\)\^4 + 
            2\ \((a - i)\)\^2\ \((b - j)\)\^2 + \((b - j)\)\^4 + 
            2\ \((b - j)\)\^2\ \((c - k)\)\^2 + \((c - k)\)\^4 - 
            4\ \((a - i)\)\ \((b - j)\)\ \((c - k)\)\ \((d - l)\) + 
            2\ \((a - i)\)\^2\ \((d - l)\)\^2 + 
            2\ \((c - k)\)\^2\ \((d - l)\)\^2 + \((d - l)\)\^4 - 
            4\ \((a - i)\)\ \((c - k)\)\^2\ \((e - m)\) - 
            4\ \((b - j)\)\ \((c - k)\)\ \((d - l)\)\ \((e - m)\) + 
            2\ \((a - i)\)\^2\ \((e - m)\)\^2 + 
            2\ \((b - j)\)\^2\ \((e - m)\)\^2 + 
            2\ \((d - l)\)\^2\ \((e - m)\)\^2 + \((e - m)\)\^4 - 
            4\ \((a - i)\)\ \((c - k)\)\ \((d - l)\)\ \((f - n)\) - 
            4\ \((b - j)\)\ \((d - l)\)\^2\ \((f - n)\) - 
            4\ \((c - k)\)\ \((d - l)\)\ \((e - m)\)\ \((f - n)\) + 
            2\ \((a - i)\)\^2\ \((f - n)\)\^2 + 
            2\ \((b - j)\)\^2\ \((f - n)\)\^2 + 
            2\ \((c - k)\)\^2\ \((f - n)\)\^2 + 
            2\ \((e - m)\)\^2\ \((f - n)\)\^2 + \((f - n)\)\^4 + 
            4\ \((a - i)\)\^2\ \((c - k)\)\ \((g - o)\) + 
            4\ \((a - i)\)\ \((b - j)\)\ \((d - l)\)\ \((g - o)\) - 
            4\ \((b - j)\)\ \((d - l)\)\ \((e - m)\)\ \((g - o)\) - 
            4\ \((c - k)\)\ \((e - m)\)\^2\ \((g - o)\) + 
            4\ \((a - i)\)\ \((d - l)\)\ \((f - n)\)\ \((g - o)\) - 
            4\ \((d - l)\)\ \((e - m)\)\ \((f - n)\)\ \((g - o)\) + 
            2\ \((b - j)\)\^2\ \((g - o)\)\^2 + 
            2\ \((c - k)\)\^2\ \((g - o)\)\^2 + 
            2\ \((d - l)\)\^2\ \((g - o)\)\^2 + 
            4\ \((a - i)\)\ \((e - m)\)\ \((g - o)\)\^2 + 
            2\ \((f - n)\)\^2\ \((g - o)\)\^2 + \((g - o)\)\^4 + 
            4\ \((a - i)\)\ \((b - j)\)\ \((c - k)\)\ \((h - p)\) + 
            4\ \((b - j)\)\^2\ \((d - l)\)\ \((h - p)\) + 
            4\ \((b - j)\)\ \((c - k)\)\ \((e - m)\)\ \((h - p)\) - 
            4\ \((a - i)\)\ \((c - k)\)\ \((f - n)\)\ \((h - p)\) - 
            4\ \((c - k)\)\ \((e - m)\)\ \((f - n)\)\ \((h - p)\) - 
            4\ \((d - l)\)\ \((f - n)\)\^2\ \((h - p)\) - 
            4\ \((a - i)\)\ \((b - j)\)\ \((g - o)\)\ \((h - p)\) + 
            4\ \((b - j)\)\ \((e - m)\)\ \((g - o)\)\ \((h - p)\) + 
            4\ \((a - i)\)\ \((f - n)\)\ \((g - o)\)\ \((h - p)\) - 
            4\ \((e - m)\)\ \((f - n)\)\ \((g - o)\)\ \((h - p)\) + 
            2\ \((a - i)\)\^2\ \((h - p)\)\^2 + 
            2\ \((c - k)\)\^2\ \((h - p)\)\^2 + 
            2\ \((d - l)\)\^2\ \((h - p)\)\^2 + 
            2\ \((e - m)\)\^2\ \((h - p)\)\^2 + 
            4\ \((b - j)\)\ \((f - n)\)\ \((h - p)\)\^2 + 
            2\ \((g - o)\)\^2\ \((h - p)\)\^2 + \((h - p)\)\^4}]; 
    sh["D4C2"] := 
      Module[{}, gp =. ; 
        gi = {1, 2, 7, 4, 5, 6, 3, 8, 9, 10, 15, 12, 13, 14, 11, 16, 1, 1, 1, 
            1, 1, 1, 1, 1, 2, 2}; 
{a + b + c + d + e + f + 
            g + h - i - j - k - l - m - n - o - p, 
          a + b - c - d + e + f - g - h + i + j - k - l + m + n - o - p, 
          a - b + c - d + e - f + g - h + i - j + k - l + m - n + o - p, 
          a - b - c + d + e - f - g + h - i + j + k - l - m + n + o - p, 
          a - b - c + d + e - f - g + h + i - j - k + l + m - n - o + p, 
          a - b + c - d + e - f + g - h - i + j - k + l - m + n - o + p, 
          a + b - c - d + e + f - g - h - i - j + k + l - m - n + o + p, 
          a + b + c + d + e + f + g + h + i + j + k + l + m + n + o + 
            p, \((a - e + i - m)\)\^2 - \((b - f + j - n)\)\^2 + \((c - g + k - o)\)\^2 - \((d - h + l - p)\)\^2, \((a - e - i + m)\)\^2 - \((b - f - j + n)\)\^2 + \((c - g - k + o)\)\^2 - \((d - h - l + p)\)\^2}];\)

\(sh["C4C4"] := 
      Module[{}, gp =. ; 
        gi = {1, 4, 3, 2, 13, 16, 15, 14, 9, 12, 11, 10, 5, 8, 7, 6, 1, 1, 1, 
            1, 1, 1, 1, 1, 1, 1}; 
{a + b + c + d + e + f + 
            g + h + i + j + k + l + m + n + o + p, 
          a - b + c - d - e + f - g + h + i - j + k - l - m + n - o + p, 
          a - b + c - d + e - f + g - h + i - j + k - l + m - n + o - p, 
          a + b + c + d - e - f - g - h + i + j + k + l - m - n - o - 
            p, \((a + b + c + d - i - j - k - l)\)\^2 + \((e + f + g + h - m - n - o - p)\)\^2, \((a - b + c - d - i + j - k + l)\)\^2 + \((e - f + g - h - m + n - o + p)\)\^2, \((a - c + e - g + i - k + m - o)\)\^2 + \((b - d + f - h + j - l + n - p)\)\^2, \((a - c - e + g + i - k - m + o)\)\^2 + \((b - d - f + h + j - l - n + p)\)\^2, \((a - c + f - h - i + k - n + p)\)\^2 + \((b - d - e + g - j + l + m - o)\)\^2, \((a - c - f + h - i + k + n - p)\)\^2 + \((b - d + e - g - j + l - m + o)\)\^2}]; 
    sh["Q8C2"] := 
      Module[{}, gp =. ; 
        gi = {1, 6, 7, 8, 5, 2, 3, 4, 9, 14, 15, 16, 13, 10, 11, 12, 1, 1, 1, 
            1, 1, 1, 1, 1, 2, 2}; 
{a + b + c + d + e + f + 
            g + h + i + j + k + l + m + n + o + p, 
          a - b - c + d + e - f - g + h + i - j - k + l + m - n - o + p, 
          a - b + c - d + e - f + g - h + i - j + k - l + m - n + o - p, 
          a + b - c - d + e + f - g - h + i + j - k - l + m + n - o - p, 
          a + b + c + d + e + f + g + h - i - j - k - l - m - n - o - p, 
          a + b - c - d + e + f - g - h - i - j + k + l - m - n + o + p, 
          a - b - c + d + e - f - g + h - i + j + k - l - m + n + o - p, 
          a - b + c - d + e - f + g - h - i + j - k + l - m + n - o + 
            p, \((a - e + i - m)\)\^2 + \((b - f + j - n)\)\^2 + \((c - g + k - o)\)\^2 + \((d - h + l - p)\)\^2, \((a - e - i + m)\)\^2 + \((b - f - j + n)\)\^2 + \((c - g - k + o)\)\^2 + \((d - h - l + p)\)\^2}];\)

sh["KK"] := 
      Module[{}, 
        gi = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 1, 1, 1, 
            1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
            1}; 
gp = {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
            1, 1, 1, 1}; {a + b + c + d + e + f + g + h + i + j + k + l + m + 
            n + o + p, 
          a - b - c + d + e - f - g + h + i - j - k + l + m - n - o + p, 
          a - b + c - d + e - f + g - h + i - j + k - l + m - n + o - p, 
          a + b - c - d + e + f - g - h + i + j - k - l + m + n - o - p, 
          a - b + c - d - e + f - g + h + i - j + k - l - m + n - o + p, 
          a + b - c - d - e - f + g + h + i + j - k - l - m - n + o + p, 
          a + b + c + d - e - f - g - h + i + j + k + l - m - n - o - p, 
          a - b - c + d - e + f + g - h + i - j - k + l - m + n + o - p, 
          a + b + c + d + e + f + g + h - i - j - k - l - m - n - o - p, 
          a + b + c + d - e - f - g - h - i - j - k - l + m + n + o + p, 
          a + b - c - d - e - f + g + h - i - j + k + l + m + n - o - p, 
          a - b + c - d - e + f - g + h - i + j - k + l + m - n + o - p, 
          a + b - c - d + e + f - g - h - i - j + k + l - m - n + o + p, 
          a - b - c + d + e - f - g + h - i + j + k - l - m + n + o - p, 
          a - b + c - d + e - f + g - h - i + j - k + l - m + n - o + p, 
          a - b - c + d - e + f + g - h - i + j + k - l + m - n - o + p}]; 
    toPol[{a_, b_, c_, d_, e_, f_, g_, h_, i_, j_, k_, l_, m_, n_, o_, 
          p_}, "KK"] := {a + b + c + d + e + f + g + h + i + j + k + l + 
          m + n + o + p, 
        a - b - c + d + e - f - g + h + i - j - k + l + m - n - o + p, 
        a - b + c - d + e - f + g - h + i - j + k - l + m - n + o - p, 
        a + b - c - d + e + f - g - h + i + j - k - l + m + n - o - p, 
        a - b + c - d - e + f - g + h + i - j + k - l - m + n - o + p, 
        a + b - c - d - e - f + g + h + i + j - k - l - m - n + o + p, 
        a + b + c + d - e - f - g - h + i + j + k + l - m - n - o - p, 
        a - b - c + d - e + f + g - h + i - j - k + l - m + n + o - p, 
        a + b + c + d + e + f + g + h - i - j - k - l - m - n - o - p, 
        a + b + c + d - e - f - g - h - i - j - k - l + m + n + o + p, 
        a + b - c - d - e - f + g + h - i - j + k + l + m + n - o - p, 
        a - b + c - d - e + f - g + h - i + j - k + l + m - n + o - p, 
        a + b - c - d + e + f - g - h - i - j + k + l - m - n + o + p, 
        a - b - c + d + e - f - g + h - i + j + k - l - m + n + o - p, 
        a - b + c - d + e - f + g - h - i + j - k + l - m + n - o + p, 
        a - b - c + d - e + f + g - h - i + j + k - l + m - n - o + p}; 
    toVec[{a_, b_, c_, d_, e_, f_, g_, h_, i_, j_, k_, l_, m_, n_, o_, 
          p_}, "KK"] := {a + b + c + d + e + f + g + h + i + j + k + l + 
            m + n + o + p, 
          a - b - c + d - e + f + g - h + i + j + k - l + m - n - o - p, 
          a - b + c - d + e - f + g - h + i + j - k + l - m - n + o - p, 
          a + b - c - d - e - f + g + h + i + j - k - l - m + n - o + p, 
          a + b + c + d - e - f - g - h + i - j - k - l + m + n + o - p, 
          a - b - c + d + e - f - g + h + i - j - k + l + m - n - o + p, 
          a - b + c - d - e + f - g + h + i - j + k - l - m - n + o + p, 
          a + b - c - d + e + f - g - h + i - j + k + l - m + n - o - p, 
          a + b + c + d + e + f + g + h - i - j - k - l - m - n - o - p, 
          a - b - c + d - e + f + g - h - i - j - k + l - m + n + o + p, 
          a - b + c - d + e - f + g - h - i - j + k - l + m + n - o + p, 
          a + b - c - d - e - f + g + h - i - j + k + l + m - n + o - p, 
          a + b + c + d - e - f - g - h - i + j + k + l - m - n - o + p, 
          a - b - c + d + e - f - g + h - i + j + k - l - m + n + o - p, 
          a - b + c - d - e + f - g + h - i + j - k + l + m + n - o - p, 
          a + b - c - d + e + f - g - h - i + j - k - l + m - n + o + p}/
        16;

\(sh["C4K"] := 
      Module[{}, 
        gi = {1, 4, 3, 2, 5, 8, 7, 6, 9, 12, 11, 10, 13, 16, 15, 14, 1, 1, 1, 
            1, 1, 1, 1, 1, 1, 1, 1, 1}; 
        gp = {1, 1, 1, 1, 1, 1, 1, 1, 1, 0. , 1, 0. , 1, 0. , 1, 
            0. }; 
{a + b + c + d + e + f + g + h + i + j + 
            k + l + m + n + o + p, 
          a + b + c + d - e - f - g - h - i - j - k - l + m + n + o + p, 
          a - b + c - d + e - f + g - h - i + j - k + l - m + n - o + p, 
          a - b + c - d - e + f - g + h + i - j + k - l - m + n - o + p, 
          a - b + c - d - e + f - g + h - i + j - k + l + m - n + o - p, 
          a - b + c - d + e - f + g - h + i - j + k - l + m - n + o - p, 
          a + b + c + d - e - f - g - h + i + j + k + l - m - n - o - p, 
          a + b + c + d + e + f + g + h - i - j - k - l - m - n - o - 
            p, \((a - c - e + g - i + k + m - o)\)\^2 + \((b - d - f + h - j + l + n - p)\)\^2, \((a - c + e - g - i + k - m + o)\)\^2 + \((b - d + f - h - j + l - n + p)\)\^2, \((a - c - e + g + i - k - m + o)\)\^2 + \((b - d - f + h + j - l - n + p)\)\^2, \((a - c + e - g + i - k + m - o)\)\^2 + \((b - d + f - h + j - l + n - p)\)\^2}]; 
    toPol[{a_, b_, c_, d_, e_, f_, g_, h_, i_, j_, k_, l_, m_, n_, o_, 
          p_}, "C4K"] := 
{a + b + c + d + e + f + g + 
          h + i + j + k + l + m + n + o + p, 
        a + b + c + d - e - f - g - h - i - j - k - l + m + n + o + p, 
        a - b + c - d + e - f + g - h - i + j - k + l - m + n - o + 
          p, 
a - b + c - d - e + f - g + h + i - j + k - 
          l - m + n - o + p, 
a - b + c - d - e + f - g + 
          h - i + j - k + l + m - n + o - p, 
a - b + c - 
          d + e - f + g - h + i - j + k - l + m - n + o - 
          p, 
a + b + c + d - e - f - g - h + i + j + k + 
          l - m - n - o - p, 
a + b + c + d + e + f + g + 
          h - i - j - k - l - m - n - o - 
          p, 
 (*ij*) \((a - c - e + g - i + k + m - o)\)\^2 + \((b - d - f + h - j + l + n - p)\)\^2, 
        If[b - d - f + h - j + l + n - p == 0, 0, 
          ArcTan[a - c - e + g - i + k + m - o, 
            b - d - f + h - j + l + n - 
              p]], 
 (*kl*) \((a - c + e - g - i + k - m + o)\)\^2 + \((b - d + f - h - j + l - n + p)\)\^2, 
        If[b - d + f - h - j + l - n + p == 0, 0, 
          ArcTan[a - c + e - g - i + k - m + o, 
            b - d + f - h - j + l - n + 
              p]], 
 (*mn*) \((a - c - e + g + i - k - m + o)\)\^2 + \((b - d - f + h + j - l - n + p)\)\^2, 
        If[b - d - f + h + j - l - n + p == 0, 0, 
          ArcTan[a - c - e + g + i - k - m + o, 
            b - d - f + h + j - l - n + 
              p]], 
 (*op*) \((a - c + e - g + i - k + m - o)\)\^2 + \((b - d + f - h + j - l + n - p)\)\^2, 
        If[b - d + f - h + j - l + n - p == 0, 0, 
          ArcTan[a - c + e - g + i - k + m - o, 
            b - d + f - h + j - l + n - p]]}; 
    toVec[{a_, b_, c_, d_, e_, f_, g_, h_, ii_, j_, kk_, l_, mm_, n_, oo_, 
          p_}, 
"C4K"] := 
      Module[{i = 2 \@ ii, k = 2 \@ kk, m = 2 \@ mm, 
          o = 2 \@ oo}, 
{\ \  (*a*) a + b + c + d + e + 
              f + g + h + i\ Cos[j] + k\ Cos[l] + m\ Cos[n] + 
              o\ Cos[p], 
 (*b*) a + b - c - d - e - f + 
              g + h + i\ Sin[j] + k\ Sin[l] + m\ Sin[n] + 
              o\ Sin[p], 
 (*c*) a + b + c + d + e + f + 
              g + h - i\ Cos[j] - k\ Cos[l] - m\ Cos[n] - 
              o\ Cos[p], 
 (*d*) a + b - c - d - e - f + 
              g + h - i\ Sin[j] - k\ Sin[l] - m\ Sin[n] - 
              o\ Sin[p], 
 (*e*) a - b + c - d - e + f - 
              g + h - i\ Cos[j] + k\ Cos[l] - m\ Cos[n] + 
              o\ Cos[p], 
 (*f*) a - b - c + d + e - f - 
              g + h - i\ Sin[j] + k\ Sin[l] - m\ Sin[n] + 
              o\ Sin[p], 
 (*g*) a - b + c - d - e + f - 
              g + h + i\ Cos[j] - k\ Cos[l] + m\ Cos[n] - 
              o\ Cos[p], 
 (*h*) a - b - c + d + e - f - 
              g + h + i\ Sin[j] - k\ Sin[l] + m\ Sin[n] - 
              o\ Sin[p], 
 (*i*) a - b - c + d - e + f + 
              g - h - i\ Cos[j] - k\ Cos[l] + m\ Cos[n] + 
              o\ Cos[p], 
 (*j*) a - b + c - d + e - f + 
              g - h - i\ Sin[j] - k\ Sin[l] + m\ Sin[n] + 
              o\ Sin[p], 
 (*k*) a - b - c + d - e + f + 
              g - h + i\ Cos[j] + k\ Cos[l] - m\ Cos[n] - 
              o\ Cos[p], 
 (*l*) a - b + c - d + e - f + 
              g - h + i\ Sin[j] + k\ Sin[l] - m\ Sin[n] - 
              o\ Sin[p], 
 (*m*) a + b - c - d + e + f - 
              g - h + i\ Cos[j] - k\ Cos[l] - m\ Cos[n] + 
              o\ Cos[p], 
 (*n*) a + b + c + d - e - f - 
              g - h + i\ Sin[j] - k\ Sin[l] - m\ Sin[n] + 
              o\ Sin[p], 
 (*o*) a + b - c - d + e + f - 
              g - h - i\ Cos[j] + k\ Cos[l] + m\ Cos[n] - 
              o\ Cos[p], 
 (*p*) a + b + c + d - e - f - 
              g - h - i\ Sin[j] + k\ Sin[l] + m\ Sin[n] - o\ Sin[p]}/
          16];\)

\(sh["KiC4"] := 
      Module[{}, gp =. ; 
        gi = {1, 2, 3, 4, 13, 16, 15, 14, 9, 10, 11, 12, 5, 8, 7, 6, 1, 1, 1, 
            1, 1, 1, 2, 2}; 
{a + b + c + d + e + f + g + 
            h + i + j + k + l + m + n + o + p, 
          a - b + c - d - e + f - g + h + i - j + k - l - m + n - o + p, 
          a - b + c - d + e - f + g - h + i - j + k - l + m - n + o - p, 
          a + b + c + d - e - f - g - h + i + j + k + l - m - n - o - 
            p, \((a + b + c + d - i - j - k - l)\)\^2 + \((\(-e\) - f - g - h + m + n + o + p)\)\^2, \((a - b + c - d - i + j - k + l)\)\^2 + \((\(-e\) + f - g + h + m - n + o - p)\)\^2, \((a - c + i - k)\)\^2 - \((b - d + j - l)\)\^2 - \((e - g + m - o)\)\^2 + \((f - h + n - p)\)\^2, \((a - c - i + k)\)\^2 - \((b - d - j + l)\)\^2 + \((e - g - m + o)\)\^2 - \((f - h - n + p)\)\^2}]; sh["C4iC4"] := 
      Module[{}, gp =. ; 
        gi = {1, 4, 3, 2, 13, 14, 15, 16, 9, 12, 11, 10, 5, 6, 7, 8, 1, 1, 1, 
            1, 1, 1, 2, 2}; 
{a + b + c + d + e + f + g + 
            h + i + j + k + l + m + n + o + p, 
          a - b + c - d - e + f - g + h + i - j + k - l - m + n - o + p, 
          a - b + c - d + e - f + g - h + i - j + k - l + m - n + o - p, 
          a + b + c + d - e - f - g - h + i + j + k + l - m - n - o - 
            p, \((a + b + c + d - i - j - k - l)\)\^2 + \((\(-e\) - f - g - h + m + n + o + p)\)\^2, \((a - b + c - d - i + j - k + l)\)\^2 + \((\(-e\) + f - g + h + m - n + o - p)\)\^2, \((a - c + i - k)\)\^2 + \((b - d + j - l)\)\^2 - \((e - g + m - o)\)\^2 - \((f - h + n - p)\)\^2, \((a - c - i + k)\)\^2 + \((b - d - j + l)\)\^2 + \((e - g - m + o)\)\^2 + \((f - h - n + p)\)\^2}];\)

\(sh["P16"] := 
      Module[{}, gp =. ; 
        gi = {1, 2, 3, 4, 13, 14, 15, 16, 9, 10, 11, 12, 5, 6, 7, 8, 1, 1, 1, 
            1, 1, 1, 1, 1, 2}; 
{a + b + c + d + e + f + 
            g + h + i + j + k + l + m + n + o + p, 
          a - b + c - d + e - f + g - h + i - j + k - l + m - n + o - p, 
          a + b - c - d + e + f - g - h + i + j - k - l + m + n - o - p, 
          a - b - c + d + e - f - g + h + i - j - k + l + m - n - o + p, 
          a + b + c - d - e - f - g + h + i + j + k - l - m - n - o + p, 
          a + b - c + d - e - f + g - h + i + j - k + l - m - n + o - p, 
          a - b + c + d - e + f - g - h + i - j + k + l - m + n - o - p, 
          a - b - c - d - e + f + g + h + i - j - k - l - m + n + o + p, 
          4\ \((\((a - i)\)\ \((e - m)\) - \((b - j)\)\ \((f - n)\) - \((c - 
                          k)\)\ \((g - o)\) - \((d - l)\)\ \((h - 
                          p)\))\)^2 + \((\((a - i)\)\^2 - \((b - j)\)\^2 - \((c - k)\)\^2 - \((d - l)\)\^2 - \((e - m)\)\^2 + \((f - n)\)\^2 + \((g - o)\)\^2 + \((h - p)\)\^2)\)^2}]; 
    sh["Oct"] := 
      Module[{}, gp =. ; 
        gi = {1, 10, 11, 12, 13, 14, 15, 16, 9, 2, 3, 4, 5, 6, 7, 8, 1, 1, 1, 
            1, 1, 1, 1, 1, 4}; 
{a + b + c + d + e + f + 
            g + h + i + j + k + l + m + n + o + p, 
          a - b - c + d + e - f - g + h + i - j - k + l + m - n - o + p, 
          a - b + c - d + e - f + g - h + i - j + k - l + m - n + o - p, 
          a + b - c - d + e + f - g - h + i + j - k - l + m + n - o - p, 
          a - b + c - d - e + f - g + h + i - j + k - l - m + n - o + p, 
          a + b - c - d - e - f + g + h + i + j - k - l - m - n + o + p, 
          a + b + c + d - e - f - g - h + i + j + k + l - m - n - o - p, 
          a - b - c + d - e + f + g - h + i - j - k + l - m + n + o - 
            p, \((a - i)\)\^2 + \((b - j)\)\^2 + \((c - k)\)\^2 + \((d - l)\)\^2 + \((e - m)\)\^2 + \((f - n)\)\^2 + \((g - o)\)\^2 + \((h - p)\)\^2}];\)

\(\(sh["Q8M2"] := 
        Module[{}, gp =. ; 
          gi = {1, 6, 7, 8, 5, 2, 3, 4, 9, 10, 11, 12, 13, 
              14, 
15, 16, 1, 1, 1, 1, 1, 1, 1, 1, 
              4}; 
{a + b + c + d + e + f + g + h - i - j - 
              k - l - m - n - o - p, 
            a + b - c - d + e + f - g - h + i + j - k - l + m + n - o - p, 
            a - b + c - d + e - f + g - h + i - j + k - l + m - n + o - p, 
            a - b - c + d + e - f - g + h - i + j + k - l - m + n + o - p, 
            a - b - c + d + e - f - g + h + i - j - k + l + m - n - o + p, 
            a - b + c - d + e - f + g - h - i + j - k + l - m + n - o + p, 
            a + b - c - d + e + f - g - h - i - j + k + l - m - n + o + p, 
            a + b + c + d + e + f + g + h + i + j + k + l + m + n + o + 
              p, \((a - e)\)\^2 + \((b - f)\)\^2 + \((c - g)\)\^2 + \((d - h)\)\^2 - \((j - n)\)\^2 - 
\((k - o)\)\^2 - \((l - p)\)\^2 - \((i - m)\)\^2}];\)\)

sh["CL4"] := 
      Module[{},   gp =. ; 
        gi = {1, 2, 3, -4, 5, -6, -7, -8, 
            9, -10, -11, -12, -13, -14, -15, 16, 
            4}; {((a^2) + (b^2) + (c^2) + (d^2) + (e^2) + (f^2) + (g^2) + (h^2) + 
                  (i^2) + (j^2) + (k^2) + (l^2) + (m^2) + (n^2) + (o^2) + 
                  (p^2))^2 - 
            4 ((a b + c d + e f + g h + i j + k l + m n + 
                        o p)^2 + (a c - b d + e g - f h + i k - 
                        j l + m o - n p)^2 + (a e - b f - c g + 
                        d h + i m - j n - k o + l p)^2 + (a i - 
                        b j - c k + d l - e m + f n + g o - 
                        h p)^2 + (h i - g j + f k - e l - d m + 
                        c n - b o + a p)^2)}]; 
    sh["CL13"] := 
      Module[{}, gp =. ; 
        gi = {1, -2, -3, -4, -5, -6, -7, 8, 9, 10, 
            11, -12, 13, -14, -15, -16, 
            4}; {((a^2) + (b^2) + (c^2) + (d^2) + (e^2) + (f^2) + (g^2) + (h^2) + 
                  (i^2) + (j^2) + (k^2) + (l^2) + (m^2) + (n^2) + (o^2) + 
                  (p^2))^2 - 
            4 ((-d e + c f - b g + a h - l m + k n - j o + 
                        i p)^2 + (a i - b j - c k + d l - e m + 
                        f n + g o - 
                        h p)^2 + 
(b i + a j - 
                        d k - c l - f m - e n + h o + 
                        g p)^2 + (c i + d j + a k + b l - g m - 
                        h n - e o - f p)^2 + (e i + f j + g k + 
                        h l + a m + b n + c o + d p)^2)}];   
sh["CL22"] = 
        Module[{}, gp =. ; 
          gi = {1, -2, -3, -4, 5, 6, 7, -8, 9, 10, 
              11, -12, -13, 14, 15, 16, 
              4}; {((a^2) + (b^2) + (c^2) + (d^2) - (e^2) - (f^2) - (g^2) - (h^2) - 
                    (i^2) - (j^2) - (k^2) - (l^2) + (m^2) + (n^2) + (o^2) + 
                    (p^2))^2 - 
              4 (-(-d e + c f - b g + a h + l m - k n + 
                            j o - i p)^2 - (-d i + c j - b k + 
                          a l - h m + g n - f o + 
                          e p)^2
 + (-f i + 
                          e j - h k + g l - b m + a n - d o + 
                          c p)^2 + (-g i + h j + e k - f l - 
                          c m + d n + a o - 
                          b p)^2
 + (-h i - 
                          g j + f k + e l - d m - c n + b o + 
                          a p)^2)}];

sh["CL31"] := 
      Module[{}, gp =. ; 
        gi = {1, -2, 3, 4, 5, 6, -7, 8, 9, 10, -11, 12, -13, 
            14, -15, -16, 
            4}; {((a^2) + (b^2) - (c^2) - (d^2) - (e^2) - (f^2) + (g^2) + (h^2) - 
                  (i^2) - (j^2) + (k^2) + (l^2) + (m^2) + (n^2) - (o^2) - 
                  (p^2))^2 - 
            4 ((-d e + c f - b g + a h + l m - k n + j o - 
                        i p)^2 + (-d i + c j - b k + a l - 
                        h m + g n - f o + e p)^2 + (-f i + 
                        e j + h k - g l - b m + a n + d o - 
                        c p)^2 - (-g i + h j + e k - f l - 
                        c m + d n + a o - b p)^2 - (-h i - 
                        g j + f k + e l - d m - c n + b o + 
                        a p)^2)}]; 
    sh["r31r"] := 
      Module[{}, gp =. ; 
        plex = {a, b, c, -d, e, -f, -g, -h, 
            i, -j, -k, -l, -m, -n, -o, p}; 
        gi = {1, 2, 3, -4, -5, 6, 7, 8, 9, -10, -11, -12, 
            13, 14, 15, -16, 
            4}; {((a^2) + (b^2) + (c^2) + (d^2) - (e^2) - (f^2) - (g^2) - (h^2) + 
                  (i^2) + (j^2) + (k^2) + (l^2) - (m^2) - (n^2) - (o^2) - 
                  (p^2))^2 - 
            4 ((a b +  c d -  e f -  g h +  i j +  k l -  
                        m n -  o p)^2 + ( 
                      a c -  b d -  e g +  f h +  i k -  j l -  
                        m o +  n p)^2 - 
( 
                      a e -  b f -  c g +  d h +  i m -  j n -  
                        k o +  l p)^2 + ( 
                      a i -  b j -  c k +  d l +  e m -  f n -  
                        g o +  h p)^2 - ( 
                      h i -  g j +  f k -  e l -  d m +  c n -  
                        b o +  a p)^2)}]; 
    sh["CL04"] := 
      Module[{}, gp =. ; 
        gi = {1, -2, -3, -4, -5, -6, -7, 
            8, -9, -10, -11, 12, -13, 14, 15, 16, 
            4}; {((a^2) + (b^2) + (c^2) + (d^2) + (e^2) + (f^2) + (g^2) + (h^2) + 
                  (i^2) + (j^2) + (k^2) + (l^2) + (m^2) + (n^2) + (o^2) + 
                  (p^2))^2 - 
            4 ((-d e + c f - b g + a h - l m + k n - j o + 
                        i p)^2 + (-d i + c j - b k + a l + 
                        h m - g n + f o - e p)^2 + (-f i + 
                        e j - h k + g l - b m + a n - d o + 
                        c p)^2 + (-g i + h j + e k - f l - 
                        c m + d n + a o - b p)^2 + (-h i - 
                        g j + f k + e l - d m - c n + b o + 
                        a p)^2)}];

\(sh["O8"] := 
      Module[{}, 
        gp = {1, 0. , 1, 0. , 1, 0. , 1, 0. , 1, 0. , 1, 0. , 1, 0. , 1, 
            0. }; gi = {1, 2, 3, 4, 5, 6, 7, 
            8, \(-9\), \(-10\), \(-11\), \(-12\), \(-13\), \(-14\), \(-15\), \(-16\), 1, 1, 1, 1, 1, 1, 1, 
            1}; {\((a + b + c + d + e + f + g + h)\)\^2 + \((i + j + k + l + m + n + o + p)\)\^2, \((a - b - c + d + e - f - g + h)\)\^2 + \((i - j - k + l + m - n - o + p)\)\^2, \((a - b + c - d + e - f + g - h)\)\^2 + \((i - j + k - l + m - n + o - p)\)\^2, \((a + b - c - d + e + f - g - h)\)\^2 + \((i + j - k - l + m + n - o - p)\)\^2, \((a + b + c + d - e - f - g - h)\)\^2 + \((i + j + k + l - m - n - o - p)\)\^2, \((a - b - c + d - e + f + g - h)\)\^2 + \((i - j - k + l - m + n + o - p)\)\^2, \((a - b + c - d - e + f - g + h)\)\^2 + \((i - j + k - l - m + n - o + p)\)\^2, \((a + b - c - d - e - f + g + h)\)\^2 + \((i + j - k - l - m - n + o + p)\)\^2}]; 
    toPol[{a_, b_, c_, d_, e_, f_, g_, h_, i_, j_, k_, l_, m_, n_, o_, 
          p_}, "O8"] := \ {\ \ \ \ \ \ \((a + b + c + d + e + f + g + h)\)\^2 + \((i + j + k + l + m + n + o + p)\)\^2, 
        ArcTan[a + b + c + d + e + f + g + h, 
          i + j + k + l + m + n + o + 
            p], 
\ \ \ \ \ \ \((a - b - c + d + e - f - g + h)\)\^2 + \((i - j - k + l + m - n - o + p)\)\^2, 
        ArcTan[a - b - c + d + e - f - g + h, 
          i - j - k + l + m - n - o + 
            p], 
\ \ \ \ \ \ \((a - b + c - d + e - f + g - h)\)\^2 + \((i - j + k - l + m - n + o - p)\)\^2, 
        ArcTan[a - b + c - d + e - f + g - h, 
          i - j + k - l + m - n + o - 
            p], 
\ \ \ \ \ \ \((a + b - c - d + e + f - g - h)\)\^2 + \((i + j - k - l + m + n - o - p)\)\^2, 
        ArcTan[a + b - c - d + e + f - g - h, 
          i + j - k - l + m + n - o - 
            p], 
\ \ \ \ \ \ \((a + b + c + d - e - f - g - h)\)\^2 + \((i + j + k + l - m - n - o - p)\)\^2, 
        ArcTan[a + b + c + d - e - f - g - h, 
          i + j + k + l - m - n - o - 
            
            p], 
\ \ \ \ \ \ \((a - b - c + d - e + f + g - h)\)\^2 + \((i - j - k + l - m + n + o - p)\)\^2, 
        ArcTan[a - b - c + d - e + f + g - h, 
          i - j - k + l - m + n + o - 
            p], 
\ \ \ \ \ \ \ \((a - b + c - d - e + f - g + h)\)\^2 + \((i - j + k - l - m + n - o + p)\)\^2, 
        ArcTan[a - b + c - d - e + f - g + h, 
          i - j + k - l - m + n - o + 
            p], 
\ \ \ \ \ \ \ \((a + b - c - d - e - f + g + h)\)\^2 + \((i + j - k - l - m - n + o + p)\)\^2, 
        ArcTan[a + b - c - d - e - f + g + h, 
          i + j - k - l - m - n + o + p]}; 
    toVec[{ii_, j_, kk_, l_, mm_, n_, oo_, p_, qq_, r_, ss_, t_, uu_, v_, 
          ww_, x_}, "O8"] := 
      Module[{i = \@ii, k = \@kk, m = \@mm, o = \@oo, q = \@qq, s = \@ss, 
          u = \@uu, w = \@ww}, 
        2 {i\ Cos[j] + k\ Cos[l] + m\ Cos[n] + o\ Cos[p] + q\ Cos[r] + 
                s\ Cos[t] + u\ Cos[v] + 
                w\ Cos[x], 
i\ Cos[j] - k\ Cos[l] - 
                m\ Cos[n] + o\ Cos[p] + q\ Cos[r] - s\ Cos[t] - u\ Cos[v] + 
                w\ Cos[x], 
i\ Cos[j] - k\ Cos[l] + 
                m\ Cos[n] - o\ Cos[p] + q\ Cos[r] - s\ Cos[t] + u\ Cos[v] - 
                w\ Cos[x], 
i\ Cos[j] + k\ Cos[l] - 
                m\ Cos[n] - o\ Cos[p] + q\ Cos[r] + s\ Cos[t] - u\ Cos[v] - 
                w\ Cos[x], 
i\ Cos[j] + k\ Cos[l] + 
                m\ Cos[n] + o\ Cos[p] - q\ Cos[r] - s\ Cos[t] - u\ Cos[v] - 
                w\ Cos[x], 
i\ Cos[j] - k\ Cos[l] - 
                m\ Cos[n] + o\ Cos[p] - q\ Cos[r] + s\ Cos[t] + u\ Cos[v] - 
                w\ Cos[x], 
i\ Cos[j] - k\ Cos[l] + 
                m\ Cos[n] - o\ Cos[p] - q\ Cos[r] + s\ Cos[t] - u\ Cos[v] + 
                w\ Cos[x], 
i\ Cos[j] + k\ Cos[l] - 
                m\ Cos[n] - o\ Cos[p] - q\ Cos[r] - s\ Cos[t] + u\ Cos[v] + 
                w\ Cos[x], 
i\ Sin[j] + k\ Sin[l] + 
                m\ Sin[n] + o\ Sin[p] + q\ Sin[r] + s\ Sin[t] + u\ Sin[v] + 
                w\ Sin[x], 
i\ Sin[j] - k\ Sin[l] - 
                m\ Sin[n] + o\ Sin[p] + q\ Sin[r] - s\ Sin[t] - u\ Sin[v] + 
                w\ Sin[x], 
i\ Sin[j] - k\ Sin[l] + 
                m\ Sin[n] - o\ Sin[p] + q\ Sin[r] - s\ Sin[t] + u\ Sin[v] - 
                w\ Sin[x], 
i\ Sin[j] + k\ Sin[l] - 
                m\ Sin[n] - o\ Sin[p] + q\ Sin[r] + s\ Sin[t] - u\ Sin[v] - 
                w\ Sin[x], 
i\ Sin[j] + k\ Sin[l] + 
                m\ Sin[n] + o\ Sin[p] - q\ Sin[r] - s\ Sin[t] - u\ Sin[v] - 
                w\ Sin[x], 
i\ Sin[j] - k\ Sin[l] - 
                m\ Sin[n] + o\ Sin[p] - q\ Sin[r] + s\ Sin[t] + u\ Sin[v] - 
                w\ Sin[x], 
i\ Sin[j] - k\ Sin[l] + 
                m\ Sin[n] - o\ Sin[p] - q\ Sin[r] + s\ Sin[t] - u\ Sin[v] + 
                w\ Sin[x], 
i\ Sin[j] + k\ Sin[l] - 
                m\ Sin[n] - o\ Sin[p] - q\ Sin[r] - s\ Sin[t] + u\ Sin[v] + 
                w\ Sin[x]}/16];\)

8.12 Shapes for larger tables.

\(sh["C3C4C2"] := 
      Module[{fa = a - b - g + h + m - n - s + t, 
          fb = b - c - h + i + n - o - t + u, 
          fc = c - a - i + g + o - m - u + s, 
          fd = d - e - j + k + p - q - v + w, 
          fe = e - f - k + l + q - r - w + x, 
          ff = f - d - l + j + r - p - x + v, 
          ga = a - b - g + h - m + n + s - t, 
          gb = b - c - h + i - n + o + t - u, 
          gc = c - a - i + g - o + m + u - s, 
          gd = d - e - j + k - p + q + v - w, 
          ge = e - f - k + l - q + r + w - x, 
          gf = f - d - l + j - r + p - v + x}, gp =. ; 
        gi = {1, 3, 2, 10, 12, 11, 7, 9, 8, 4, 6, 5, 13, 15, 14, 22, 24, 23, 
            19, 21, 20, 16, 18, 17, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}; {a + 
            b + c + d + e + f + g + h + i + j + k + l + m + n + o + p + q + 
            r + s + t + u + v + w + x, 
a + b + c - d - e - 
            f + g + h + i - j - k - l + m + n + o - p - q - r + s + t + u - 
            v - w - x, 
a + b + c + d + e + f + g + h + i + 
            j + k + l - m - n - o - p - q - r - s - t - u - v - w - 
            x, 
a + b + c - d - e - f + g + h + i - j - k - 
            l - m - n - o + p + q + r - s - t - u + v + w + 
            x, 
\((a + b + c - g - h - i - m - n - o + s + t + u)\)\^2 + \((d + e + f - j - k - l - p - q - r + v + w + x)\)\^2, 
\((a + b + c - g - h - i + m + n + o - s - t - u)\)\^2 + \((d + e + f - j - k - l + p + q + r - v - w - x)\)\^2, 
\((\ \ \ \ \((a - b + d - e + g - h + j - k + m - n + p - q + s - t + v - w)\)\^2 + \((b - c + e - f + h - i + k - l + n - o + q - r + t - u + w - x)\)\^2 + \((\(-a\) + c - d + f - g + i - j + l - m + o - p + r - s + u - v + x)\)\^2)\)/
            2, 
\((\ \ \ \ \((a - b + d - e + g - h + j - k - m + n - p + q - s + t - v + w)\)\^2 + \((b - c + e - f + h - i + k - l - n + o - q + r - t + u - w + x)\)\^2 + \((\(-a\) + c - d + f - g + i - j + l + m - o + p - r + s - u + v - x)\)\^2)\)/
            2, 
\((\ \ \ \ \((a - b - d + e + g - h - j + k + m - n - p + q + s - t - v + w)\)\^2 + \((b - c - e + f + h - i - k + l + n - o - q + r + t - u - w + x)\)\^2 + \((\(-a\) + c + d - f - g + i + j - l - m + o + p - r - s + u + v - x)\)\^2)\)/
            2, 
\((\ \ \ \ \((a - b - d + e + g - h - j + k - m + n + p - q - s + t + v - w)\)\^2 + \((b - c - e + f + h - i - k + l - n + o + q - r - t + u + w - x)\)\^2 + \((\(-a\) + c + d - f - g + i + j - l + m - o - p + r + s - u - v + x)\)\^2)\)/
            2, 
\((\((fa + fd)\)\^4 + \((fa - fd)\)\^4 + \((fb + fe)\)\^4 + \((fb - fe)\)\^4 + \((fc + ff)\)\^4 + \((fc - ff)\)\^4)\)/
              4 - \((fa\^2 + fb\^2 + fc\^2)\) \((fd\^2 + fe\^2 + 
                  ff\^2)\), 
\((\((ga + gd)\)\^4 + \((ga - gd)\)\^4 + \((gb + ge)\)\^4 + \((gb - ge)\)\^4 + \((gc + gf)\)\^4 + \((gc - gf)\)\^4)\)/4 - \((ga\^2 + gb\^2 + gc\^2)\) \((gd\^2 + ge\^2 + 
                  gf\^2)\)}]\)

\(sh["CL31C2"] := 
      Module[{}, gp =. ; 
        gi = {1, 18, 3, 4, 5, 6, 23, 8, 9, 10, 27, 12, 29, 14, 31, 32, 17, 2, 
            19, 20, 21, 22, 7, 24, 25, 26, 11, 28, 13, 30, 15, 16, 1, 1, 1, 
            1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 4}; {a + b + c + d + e + 
            f + g + h - i - j - k - l - m - n - o - p + q + r + s + t + u + 
            v + w + x - y - 
            z - α - β - γ - δ - ε - ζ, a + b + c + d - e - f - g - h + i + j + k + l - m - n - o - p + q + 
            r + s + t - u - v - w - x + y + 
            z + α + β - γ - δ - ε - ζ, a + b - c - d + e + f - g - h + i + j - k - l + m + n - o - p + q + 
            r - s - t + u + v - w - x + y + 
            z - α - β + γ + δ - ε - ζ, a + b - c - d - e - f + g + h - i - j + k + l + m + n - o - p + q + 
            r - s - t - u - v + w + x - y - 
            z + α + β + γ + δ - ε - ζ, a - b + c - d + e - f + g - h + i - j + k - l + m - n + o - p + q - 
            r + s - t + u - v + w - x + y - 
            z + α - β + γ - δ + ε - ζ, a - b + c - d - e + f - g + h - i + j - k + l + m - n + o - p + q - 
            r + s - t - u + v - w + x - y + 
            z - α + β + γ - δ + ε - ζ, a - b - c + d + e - f - g + h - i + j + k - l - m + n + o - p + q - 
            r - s + t + u - v - w + x - y + 
            z + α - β - γ + δ + ε - ζ, a - b - c + d - e + f + g - h + i - j - k + l - m + n + o - p + q - 
            r - s + t - u + v + w - x + y - 
            z - α + β - γ + δ + ε - ζ, a - b - c + d - e + f + g - h - i + j + k - l + m - n - o + p + q - 
            r - s + t - u + v + w - x - y + 
            z + α - β + γ - δ - ε + ζ, a - b - c + d + e - f - g + h + i - j - k + l + m - n - o + p + q - 
            r - s + t + u - v - w + x + y - 
            z - α + β + γ - δ - ε + ζ, a - b + c - d - e + f - g + h + i - j + k - l - m + n - o + p + q - 
            r + s - t - u + v - w + x + y - 
            z + α - β - γ + δ - ε + ζ, a - b + c - d + e - f + g - h - i + j - k + l - m + n - o + p + q - 
            r + s - t + u - v + w - x - y + 
            z - α + β - γ + δ - ε + ζ, a + b - c - d - e - f + g + h + i + j - k - l - m - n + o + p + q + 
            r - s - t - u - v + w + x + y + 
            z - α - β - γ - δ + ε + ζ, a + b - c - d + e + f - g - h - i - j + k + l - m - n + o + p + q + 
            r - s - t + u + v - w - x - y - 
            z + α + β - γ - δ + ε + ζ, a + b + c + d - e - f - g - h - i - j - k - l + m + n + o + p + q + 
            r + s + t - u - v - w - x - y - 
            z - α - β + γ + δ + ε + ζ, a + b + c + d + e + f + g + h + i + j + k + l + m + n + o + p + q + 
            r + s + t + u + v + w + x + y + 
            z + α + β + γ + δ + ε + ζ, \(-4\)\ \((\(-\((\(-\((h - x)\)\)\ \((i - y)\) - \((g - w)\)\ \((j - 
                                z)\) + \((f - 
                                v)\)\ \((k - α)\) + \((e - 
                                u)\)\ \((l - β)\) - \((d - 
                                t)\)\ \((m - γ)\) - \((c - 
                                s)\)\ \((n - δ)\) + \((b - 
                                r)\)\ \((o - ε)\) + \((a - 
                                q)\)\ \((p - ζ)\))\)^2\) - \((\(-\((g - 
                                w)\)\)\ \((i - y)\) + \((h - x)\)\ \((j - 
                              z)\) + \((e - u)\)\ \((k - α)\) - \((f - 
                              v)\)\ \((l - β)\) - \((c - 
                              s)\)\ \((m - γ)\) + \((d - 
                              t)\)\ \((n - δ)\) + \((a - 
                              q)\)\ \((o - ε)\) - \((b - 
                              r)\)\ \((p - ζ)\))\)^2 + \((\(-\((f - 
                                v)\)\)\ \((i - y)\) + \((e - u)\)\ \((j - 
                              z)\) + \((h - x)\)\ \((k - α)\) - \((g - 
                              w)\)\ \((l - β)\) - \((b - 
                              r)\)\ \((m - γ)\) + \((a - 
                              q)\)\ \((n - δ)\) + \((d - 
                              t)\)\ \((o - ε)\) - \((c - 
                              s)\)\ \((p - ζ)\))\)^2 + \((\(-\((d - 
                                t)\)\)\ \((i - y)\) + \((c - s)\)\ \((j - 
                              z)\) - \((b - r)\)\ \((k - α)\) + \((a - 
                              q)\)\ \((l - β)\) - \((h - 
                              x)\)\ \((m - γ)\) + \((g - 
                              w)\)\ \((n - δ)\) - \((f - 
                              v)\)\ \((o - ε)\) + \((e - 
                              u)\)\ \((p - ζ)\))\)^2 + \((\(-\((d - 
                                t)\)\)\ \((e - u)\) + \((c - s)\)\ \((f - 
                              v)\) - \((b - r)\)\ \((g - w)\) + \((a - 
                              q)\)\ \((h - 
                              x)\) + \((l - β)\)\ \((m - γ)\) - \((k - α)\)\ \((n - δ)\) + \((j - 
                              z)\)\ \((o - ε)\) - \((i - 
                              y)\)\ \((p - ζ)\))\)^2)\) + \((\((a - q)\)\^2 + \((b - r)\)\^2 - \((c - s)\)\^2 - \((d - t)\)\^2 - \((e - u)\)\^2 - \((f - v)\)\^2 + \((g - w)\)\^2 + \((h - x)\)\^2 - \((i - y)\)\^2 - \((j - z)\)\^2 + \((k - α)\)\^2 + \((l - β)\)\^2 + \((m - γ)\)\^2 + \((n - δ)\)\^2 - \((o - ε)\)\^2 - \((p - ζ)\)\^2)\)^2}]\)

\(sh["CL4C2"] := 
      Module[{}, gp =. ; 
        gi = {1, 2, 3, 20, 5, 22, 23, 24, 9, 26, 27, 28, 29, 30, 31, 16, 17, 
            18, 19, 4, 21, 6, 7, 8, 25, 10, 11, 12, 13, 14, 15, 32, 1, 1, 1, 
            1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 4}; {a + b + c + d + e + 
            f + g + h - i - j - k - l - m - n - o - p + q + r + s + t + u + 
            v + w + x - y - 
            z - α - β - γ - δ - ε - ζ, a + b + c + d - e - f - g - h + i + j + k + l - m - n - o - p + q + 
            r + s + t - u - v - w - x + y + 
            z + α + β - γ - δ - ε - ζ, a + b - c - d + e + f - g - h + i + j - k - l + m + n - o - p + q + 
            r - s - t + u + v - w - x + y + 
            z - α - β + γ + δ - ε - ζ, a + b - c - d - e - f + g + h - i - j + k + l + m + n - o - p + q + 
            r - s - t - u - v + w + x - y - 
            z + α + β + γ + δ - ε - ζ, a - b + c - d + e - f + g - h + i - j + k - l + m - n + o - p + q - 
            r + s - t + u - v + w - x + y - 
            z + α - β + γ - δ + ε - ζ, a - b + c - d - e + f - g + h - i + j - k + l + m - n + o - p + q - 
            r + s - t - u + v - w + x - y + 
            z - α + β + γ - δ + ε - ζ, a - b - c + d + e - f - g + h - i + j + k - l - m + n + o - p + q - 
            r - s + t + u - v - w + x - y + 
            z + α - β - γ + δ + ε - ζ, a - b - c + d - e + f + g - h + i - j - k + l - m + n + o - p + q - 
            r - s + t - u + v + w - x + y - 
            z - α + β - γ + δ + ε - ζ, a - b - c + d - e + f + g - h - i + j + k - l + m - n - o + p + q - 
            r - s + t - u + v + w - x - y + 
            z + α - β + γ - δ - ε + ζ, a - b - c + d + e - f - g + h + i - j - k + l + m - n - o + p + q - 
            r - s + t + u - v - w + x + y - 
            z - α + β + γ - δ - ε + ζ, a - b + c - d - e + f - g + h + i - j + k - l - m + n - o + p + q - 
            r + s - t - u + v - w + x + y - 
            z + α - β - γ + δ - ε + ζ, a - b + c - d + e - f + g - h - i + j - k + l - m + n - o + p + q - 
            r + s - t + u - v + w - x - y + 
            z - α + β - γ + δ - ε + ζ, a + b - c - d - e - f + g + h + i + j - k - l - m - n + o + p + q + 
            r - s - t - u - v + w + x + y + 
            z - α - β - γ - δ + ε + ζ, a + b - c - d + e + f - g - h - i - j + k + l - m - n + o + p + q + 
            r - s - t + u + v - w - x - y - 
            z + α + β - γ - δ + ε + ζ, a + b + c + d - e - f - g - h - i - j - k - l + m + n + o + p + q + 
            r + s + t - u - v - w - x - y - 
            z - α - β + γ + δ + ε + ζ, a + b + c + d + e + f + g + h + i + j + k + l + m + n + o + p + q + 
            r + s + t + u + v + w + x + y + 
            z + α + β + γ + δ + ε + ζ, \(-\((2 \((h - x)\) \((i - y)\) - 2 \((g - w)\) \((j - z)\) + 
                    2 \((f - v)\) \((k - α)\) - 
                    2 \((e - u)\) \((l - β)\) - 
                    2 \((d - t)\) \((m - γ)\) + 
                    2 \((c - s)\) \((n - δ)\) - 
                    2 \((b - r)\) \((o - ε)\) + 
                    2 \((a - q)\) \((p - ζ)\))\)^2\) - \((2 \((a - 
                        q)\) \((i - y)\) - 2 \((b - r)\) \((j - z)\) - 
                  2 \((c - s)\) \((k - α)\) + 
                  2 \((d - t)\) \((l - β)\) - 
                  2 \((e - u)\) \((m - γ)\) + 
                  2 \((f - v)\) \((n - δ)\) + 
                  2 \((g - w)\) \((o - ε)\) - 
                  2 \((h - x)\) \((p - ζ)\))\)^2 - \((2 \((a - 
                        q)\) \((e - u)\) - 2 \((b - r)\) \((f - v)\) - 
                  2 \((c - s)\) \((g - w)\) + 2 \((d - t)\) \((h - x)\) + 
                  2 \((i - y)\) \((m - γ)\) - 
                  2 \((j - z)\) \((n - δ)\) - 
                  2 \((k - α)\) \((o - ε)\) + 
                  2 \((l - β)\) \((p - ζ)\))\)^2 - \((2 \((a - 
                        q)\) \((c - s)\) - 2 \((b - r)\) \((d - t)\) + 
                  2 \((e - u)\) \((g - w)\) - 2 \((f - v)\) \((h - x)\) + 
                  2 \((i - y)\) \((k - α)\) - 
                  2 \((j - z)\) \((l - β)\) + 
                  2 \((m - γ)\) \((o - ε)\) - 
                  2 \((n - δ)\) \((p - ζ)\))\)^2 - \((2 \((a - 
                        q)\) \((b - r)\) + 2 \((c - s)\) \((d - t)\) + 
                  2 \((e - u)\) \((f - v)\) + 2 \((g - w)\) \((h - x)\) + 
                  2 \((i - y)\) \((j - z)\) + 
                  2 \((k - α)\) \((l - β)\) + 
                  2 \((m - γ)\) \((n - δ)\) + 
                  2 \((o - ε)\) \((p - ζ)\))\)^2 + \((\((a - q)\)\^2 + \((b - r)\)\^2 + \((c - s)\)\^2 + \((d - t)\)\^2 + \((e - u)\)\^2 + \((f - v)\)\^2 + \((g - w)\)\^2 + \((h - x)\)\^2 + \((i - y)\)\^2 + \((j - z)\)\^2 + \((k - α)\)\^2 + \((l - β)\)\^2 + \((m - γ)\)\^2 + \((n - δ)\)\^2 + \((o - ε)\)\^2 + \((p - ζ)\)\^2)\)^2}]\)

9. Exported functions.

9.1 Loop Procedures abbr, gpd, shape, hoopFactor, hoopShape, frag, frag2, tidy, toSignedTable, cosorbit, ω=2π/3.

abbr[t_, o_:  1, n_: {}] := 
        Module[{a = {}, l = Length[t] - 1, f = First[t], r = Drop[t, 1], s, 
            u = Union[Drop[t, 1]], ui}, 
          Do[ui = u[[i]]; s = Length[Position[r, ui]] ; 
            If[s > 1, u[[i]] = (Subscript[ui, s])], {i, Length[u]}]; 
          Flatten[Join[{o f}, u, n]]];

gpd[gg_]:=Module[{g = 
                If[Length[gg] == 1 && 
                    Head[gg] == TraditionalForm, gg[[1]], gg]},If[Length[g] == 
                    Length[g[[1]]] && (MatrixQ[g[[1, 1]]] || 
                      Union[Flatten[Abs[g], 1]] == 
                        Sort[Abs[g[[1]]]]),g,Print[Short[g], " is not a groupoid"];Abort[]]];
shape[a_?VectorQ, g_:  gmn] := 
        Chop[sh[g] /. fromAlph[a], hmin];
hoopFactor[
          f_Symbol:  fp] := 
        Module[{i, gf, gl = Length[glo], n, res = {}}, 
          gi = Position[Abs[glo], 1]; 
          gi = Drop[Transpose[gi], 1][[1]]*
              Table[i = ii; 
                Sign[glo[[gi[[i, 1]], gi[[i, 2]]]]], {ii, gl}]; 
          gf = f[glo]; 
          gf = If[Head[gf] === Times, List @@ gf, {gf}];   
If[
            gf[[1]] === -1, gf = Drop[gf, 1]]; 
Do[
            n = gf[[i]]; 
            If[Head[n] === Power, AppendTo[res, n[[1]]]; 
              AppendTo[gi, n[[-1]]], AppendTo[res, n]; 
              AppendTo[gi, 1]], {i, Length[gf]}]; res];

hoopShape[]:=Which[Head[glo] === List,hoopShape[glo, -1],
Head[gmn] === Symbol,Print["Neither glo nor gmn set"],
Head[sh[gmn]] === sh,frag[hoopFactor[fa]],
True,sh[gmn]];
hoopShape[m_?IntegerQ, n_] := 
        hoopShape[
          mp[m, n]];
hoopShape[X_, 
            o_:  0] /; (Head[X] === String) || Head[X] === Symbol := 
        hoopShape[makeProtoloop[X], 
          o];
hoopShape[X_, o_:  0] /; 
          Head[X] == TraditionalForm := 
        hoopShape[X[[1]], o];
hoopShape[X_, o_:  0] /; MatrixQ[X]:=Module[{g = X, gf, gm, res = {}, r = {}},If[X === glo, Null, 
                g = If[o == -1, X, caylindex[gpd[X]]]];If[o > 0 && ! (conservativeQ[]),Print["Table not conservative"];Abort[]];
id[g];hoopFactor[];Do[
                If[Head[X[[in, 1]]] === 
                    Symbol, 
                  AppendTo[r, 
                    alph[[in]] -> 
                      X[[in, 1]]]], {in, 
                  mm}];
gm = fp[g] /. r;res = sh[gmn];
Which[
gmn == "Unrecognised" || 
                    Head[res] == sh,res = frag[fa[g]]; 
                  sh[gmn] = frag[res, o],
(gmn ≠ 
                        Unrecognized) && fp[makeProtoloop[gmn]] === gm,If[o > 0,Print[gmn <> Protoloop]];
   If[Head[res] == sh, res = hoopFactor[fa]; 
                      sh[gmn] = res],
gmn ≠ Unrecognized && 
                    Length[res] === Length[gm],If[o > 0,Print[gmn <> Isomorph]],
True,If[o ≠ 0,Print[gmn <> "Shape found"]]];
If[Length[r] == mm, res /. r, 
                res]];
hoopShape[Unrecognized, o_:  0] := 
        sh[Unrecognized];
hoopShape[X_, o_:  0] /; 
          Head[X] == List := 
        hoopShape[makeProtoloop[{X[[1]], X[[2]]}], 
          0];
hoopShape[gg_, o_:  0] := 
        Module[{g = makeProtoloop[gg], res}, 
          res = If[g === "No Protoloop", hoopFactor[fa]; 
              sh[Unrecognized], 
              sh[gd[][[3, 1]]]]; 
          frag[If[Head[res] == sh, hoopFactor[fa], res, res], 
            o]];

polsort[P_] := 
        Module[{i, j, l, p = Expand[P], t, v}, v = Variables[p];  
          l = Length[v];  t = Table[Position[p, v[[i]]], {i, l}];  
          Table[Table[
              p[[t[[v, j, 1]]]], {j, Length[t[[v]]]}], {v, 
              l}]]; 
frag[p_, o_:  0] := 
        Module[{P, res}, P = If[MatrixQ[p], fa[p], p]; 
          If[Head[P] === Plus, P = {P}]; 
          If[Head[res = sh[P]] === List, res, res = {}; 
            Do[AppendTo[res, 
                If[Head[P[[ii]]] === Power, frag2[P[[ii, 1]], o], 
                  frag2[P[[ii]], o]]], {ii, Length[P]}]; 
            res]];

frag2[(P_)?PolynomialQ, o_:  0]:=
Module[{ai, aj, d = 1, err, f, fn = 0, f2 = {{}, {}, {}, {}}, i, 
              kf = {}, l, np = 1, nw, p = polsort[Expand[P]], pi, pip, p1, 
              p2, res = {}, sgn, t, v, vf = {}, addnew},If[P === -(a^2) - (b^2) || (p = 
                        polsort[Expand[P]]; MatrixQ[p] === False) || 
                    Max[Exponent[Plus @@ p, a]] ≠ 2,Return[P],
addnew[t_] := 
                      If[MemberQ[res, t] === False, AppendTo[res, t]]; l = Length[p]; f = FactorInteger[l]; v = Variables[p];
Do[pi = p[[i]]; ai = v[[i]]; sgn = 
                            If[Position[pi, -ai^2] == {}, 
                              1, -1];
Which[Length[pi] == 1,addnew[pi],
Length[pi] == 
                                2,addnew[
                                sgn*pos[
                                      ai + (sgn*(Plus @@ pi - 
                                        sgn*ai^2))/(2*ai)]^2],Length[
                                  Union[Position[pi, sgn*2], 
                                    Position[
                                      pi, -sgn*2]]] ≥ 
                                Length[pi] - 1,
  addnew[
                                sgn*pos[
                                    Simplify[(ai/
                                        2 + (sgn*
                                        Plus @@ pi)/(ai*2))^2]]],Mod[Length[pi], 3] == 0,d = 2; If[(p2 = 
                                        Position[vf, 
                                        ai]) === {}, fn++;  np = fn;  
                                  AppendTo[vf, Variables[pi]];  
                                  AppendTo[kf, sgn], aj = ai;  
                                  If[True, aj = -ai];  
                                  np = First[Flatten[p2]]];
pip = 
                                  Expand[Plus @@ pi/ai - sgn*ai];AppendTo[f2[[np]], 
                                  pos[Plus @@ 
                                      Flatten[{ai, 
                                        1/2*Union[
                                        sgn*Extract[pip, Position[pip, 2*_]], 
                                        sgn*Extract[pip, 
                                        Position[pip, -2*_]]]}]]];If[o > 2,Print[{"pi,pip,f2", pi, 
                                        pip, f2}]],
_,Abort[]],{i, l}]; If[d == 2,Do[p1 = Union[f2[[i]]]; If[p1 ≠ {}, 
                                sgn = kf[[i]];  
                                AppendTo[res, 
                                  sgn*(p1[[1]] - p1[[2]])^2];  
                                AppendTo[res, 
                                  sgn*(p1[[2]] - p1[[3]])^2];  
                                AppendTo[res, 
                                  sgn*(p1[[1]] - p1[[3]])^2]]; If[o > 0,Print[{"i,p1,res", i, p1, 
                                        res}]],{i, Length[f2]}]];
res = Plus @@ res/d; If[Head[res] == List, res = res[[1]]];
err = 
                      Flatten[{Expand[
                              P - res]} /. {Plus[a_, 
                                Times[c_, b_]] -> {a, b c}, 
                            Plus[a_, b_] -> {a, b}}];
If[
                      err ≠ {0}, 
Do[
                        v = Variables[err[[i]]];  
                        pip = Position[res, 
                            v[[1]] + 
                              v[[2]] (sgn = 
                                    If[err[[1]] < 0, 
                                      1, -1, -1])]; 
res = 
                          ReplacePart[res, v[[1]] - sgn*v[[2]], 
                            pip], 
{i, 
                          Length[
                            err]}] (*End Do*) 
] (*End If[err ≠ {0}*) ;
]  ;err = 
                Flatten[{Expand[
                        P - res]} /. {Plus[a_, Times[c_, b_]] -> {a, 
                          b c}, Plus[a_, b_] -> {a, b}}];
If[err ≠ {0}, 
                Print["Frag2 failed to correct an error"]; Abort[]];res];
SetAttributes[frag2, 
      Listable]

frag2 heuristically attempts to fragment the quadratic factors of loop tables. polsort is used on the expanded polynomial; if this is not a matrix the polynomial is rejected as unsymmetrical. Polynomials higher than quadratic are returned unchanged. An addnew function is defined; it adds new terms to res, ignoring any already present. Factors of length = 1 ( and -(a^2) - (b^2)) are passed through unchanged. Non-ternary terms are created with a positive first component. Ternary terms have a divisor d=2 and are handled next, with various adjustments. The result is compared with the original, and errors are fiddled.

tidy[gg_?indexTableQ, n_: - 1, o_:  1, p_: {}]:=Module[{a, b, c, d, 
            g = If[Length[gg] == 1, gg[[1]], gg], gl, m, nb, r, 
            q},gl = Length[g];
If[Length[n] == 0, 
              b = subgroups[g][[-n]], b = n, b = n];   
nb = Length[b];m = gl/nb; If[! IntegerQ[m], Abort[]];    
r = Complement[Range[gl], b];If[MemberQ[r, o], b = Join[b, {o}]];r = Complement[r, b];c = Join[b, r];b = c;d = Transpose[reorder[g, c]][[nb + 1]];  
Do[
              b[[j + nb]] = c[[d[[j]]]], {j, 2, nb}];   
If[m > 2, b = Take[b, 2  nb]; 
              r = Complement[Range[gl], b]; 
If[
                Length[p] > 1, b = Join[b, p]; 
                b = Join[b, Complement[Range[gl], b]], 
If[
                  MemberQ[r, p], b = Join[b, {p}]]; 
b = 
                  Join[b, Complement[r, b]]]];  
Print[b];reorder[g, b]]

ts[a___] := toSignedTable[a];toSignedTable[g_?indexTableQ, r_Integer : 2, reo_ : {}, 
          o_ : 0]:=Module[{diags, diagelements, dis, gg = g, i, j, l = Length[g], 
              nex = 1, n = Abs[r], ps, rr = {}, res, s},If[reo ≠ {},gg = reorder[gg, reo];If[o > 1,Print[{"reordered", tf[gg]}]]];If[Length[gg] === Length[g],If[negatableQ[gg, n] == True,If[o > 2,Print[{"Immediately ", 
                                  n, "negatable"}]];gg = Take[Transpose[Take[gg, (l/n)]], (l/n)],diags = 
                          Table[gg[[ii, 
                              ii]], {ii, l}];diagelements = Union[diags];If[o ≠ 0,Print[{diags, "diags,elems", 
                                  diagelements}]];res = Table[0, {(l/n)}];Do[If[Mod[
                                      Length[
                                        diagelements[[
                                        jj]]], 
                                      n] ≠ 0,Print[{"not ", 
                                        n, "negatable"}];Abort[],ps = 
                                      Position[
                                        diags, Union[
                                        diagelements][[jj]]];If[o > 1,Print[{"ps,jj,nex", 
                                        ps, jj, nex}]];If[Mod[Length[ps], 
                                        n] ≠ 0,Print[{"not ", 
                                        n, "negatable"}];Abort[]];Do[
                                      res[[nex]] = 
                                        ps[[nx]]; nex++, {nx, Length[ps]/n}]];If[o ≠ 0,Print[Flatten[{"res", res}]]],{jj, Length[(diagelements/n)]}];gg = reorder[g, Flatten[res]]]];s = Length[gg];i =. ;rr = {};Do[
                Which[n == 2, AppendTo[rr, i + s -> -i], 
                  n == 3, 
                  AppendTo[rr, i + s -> 𝕁 i]; 
                  AppendTo[rr, 
                    i + 2 s -> 𝕁 𝕁 i], n == 4, 
                  AppendTo[rr, i + s -> I i]; 
                  AppendTo[rr, i + 2 s -> -i]; 
                  AppendTo[rr, i + 3 s -> -I i]], {i, 
                  s}];If[o > 1, Print[{rr, s}]];glo = 
                Table[gg[[i, 
                      j]] /. rr, {i, 
                    s}, {j, s}];mm = Length[glo];If[indexTableQ[glo],If[r > 0 && conservativeQ[glo] ≠ True,Print["Fail, non-conservative."];"TraditionalForm"[glo],glo],Print["Fail, not an indexTable."]];id[glo];glo]
collapse[g_, r_]:=  
Module[{l = Length[g]/r, 
              sr = {{}, {1, -1}, {1, J, JJ},  {1, -1, 
                    i, -1, -i}}},  
            Table[(Mod[g[[k, j]] - 1, l] + 1 ) sr[[r, 
                    Floor[(g[[k, j]] - 1)/l] + 1]], {k, l}, {j, 
                l}]];

abbrFactors[g_, p_:  power2]:=
\(Module[{ap, f, ff = fp[g, p], fi, fj, i = 1, l, res = {}, 
          temp}, 
f = 
          If[NumberQ[First[ff]], Drop[ff, 1], ff]; 
        f = If[NumberQ[First[f]], {Drop[f, 1]}, f]; 
        If[First[f] < 0, f = \(-f\)]; 
While[
          i ≤ Length[f], fi = f[\([i]\)]; 
          If[Length[f] === 1, \(i++\); 
            fi = \(Exponent[f, "a"]\)[\([1]\)]; fj = 1; 
            Goto[done]]; 
If[Head[f] === Power, \(i++\); 
            fj = Last[f]; 
            fi = If[Head[f[\([\(-2\), \(-1\)]\)]] === Power, 
                f[\([\(-2\), \(-1\), \(-1\)]\)], 1]; 
            Goto[done]]; 
If[
            Head[f] === 
                Plus && \((Head[f[\([\(-1\)]\)]] === Power || 
                  Head[f[\([\(-1\)]\)]] === Times)\), i = Length[f]; 
            fi = Exponent[f, "a"]; fj = 1; 
            Goto[done]]; 
If[NumberQ[\((fj = Last[fi])\)], 
            fi = Last[Drop[fi, \(-1\)]], fj = 1]; 
fi = 
            Switch[Length[fi], 0, 1, 1, 1, 2, Last[fi], _, 
              Last[Last[fi]]]; 
Label[done]; 
          fi = fi /. {"a" -> 1, \(-"a"\) -> 1, a -> 1}; 
          AppendTo[res, 
            If[fj == 1, 
              ToString[
                fi], \((ToString[fi])\)\^ToString[fj]]]; 
\(i++\)]; 
temp = 
          Union[res = Sort[Flatten[res]]]; 
Table[
          ap = temp[\([i]\)]; l = Length[Position[res, ap, 1]]; 
          Which[Length[ap] > 1 && l == 1, ap[\([1]\)]\^ap[\([2]\)], 
            Length[ap] > 1, \(ap[\([1]\)]\)\_l\%\(ap[\([2]\)]\), 
            l == 1, ap, True, ap\_l], {i, Length[temp]}]]\)

cosorbit[θ_, phaselist_: {0, 1, 2, 3, 4, 5}, scale_:  1, 
        meanlist_:  Table[0, {24}]] := 
      Module[{m = Length[phaselist], i}, 
        Table[i = phaselist[[j]]; 
          meanlist[[j]] + 
            If[NumberQ[i], scale*Cos[θ + 2*Mod[i, m] π/m], 
              0], {j, m}]]

ω = 2  π/3;

9.2 Generation by ca, co, unsign, sgroup.

ca[{m_, a_:  1}] := ca[m, a]; 
    ca[m_Integer?Positive] := 
      Table[Mod[i + j - 2, m] + 1, {i, m}, {j, m}];
ca[m_Integer?Positive, a_Integer]:=Module[{k = Abs[a], test},test=If[GCD[m, k] == 1,Table[
                      Mod[i + If[EvenQ[i], j k - k + 1, j] - 2, m] + 1, {i, 
                        m}, {j, m}],Print[m, " ", 
                          k, " ", "GCD not 1"];{},{}];If[a < 0 && associativeQ[test, 1] == False,Print["Not a group"];test,test,test]];ca[m_,k_:  0,c_]:=(*skeleton*)
Table[
          Mod[i + If[EvenQ[i], j k - k + 1, j] - 2, m] + 
            1, 
{i, m}, {j, m}];

co[g_?indexTableQ, gg_?indexTableQ, hh_?indexTableQ, 
        a_Integer, o_:  0] := 
      co[g, co[gg, hh, a], o]
co[g_?indexTableQ, 
        h_?indexTableQ, gg_?indexTableQ, hh_?indexTableQ, a_Integer, 
        o_Integer:  0, p_:  0] := 
      co[g, co[h, co[gg, hh, a], o], p]
co[gg_?indexTableQ, hh_?indexTableQ, a_:  0]:=
Module[{any, as = Abs[a], 
              g1 = Dimensions[
                    gg][[1]], 
              h1 = Dimensions[
                    hh][[1]], 
              g = unsign[gg], h = unsign[hh], im, lm, test = {}, t, m},m = g1 h1;
If[
                Position[gg, I] ≠ {}, 
                g = gg /. {any_ /; Re[any] < 0 -> -any + 2  g1, 
                      Complex[r_, i_] -> 
                        If[i < 0, -i + 3  g1, i + g1]}];If[Position[gg, 𝕁] ≠ {}, 
                g = Mod[(gg /. {Times[𝕁 𝕁, any_] -> any + 2  g1, 
                              Times[𝕁, any_] -> 
                                any + 
                                  g1, 𝕁 𝕁 -> 2  g1 + 1, 𝕁 -> 
                                g1 + 1}) - 1, 3  g1] + 1];If[h ≠ hh,Print["Second matrix must not be signed"],If[as == 7 && h ≠ C3,Print["Second matrix must be C3"],Do[lm = l - 1;Do[t = {};Do[
Do[Which[
as == 0 || 
                                        as == 1,AppendTo[
                                        t, (h[[k, 
                                        l]] - 1) g1 + 
                                        g[[i, 
                                        j]]],
as < 3,If[EvenQ[l] && i > 1, 
                                        AppendTo[
                                        t, (h[[k, 
                                        l]] - 1) g1 + 
                                        g[[g1 + 2 - i, 
                                        j]]], 
                                        AppendTo[
                                        t, (h[[k, 
                                        l]] - 1) g1 + 
                                        g[[i, 
                                        j]]]],
as == 
                                        3,If[EvenQ[j] && k > 1, 
                                        AppendTo[t, 
                                        Mod[(k + h[[k, 
                                        l]] - 2) g1 + 
                                        g[[i, 
                                        j]] - 1, m] + 1], 
                                        AppendTo[
                                        t, (h[[k, 
                                        l]] - 1) g1 + 
                                        g[[i, 
                                        j]]]],
as == 
                                        4,im = 4 lm (i - 1); 
                                        If[EvenQ[l] && EvenQ[i], 
                                        AppendTo[
                                        t, (h[[k, 
                                        l]] - 1) g1 + 
                                        g[[Mod[i + im - 1, 
                                        g1] + 1, j]]], 
                                        AppendTo[
                                        t, (h[[k, 
                                        l]] - 1) g1 + 
                                        g[[i, 
                                        j]]]],
as == 
                                        7,If[lm == 2, 
                                        lm = 3]; im = lm (i - 1); 
                                        AppendTo[
                                        t, (h[[k, 
                                        l]] - 1) g1 + 
                                        g[[Mod[i + im - 1, 
                                        g1] + 1, j]]],
True,Print[Unknown a];Abort[]],{i, g1}],{k, h1}];AppendTo[test, 
                                    Mod[t - 1, m] + 
                                      1
  ],{j, g1}],{l, h1}]]];If[a < 0 || as == 1,If[loopQ[test],If[associativeQ[test],test,Print["Not associative"];test],Print["Not a quasigroup"]],test,test]];

co[g_,h_,a_:  0,c_]:=(*skeleton*)
\(Module[{g1 = \(Dimensions[
                  g]\)[[1]], 
            h1 = \(Dimensions[h]\)[[1]], 
            im, lm, test = {}, t, m}, 
          m = g1\ h1; 
Do[lm = l - 1; 
            Do[t = {}; 
              Do[Do[
Which[a == 0 || a == 1, 
                    AppendTo[
                      t, \((h[[k, l]] - 
                              1)\) g1 + 
                        g[[i, 
                          j]]], 
a == 2, If[EvenQ[l] && i > 1, 
                      AppendTo[
                        t, \((h[[k, 
                                  l]] - 1)\) g1 + 
                          g[[g1 + 2 - i, 
                            j]]], 
                      AppendTo[
                        t, \((h[[k, 
                                  l]] - 1)\) g1 + 
                          g[[i, 
                            j]]]], 
a == 3, If[EvenQ[j] && k > 1, 
                      AppendTo[t, 
                        Mod[\((k + h[[k, 
                                      l]] - 2)\) g1 + 
                              g[[i, 
                                j]] - 1, m] + 1], 
                      AppendTo[
                        t, \((h[[k, 
                                  l]] - 1)\) g1 + 
                          g[[i, 
                            j]]]], 
a == 4, im = 4  lm\ \((i - 1)\); 
If[
                      EvenQ[l] && EvenQ[i], 
                      AppendTo[
                        t, \((h[[k, 
                                  l]] - 1)\)\ g1 + 
                          g[[Mod[i + im - 1, g1] + 1, 
                            j]]], 
                      AppendTo[
                        t, \((h[[k, 
                                  l]] - 1)\) g1 + 
                          g[[i, 
                            j]]]], 
True, Print["Unknown a ", a]; Abort[]], {i, g1}], {k, 
                  h1}]; AppendTo[test, Mod[t - 1, m] + 1], {j, g1}], {l, 
              h1}]; test]\);

unsign[g_?MatrixQ] := 
        Module[{l = Length[g], r, e, i, ar, ai, m, p}, 
          m = Switch[Length[Union[Flatten[Sign[g]]]], 1, p = 0; l, 2, p = l; 
              2  l, _, p = 2  l; 4  l]; 
          Table[e = g[[j, k]]; r = Re[e]; ar = Abs[r]; i = Im[e]; 
            ai = Abs[i]; r = ar + If[r < 0, p, 0]; 
            i = ai + Which[i == 0, 0, i < 0, 3  l, i > 0, l]; 
            Mod[r + i - 1, m] + 1, {j, l}, {k, 
              l}]];
sgroup[m_?IntegerQ] := 
      Module[{e = Permutations[Range[m]], n, p}, 
        n = Length[e]; 
Table[
          p = Position[e, 
              Apply[permute, {e[[i]], 
                  e[[j]]}]]; 
If[p === {}, 0, 
            p[[1, 1]]], {i, n}, {j, n}]]

permfromQ[p_List,n_Integer]:=
  Length[Complement[p,Range[n]]]==0&&Sort[p]==Union[p]
  permute[P_List,p_List]:=If[permfromQ[p,Length[P]],P[[p]],Print[{P,p," error"}]];

9.3 Functions centralizer, period, orderCount, etc.

centralizer[a_?IntegerQ, g_:  glo] := 
      Module[{gg = If[Length[g] == 1, g[[1]], g], b, c = {}}, 
        Do[b = gg[[i, 1]]; 
          If[gg[[a, i]] == gg[[i, a]], AppendTo[c, b]], {i, 
            Length[gg]}]; c]
period[g_:  glo] := 
      Module[{gg = If[Length[g] == 1, g[[1]], g], lg, a, aa, b, j, 
          P = {1}}, lg = Length[gg]; 
        Do[a = gg[[i, 1]]; aa = a; j = 2; 
          While[(b = gg[[a, aa]]) != 1 && j < lg, j++; aa = b]; 
          AppendTo[P, j], {i, 2, lg}]; P]
orderCount[g_:  glo] := 
      Table[Length[Position[period[g], i]], {i, 
          Max[Union[period[g]]]}]

center[g_:  glo] := centre[g];
centre[g_:  glo] := 
      Module[{gg = If[Length[g] == 1, g[[1]], g], lg, a, j, 
          Z = {}}, 
        lg = Length[gg]; 
Do[a = gg[[i, 1]]; j = 1; 
          While[gg[[a, j]] == gg[[j, a]] && 
              j < lg, j++]; 
If[j == lg, 
            AppendTo[Z, a]], {i, lg}]; Z]
gInverse[g_:  glo] := 
      Module[{gg = If[Length[g] == 1, g[[1]], g]}, 
        Flatten[Table[
            Position[gg[[i]], 1], {i, Length[gg]}]]]

lcoset[h_, g_:  glo] := 
      Module[{gg = gpd[g]}, 
        Intersection[
          Table[Union[Table[gg[[x, h[[j]]]], {j, Length[h]}]], {x, 
              Length[gg]}]]]
rcoset[h_, g_:  glo] := 
      Module[{gg = gpd[g]}, 
        Intersection[
          Table[Union[Table[gg[[h[[j]], x]], {j, Length[h]}]], {x, 
              Length[gg]}]]]
normalSubgroup[h_, g_:  glo] := 
        lcoset[h, g] == rcoset[h, g];
factorGroup[n_, g_:  glo]:=Module[{gg = gpd[g], lc, loc, lg, lt},lg = Length[gg];If[(lc = lcoset[n, gg]) ≠ 
                    rcoset[n, gg],Print[n, " is not a Normal subgroup"],If[lg == Length[n], id[gg], 
                    lt = First[Transpose[lc]]; 
                    loc = Table[Position[lc, i][[1, 1]], {i, lg}]; 
                    id[Table[
                        loc[[gg[[lt[[i]], lt[[j]]]]]], {i, 
                          Length[lt]}, {j, 
                          Length[lt]}]
]]]];

allFactorGroups[g_:  glo, o_:  0, i1_:  2, i2_:  49, p_: {}] := 
      Module[{a, b, f = {}, gg = gpd[g], i = If[p ≠ {}, i1, i2], 
          lc, lg, loc, lr, n, res, s}, lg = Length[gg]; 
        If[o == 0, s = subgroups[gg, 0, i1, i]]; 
        s = sg; 
Do[n = s[[k]]; 
          If[(lc = lcoset[n, gg]) == rcoset[n, gg], 
            res = First[Transpose[lc]]; 
            lr = Length[res]; 
loc = 
              Table[Position[lc, i][[1, 1]], {i, lg}]; 
            a = id[Table[
                  loc[[gg[[res[[i]], res[[j]]]]]], {i, 
                    lr}, {j, lr}]]; 
If[p ≠ {}, 
              If[MemberQ[p, b = gd[a][[2]]], f = b; 
                Goto[tag]]]]; 
AppendTo[f, a], {k, 
            Length[s]}]; Label[tag]; f]

9.4 Tests for Table Properties abelianQ etc.

Note that, for signed tables, these tests are "up to a sign" insofar as the absolute values of the indices replace signed indices. MoufangQ test for exact, moufangQ for a signed match.

abelianQ[gg_:  glo] := 
      Module[{g = gpd[gg]}, g === Transpose[g]]
associativeQ[gg_:  glo, o_:  0] := 
      Catch[Module[{a, i = 1, j = 1, k = 1, g = gpd[gg], m}, m = Length[g]; 
          a = abelianQ[g]; 
While[
            i ≤ m, 
While[
              j ≤ m, 
While[k ≤ m, 
                If[Abs[g[[
                        Abs[g[[i, j]]], 
                        k]]] ≠ 
                    Abs[g[[i, 
                        Abs[g[[j, 
                            k]]]]]], 
                  If[o === 0, Throw[False], 
                    Throw[{False, i, j, 
                        k}]]]; 
k++]; j++; 
              k = If[a, j, 1]]; i++; 
            j = If[a, i, 
                1]]; 
True]]
AssociativeQ[gg_:  glo, o_:  0] := 
      Catch[Module[{a, i = 1, j = 1, k = 1, g = gpd[gg], m}, m = Length[g]; 
          a = abelianQ[g]; 
While[
            i ≤ m, 
While[
              j ≤ m, 
While[k ≤ m, 
                If[g[[Abs[
                        g[[i, j]]], 
                      k]] ≠ 
                    g[[i, 
                      Abs[g[[j, 
                          k]]]]], 
                  If[o === 0, Throw[False], 
                    Throw[{False, i, j, 
                        k}]]]; 
k++]; j++; 
              k = If[a, j, 1]]; i++; 
            j = If[a, i, 1]]; 
True]]

abelGrassmanQ[gg_:  glo, o_:  0] := 
      Catch[Module[{a, i = 1, j = 1, k = 1, g = gpd[gg], m}, 
          m = Dimensions[g][[1]]; 
          a = abelianQ[g]; 
While[i ≤ m, 
            While[j ≤ m, 
              While[k ≤ m, 
                If[Abs[g[[
                        Abs[g[[i, j]]], 
                        k]]] ≠ 
                    Abs[g[[Abs[
                          g[[k, j]]], 
                        i]]], 
                  If[o === 0, Throw[False], 
                    Throw[{False, i, j, 
                        k}]]]; 
k++]; j++; 
              k = If[a, j, 1]]; i++; 
            j = If[a, i, 1]]; 
True]]

alternativeQ[gg_:  glo, o_:  0] := 
      Catch[Module[{a, i = 1, j = 1, k = 1, g = gpd[gg], m, x, y, xy, x2, 
            y2}, m = Length[g]; a = abelianQ[g]; 
          While[i ≤ m, x = Abs[g[[1, i]]]; 
            x2 = Abs[g[[i, i]]]; 
            While[j ≤ m, 
y = 
                Abs[g[[1, j]]]; 
              xy = Abs[g[[i, j]]]; 
              If[Abs[g[[x, 
                      xy]]] ≠ 
                  Abs[g[[x2, y]]], 
                If[o ≠ 0, Throw[{False, i, j, k}], Throw[False], 
                  Throw[False]]]; 
If[
                Abs[g[[xy, 
                      y]]] ≠ 
                  Abs[g[[x, 
                      Abs[g[[y, 
                          y]]]]]], 
                If[o ≠ 0, Throw[{False, i, j, k, 2}], Throw[False], 
                  Throw[False]]]; 
j++]; i++; 
            j = If[a, i, 1]]; 
True]]

\(amQ[gg_:  glo, 
        o_:  0] :=  (*ref\ raoulc@pacific . net . 
            ph*) 
Catch[
        Module[{a, i = 1, j = 1, k = 1, g = gpd[gg], m, xy, yx, xz, zx}, 
          m = Length[g]; 
While[
            i ≤ m, 
While[j ≤ m, 
              xy = Abs[g[[i, j]]]; 
              yx = Abs[
                  g[[j, 
                    i]]]; 
While[
                k ≤ m, xz = Abs[g[\([i, k]\)]]; 
                zx = Abs[g[\([k, i]\)]]; 
                If[g[\([i, Abs[g[\([yx, zx]\)]]]\)] ≠ 
                    g[\([Abs[g[\([xy, xz]\)]], i]\)], 
                  If[o === 0, Throw[False], 
                    Throw[{False, i, j, 
                        k\ , " amQ"}]]]; 
\(k++\)]; \(j++\); k = 1]; \(i++\); j = 1]; 
True]]\)

bolQ[gg_:  glo, o_:  0]:=Catch[Module[{a, i = 1, j = 1, k = 1, g = gpd[gg], m, xz, yz, zx, 
              zy},If[Position[g, Complex[_, _]] ≠ {}, 
                Throw["Complex"]];m = Length[g];a = abelianQ[g];
While[i ≤ m,
While[j ≤ m,
While[k ≤ m,xz = 
                                  Abs[g[[i, 
                                      k]]];yz = 
                                  Abs[g[[j, 
                                      k]]];zx = 
                                  Abs[g[[k, 
                                      i]]];zy = 
                                  Abs[g[[k, 
                                      j]]];If[Abs[
                                        g[[g[[k, 
                                        yz]], 
                                        i]]] ≠ 
                                      Abs[g[[k, 
                                        g[[Abs[g[[j, zx]]]]]]]],If[o === 0,Throw[False],Throw[{False, i, j, 
                                        k , " left Bol"}]]];If[Abs[
                                        g[[i, 
                                        g[[zy, 
                                        k]]]]] ≠ Abs[g[[Abs[g[[xz, j]]], k]]],If[o === 0,Throw[False],Throw[{False, i, j, 
                                        k , " right Bol"}]]];
k++];j++;k = If[a, j, 1]];i++;j = If[a, i, 1]];
True]]

cQ[gg_:  glo, o_:  0]:=  
Catch[Module[{a, i = 1, j = 1, k = 1, g = gpd[gg], m, xy, yy},m = Length[g];
While[i ≤ m,
While[j ≤ m,xy = 
                            Abs[g[[i, 
                                j]]];yy = 
                            Abs[g[[j, 
                                j]]];
While[k ≤ m,If[g[[Abs[
                                        g[[xy, 
                                        j]]], 
                                        k]] ≠ 
                                      g[[i, Abs[g[[yy, k]]]]],If[o === 0,Throw[False],Throw[{False, i, j, 
                                        k , " cQ"}]]];
k++];j++;k = 1];i++;j = 1];
True]]

conservativeQ[] := 
      Module[{A, B, l}, 
        If[associativeQ[glo] && ! signedTableQ[glo], True, 
          mm = Length[glo]; 
          While[A = Table[Random[Integer, {0, 99}], {i, mm}]; 
            B = Table[Random[Integer, {0, 99}], {i, mm}]; 
            AB = Det[gmap[glo, hoopTimes[A, B]]], AB == 0]; 
          A = Det[gmap[glo, A]] ; B = Det[gmap[glo, B]]; A = A B; 
          B = Abs[AB - A]; A = Abs[AB  + A]; 
          Chop[Min[A, B]/Max[A, B]] == 0]]
conservativeQ[gg_:  glo, t_:  Complex, 
        r_: {-1 - I, 1 + I}/2] := 
      Module[{A, B, da, db, dab, g = gpd[gg], l, R = r}, mm = Length[g]; 
        If[associativeQ[g] && ! signedTableQ[g], True, 
          If[t === Real, R = Re[r]]; A = Table[Random[t, R], {i, mm}]; 
          B = Table[Random[t, R], {i, mm}]; da = Det[gmap[g, A]]; 
          db =  Det[gmap[g, B]]; dab = Det[gmap[g, hoopTimes[A, B, g]]]; 
          A = Abs[da db - dab]; B = Abs[da db + dab]; 
          Chop[Min[A, B]/Max[A, B]] == 0]]

\(entropicQ[gg_:  glo, o_:  0] := 
      Catch[Module[{g = gpd[gg], i = 1, j = 1, k = 1, l = 1, m = Length[g]}, 
          If[abelianQ[g], Throw[True]]; 
          While[i ≤ m, 
            While[j ≤ m, 
While[
                k ≤ m, 
While[l ≤ m, 
                  If[Abs[g[\([Abs[g[\([i, j]\)]], 
                            Abs[g[\([k, l]\)]]]\)]] ≠ 
                      Abs[g[\([Abs[g[\([i, k]\)]], Abs[g[\([j, l]\)]]]\)]], 
                    If[o === 0, Throw[False], 
                      Throw[{False, i, j, k, 
                          l}]]]; 
\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \(l++\)]; \(k++\)]; l = 1; \(j++\); k = 1]; \(i++\); 
            j = 1]; 
True]]\)

flexibleQ[gg_:  glo, o_:  0]:=Catch[Module[{i = 1, j = 1, k = 1, g = gpd[gg], m},m = Length[g];
While[i ≤ m,  
While[
                    j ≤ m, 
While[
                      k ≤ m, 
                      If[g[[Abs[g[[i, j]]], k]] - 
                            g[[i, 
                                Abs[g[[j, 
                                      k]]]]] ≠ -g[[Abs[
                                    g[[k, j]]], i]] + 
                            g[[k, Abs[g[[j, i]]]]], 
                        If[o === 0, Throw[False], 
                          Throw[{False, i, j, k, 
                              l}]]]; 
k++]; j++; 
                    k = 1]; i++; j = 1];
True]]

fenyvesQ[gg_:  glo, o_:  0] := 
      Catch[Module[{a, i = 1, j = 1, k = 1, g = gpd[gg], m, axy, zx, azx}, 
          m = Length[g]; 
          a = abelianQ[g]; 
While[
            i ≤ m, 
While[j ≤ m, 
              axy = Abs[g[[i, j]]]; 
              While[k ≤ m, 
                zx = g[[k, i]]; 
                azx = Abs[zx]; 
                If[Abs[g[[i, 
                          Abs[g[[axy, 
                              k]]]]]] ≠ 
                    Abs[g[[i, 
                        Abs[g[[j, azx]]]]]], 
                  If[o ≠ 0, 
                    Print[{g[[i, 
                            Abs[g[[axy, 
                                k]]]]], 
                        g[[i, 
                          Abs[g[[j, azx]]]]]}]; 
                    Throw[{False, i, j, k}], Throw[False], 
                    Throw[False]]]; 
k++]; j++; 
              k = If[a, j, 1]]; i++; 
            j = If[a, i, 1]]; 
True]]

flexQ[gg_:  glo, o_:  0]:=Catch[Module[{j = 1, k = 1, g = gpd[gg], m},m = Length[g];
While[j ≤ m,  
While[k ≤ m, 
                    If[Abs[g[[Abs[g[[k, j]]], k]]] === 
                        Abs[g[[k, Abs[g[[j, k]]]]]], , 
                      If[o === 0, Throw[False], 
                        Throw[{False, j, 
                            k}]]]; 
k++]; j++; 
                  k = 1];
True]]

hamiltonianQ[g_:  glo] := 
        Module[{s = 
              subgroups[g]}, ! abelianQ[g] && ! MemberQ[
                Table[normalSubgroup[s[[i]]], {i, Length[s]}], 
                False]];

indexTableQ[gg_:  glo] := 
      Module[{g, i = 2, l, r, c, t}, 
        If[gg ≠ {{}}, g = Abs[gpd[gg]]; 
          r = If[Length[gg] == 1, gg[[1, 1]], gg[[1]]]; 
          t = Transpose[g]; c = t[[1]]; l = Length[g]; 
          If[r == c == Range[l], 
            While[i ≤ l && 
                r == Union[Abs[g[[i]]]] == 
                  Union[Abs[t[[i]]]], i++]], l = i]; 
        i > l]

jordanQ[gg_:  glo, o_:  0]:=Catch[Module[{a, i = 1, j, k, g = gpd[gg], m, xx, axx, xy, axy},m = Length[g];a = abelianQ[g];
While[i ≤ m,xx = g[[i, i]];axx = Abs[xx];
While[j ≤ m,xy = 
                            g[[i, j]];axy = Abs[xy];If[Abs[
                                  g[[axy, 
                                    axx]]] ≠ 
                                Abs[g[[i, 
                                    Abs[g[[j, 
                                        axx]]]]]],If[o ≠ 0,Print[{g[[
                                        axy, axx]], 
                                        g[[i, 
                                        Abs[g[[j, 
                                        axx]]]]]}];Throw[{False, i, j}],Throw[False],Throw[False]]];
j++;k = If[a, j, 1]];i++;j = If[a, i, 1]];
True]]

jacobiQ[gg_:  glo, o_:  0]:=Catch[Module[{g = gpd[gg], i = 1, j, k, m = Length[g]},If[abelianQ[g], Throw[False]];
While[i ≤ m,
While[j ≤ m,If[
                            g[[i, 
                                j]] ≠ -g[[j, 
                                    i]], Throw[False]];While[k ≤ m,If[g[[i, 
                                        g[[j, 
                                        k]]]] + 
                                        g[[j, 
                                        g[[k, 
                                        i]]]] + 
                                        g[[k, 
                                        g[[i, 
                                        j]]]] ≠ 0,If[o ≠ 0,Print[{g[[i, 
                                        g[[j, 
                                        k]]]], 
                                        g[[j, g[[k, 
                                        i]]]], 
                                        g[[k, g[[i, 
                                        j]]]]}];Throw[{False, i, j, k}],Throw[False],Throw[False]]];
k++];j++;k = 1];i++;j = 1];
True]]

MoufangQ[gg_:  glo, o_:  0]:=Catch[Module[{a, i = 1, j = 1, k = 1, g = gpd[gg], m, axy, zx, azx, 
              yz, ayz},m = Length[g];a = abelianQ[g];
While[i ≤ m,
While[j ≤ m,axy = 
                            Abs[g[[i, 
                                j]]];While[k ≤ m,zx = 
                                  g[[k, 
                                    i]];azx = Abs[zx];yz = 
                                  g[[j, 
                                    k]];ayz = Abs[yz];If[Sign[zx] Sign[yz] 
                                        g[[azx, 
                                        ayz]] ≠ 
                                      g[[Abs[
                                        g[[k, axy]]], 
                                        k]],If[o ≠ 0,Print[{Sign[zx] Sign[yz] 
                                        g[[azx, 
                                        ayz]], 
                                        g[[Abs[
                                        g[[k, axy]]], 
                                        k]]}];Throw[{False, i, j, k}],Throw[False],Throw[False]]];
k++];j++;k = If[a, j, 1]];i++;j = If[a, i, 1]];
True]]

moufangQ[gg_:  glo, o_:  0]:=Catch[Module[{a, i = 1, j = 1, k = 1, g = gpd[gg], m, axy, zx, azx, 
              yz, ayz},m = Length[g];a = abelianQ[g];
While[i ≤ m,
While[j ≤ m,axy = 
                            Abs[g[[i, 
                                j]]];While[k ≤ m,zx = 
                                  g[[k, 
                                    i]];azx = Abs[zx];yz = 
                                  g[[j, 
                                    k]];ayz = Abs[yz];If[Abs[
                                        g[[azx, 
                                        ayz]]] ≠ 
                                      Abs[g[[
                                        Abs[g[[k, axy]]], 
                                        k]]],If[o ≠ 0,Print[{g[[azx, ayz]], 
                                        g[[Abs[
                                        g[[k, axy]]], 
                                        k]]}];Throw[{False, i, j, k}],Throw[False],Throw[False]]];
k++];j++;k = If[a, j, 1]];i++;j = If[a, i, 1]];
True]]

moufangLQ[gg_:  glo, o_:  0]:=Catch[Module[{a, i = 1, j = 1, k = 1, g = gpd[gg], m},m = Length[g];a = abelianQ[g];
While[i ≤ m,
While[j ≤ m,
While[k ≤ m,If[Abs[
                                        g[[Abs[
                                        g[[Abs[
                                        g[[k, 
                                        j]]], 
                                        k]]], 
                                        i]]] ≠ 
                                      Abs[g[[k, 
                                        Abs[g[[j, 
                                        Abs[g[[k, 
                                        i]]]]]]]]],If[o ≠ 0,Throw[{False, i, j, k}],Throw[False],Throw[False]]];
k++];j++;k = If[a, j, 1]];i++;j = If[a, i, 1]];
True]]

moufangRQ[gg_:  glo, o_:  0]:=Catch[Module[{a, i = 1, j = 1, k = 1, g = gpd[gg], m},m = Length[g];a = abelianQ[g];
While[i ≤ m,
While[j ≤ m,
While[k ≤ m,If[Abs[
                                        g[[i, 
                                        Abs[g[[k, 
                                        Abs[g[[j, 
                                        k]]]]]]]]] ≠ 
                                      Abs[g[[Abs[
                                        g[[Abs[
                                        g[[i, 
                                        k]]], 
                                        j]]], k]]],If[o ≠ 0,Throw[{False, i, j, k}],Throw[False],Throw[False]]];
k++];j++;k = If[a, j, 1]];i++;j = If[a, i, 1]];
True]]

negatableQ[gg_:  glo, f_:  2] := 
      Module[{g = gpd[gg], g1, s1, i, j, g2, l, m, t}, 
l = 
          Length[g]; m = Length[g]/f; 
        If[! IntegerQ[m], False, g1 = pick[g, {1, m}, {1, m}]; 
          s1 = Table[
              Sign[g1[[i, j]]], {i, m}, {j, m}]; 
g1 = 
            g1/s1; g2 = Table[Mod[g1 + e m - 1, l] + 1*s1, {e, f}]; j = 0; 
          Catch[While[
              i = 0; 
While[
                If[MemberQ[g2, 
                    pick[g, {m i + 1, m i + m}, {m j + 1, m j + m}]], 
                  Null, Throw[False]]; i++; i < f]; j++; j < f]; 
            True]]]

loopQ[gg_:  glo, O_:  0]:=Catch[Module[{i = 1, g = gpd[gg], Len, l, o, t},Len = Length[g[[1]]];l = Union[g[[1]]];t = Transpose[g];
  If[(Length[l] == 
                          Len) && (Union[t[[1]]] == l),,If[O ≠ 0,Print[{" First row, col incorrect", 
                                l, t[[1]]}]];Throw[False]];
  While[i ≤ Len,o = Complement[l, Abs[g[[i]]]];If[o ≠ {},If[O ≠ 0,Print[{i, " row missing", 
                                      o}]];Throw[False]];
	o = Complement[l, Abs[t[[i]]]];If[o ≠ {},If[O ≠ 0,Print[{ i, " col missing", 
                                      o}]];Throw[False]];
i++];True]]

signedTableQ[gg_:  glo] := 
      If[(Union[gg[[1]]] ≠ Union[Flatten[gg]]) && 
          indexTableQ[gg], True, False, False]

associator[g_:  glo, i_, j_, k_] := 
      g[[g[[i, j]], k]] - 
        g[[i, g[[j, k]]]]
pick[g_, m_, n_] := 
        Transpose[Take[Transpose[Take[g, m]], n]];

reductiveQ[gg_:  glo, o_ : 0]:=  Catch[Module[{g = gpd[gg], i = 1, j = 1, k = 1, m = Length[g], xy, xx, 
              yxx},If[MatrixQ[g],While[i ≤ m,xx = 
                          Abs[g[[i, 
                              i]]];
While[j ≤ m,xy = 
                                Abs[g[[i, 
                                    j]]];yxx = 
                                Abs[g[[j, 
                                    xx]]];  
If[Abs[
                                      g[[xy, 
                                        xx]]] == 
                                    Abs[g[[Abs[
                                        g[[i, 
                                        yxx]]]]]],Null,If[o === 0,Throw[False],Throw[{False, i, 
                                        j, " reductiveQ"}]]];
j++;k = 1];
i++;j = 1],Throw[{False, g, " not a matrix"}]];
True]]

riffQ[gg_:  glo, o_ : 0]:=Catch[Module[{g = gpd[gg], i = 1, j = 1, k = 1, m, xy, zxy, yz},m = Length[g];While[i ≤ m,
While[j ≤ m,xy = 
                              Abs[g[[i, 
                                  j]]];While[k ≤ m,yz = 
                                    Abs[g[[j, 
                                        k]]];zxy = 
                                    Abs[g[[k, 
                                        xy]]];
If[Abs[
                                        g[[xy, 
                                        zxy]]] == 
                                        Abs[g[[
                                        Abs[g[[Abs[
                                        g[[i, 
                                        yz]]], 
                                        i]]], 
                                        j]]],Null,If[o === 0,Throw[False],Throw[{False, i, j, 
                                        k, " riffQ"}]]];
k++];
j++;k = 1];
i++;j = 1];
True]]

9.5 Operations reorder, gmap, caylindex, toIndexTable, lmatrix, rmatrix.

reorder[g_?indexTableQ, p_]:=Module[{gg, n, m, l = Length[p], o, gp},gg = gpd[g];n = Length[gg];gp = Abs[gg];m = Min[n, l];o = Join[p, Complement[Range[n], p]];  
o = 
              Table[Position[o, i][[1, 1]], {i, n}];
   Table[
              o[[gp[[
                    p[[i]], 
                    p[[
                      j]]]]]] Sign[gg[[p[[i]], p[[j]]]]], {i, m}, {j, 
                m}]]

gmap[g_:  glo, v_] := 
        Module[{gg = gpd[g], m, i, st = 1}, 
          If[MemberQ[Positive[gg], False, 2], 
            st = Table[
                Sign[gg[[i, j]]], {i, Length[gg]}, {j, Length[gg]}]; 
            gg = Abs[gg]]; m[i_] := v[[i]]; 
          Map[m, gg, 1]*st];
caylindex[g_] := 
      Module[{gg = gpd[g], e, j, l, n, s}, l = Length[gg]; 
        n = Table[j, {j, 1, l}]; e = gg[[1]]; 
        s = Table[e[[j]] -> n[[j]], {j, l, 1, -1}]; gg /. s]; 
    toIndexTable[g_:  glo] := 
      unshuffle[Transpose[unshuffle[gpd[g]]]];
unshuffle[g_] := 
        Module[{p, l = Length[g]}, p = Table[g[[i, 1]], {i, l}]; 
          Table[g[[Position[p, i][[1]]]][[1]], {i, 
              l}]];

lmatrix[] := 
        Module[{s, t}, t = Table[0, {k, mm}, {l, mm}]; 
          Do[Do[s = glo[[l, k]]; 
              t[[Abs[s], k]] = 
                l Sign[s], {k, mm}], {l, mm}]; 
          t];
lmatrix[g_?indexTableQ] := 
        Module[{gg = gpd[g], m, s, t}, m = Length[gg]; 
          t = Table[0, {k, m}, {l, m}]; 
          Do[Do[s = gg[[l, k]]; 
              t[[Abs[s], k]] = 
                l Sign[s], {k, m}], {l, m}]; t];
rmatrix[] := 
      Module[{s, t}, t = Table[0, {k, mm}, {l, mm}]; 
        Do[Do[s = glo[[l, k]]; 
            t[[l, Abs[s]]] = 
              l Sign[s], {k, mm}], {l, mm}]; t]; 
    rmatrix[g_?indexTableQ] := 
      Module[{gg = gpd[g], m, s, t}, m = Length[gg]; 
        t = Table[0, {k, m}, {l, m}]; 
        Do[Do[s = gg[[l, k]]; 
            t[[l, Abs[s]]] = 
              k Sign[s], {k, m}], {l, m}]; t];

9.6 Loops from Relators, ge; Univectors Clifford cl; Cayley-Dickson cd; Moufang doubling md.

smax = 100;streprpt[str_, rul_, imax_:  smax]:=Module[{s1 = str, s2, ii = 1},While[(s2 = StringReplace[s1, rul]) ≠ s1,ii++;If[ii > imax,If[imax == 99,OK = "Fail",Print[s1, " ", 
                                  s2, " ", "Failed. Increase \
smax?"];Abort[]]];s1 = s2];s2]
matstrep[l_?MatrixQ, rul_, 
        sm_:  smax] := 
      Table[streprpt[l[[i, j]], rul, 
          sm], {i, Dimensions[l, 1][[1]]}, {j, Dimensions[l, 
              2][[1]]}]
ruleExpand[a___] := 
        Table[Rule[stringExpand[ToString[a[[i, 1]]]], 
            stringExpand[ToString[a[[i, 2]]]]], {i, 
            Length[a]}];

stringExpand[t_] := 
      Module[{e, f, g, l, n = 1, res = "", s = ToString[t]}, 
        If[s == "", res, l = StringLength[s]; g = StringTake[s, 1]; 
          res = res <> g; 
While[
            g = StringTake[s, {n}]; n++; n ≤ l, 
            f = StringTake[s, {n}]; 
e = ToExpression[f]; 
            If[IntegerQ[e], 
              If[n < l && IntegerQ[ToExpression[StringTake[s, {n + 1}]]], 
                e = ToExpression[
                    StringTake[
                      s, {n, n + 1}]]; n++;]; 
Do[
                res = res <> g, {i, e - 1}], 
              res = res <> f]]]; 
res]

ge[gp_?VectorQ, pre_: {}, o_:  0]:=Module[{g = {}, cr, j, l = IntegerPart[Plus @@ gp] + 2, 
              le = Length[gp], ln = 1, lh, n = {""}, new, p, st, rhs, 
              lhs, t = ruleExpand[pre], si, sij},cr = Take[CharacterRange["a", "g"], le];Catch[  If[o ≠ 0,Do[  Do[  Do[  If[(rhs = 
                                        Characters[
                                        t[[r, 2]]]) ≠ 
                                        Sort[rhs] || ((lhs = 
                                        Characters[t[[r, 1]]]) == 
                                        Sort[lhs] && 
                                        Length[Union[lhs]] > 1),Print[{"Bad order", 
                                        t[[r]]}];Throw[Null]];
If[Length[
                                        Complement[Union[lhs, rhs], cr]] > 
                                        0,Print[{"Unknown Relator \
", t[[r]], cr}];Throw[Null]];
j = 
                                      Length[
                                        Position[Characters[t[[r, k]]], 
                                        cr[[i]]]];If[GCD[j, 
                                        IntegerPart[gp[[i]]]] > 1 && 
                                        j ≠ 0 && 
                                        j ≠ 
                                        IntegerPart[gp[[i]]],Print[{"Bad GCD ", j, 
                                        gp[[i]], t[[r]]}];Throw[Null]],{k, 2}],{r, Length[t]}],{i, Length[gp]}]];strep = {};
Do[  st = cr[[i]]; 
                    AppendTo[t, 
                      Do[st = 
                          st <> cr[[i]], {IntegerPart[gp[[i]]] - 1}]; 
                      Rule[st, ""]], {i, le}];
Do[  new = 
                          Rule[lh = cr[[j]] <> cr[[i]], 
                            cr[[i]] <> cr[[j]]];Do[  If[
                            lh == t[[k, 1]], new = ""], {k, 
                            Length[t] - 1}];If[Length[new] == 2, 
                          AppendTo[t, new]],{i, 1, le},{j, i + 1, le}];
Do[  si = cr[[i]];sij = si;p = IntegerPart[gp[[i]]] - 1;
Do[  
Do[  
AppendTo[n, 
                                  If[k == 1, sij, 
                                    n[[k]] <> sij]], {k, ln}];sij = sij <> si,{j, p}];ln = Length[n],{i, le}];  
Do[AppendTo[g,  MapThread[
                            StringJoin, {Table[n[[i]], {j, ln}], n}]],{i, ln}];
g = matstrep[g, t];
If[o == 0,genel =. ; matel =. ; 
                      strep =. ,
genel = n /. "" -> 1;matel = g /. "" -> 1;
If[o < 0,  ClearAllOperators[]; 
                            SetOperators[Drop[genel, 1]]];Do[
                          Do[st = 
                              Rule[If[o < 0, 
                                  matel[[i, 1]] **  matel[[1, j]], 
                                  Diamond[matel[[i, 1]],  
                                    matel[[1, j]]]],  
                                matel[[i, j]]]; 
                            If[ MemberQ[strep, st], , 
                              AppendTo[strep, st]], {j, 2, 
                              ln}], 
{i, 2, ln}]];
g = caylindex[g]; (*Convert to a signed table?*) If[! IntegerQ[ln = Last[gp]], 
                    le = Length[g]/ln; g = ts[g, IntegerPart[ln]]; 
                    If[o ≠ 0, genel = Take[genel, le]; 
                      matel = 
                        Transpose[Take[Transpose[Take[matel, le]], le]]]];
If[Abs[o] ≠ 0,  If[loopQ[g],If[associativeQ[g, 1],g,Print["Non-associative"];g],Print["Not a quasigroup"]]];
glo = g]];

ge[gp_?VectorQ, pre_: {}, o_:  0]:=Module[{g = {}, cr, j, l = IntegerPart[Plus @@ gp] + 2, 
              le = Length[gp], ln = 1, lh, n = {""}, new, p, st, rhs, 
              lhs, t = ruleExpand[pre], si, sij},cr = Take[CharacterRange["a", "g"], le];Catch[  If[o ≠ 0,Do[  Do[  Do[  If[(rhs = 
                                        Characters[
                                        t[[r, 2]]]) ≠ 
                                        Sort[rhs] || ((lhs = 
                                        Characters[t[[r, 1]]]) == 
                                        Sort[lhs] && 
                                        Length[Union[lhs]] > 1),Print[{"Bad order", 
                                        t[[r]]}];Throw[Null]];
If[Length[
                                        Complement[Union[lhs, rhs], cr]] > 
                                        0,Print[{"Unknown Relator \
", t[[r]], cr}];Throw[Null]];
j = 
                                      Length[
                                        Position[Characters[t[[r, k]]], 
                                        cr[[i]]]];If[GCD[j, 
                                        IntegerPart[gp[[i]]]] > 1 && 
                                        j ≠ 0 && 
                                        j ≠ 
                                        IntegerPart[gp[[i]]],Print[{"Bad GCD ", j, 
                                        gp[[i]], t[[r]]}];Throw[Null]],{k, 2}],{r, Length[t]}],{i, Length[gp]}]];strep = {};Do[  
str = cr[[i]]; 
                    AppendTo[t, 
                      Do[st = 
                          st <> cr[[i]], {IntegerPart[gp[[i]]] - 
                            1}]; 
Rule[st, ""]], {i, 
                      le}];
Do[  new = 
                          Rule[lh = cr[[j]] <> cr[[i]], 
                            cr[[i]] <> cr[[j]]];Do[  If[
                            lh == t[[k, 1]], new = ""], {k, 
                            Length[t] - 1}];If[Length[new] == 2, 
                          AppendTo[t, new]],{i, 1, le},{j, i + 1, le}];
Do[  si = cr[[i]];sij = si;p = IntegerPart[gp[[i]]] - 1;
Do[  
Do[  
AppendTo[n, 
                                  If[k == 1, sij, 
                                    n[[k]] <> sij]], {k, ln}];sij = sij <> si,{j, p}];ln = Length[n],{i, le}];  
Do[AppendTo[g,  MapThread[
                            StringJoin, {Table[n[[i]], {j, ln}], n}]],{i, ln}];
g = matstrep[g, t];
If[o == 0,genel =. ; matel =. ; 
                      strep =. ,
genel = n /. "" -> 1;matel = g /. "" -> 1;
If[o < 0,  ClearAllOperators[]; 
                            SetOperators[Drop[genel, 1]]];Do[
                          Do[st = 
                              Rule[If[o < 0, 
                                  matel[[i, 1]] **  matel[[1, j]], 
                                  Diamond[matel[[i, 1]],  
                                    matel[[1, j]]]],  
                                matel[[i, j]]]; 
                            If[ MemberQ[strep, st], , 
                              AppendTo[strep, st]], {j, 2, 
                              ln}], 
{i, 2, ln}]];
g = caylindex[g]; (*Convert to a signed table?*) If[! IntegerQ[ln = Last[gp]], 
                    le = Length[g]/ln; g = ts[g, IntegerPart[ln]]; 
                    If[o ≠ 0, genel = Take[genel, le]; 
                      matel = 
                        Transpose[Take[Transpose[Take[matel, le]], le]]]];
If[Abs[o] ≠ 0,  If[loopQ[g],If[associativeQ[g, 1],g,Print["Non-associative"];g],Print["Not a quasigroup"]]];
glo = g]];

cl[p_Integer, q_:  0  ]:=
Module[{g, l, n = q, ng = Length[gr], o, result, z},If[IntegerQ[n],o = Range[p],   o = Complement[Range[p], q]; n = 0];
l = 2^(p + n);
g = 
                Table[IntegerDigits[i, 2, p + n], {i, 0, l - 1}];  
result = 
                Table[walsh[g[[i]]*g[[j]], o]*
                    walsh[g[[i]]*
                        grayinv[g[[j]]]]*
(FromDigits[
                          Mod[g[[i]] + g[[j]], 2], 2]  + 
                        1), 
{j, l}, {i, l}];(*
If[ng > 0,  
Do[
                        z = 2^(gr[[i]] - 1) + 1; 
                        If[z < l && z > 0, result[[z, z]] = 0], {i, 
                          ng}]];*)
result];

cd[{g_String}] := ToExpression[g]; cd[{}] := {{1}}; 
    cd[{2}] := {{1, 2}, {2, 3}}; cd[{-2}] := {{1, 2}, {2, -3}}; 
    cd[{2. }] := {{1, 2}, {2, -1}}; 
    cd[{3}] := {{1, 2, 3}, {2, 3, 1}, {3, 1, 2}}  ; 
    cd[{3. }] := {{1, 2, 3}, {2, 3, -1}, {3, -1, -2}}; 
    cd[{-3}] := {{1, 2, 3}, {2, -3, 1}, {3, 1, -2}}; 
    cd[{4}] := {{1, 2, 3, 4}, {2, 3, 4, 1}, {3, 4, 1, 2}, {4, 1, 2, 
          3}}  ;
cd[{4. }] := {{1, 2, 3, 
            4}, {2, 1, -4, -3}, {3, -4, 
            1, -2}, {4, -3, -2, 
            1}};
cd[{-4}] := {{1, 2, 3, 
            4}, {2, 3, -4, -1}, {3, -4, 
            1, -2}, {4, -1, -2, 
            3}};
cd[{-4. }] := {{1, 2, 3, 
            4}, {2, 3, 4, -1}, {3, 
            4, -1, -2}, {4, -1, -2, -3}};
cd[{gamma__}]:=
Module[{l = Last[{gamma}],n,q,r,  m = cd[Drop[{gamma}, -1]]},
q = Length[m];n = IntegerPart[l];
Which[ListQ[l],co[m, ca[l]]  ,
StringQ[l],
co[m, ToExpression[l]]            ,
True                                                   ,
Table[Which[i ≤ q && j ≤ q,m[[i, j]]  ,
i ≤ q,modqr[q, m[[j - q, i]]]            ,
j ≤ q,r = m[[i - q, j]];                       
Which[ ! IntegerQ[l],modqr[q, r]  ,
j ≠ 1,n modqr[q, r]         ,
True,q + Abs[r]]               ,
True,r = m[[j - q, i - q]]        ;
If[IntegerQ[l] && j ≠ q + 1 && 
                              q > 1,  r, 
n r  ]],
{i, 2  q},{j, 2  q}]]]
modqr[q_, 
        r_] := (Mod[(q + Abs[r]) - 1, 2  q] + 1) Sign[r]

Cayley-Dickson Doubling Procedure cd. The classic procedure started with reals with "-"×"-"="+" and successively introduced new relators i,j,k... that square to -1 and anti-commute with earlier relators, thereby defining a product rule A×A→B with a specific multiplication rule. This gives ℝ×ℝ→ℂ, ℂ×ℂ→ℍ, ℍ×ℍ→𝕆, 𝕆×𝕆→Sed, etc. The procedure is implemented in cd, with a list of the squares of the relators as argument. Hence cd[{-1}] gives the signed index table for ℂ (called C4c), cd[{-1,-1}] gives ℍ (called Qr), cd[{-1,-1,-1}] gives 𝕆 (called Octr), cd[{-1,-1,-1,-1}] gives Sedenions (called Sed).  Commutativity is lost on going to ℍ, associativity is lost on going to 𝕆, square-associativity and the Moufang property are lost on going to Sed. These algebras have symbolic multiplication tables with determinants that factorize into the sum of the squares of their elements. The factors are conserved functions (and denominators for vector inverses) for ℝ, ℂ, ℍ, and 𝕆, which are "real algebras without divisors of zero" because the denominator is only zero in the trivial (real) case. Sed is not conservative.
This procedure was generalized by Schaefer to allow new elements that square to +1. This is implemented by providing arguments that are 1; cd[{1,1}] gives Study numbers; cd[{1,-1}] gives Clifford(2). cd[{-1,1}], cd[{-1,1,1}], cd[{-1,1,1,1}] and cd[{-1,1,1,1,1}] give O2, O4, O8 & O16, i.e. algebras that consist of 2, 4, 8, and 16 copies of the complex plane.
I noticed that there is a prior stage, in which unsigned numbers are doubled to give real numbers. This is included in the procedure, so cd[{}] and cd[{1}] give the C1 & C2 groups, corresponding to Primal & Real numbers.
A few more hoops can be created by negating parts of the lower half of the table. This is implemented by using reals, "1." or "-1." but often gives non-conservative tables.
I then realized that other tables could be doubled. This was implemented by providing a list of predefined tables and (later) "cd[{g_String}]:=ToExpression[g];" to allow any loop incantation to be used as an optional first relator. 
As cd created signed tables, it was further modified to compose the table with a cyclic group Cn by (optionally) making the final relators {n} or "loopname". (Only the {n} format is acceptable in the loop[[]] lists as "" cannot be used there.) This gives the parent loops of the signed tables.
Another modification, Moufang doubling md, implements the creation of some Moufang Loops, described in the Wikipedia Moufang Loop article and implemented in the GAP Loop package. It reproduces 13 of the D3Mn etc tables from GAP Loop package:-

Clear[md];md[g_?MatrixQ, l_: {}]  :=
Module[{m = Length[g], 
              gin = If[l == {}, gInverse[g], l]},
res = Table[0, {i, 2  m}, {j, 2  m}];Do[Do[res[[i, j]] = g[[i, j]]  ;
res[[i, j + m]] = 
                          g[[j, i]] + m  ;
res[[i + m, j]] = 
                          g[[i, gin[[j]]]] + m  ;
res[[i + m, j + m]] = 
                          g[[gin[[j]], i]]  ,
{i, m}],{j, m}];res];

groupFromRelators[gp_, post_: {}]:=(* skeleton version of ge, for small groups only *)\(Module[{g = {}, cr, j, l = Plus @@ gp + 2, 
            le = Length[gp], ln = 1, lh, n = {""}, new, p, st, rhs, si, 
            sij, t = post}, 
          cr = Take[{"a", "b", "c", "d", "e", "f", "g"}, le]; 
Do[ (*i\ loop . \ 
                  Rules\ to\ reduce\ repetitions*) st = 
              cr[\([i]\)]; 
AppendTo[t, 
              Do[st = st <> cr[\([i]\)], {gp[\([i]\)] - 1}]; 
              Rule[st, ""]], {i, le}]; 
Do[ (*i, 
              j\ loops . Add\ abelian\ rules*) new = 
              Rule[lh = cr[\([j]\)] <> cr[\([i]\)], 
                cr[\([i]\)] <> 
                  cr[\([j]\)]]; 
Do[ (*k\ loop . 
                    Omit\ redundant\ rules*) If[lh == t[\([k, 1]\)], 
                new = ""], {k, Length[t] - 1}]; 
If[
              Length[new] == 2, AppendTo[t, new]], {i, 1, le - 1}, {j, 
              i + 1, le}]; 
Do[ (*i\ loop . 
                  Build\ the\ element\ list*) si = cr[\([i]\)]; sij = si; 
            p = gp[\([i]\)] - 
                1; 
Do[ (*j\ loop . Repetitions*) 
                Do[ (*k\ loop . New\ element = 
                    j\ repeats\ of\ k' th\ existing\ element*) AppendTo[n, 
                  If[k == 1, sij, n[\([k]\)] <> sij]], {k, 
                  ln}]; 
sij = sij <> si, {j, p}]; 
            ln = Length[n], {i, 
              le}];  (*element\ list\ \(\(completed\)\(.\)\)*) 
            Do[ (*i\ loop . Build\ table\ by\ \(\(concatenation\)\(.\)\)*) 
              AppendTo[
              g,  (*add\ successive\ n[\([i]\)] <> n\ rows\ to\ g*) MapThread[
                StringJoin, {Table[n[\([i]\)], {j, ln}], n}]], {i, 
              ln}]; 
g = 
            Table[l = 0; s1 = g[[i, j]]; 
              s1 = While[\((s2 = StringReplace[s1, t])\) ≠ s1 && 
                    l < 99, \(l++\); s1 = s2]; 
              s2, {i, ln}, {j, 
                ln}]; 
 (*Conversion\ to\ \(\(indices\)\(.\)\)*) st = 
            Table[g[[j, 1]] -> 
                j, {j, ln, 1, \(-1\)}]; 
g /. st]\);

9.7 Groups from Permutations, pe.

pe[mm_, maxel_:  72]:=Module[{m, g = {Range[Max[Flatten[mm]]]}, i, j, k, n, o = {}},permel = {};If[Depth[mm] < 3,Print[
                      mm, "is not a list of permutations or cycles"];Goto[tag]];If[MemberQ[mm, g[[1]]],Print[g[[1]], " unacceptable"];Goto[tag]];
Do[j = mm[[i]]; 
              k = If[VectorQ[j], j, fromCycles[j]]; 
              AppendTo[g, k], {i, Length[mm]}];
j = 2;k = 1;While[j ≤ Length[g], k++; 
              n = permute[g[[j]], 
                  g[[k]]]; 
              If[! (MemberQ[g, n]), AppendTo[g, n]]; 
              If[k ≥ Length[g], k = 1; j++; 
                If[j > maxel + 1, Print["Large"]; i = l + 1; j = l + 1; 
                  i = 0; mm = 0; nn = 0; Goto[tag]]]];permel = g;o = 
              caylindex[
                Table[permute[g[[i]], 
                    g[[j]]], {i, 
                    Length[g]}, {j, Length[g]}]];Label[tag];glo = o]

9.8 MatrixGroups using extended signs, ma, mg, ms.

ma[{mm__?MatrixQ}, maxel_:  73, o_:  0] := 
      Module[{m = {mm}, mi, g, j = 2, k = 1, mx = 2, n}, mi = minsign[m]; 
        g = union[{IdentityMatrix[
                Length[m[[1]]]], mm}]; 
        While[j ≤ Length[g], k++; 
          n = g[[j]] . 
                g[[k]] /. 
              mi; 
If[! (MemberQ[g, 
                  n]), AppendTo[g, n]; mx++; 
            If[mx > maxel, k = 9999; j = mx]]; 
          If[k ≥ Length[g], k = 1; j++; 
            If[j > maxel, matel = {}; g = {{}}; Goto[tag]]]]; matel = g; 
        If[o == 0, 
          g = caylindex[
              Table[g[[i]] . 
                    g[[
                      j]] /. mi, {i, 
                  Length[g]}, {j, Length[g]}]]; glo = g]; Label[tag]; 
        g]

ma[{mm__},maxel_:  73,o_:  0,skeleton_]:=Module[{m = {mm},g,j = 2,k = 1,lg,mx = 2,n,rs={(𝕁^(any_))->(𝕁^(Mod[any, 3])),(𝕜^any)_ -> (𝕜^Mod)[any, 2]},st},\(g = Insert[m, IdentityMatrix[Length[m[\([1, 1]\)]]], 1]; 
          While[lg = Length[g]; j ≤ lg, \(k++\); 
            n = g[[j]] . 
                  g[[
                    k]] /. rs; 
            If[\(! MemberQ[g, n]\), AppendTo[g, n]; \(mx++\); 
              If[mx > maxel, k = 9999; j = mx]]; 
            If[k ≥ lg, k = 1; \(j++\); 
              If[j > maxel, g = {{}}; Goto[tag]]]]; 
          g = Table[
              g[[i]] . 
                  g[[j]] /. rs, {i, 
                lg}, {j, lg}]; Label[tag]; 
          st = Table[
              g[[j, 1]] -> j, {j, lg, 
                1, \(-1\)}]; 
g /. st\)]

mg[v_?VectorQ, u_] := 
      Module[{}, 
        ma[Table[u[[Abs[v[[i]]]]] Sign[v[[i]]], {i, Length[v]}], 
          mm + 1]]
ms[v__?ListQ, u_:  u2, 
        maxel_:  64] :=   
Module[{gg, 
          gij, i = 2, j = 2, l, mi, new, n, p, s, tot = 0, 
          m = If[VectorQ[v], 
              Table[Sign[v[[i]]] u[[Abs[v[[i]]]]], {i, 
                  Length[v]}], v]}, 
        s = Union[{1, -1}, 
            Variables[m] ⋂ signlist]; 
If[
          MatrixQ[m[[1]]] === True, , 
          Print[ "Not a list or matrix"]; 
          Abort[]]; 
l = Length[m[[1]]]; 
        n = Length[m] + 1; matel = Prepend[m, IdentityMatrix[l]]; 
        mi = minsign[matel]; 
While[
          j = 2; 
While[
            new = matel[[i]] . matel[[j]] /. 
                mi; 
If[mstst[new, s] == 0, 
              AppendTo[matel, new]]; tot++; 
            If[Length[matel] > maxel || tot > 4 maxel, Print[matel]; 
              Abort[]]; 
j < Length[matel], j++]; 
          i < Length[matel], i++]; 
n = Length[matel]; 
        gg = Table[
            matel[[i]] . matel[[j]] /. mi, {i, n}, {j, 
              n}]; 
Do[gij = gg[[i, j]]; 
          p = mstst[gij, s]; 
          gg[[i, j]] = p Position[matel, p gij][[1, 1]], {i, 
            n}, {j, n}]; glo =. ; If[indexTableQ[gg] == True, glo = gg]; 
        glo]
mstst[m_, s_] := 
        Module[{i = 0, l = Length[s], res = 0}, 
          While[i < l, i++; 
            If[Position[matel, s[[i]] m] == {}, , res = s[[i]]; 
              i = l]]; res];
msi[v__?ListQ, u_:  u2, 
        si_: {1, -1, I, -I}, 
        maxel_:  64] := 
Module[{gg, gij, i = 2, j = 2, l, 
          mi, new, n, p, s, tot = 0, 
          m = If[VectorQ[v], 
              Table[Sign[v[[i]]] u[[Abs[v[[i]]]]], {i, 
                  Length[v]}], v]}, 
        s = Union[si, 
            Variables[m] ⋂ signlist]; 
If[
          MatrixQ[m[[1]]] === True, , 
          Print[ "Not a list or matrix"]; 
          Abort[]]; 
l = Length[m[[1]]]; 
        n = Length[m] + 1; matel = Prepend[m, IdentityMatrix[l]]; 
        mi = minsign[matel]; 
While[
          j = 2; 
While[
            new = matel[[i]] . matel[[j]] /. 
                mi; 
If[mstst[new, s] == 0, 
              AppendTo[matel, new]]; tot++; 
            If[Length[matel] > maxel || tot > 4 maxel, Print[matel]; 
              Abort[]]; 
j < Length[matel], j++]; 
          i < Length[matel], i++]; 
n = Length[matel]; 
        gg = Table[
            matel[[i]] . matel[[j]] /. mi, {i, n}, {j, 
              n}]; 
Do[gij = gg[[i, j]]; 
          p = mstst[gij, s]; 
          gg[[i, j]] = p Position[matel, p gij][[1, 1]], {i, 
            n}, {j, n}]; glo =. ; If[indexTableQ[gg] == True, glo = gg]; 
        glo]

9.9 Protoloops makeProtoloop[G_,o_],  mp, gd.

mp[] := makeProtoloop[{mm, nn}, 0];
mp[m_?IntegerQ, n_?IntegerQ] := makeProtoloop[{m, n}, 0];
mp[{a_, b_}, o_?IntegerQ] := makeProtoloop[{a, b}, o];
mp[m_?IntegerQ, n_?IntegerQ, o_?IntegerQ] := 
        makeProtoloop[{m, n}, o];
mp[a_] := makeProtoloop[a, 0];
makeProtoloop[m_?IntegerQ, n_?IntegerQ, o_?IntegerQ] := 
        makeProtoloop[{m, n}, o];
makeProtoloop[m_?IntegerQ, n_?IntegerQ] := 
        makeProtoloop[{m, n}, 0];
makeProtoloop[G_] := makeProtoloop[G, 0];
makeProtoloop[G_, o_?IntegerQ] := 
        Module[{g, l, res, mx = mg}, matel =. ; 
          If[Head[G] === Symbol, 
            Print[{G, "not a known Table. Changed to a string."}]; 
            G = ToString[
                G]]; 
Which[
MatrixQ[G], 
            id[caylindex[G]], 
Head[G] === String, 
            g = Position[loop, G, 3, 1]; 
  If[g === {}, 
              Print[{"Unknown case ", o, " ", G}]; 
              Abort[]]; 
   mm = g[[1, 1]]; 
            nn = g[[1, 2]], 
Length[G] === 2, 
            If[Length[loop[[G[[1]]]]] ≥ G[[2]], 
              mm = G[[1]]; nn = G[[2]], 
              Return[{"Unknown mm,nn ", G}] ], 
True, 
            mm = Length[loop]]; 
If[
            Sign[loop[[mm, nn]][[2, 1]]] ≠ 1, 
            mx = ms]; 
If[
            mm ≥ 
                Length[loop] || (l = loop[[mm]]) == {} || 
              Length[l] < nn, gmn = "Unrecognized", l = l[[nn]]; 
            gmn = loop[[mm, nn, 1]]]; 
          res = Which[o < 1 && l[[4]] != "ca[]", 
              ToExpression[
                l[[4]]], 
(o == 0 || o == 1) && 
                l[[5]] ≠ {}, 
              ge[l[[5]], 
                l[[6]]], 
(o == 0 || o == 2) && 
                Length[l] > 6 && l[[7]] ≠ {}, 
              mx[l[[7]], 
                u2], 
(o == 0 || o == 3) && 
                Length[l] > 7 && l[[8]] ≠ {}, 
              mx[l[[8]], 
                u3], 
(o == 0 || o == 4) && 
                Length[l] > 8 && l[[9]] ≠ {}, 
              mx[l[[9]], 
                u4], 
(o == 0 || o == 5) && 
                Length[l] > 9, 
              ToExpression[
                l[[10]]], 
(o == 0 || 
                    o == 6) && Length[l] > 10, 
              ToExpression[l[[11]]], 
True, 
              Print[{G, "No Protoloop", o}]; {}]; id[res]; 
          glo = res];

gd[] := gd[mm, nn]; gd[{m_Integer, n_Integer}] := gd[m, n]; 
    gd[m_Integer:  mm, n_Integer:  nn] := 
      If[m > 0 && loop[[m]] ≠ {} && n > 0 && 
          Length[loop[[m]]] ≥ n, {mm = m, nn = n, 
          loop[[m, n]]}, "Not a loop index"];
\(gd[g_] := 
      Module[{i}, 
        Which[
Head[g] === 
              String && \((i = Position[loop, g, 3, 1])\) ≠ {}, 
          gd[mm = i[\([1, 1]\)], 
            nn = i[\([1, 2]\)]], 
Head[g] === 
              String && \((i = 
                  Position[loop, g <> "?", 3, 1])\) ≠ {}, 
          gd[mm = i[\([1, 1]\)], 
            nn = i[\([1, 2]\)]], 
True, 
          Print["Not a loop index or known mnemonic. Try as a string?"]]]\)

9.10 Loop identification id, idc.

Unprotect[id, 
        idc] ;id =.  ;idc =.  ;mm =.  ;nn =  .0 ;glo =.  ; (*for extensions*)

idc[G_] := 
        If[conservativeQ[G], 
          id[G], "Not conservative."];
idc[G_, L_?ListQ] := 
        If[conservativeQ[G], 
          id[G, L], "Not conservative."];
id[] := id[{mm, nn}, {}];
\(id[G_: {mm, nn}] := id[G, {}]; 
    id[G_: {mm, nn}, L_?ListQ] := 
      Module[{ln, lg, j, jj, M}, nn = 1; 
        If[Head[G] === TraditionalForm, M = G[\([1]\)], 
          M = G]; 
If[Head[G] === String, M = mp[G]]; 
        Which[Dimensions[M] == {2}, mm = M[\([1]\)]; nn = M[\([2]\)]; 
          M = {}, 
MatrixQ[M], 
          M = If[Length[L] > 0, reorder[M, L], M]; 
          mm = Length[M], 
True, mm = Length[loop]; 
          glo =. ; M = {}]; 
lg = 
          Length[M]; 
If[
          lg > 1 && \((j = 
                  Position[\(loop[\([lg]\)]\)[\([All, {2}]\)], dico[M], 3, 
                    1])\) ≠ {}, nn = j[\([1, 1]\)], 
          mm = Length[loop]]; 
jj = loop[\([mm, nn, 3]\)]; 
        ln = nn; 
Switch[jj, 0, , 
1, 
          Switch[trico[M], {3, 
              3\_2}, "C9", {9}, \(nn++\); "C3C3", {6, 3}, 
            nn += 4; "Alt9n"], 
2, 
          If[Length[fa[M]] == 2, "Dav", 
            nn += 3; "C4C2r"], 
3, 
          If[subgroups[M, 0] == 9, 
            nn += 3; "C8C2", "C4C4"], 
4, 
          If[subgroups[M, 0, 5, 5] ≠ 
              1, "C3C25", \(nn++\); "C75"], 
5, 
          If[trico[M] === {3, 3\_5}, "C18", 
            nn += 3; "C3C3C2"], 
6, 
          If[trico[M] === {9, 1\_9}, 
            nn += 3; "E18", "D9"], 
7, 
          If[Length[fa[M]] == 2, "C3KJ", 
            nn += 5; "C4C3j"], 
8, 
          Switch[trico[M], {3, 3\_8}, "C27", {9, 
              9\_2}, \(nn++\); "C9C3", {27}, 
            nn += 4; "C3C3C3"], 
9, 
          If[subgroups[M, 0] == 
              1, "C25", \(nn++\); "C5C5"], 
10, 
          Switch[
            trico[M], {9, 
              9\_2}, \(nn++\); "g2704", {27}, "P27"], 
11, 
          Switch[subgroups[M, 0, 0, 8], 33, nn += 31; "g3233", 37, 
            nn += 22; "g3224", any_, "g3202"], 
12, 
          If[conservativeQ[M], "C4C4r", 
            nn += 2; "C4Kcn"], 
13, 
          If[trico[M] === {1, 1\_13, 
                2}, "CL31", \(nn++\); "CL22"], 
14, 
          If[Length[centre[M]] == 8, "KiC8", 
            nn += 6; "g3211"], 
15, 
          If[trico[M] === {1, 1\_11, 2\_2}, "CL4", 
            nn += 3; "CL13"], 
16, 
          Switch[trico[M], {1, 1\_13, 2}, "r31r", {1, 1\_11, 
              2\_2}, \(nn++\); "r31s", {1, 1\_15}, 
            nn += 2; "r31t", {1, 1\_7, 2\_4}, 
            nn += 3; "r31u"], 
17, 
          If[Length[centre[M]] == 8, "C4iC4C2", 
            nn += 6; "KiQ8"], 
18, 
          Switch[Max[
              First[Transpose[
                  collect[subgroupTypes[subgroups[M, 1, 16, 16]]]]]], 2, 
            mm = 32; nn = 25; "D4C4", 3, mm = 32; nn = 30; "G3230", 
            4, mm = 32; nn = 31; "g3231"], 
19, 
          If[Length[centre[M]] == 4, 
            nn += 6; "Q8C4", "g3226"], 
20, 
          If[conservativeQ[M], "QC2c", nn += 19; "QC2cn"], 21, 
          If[Length[centre[M]] == 4, "g64091"; mm = 64; 
            nn = ln + 13, "g64078"; mm = 64; 
            nn = ln], 
22, 
          If[Position[
                M, \(-I\)] === {}, \(nn++\); "C3i", "C12c"], 
23, 
          If[subgroups[M, 0, 3, 3] == 1, "C36", 
            nn += 6; "C12C3"], 
24, 
          If[subgroups[M, 0, 3, 3] == 1, "C18C2", 
            nn += 9; "C6C6"], 
25, 
          If[subgroups[M, 0, 3, 3] == 1, "D18", 
            nn += 9; "E18C2"], 
26, 
          If[subgroups[M, 0, 3, 3] == 1, "Q36", 
            nn += 6; "C3iQ12"], 
27, 
          If[subgroups[M, 0, 3, 3] == 1, "g3603", 
            nn += 8; "A4C3"], 
28, 
          Switch[allFactorGroups[M, 0, 2, 2, {37, 38}], 37, "g64104"; 
            mm = 64; nn = ln, 38, "g64105"; mm = 64; 
            nn = ln + 1], 
29, 
          Switch[trico[M], {3, 3\_20}, "C63", {9, 
              9\_6}, \(nn++\); "C7C3C3"], 
30, 
          If[subgroups[M, 0, 3, 3] == 
              1, "C45", \(nn++\); "C5C3C3"], 
31, 
          Switch[trico[M], {3, 3\_6, 21\_2}, \(nn++\); "C6n3", {45, 
              3\_6}, "g2101C3"], 
32, 
          If[subgroups[M, 0, 4, 4] == 7, "C3C4C4", 
            nn += 3; "C24C2"], 
33, 
          If[Length[centre[M]] == 
              4, \(nn++\); "g4805", "C8D3"], 
34, 
          Switch[subgroups[M, 0, 32, 
              0, {3, 7, 11, 15, 36, 38, 
                42}], 
36, "g64116"; mm = 64; 
            nn = 116, 
3, "g64117"; mm = 64; 
            nn = 117, 
7, "g64117"; mm = 64; 
            nn = 117, 
_, "g64124"; mm = 64; 
            nn = 124], 
35, 
          If[subgroups[M, 0, 4, 4] == 15, 
            nn += 2; "C4D6", "P48"], 
36, 
          If[subgroups[M, 0, 4, 4] == 3, 
            If[Length[centre[M]] ≠ 
                4, "C24g17C2", \(nn++\); "g4810"], 
            nn += 2; "Q12C4"], 
37, 
          Switch[subgroups[M, 0, 4, 4], 11, "A4C4", 7, 
            nn += 2; "g4833"], 
38, 
          If[subgrpPerm[M, 0, 7, 7] == 
              1, "C49", \(nn++\); "C7C7"], 
39, 
          If[subgrpPerm[M, 0, 5, 5] == 
              1, "C50", \(nn++\); "C10C5"], 
40, 
          If[subgrpPerm[M, 0, 5, 5] == 
              1, "D25", \(nn++\); "C5nD5"], 
41, 
          If[subgrpPerm[M, 0, 9, 9] == 4, "P54", 
            nn += 5; "E18nC3"], 
42, 
          If[Length[Position[allFactorGroups[M, 0, 9, 9], "D3"]] === 3, 
            mm = 54; nn = ln; "D9C3a", mm = 54; 
            nn = ln + 1; "g5406"], 
43, 
          Switch[trico[M], {3, 1\_27, 3\_8}, D27, _, 
            nn += 13; "D27b"], 
44, 
          Switch[allFactorGroups[M, 0, 2, 2, {39, 40}], 39, "g64118"; 
            mm = 64; nn = ln, 40, "g64119"; mm = 64; 
            nn = ln + 1], 
45, 
          If[trico[M] === {9, 3\_9, 9\_2}, "C9D3", 
            nn += 8; "D3C3C3"], 
46, 
          If[MemberQ[allFactorGroups[M, 0, 2, 2], "g3215"], "g64022"; 
            mm = 64; nn = ln + 3, mm = 64; 
            nn = ln; "g64019"], 
47, 
          If[MemberQ[allFactorGroups[M, 0, 2, 2], "D4nC4"], "g64013"; 
            mm = 64; nn = ln, mm = 64; 
            nn = ln + 1; "g64014"], 
48, 
          If[subgroups[M, 0, 4, 4] == 27, "g64020", 
            nn += 2; "g64022"], 
49, 
          Switch[subgroups[M, 0, 8, 8], 7, "g64026", 
            nn += 24, "g64050"], 
50, 
          Switch[allFactorGroups[M, 0, 2, 
              2, {16, 17}], 
17, "g64027"; mm = 64; 
            nn = ln, 16, "g64051"; mm = 64; 
            nn = ln + 24], 
51, 
          If[MemberQ[allFactorGroups[M, 0, 2, 2], "g3211"], "g64020"; 
            mm = 64; nn = ln + 2, mm = 64; 
            nn = ln; "g64018"], 
52, 
          Switch[allFactorGroups[M, 0, 2, 
              2, {2, 9, 14, 40, 42}], 
40, "g64106"; 
            mm = 64; nn = ln + 85, 
42, "g64108"; 
            mm = 64; nn = ln + 87, 
_, "g64021"; 
            mm = 64; nn = ln], 
53, 
          If[subgroups[M, 0, 4, 4] == 
              31, "g64135", "g64136"; \(nn++\)], 
54, 
          If[Length[centre[M]] == 4, "g64177"; nn += 43, 
            If[subgroups[M, 0, 4, 4] == 35, "g64190"; 
              nn += 56, "g64134"]], 
55, 
          Switch[subgroups[M, 0, 32, 0, {16, 17}], 16, nn = ln; "g64044", 
            17, nn = ln + 1; "g64045"], 
56, 
          Switch[subgroups[M, 0, 16, 16], 19, "g64057"; nn = ln, 
            11, "g64064"; nn = ln + 7, 7, "g64082"; 
            nn = ln + 25], 
57, 
          Switch[
            allFactorGroups[M, 0, 2, 
              2, {31, 42}], 
31, "g64167"; mm = 64; 
            nn = ln, 42, "g64176"; mm = 64; nn = ln + 9, _, "g64173"; 
            mm = 64; nn = ln + 6], 
58, 
          Switch[allFactorGroups[M, 0, 2, 2, {22, 43, 28}], 22, "g64100"; 
            mm = 64; nn = ln, 43, "g64109"; mm = 64; nn = ln + 9, 
            28, "g64151"; mm = 64; nn = ln + 51], 
59, 
          Switch[allFactorGroups[M, 0, 2, 
              2, {11, 28, 37, 38, 42}], 
37, "g64088"; 
            mm = 64; nn = ln, 
38, "g64089"; mm = 64; 
            nn = ln + 1, 
42, "g64097"; mm = 64; 
            nn = ln + 9, 
11, "g64101"; mm = 64; 
            nn = ln + 13, 
28, "g64152"; mm = 64; 
            nn = ln + 64, 
_, "g64102"; mm = 64; 
            nn = ln + 14], 
60, 
          Switch[allFactorGroups[M, 0, 2, 
              2, {5, 4, 17, 24}], 
5, "g64017"; 
            mm = 64; nn = ln, 
4, "g64084"; mm = 64; 
            nn = ln + 67, 
17, "g64184"; mm = 64; 
            nn = ln + 167, 
24, 
            Switch[allFactorGroups[M, 0, 2, 
                2, {36, 38}], 
36, "g64112"; mm = 64; 
              nn = ln + 95, 
38, "g64114"; mm = 64; 
              nn = ln + 97, 
_, "g64113"; mm = 64; 
              nn = ln + 96], 
_, 
            Switch[allFactorGroups[M, 0, 2, 
                2, {36, 37, 38}], 
36, "g64185"; 
              mm = 64; nn = ln + 168, 
37, "g64085"; 
              mm = 64; nn = ln + 68, 
38, "g64086"; 
              mm = 64; nn = ln + 69]], 
61, 
          Switch[allFactorGroups[M, 0, 2, 2, {16, 36}], 36, "g64083"; 
            mm = 64; nn = ln, 16, "g64183"; mm = 64; 
            nn = ln + 100], 
62, 
          Switch[allFactorGroups[M, 0, 2, 2, {37, 38}], 37, "g64113"; 
            mm = 64; nn = ln, 38, "g64114"; mm = 64; 
            nn = ln + 1], 
63, 
          Switch[allFactorGroups[M, 0, 2, 2, {31, 34}], 31, "g64074"; 
            mm = 64; nn = ln, 34, "g64080"; mm = 64; 
            nn = ln + 6], 
64, 
          Switch[allFactorGroups[M, 0, 2, 2, {31, 32}], 31, "g64071"; 
            mm = 64; nn = ln + 4, _, "g64067"; mm = 64; 
            nn = ln], 
65, 
          Switch[allFactorGroups[M, 0, 2, 2, {23, 25, 26, 28}], 
            26, "g64072"; mm = 64; nn = ln + 2, _, "g64070"; mm = 64; 
            nn = ln], 
66, 
          Switch[allFactorGroups[M, 0, 2, 
              2, {25, 26, 30, 31, 33}], 
31, "g64063"; 
            mm = 64; nn = ln, 
_, "g64068"; mm = 64; 
            nn = ln + 5], 
67, 
          Switch[allFactorGroups[M, 0, 2, 
              2, {22, 31}], 
22, "g64062"; mm = 64; 
            nn = ln, 
_, "g64069"; mm = 64; 
            nn = ln + 7], 
68, 
          Switch[allFactorGroups[M, 0, 2, 
              2, {28, 33}], 
28, "g64061"; mm = 64; 
            nn = ln, 
33, "g64209"; mm = 64; 
            nn = ln + 148, 
_, "g64210"; mm = 64; 
            nn = ln + 149], 
69, 
          Switch[allFactorGroups[M, 0, 2, 
              2, {2, 24}], 
2, "g64056"; mm = 64; 
            nn = ln, 
24, "g64195"; mm = 64; 
            nn = ln + 139, 
_, "g64198"; mm = 64; 
            nn = ln + 142], 
70, 
          Switch[allFactorGroups[M, 0, 2, 
              2, {40, 42}], 
40, "g64129"; mm = 64; 
            nn = ln, 
42, "g64133"; mm = 64; 
            nn = ln + 4, 
_, "g64161"; mm = 64; 
            nn = ln + 32], 
71, 
          Switch[allFactorGroups[M, 0, 2, 
              2, {40, 42}], 
42, "g64130"; mm = 64; 
            nn = ln, 
40, "g64131"; mm = 64; 
            nn = ln + 1], 
72, 
          If[conservativeQ[M], "C3C2", nn += 12; "C6an"], 73, 
          If[Length[centre[M]] == 4, "g64178"; 
            nn += 41, "g64137"], 
74, 
          Switch[\(collect[allFactorGroups[M, 0, 8, 8, {16, 16}]]\)[\([1, 
                1]\)], 
11, "g64159"; mm = 64; 
            nn = ln + 17, 
17, "g64157"; mm = 64; 
            nn = ln + 15, 
23, "g64145"; mm = 64; 
            nn = ln + 3, 
_, "g64142"; mm = 64; 
            nn = ln], 
75, 
          Switch[allFactorGroups[M, 0, 2, 2, {40, 42}], 40, "Q8pQ8"; 
            mm = 64; nn = ln, 42, "g64160"; mm = 64; 
            nn = ln + 4], 
76, 
          Switch[allFactorGroups[M, 0, 2, 2, {40, 42}], 40, "g54162"; 
            mm = 64; nn = ln, 42, "g64163"; mm = 64; 
            nn = ln + 1], 
77, 
          Switch[allFactorGroups[M, 0, 2, 2, {40, 42}], 40, "g54164"; 
            mm = 64; nn = ln, 42, "g64166"; mm = 64; 
            nn = ln + 2], 
78, 
          Switch[allFactorGroups[M, 0, 2, 2, {31, 42}], 31, "g54168"; 
            mm = 64; nn = ln, 42, "g64180"; mm = 64; 
            nn = ln + 12, _, "g64179"; mm = 64; 
            nn = ln + 11], 
79, 
          Switch[allFactorGroups[M, 0, 2, 2, {18, 34}], 18, "g54186"; 
            mm = 64; nn = ln + 12, 34, "g64174"; mm = 64; 
            nn = ln], 
80, 
          Switch[allFactorGroups[M, 0, 2, 2, {34, 39}], 34, "g54175"; 
            mm = 64; nn = ln, 39, "g64181"; mm = 64; 
            nn = ln + 6], 
81, 
          Switch[allFactorGroups[M, 0, 2, 2, {19}], 19, "g64187"; 
            mm = 64; nn = ln, _, "g64189"; mm = 64; nn = ln + 2], 82, 
          Switch[allFactorGroups[M, 0, 2, 2, {27, 34, 39}], 27, "g64202"; 
            mm = 64; nn = ln, 34, "g64211"; mm = 64; nn = ln + 9, 
            39, "g64250"; mm = 64; nn = ln + 48], 
83, 
          Switch[\(collect[allFactorGroups[M, 0, 8, 8, {16, 16}]]\)[\([1, 
                1]\)], 
50, "g64205"; mm = 64; 
            nn = ln, 
51, "g64205"; mm = 64; 
            nn = ln, 
59, "g64205"; mm = 64; 
            nn = ln, 
73, "g64206"; mm = 64; 
            nn = ln + 1, 
63, "g64207"; mm = 64; 
            nn = ln + 2, 
49, "g64213"; mm = 64; 
            nn = ln + 8, 
_, "g64205"; mm = 64; 
            nn = ln], 
84, 
          If[\(collect[allFactorGroups[M, 0, 4, 4]]\)[\([1, 1]\)] == 
              24, "g64208"; mm = 64; nn = ln, "g64214"; mm = 64; 
            nn = ln + 6], 
85, 
          If[\(collect[allFactorGroups[M, 0, 4, 4]]\)[\([1, 1]\)] == 
              102, "g64215"; mm = 64; nn = ln, "g64216"; mm = 64; 
            nn = ln + 1], 
86, 
          If[\(collect[allFactorGroups[M, 0, 4, 4]]\)[\([1, 1]\)] == 
              38, "g64227"; mm = 64; nn = ln, "g64231"; mm = 64; 
            nn = ln + 4], 
87, 
          If[\(collect[allFactorGroups[M, 0, 4, 4]]\)[\([1, 1]\)] == 
              62, "g64219"; mm = 64; nn = ln, "g64221"; mm = 64; 
            nn = ln + 2], 
88, 
          If[\(collect[allFactorGroups[M, 0, 4, 4]]\)[\([1, 1]\)] == 
              18, "g64228"; mm = 64; nn = ln, "g64229"; mm = 64; 
            nn = ln + 1], 
89, 
          Switch[\(collect[allFactorGroups[M, 0, 4, 4]]\)[\([1, 1]\)], 
            58, "g64232"; mm = 64; nn = ln, 44, "g64240"; mm = 64; 
            nn = ln + 8, 42, "g64234?36"; mm = 64; 
            nn = ln + 2], 
90, 
          If[\(collect[allFactorGroups[M, 0, 4, 4]]\)[\([1, 1]\)] == 
              71, "g64241"; mm = 64; nn = ln, "g64242"; mm = 64; 
            nn = ln + 1], 
91, 
          If[\(collect[allFactorGroups[M, 0, 4, 4]]\)[\([1, 1]\)] == 
              33, "g64247"; mm = 64; nn = ln, "g64248"; mm = 64; 
            nn = ln + 1], 
92, 
          If[\(collect[allFactorGroups[M, 0, 4, 4]]\)[\([1, 1]\)] == 
              35, "g64251"; mm = 64; nn = ln, "g64253"; mm = 64; 
            nn = ln + 2], 
93, 
          If[Length[centre[M]] == 4, "g64254"; mm = 64; 
            nn = ln, "g64257"; mm = 64; 
            nn = ln + 3], 
94, 
          If[Length[centre[M]] == 4, "g64256"; mm = 64; 
            nn = ln, "g64258"; mm = 64; 
            nn = ln + 2], 
95, 
          If[Length[centre[M]] == 4, "g64255"; mm = 64; 
            nn = ln, "g64259"; mm = 64; 
            nn = ln + 4], 
96, 
          If[Length[centre[M]] == 4, "g64???"; mm = 64; 
            nn = ln, "g64???"; mm = 64; 
            nn = ln + 4], 
97, 
          If[Length[fp[M]] == 6, 
            nn += 18; "O4k", "O4"], 
98, 
          If[\(! conservativeQ[
                M]\), \(nn++\); "D4M4n", "Q8M2"], 
99, 
          If[\(! associativeQ[M]\), 
            nn += 20; "C8pC2M", "g3238"]
]; 
If[mm ≠ Length[loop], glo = M]; 
        gmn = loop[\([mm, nn, 1]\)]]\)

9.11 Subgroup Routines subgroups, subgroupTypes, collect, dico, etc

\(\(subgroups[G_?MatrixQ, o_:  0, i1_:  2, i2_:  49, pp_:  associativeQ] := 
        Module[{d, divs, dl, f = \(-1\), g, i, j, l = Length[G], n = 0, 
            p = pp, r, test = 0, 
            v = Drop[G[\([1]\)], 1]}, 
If[
            i1 ≠ 2 && GCD[l, i1] == 1, 
            Print[i1, " is not a factor of ", l]; \ Abort[]]; 
          i = If[NumberQ[i2], Max[i1, i2], i1]; 
Which[
            o < 0, \ test = {\(-o\)}; i = i1, p == {}, 
            p = associativeQ, ListQ[p], test = p]; 
divs = 
            Select[Drop[Drop[Divisors[l], \(-1\)], 1] - 1, 
              i > #1 >= i1 - 1 &]; 
          sg = {}; 
globa = G;  (*\ 
            Now\ find\ all\ potential\ subloops\ in\ the\ range\ *) 
d = 
            Flatten[Table[KS[v, divs[\([i]\)]], {i, Length[divs]}], 1]; 
          dl = Length[d]; 
          If[o > 2, \(Print[{dl, " cases"}];\)]; 
j = 
            0; While[\(j++\); j < dl, 
            r = Flatten[{1, d[\([j]\)]}]; 
If[
              select[r] == r,  (*\ quasi - group\ filter\ *) g = 
                reorder[G, 
                  r]; 
Which[
ListQ[
                  test], If[
                  associativeQ[
                      g] && \((f = id[g])\) ≠ "Unrecognised" && 
                    MemberQ[test, f = \(gd[]\)[\([2]\)]], Goto[tag], 
                  globa = G; f = 0], 
p[g], \(n++\); 
                AppendTo[sg, r]]
]]; 
          Label[tag]; 
Which[f > \(-1\), 
            f,  (*\ target\ \(\(found\)\(?\)\)\ *) 
o == 0, n, \  (*\ count\ \ *) 
o == 1, 
            sg,  (*\ subloop\ list\ *) 
True, 
            Print[" Number of subloops = ", n]; sg]];\)\)

KS[l_List, 1, gap_: {}, lef_: {}] := Partition[l, 1]
KS[l_List, k_Integer?Positive, gap_: {}, 
        lef_: {}] := {l} /; (k == Length[l])
KS[l_List, k_Integer?Positive, gap_: {}, lef_: {}] := 
      Module[{f = First[l], g, ngap, nlf}, 
nlf = 
          Append[lef, f]; ngap = Append[gap, f]; 
        g = Length[Intersection[select[nlf], gap]]; 
        If[g > 0, 
          KS[Drop[l, 1], k, ngap, lef], 
Join[
            Map[(Prepend[#, f]) &, KS[Drop[l, 1], k - 1, gap, nlf]], 
            KS[Drop[l, 1], k, ngap, lef]]]]

dico[g_] := 
      Module[{gg = 
            If[Length[g] == 1, 
              g[[1]], g, gf], o = 1, 
          n = {}}, gf = Sign[Flatten[gg]]; If[abelianQ[gg], o = 1. ]; 
        If[gg === Abs[gg], Null, o = -o; n = {negco[gg]}]; 
        If[MemberQ[gf, I] || MemberQ[gf, -I], 
          o = I o]; 
        If[MemberQ[gf, 𝕁] || 
            MemberQ[gf, (𝕁^2)], 
          o = 𝕁 o]; 
        If[Length[gg] == 32, n = {subgrpPerm[gg, 0, 4, 4]}]; 
        If[Length[gg] == 64, n = {Max[orderCount[gg]], nabco[gg]}]; 
        If[Length[gg] == 54 || Length[gg] == 72, 
          n = {subgrpPerm[gg, 0, 3, 3]}]; 
        abbr[Distribution[
            Table[gg[[i, i]], {i, 
                Length[gg]}]], o, n]]; 
    trico[g_] := 
      abbr[If[Length[g] > 1, 
          Distribution[Table[g[[i, g[[i, i]]]], {i, Length[g]}]], 
          Distribution[
            Table[g[[1, i, g[[1, i, i]]]], {i, 
                Length[g[[1]]]}]]]]
nabco[g_] := 
        If[Length[g] == 1, 
          Length[g[[1]]]^2 - 
            Length[Position[g[[1]] - Transpose[g[[1]]], 0]], 
          Length[g]^2 - 
            Length[Position[g - Transpose[g], 
                0]]];
negco[g_] := 
        Length[Position[g - Abs[g], a_ /; a ≠ 0]];

subgrpPerm[g_,a_:0]:=Module[{p=Flatten[{1,Map[Last,Sort[Map[({Random[],#})&,Range[Length[g]-1]]]]+1}]},subgroups[reorder[g,p],a]];
subgrpPerm[g_,a_,b_,c_]:=Module[{p=Flatten[{1,Map[Last,Sort[Map[({Random[],#})&,Range[Length[g]-1]]]]+1}]},subgroups[reorder[g,p],a,b,c]];

subgroupTypes[sg_:  sg] := 
      Module[{c, l = Length[sg], j, g = globa, m = Length[Last[sg]], n, 
          count, types = {}}, count = Table[0, {i, m}]; 
        Do[count[[Length[sg[[j]] ] ]]++, {j, l}]; n = 1; 
        Do[c = count[[i]]; 
          If[c > 0, 
            If[PrimeQ[i], n += c; 
              AppendTo[
                types, {c, 
                  StringJoin["C", ToString[i]]}], 
Do[
                AppendTo[types, {id[g, sg[[n]]]}]; n++, {z, 
                  count[[i]]}]]], 
{i, 2, 
            m}]; 
types]
collect[sg_:  %] := 
      Module[{l = Length[sg], c = {}, s, s1}, 
        Do[If[Length[s = sg[[i]]] > 1, AppendTo[c, s], 
            s1 = Position[c, s[[1]]]; 
            If[s1 == {}, AppendTo[c, {1, s[[1]]}], 
              s1 = s1[[1, 1]]; c[[s1, 1]] = c[[s1, 1]] + 1]], {i, 
            l}]; c]

9.12 Generalised Hoop Algebra Routines toPolar etc, hoopTimes, hoopInverse, hoopPower, hoopTest, genQuadratic, c2simeq, rotateQOP.

toPolar[{a__},g_:gmn]:=toPol[{a},g];
toVector[{a__},g_:gmn]:=toVec[{a},g];
tohyPolar[{a__},g_:gmn]:=tohyPol[{a},g];
tohyVector[{a__},g_:gmn]:=tohyVec[{a},g];

hoopTimes[a_,b_,g_,c_]:=(*skeleton*)
Module[{m = Length[g], t}, 
        t = Table[0, {m}]; 
Do[
          Do[t[[g[[l, k]]]] += 
              a[[
                  l]] b[[
                  k]] , {k, m}], {l, m}]; t]

hoopTimes[a_?VectorQ, b_?VectorQ, g_?MatrixQ] := 
      hoopTimes[glo = g; mm = Length[g]; a, b]
hoopTimes[a_?VectorQ, b_?VectorQ, g_] /; Head[g] === String := 
      hoopTimes[glo = mp[g]; gmn = g; mm = Length[g]; a, b]
hoopTimes[a_?VectorQ, b_?VectorQ] := 
      Module[{i, j, p, s, ss, st, t, u}, 
        u = Table[0, {kk, mm = Length[glo]}]; t = u; i = Join[a, t]; 
        j = Join[b, t]; 
Do[
          Do[s = glo[[ll, kk]]; 
            ss = Sign[s]; 
st = 
              If[ss === 0, s, s/ss]; 
t[[
                st]] += 
              i[[
                    ll]] j[[
                    kk]] ss /. List -> 0, {kk, 
              mm}], {ll, mm}]; 
Rl = u; Rr = u; 
        If[(p = Position[shape[t], 0]) ≠ {}, 
          If[Complement[p, Position[shape[a], 0]] ≠ {}, 
            u = hoopInverse[b]; 
Do[
              Do[s = glo[[ll, kk]]; 
                ss = Sign[s]; 
st = 
                  If[ss === 0, s, 
                    s/ss]; 
Rl[[
                    st]] += 
                  u[[
                        kk]] t[[
                        ll]] ss /. List -> 0, {kk, 
                  mm}], {ll, mm}]; Rl = Chop[a - Rl]]; 
If[
            Complement[p, Position[shape[b], 0]] ≠ {}, 
            u = hoopInverse[a]; 
Do[
              Do[s = glo[[ll, kk]]; 
                ss = Sign[s]; 
st = 
                  If[ss === 0, s, 
                    s/ss]; 
Rr[[
                    st]] += 
                  t[[kk]] 
                      u[[ll]]  ss /. 
                    List -> 0, {kk, mm}], {ll, mm}]; 
            Rr = Chop[b - Rr]]]; 
t]

hmin = 4  $MachineEpsilon;
hoopInverse[v_?VectorQ] := 
        Module[{arrsz, abcsz, ls, inv, var, vec, s, temp}, 
          inv = Table[0, {ii, mm}]; vec = Take[Flatten[Append[v, inv]], mm]; 
          arrsz = shape[vec]; ls = Length[arrsz]; abcsz = hoopShape[]; 
          Do[s = Sign[gi[[ii]]]; 
            var = alph[[
                gi[[ii]]/s]]; temp = 0; 
            Do[Which[
                Abs[Chop[arrsz[[jj]], 
                      hmin]] === 0, Null, True, 
                temp += s gi[[
                      mm + jj]] (∂_var) 
                          abcsz[[jj]]/
                      abcsz[[jj]]], {jj, 
                ls}]; inv[[ii]] += 
              temp, {ii, mm}]; 
          Chop[Simplify[inv/mm /. fromAlph[vec]]]];

hoopInverse[vec_, g_, gi_, gshape_]:=(*skeleton*)
Module[{al, inv, ls = Length[gshape], 
            mm = Length[g], var, ss, sub, t}, inv = Table[0, {i, mm}]; 
          al = Take[{a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, 
                t, u, v, w, x, y, 
                z, α, β, γ, δ, ϵ, ζ}, mm], 
sub = 
            Table[al[[i]] -> vec[[i]], {i, 
                mm}]; 
Do[ss = Sign[gi[[ii]]]; 
            var = al[[gi[[ii]]/ss]]; t = 0; 
            Do[Which[Abs[Chop[gshape[[jj]]] /. sub, 2^(-48)]] === 
                0, Null, True, 
              temp += ss*
                  gi[[mm + jj]]*(D[gshape[[jj]], var]/
                      gshape[[jj]]), {jj, 
                ls}]; 
inv[[ii]] += t, {ii, mm}]; 
          Simplify[inv/mm /. sub]];

hoopInverse Procedure:- based on Cramer's method, to give Ainv.A={1,0,0...}.
la is the length of vec.  arrsz is the shape of vec; finding it also sets gi. abcsz becomes sh[glo], the symbolic conserved factors. inv is initialised as a table of zeroes, to be filled in by the ii loop. For each ii, the sign is found from gi, and var is the ii'th symbol used in abcsz. The jj loop ignores near-zero sizes, and adds to temp the derivations (wrt the variable var indicated by gi) of the size, divided by the size and multiplied by the sign s and by the multiplicity gi[[la+jj]] . On completion of this loop, temp is put into inv. Finally, inv is divided by la and the symbols are replaced by whatever was supplied as vec.

hoopPower[A_, r_:  1/2] := 
        Module[{a = {}, lg, l, s = shape[A]}, 
          If[r < 0, hoopPower[hoopInverse[A], -r], l = toPolar[A]; 
            lg = Length[gp]; 
            Do[AppendTo[a, 
                If[IntegerQ[gp[[ii]]], 
                  If[Head[l[[ii]]] === Complex, 
                    l[[ii]]^r, Abs[l[[ii]]]^r 
                      Sign[l[[ii]]], l[[ii]]^r], 
                  r  l[[ii]]]], {ii, lg}]; 
            Chop[toVector[a]]]];

hoopPower procedure:- If the power is negative, calculate the positive power of the inverse. Find the polar form; multiply angles by the power; replace sizes by the signed power of the absolute size. (Complex numbers are raised to the power.) Recover the vector from the new polar data.

Unprotect[hoopTest];
Clear[glo, gmn, mm, nn, hoopTest];

hoopTest[x_:  glo, t_:  Real, r_: {-1. , 1. }, o_:  0] := 
      Module[{A, Am, Ap, B, BA, Bi, C, ms, no = " No other", pa, pb, pab, 
          q = 0, res, result, sx, sz = 2^-16, xq, X}, 
        X = Which[Head[x] === TraditionalForm, x[[1]], 
            Head[x] === String, mp[x], IntegerQ[x] && IntegerQ[T], t = Real; 
            mp[x, T], True, x]; 
        If[MatrixQ[X] === False, X = makeProtoloop[x]]; 
        If[X === glo, , glo = caylindex[X]]; gmn = id[glo]; 
        res = gmn; 
hoopFactor[]; ms = minsign[glo]; 
        If[Head[sh["Unrecognized"]] === List, 
          sh["Unrecognized"] =. ]; 
        If[Head[sh[gmn]] === sh, sh[gmn] = hoopShape[]]; 
        If[o > 0, Print[{"Hoop =", res, X, mm}]]; 
        While[A = Table[Random[t, r], {i, mm}] // N;

          
          Position[0, 
              pa = Chop[Expand[shape[A]], sz] /. ms] ≠ {},]; 
        While[B = Table[Random[t, r], {i, mm}] // N; 
          Position[0, 
              Chop[pb = Expand[shape[B]], sz] /. 
                ms] ≠ {},]; 
AB = 
          hoopTimes[A, B]; pba = Chop[Expand[shape[AB]] /. ms, sz]; 
        Am = Chop[(Expand[pa*pb] - pba) /. ms, sz]; 
        Ap = Chop[(Expand[pa*pb] + pba) /. ms, sz]; 
        If[o > 2, 
          Print[{"A=", A, "\nB=", B, "\nAB=", 
              AB, "pa,pb,pa pb,pba,pa pb-pba", pa, pb, pa pb, pba, Am, 
              Union[Am], Ap, Union[Ap]}]]; 
        If[(Flatten[Union[Am]] === {0}) || (Flatten[
                  Union[Ap]] === {0}), res = "Conservative " <> res, 
          If[gmn == "Unrecognized", 
            Print[gmn <> " Factors NOT conserved"], 
            Print[gmn <> " Isomorph. Protoloop factors NOT conserved"]]; 
          Goto[exit]]; 
Ai = 
          Chop[Together[Expand[hoopInverse[A]]] /. ms, sz]; 
        pba = Chop[
            Together[Expand[(AiAB = hoopTimes[Ai, AB]) - B]] /. ms, sz]; 
        If[o > 0, 
          Print[{"A Inverse=", Ai, "AiAB=", AiAB, "AiAB-B=", 
              pba}]]; If[Union[pba] === {0}, no = ""; 
          res = res <> ", division"]; 
If[
          Head[toPol[A, gmn]] === List, 
          If[Union[Chop[toVector[toPolar[A]] - A, sz]] === {0}, no = ""; 
            res = res <> ", polar-vector"]; 
          If[Union[Chop[hoopPower[hoopPower[A], 2] - A, sz]] === {0}, 
            no = ""; res = res <> ", +ve Powers"]; 
          If[abelianQ[glo], 
            While[q < 10, q++; A = Table[Random[t, r], {i, mm}]; 
              B = Table[Random[t, r], {i, mm}]; 
              xq = Table[Random[t, r], {i, mm}] // N; sx = shape[xq]; 
              C = hoopTimes[A, hoopTimes[xq, xq]] + hoopTimes[B, xq]; 
              result = Chop[genQuadratic[A, B, C]]; 
              If[Union[Chop[sx - shape[result[[1]]]]] === {0} || 
                  Union[Chop[sx - shape[result[[2]]]]] === {0}, 
                res = res <> ", quadratic eqn."; q = 10]]]; 
          If[Union[
                Chop[hoopPower[hoopPower[A, -1/3], -3] - A]] === {0}, 
            no = ""; res = res <> ", -ve Powers"]]; 
        If[Head[tohyPol[A, gmn]] === List, 
          If[Union[Chop[tohyVector[tohyPolar[A]] - A, sz]] === {0}, 
            no = ""; res = res <> ", hyPolar"]]; Label[exit]; 
        res <> no <> " test(s) passed"]

genQuadratic[A_?VectorQ, B_?VectorQ, C_?VectorQ] := 
        Module[{a, b}, 
          If[Length[gp] ≠ Length[A], 
            Print["Roots unavailable"]; 
            Abort[], 
a = hoopInverse[A]; 
            b = hoopRoot[
                hoopTimes[B, B] + 4 hoopTimes[A, C]]; {hoopTimes[
                  a, (-B + b)], hoopTimes[a, (-B - b)]}/2]];hoopRoot[A_?VectorQ] :=Module[{a = {}, l = toPolar[A]},  
Do[AppendTo[a,If[IntegerQ[gp[[i]]],((Abs[l[[i]]])^(1/2))Sign[l[[i]]],l[[i]]/2]],
{i, Length[gp]}];Chop[toVector[a]]]

c2simeq[a_, b_, c_] := 
        c2simeq[a[[1]], 
          a[[2]], 
          b[[1]], 
          b[[2]], 
          c[[1]], 
          c[[2]], 
          a[[3]], 
          a[[4]], 
          b[[3]], 
          b[[4]], 
          c[[3]], 
          c[[4]]];
c2simeq[a1_, a2_, b1_, b2_, c1_, c2_, a3_, a4_, b3_, b4_, c3_, c4_] := 
      Module[{a1m2b = (a1 - a2) (b3 - b4) - (a3 - a4) (b1 - 
                    b2), a1p2b = (a1 + a2) (b3 + b4) - (a3 + 
                    a4) (b1 + b2), 
          a1m2c = (a1 - a2) (c3 - c4) - (a3 - a4) (c1 - 
                    c2), a1p2c = (a1 + a2) (c3 + c4) - (a3 + 
                    a4) (c1 + c2), 
          b1m2 = (b1 - b2) (c3 - c4) - (b3 - b4) (c1 - c2), 
          b1p2 = (b1 + b2) (c3 + c4) - (b3 + b4) (c1 + c2), 
          x4}, Which[a1p2b == 0 && a1p2c == 0 || a1m2b == 0, 
          Flatten[{Simplify[{c1 (a4 b2 - a1 b3) + 
                      c2 (a2 b3 - a4 b1) + c3 (a1 b1 - a2 b2) + 
                      x4 (a4 ((b1^2) - (b2^2)) + (a1 b2 - 
                                  a2 b1) b3 + (a2 b2 - 
                                  a1 b1) b4), 
                    c1 (a2 b3 - a3 b2) + c2 (a3 b1 - a1 b3) + 
                      c3 (a1 b2 - a2 b1) + 
                      x4 (a3 ((b2^2) - (b1^2)) + (a1 b1 - 
                                  a2 b2) b3 + (a2 b1 - 
                                  a1 b2) b4), (1/a2) ((-a1 a3 + a2 a4) (a1 (c2 - b1 x4) - 
                                a2 (c1 - b2 x4)) + ((a1^2) - 
                                (a2^2)) (a3 c2 - a2 c3 - a3 b1 x4 + 
                                a2 b4 x4))}/((a1 a3 - 
                            a2 a4) b1 + (a1 a4 - 
                            a2 a3) b2 + ((a2^2) - 
                            (a1^2)) b3)], {x4}}], 
a1p2b == 
            0, {{0, 0}, {0, 
              0}}, 
True, {-b1m2, b1m2, 
                  a1m2c, -a1m2c}/
                a1m2b 2 + {-b1p2, -b1p2, a1p2c, a1p2c}/
                a1p2b 2]]

simc2[a_, b_, o_:  0] := 
      Module[{l = Length[a], ai, aijp, aijn, dp, dn, p = {}, n = {}, 
          at = Transpose[a], sp = {}, sn = {}, i = 1, bp = {}, bip, bn = {}, 
          bin, X, x}, x = Unique[]; x = Table[x, {i, l}]; 
        Do[ai = at[[i]]; bip = b[[i, 1]]; 
          bin = b[[i, 2]]; 
AppendTo[bp, bip + bin]; 
          AppendTo[bn, bip - bin]; 
Do[
            aijp = ai[[j, 1]]; 
            aijn = ai[[j, 2]]; 
p = {p, aijp + aijn}; 
            n = {n, aijp - aijn}, {j, l}], {i, l}]; 
        p = Partition[Flatten[p], l]; 
        dp = Chop[2 Det[p]]; 
n = 
          Partition[Flatten[n], l]; dn = Chop[2 Det[n]]; 
        If[o === 2, Print[{"n", n, dn, "\np", p, dp}]]; 
        While[i ≤ l, 
          bip = Det[Insert[Drop[p, {i}], bp, i]]; 
bin = 
            Det[Insert[Drop[n, {i}], bn, i]]; 
sp = {sp, 
              bip, bip}; sn = {sn, bin, -bin}; 
          i += 1]; 
X = 
          If[dp === 0, x, 
              Partition[Flatten[sp], 2]/dp] + 
  If[
              dn === 0, x, 
              Partition[Flatten[sn], 2]/dn]; 
If[o === 1, 
          X, X = Transpose[X]; X[[1]] - X[[2]]]]

Rotation using Euler parameters is implemented below for Quaternions, Octonions, and Pauli-σ algebra. Footnote 16 in Louenesto 2001 indicates that it can be generalized via Clifford multiplication. This has not been pursued.

rotateQOP[v0_, n0_, θ_, g_:  gmn]:=  ;
\(Module[{lv = Length[v0], l, n, p = 1, 
        q, r, v}, 
      Which[Depth[v0] ≠ 3 || Depth[n0] ≠ 2, 
        Print\ ["Wrong bracketing"]; Abort[], g == "Qr", l = 4, 
        g == "Octr", l = 8, g == "P4", p = \(-1\); l = 4, True, 
        Print[{g, "Wrong"}]; \ Abort[]]; gmn = g; 
      v = Table[
          Take[Flatten[{v0[[i]], {0, 0, 
                  0, 0, 0, 0}}], l], {i, lv}]; 
      n = Take[Flatten[{n0, {0, 0, 0, 0, 0}}], l - 1]; 
      q = Flatten[{Cos[θ/
                2], \(n\ Sin[θ/2]\)\/\@\(p\ Plus @@ \((n\ n)\)\)}]; 
      r = Flatten[{Cos[θ/
                2], \(\(-n\)\ Sin[θ/2]\)\/\@\(p\ Plus @@ \((n\ n)\)\)}]; 
      Chop[Table[
          hoopTimes[q, 
            hoopTimes[v[[i]], r, 
              g]], {i, lv}]]]; 
    angls[r_, θ_, ψ_:  0] := {{r\ Cos[θ], 
          r\ Sin[θ], r\ Cos[θ], 
          r\ Sin[θ]}, {r*Cos[θ], r*Cos[θ + 2*Pi/3], 
          r*Cos[θ + 4*Pi/3], r*Cos[θ], 
          r*Cos[θ + 2*Pi/3], 
          r*Cos[θ + 4*Pi/3]}, {r*Cos[θ], 
          r*Cos[θ + 2*Pi/3], 
          r*Cos[θ + 4*Pi/3], \(-r\)*Cos[θ], \(-r\)*
            Cos[θ + 2*Pi/3], \(-r\)*
            Cos[θ + 4*Pi/3]}, {}, {}}\)

QPower[{a_, b_, c_, d_}, r_:  .5] := 
        Module[{s, t = ArcTan[a, Sqrt[b^2 + c^2 + d^2]], 
            u = ArcTan[b, Sqrt[c^2 + d^2]], v = ArcTan[c, d]}, 
          s = Sin[r t]; 
(a^2 + b^2 + c^2 + d^2)^(r/
                  2) {Cos[r t], s Cos[u], s Sin[u] Cos[v], 
              s Sin[u] Sin[v]}];

9.13 Substitutions  fa,  fp, alph, power2, pow2, power3, fromAlph, fromZtoCliff, linearFactor, s2, s3, s4, pr1, pr2 .

fp[g_, p_:  power2] /; Head[g] === TraditionalForm := 
        fp[g[[1]], p];
fp[g_?indexTableQ, p_:  pow2] := 
      Module[{pp = p, lg = Length[g], lp = Length[p]}, 
        pp = If[lp < lg, Flatten[Append[pp, Table[0, {i, lg - lp}]]], 
            Take[pp, lg]]; pa = Factor[Det[gmap[g, pp]]]; 
        If[Length[fp] > 1 && fp[[1]] == -1, -pa, pa, pa]]; 
    fa[g_] /; Head[g] === TraditionalForm := 
      fa[g[[1]]];
fa[g_?indexTableQ] := 
        If[Length[g] < 13, 
          Flatten[If[(pa = 
                      Factor[Det[
                          gmap[g, 
                            alph]]])[[1]] == -1, -pa, pa, 
              pa]], Print["Too Long for fa"]; Abort[]];

alph = {a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, 
          u, v, w, x, y, 
          z, α, β, γ, δ, ε, ζ, η, θ, Θ, ι, κ, λ, μ, ν, ξ, Ξ, ϖ, Π, ρ, ϱ, σ, Σ, τ, υ, Υ, ϕ, φ, Φ, χ, ψ, Ψ, Ω, Ϟ, ϡ, Ϡ, ∅, ℧, a, a, b, c, 
          d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, 
          z, α, β, γ, δ, ε, ζ, η, θ, Θ, ι, κ, λ, μ, ν, ξ, Ξ, ϖ, Π, ρ, ϱ, σ, Σ, τ, υ, Υ, ϕ, φ, Φ, χ, ψ, Ψ, ω, Ω, Ϟ, ϡ, Ϡ, ∅, ℧, ℘, a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, 
          r, s, t, u, v, w, x, y, 
          z, α, β, γ, δ, ε, ζ, η, θ, Θ, ι, κ, λ, μ, ν, ξ, Ξ, ϖ, Π, ρ, ϱ, σ, Σ, τ, υ, Υ, ϕ, φ, Φ, χ, ψ, Ψ, ω, Ω, Ϟ, ϡ, Ϡ, ∅, ℧, a, a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, 
          w, x, y, 
          z, α, β, γ, δ, ε, ζ, η, θ, Θ, ι, κ, λ, μ, ν, ξ, Ξ, ϖ, Π, ρ, ϱ, σ, Σ, τ, υ, Υ, ϕ, φ, Φ, χ, ψ, Ψ, ω, Ω, Ϟ, ϡ, Ϡ, ∅, ℧, a};

\(alpha = {"a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", "α", "β", "γ", "δ", "ε", "ζ", "η", "θ", "Θ", "ι", "κ", "λ", "μ", "ν", "ξ", "Ξ", "ϖ", "Π", "ρ", "ϱ", "σ", "Σ", "τ", "υ", "Υ", "ϕ", "φ", "Φ", "χ", "ψ", "Ψ", "ω", "Ω", "Ϟ", "ϡ", "Ϡ", "∅", "℧", "a", "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", "α", "β", "γ", "δ", "ε"};  (*unique\ Length\ 64, \ 
      useable\ lengths\ 96*) 
pow2 = 
      Flatten[Prepend[Table[2\^i, {i, 0, 50}], {a}]];\)
power2 = 
      Flatten[Prepend[Table[(2^i), {i, 0, 50}], {"a", 3, 7}]]; 
    power3 = Flatten[
        Prepend[Table[(3^i), {i, 0, 32}], {"a", 2, 
            4}]];
\(cliff = {e, a, b, ab, c, ac, 
        bc, abc, d, ad, bd, abd, cd, acd, bcd, abcd, f, af, bf, abf, cf, acf, 
        bcf, abcf, df, adf, bdf, abdf, cdf, acdf, bcdf, abcdf};  (*\ 
      scalar, \ univector, \ bivector, \ trivector, \ 
      etc . \ Clifford\ algebra\ elements\ *) 

    fromAlph[Null] := {};\)
fromAlph[vec_?VectorQ, 
        a_:  alph] := 
      Table[a[[ii]] -> vec[[ii]], {ii, Length[vec]}]; 
    fromZtoCliff[a_, B_:  cliff, Z_:  Range[32]] := 
      a /. Flatten[
          Table[{Z[[ii]] -> 
                B[[ii]], -Z[[ii]] -> -B[[ii]]}, {ii, 
              Length[B]}]]; 
    linearFactor[f_, l_:  mm] := 
      Module[{res = Take[alph, l], po = fromAlph[Take[pow2, l]]}, 
        Do[If[Plus @@ (res /. po) - f >= 2  pow2[[ii]], 
            res[[ii]] *= -1], {ii, l, 0, -1}]; 
        Plus @@ res]
SetAttributes[linearFactor, Listable]

\(\(\( (*\ 
      Permutation\ Lists\ *) \)\(
\)\(s3 = {{2, 1, 3}, {3, 
          1, 2}}; s4 = {{2, 1, 3, 4}, {1, 2, 4, 3}, {1, 4, 2, 3}, {3, 4, 1, 
          2}, {2, 3, 4, 1}};

    \(s5 = {{2, 1, 3, 4, 5}, {1, 2, 4, 5, 3}, {2, 3, 4, 1, 5}, {1, 4, 5, 2, 
            3}, {3, 4, 5, 1, 2}, {2, 3, 4, 5, 1}, {3, 4, 1, 2, 5}, {1, 2, 4, 
            3, 5}};\)\)\)\)

\(\(\( (*\ vecs\ pr1, \ 
      pr2\ that\ usually\ give\ good\ factorizations\ *) \)\(
\)\(\(pr1 = {1, 2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 37, 
          41, 43, 47, 61, 67, 53, 73, 79, 83, 59, 31, 103, 107, 109, 113, 
          127, 131, 137, 139, 149, 151, 157, 163, 167, 173, 179, 181, 191, 
          193, 197, 199, 211, 223, 227, 229, 233, 239, 241, 251, 257, 263, 
          269, 271, 277, 281, 283, 293, 307, 311, 313, 317, 331};\)

    \(pr2 = {1, 3, 7, 5, 7, 11, 13, 17, 19, 23, 31, 29, 61, 37, 43, 41, 53, 
          47, 61, 59, 73, 67, 79, 71, 83, 89, 97, 101, 103, 107, 109, 113, 
          127, 131, 137, 139, 149, 151, 157, 163, 167, 173, 179, 181, 191, 
          193, 197, 199, 211, 223, 227, 229, 233, 239, 241, 251, 257, 263, 
          269, 271, 277, 281, 283, 293};\)\)\)\)

9.14 Matrix Group Data u2, u3, u4.

These have been moved from Section 4 to prevent them being included in function definitions such as ms until they are needed. They are unitary monomial matrices that dot multiply to give groups.

u2 = {{{-1, 0}, {0, -1}}, {{1, 
              0}, {0, -1}}, {{0, -I}, {I, 
              0}}, {{0, 1}, {1, 
              0}}, {{0, 𝕁}, {(𝕁^2), 0}}, {{𝕜, 
              0}, {0, 𝕜}}, {{0, (𝕟^4)}, {(𝕟^3), 0}}, {{𝕞, 
              0}, {0, 𝕞}}, {{0, 𝕀}, {(𝕀^3), 0}}, {{𝕁, 
              0}, {0, (𝕁^2)}}, {{𝕐, 
              0}, {0, (𝕐^2)}}, {{I, 
              0}, {0, I}}, {{0, I}, {I, 
              0}}, {{0, -1}, {1, 
              0}}, {{0, (𝕁^2)}, {-𝕁, 0}}, {{𝕀, 
              0}, {0, (𝕀^3)}}, {{0, -(𝕠^3)}, {(𝕠^5), 0}}, {{𝕡, 
              0}, {0, (𝕡^4)}}, {{𝕙, 
              0}, {0, (𝕙^5)}}, {{(𝕁^2), 
              0}, {0, -𝕁}}, {{𝕘, 
              0}, {0, (𝕘^6)}}, {{𝕠, 
              0}, {0, (𝕠^7)}}, {{𝕟, 
              0}, {0, (𝕟^8)}}, {{0, 1}, {-1, 
              0}}, {{0, 𝕁}, {-𝕁^2, 
              0}}, {{0, 𝕜}, {-𝕜, 
              0}}, {{0, 𝕝}, {-𝕝, 
              0}}, {{0, 𝕞}, {-𝕞, 
              0}},  {{0, 1}, {I, 0}}, {{1, 
              0}, {0, 𝕤}}, {{0, 1}, {𝕤, 
              0}}, {{0, 1}, {𝕁, 
              0}}, {{𝕐, 0}, {0, 1}}, {{I, 
              0}, {0, -I}}, {{0, 
              1}, {𝕀, 0}}};

u3 = {{{-1, 0, 0}, {0, -1, 0}, {0, 0, -1}}, {{1, 0, 
              0}, {0, 0, 1}, {0, 1, 0}}, {{1, 0, 0}, {0, 𝕜, 
              0}, {0, 0, 𝕜}}, {{-1, 0, 
              0}, {0, -𝕜, 0}, {0, 
              0, -𝕜}}, {{0, 1, 0}, {1, 0, 0}, {0, 0, 
              1}}, {{0, -1, 0}, {-1, 0, 0}, {0, 
              0, -1}}, {{0, 𝕁, 
              0}, {(𝕁^2), 0, 0}, {0, 0, 1}}, {{1, 0, 
              0}, {0, 𝕁, 0}, {0, 
              0, (𝕁^2)}}, {{0, 
              0, 𝕁}, {𝕁, 0, 
              0}, {0, 𝕁, 0}}, {{0, 0, 1}, {1, 0, 
              0}, {0, 1, 0}}, {{0, 0, I}, {I, 0, 
              0}, {0, -1, 0}}, {{𝕁, 0, 
              0}, {0, 𝕁, 0}, {0, 
              0, 𝕁}}, {{0, 0, 1}, {0, 1, 0}, {-1, 
              0, 0}}, {{0, 0, I}, {0, 1, 0}, {I, 0, 
              0}}, {{1, 0, 0}, {0, I, 0}, {0, 
              0, -I}}, {{1, 0, 0}, {0, (𝕡^2), 
              0}, {0, 0, (𝕡^3)}}, {{-𝕁, 0, 0}, {0, -𝕁, 
              0}, {0, 0, -𝕁}}, {{-1, 0, 
              0}, {0, -𝕁, 0}, {0, 
              0, -(𝕁^2)}}, {{(𝕁^2), 0, 0}, {0, 
              0, (𝕁^2)}, {0, (𝕁^2), 
              0}}, {{0, 0, -I}, {-I, 0, 
              0}, {0, 1, 0}}, {{0, 1, 0}, {0, 0, 1}, {-1, 0, 
              0}}, {{𝕁, 0, 
              0}, {0, -𝕁, 0}, {0, 
              0, -𝕁}}, {{0, 
              0, -𝕁}, {-𝕁, 0, 0}, {0, -𝕁, 
              0}}, {{1, 0, 0}, {0, (𝕘^2), 0}, {0, 
              0, (𝕘^5)}}, {{0, 1, 0}, {I, 0, 
              0}, {0, 0, I}}, {{I, 0, 0}, {0, 0, 
              1}, {0, I, 0}}, {{𝕠, 0, 0}, {0, 1, 
              0}, {0, 0, (𝕠^7)}}, {{1, 0, 
              0}, {0, (𝕟^4), 0}, {0, 
              0, (𝕟^5)}}, {{-1, 0, 
              0}, {0, -(𝕡^2), 0}, {0, 
              0, -(𝕡^3)}}, {{-1, 0, 
              0}, {0, -(𝕘^2), 0}, {0, 
              0, -(𝕘^5)}}, {{-1, 0, 
              0}, {0, -(𝕟^4), 0}, {0, 
              0, -(𝕟^5)}}, {{1, 0, 
              0}, {0, 𝕐, 0}, {0, 
              0, (𝕐^2)}}, {{𝕟, 0, 
              0}, {0, 𝕟, 0}, {0, 
              0, (𝕟^7)}}, {{0, -1, 0}, {1, 0, 0}, {0, 0, 
              1}}, {{0, -1, 0}, {0, 0, -1}, {1, 0, 0}}, {{1, 0, 
              0}, {0, 0, -1}, {0, 1, 0}}, {{0, 𝕡, 
              0}, {(𝕡^3), 0, 0}, {0, 
              0, (𝕡^2)}}, {{-1, 0, 0}, {0, 1, 0}, {0, 
              0, -1}}, {{0, 0, -1}, {0, 1, 0}, {1, 0, 0}}, {{1, 0, 
              0}, {0, -1, 0}, {0, 0, 1}}, {{0, 0, 1}, {0, -1, 
              0}, {-1, 0, 0}}, {{0, 0, -1}, {0, -1, 0}, {1, 0, 
              0}}, {{I, 0, 0}, {0, I, 0}, {0, 
              0, I}}, -{{I, 0, 
                0}, {0, I, 0}, {0, 0, I}}, {{0, 1, 
              0}, {0, 0, I}, {1, 0, 0}}, {{0, I, 
              0}, {0, 0, I}, {I, 0, 
              0}}, {{0, 𝕤, 0}, {0, 0, 1}, {1, 0, 
              0}}};

u4 = {{{1, 0, 0, 0}, {0, 1, 0, 0}, {0, 0, -1, 0}, {0, 0, 
              0, -1}}, {{0, 1, 0, 0}, {1, 0, 0, 0}, {0, 0, -1, 
              0}, {0, 0, 0, -1}}, {{1, 0, 0, 0}, {0, 0, -1, 
              0}, {0, -1, 0, 0}, {0, 0, 0, 1}}, {{0, 1, 0, 0}, {1, 0, 0, 
              0}, {0, 0, 0, 1}, {0, 0, 1, 0}}, {{-1, 0, 0, 0}, {0, 1, 0, 
              0}, {0, 0, -1, 0}, {0, 0, 0, 1}}, {{1, 0, 0, 
              0}, {0, -1, 0, 0}, {0, 0, -1, 0}, {0, 0, 0, 1}}, {{0, 
              0, 1, 0}, {0, 0, 0, -1}, {1, 0, 0, 0}, {0, -1, 0, 
              0}}, {{1, 0, 0, 0}, {0, 1, 0, 0}, {0, 
              0, 𝕁, 0}, {0, 0, 
              0, (𝕁^2)}}, {{0, 0, -1, 0}, {1, 0, 0, 
              0}, {0, -1, 0, 0}, {0, 0, 0, 1}}, {{1, 0, 0, 0}, {0, 0, 
              0, 𝕁}, {0, 𝕁, 0, 
              0}, {0, 0, 𝕁, 0}}, {{1, 0, 0, 
              0}, {0, 𝕁, 0, 0}, {0, 
              0, 𝕁, 0}, {0, 0, 
              0, 𝕁}}, {{1, 0, 0, 0}, {0, -1, 0, 
              0}, {0, 0, I, 0}, {0, 0, 0, I}}, {{0, 
              0, -1, 0}, {0, 0, 0, -1}, {0, 1, 0, 0}, {1, 0, 0, 
              0}}, {{0, 0, 0, -1}, {0, 0, 1, 0}, {0, -1, 0, 0}, {1, 
              0, 0, 0}}, {{0, 0, -1, 0}, {0, 0, 0, 1}, {1, 0, 0, 
              0}, {0, -1, 0, 0}}, {{0, -1, 0, 0}, {1, 0, 0, 0}, {0, 
              0, 0, -1}, {0, 0, 1, 0}}, {{1, 0, 0, 
              0}, {0, 𝕡, 0, 0}, {0, 0, (𝕡^2), 
              0}, {0, 0, 0, (𝕡^2)}}, {{0, 1, 0, 0}, {0, 
              0, -1, 0}, {-1, 0, 0, 0}, {0, 0, 0, -1}}, {{1, 0, 
              0, 0}, {0, 𝕙, 0, 0}, {0, 0, (𝕙^2), 
              0}, {0, 0, 0, (𝕙^3)}}, {{𝕘, 0, 0, 
              0}, {0, 𝕘, 0, 0}, {0, 0, (𝕘^2), 
              0}, {0, 0, 0, (𝕘^3)}}, {{1, 0, 0, 0}, {0, 
              0, -I, 0}, {0, -1, 0, 0}, {0, 0, 
              0, I}}, {{1, 0, 0, 0}, {0, 1, 0, 0}, {0, 
              0, (𝕠^3), 0}, {0, 0, 
              0, (𝕠^5)}}, {{1, 0, 0, 0}, {0, 𝕟, 
              0, 0}, {0, 0, (𝕟^4), 0}, {0, 0, 
              0, (𝕟^4)}}, {{1, 0, 0, 0}, {0, 
              0, -(𝕡^2), 0}, {0, -𝕡, 0, 
              0}, {0, 0, 0, (𝕡^2)}}, {{-1, 0, 0, 
              0}, {0, -𝕡, 0, 0}, {0, 
              0, -(𝕡^2), 0}, {0, 0, 
              0, -(𝕡^2)}}, {{0, 0, -I, 
              0}, {1, 0, 0, 0}, {0, -1, 0, 0}, {0, 0, 
              0, I}}, {{0, 0, 𝕁, 0}, {0, 0, 
              0, (𝕁^2)}, {-1, 0, 0, 0}, {0, -1, 
              0, 0}}, {{0, 0, -(𝕡^2), 0}, {1, 0, 0, 
              0}, {0, -𝕡, 0, 0}, {0, 0, 
              0, (𝕡^2)}}, {{0, 0, 0, 1}, {0, 0, 1, 
              0}, {0, -1, 0, 0}, {-1, 0, 0, 0}}, {{0, 0, 
              0, -I}, {0, 0, I, 
              0}, {0, I, 0, 0}, {-I, 0, 0, 
              0}}, {{0, 0, 1, 0}, {0, 0, 0, -1}, {-1, 0, 0, 0}, {0, 
              1, 0, 0}}, {{0, 0, 0, 1}, {0, 0, 1, 0}, {0, 1, 0, 0}, {1, 0, 0, 
              0}}, {{0, 𝕁, 0, 
              0}, {𝕁, 0, 0, 0}, {0, 0, 0, 1}, {0, 
              0, 𝕁, 0}}, {{0, 
              0, 𝕁, 0}, {0, 0, 
              0, (𝕁^2)}, {(𝕁^2), 0, 
              0, 0}, {0, 𝕁, 0, 0}}, {{0, 1, 0, 0}, {1, 
              0, 0, 0}, {0, 0, 0, -1}, {0, 0, -1, 0}}, {{0, 1, 0, 
              0}, {0, 0, 0, -1}, {-1, 0, 0, 0}, {0, 0, 1, 
              0}}, 
{{0, 1, 0, 0}, {0, 0, 1, 0}, {0, 0, 0, 
              1}, {-1, 0, 0, 0}}, {{0, -I, 0, 
              0}, {I, 0, 0, 0}, {0, 0, 
              0, -I}, {0, 0, I, 0}}, {{0, 
              0, -I, 0}, {0, 0, 
              0, -I}, {I, 0, 0, 
              0}, {0, I, 0, 0}}, {{0, 0, 1, 0}, {0, 0, 0, 1}, {1, 
              0, 0, 0}, {0, 1, 0, 0}}, {{0, 0, -1, 0}, {0, 0, 
              0, -1}, {1, 0, 0, 0}, {0, 1, 0, 0}}, {{0, 0, 0, 1}, {0, 
              0, -1, 0}, {0, -1, 0, 0}, {1, 0, 0, 0}}, {{0, 1, 0, 
              0}, {-1, 0, 0, 0}, {0, 0, 0, 1}, {0, 0, -1, 0}}, {{0, 
              0, 0, -1}, {0, 0, -1, 0}, {0, 1, 0, 0}, {1, 0, 0, 
              0}}, {{0, 𝕤, 0, 0}, {0, 0, 0, 1}, {1, 0, 0, 
              0}, {0, 0, 1, 0}}};

9.16 Generalized multi-phase Sinusoids genCos, genSin..

genCos[x_, m_:  4, j_:  0] := 
      Which[m == 0, 
        j ((E^( x)) + (E^(-x)))/2, 
        m == 2, Re[(E^x) + (((-1))^j) (E^( -x))]/2, 
True, 
        Re[(((-1))^(2 (m - j)/
                    m)) (E^(I Im[(((-1))^(2/m))] x))]]
genSin[x_, m_:  4, j_:  0] := 
      Which[m == 
          0, ((E^( x)) - (E^(-x)))/
          2, m == 2, 
        Re[(((-1))^j) (E^( x)) - (E^(-x))]/2, 
True, 
        Im[(((-1))^(2 (m - j)/
                    m)) (E^(I Im[(((-1))^(2/m))] x))]]

10. Protect system symbols, end private context. Unprotect some exported symbols, end package context.

Protect[Evaluate[protected]];

End[];

Protect[Evaluate[$Context <> "*"]];

Unprotect[ a1, a2, a2, a3, a4, ab, aa, abc, abef, agek, ai, ap, ar, 
        as, azx, ayz, A, Ai, AiBA, AiAB, Am, Ap,  b1, b2, b3, b4, bb, bc, B, 
        AB, BA, c1, c2, c3, c4, cr, d1, da, dab, db, de, dozaltest, e1, e2, 
        ef, f2, fa, ff, fi, fj, fn, fp, G, g1, g2, gf, gg, glo, globa, genel, 
        gi, gmn, gp, h1, hoopList, hh, i1, i2, ii, im, in, jj, kk, l22a, 
        l22b, l3, l4, l4p, l4q, l4r, l4s, la, ll, lm, lp, lr, ls, lt, m1, mi, 
        matel, mm, nn, nb, no, np, nw, nx, ok, o1, o2, o3, o4, oo, p1, p2, 
        p22, p23, p26, pa, pb, pab, papb, pba, pi, po, permel, plex, pp, ps, 
        q22, q23, q24, q26, qq, res, result, 𝕣, R1, R2, Rl, 
        Rr, r22, r23, r26, rhs, rr, sab, sh, sg, s1, s2, s5, s22, s23, s24, 
        s26, si, sij, sm, ss, strep, temp, test, tes, tf, ts, uu, var, vec, 
        vf, vv, x2, x4, xy, y2, z, L3, L1a, L1b, L1c, L1d, L22, L23a, L23b, 
        L23c, L23d, L26a, L26b, L26c, L26d, L4, L24Q, L24σ, L4Q, 
        L4σ, L49, L49a, L49b, L49c, L4a3, L4b3, L4c3, L4d3, L4a6, 
        L4b6, L4c6, 
        L4d6  ];

EndPackage[];