code: public void exceptionalShift() {
          // rotating by a random angle handles at least one case using a random lambda
          // does not handle well:
          // - two identical eigenvalues are next to each other and a very small diagonal element
          numExceptional++;
          double mag = 0.05*numExceptional;
          if( mag > 1.0 ) mag = 1.0;
  
          double theta = 2.0*(rand.nextDouble()-0.5)*mag;
          performImplicitSingleStep(theta,true);
  
          lastExceptional = steps;
      }
docs: Perform a shift in a random direction that is of the same magnitude as the elements in the matrix.