NumberFields@Home: Difference between revisions

Al Piskun (talk | contribs)
No edit summary
Al Piskun (talk | contribs)
re-add references
Line 1: Line 1:
{{Infobox software
{{Infobox software
| name                = NumberFields@Home
| name                = NumberFields@Home
| logo                = Nf.jpg
| logo                = NumberFields logo.png
| logo caption        = NumberFields@Home logo
| logo caption        = NumberFields@Home logo
| status              = Active
| status              = Active
Line 28: Line 28:
== Background ==
== Background ==


Fields are important mathematical constructs with far-reaching applications across many branches of mathematics. Most people are familiar with everyday examples such as the field of [[wikipedia:Rational_number|rational numbers]] <math>\mathbf{Q}</math>, the [[wikipedia:Real_number|real numbers]] <math>\mathbf{R}</math>, and the [[wikipedia:Complex_number|complex numbers]] <math>\mathbf{C}</math>. The fields studied by NumberFields@Home are '''[[wikipedia:Algebraic_number_field|number fields]]''': algebraic extension fields of the rationals of finite degree. More precisely, a number field is a subset of <math>\mathbf{C}</math> which contains the root <math>\alpha</math> of a given polynomial and is minimal while remaining closed under addition, subtraction, multiplication, and division (excepting division by zero).{{cite web |title=What is NumberFields@home? |url=https://numberfields.asu.edu/NumberFields/ |publisher=Arizona State University |access-date=2026-05-29}}
Fields are important mathematical constructs with far-reaching applications across many branches of mathematics. Most people are familiar with everyday examples such as the field of [[wikipedia:Rational_number|rational numbers]] <math>\mathbf{Q}</math>, the [[wikipedia:Real_number|real numbers]] <math>\mathbf{R}</math>, and the [[wikipedia:Complex_number|complex numbers]] <math>\mathbf{C}</math>. The fields studied by NumberFields@Home are '''[[wikipedia:Algebraic_number_field|number fields]]''': algebraic extension fields of the rationals of finite degree. More precisely, a number field is a subset of <math>\mathbf{C}</math> which contains the root <math>\alpha</math> of a given polynomial and is minimal while remaining closed under addition, subtraction, multiplication, and division (excepting division by zero).<ref>{{cite web |title=What is NumberFields@home? |url=https://numberfields.asu.edu/NumberFields/ |publisher=Arizona State University |access-date=2026-05-29}}</ref>


Formally, every number field <math>K</math> of degree <math>n</math> over <math>\mathbf{Q}</math> may be written as
Formally, every number field <math>K</math> of degree <math>n</math> over <math>\mathbf{Q}</math> may be written as
Line 35: Line 35:
<math>K = \mathbf{Q}(\alpha)</math>
<math>K = \mathbf{Q}(\alpha)</math>


where <math>\alpha</math> is a root of some irreducible polynomial of degree <math>n</math> with rational coefficients.{{cite web |title=Algebraic number field |url=https://en.wikipedia.org/wiki/Algebraic_number_field |publisher=Wikipedia |access-date=2026-05-29}} The project is principally interested in '''imprimitive degree-10 fields''' (called '''decic fields'''), which correspond to certain degree-10 polynomials. An imprimitive field is one that contains a proper intermediate subfield strictly between <math>\mathbf{Q}</math> and itself, as opposed to primitive fields whose Galois closure has an irreducible Galois group.
where <math>\alpha</math> is a root of some irreducible polynomial of degree <math>n</math> with rational coefficients.<ref>{{cite web |title=Algebraic number field |url=https://en.wikipedia.org/wiki/Algebraic_number_field |publisher=Wikipedia |access-date=2026-05-29}}</ref> The project is principally interested in '''imprimitive degree-10 fields''' (called '''decic fields'''), which correspond to certain degree-10 polynomials. An imprimitive field is one that contains a proper intermediate subfield strictly between <math>\mathbf{Q}</math> and itself, as opposed to primitive fields whose Galois closure has an irreducible Galois group.


Number theorists can mine tabulated data for patterns to help formulate conjectures about number fields, leading to a deeper understanding of the properties of numbers, the basic building blocks of all mathematics. Among the practical applications are [[wikipedia:Cryptography|'''''cryptography''''']], where number fields underpin sophisticated factoring algorithms and novel cryptosystems, and theoretical physics including [[wikipedia:Quantum_mechanics|'''''quantum mechanics''''']] and [[wikipedia:String_theory|'''''string theory''''']].{{cite web |title=NumberFields@home project description |url=https://numberfields.asu.edu/NumberFields/ProjectDescription.html |publisher=Arizona State University |access-date=2026-05-29}}
Number theorists can mine tabulated data for patterns to help formulate conjectures about number fields, leading to a deeper understanding of the properties of numbers, the basic building blocks of all mathematics. Among the practical applications are [[wikipedia:Cryptography|'''''cryptography''''']], where number fields underpin sophisticated factoring algorithms and novel cryptosystems, and theoretical physics including [[wikipedia:Quantum_mechanics|'''''quantum mechanics''''']] and [[wikipedia:String_theory|'''''string theory''''']].<ref>{{cite web |title=NumberFields@home project description |url=https://numberfields.asu.edu/NumberFields/ProjectDescription.html |publisher=Arizona State University |access-date=2026-05-29}}</ref>


== History ==
== History ==


The project was founded by '''Eric D. Driver''', a researcher associated with the [https://math.asu.edu/ School of Mathematics] at '''[[wikipedia:Arizona_State_University|Arizona State University]]''' (ASU). Driver recognised that computing lower-degree number fields requires comparatively modest resources and that such fields had already been extensively tabulated, but the degree-10 case was the first case demanding a massively parallel computational solution. After reading an [https://www.linux-magazine.com/Issues/2006/71/BOINC/ article in ''Linux Magazine''] about BOINC and knowing the mathematics department had access to a suitable workstation, he launched NumberFields@Home to meet the computational demand.{{cite web |title=NumberFields@home - Methods |url=https://numberfields.asu.edu/NumberFields/ProjectDescription.html |publisher=Arizona State University |access-date=2026-05-29}}
The project was founded by '''Eric D. Driver''', a researcher associated with the [https://math.asu.edu/ School of Mathematics] at '''[[wikipedia:Arizona_State_University|Arizona State University]]''' (ASU). Driver recognised that computing lower-degree number fields requires comparatively modest resources and that such fields had already been extensively tabulated, but the degree-10 case was the first case demanding a massively parallel computational solution. After reading an [https://www.linux-magazine.com/Issues/2006/71/BOINC/ article in ''Linux Magazine''] about BOINC and knowing the mathematics department had access to a suitable workstation, he launched NumberFields@Home to meet the computational demand.<ref>{{cite web |title=NumberFields@home - Methods |url=https://numberfields.asu.edu/NumberFields/ProjectDescription.html |publisher=Arizona State University |access-date=2026-05-29}}</ref>


The project went online in '''August 2011'''. In an early forum post, Driver noted that the project had been under construction and work-generation processes still needed automation - yet the response from the distributed computing community was enthusiastic enough to quickly exhaust the initial work queue.{{cite web |title=NumberFields@home still under construction |url=https://numberfields.asu.edu/NumberFields/forum_thread.php?id=1 |publisher=numberfields.asu.edu |date=8 August 2011 |access-date=2026-05-29}}
The project went online in '''August 2011'''. In an early forum post, Driver noted that the project had been under construction and work-generation processes still needed automation - yet the response from the distributed computing community was enthusiastic enough to quickly exhaust the initial work queue.<ref>{{cite web |title=NumberFields@home still under construction |url=https://numberfields.asu.edu/NumberFields/forum_thread.php?id=1 |publisher=numberfields.asu.edu |date=8 August 2011 |access-date=2026-05-29}}</ref>


A significant milestone arrived in '''May 2016''', when the primary ''bounded'' application completed its multi-year search and found all imprimitive degree-10 fields with absolute discriminant less than or equal to <math>1.2 \times 10^{11}</math>. In '''July 2016''', a focused special search located a particularly elusive hypothesised field: an <math>A_5</math> extension of <math>\mathbf{Q}(\sqrt{421})</math> ramified only at 2, after roughly ten months of intermittent searching.{{cite web |title=2016 year in review |url=https://numberfields.asu.edu/NumberFields/forum_thread.php?id=310 |publisher=numberfields.asu.edu |date=14 January 2017 |access-date=2026-05-29}}
A significant milestone arrived in '''May 2016''', when the primary ''bounded'' application completed its multi-year search and found all imprimitive degree-10 fields with absolute discriminant less than or equal to <math>1.2 \times 10^{11}</math>. In '''July 2016''', a focused special search located a particularly elusive hypothesised field: an <math>A_5</math> extension of <math>\mathbf{Q}(\sqrt{421})</math> ramified only at 2, after roughly ten months of intermittent searching.<ref>{{cite web |title=2016 year in review |url=https://numberfields.asu.edu/NumberFields/forum_thread.php?id=310 |publisher=numberfields.asu.edu |date=14 January 2017 |access-date=2026-05-29}}</ref>


In '''August 2022''', Driver shared news that his doctoral thesis advisor - the project's primary institutional benefactor at ASU - had retired. While the university permitted the project to continue running, it would no longer fund hardware upgrades, meaning the project's lifespan is now tied to the longevity of the existing server hardware.{{cite web |title=Future of the Project |url=https://numberfields.asu.edu/NumberFields/forum_thread.php?id=520 |publisher=numberfields.asu.edu |date=10 August 2022 |access-date=2026-05-29}} As of 2026, NumberFields@Home remains active, collaborating with the '''[[wikipedia:BOINC|BOINC]]'''-based [https://gerasim.boinc.ru/ Gerasim@Home] project to cross-check and complete certain sub-searches.{{cite web |title=2025 Year End Summary |url=https://numberfields.asu.edu/NumberFields |publisher=numberfields.asu.edu |date=1 January 2026 |access-date=2026-05-29}}
In '''August 2022''', Driver shared news that his doctoral thesis advisor - the project's primary institutional benefactor at ASU - had retired. While the university permitted the project to continue running, it would no longer fund hardware upgrades, meaning the project's lifespan is now tied to the longevity of the existing server hardware.<ref>{{cite web |title=Future of the Project |url=https://numberfields.asu.edu/NumberFields/forum_thread.php?id=520 |publisher=numberfields.asu.edu |date=10 August 2022 |access-date=2026-05-29}}</ref> As of 2026, NumberFields@Home remains active, collaborating with the '''[[wikipedia:BOINC|BOINC]]'''-based [https://gerasim.boinc.ru/ Gerasim@Home] project to cross-check and complete certain sub-searches.<ref>{{cite web |title=2025 Year End Summary |url=https://numberfields.asu.edu/NumberFields |publisher=numberfields.asu.edu |date=1 January 2026 |access-date=2026-05-29}}</ref>


== Why NumberFields@Home? ==
== Why NumberFields@Home? ==
Line 64: Line 64:
<math>B = 1.2 \times 10^{11}</math>
<math>B = 1.2 \times 10^{11}</math>


This bound was chosen for its potential to find more fields while keeping the computational load manageable.{{cite web |title=NumberFields@home project description |url=https://numberfields.asu.edu/NumberFields/ProjectDescription.html |publisher=Arizona State University |access-date=2026-05-29}} That search was completed in May 2016.{{cite web |title=2016 year in review |url=https://numberfields.asu.edu/NumberFields/forum_thread.php?id=310 |publisher=numberfields.asu.edu |date=14 January 2017 |access-date=2026-05-29}}
This bound was chosen for its potential to find more fields while keeping the computational load manageable.<ref>{{cite web |title=NumberFields@home project description |url=https://numberfields.asu.edu/NumberFields/ProjectDescription.html |publisher=Arizona State University |access-date=2026-05-29}}</ref> That search was completed in May 2016.<ref>{{cite web |title=2016 year in review |url=https://numberfields.asu.edu/NumberFields/forum_thread.php?id=310 |publisher=numberfields.asu.edu |date=14 January 2017 |access-date=2026-05-29}}</ref>


[[Image:Polynomialdeg3.png|right|thumb|250px|The graph of a degree-3 polynomial. NumberFields@Home searches over polynomials of degree 10 whose roots generate number fields with prescribed properties.]]
[[Image:Polynomialdeg3.png|right|thumb|250px|The graph of a degree-3 polynomial. NumberFields@Home searches over polynomials of degree 10 whose roots generate number fields with prescribed properties.]]
Line 72: Line 72:
Computing lower-degree fields requires less processing power and such fields have been more extensively tabulated; the degree-10 case is the first case requiring a massively parallel solution. Finite extension fields are represented by polynomials - that is, they are of the form <math>\mathbf{Q}(\alpha)</math>, where <math>\alpha</math> is the root of a polynomial. Bounds on the field discriminant give rise to bounds on the polynomial coefficients, so there are a finite number of possible polynomials that can represent the fields being searched for.
Computing lower-degree fields requires less processing power and such fields have been more extensively tabulated; the degree-10 case is the first case requiring a massively parallel solution. Finite extension fields are represented by polynomials - that is, they are of the form <math>\mathbf{Q}(\alpha)</math>, where <math>\alpha</math> is the root of a polynomial. Bounds on the field discriminant give rise to bounds on the polynomial coefficients, so there are a finite number of possible polynomials that can represent the fields being searched for.


At the most basic level, the NumberFields@Home algorithm searches over this finite set of polynomials, checking whether or not a given polynomial can represent a field with the desired discriminant and ramification properties. At a finer level, the algorithm uses theoretical arguments to reduce the polynomial search space. In addition, the targeted ramification structure gives rise to congruence relations on the polynomial coefficients, which further reduces the search space. Anybody interested in the finer details of the algorithm is encouraged to look through [https://numberfields.asu.edu/NumberFields/Dissertation.pdf Eric D. Driver's doctoral dissertation].{{cite web |title=Eric D. Driver's dissertation |url=https://numberfields.asu.edu/NumberFields/Dissertation.pdf |publisher=Arizona State University |access-date=2026-05-29}}
At the most basic level, the NumberFields@Home algorithm searches over this finite set of polynomials, checking whether or not a given polynomial can represent a field with the desired discriminant and ramification properties. At a finer level, the algorithm uses theoretical arguments to reduce the polynomial search space. In addition, the targeted ramification structure gives rise to congruence relations on the polynomial coefficients, which further reduces the search space. Anybody interested in the finer details of the algorithm is encouraged to look through [https://numberfields.asu.edu/NumberFields/Dissertation.pdf Eric D. Driver's doctoral dissertation].<ref>{{cite web |title=Eric D. Driver's dissertation |url=https://numberfields.asu.edu/NumberFields/Dissertation.pdf |publisher=Arizona State University |access-date=2026-05-29}}</ref>


=== Software stack ===
=== Software stack ===


The application relies on two key open-source libraries:{{cite web |title=GPU app status update |url=https://tsbt.co.uk/forum/viewtopic.php?t=12560 |publisher=The Scottish BOINC Team |access-date=2026-05-29}}
The application relies on two key open-source libraries:<ref>{{cite web |title=GPU app status update |url=https://tsbt.co.uk/forum/viewtopic.php?t=12560 |publisher=The Scottish BOINC Team |access-date=2026-05-29}}</ref>


* '''[[wikipedia:PARI/GP|PARI/GP]]''' - a computer algebra system widely used in number theory, providing polynomial arithmetic and discriminant computations.
* '''[[wikipedia:PARI/GP|PARI/GP]]''' - a computer algebra system widely used in number theory, providing polynomial arithmetic and discriminant computations.
* '''[[wikipedia:GNU_Multiple_Precision_Arithmetic_Library|GMP]]''' (GNU Multiple Precision Arithmetic Library) - multi-precision integer arithmetic, necessary because the integers involved can exceed standard 64-bit representation.
* '''[[wikipedia:GNU_Multiple_Precision_Arithmetic_Library|GMP]]''' (GNU Multiple Precision Arithmetic Library) - multi-precision integer arithmetic, necessary because the integers involved can exceed standard 64-bit representation.


A significant technical challenge arose during GPU application development: both PARI/GP and GMP rely on dynamically allocated memory, which is incompatible with GPU kernels. Driver solved this by using a fixed-precision multi-precision library with precision hard-coded to the maximum required (approximately 750 bits), allowing compilation of a working GPU kernel.{{cite web |title=GPU app status update (The Scottish BOINC Team) |url=https://tsbt.co.uk/forum/viewtopic.php?t=12560 |publisher=tsbt.co.uk |access-date=2026-05-29}}
A significant technical challenge arose during GPU application development: both PARI/GP and GMP rely on dynamically allocated memory, which is incompatible with GPU kernels. Driver solved this by using a fixed-precision multi-precision library with precision hard-coded to the maximum required (approximately 750 bits), allowing compilation of a working GPU kernel.<ref>{{cite web |title=GPU app status update (The Scottish BOINC Team) |url=https://tsbt.co.uk/forum/viewtopic.php?t=12560 |publisher=tsbt.co.uk |access-date=2026-05-29}}</ref>


=== Application versions ===
=== Application versions ===


The project currently distributes its '''Get Decic Fields''' application in multiple variants targeting different hardware:{{cite web |title=NumberFields@home Applications |url=https://numberfields.asu.edu/NumberFields/apps.php |publisher=Arizona State University |access-date=2026-05-29}}
The project currently distributes its '''Get Decic Fields''' application in multiple variants targeting different hardware:<ref>{{cite web |title=NumberFields@home Applications |url=https://numberfields.asu.edu/NumberFields/apps.php |publisher=Arizona State University |access-date=2026-05-29}}</ref>


{| class="wikitable"
{| class="wikitable"
Line 105: Line 105:
|}
|}


The GPU application is reported to be roughly 20 to 30 times faster than the older CPU version, and 2 to 3 times faster than a newer optimised CPU version released alongside the GPU work.{{cite web |title=GPU app status update |url=https://tsbt.co.uk/forum/viewtopic.php?t=12560 |publisher=The Scottish BOINC Team |access-date=2026-05-29}} The combined average computing across all platforms is approximately '''47,566 GigaFLOPS'''.{{cite web |title=NumberFields@home Applications |url=https://numberfields.asu.edu/NumberFields/apps.php |publisher=Arizona State University |access-date=2026-05-29}}
The GPU application is reported to be roughly 20 to 30 times faster than the older CPU version, and 2 to 3 times faster than a newer optimised CPU version released alongside the GPU work.<ref>{{cite web |title=GPU app status update |url=https://tsbt.co.uk/forum/viewtopic.php?t=12560 |publisher=The Scottish BOINC Team |access-date=2026-05-29}}</ref> The combined average computing across all platforms is approximately '''47,566 GigaFLOPS'''.<ref>{{cite web |title=NumberFields@home Applications |url=https://numberfields.asu.edu/NumberFields/apps.php |publisher=Arizona State University |access-date=2026-05-29}}</ref>


=== Results database ===
=== Results database ===


The results of NumberFields@Home contribute to an online searchable number field database maintained jointly by John W. Jones and David P. Roberts at ASU. Tabulated results are also integrated into the '''[[wikipedia:L-functions_and_Modular_Forms_Database|LMFDB]]''' (L-functions and Modular Forms Database).{{cite web |title=NumberFields@home |url=https://numberfields.asu.edu/NumberFields/ |publisher=Arizona State University |access-date=2026-05-29}}{{cite journal |last1=Jones |first1=John W. |last2=Roberts |first2=David P. |title=A database of number fields |journal=LMS Journal of Computation and Mathematics |year=2014 |volume=17 |pages=595-618 |doi=10.1112/S1461157014000424}}
The results of NumberFields@Home contribute to an online searchable number field database maintained jointly by John W. Jones and David P. Roberts at ASU. Tabulated results are also integrated into the '''[[wikipedia:L-functions_and_Modular_Forms_Database|LMFDB]]''' (L-functions and Modular Forms Database).<ref>{{cite web |title=NumberFields@home |url=https://numberfields.asu.edu/NumberFields/ |publisher=Arizona State University |access-date=2026-05-29}}</ref><ref>{{cite journal |last1=Jones |first1=John W. |last2=Roberts |first2=David P. |title=A database of number fields |journal=LMS Journal of Computation and Mathematics |year=2014 |volume=17 |pages=595-618 |doi=10.1112/S1461157014000424}}</ref>


== Research areas ==
== Research areas ==
Line 142: Line 142:


* '''Eric D. Driver''' - Project founder, administrator, developer, and scientist. [https://math.asu.edu/ School of Mathematics] at Arizona State University.
* '''Eric D. Driver''' - Project founder, administrator, developer, and scientist. [https://math.asu.edu/ School of Mathematics] at Arizona State University.
* '''Greg Tucker''' - assists Driver with the project and its applications.{{cite web |title=NumberFields@home user profiles |url=https://numberfields.asu.edu/NumberFields/user_profile/profile_country_United_States_1.html |publisher=numberfields.asu.edu |access-date=2026-05-29}}
* '''Greg Tucker''' - assists Driver with the project and its applications.<ref>{{cite web |title=NumberFields@home user profiles |url=https://numberfields.asu.edu/NumberFields/user_profile/profile_country_United_States_1.html |publisher=numberfields.asu.edu |access-date=2026-05-29}}</ref>


The project is based at and was sponsored by the ASU School of Mathematics. Following the retirement of Driver's thesis advisor in May 2022, the primary institutional sponsorship ended, though ASU has permitted the project to continue on existing hardware.{{cite web |title=Future of the Project |url=https://numberfields.asu.edu/NumberFields/forum_thread.php?id=520 |publisher=numberfields.asu.edu |date=10 August 2022 |access-date=2026-05-29}}
The project is based at and was sponsored by the ASU School of Mathematics. Following the retirement of Driver's thesis advisor in May 2022, the primary institutional sponsorship ended, though ASU has permitted the project to continue on existing hardware.<ref>{{cite web |title=Future of the Project |url=https://numberfields.asu.edu/NumberFields/forum_thread.php?id=520 |publisher=numberfields.asu.edu |date=10 August 2022 |access-date=2026-05-29}}</ref>


== Scientific results ==
== Scientific results ==