I am Egor Lappo! I am currently a PhD student in the Department of Biology at Stanford University, working with Prof. Noah Rosenberg.

I am interested in data, math, evolution, populations, and culture. In 2022, I have graduated with a B.S. with Honors in Mathematics from Stanford. I was advised by Ciprian Manolescu.

Apart from research, I am interested in chess, knitting, functional programming, music, and video essays on YouTube.

You can take a look at my CV or my Google Scholar profile for more information!


Egor Lappo, Noah Rosenberg. (2024) “Solving the Arizona search problem by imputation.” iScience. 10.1016/j.isci.2024.108831.

Egor Lappo and Noah Rosenberg. (2024) “A lattice structure for ancestral configurations arising from the relationship between gene trees and species trees.” Discrete Applied Mathematics. 343: 65-81. 10.1016/j.dam.2023.09.033.

Egor Lappo, Noah Rosenberg, and Marcus Feldman. (2023) “Cultural transmission of move choice in chess.” Proc. R. Soc. B. 290: 20231634. 10.1098/rspb.2023.1634.

Egor Lappo. (2023) “Concordance of spatial graphs.” Canadian Mathematical Bulletin. 66(4): 1091-1108. 10.4153/S000843952300019X.

Egor Lappo, Kaleda Denton, and Marcus Feldman. (2023) “Conformity and anti-conformity in a finite population.” Journal of Theoretical Biology. 563: 111429. 10.1016/j.jtbi.2023.111429.

Egor Alimpiev and Noah Rosenberg. (2022) “A compendium of covariances and correlation coefficients of coalescent tree properties.” Theoretical Population Biology. 143: 1-13. 10.1016/j.tpb.2021.09.008.

Egor Lappo and Noah Rosenberg. (2022) “Approximations to the expectations and variances of ratios of tree properties under the coalescent.” G3 Genes|Genomes|Genetics. 10.1093/g3journal/jkac205.

Egor Alimpiev and Noah Rosenberg. (2021) “Enumeration of coalescent histories for caterpillar species trees and p-pseudocaterpillar gene trees.” Advances in Applied Mathematics. 131: 102265. 10.1016/j.aam.2021.102265.


Here are the most recent articles I’ve written:

You can find all my posts on the blog page.


Here are some of my coding projects you might find useful.

  • rustwf is a program to run simulations of Wright-Fisher models that I have written while learning Rust. It is exceptionally simple, but also really fast!
  • tree_graphics is a small Haskell program that draws trees given their Newick encoding. I use it when I need example trees for presentations or papers.
  • The Python code in the ac_lattices repository can be used to compute lattices of ancestral configurations and draw every figure in the “lattice paper” (arXiv).