routines gesvdj and gesvdjBatched on CUDA 10.1.243 and later,
     and MAGMA's routine gesdd on earlier versions of CUDA.
Note:
 The returned *U* will not be contiguous. The matrix (or batch of
 matrices) will be represented as a column-major matrix (i.e.
 Fortran-contiguous).

Warning:
 The gradients with respect to *U* and *V* will only be finite
 when the input does not have zero nor repeated singular values.

Warning:
 If the distance between any two singular values is close to zero,
 the gradients with respect to *U* and *V* will be numerically
 unstable, as they depends on \frac{1}{\min_{i \neq j} \sigma_i^2
 - \sigma_j^2}. The same happens when the matrix has small
 singular values, as these gradients also depend on *Sâ»Â¹*.

Warning:
 For complex-valued "input" the singular value decomposition is
 not unique, as *U* and *V* may be multiplied by an arbitrary
 phase factor e^{i \phi} on every column. The same happens when
