src/LSLib/LSanalyze.cc
/* The wavefunctions will span the Liouville space of the superoperator LOp.
   Each wavefunction will be some linear combination of the default super-
   operator basis functions.  The default superoperator basis functions are
   inherent to each superoperator.  They are determined directly from the 
   differences of Hilbert space wavefunctions, and these Hilbert space wave-
   functions are contained in the Hilbert space basis internally present in 
   LOp.  Each of these Hilbert space wavefunctions are related to the GAMMA
   default basis functions (inherent to spin system sys).  If LOp is in its 
   eigenbasis, its wavefunctions are eigenfunctions.  If the LOp Hilbert 
   space basis an eigenbasis, then the LOp wavefunctions are linear com-
   binations of Hilbert space eigenfunction differences.  Each wavefunction 
   corresponds to a coherence between two state of the system.               */
The wavefunctions will span the Liouville space of the superoperator LOp.
Each wavefunction will be some linear combination of the default super
operator basis functions.  The default superoperator basis functions are
inherent to each superoperator.  They are determined directly from the
differences of Hilbert space wavefunctions, and these Hilbert space wave
functions are contained in the Hilbert space basis internally present in
LOp.  Each of these Hilbert space wavefunctions are related to the GAMMA
default basis functions (inherent to spin system sys).  If LOp is in its
eigenbasis, its wavefunctions are eigenfunctions.  If the LOp Hilbert
space basis an eigenbasis, then the LOp wavefunctions are linear com
binations of Hilbert space eigenfunction differences.  Each wavefunction
corresponds to a coherence between two state of the system.
The wavefunctions will span the Liouville space of the superoperator LOp . Each wavefunction will be some linear combination of the default super operator basis functions . The default superoperator basis functions are inherent to each superoperator . They are determined directly from the differences of Hilbert space wavefunctions and these Hilbert space wave functions are contained in the Hilbert space basis internally present in LOp . Each of these Hilbert space wavefunctions are related to the GAMMA default basis functions ( inherent to spin system sys ) . If LOp is in its eigenbasis its wavefunctions are eigenfunctions . If the LOp Hilbert space basis an eigenbasis then the LOp wavefunctions are linear com binations of Hilbert space eigenfunction differences . Each wavefunction corresponds to a coherence between two state of the system .
void wf_labels(string* wflabels, const spin_sys& sys, super_op &LOp,
                                      double cut, int type, int pbf, int pfz)
    {
    int ls = LOp.size();			
    if(!ls) return;				
    basis LB = LOp.get_Lbasis();		
    basis HB = LOp.get_basis();			
    int *filter;				
    filter = new int[ls];
    for(int i=0; i<ls; i++)			
      filter[i] = 1;
    matrix LBmx = LB.U();
    matrix HBmx = HB.U();
    wf_labels(wflabels,filter,sys,LBmx,HBmx,	
                             cut,type,pbf,pfz);
    delete [] filter;
    return;
    }
void wf_labels ( string * wflabels , const spin_sys & sys , super_op & LOp , double cut , int type , int pbf , int pfz ) { int ls = LOp . size ( ) ; if ( ! ls ) return ; basis LB = LOp . get_Lbasis ( ) ; basis HB = LOp . get_basis ( ) ; int * filter ; filter = new int [ ls ] ; for ( int i = 0 ; i < ls ; i ++ ) filter [ i ] = 1 ; matrix LBmx = LB . U ( ) ; matrix HBmx = HB . U ( ) ; wf_labels ( wflabels , filter , sys , LBmx , HBmx , cut , type , pbf , pfz ) ; delete [ ] filter ; return ; }
The wavefunctions will span the Liouville space of the superoperator LOp.
The wavefunctions will span the Liouville space of the superoperator LOp .
// Input 	wflabels: An array of strings //       	sys	: A basic spin system // 		LOp	: A superoperator (associated to sys) //		cut     : Basis functions with coefficients below //			  this value are not taken as part of a wf //              type    : Flag for type of transition labels //			   <0 - by Liouville number, [0, ls) (DEFAULT) //			    0 - Hilbert transitions, {1->2, 2->3,..} //			   >0 - Hilbert transitions, {a|aa>->b|ab>, ...} //		pbf	: Flag for default basis function format //                         <=0 - by number, [0, hs) //                         >=0 - by spin states, e.g. abaa (DEFAULT) //			        INACTIVE IF TYPE <= 0 //		pfz	: Flag for inclusion of total Fz in Hilbert basis //			        INACTIVE IF TYPE <= 0 // Return	wflabels: An array of strings containg all system //			  wavefunctions in the current working basis //			  of operator LOp in the format specified // Note			: Handles complex basis function coefficients! // Note			: Wavefunction ordering depends on LOp input basis! // Superperator dimension size // Exit if the superop is empty // Get the Liouville basis // Get the Hilbert basis // Set up a working filter // Set the filter to take everything // Use function overload