Paths through the Hypercube | ||
---|---|---|
John R. Hendricks's "pathfinders" where defined to run through hyper-r-agonals, below defines a notation for these and other definable paths through a n-dimensional hypercube, an n-Point can be used to fix the starting point of a given path of any type, so this article is only concidering the path-form. |
||
1-agonal | m {<0r1s>} (r = 0.. m-1; r != s) | |
main n-agonal | m {<1r>} (r = 0.. m-1) | |
sub n-agnal | m {<1r-1s>} (r = 0.. m-1; s = 0.. m-1; r != s) | |
bent hyper-n-agonal |
m/2 {<vi; i = 0..n-1>,<wi; i = 0..n-1>} ; with: <v> * <w> = <0> both n-Vectors elements -1 and 1 only; henche these vectors are orthogonal |
|
knight jump paths | m {<vr>} (r = 0.. m-1; vr != 0) | |
bent knight jump paths |
m/2 {<vi; i = 0..n-1>,<wi; i = 0..n-1>} both n-Vectors no 0 elements (vectors need not be orthogonal) |
|
other paths |
{<vr>i} (r = 0.. m-1;) (path supposed to be non-circular in less than m steps) |
|
The number of vectors between the curly brackets is not yet defined (probably m), as suggested above repeated vectors can be indicated by preapending the number of repetitions, this number is multiplied by the "length-indicator" preappended before the curly brackets. (the mentioned non-circular condition just avoids double counting the same cell element in the same path). |
PathMagicness of Hypercubes | ||
---|---|---|
Stating magicness of paths means stating starting position n-points and a description of paths with n-vectors of course the entire set of n-points also defines the paths, using one or the other is a matter of what is convenient Below some samples of quite familiar situations introducing the (pan)Path(...) qualification keyword properly. |
||
semi magic square {monagonal[!]} |
{ Path([k,0]<0,1>;[0,k]<1,0> ; k=0..m-1) } { panPath(<0,1>;<1,0>) } |
|
magic square {magic} |
{ Path([k,0]<0,1>;[0,k]<1,0>;[0,0]<1,1>;[0,m-1]<1,-1> ; k=0..m-1) } | |
panmagic square {panmagic} |
{ Path([k,0]<0,1>;[0,k]<1,0>;[k,0]<1,1>;[k,m-1]<1,-1> ; k=0..m-1) } { panPath(<0,1>;<1,0>;<1,1>;<1,-1>) } |
|
Franklin square {Franklin} |
{ Path([k,0]<0,1>;[0,k]<1,0>;[k,0]<1,1>;[k,m-1]<1,-1> ; k=0..m-1 ; [k,l]{ m/2{<1,1>}, <1,0>, m/2{<1,-1>}, <1,0> } ; k=0..m-1,l=0,m/2 ; [l,k]{ m/2{<1,1>}, <0,1>, m/2{<-1,1>}, <0,1> } ; k=0..m-1,l=0,m/2 ) } (note: needs verification) |