kalmarek / SymbolicWedderburn.jl

Amazing package to compute decompositions into irreducibles of explicit group representations and the Wedderburn decomposition for endomorphisms thereof!
MIT License
9 stars 4 forks source link

Exact computation of the row echelon form #23

Closed blegat closed 3 years ago

blegat commented 3 years ago

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 commented 3 years ago

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 commented 3 years ago

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.