magic: Creates magic squares In magic: Create and Investigate Magic Squares

Description

Creates normal magic squares of any order >2. Uses the appropriate method depending on n modulo 4.

Usage

 `1` ```magic(n) ```

Arguments

 `n` Order of magic square. If a vector, return a list whose i-th element is a magic square of order `n[i]`

Details

Calls either `magic.2np1()`, `magic.4n()`, or `magic.4np2()` depending on the value of `n`. Returns a magic square in standard format (compare the `magic.2np1()` et seq, which return the square as generated by the direct algorithm).

Author(s)

Robin K. S. Hankin

References

William H. Benson and Oswald Jacoby. New recreations with magic squares. Dover 1976.

`magic.2np1`, `magic.prime`, `magic.4np2`, `magic.4n`,`lozenge`, `as.standard`, `force.integer`
 ```1 2 3 4 5 6 7 8``` ```magic(6) all(is.magic(magic(3:10))) ## The first eigenvalue of a magic square is equal to the magic constant: eigen(magic(10),FALSE,TRUE)\$values[1] - magic.constant(10) ## The sum of the eigenvalues of a magic square after the first is zero: sum(eigen(magic(10),FALSE,TRUE)\$values[2:10]) ```