No description
Find a file
2026-01-21 15:04:46 -05:00
data made data output to data dir 2026-01-21 12:25:29 -05:00
legacy refactored code for multiprocess computing, works well 2026-01-20 07:42:38 -05:00
fu_spikes.csv finished code: now stores to CSV 2026-01-20 08:31:54 -05:00
fu_spikes_vs_d.png finished code: now stores to CSV 2026-01-20 08:31:54 -05:00
invariants_vs_d.png finished code: now stores to CSV 2026-01-20 08:31:54 -05:00
main.py added batch time tracking 2026-01-21 15:04:46 -05:00
plot_invariants.py The program is finished and ready to perform analysis on real quadratic number fields. 2024-11-18 19:25:12 -05:00
README.md Update README.md 2024-12-25 22:19:58 -05:00
test_results refactored code to output to CSV periodically and clear memory for longer computations--successls 2026-01-21 12:21:18 -05:00
track_fu_spikes.py The program is finished and ready to perform analysis on real quadratic number fields. 2024-11-18 19:25:12 -05:00

Quadratic Field Analaysis

Overview

The purpose of this project is to systematically study the properties of real and complex number fields and record them in a JSON file. I wrote the code while I was taking a graduate course in algebraic number theory and I was interested in seeing what patterns there might be in the invariants, specifically in the size of the regulator. The results have been interesting, and upon showing them to my professor, I was able to gain some insight into what was going on.

Explanation of Files

  1. main.py: This is the main file, which allows the user to enter the number of fields to compute, and runs plot_invariants from plot_invariants.py if the number entered is less than 10000. Resulting data is converted to a JSON file and saved to a file.
  2. compute_invariants.py: Computes the values of d, the discriminant, class number, fundamental unit, regulator, and Minkowski bound of a number field.
  3. plot_invariants.py: Plots the values of d, the discriminant, class number, fundamental unit, regulator, and Minkowski bound of a number field. Stores plots to file.
  4. track_fu_spikes.py: This module is meant to track fields where the size of the fundamental unit increases greatly between two fields. It plots the log of the spikes and saves the plot to a file.
  5. first_100k_real_fields.json: The data from the first 100k real quadratic fields, i.e. Q(sqrt(d)) for the first 100k squarefree integers d.
  6. first_100k_imaginary_fields.json: The data from the first 100k imaginary quadratic fields, i.e. Q(sqrt(-d)) for the first 100k squarefree integers d.
  7. invariants_data.json: The output of the program when main.py is run.