generalized singular value decomposition