function [ a, b ] = polyomino_monohedral_example_reid_system ( )

%*****************************************************************************80
%
%% POLYOMINO_MONOHEDRAL_EXAMPLE_REID_SYSTEM sets up the Reid linear system.
%
%  Discussion:
%
%    This function sets up the linear system A*x=b associated with
%    the Reid polyomino tiling problem.
%
%    While it is desirable to have a general procedure that can automatically
%    deduce the linear system from the problem specification, for simplicity
%    in this example, we simply provide the linear system directly.
%
%  Licensing:
%
%    This code is distributed under the GNU LGPL license.
%
%  Modified:
%
%    16 May 2018
%
%  Author:
%
%    John Burkardt
%
%  Parameters:
%
%    Output, real A(9,10), the system matrix.
%
%    Output, real B(9), the right hand side.
%

%
%  Covering conditions.
%
  a1 = [ ...
    1,0,0,0,0,1,0,0,0,0; ...
    1,0,0,0,0,0,1,0,0,0; ...
    0,1,0,0,0,1,0,1,0,0; ...
    0,1,1,0,0,0,1,0,1,0; ...
    0,0,1,0,0,0,0,0,0,1; ...
    0,0,0,1,0,0,0,1,0,0; ...
    0,0,0,1,1,0,0,0,1,0; ...
    0,0,0,0,1,0,0,0,0,1 ];

  b1 = [ 1;1;1;1;1;1;1;1];

%
%  Area matching condition.
%
  a2 = [ ...
    2,2,2,2,2,2,2,2,2,2];
  b2 = [8];
%
%  Combined system.
%
  a = [ a1; a2 ];
  b = [ b1; b2 ];

  return
end

