function wrapper_zgesvd input Real A_real[:, :] "Square or rectangular matrix"; input Real A_imag[size(A_real, 1), size(A_real, 2)] "Square or rectangular matrix"; output Real sigma[min(size(A_real, 1), size(A_real, 2))] "singular values"; output Real U_real[size(A_real, 1), size(A_real, 1)]; output Real U_imag[size(A_real, 1), size(A_real, 1)]; output Real VT_real[size(A_real, 2), size(A_real, 2)]; output Real VT_imag[size(A_real, 2), size(A_real, 2)]; output Integer info; end wrapper_zgesvd;