if np.max(Y_currCol[:, J_Idx_wikiFile_subIndexOffset]) == 0.0: Y_currCol[:, J_Idx_wikiFile_subIndexOffset] = 0.000000001 smallValueAsgn_cnt += 1 #print "" #print "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" #print "no. of all zeros column that " #print "are assignment to a very small" #print "non-negative value : %d/%d" %(smallValueAsgn_cnt,Y_blockWidth) #print "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" #print "" #S_Jcolumn = NMF.HALS_CORE( np.matrix( Y_currCol ).transpose() , np.matrix( S[ : , J_Idx_wikiFile : J_Idx_wikiFile + Y_blockWidth ] ).transpose() , A.transpose() , modelOrder ).transpose() #print "Please stop here and perform manual LSMU" #print "Press any key to continue ..." #raw_input() S_Jcolumn = NMF.LSMU_CORE( np.matrix(Y_currCol).transpose(), np.matrix(S[:, J_Idx_wikiFile:J_Idx_wikiFile + Y_blockWidth]).transpose(), A.transpose()).transpose() for k in xrange(modelOrder): for J_assignmentOffset in xrange(Y_blockWidth): S[k, J_Idx_wikiFile + J_assignmentOffset] = S_Jcolumn[k, J_assignmentOffset] # -------------------------------------- # # end of enforcing Sum To One constraint # # -------------------------------------- # #logFileName = 'S_HALS_itera'+str(cycle+1)+'.txt' logFileName = 'S_LSMU_itera' + str(cycle + 1) + '.txt' DSP.LOG('log matrix to file', logFileName, S, ' ') print "S has been logged in cycle %d" % (cycle + 1) DSP.STOP() # ------------- # # update A part #