src/MultiSys/MultiExch0.cc
/* The non-mutual exchange superoperator is determined from the sum over all
   non-mutual exchange processes defined in the system. Thus we have
                          
                                 processes
                                    ---
                                    \
                               X =  /    X
                                    ---   p
                                     p                                        */
The non-mutual exchange superoperator is determined from the sum over all
non-mutual exchange processes defined in the system. Thus we have

processes


The non - mutual exchange superoperator is determined from the sum over all non - mutual exchange processes defined in the system . Thus we have processes
super_op Xnm(const multi_sys& sys)
  {
  int   dim = sys.LS();				
  matrix Xmx(dim,dim,complex0);			
  for(int p=0; p<sys.NExProcs(); p++)		
    Xmx += Xnmp(sys, p);			
  basis Dbs = D_basis(sys);	        	
  return super_op(Xmx,Dbs);			
  }
super_op Xnm ( const multi_sys & sys ) { int dim = sys . LS ( ) ; matrix Xmx ( dim , dim , complex0 ) ; for ( int p = 0 ; p < sys . NExProcs ( ) ; p ++ ) Xmx += Xnmp ( sys , p ) ; basis Dbs = D_basis ( sys ) ; return super_op ( Xmx , Dbs ) ; }
The non-mutual exchange superoperator is determined from the sum over all
non-mutual exchange processes defined in the system.
The non - mutual exchange superoperator is determined from the sum over all non - mutual exchange processes defined in the system .
// Determine overall LS dim // Superop matrix to host Xex // Loop over exchange processes // Add this exchange process // Default basis (composite LS) // Return as superoperator