>
> At http://fricas.github.io/api/AlgebraicallyClosedField.html
> I see listed the category "noZeroDivisors".
>
> Obviously, one can create an algebraic number that proves this wrong.
>
> (1) -> AN has noZeroDivisors
>
> (1) true
>
> (2) -> a := rootOf((x+1)*(x-1))
>
> (2) x
> Type: AlgebraicNumber
> (3) -> (a-1)*(a+1)
>
> (3) 0
> Type: AlgebraicNumber
>
> Clearly, one shouldn't create an element of AN via rootOf if the
> argument is a non-irreducible polynomial. But the specification of
> rootOf doesn't tell that explicitly.
>
> In fact, it cannot say so, since then only linear polynomials would be
> allowed.
>
> As it is now, the use of elements created by rootOf must be restricted,
> otherwise, AN loses the property noZeroDivisors.
>
> Any ideas?
Well, that is the same problem that was already discussed for
Expression: all new kernels must be independent from previously
created kernels. For rootOf it means that polynomial should not factor
in the extention of rationals generated by previous kernels.
Theortically our 'factor' can do this, but it may be infeasible
due to computation time...
Tricky case if when you add two indpendently created numbers,
in prociple roots in the sum may be dependent. One systematic
solution is to create and use algebriac version of normalize.
Or, like Magma, allow redundancies in representaion, but
add extra tests in critical places.
--
Waldek Hebisch
--
You received this message because you are subscribed to the Google Groups
"FriCAS - computer algebra system" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/fricas-devel/E1iGMOW-0002oH-6P%40hera.math.uni.wroc.pl.