- Python 97.2%
- Julia 2.8%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
| balancing-circles | ||
| equation-solver | ||
| finite-algebra | ||
| integer-powers | ||
| nilpotent-matrices | ||
| number-theory | ||
| numerical-pi | ||
| strassen-multiplication | ||
| LICENSE | ||
| README.md | ||
| requirements.txt | ||
Computational Mathematical Discovery
Thomas Wu
Research collaboration with Prof. Eric Grinberg
Department of Mathematics, University of Massachusetts Boston
2022–2025
A curated collection of computational mathematics projects exploring the use of programming for mathematical discovery.
The work translates mathematical definitions and problems into executable algorithms, using computation to generate examples, test patterns and conjectures, conduct numerical and symbolic experiments, and visualize abstract mathematical structures. Selected programs and visualizations were used as demonstrations in Professor Grinberg's teaching on mathematical discovery through software.
Archive note: These projects were developed over several years as part of an ongoing research collaboration. The repository has been reorganized for presentation while preserving the original mathematical ideas, algorithms, and code wherever possible.
Featured projects
1. Balancing Circles — Computational Geometry & Visualization
Computationally explores geometric balancing configurations, enumerates qualifying point/circle structures, and provides an interactive Pygame visualization.
Concepts: computational geometry, combinatorial enumeration, algorithms, visualization.
2. Nilpotent Matrices over Finite Fields — Computational Linear Algebra
Enumerates matrices over finite fields, tests nilpotency through matrix powers modulo a prime, and summarizes computational results.
Concepts: linear algebra, finite fields, combinatorics, exhaustive search, NumPy.
3. Strassen Matrix Multiplication — Algorithms & Complexity
Implements Strassen's recursive matrix multiplication algorithm from first principles for matrices with power-of-two dimensions.
Concepts: divide-and-conquer algorithms, recursion, matrix algebra, computational complexity.
4. Symbolic Equation Solver — Symbolic Computation
An experimental solver developed from first principles for parsing and manipulating systems of equations, including normalization, extraction of known quantities, substitution, and iterative solution propagation.
Concepts: parsing, symbolic computation, numerical representation, iterative algorithms.
Additional experiments
- Finite algebra: executable tests for algebraic properties such as associativity, commutativity, identities, inverses, distributivity, rings, and division rings.
- Numerical π approximation: computational exploration of circumference-based approximation and numerical error.
- Number theory: experiments involving prime gaps, twin primes, primes modulo 3, and prime counting, including Python and Julia implementations.
- Integer powers: exploratory computational search related to sums and powers of integers.
Repository structure
balancing-circles/ Computational geometry and visualization
nilpotent-matrices/ Finite-field matrix enumeration
strassen-multiplication/ Recursive matrix multiplication
equation-solver/ Symbolic equation manipulation
finite-algebra/ Computational abstract algebra
numerical-pi/ Numerical approximation experiments
number-theory/ Prime-number experiments
integer-powers/ Integer-power exploration
Languages and tools
Python · Julia · R (in the broader research archive) · NumPy · Pygame · computational visualization
Research context
This repository presents selected work from a broader collection of exploratory programs, mathematical notes, generated results, and literature review materials. It intentionally excludes most intermediate drafts, duplicate versions, large generated outputs, and third-party literature PDFs so that the repository focuses on original computational work.
License
This project is licensed under the MIT License. See LICENSE for details.
