I develop scientific software with two different purposes. On one hand I develop libraries capable of studying a variety of problems based on certain types of Hamiltonians (tight binding, spin models), those libraries are Python compatible so they can be used with any other Python code . On the other hand, I create user interfaces so that calculations can be performed without the need of actually writing any script, but simply changing certain parameters in a window. These last make use of the Python libraries.

Below you can find a list of the libraries that I have written, most of them still under heavy development. All of them are released under the GPL open source license., you are totally free to use them in any personal project.

Library-based software

Python package oriented towards quantum-lattice tight-binding models

Python package to study quantum many-body models using MPS techniques, based on the library ITensor

Interface-based software

This program allows to calculate different properties in tight-binding models, including non-collinear magnetism, spin-orbit coupling, superconductivity and electronic interactions. The program allow computing interactively band structures, Fermi surfaces, spectral functions, topological invariants, local magnetization, local density of states, among others.

Quantum Lattice system selection

Example usage of Quantum Lattice

SpinFlare is an interactive program that allows to solve one-dimensional quantum many-body spin Hamiltonians. It allows the computation of ground state magnetization, static spin-spin correlators, dynamic spin-spin correlators and excited states. The program uses the matrix-product state formalism, allowing to solve systems with 100 quantum spins in a a few seconds.

The example below shows the calculation of the dynamical structure factor for a S=1 Heisenberg model, showing the emergence of a bulk spin gap and fractionalized zero edge modes.

Qutranpy is an interactive program to perform quantum transport calculations by means of the Landauer and scattering matrix formalism, in a two terminal geometry. The Hamiltonians of leads and scattering region can be modified, adding exchange fields, mass, spin-orbit coupling or superconductivity. It makes use of the library pygra

This is a program with a user friendly interface that allows tu study electronic properties of transition metal atoms over surfaces. It allows to include different types of crystal fields, spin orbit coupling and electronic interactions. It solves the Hamiltonian in the full many body space of the d orbitals, using the configuration interaction (CI) method. It shows automatically all the results in a pdf created in Latex, projecting different operators onto the ground state manifold and showing their representation, as well as the different eigenstates of the system in an easy to read fashion. It also allows to see how degeneracies and eigenvalues evolve with different parameters, allowing the obtain results in a couple seconds.