A PLS kernel algorithm for data sets with many variables and fewer objects. Part 1: Theory and algorithm | Synapse