| 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 dim-2 ',' 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],{v1},..,{vn}> pos and v's sequence of n ',' seperated numbers denoting position of '1' and needed vectors |
|
digit equations latin presciption 1-digital equations |
all | all |
<{lp1},..,{lpn}> lp's sequence of n+1 ',' seperated numbers denoting component latin hypercubes change sequence of n seperated numbers denoting the used digit cange applied lpi multipled by mn-i i=1..n |
| p-digital equations | all |
powered (mp) |
<{{lp1},..,{lpm}}1,..,{{lp1},..,{lpm}}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 .. n-1 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 n-agonal permutation |
all | all |
_[permutation] permutation a sequence m ',' seperated numbers denoting the permutation of the main n-agonal numbers |
| reflection | all | all |
~[reflection] reflection a number in the range 0 .. 2n-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 |
{prod-1} * {prod-2} 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 |
{0-prod}<{{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 0-hyperagonal latin hypercube obtained by it;s production here depicted as {0-prod}. Onto each hyperquadrant the above suggest the use if complete different (doubled order) hypercubes at each hyperquadrant depicted by its own production. |