Psi4

#include <dcd.h>
Public Member Functions  
DCD (int pg)  
~DCD ()  
int  subgroup_dimensions (int group) 
Takes a densely numbered subgroup and returns its dimension. More...  
int  bits_to_dense_numbering (int group) 
int  intersection (int group1, int group2) const 
const int *  dcr (int group1, int group2) const 
Private Attributes  
int  nsub_ 
The number of subgroups in the current point group, pg_. More...  
int *  subgroup_dimensions_ 
The dimensions of each subgroup. More...  
int ***  dcr_ 
The lookup array for the DCR list of operators for all possiblepairs of stabilizer subgroups. More...  
int **  gng_ 
The lookup array for the intersection of all possible pairs of subgroups. More...  
std::map< int, int >  bits_to_subgroup_ 
The bit representation to dense numbering mapping. More...  
int *  C1_operators_ 
The lists of operators in each possible subgroup. More...  
int *  C2_z_operators_ 
int *  C2_y_operators_ 
int *  C2_x_operators_ 
int *  D2_operators_ 
int *  Ci_operators_ 
int *  Cs_xy_operators_ 
int *  C2h_z_operators_ 
int *  Cs_xz_operators_ 
int *  C2h_y_operators_ 
int *  C2v_x_operators_ 
int *  Cs_yz_operators_ 
int *  C2h_x_operators_ 
int *  C2v_y_operators_ 
int *  C2v_z_operators_ 
int *  D2h_operators_ 
Provides the data needed to implement Davidson's DCD approach to symmetrizing integrals E. R. Davidson, J. Chem. Phys., 62, 400 (1975) Do not modify this file! It was autogenerated by the C++ program DCD.cplusplus in the source folder. Two ordering schemes are used here. Dense numbering is a point group specific scheme, which runs from zero to the number of subgroups in the point group. This is used for the arrays, to make them as compact as possible. Bitwise numbering represents point groups by considering each bit as a symmetry operation. This is not dense, but allows me to do group theory very conveniently, so it's used internally. Andy Simmonett.

inline 
Builds a DCD object, to perform double coset decompositions
pg  the point group of the molecule, in bitwise representation 

inline 

inline 
Takes a point group expressed as a bitset for each operator, and returns the corresponding dense numbering representation for this point group.

inline 
Returns the list of operators (numbered appropriately for the current point group) for the pair of stabilizer subgroups group1 and group2, which are densely numbered. The first element is the size of the list, so iterate as follows: int* dcr = dcr(g1, g2); int size = dcr[0]; for(int i = 1; i <= size; ++i) do something with dcr[i]...

inline 
Returns the intersection (in dense subgroup numbering) of the two subgroups, group1 and group2, which are also in the dense ordering scheme.

inline 
Takes a densely numbered subgroup and returns its dimension.

private 
The bit representation to dense numbering mapping.

private 
The lists of operators in each possible subgroup.

private 

private 

private 

private 

private 

private 

private 

private 

private 

private 

private 

private 

private 

private 

private 

private 
The lookup array for the DCR list of operators for all possiblepairs of stabilizer subgroups.

private 
The lookup array for the intersection of all possible pairs of subgroups.

private 
The number of subgroups in the current point group, pg_.

private 
The dimensions of each subgroup.