int[] m = new int[1];
DoubleMatrix W = new DoubleMatrix(A.rows);
DoubleMatrix Z = new DoubleMatrix(A.rows, A.columns);
SimpleBlas.sygvx(1, 'V', 'V', 'U', A.dup(), B.dup(), vl, vu, 0, 0, abstol, m, W, Z);
if (m[0] == 0) {
throw new NoEigenResultException("No eigenvalues found for selected range");
}
DoubleMatrix[] result = new DoubleMatrix[2];
Range r = new IntervalRange(0, m[0]);
result[0] = Z.get(new IntervalRange(0, A.rows), r);
result[1] = W.get(r, 0);