Parallel processing - Goodman, D; Hauser, R (United States Patent and Trademark Office, 2009)
A system and methods comprising a plurality of leaf nodes in communication with one or more branch nodes, each node comprising a processor. Each leaf node is arranged to obtain data indicative of a restriction A|IS of a linear map from Rn to Rm represented by a first matrix, A, to a subspace IS of Rn and to carry out a calculation of data indicative of at least a leading part of the SVD of a matrix representation of the restriction A|IS. One or more of the plurality of leaf nodes or branch nodes is arranged to use results of the calculations to compute data indicative of a subspace OS of each node input subspace IS and to pass that data and a corresponding restriction A|OS of A to one of a plurality of the one or more branch nodes. Each of the one or more branch nodes is arranged to receive data indicative of node output spaces OS1, . . . , OSk and the corresponding restrictions A|OS1, . . . , A|OSk for k≧2, to use this data to form a further node input space IS=OS1+ . . . +OSk, and to carry out a further calculation indicative of the leading part of the SVD of a matrix representation of a further restriction A|IS, of the linear map A to the further node input space IS. One or more of the one or more branch nodes is arranged to these results of the further calculations to compute data indicative of a further node output space OS of the further node input space IS and, if further processing of the data indicative of a further node output space OS is required, to pass the data indicative of the further node output space OS and a corresponding restriction A|OS of A to one or a plurality of the one or more branch nodes.