On 2/19/26 17:08, Waldek Hebisch wrote:
On Thu, Feb 19, 2026 at 04:09:41PM +0100, 'Ralf Hemmecke' via FriCAS - computer 
algebra system wrote:


On 2/19/26 15:54, Waldek Hebisch wrote:
On Thu, Feb 19, 2026 at 01:53:19PM +0100, 'Ralf Hemmecke' via FriCAS - computer 
algebra system wrote:
Hi Waldek,

Why did you have to Join Algebra(Fraction(Integer)) to the conditions of the
domain parameters?

https://github.com/fricas/fricas/commit/812606113da68664979efc1d4b2b73536a9225b7#diff-d6dc411f4c819cbba6e78d851e1c48e0d67be2ef910a5b1a7e67ac728389d758R13

We already have that field is a DivisionRing

https://github.com/fricas/fricas/blob/master/src/algebra/catdef.spad#L579

and a DivisionRing exports Algebra(Fraction(Integer)).

https://github.com/fricas/fricas/blob/master/src/algebra/catdef.spad#L322

Well, the goal is to remove unsound unconditional export of
Algebra(Fraction(Integer)) from DivisionRing.  The commit above allows
to compile algebra with such a change to DivisionRing.  There is one
regression that I know and some possibility for breakage, so I did not
commit change to DivisionRing.  What I commited AFAICS is safe and
needed to get consistent conditions.

I suspected something of this kind, but since you did not write something
like

"Prepare for the removal of the export Algebra(Fraction(Integer)) from
DivisionRing."

into the extended commit message, I had to wonder about your goals.

I guess, the following is a particular reason why you want to remove
Algebra(Fraction(Integer)) from DivisionRing.

Ralf

%%% (5) -> e := 1 $ PrimeField(5)

    (5)  1
                                       Type: PrimeField(5)
%%% (6) -> 1/5 * e

    >> Error detected within library code:
    not invertible

One of reasons.  Particualar problem that I looked at is:

Ut := UTS(FF(7, 2), x, 0)
a := generator()$FF(7, 2)
s1 := 1 + monomial(1, 1)$Ut
s1^a

which gives:

    >> Error detected within library code:
    catdef: division by zero

This also needs changes to series machinery, but change to series can not
solve the problem before fix to DivisionRing.

I suppose, this

%%% (10) -> s1^(1/7)


   >> Error detected within library code:
   not invertible


traces back to the same problem.

Honestly, I don't know what s1^a should actually mean. Perhaps something like exp(a*ln(s1))? Maybe I am wrong, but if I simply use the expansions for log(1+x) and exp(x) I still see rational numbers (like 1/7) in that computation.
What do you have in mind by "changes in the series machinery"?


Ralf

--
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 visit 
https://groups.google.com/d/msgid/fricas-devel/2ff4af4a-d4de-4257-81ed-5666687b9581%40hemmecke.org.

Reply via email to