docs: void init( DMatrixSparseCSC A ) {
          this.A = A;
          this.m = A.numRows;
          this.n = A.numCols;
  
          this.next = 0;
          this.head = m;
          this.tail = m + n;
          this.nque = m + 2*n;
  
          if( parent.length < n || leftmost.length < m) {
              parent = new int[n];
              post = new int[n];
              pinv = new int[m+n];
              countsR = new int[n];
              leftmost = new int[m];
          }
          gwork.reshape(m+3*n);
      }