bri=bai.brad[ri] for rj in range(len(baj.brad)): if li==lj and ri<rj: continue # skip symmetric part of the basis brj=baj.brad[rj] addHmatSmat(Hmat,Smat,bai,baj,bri,brj) if self.xsym!=0: # exchange symmetric terms addHmatSmat(Hmat,Smat,bai,baj.x12(),bri,brj.x12(),self.xsym) return Hmat,Smat lmax=8 gaunt=GauntCoeffTable(lmax) gaunt.test() charg1=2 charg2=2 ax=Axis('r',20,0.,5.,order=2) print 'axis length',ax.len() bas=BasTwo(0,ax,0,0,2) #print bas set_printoptions(precision=4,suppress=False,linewidth=132) Hmat,Smat=bas.hamiltonian() plt.matshow(Hmat) plt.show() print 'solving eigenproblem...' val=la.eigvals(Hmat,Smat) ls = argsort(val.real) print 'eig',val[ls[:20]].real