regression by commit 991f8347

5 views
Skip to first unread message

Qian Yun

unread,
Jun 26, 2024, 8:20:08 AMJun 26
to fricas-devel
I found this regression when I was reviewing the reference book.

In chapter 1.16, or 1 page before chapter 2, there's:

f(0) == 1; g(0) == 1
f(n) == e/2*f(n-1) - x*g(n-1)
g(n) == -x*f(n-1) + d/3*g(n-1)
f(3)

Internal Error
The function * with signature (%, Integer) -> % is missing from
domain Polynomial(Fraction (Integer))



If we write "f(n) == f(n-1)*e/2 - x*g(n-1)",
"g(n) == -x*f(n-1) + g(n-1)*d/3", then there's no problem.

Git bisect (with the help of fricas0-repo) points to commit
991f8347 in 2022-Jun-26.

Is this a bug or shall we update this example?

- Qian

Waldek Hebisch

unread,
Jun 26, 2024, 9:57:19 AMJun 26
to fricas...@googlegroups.com
This is a big meta-bug, namely there are functions which are declared
but which are implemented nowhere. In particular, when R is
LinearlyExplicitOver(Integer), then FullyLinearlyExplicitOver(R)
implies RightModule(Integer) and we should implement corresponding
multiplication.

Good fix should implement multiplication in appriopriate place
(or some small number of critical places) so that it is inherited
in other places. However, this has potential for breaking other
things, so I really prefer to delay this after release.

--
Waldek Hebisch
Reply all
Reply to author
Forward
0 new messages