src/HSLib/GenOp.cc
// Input		Op   : General operator (this)
// Output		none : Op WBR set to EBR 
// Note			     : Will generate an EBR if none exists
// Note			     : Assumes the MaxReps limit always
//			       always allows for EBR
Input          Op   : General operator (this)
Output         none : Op WBR set to EBR
Note                        : Will generate an EBR if none exists
Note                        : Assumes the MaxReps limit always
always allows for EBR
Input Op : General operator ( this ) Output none : Op WBR set to EBR Note : Will generate an EBR if none exists Note : Assumes the MaxReps limit always always allows for EBR
void gen_op::set_EBR() const
  {
  if(!WBR) return;				
  if(WBR == EBR) return;			
  if(EBR != NULL) { WBR=EBR; return; }		
  set_DBR();					
  if(EBR != NULL) { WBR=EBR; return; }		
  basis bs0 = DBR->RepBs;			
  matrix mxd, mxev;				
  diag(DBR->RepMx, mxd, mxev);			
  basis bs(bs0, mxev);				
  genoprep OpRep(mxd,bs,EBPr);			
  AddRepM(OpRep);				
  SetLimits(MaxReps);				
  }
void gen_op :: set_EBR ( ) const { if ( ! WBR ) return ; if ( WBR == EBR ) return ; if ( EBR != NULL ) { WBR = EBR ; return ; } set_DBR ( ) ; if ( EBR != NULL ) { WBR = EBR ; return ; } basis bs0 = DBR -> RepBs ; matrix mxd , mxev ; diag ( DBR -> RepMx , mxd , mxev ) ; basis bs ( bs0 , mxev ) ; genoprep OpRep ( mxd , bs , EBPr ) ; AddRepM ( OpRep ) ; SetLimits ( MaxReps ) ; }
Input          Op   : General operator (this)
Output         none : Op WBR set to EBR
Note                        : Will generate an EBR if none exists
Note                        : Assumes the MaxReps limit always
always allows for EBR
Input Op : General operator ( this ) Output none : Op WBR set to EBR Note : Will generate an EBR if none exists Note : Assumes the MaxReps limit always always allows for EBR
// Do nothing if NULL Op // Do nothing if Op WBR is EBR // EBR exists, set to WBR & Done // First place Op in DBR // Remote Chance DBR made EBR? // This is the default basis // Arrays for diagonalization // Diagonalize Op in DBR // Construct eigenbasis // EBR Op representaton // Add EBR to Op reps // Impose rep limit on Op