\begin{abstract}

A piecewise linear function of two real variables, whose graph is a piecewise linear surface in the Euclidean space, can be defined by the lower and upper constraints on its value and its partial derivatives inside each sub-rectangle of a two-dimensional grid. If both the function and derivative information are consistent, then we can construct such a map by joining together local patches of the surface in each sub-rectangle of the grid. A similar result holds in higher dimensions, by considering a partitioning of sub-hyper-rectangles of an $n$-dimensional domain, where the function value and all the partial derivatives lie within closed and compact intervals.  
\\

In this project we develop a framework, using linear programming, that can check consistency in the general case of an $n$-dimensional domain, $n\ge 2$. Whenever the test indicates consistency, we also determine the minimal and maximal bounding surfaces. We achieve this by extending the known linear programming algorithm which decides consistency and we provide a simple analytical proof of this new result. Also, we implement a graphical user interface to help visualise the 3D piecewise linear surfaces, in the case when the domain is two-dimensional. During evaluation, we extensively test the correctness of our implementation by reverse engineering the constraints of the linear programming algorithms.
\\

Finally, we investigate the problem when the constraint on the gradient of the surface is contained in a convex polygon, rather than a simple rectangle. Here we develop an algorithm that can decide consistency whenever the domain is given by a two-dimensional triangle.

\end{abstract}
