Use specific types in svd definitions. Close #2240.
The generalized singular value decomposition