Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* Extend ideal interface * Update src/Ideal.jl Co-authored-by: Max Horn <[email protected]> * Update according to comment by Max Before, it might have happened that the command `R * ZZRingElem(2)` fails while `R * big(2)` succeeds. * Apply suggestions from code review Max: "the advantage is that if some ring type wants to implement say ideal(R::MyRing, n::Int) in a special optimized fashion that avoids constructing R(n), then R*2 would benefit from that" Co-authored-by: Max Horn <[email protected]> * Use `RingElem` instead of `Any` Previously, there was a possibility of an infinite recursion if the base functions were not implemented. Also, writing `R(x)` when `x` is a vector is problematic, it might have unexpected results. * Change API / base method * Update src/Ideal.jl * Allow ideal(R, x, y, z) This is already allowed for Hecke ideals. For consistency, we allow this already in AbstractAlgebra. * Forbid ideal(R) for creating empty ideal --------- Co-authored-by: Max Horn <[email protected]>
- Loading branch information