DurbinAlgorithm { public boolean solve(IReadDataBlock x, int l) { x_ = new double[x.getLength()]; x.copyTo(x_, 0); return calc(l); }  double getAutocovariance(int lag); int getMaxLag(); void setTaper(ITaper taper); ITaper getTaper(); boolean solve(IReadDataBlock x, int l); double[] getCoefficients(); double getAIC(); double getInnovationVariance(); boolean isMeanCorrection(); void setMeanCorrection(boolean mean);  }
@Test public void test() { ArimaModelBuilder builder = new ArimaModelBuilder(); int n = 240, m = 10; for (int i = 0; i < m; ++i) { double[] x = builder.generate(builder.createModel(Polynomial.of(new double[]{1, -.7, .5}), Polynomial.ONE, 1), n); DurbinAlgorithm durbin = new DurbinAlgorithm(); assertTrue(durbin.solve(new ReadDataBlock(x), 30)); } }