<p><b>Abstract</b>—A matrix <it>A</it> of size <it>m</it>×<it>n</it> containing items from a totally ordered universe is termed <it>monotone</it> if, for every <it>i</it>, <it>j</it>, 1 ≤<it>i</it> < <it>j</it>≤<it>m</it>, the minimum value in row <it>j</it> lies below or to the right of the minimum in row <it>i</it>. Monotone matrices, and variations thereof, are known to have many important applications. In particular, the problem of computing the row minima of a monotone matrix is of import in image processing, pattern recognition, text editing, facility location, optimization, and VLSI. Our first main contribution is to exhibit a number of nontrivial lower bounds for matrix search problems. These lower bound results hold for arbitrary, infinite, two-dimensional reconfigurable meshes as long as the input is pretiled onto a contiguous <it>n</it>×<it>n</it> submesh thereof. Specifically, in this context, we show that every algorithm that solves the problem of computing the minimum of an <it>n</it>×<it>n</it> matrix must take Ω(log log <it>n</it>) time. The same lower bound is shown to hold for the problem of computing the minimum in each row of an arbitrary <it>n</it>×<it>n</it> matrix. As a byproduct, we obtain an Ω(log log <it>n</it>) time lower bound for the problem of selecting the <it>k</it>th smallest item in a <it>monotone</it> matrix, thus extending the best previously known lower bound for selection on the reconfigurable mesh. Finally, we show an <tmath>$\Omega \left( {\sqrt {\log\log n}} \right)$</tmath> time lower bound for the task of computing the row minima of a <it>monotone n</it>×<it>n</it> matrix. Our second main contribution is to provide a nearly optimal algorithm for the row-minima problem: With a monotone matrix of size <it>m</it>×<it>n</it> with <it>m</it>≤<it>n</it> pretiled, one item per processor, onto a basic reconfigurable mesh of the same size, our row-minima algorithm runs in O(log <it>n</it>) time if 1 ≤<it>m</it>≤ 2 and in <tmath>$O\!\left( {{{{\log n} \over {\log m}}}\log\log m} \right)$</tmath> time if <it>m</it> > 2. In case <tmath>$m = n^\epsilon$</tmath> for some constant <tmath>$\epsilon,$</tmath><tmath>$(0 < \epsilon \le 1),$</tmath> our algorithm runs in O(log log <it>n</it>) time.</p>