"2. Diagonalize the array to find the eigenvalues.\n",

"3. Use the eigenvalues to calculate the vibration frequencies, and convert from whatever units they are in, to some more usual units for frequency, such as THz.\n",

"\n",

"If you were writing a code to do this, this could be a good way to break the problem down into functions.\n",

"\n",

"The actual eigenvalue expression we're solving can be written as:\n",

"\n",

"$$\n",

...

...

@@ -380,8 +382,6 @@

"$$\n",

"where $m_i$ is the mass of atom $i$.\n",

"\n",

"If you were writing a code to do this, this could be a good way to break the problem down into functions.\n",

"\n",

"Let's go through this step by step."

]

},

...

...

@@ -394,7 +394,7 @@

"It can often be easier to use a bash script or awk, or even a text editor if the file is not too big (and you're sure you only need to do it once), to manipulate the file into a more usable format.\n",

"\n",

"The file we're trying to analyse has the following format.\n",

"- The first 15 lines are header information, with details of the atomic positions, masses, and wavevector of the calculation (the wavector only applies to periodic systems, and should always be $\\Gamma=(0,0,0)$ for a molecule. We will likely need the masses that are given in lines 4 and 5. And the atom indexes will help interpret the eigenvectors if we desire at the end.\n",

"- The first 15 lines are header information, with details of the atomic positions, masses, and wavevector of the calculation (the wavector only applies to periodic systems, and should always be $\\Gamma=(0,0,0)$ for a molecule). We will likely need the masses that are given in lines 4 and 5. And the atom indexes will help interpret the eigenvectors if we desire at the end.\n",

"- Then we have the indices of the two atoms involved in the perturbation.\n",

"- For each pair of atoms we have a 3x3 array (of complex numbers with the imaginary part=0) that give the actual dynamical matrix values without the mass factors above. These are in units of Ry/Bohr^2."