Diofant 0.12
18 Jan 2021
New features
Support modular exponentiation of
PolyElement’s, see #1032.reduce_inequalities()support solving linear inequalities with Fourier-Motzkin elimination algorithm, see #1063.Added class
FiniteRingfor modular integers, see #876.Implemented
compose()for functional composition in the fields of fractions, see #1100.
Major changes
Module
sqfreetoolswas ported to use sparse polynomial representation, see #1009.Module
factortoolswas ported to use sparse polynomial representation, see #1015, #1018, #1019, #1020 and #1021.Module
rootisolationwas ported to use sparse polynomial representation, finally the dense representation is used nowhere, see #1030, #1031 and #1035.reduce_inequalities()usesExtendedRealssubsets to solve inequalities, see #1067 and #1092.Added new algorithm for factorization of multivariate polynomials over
AlgebraicField’s (uses Hensel lifting), see #876. Thanks to Katja Sophie Hotz. Thanks to Kalevi Suominen for help with review.
Compatibility breaks
Removed
vring()andvfield()functions, see #1016.Drop support for
from_list()initialization for multivariate polynomials, see #1035.Drop
to_dense(),tail_degrees(),almosteq()anddegree_list()methods andis_monic,is_primitiveattributes ofPolyElement, see #1035, #1036 and #1051.Drop
is_monic,is_primitive,zero,oneandunitattributes anddegree_list()method ofPoly, see #1036, #1039 and #1051.Drop
sring(),poly_from_expr(),gcd_list()andlcm_list()functions, see #1037, #1057 and #1086.Functions and classes of the
polytoolsmodule do not support anymore iterables as polynomial generator, see #1039.Drop unused functions
dispersion(),dispersionset()anddegree_list(), see #1051 and #1053.Drop rich comparison methods from the
FracElement, see #1101.from_list()support now ascending order of coefficients (i.e., the leading coefficient of univariate polynomial is coming last), see #1103.Removed support for 3D geometry in the
geometrymodule andPoint.__getitem__()method, see #1105.Drop
coeff(),coeffs(),monoms(),terms()anddeflate()methods ofPolyElement, use dictionary indexing, see #1108.
Minor changes
Special case univariate polynomials with
UnivarPolynomialRingandUnivarPolyElement, see #1024.Implement
is_primitive, see #1035.Add
ExtendedRealssingleton, see #1067.100% test coverage for
geometrymodule, see #1105. Overall test coverage is around 98%.
Developer changes
Depend on flake8-sfs, see #983.
Drop dependency on strategies, see #1074.
Issues closed
See the release milestone for complete list of issues and pull requests involved in this release.
These Sympy issues also were addressed:
sympy/sympy#19630
rsolvegives None for linear homogeneous recurrence relationsympy/sympy#19076 modular exponentiation of poly
sympy/sympy#19670 Poly(E**100000000) is slow to create
sympy/sympy#19755 poly gives coercion error when integers and rationals are mixed
sympy/sympy#19760 minimal_polynomial using Groebner basis can give wrong result
sympy/sympy#19770 Limit involving cosine
sympy/sympy#19766 Incorrect limit
sympy/sympy#19774 evalf() doesn’t evaluate terms in an exponential
sympy/sympy#19988 Float loses precision after being pickled
sympy/sympy#14874 Limit x –> oo for besselk
sympy/sympy#19991 Wrong result from floor().evalf()
sympy/sympy#10666 resultant misses the sign
sympy/sympy#20163 Apart hangs with extension=[sqrt(3), I]
sympy/sympy#9479 Cannot solve multivariate inequalities
sympy/sympy#20365 Limit Bug
sympy/sympy#20360 Incorrect definite integration of simple exponential involving pi
sympy/sympy#20389 TypeError: Argument of Integer should be of numeric type, got -oo
sympy/sympy#20391 Linear programming with simplex method
sympy/sympy#19161 When applying simplify on a Poly it fails
sympy/sympy#20397 bug in dividing polynomials by module
sympy/sympy#19196 Slow f.factor_list
sympy/sympy#20491 Inconsistencies in pretty printing in a notebook
sympy/sympy#20490 LaTeX printing of negative constant PolyElement
sympy/sympy#20484 Need more utility for polynomial substitution
sympy/sympy#20485 Rational powers for non-monomial PolyElement
sympy/sympy#20487 LaTeX printing errors for puiseux polynomial
sympy/sympy#20610 Solve: GeneratorsNeeded with system involving constant equation
sympy/sympy#20617 Complex exponentials are not recognized by domains
sympy/sympy#20640 Multivariate polynomial division
sympy/sympy#20704 Limit not terminating