-
Notifications
You must be signed in to change notification settings - Fork 40
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Eisenstein integers #118
Comments
Sounds like an interesting issue, I'll put this in my TODO list. |
rockbmb
added a commit
to rockbmb/arithmoi
that referenced
this issue
Aug 9, 2018
rockbmb
added a commit
to rockbmb/arithmoi
that referenced
this issue
Aug 9, 2018
rockbmb
added a commit
to rockbmb/arithmoi
that referenced
this issue
Aug 10, 2018
rockbmb
added a commit
to rockbmb/arithmoi
that referenced
this issue
Aug 11, 2018
rockbmb
added a commit
to rockbmb/arithmoi
that referenced
this issue
Aug 12, 2018
The `Num EisensteinInteger` instance now works properly, and there is now division over the Euclidean domain of `EisensteinIntegers`.
rockbmb
added a commit
to rockbmb/arithmoi
that referenced
this issue
Aug 12, 2018
rockbmb
added a commit
to rockbmb/arithmoi
that referenced
this issue
Aug 12, 2018
rockbmb
added a commit
to rockbmb/arithmoi
that referenced
this issue
Aug 13, 2018
rockbmb
added a commit
to rockbmb/arithmoi
that referenced
this issue
Aug 13, 2018
The `Num EisensteinInteger` instance now works properly, and there is now division over the Euclidean domain of `EisensteinIntegers`.
rockbmb
added a commit
to rockbmb/arithmoi
that referenced
this issue
Aug 13, 2018
rockbmb
added a commit
to rockbmb/arithmoi
that referenced
this issue
Aug 15, 2018
The tests for `divModE` fail, so the reason for the function's incorrect behavior is under investigation. `divModE'` is a similar division algorith used for `GaussianIntegers` that works, if no other way to fix the current process used by `divModE`, `divModE'` will be used instead.
rockbmb
added a commit
to rockbmb/arithmoi
that referenced
this issue
Aug 16, 2018
The tests for `divModE` fail, so the reason for the function's incorrect behavior is under investigation. `divModE'` is a similar division algorith used for `GaussianIntegers` that works, if no other way to fix the current process used by `divModE`, `divModE'` will be used instead.
rockbmb
added a commit
to rockbmb/arithmoi
that referenced
this issue
Aug 16, 2018
rockbmb
added a commit
to rockbmb/arithmoi
that referenced
this issue
Aug 16, 2018
The tests for `divModE` fail, the reason for the function's incorrect behavior is under investigation. `divModE'` is a similar division algorith used for `GaussianIntegers` that works, if no other way to fix the current process used by `divModE`, `divModE'` will be used instead.
rockbmb
added a commit
to rockbmb/arithmoi
that referenced
this issue
Aug 16, 2018
rockbmb
added a commit
to rockbmb/arithmoi
that referenced
this issue
Aug 16, 2018
rockbmb
added a commit
to rockbmb/arithmoi
that referenced
this issue
Aug 16, 2018
rockbmb
added a commit
to rockbmb/arithmoi
that referenced
this issue
Aug 16, 2018
rockbmb
added a commit
to rockbmb/arithmoi
that referenced
this issue
Aug 16, 2018
Closed
rockbmb
added a commit
to rockbmb/arithmoi
that referenced
this issue
Aug 22, 2018
rockbmb
added a commit
to rockbmb/arithmoi
that referenced
this issue
Aug 22, 2018
rockbmb
added a commit
to rockbmb/arithmoi
that referenced
this issue
Aug 22, 2018
rockbmb
added a commit
to rockbmb/arithmoi
that referenced
this issue
Aug 22, 2018
rockbmb
added a commit
to rockbmb/arithmoi
that referenced
this issue
Aug 23, 2018
In addition, the `isPrime` function has been fixed as it contained two errors. - Firstly, it checked if the norm of an Eisenstein integer was congruent to 0 modulo 3, which is not necessary because it is supposed to be a prime integer. - Secondly, it did not account for the possibility of an Eisenstein integer being the product of an integer prime and an Eisenstein unit. For example, `isPrime 11` would be `True`, but `isPrime $ 11 * (1 + ω)` would be `False`, which is incorrect.
rockbmb
added a commit
to rockbmb/arithmoi
that referenced
this issue
Aug 23, 2018
In addition, the `isPrime` function has been fixed as it contained two errors. - Firstly, it checked if the norm of an Eisenstein integer was congruent to 0 modulo 3, which is not necessary because it is supposed to be a prime integer. This is only valid for `1 - ω`, which has been moved into its own patter match. - Secondly, it did not account for the possibility of an Eisenstein integer being the product of an integer prime and an Eisenstein unit. For example, `isPrime 11` would be `True`, but `isPrime $ 11 * (1 + ω)` would be `False`, which is incorrect.
rockbmb
added a commit
to rockbmb/arithmoi
that referenced
this issue
Aug 23, 2018
rockbmb
added a commit
to rockbmb/arithmoi
that referenced
this issue
Aug 23, 2018
rockbmb
added a commit
to rockbmb/arithmoi
that referenced
this issue
Aug 24, 2018
rockbmb
added a commit
to rockbmb/arithmoi
that referenced
this issue
Aug 24, 2018
rockbmb
added a commit
to rockbmb/arithmoi
that referenced
this issue
Aug 24, 2018
There is now a test to verify that a factorisation only produces primary Eisenstein prime factors.
rockbmb
added a commit
to rockbmb/arithmoi
that referenced
this issue
Aug 24, 2018
rockbmb
added a commit
to rockbmb/arithmoi
that referenced
this issue
Aug 24, 2018
rockbmb
added a commit
to rockbmb/arithmoi
that referenced
this issue
Aug 24, 2018
rockbmb
added a commit
to rockbmb/arithmoi
that referenced
this issue
Aug 24, 2018
rockbmb
added a commit
to rockbmb/arithmoi
that referenced
this issue
Aug 25, 2018
rockbmb
added a commit
to rockbmb/arithmoi
that referenced
this issue
Aug 26, 2018
rockbmb
added a commit
to rockbmb/arithmoi
that referenced
this issue
Aug 26, 2018
Using a method described in [Efficient algorithms for the gcd and cubic residuosity in the ring of Eisenstein integers] (https://core.ac.uk/download/pdf/82554035.pdf), the algorithm used to calculate the `gcd` between Eisenstein integers was refactored.
rockbmb
added a commit
to rockbmb/arithmoi
that referenced
this issue
Aug 27, 2018
Using a method described in [Efficient algorithms for the gcd and cubic residuosity in the ring of Eisenstein integers] (https://core.ac.uk/download/pdf/82554035.pdf), the algorithm used to calculate the `gcd` between Eisenstein integers was refactored.
rockbmb
added a commit
to rockbmb/arithmoi
that referenced
this issue
Aug 28, 2018
The `Math.NumberTheory.EisensteinIntegers.gcdE` function was changed to use the previous algorithm.
rockbmb
added a commit
to rockbmb/arithmoi
that referenced
this issue
Aug 28, 2018
The `Math.NumberTheory.EisensteinIntegers.gcdE` function was changed to use the previous algorithm.
Bodigrim
added a commit
that referenced
this issue
Aug 29, 2018
[#118] Add Eisenstein integers module
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
My feeling is that currently #73 is too broad and too vague. We should rather explore more special cases to hone API before taking a stab at the general problem.
We have already implemented the simplest quadratic ring, which is the ring of Gaussian integers. The next step is to handle the ring of Eisenstein integers.
The API may follow the outline of Math.NumberTheory.GaussianIntegers. Required mathematical background can be found here:
The text was updated successfully, but these errors were encountered: