public static int syevx( char jobz, char range, char uplo, FloatMatrix a, float vl, float vu, int il, int iu, float abstol, FloatMatrix w, FloatMatrix z) { int n = a.rows; int[] iwork = new int[5 * n]; int[] ifail = new int[n]; int[] m = new int[1]; int info; info = NativeBlas.ssyevx( jobz, range, uplo, n, a.data, 0, a.rows, vl, vu, il, iu, abstol, m, 0, w.data, 0, z.data, 0, z.rows, iwork, 0, ifail, 0); if (info > 0) { StringBuilder msg = new StringBuilder(); msg.append("Not all eigenvalues converged. Non-converging eigenvalues were: "); for (int i = 0; i < info; i++) { if (i > 0) msg.append(", "); msg.append(ifail[i]); } msg.append("."); throw new LapackConvergenceException("SYEVX", msg.toString()); } return info; }