[GiNaC-list] [patch] Fix a failure in matrix::division_free_elimination()

Richard B. Kreckel kreckel at in.terlu.de
Fri Oct 12 21:42:07 CEST 2018


On 09.10.2018 14:59, Vitaly Magerya wrote:
> It appears that I've messed up the formatting and left the
> useless "matrix cmp" variable in the patch. Sorry about
> that. Here are the fixed versions.

Thank you, Vitaly!

Maybe it is just impossible to avoid unnormal numbers without calling
.normal() in these matrix algorithms. Your recent patches make me wonder
if the heuristics in matrix::determinant() surrounding variable
normal_flag are really a good idea at all.

In any case, Laplace elimination does return an unnormal 1 on
matrix{{a/(a-b), 1}, {b/(a-b), 1}}, and this is only remedied by the
very strange line 795 in matrix.cpp.

What do you think?

All my best,
    -richy.


More information about the GiNaC-list mailing list