magic (version 1.5-9)

magic.2np1: Magic squares of odd order

Description

Function to create magic squares of odd order

Usage

magic.2np1(m, ord.vec = c(-1, 1), break.vec = c(1, 0), start.point=NULL)

Arguments

m

creates a magic square of order \(n=2m+1\)

ord.vec

ordinary vector. Default value of c(-1,1) corresponds to the usual northeast direction

break.vec

break vector. Default of c(1,0) corresponds to the usual south direction

start.point

Starting position for the method (ie coordinates of unity). Default value of NULL corresponds to row 1, column m

References

Written up in loads of places. The method (at least with the default ordinary and break vectors) seems to have been known since at least the Renaissance.

Benson and Jacoby, and the Mathematica website, discuss the problem with nondefault ordinary and break vectors.

See Also

magic, magic.prime

Examples

Run this code
# NOT RUN {
magic.2np1(1)
f <- function(n){is.magic(magic.2np1(n))}
all(sapply(1:20,f))

is.panmagic(magic.2np1(5,ord.vec=c(2,1),break.vec=c(1,3)))
# }

Run the code above in your browser using DataLab