magicrect - Construct Magic Rectangles and Nearly Magic Rectangles
Constructs a magic rectangle or a nearly magic rectangle
of order p x q for every order for which one exists, together
with existence classification and verification utilities. A
magic rectangle arranges the integers 1 to p*q so that all row
sums are equal and all column sums are equal; it exists exactly
when p and q have the same parity, excluding 2 x 2 and
degenerate single-row/column cases (Hagedorn, 1999,
<doi:10.1016/S0012-365X(99)00041-2>). When p and q have
opposite parity a nearly magic rectangle exists instead, with
constant sums along one direction and sums differing by at most
one along the other (Chai, Singh and Stufken, 2019, Journal of
Combinatorial Designs 27(6), 368-376). Implements the
constructions of De Los Reyes, Das, Midha and Vellaisamy (2009)
for even by even orders, Chai, Das and Midha (2013) for odd by
odd orders, and Chai, Singh and Stufken (2019) for the nearly
magic (even by odd) case.