Research topics

My main area of research is the fundamentals and applications of coding theory from an algebraic point of view. Coding theory has evolved since its emergence to support a variety of applications. Bespoke codes must now satisfy ever-changing technological needs. I exploit the property that every linear code can be represented as an evaluation code (a code that depends on an algebraic structure). Thus, I bring tools from pure mathematics, such as commutative algebra, algebraic geometry, and combinatorics, to the area of coding theory. This bridge allows me to construct families of linear codes with the desirable properties that satisfy the most demanding and particular technological needs. I research rank-metric codes, where one of my main goals is to algebraically and combinatorially describe its parameters and applications to post-quantum cryptography throughout code-based crypto.


Coding theory is the study of error-correcting codes and their associated mathematics. An error-correcting code encodes information that travels through a noisy communication channel so that the original message can be recovered even though errors have occurred during the process. In a few words, the information to be sent turns into a binary string. It is transmitted through a telephone, radio, satellite, etc. When it reaches its destination, the binary string may not have the same digits because of human errors, electronic failures, weather, etc. An algorithm should be able to detect the errors and thus recover the original message.


Commutative algebra is a mathematical branch that studies commutative objects and their properties. I am mainly interested in the theory of vanishing ideals, for instance: lattice ideals, Gröbner basis, Hilbert functions, degree, dimension, etc.


Network coding is a powerful scheme for information transmission in a network. This technique arises when packets of information need to pass through several nodes, where errors caused by noise or intentional jamming or combination with other packets in intermediate nodes may have occurred. For network coding, I use mainly basic results of combinatorics, optimization, graph theory, and algebraic geometry.


I am interested in representing binary objects in two and three dimensions in computer science. In this area, I use basic tools, like linear algebra and programming in MatLab or C. Something that I really enjoy about this field is the applications because they are wide-ranging.