In fropho, forces on each atom and displacements introduced to each atom to calculate forces are assumed to be already obtained by outside calculation, e.g., first-principles calculation code, VASP  or ABINIT , etc. First-principles calculation codes can output forces based on Hellman-Feynman theorem. To employ readily prepared forces, fropho creates symmetrized force constants and then constructs dynamical matrices at each point in reciprocal space (q-point). By solving dynamical matrix, we will know the eigenvalues and eigenvectors, which correspond to phonon frequencies and phonon vibration modes, respectively. Connecting each result, we can know more information of materials. Phonon frequencies on successive q-points are recognized as phonon band structure. Collecting phonon frequencies in Brillouin zone and sorting it by frequency, we may know phonon density of states (DOS). Using both of phonon vibration modes and frequencies, we may know partial DOS (PDOS).
In this document, basic theory is not introduced. Some helpful books are introduced here instead. The basic theory of lattice dynamics is shown in ``Introduction to Lattice Dynamics'' . Applications of the phonon calculations in material science are introduced in ``Electronic Structure'' . For more study, ``Dynamical Theory of Crystal Lattices'' and ``Theory of lattice dynamics in harmonic approximation'' are popular as classic texts [9,10]. When I wrote fropho, ``Dynamics of Perfect Crystal'' was helpful . Most of the calculations are done by matrix treatment in fropho. Understanding matrix operations, ``Mathematical Methods for Physicists''  is helpful and ``Numerical Recipes''  is good to understand singular value decomposition.