Skip to content
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

Exact computation of the row echelon form #23

Closed
blegat opened this issue Jan 7, 2021 · 2 comments · Fixed by #15
Closed

Exact computation of the row echelon form #23

blegat opened this issue Jan 7, 2021 · 2 comments · Fixed by #15

Comments

@blegat
Copy link
Collaborator

blegat commented Jan 7, 2021

We currently use floating arithmetic for doing the row echelon form that might create numerical rounding error, we could have an option to use exact arithmetic.

@kalmarek kalmarek linked a pull request Jan 17, 2021 that will close this issue
@kalmarek
Copy link
Owner

should be addressed by 4026bed

You may ask for the exact version by calling symmetry_adapted_basis(Rational{BigInt}, G, ...), or for a float one by symmetry_adapted_basis(Float64, G, ...).
Both will give you blocks of Cyclotomics (with coeffs in Rational{BigInt}, or Float64s), so you will need to convert these to actual Rational{BigInt}s or Float64s by yourself. Note that the latter conversion may fail since Cyclotomics represent algebraic numbers, which may be real, but irrational.

@blegat
Copy link
Collaborator Author

blegat commented Jan 18, 2021

Excellent! Yes, converting from Cyclotomic{Rational{BigInt}} to Rational{BigInt} may be hopeless but we could convert it to Float64, BigFloat, ... with I assume less rounding errors that if the row echelon was done in floating point arithmetic too.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants