R: Creates magic squares

magic {magic} | R Documentation

## Creates magic squares

### Description

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

### Usage

    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.

### See Also

`magic.2np1`, `magic.prime`, `magic.4np2`, `magic.4n`,`lozenge`, `as.standard`, `force.integer`

### Examples

    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])

[Package magic version 1.5-6 Index]