The Hypercube Language  

The keywords below define the voriuos sections of the files, each section is expected to end with an END keyword line, both these lines are supposed to be a whole line In principle any number of lines can be put in between (program limits this however) 

keyword  description  
AUTHOR 
section to identify the files author date and versioning of the hypercube file can be written down here as are email addressses to enable discussions with the files author 

DEFINING 
this sections defines the entire figure currently only figure defined is HYPERCUBE(dim,order) written on the line just after the keyword with dim and order numbers defining the figures dimension and order 

ALIAS 
in this section used shorthand can be combined with their definition in another file (for now) name #INCLUDE definition file name (production) not yet implemented but possible 

SUBJECT 
in this section the files author enters special remarks about the defined hypercabe, these remarks will be output 

PRESCRIPTIONS 
after this keyword the program expect a list of named productions name production the name identifies the production and is selectable by tat name (intended for use in include files for one line production) 

PRESCRIPTION [name] 
this keyword does the same as the previous keyword but is intended for more elaborate productions. The optional name calling allows for combining simular hypercubes within one file, the inface generate a dropdownlist to enabel selection by the user 

DESCRIPTION [name] 
This keyword allows for an explicit listing of an hypercube in numeric format. 

REPRESENTATION [name] 
This keyword allows for representing a hypercube by letters The optional name calling allows for combining simular hypercubes within one file, the interface generate a dropdownlist to enable selection by the user 

LAYER [list] 
Both descriptions and representation can consist of long list of lines with numbers, the program expects these to be in sequence, the layer keyword can make the file readable for humans. list consists of dim2 ',' seperated number, denoting the squares layer. 

ASSOCIATIONS 
This keyword combines the reprentation with user selectable association repr > assoc where repr is a ',' seperated list of latters and assoc a list of corresponding ',' seperated numbers. The '>' is part of the language 

QUALIFICATION 
This keyword allows to state the qualification of the given hypercube in a notation as is depicted in the qualifications article. (currently not yet implemented) 

not yet implemented but already reserved are the keyword CARPET an COLORISATION which allows to define grogono's carpets and colorisation, these keywords will become active once I refind the code for this production method. 

Although some sections can do without, currently it is good practice to end all sections with an "END KEYWORD" line 

PATTERN 
along simular lines as prescritions named patterns might be defined which the program needs to test in one liners (currently not yet implemented) 

PATTERN [name] 
defining a pattern to test in full layout using characters '0' and '1', where '1' defines the pattern element (currently not yet implemented) 
Hypercube Productions  

basic Productions (by name)  
name  dimension  orders  remark 
Skew_Matrix  2  odd 
these methods are solidly defined but limited to squares of mentioned order type 
Stracheys_Method  2  doubly odd  
Pan_Transform  all  doubly even  gives (Hollerenshaws "Most_Perfect") hypercubes 
BiPan_Transform  all  doubly even 
currrent implemetation seem to give bipanmagic figures when dimension is odd(??) 
Parametrized Productions  
name  dimension  orders  notation / remark 
KnightJump  all  odd 
<[pos],{v_{1}},..,{v_{n}}> pos and v's sequence of n ',' seperated numbers denoting position of '1' and needed vectors 
digit equations latin presciption 1digital equations 
all  all 
<{lp_{1}},..,{lp_{n}}> lp's sequence of n+1 ',' seperated numbers denoting component latin hypercubes change sequence of n seperated numbers denoting the used digit cange applied lp_{i} multipled by m^{ni} i=1..n 
pdigital equations  all 
powered (m^{p}) 
<{{lp_{1}},..,{lp_{m}}}_{1},..,{{lp_{1}},..,{lp_{m}}}_{p}> simular to above, lp sequences denoting order n hypercubes 
modifiers  
The modifiers are used to depict alterations of the object produced by a production Digit changing is quite commonly applied onto a latin hypercube The other modifiers can be used to depict a (grand)parential hypercube exactly or one of it's family members (see Isomorphisms article) 

component permutation 
all  all 
#[permutation] Permutation depicts a permutation of components The components needs be defined prior to this use such the permutation can be defined precisely 
digit changing  all  all 
=[change] change some permutation of the 'digit' 0 .. n1 which are substituted for the poduced digits mostly applied to all component latin hypercubes procuced by LP's (esp. for doubly even order) 
transposition  all  all 
^[permutation] permutation a sequence n ',' seperated digits denoting the permutation of the axes 
main nagonal permutation 
all  all 
_[permutation] permutation a sequence m ',' seperated numbers denoting the permutation of the main nagonal numbers 
reflection  all  all 
~[reflection] reflection a number in the range 0 .. 2^{n}1 each bit denotes a reflection 
pan relocaton  all  all 
@[location] location a sequence of n ',' seperated numbers denoting the position to panrelocate the number at position '0' of the described hypercube 
Compound Parametrized Productions  
The productions stated below are curently only defined and must be viewed as preliminairy, subject to change as the language gets implemented in furture programs 

name  dimension  orders  notation / remark 
multiplication  all 
multiplicative m1*m2 
{prod1} * {prod2} This (currently only defined) production rule is probably trivial, might however need to have named productions within the same file or need the ALIAS section stated 
doubling method  all  even 
{0prod}<{{prod}_{0}..{prod}_{k}}>[=[change]_{0},..,=[change]_{k}] This (currently only defined) production rule is probably only one of the possibilities the Hendricks/Trenkler doubling method can take, the digit changes are applied onto the hyperquadrant copies of the 0hyperagonal latin hypercube obtained by it;s production here depicted as {0prod}. Onto each hyperquadrant the above suggest the use if complete different (doubled order) hypercubes at each hyperquadrant depicted by its own production. 