docs: void initialize(DMatrixSparseCSC A) {
          m = A.numRows;
          n = A.numCols;
          int s = 4*n + (ata ? (n+m+1) : 0);
  
          gw.reshape(s);
          w = gw.data;
  
          // compute the transpose of A
          At.reshape(A.numCols,A.numRows,A.nz_length);
          CommonOps_DSCC.transpose(A,At,gw);
  
          // initialize w
          Arrays.fill(w,0,s,-1); // assign all values in workspace to -1
  
          ancestor = 0;
          maxfirst = n;
          prevleaf = 2*n;
          first    = 3*n;
      }