void setHilbertParams(Parameters ðer, Aux &aux,Geometry const &geometry) { int n=geometry.volume(), d=geometry.dim(); int i; ether.typeofmodel="MODEL_KONDO_DMS_ZINCBLENDE"; ether.hilbertSize=4*n; ether.nonzero= ether.numberOfOrbitals*(1+ether.numberOfOrbitals*geometry.z(0)) * n+ ether.numberOfOrbitals*n*0.5*(ether.numberOfOrbitals-1); if (!(geometry.latticeName()=="zincblende")) { cerr<<"I was expecting zincblende geometry but instead you input "<<geometry.latticeName()<<endl; cerr<<"At this point: "<<__FILE__<<" "<<__LINE__<<endl; exit(1); } cerr<<ether.bandHoppings.size()<<endl; vectorPrint(ether.bandHoppings,"hoppings=",cerr); ether.energy1= -3-maxElement(ether.J); ether.energy2= -ether.energy1; aux.varTpem_a = 0.5*(ether.energy2-ether.energy1); aux.varTpem_b = 0.5*(ether.energy2+ether.energy1); ether.classFieldList.push_back(0); }
void testVectors(){ vector<double> test1(10,8.0); vector<double> abc(10,7.); vector<double> res(10); cout<<"vecadd test1+abc "<<endl; vectorAdd(&test1,&abc,&res); vectorPrint(&res); cout<<"vecsub res-abc "<<endl; vectorSub(&res,&abc,&res); vectorPrint(&res); cout<<"vecscalar 3 "<<endl; vectorScalar(&res,3.); vectorPrint(&res); cout<<"vecscalar 3 "<<endl; vectorScalar(&res,3.,&test1); vectorPrint(&test1); cout<<"vecvec test1 abc "<<endl; cout<<vectorVector(&test1,&abc)<<endl; vector<map< int,double> > testmat(2);//=new vector<map< int,double> >(n); for (int i=0;i<2;++i){ testmat[i];//=new map< int,double> (); } testmat[0][0]= 1; testmat[0][1]= 1; testmat[1][0]= 1; //testmat[1][1]= 1; vector<double> vec(2,8.0); vector<double> ret(2); matrixVector(&testmat,&vec,&ret); vectorPrint(&ret); }