strachey {magic} | R Documentation |
Strachey's algorithm for magic squares
Description
Uses Strachey's algorithm to produce magic squares of singly-even order.
Usage
strachey(m, square=magic.2np1(m))
Arguments
m |
magic square produced of order |
square |
magic square of order |
Details
Strachey's method essentially places four identical magic squares
of order 2m+1
together to form one of n=4m+2
. Then
0,n^2/4,n^2/2,3n^2/4
is added to each
square; and finally, certain squares are swapped from the top
subsquare to the bottom subsquare.
See the final example for an illustration of how this works, using a zero matrix as the submatrix. Observe how some 75s are swapped with some 0s, and some 50s with some 25s.
Author(s)
Robin K. S. Hankin
See Also
Examples
strachey(3)
strachey(2,square=magic(5))
strachey(2,square=magic(5)) %eq% strachey(2,square=t(magic(5)))
#should be FALSE
#Show which numbers have been swapped:
strachey(2,square=matrix(0,5,5))
#It's still magic, but not normal:
is.magic(strachey(2,square=matrix(0,5,5)))
[Package magic version 1.6-1 Index]