Seek Solutions of Polyomino Monohedral Tiling

**POLYOMINO_MONOHEDRAL**,
a MATLAB library which
is given matrices defining a region R and a polyomino P; it sets up
the corresponding linear system, and solves for
binary solutions x that represent possible tilings of the region R by
the polyomino P.

A region R is a subset of an MRxNR grid of squares.

A polyomino P is a subset of an MPxNP grid of squares.

Both objects are represented by binary matrices, with the property that there are no initial or final zero rows or columns.

The computer code and data files described and made available on this web page are distributed under the GNU LGPL license.

**polyomino_monohedral** is available in
a MATLAB version.

- i4mat_is_binary.m, is TRUE if an I4MAT contains only 0 and 1 entries.
- ksub_next4.m, returns, one at a time, all the K-subsets of a set.
- polyomino_condense.m, cleans up a matrix that represents a polyomino by setting all nonzero entries to 1, and removing initial and final rows and columns of zeros.
- polyomino_embed_list.m, for each possible embedding, lists the translation necessary to to apply to the polyomino.
- polyomino_embed_number.m, reports the number of ways a polyomino can be embedded in a region.
- polyomino_equal.m, is true if two polyominoes are equal.
- polyomino_index.m, computes an index for each nonzero polyomino entry.
- polyomino_lp_write.m, writes an LP file describing a particular problem.
- polyomino_monohedral.m, sets up and solves a polyomino monohedral tiling problem.
- polyomino_monohedral_matrix.m, determines the matrix and right hand side for a polyomino monohedral problem.
- polyomino_monohedral_tiling_print.m, prints a tiling of a region R by a polyomino P, based on a solution computed by polyomino_monohedral.
- polyomino_monohedral_variants.m, carries out reflections and rotations of a polyomino to determine which transformations yield distinct variants.
- polyomino_print.m, prints a polyomino.
- polyomino_transform.m, carries out reflections and rotations of a polyomino.
- r8mat_rref.m, returns the reduced row echelon form of an R8MAT.
- r8mat_rref_solve_binary_nz.m, seeks binary solutions (if any) of a row reduced echelon form linear system in which exactly NZ entries are nonzero.
- r8mat_u_solve.m, solves an upper triangular linear system.
- r8vec_identity_row.m, returns a row of the identity matrix as an R8VEC.
- r8vec_is_binary.m, is true if all entries of an R8VEC are 0 or 1.
- timestamp.m, prints the YMDHMS date as a timestamp.