LCHKSYM Function

public elemental function LCHKSYM(isym, jsym)

Arguments

Type IntentOptional Attributes Name
type(BasisFN), intent(in) :: isym
type(BasisFN), intent(in) :: jsym

Return Value logical


Contents

Source Code


Source Code

    LOGICAL elemental FUNCTION LCHKSYM(ISYM, JSYM)
        type(basisfn), intent(in) :: isym, jsym
        INTEGER I
        LCHKSYM = .TRUE.
        DO I = 1, 3
            IF (ISYM%K(I) /= JSYM%K(I)) LCHKSYM = .FALSE.
        end do
        IF (ISYM%Ms /= JSYM%Ms) LCHKSYM = .FALSE.
        IF (ISYM%Ml /= JSYM%Ml) LCHKSYM = .FALSE.
!   if the symmetry product of I and J doesn't contain the totally
!   symmetric irrep, we set sym to .FALSE.
! [W.D]: does this still work with my new hubbard implementation?
        LCHKSYM = LCHKSYM .AND. LSYMSYM(SYMPROD(SymConj(ISYM%SYM), JSYM%SYM))
        RETURN
    END FUNCTION LCHKSYM