code: public static DoubleMatrix SVDValues(ComplexDoubleMatrix A) {
          int m = A.rows;
          int n = A.columns;
          DoubleMatrix S = new DoubleMatrix(min(m, n));
          double[] rwork = new double[5*min(m,n)];
  
          int info = NativeBlas.zgesvd('N', 'N', m, n, A.dup().data, 0, m, S.data, 0, null, 0, 1, null, 0, min(m,n), rwork, 0);
  
          if (info > 0) {
            throw new LapackConvergenceException("GESVD", info + " superdiagonals of an intermediate bidiagonal form failed to converge.");
          }
  
          return S;
      }
docs: Compute the singular values of a complex matrix.
  
  @param A ComplexDoubleMatrix of dimension m * n
  @return A real-valued (!) min(m, n) vector of singular values.