is.square.palindromic: Is a square matrix square palindromic?

Description Usage Arguments Details Value Note Author(s) References Examples

Description

Implementation of various properties presented in a paper by Arthur T. Benjamin and K. Yasuda

Usage

1
2
3

Arguments

m

The square to be tested

base

Base of number expansion, defaulting to 10; not relevant for the “sufficient” part of the test

give.answers

Boolean, with TRUE meaning to return additional information

Details

The following tests apply to a general square matrix m of size n*n.

Value

These functions return a list of Boolean variables whose value depends on whether or not m has the property in question.

If argument give.answers takes the default value of FALSE, a Boolean value is returned that shows whether the sufficient conditions are met.

If argument give.answers is TRUE, a detailed list is given that shows the status of each individual test, both for the necessary and sufficient conditions. The value of the second element (named necessary) is the status of their Theorem 1 on page 154.

Note that the necessary conditions do not depend on the base b (technically, neither do the sufficient conditions, for being a square palindrome requires the sums to match for every base b. In this implementation, “sufficient” is defined only with respect to a particular base).

Note

Every associative square is square palindromic, according to Benjamin and Yasuda.

Function is.square.palindromic() does not yet take a give.answers argument as does, say, is.magic().

Author(s)

Robin K. S. Hankin

References

Arthur T. Benjamin and K. Yasuda. Magic “Squares” Indeed!, American Mathematical Monthly, vol 106(2), pp152-156, Feb 1999

Examples

1
2
3
4
5
6
is.square.palindromic(magic(3))
is.persymmetric(matrix(c(1,0,0,1),2,2))

#now try a circulant:
a <- matrix(0,5,5)
is.square.palindromic(circulant(10))  #should be TRUE

magic documentation built on May 2, 2019, 12:21 p.m.