Bug? Discussion needed

25 views
Skip to first unread message

Ralf Hemmecke

unread,
Oct 3, 2019, 6:42:23 AM10/3/19
to fricas-devel
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?

Ralf

Waldek Hebisch

unread,
Oct 4, 2019, 8:09:18 AM10/4/19
to fricas...@googlegroups.com
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
Reply all
Reply to author
Forward
0 new messages