make_symmetry_operator_basis

libadcc.make_symmetry_operator_basis(mospaces: libadcc.MoSpaces, n_bas: SupportsInt | SupportsIndex, operator_symmetry: str, n_particle_op: SupportsInt | SupportsIndex, blocks: str) → libadcc.Symmetry

Return the symmetry object for an operator in the AO basis. The object will represent a block-diagonal matrix of the form

( M 0 ) ( 0 M ).

where M is an n_bas x n_bas block and is indentical in upper-left and lower-right.

mospaces MoSpaces pointer n_bas Number of AO basis functions operator_symmetry Is the tensor symmetric (hermitian/antihermitian, only

in effect if both space axes identical). Nosymmetry disables a setup of ‘bra-ket’ symmetry.

n_particle_op NParticleOperator blocks Which blocks of the operator to return. Valid values

are ‘ab’ to return a tensor for both alpha and beta block as a block-diagonal tensor, ‘a’ to only return a tensor for only alpha block.