[GiNaC-devel] [SCM] GiNaC -- a C++ library for symbolic computations branch, ginac_1-5, updated. release_1-4-0-237-gedf1ae4

Richard B. Kreckel git at ginac.de
Tue May 18 00:45:14 CEST 2010


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GiNaC -- a C++ library for symbolic computations".

The branch, ginac_1-5 has been updated
       via  edf1ae46a926d0a718063c149b78c1b9a7ec2043 (commit)
       via  6201dc3c6562e0b8c174129af382fd5745de048f (commit)
       via  c13d5e0ed2ce6223bc6c4340bb00daf2e24ea923 (commit)
       via  f28f24cf1228f0fa9cb0889d87a3f4039587ff92 (commit)
       via  a7c70c1f9e0b906a8b95bffb04bc1266eb59f39d (commit)
      from  05f749ac2abb672f8e0a1cef938ea1e83e1255dc (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit edf1ae46a926d0a718063c149b78c1b9a7ec2043
Author: Alexei Sheplyakov <alexei.sheplyakov at gmail.com>
Date:   Tue May 18 00:23:03 2010 +0200

    pgcd(), chinrem_gcd(): use appropriate definition of the degree.
    
    Effect: fixes (rare) GCD miscalculation.
    
    pgcd() treats polynomials Z_p[x_0, ..., x_n] as R[x_0, ..., x_{n - 1}], where
    R = Z_p[x_n]. Therefore one should use correct definition of the degree
    (i.e. compute it w.r.t. x_0, ..., x_{n-1}, but NOT w.r.t. x_n!).
    
    One should use appropriate definition of degree (that is, w.r.t.  x_0, ..., x_n)
    in chinrem_gcd() too.
    
    Thanks to Aless Lasaruk for a bug report.

commit 6201dc3c6562e0b8c174129af382fd5745de048f
Author: Alexei Sheplyakov <alexei.sheplyakov at gmail.com>
Date:   Tue May 18 00:21:53 2010 +0200

    Added `degree_vector' utility function.
    
    It's a generalization of degree(expr, var) for multivariate polynomials.

commit c13d5e0ed2ce6223bc6c4340bb00daf2e24ea923
Author: Alexei Sheplyakov <alexei.sheplyakov at gmail.com>
Date:   Tue May 18 00:20:08 2010 +0200

    primpart_content: correctly handle monomials.
    
    Impact: fixes (rare) incorrect gcd calculation and (potential) segfault.
    
    Thanks to Aless Lasaruk for a bug report.

commit f28f24cf1228f0fa9cb0889d87a3f4039587ff92
Author: Alexei Sheplyakov <alexei.sheplyakov at gmail.com>
Date:   Tue May 18 00:17:26 2010 +0200

    pgcd(): avoid infinite loop if the first GCD candidate coincides with GCD
    
    136	if (H_lcoeff.is_equal(lc_gcd)) {
    137		if ((Hprev-H).expand().smod(pn).is_zero()) // (*)
    138			continue;
    
    The check (*) can result in infinite loop if the (very) first GCD candidate
    gives the correct GCD: any subsequent iterations give the same result, so
    Hprev and H will be equal (hence the infinite loop). That check is not very
    useful (AFAIR I was trying to avoid extra division checks), so let's remove it.

commit a7c70c1f9e0b906a8b95bffb04bc1266eb59f39d
Author: Richard Kreckel <kreckel at ginac.de>
Date:   Mon May 17 08:37:08 2010 +0200

    Fix URL of CODA.

-----------------------------------------------------------------------

Summary of changes:
 check/Makefile.am                     |    4 +++
 check/pgcd_infinite_loop.cpp          |   41 +++++++++++++++++++++++++++++++++
 doc/tutorial/ginac.texi               |    2 +-
 ginac/polynomial/collect_vargs.cpp    |   22 ++++++++++++++++-
 ginac/polynomial/collect_vargs.h      |   31 +++++++++++++++++++++++++
 ginac/polynomial/mgcd.cpp             |   12 ++++++---
 ginac/polynomial/pgcd.cpp             |   12 +++++-----
 ginac/polynomial/primpart_content.cpp |    2 +-
 8 files changed, 112 insertions(+), 14 deletions(-)
 create mode 100644 check/pgcd_infinite_loop.cpp


hooks/post-receive
--
GiNaC -- a C++ library for symbolic computations


More information about the GiNaC-devel mailing list