int[] m = new int[1];
DoubleMatrix W = new DoubleMatrix(A.rows);
DoubleMatrix Z = new DoubleMatrix(A.rows, A.columns);
SimpleBlas.sygvx(1, 'V', 'I', 'U', A.dup(), B.dup(), 0, 0, il + 1, iu + 1, abstol, m, W, Z);
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);
return result;
}