JuliaCon 2020 (times are in UTC)

Using Julia and group theory to describe Molecular Vibrations
07-29, 16:10–16:20 (UTC), Red Track

Julia is used along applied group theory to solve the problem of describing and classifying molecular vibrations, a highly demanding computational problem. The solution of this problem using applied group theory requires, high numerical capabilities, a fast and an extensive use of matrix operations and the possibility to efficiently handle different kinds of data structures. It is shown that Julia is one of the best options for implementing fast, reliable and accurate solutions.


We present an overview of the program for the description and classification of molecular vibrations we have been developing using Julia, along with a systematic and highly effective method derived from applied group theory. This overview emphasizes the computational challenges that this real-time description presents and the solutions offered by Julia.

The description of molecular vibrations in real-time implies a series of complex and highly demanding computational tasks that we have implemented in Julia :

1) Given the coordinates of the atoms as input, we determine the point symmetry group of the molecule. Extensive use of matrices and fast calculation of eigenvectors and eigenvalues is a must.

2) Once the point group is determined, we identify the symmetry operations using their matrix representations. Once again, we have relied on Julia's capabilities of matrix diagonalization, this time in the case of asymmetric matrices with complex eigenvalues and eigenvectors.

3) Finally we determine and classify the normal modes of vibration using a matrix representation of invariant subspaces that allow a complete classification of the vibrational modes.

Only we have to add that, knowledge of the molecular vibrational modes is a must in many scientific and technological applications. Its importance is out of discussion.

Although many programs have been developed, mainly in Fortran, most of them are highly sophisticated and depends upon expensive hardware resources.

Julia offers the invaluable opportunity to develop a simple, reliable and low-cost resources program with high standard of quality that requires no more than a simple laptop.

Chem grad student, interested in imperative and functional programming.

Roberto Bernal received his Bachelor in Science in Physics from Universidad Nacional Autonoma de Mexico (UNAM), and his his PhD in Physics from Universidad Autonoma del Estado de Morelos-Nuclear Sciences Institute(UNAM) Mexico (2006). He was postdoc at the Departamento de Fisica of the UAEM (2006-2007) and in the Theoretical Chemistry Group - University of Turin in Italy from 2007- 2008. Actually he is full professor at the Departamento de Matematicas Aplicadas y Sistemas, of the UAM-Cuajimalpa in Mexico.

His research interests are mainly focus on algebraic methods in chemical-physics, mathematical-physics, nonlinear dynamics, and complex networks.