code: public void setTau0(double tau0)
      {
          if(tau0 <= 0 || Double.isInfinite(tau0) || Double.isNaN(tau0))
              throw new IllegalArgumentException("Eta must be a positive constant, not " + tau0);
          this.tau0 = tau0;
      }
docs: A learning rate constant to control the influence of early iterations on
  the solution. Larger values reduce the influence of earlier iterations,
  smaller values increase the weight of earlier iterations.
  @param tau0 a learning rate parameter that must be greater than 0 (usually at least 1)