public void populateTermDocMatrix(){
		
		int doc_idx=-1,idx=0,tok_idx;
		HashMap<Double,Double> hMCounts=new HashMap<Double,Double>();
		
		while(idx<_allDocs.size()){
				ArrayList<Integer> doc=_allDocs.get(idx++);
				doc_idx++;
				tok_idx=0;
				while(tok_idx<doc.size()){
					int _tok=doc.get(tok_idx++);
					if(hMCounts.get((double)_tok) !=null)
						hMCounts.put((double) _tok, 1+hMCounts.get((double)_tok));
					else
						hMCounts.put((double) _tok, 1.0);
				}	
		}
		idx=0;doc_idx=-1;
		while(idx<_allDocs.size()){
			ArrayList<Integer> doc=_allDocs.get(idx++);
			doc_idx++;
			tok_idx=0;
			while(tok_idx<doc.size()){
				int _tok=doc.get(tok_idx++);
				double xCount=XMatrix.get(_tok, doc_idx);
				XMatrix.setQuick(_tok,doc_idx,xCount+ 1/hMCounts.get((double)_tok));
				XMatrixT.setQuick(doc_idx,_tok,xCount+ 1/hMCounts.get((double)_tok));
			}	
		}
		
		
	}