// Builds the bidiagonal matrix A out of the lambda private static DoubleMatrix2D buildMatrix(double[] lambda, double x) { int k = lambda.length; DoubleFactory2D F2 = DoubleFactory2D.dense; DoubleMatrix2D A = F2.make(k, k); for (int j = 0; j < k - 1; j++) { A.setQuick(j, j, -lambda[j] * x); A.setQuick(j, j + 1, lambda[j] * x); } A.setQuick(k - 1, k - 1, -lambda[k - 1] * x); return A; }