code: public void computeMi() {
  	Mi.assign(0.0);
  	
  	model.taggerFGen.startScanEFeatures();
  	while (model.taggerFGen.hasNextEFeature()) {
  	    Feature f = model.taggerFGen.nextEFeature();
  	    
  	    if (f.ftype == Feature.EDGE_FEATURE1) {
  		Mi.mtrx[f.yp][f.y] += model.lambda[f.idx] * f.val;
  	    }
  	}
  	
  	for (int i = 0; i < Mi.rows; i++) {
  	    for (int j = 0; j < Mi.cols; j++) {
  		Mi.mtrx[i][j] = Math.exp(Mi.mtrx[i][j]);
  	    }
  	}
      }
docs: Compute mi.