diff --git a/t.cc b/t.cc index f789a56..72c72a2 100644 --- a/t.cc +++ b/t.cc @@ -4169,6 +4169,52 @@ cout<<"resulting index order = "<>nn; +int r=4; +NRVec s(r); +for(int i=0; i x(s); x.randomize(1.); +INDEXNAME xlist[] = {"i","j","k","l"}; +x.names=NRVec(xlist); +Tensor y(s); y.randomize(1.); +INDEXNAME ylist[] = {"m","n","j","i"}; +y.names=NRVec(ylist); + +Tensorz(s); z.clear(); +INDEXNAME zlist[] = {"m","n","k","l"}; +z.names=NRVec(zlist); +Tensorzz(z); + +INDEX i1[]={{0,0},{1,0}}; +INDEX i2[]={{3,0},{2,0}}; +NRVec il1(i1); +NRVec il2(i2); +Tensor zzz = x.contractions(il1,y,il2,1,false,false); +//cout <<"zzz names = "< tmp=rhs1.contractions(il1,rhs2,il2,alpha,conjugate1,conjugate2); if(rank()!=tmp.rank()) laerror("rank mismatch in add_permuted_contractions"); if(tmp.names!=tmpnames) laerror("internal error in add_permuted_contractions"); - -//@@@apply_permutation_algebra(tmp,pb,false,(T)1,beta); apply_permutation_algebra(tmp,pb,true,(T)1,beta); }