Tommy Hofmann
Tommy Hofmann
@fieker do you have the condensed example?
The following is hanging for me with this change: ``` Zx, x = FlintZZ["x"] k, a = number_field(swinnerton_dyer(3, x)) kt, t = k["t"] g = swinnerton_dyer(8, x) length(factor(change_base_ring(k, g))) ==...
The `NfAbs/Elem.jl` test finished, but they took 1700 seconds compared to 230 seconds without the changes here.
Have not made up my mind yet unfortunately.
Most of these failures are expected, e.g., `evaluate(y+z, [2], [x])`, since AbstractAlgebra will never create a new ring. (The result must be an element of `R`, `Rx` or `Ryz`, or...
I tried your example, but it yields ``` julia> Rxy, (x, y) = polynomial_ring(QQ, [:x, :y]) (Multivariate polynomial ring in 2 variables over rationals, AbstractAlgebra.Generic.MPoly{Rational{BigInt}}[x, y]) julia> evaluate(y+z, [2], [x])...
It is a bug that `y + z` does not throw an error (there is a missing parent check): ``` julia> parent(y) == parent(z) false ``` I'll prepare a fix...
Yes, the cleanest way is with proper morphisms. But most things can be done by just evaluating at the right things: ``` julia> ((y1 + z1)(y3, z3))(zero(Rxyz), x2(x3, one(Rxyz)), y3)...
I don't mind too much that people create `Vector{ZZRingElem}`. When I wrote in #2053 that it is ambiguous, I did not mean in the compiler ambiguity sense, but that is...
Isn't `R[1]` ambiguous? And what about `R[:x]`?