code: public void setAlpha(double alpha)
      {
          if(alpha <= 0 || alpha > 1 || Double.isNaN(alpha))
              throw new ArithmeticException("alpha must be in (0, 1], not " + alpha);
          this.alpha = alpha;
          setB(1.0/alpha);
      }
docs: Alpha controls the approximation of the large margin formed by ALMA,
  with larger values causing more updates. A value of 1.0 will update only
  on mistakes, while smaller values update if the error was not far enough
  away from the margin.
  <br><br>
  NOTE: Whenever alpha is set, the value of {@link #setB(double) B} will
  also be set to an appropriate value. This is not the only possible value
  that will lead to convergence, and can be set manually after alpha is set
  to another value.
  
  @param alpha the approximation scale in (0.0, 1.0]