code: public void reset( int N ) {
          this.N = N;
  
          this.diag = null;
          this.off = null;
  
          if( splits.length < N ) {
              splits = new int[N];
          }
  
          numSplits = 0;
  
          x1 = 0;
          x2 = N-1;
  
          steps = numExceptional = lastExceptional = 0;
  
          this.Q = null;
      }
docs: Sets the size of the matrix being decomposed, declares new memory if needed,
  and sets all helper functions to their initial value.