On 01/26/2018 02:24 PM, I wrote:
matrix size gauss time bareiss time gauss/bareiss 2x2 0.00416815 0.00361022 1.15454 3x3 0.0195643 0.0141638 1.38129 4x4 0.0896266 0.0666258 1.34522 5x5 0.205633 0.185446 1.10885 6x6 0.730309 0.979617 0.745505 7x7 1.29834 3.14298 0.413093 8x8 2.46307 9.70648 0.253755 9x9 4.4289 (segfaults) 10x10 8.39434 (segfaults)
These segfaults have this sort of backtrace: #1 0x00007ffff7a07f79 in GiNaC::ex::construct_from_basic(...) #2 0x00007ffff79e19e2 in GiNaC::basic::subs_one_level(...) const #3 0x00007ffff7b3d235 in GiNaC::power::subs(...) const #4 0x00007ffff7a0ba11 in GiNaC::expairseq::subschildren(...) const #5 0x00007ffff7a0bd64 in GiNaC::expairseq::subs(...) const #6 0x00007ffff7a08d4e in GiNaC::ex::subs(...) const #7 0x00007ffff7aeb6c0 in GiNaC::gcd(...) #8 0x00007ffff7aea806 in GiNaC::gcd_pf_pow(...) #9 0x00007ffff7aebbd0 in GiNaC::gcd(...) #10 0x00007ffff7aeac26 in GiNaC::gcd_pf_pow(...) #11 0x00007ffff7aebbd0 in GiNaC::gcd(...) (repeat the last two lines a whole bunch of times) #20147 0x00007ffff7aebbd0 in GiNaC::gcd(...) #20148 0x00007ffff7aeac26 in GiNaC::gcd_pf_pow(...) #20149 0x00007ffff7aea2f8 in GiNaC::gcd_pf_pow(...) #20150 0x00007ffff7aebbd0 in GiNaC::gcd(...) #20151 0x00007ffff7af214a in GiNaC::frac_cancel(...) #20152 0x00007ffff7af2b13 in GiNaC::mul::normal(...) const #20153 0x00007ffff7af2dd0 in GiNaC::add::normal(...) const #20154 0x00007ffff7af2947 in GiNaC::mul::normal(...) const #20155 0x00007ffff7ae613c in GiNaC::ex::normal() const #20156 0x00007ffff7ac73cc in GiNaC::matrix::solve(...) const #20157 0x0000000000404671 in main () at gauss-vs-bareiss.cpp:35 I think this is the same problem Patrick Schulz reported a bit earlier over here: https://www.ginac.de/pipermail/ginac-list/2018-January/002168.html