1. A computer implemented method for further approximating multiple data vectors of a dataset, the multiple data vectors being initially approximated by one or more stored principle components, the method comprising: performing multiple iterations of determining an updated estimate of a further principle component based on the multiple data vectors that are initially approximated by the one or more stored principle components; such that the updated estimate of the further principal component further approximates the dataset, wherein in each iteration determining the updated estimate of the further principle component comprises constraining the updated estimate of the further principal component to be orthogonal to each of the one or more stored principal components.