torch.SVDShape
export type SVDShape<S extends Shape> = S['length'] extends 2
? S // Returns multiple tensors, simplify to input shape check
: S extends readonly [...infer _Batch extends number[], number, number]
? S // Valid batched case
: number extends S['length']
? DynamicShape
: linalg_error_requires_at_least_2d<S['length']>;Sextends ShapeOutput shape of SVD. For [m, n] matrix: U is [m, m], S is [min(m,n)], V is [n, n] (full_matrices=true) For [m, n] matrix: U is [m, k], S is [k], V is [k, n] (full_matrices=false, k=min(m,n))