A logical matrix, binary matrix, relation matrix, Boolean matrix, or (0, 1)-matrix is a matrix with entries from the Boolean domain Such a matrix can be used to represent a binary relation between a pair of finite sets. It is an important tool in combinatorial mathematics and theoretical computer science.
If R is a binary relation between the finite indexed sets X and Y (so), then R can be represented by the logical matrix M whose row and column indices index the elements of X and Y, respectively, such that the entries of M are defined by
mi,j= \begin{cases} 1&(xi,yj)\inR,\\ 0&(xi,yj)\not\inR.\end{cases}
In order to designate the row and column numbers of the matrix, the sets X and Y are indexed with positive integers: i ranges from 1 to the cardinality (size) of X, and j ranges from 1 to the cardinality of Y. See the article on indexed sets for more detail.
The binary relation R on the set is defined so that aRb holds if and only if a divides b evenly, with no remainder. For example, 2R4 holds because 2 divides 4 without leaving a remainder, but 3R4 does not hold because when 3 divides 4, there is a remainder of 1. The following set is the set of pairs for which the relation R holds.
.The corresponding representation as a logical matrix is
\begin{pmatrix} 1&1&1&1\\ 0&1&0&1\\ 0&0&1&0\\ 0&0&0&1 \end{pmatrix},
which includes a diagonal of ones, since each number divides itself.
The matrix representation of the equality relation on a finite set is the identity matrix I, that is, the matrix whose entries on the diagonal are all 1, while the others are all 0. More generally, if relation R satisfies then R is a reflexive relation.
If the Boolean domain is viewed as a semiring, where addition corresponds to logical OR and multiplication to logical AND, the matrix representation of the composition of two relations is equal to the matrix product of the matrix representations of these relations.This product can be computed in expected time O(n2).[2]
\bold{GF}(2)=Z2
The number of distinct m-by-n binary matrices is equal to 2mn, and is thus finite.
Let n and m be given and let U denote the set of all logical m × n matrices. Then U has a partial order given by
\forallA,B\inU, A\leqB when \foralli,j Aij=1\impliesBij=1.
In fact, U forms a Boolean algebra with the operations and & or between two matrices applied component-wise. The complement of a logical matrix is obtained by swapping all zeros and ones for their opposite.
Every logical matrix has a transpose Suppose A is a logical matrix with no columns or rows identically zero. Then the matrix product, using Boolean arithmetic,
A\operatorname{T
AA\operatorname{T
As a mathematical structure, the Boolean algebra U forms a lattice ordered by inclusion; additionally it is a multiplicative lattice due to matrix multiplication.
Every logical matrix in U corresponds to a binary relation. These listed operations on U, and ordering, correspond to a calculus of relations, where the matrix multiplication represents composition of relations.[3]
If m or n equals one, then the m × n logical matrix (mij) is a logical vector or bit string. If m = 1, the vector is a row vector, and if n = 1, it is a column vector. In either case the index equaling 1 is dropped from denotation of the vector.
Suppose
(Pi),i=1,2,\ldots,m
(Qj),j=1,2,\ldots,n
mij=Pi\landQj.
Let h be the vector of all ones. Then if v is an arbitrary logical vector, the relation R = v hT has constant rows determined by v. In the calculus of relations such an R is called a vector.[4] A particular instance is the universal relation
hh\operatorname{T
For a given relation R, a maximal rectangular relation contained in R is called a concept in R. Relations may be studied by decomposing into concepts, and then noting the induced concept lattice.
Consider the table of group-like structures, where "unneeded" can be denoted 0, and "required" denoted by 1, forming a logical matrix
R.
RR\operatorname{T
RR\operatorname{T
Adding up all the ones in a logical matrix may be accomplished in two ways: first summing the rows or first summing the columns. When the row sums are added, the sum is the same as when the column sums are added. In incidence geometry, the matrix is interpreted as an incidence matrix with the rows corresponding to "points" and the columns as "blocks" (generalizing lines made of points). A row sum is called its point degree, and a column sum is the block degree. The sum of point degrees equals the sum of block degrees.[5]
An early problem in the area was "to find necessary and sufficient conditions for the existence of an incidence structure with given point degrees and block degrees; or in matrix language, for the existence of a (0, 1)-matrix of type v × b with given row and column sums".[5] This problem is solved by the Gale–Ryser theorem.