The paper describes how the UDU decomposition method and sub-structuring algorithms can be implemented using object-oriented techniques. It is shown that this enables the algorithms to be implemented very concisely. Moreover, there is no increase in code complexity when the algorithms are extended to take account of sparsity. The sub-structuring, or domain decomposition, algorithms are expressed in block matrix terms, and classes are used to represent each of these matrices. The solution processes are incorporated in a finite element program. The finite element program uses a distributed data structure, and this facilitates a straightforward interface between the finite element program and the mathematics. Moreover the program possesses a c...