Skip to content
View natemacfadden's full-sized avatar
πŸ“
πŸ“

Block or report natemacfadden

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Maximum 250 characters. Please don't include any personal information such as legal names or email addresses. Markdown supported. This note will be visible to only you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
natemacfadden/README.md

Nate MacFadden

See my first bonsai 'Paco'
(named after one of my favorite
mathematicians). I've grown quite
fond of these trees β€” I now have
4.5, including a Japanese maple,
redwood, and spruce.

Ph.D. candidate at Cornell. I work on computational geometry (regular triangulations ❀️) and string compactifications, with a soft spot for problems where an efficient algorithm changes what's computationally possible.

Languages: C, C++, Python, Cython


ML Work

  • The DNA of Calabi-Yau Hypersurfaces β€” Applied the NTFE encoding (2-face restrictions) to the combinatorial optimization task of generating Batyrevian Calabi-Yau hypersurfaces (constructed via regular triangulations of 4D reflexive polytopes) targeting various objectives. Tested this encoding on search spaces up to ~500M candidates with a range of optimization methods, including genetic algorithms, best first search, simulated annealing, and MCMC. The GA significantly outperformed MCMC and simulated annealing.

Software & Algorithms

  • NTFE algorithm β€” Simple algorithm for generating regular triangulations of reflexive polytopes with distinct 2-face restrictions, exponentially quicker than previous methods. Such triangulations lead to potentially-inequivalent Calabi-Yau manifolds via Batyrev's construction. Bounds on NTFE counts established in this work. This algorithm is implemented in CYTools.
  • CYTools β€” Lead developer and maintainer of the standard toolkit for studying Batyrevian CY compactifications in string theory. Major contributions include:
    1. a generalization to vex triangulations via regfans, and
    2. a significantly faster intersection number kernel (see fanroots for an application of this).
  • latticepts β€” High-performance C/Cython implementation of Kannan's lattice point enumeration algorithm, substantially faster than Normaliz and OR-Tools CP-SAT with better scaling. As one performance example: latticepts generates ~107M lattice points in the strict interior of an example 7D cone (arXiv:2406.13751) in ~23s.
  • regfans β€” Python package for regular triangulations of integral vector configurations, associated with Calabi-Yau Threefolds from Vex Triangulations.
  • fanroots β€” Optimization library for finding roots of vector-valued functions defined over the secondary fan of point/vector configurations, designed for optimization tasks such as those occurring in Candidate de Sitter Vacua.
  • pfvs (coming soon... when the rest of the paper is ready) β€” C/Cython algorithm (with some Python prep) for generating (coni-)PFVs orders of magnitude faster than previous methods, with significantly better scaling.
  • FastAerosol β€” C++ 'advanced example' contributed to GEANT4 for stochastic simulation of particle transport through aerosol geometries via voxelized droplet generation, with attention to time and memory efficiency. Associated with this paper.

For fun

I put some more recreational projects in ntt. This includes a random, fine, pushing triangulation algorithm written in C and a cute game for visualizing flips of vector configurations and the vex triangulations that these flips lead to.

Pinned Loading

  1. latticepts latticepts Public

    For finding lattice vectors in cones

    Python 1

  2. LiamMcAllisterGroup/cytools LiamMcAllisterGroup/cytools Public

    A software package for analyzing Calabi-Yau manifolds.

    Python 41 15

  3. regfans regfans Public

    For working with regular triangulations of integral vector configurations

    Python 2

  4. fanroots fanroots Public

    Optimization library for functions defined over the secondary fan

    Python 1