allsums {magic}R Documentation

Row, column, and two diagonal sums of arrays

Description

Returns all rowsums, all columnsums, and all (broken) diagonal sums of a putative magic square.

Usage

allsums(m,FUN=sum)

Arguments

m The square to be tested
FUN Function, defaulting to sum, to be applied to the square rowwise, columnwise, and diagonalwise

Value

Returns a list of four elements. In the following, “sums” means “the result of applying FUN()”.

rowsums All n row sums
colsums All n column sums
majors All n broken major diagonals (northwest-southeast). First element is the long (unbroken) major diagonal, tested by is.magic()
minors All n broken minor diagonals (northeast-southwest). First element is the long (unbroken) minor diagonal.

Note

If FUN() returns a vector, then the columns of the four elements are the result of applying FUN(). See third example below.

Used by is.magic() et seq.

Author(s)

Robin K. S. Hankin

See Also

is.magic,is.semimagic,is.panmagic

Examples

allsums(magic(7))
allsums(magic(7),FUN=max)
allsums(magic(7),FUN=function(x){x[1:2]})
  # shows how the minor diagonals are ordered: first [1,n] to [n,1] then
  # [1,n+1] to [n,2] etc.

allsums(magic.prime(7),sort)
  # beware! compare apply(magic(7),1,sort) with apply(magic(7),2,sort)


[Package magic version 1.4-4 Index]