Computational Mathematics &
Pólya Enumeration Algorithms
Numerical algorithm design for exact combinatorial counting under finite group action. Published in the ACM Journal of Experimental Algorithmics / TOMS (DOI: 10.1145/2955094).
Applied Mathematics & Optimization
Rigorous mathematical optimization and numerical algorithms for scientific computing and deterministic AI.
Non-convex parameter spaces, coordinate descent convergence guarantees, and floating-point roundoff error.
Provable convergence algorithms, Fortran-to-Python test frameworks (Fortpy), and published computational benchmarks.
"Numerical Algorithm for Pólya Enumeration Theorem"
Authors: Conrad W. Rosenbrock, Wiley S. Morgan, Gus L. W. Hart, Stefano Curtarolo, Rodney W. Forcade.
Journal: ACM Journal of Experimental Algorithmics (JEA) / TOMS, Vol. 21, 2016.
Numerical Cycle Index Formulation & Monomial Extractor
Translating finite group generators into exact symmetry-reduced coloring counts without symbolic polynomial expansion bottlenecks.
Technical Contributions & Algorithmic Innovations
Key mathematical breakthroughs and software engineering achievements published in the ACM paper and open-source codebase:
- ✓Numerical Cycle Index Formulation: Formulated general numerical algorithm that calculates cycle index polynomials directly from permutation generators in cycle notation.
- ✓Elimination of Symbolic Algebra: Bypassed symbolic polynomial expansions and computer algebra system (CAS) dependencies using multi-index tensor dynamic programming.
- ✓High-Performance Fortran 90 Core: Authored Fortran 90 core module with zero dynamic heap allocations in inner loops for massive-throughput materials enumeration pipelines.
- ✓Dual Python / Fortran Architecture: Created accessible high-level Python CLI (
polya.py) alongside optimized Fortran 90 engine with identical numerical accuracy. - ✓Fortpy Automated Validation: Built 100% unit-test coverage suite executed via
fortpyvalidating hundreds of permutation group orders and colorings. - ✓Peer-Reviewed ACM JEA / TOMS Publication: Co-authored and published in ACM Journal of Experimental Algorithmics (2016), cited in crystallography and discrete mathematics.
Group Symmetry Generators (CLI)
Input group generators are specified in cycle notation (e.g. Dihedral group $ of the square). The algorithm constructs the cycle index polynomial dynamically and evaluates polynomial coefficients.
# Example: Counting unique 2-colorings of square corners with 2 corners per color
./polya.py 2 2 -generators generators.in.paper
# Output: Number of symmetrically unique colorings
Unique Colorings Count: 2
High-Performance Fortran 90 Core
Accompanied by a 100% unit-tested Fortran 90 core module for ultra-fast evaluation in large-scale cluster expansion and thermodynamic enumeration pipelines.
use polya_core, only: polyas_theorem
integer :: counts, colors(2) = [2, 2]
! Fast numerical evaluation with zero heap allocations
call polyas_theorem(group_gens, colors, counts)
write(*,*) "Unique configurations: ", counts