private SymmPackEVD factor(Matrix A, double[] data) throws NotConvergedException { if (A.numRows() != n) throw new IllegalArgumentException("A.numRows() != n"); intW info = new intW(0); LAPACK.getInstance().dspevd(job.netlib(), uplo.netlib(), n, data, w, job == JobEig.All ? Z.getData() : new double[0], Matrices.ld(n), work, work.length, iwork, iwork.length, info); if (info.val > 0) throw new NotConvergedException( NotConvergedException.Reason.Iterations); else if (info.val < 0) throw new IllegalArgumentException(); return this; }
private SymmPackEVD factor(Matrix A, double[] data) throws NotConvergedException { if (A.numRows() != n) throw new IllegalArgumentException("A.numRows() != n"); intW info = new intW(0); LAPACK.getInstance().dspevd(job.netlib(), uplo.netlib(), n, data, w, job == JobEig.All ? Z.getData() : new double[0], Matrices.ld(n), work, work.length, iwork, iwork.length, info); if (info.val > 0) throw new NotConvergedException( NotConvergedException.Reason.Iterations); else if (info.val < 0) throw new IllegalArgumentException(); return this; }
int[] iworksize = new int[1]; intW info = new intW(0); LAPACK.getInstance().dspevd(job.netlib(), uplo.netlib(), n, new double[0], new double[0], new double[0], Matrices.ld(n), worksize, -1, iworksize, -1, info);
int[] iworksize = new int[1]; intW info = new intW(0); LAPACK.getInstance().dspevd(job.netlib(), uplo.netlib(), n, new double[0], new double[0], new double[0], Matrices.ld(n), worksize, -1, iworksize, -1, info);