split allocation and operation functions for better perfomance for DiracMatrices constructed with operator definition