Fix a small bug: __svd_unit_vector returns a composite type