Physical Chemistry: The Simple Hückel Method (Part II)

In the previous article, we have learned how to set up the Hückel determinant for an aromatic molecule based on the topology of the pi-bonds. In this second part, we are going to learn how to calculate from the determinantal equation both the eigenvalues and the eigenvectors, corresponding to the orbital energy and orbital functions of the molecular system.


The calculation of the determinant gives a so-called characteristic equation. Namely, a polynomial equation whose roots (x_i) are the eigenvalues of the system. As described in the previous article, the eigenvalues are related to the energy of the system by the relation x=\frac{\alpha-E}{\beta}. Let work out the determinant for the allyl molecule. The determinant is given by

that is solved as

The polynomial (x^3-2x)=0 has three root that can be easily found by rearranging it in x(x^2-2)=0 giving x_1=0 and x_{2,3}=\pm\sqrt{2}.

We can now use these value to calculate the energy of the Hückel orbitals using the relation x=\frac{\alpha-E}{\beta}. Therefore for

x_1=0=\frac{\alpha-E_1}{\beta}, we obtain E_1=\alpha, and

x_{2,3}=\pm\sqrt{2}=\frac{\alpha-E_{2,3}}{\beta}, we obtain E_{2,3}=\alpha \mp\sqrt{2}\beta .

Calculation of Molecular Orbitals Coefficients

We are going to calculate the wavefunctions of the Hückel’s orbitals using the eigenvalues obtained from the characteristic equation. The coefficients of the molecular orbitals are calculated by solving the system of equations and the normalization condition given in the following slides.


For x_1 =0, we get two coefficients equal and different from zero, and using the normalization condition 2c^2=1, the value of c_1=c_3==1/\sqrt{2} is obtained.


For x_{2,3} =\pm \sqrt{2}, the following values are obtained.


Finally, the eigenfunctions and their graphical representation are reported in the following slide.


For linear alkenes, the eigenvalues and eigenvectors can be calculated using simple formulas reported in the following slide [1].


Here, the value for the allyl molecule is recalculated again using the formulas in the previous slide. A simple program, written in awk language is also listed in the appendix.


The numerical representation obtained by the formula is given as follows

 Number of atoms                    : 3 
 Number of electrons                : 2 
 Number of double occupied orbitals : 0 
 Number of single occupied orbitals : 0 
 Orbital Energies:
  E1=alpha   -1.414beta
  E2=alpha   -0.000beta
  E3=alpha   +1.414beta
 Total Electronic Energy:
  Epi=   2.000alpha   +2.828beta
  Psi(1)=   +0.500 X(1)  +0.707 X(2)  +0.500 X(3)
  Psi(2)=   +0.707 X(1)  +0.000 X(2)  -0.707 X(3)
  Psi(3)=   +0.500 X(1)  -0.707 X(2)  +0.500 X(3)

The linear chain next to the allyl molecule is the 1,3-butadiene, composed of 4 carbon atoms and two conjugated double bonds—the Hückel topological matrix is shown in the next slide. The determinant gives a 4th-degree characteristic equation whose roots can easily be found by variable substitution, as shown in the slide.


By running the program in the appendix, we can find the value of the energy and of the coefficients of the wavefunction

Number of atoms                    : 4 
 Number of electrons                : 4 
 Number of double occupied orbitals : 0 
 Number of single occupied orbitals : 0 
 Orbital Energies:
  E1=alpha   -1.618beta
  E2=alpha   -0.618beta
  E3=alpha   +0.618beta
  E4=alpha   +1.618beta
 Total Electronic Energy:
  Epi=   4.000alpha   +4.472beta
  Psi(1)=   +0.372 X(1)  +0.602 X(2)  +0.602 X(3)  +0.372 X(4)
  Psi(2)=   +0.602 X(1)  +0.372 X(2)  -0.372 X(3)  -0.602 X(4)
  Psi(3)=   +0.602 X(1)  -0.372 X(2)  -0.372 X(3)  +0.602 X(4)
  Psi(4)=   +0.372 X(1)  -0.602 X(2)  +0.602 X(3)  -0.372 X(4)

A rotational barrier separates the s-cis- and s-trans conformers of the 1,3-Butadiene. We can try to make an estimation of the transition barrier using the HMO (see Ref. [2]). We can assume that the two double bonds are not conjugated during the rotation as for the allyl molecules. Therefore, the energy of the transition state is given by the sum of the two isolated double bonds’ energy. Being a total of four electrons in the \pi orbitals, we can calculate the total energy as E_{\pi}=4\alpha+4\beta. In the cis and trans butadiene, the HMO energy is the same as no difference in the molecule’s topology and is equal to E_{\pi}=4\alpha+4.472\beta. Therefore, the transition state’s energy difference is equal to 0.472\beta, that correspond approximately to 8~kcal/mol. The experimental value of the transition barrier has a value of 4~kcal/mol. This result shows that the limit of the HMO approximation largely overestimated the true value of 100%.

1,3-Butadiene. Diagram from Ref. [2].

Even though the HMO method is simple and approximated, it provided crucial results to understand the organic reaction mechanism. In the next article, we will calculate the HMO for cyclic conjugated molecules and discuss other results of this method.

If you have found an interesting and useful article, do not forget to press “Like it” and subscribe for updates on new ones!


  1. J. P. Lowe. Quantum Chemistry. 1993, Academic Press.
  2. F.A. Carroll. Structure and Mechanism,1998, BROOKS/COLE Publishing Company.


Program in awk language to calculate the energy and coefficients of the Hückle orbitals. You may change the variable for the number of atoms (n) and the number of electrons (ne) to your convenience before running the program using the command:

gawk -f HMOLinearMol.awk

#  NAME:  HMOLinearMol.awk                                                   
#  DESCRIPTION: Calculate the energy level and coefficients of the
#               wavefunctions
# Copyright (C): 2021 Danilo Roccatano 

    n=4 # number of atoms in the chain
    ne = 5  # number of electrons in the chain
    printf "Number of atoms                    : %d \n",n
    printf "Number of electrons                : %d \n",ne
    printf "Number of double occupied orbitals : %d \n",npe
    printf "Number of single occupied orbitals : %d \n",nue

# Calculate the eigenvalues
    printf "Orbital Energies:\n"
    for (k=1;k<=n;k++) {
        printf " E%d=alpha %+8.3fbeta\n",k,x
# Calculate the total energy of the electronic system
    for (i=1;i<=npe+nue;i++) {
        if (i<=npe)  fa=2
    printf "Total Electronic Energy:\n"
    printf " Epi=%8.3falpha %+8.3fbeta\n",tEa,tEb
# Calculate the wavefunction coefficients 
    printf "Wavefunctions:\n"
    for (i=1;i<=n;i++) {
        printf " Psi(%d)= ",i
        for (k=1;k<=n;k++) {
            printf "%+8.3f X(%d)",c[k],k

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.