7 Nov 2021
- Support square-free factorization of multivariate polynomials over finite fields (with adaptation of Musser's algorithm), see
1132
.
- Support calling from the command-line as
python -m diofant
, see853
. Thanks to André Roberge.
- Removed
n()
method from~diofant.core.evalf.EvalfMixin
, see1114
. - Former submodule
diofant.polys.polyconfig
now isdiofant.config
, see1115
. - Drop support for
DIOFANT_DEBUG
environment variable, see1115
. - Drop support for CPython 3.7 and 3.8, see
1118
and5cae972
. - Renamed
Ring
as~diofant.domains.ring.CommutativeRing
, see1123
. - Removed support for Python 3.7 and 3.8, see
1118
and1124
. FiniteRing
renamed to~diofant.domains.IntegerModRing
, see1124
.- Removed
igcd()
,ilcm()
andprod()
functions, see1125
. - Changed the
~diofant.core.function.Derivative
(and similary~diofant.core.function.diff
) syntax toDerivative(foo, (x, 2))
fromDerivative(foo, x, 2)
, see1131
. - Removed
prem()
function, see1140
. - Removed
lseries()
method of~diofant.core.expr.Expr
, use~diofant.core.expr.Expr.series
withn=None
, see1146
.
- Protect hashed
~diofant.polys.rings.PolyElement
's from modifications, see1033
. - Add gaussian rationals as an exact domain, associated with
~diofant.domains.ComplexField
, see1138
. - Support
~diofant.functions.elementary.trigonometric.tan
in~diofant.polys.numberfields.minimal_polynomial
, see1159
. - 100% test coverage for
plotting
module, see1175
. - Support CPython 3.10, see
1162
.
- Turn on type checking for the whole codebase, see
1114
. - Don't include regression tests in the coverage statistics, see
1060
.
See the release milestone for complete list of issues and pull requests involved in this release.
These Sympy issues also were addressed:
20861
: reduce_inequalities() gives impossible answer20874
: Port the PRS algorithm to the sparse polynomial implementation20902
: Incorrect inequality solving: False returned instead of answer20941
: Fails to Solve Definite Integral20973
: cancel raises PolynomialError for exp(1+O(x))20985
: TypeErrors appearing for simple plynomial manipulations (did not happen in v1.6.1)21031
: Limit of "limit (((1+x)(1/x)-(1+2*x)(1/(2*x)))/asin (x),x,0)" is wrong with v1.7.121034
: (Integration) regressions?21038
: Incorrect computation of a basic limit, regression from 1.6.2 to 1.7.121041
: integrate error21063
: Wrong value of improper integral when using unevaluated -oo as boundary21075
: Order term being added to exact expansion21091
: Invalid comparison of non-real when using integrate()19590
: Poly.diff() doesn't support higher order derivatives21121
: Same symbols created in different processes are not resolved as being equal21107
: S.Infinity.is_nonzero returns False21132
: Integral with parametres: wrong and too long result21180
: Bug: sympy.factor doesn't work for Poly !!!21167
: Empty list of solutions returned for equation with cubic roots21029
: Continuous limits involving division by x20697
: Series is not simplified to final answer in output in sympy 1.7.120578
: A strange behavior of limit function20444
: Leading Term with log19453
: Limit changes from simplification of original expression19442
: Non-existent bi-directional limit gives ValueError11667
: limit(1/x, x, 0) == oo ??21202
: laplace_transform(cosh(2*x), x, s) raises RecursionError21227
: Nested logarithms add unnecessary order term to series expansions21263
: Solutions of cubic equation21334
: RecursionError while calculating leading term21342
: 1/(exp(it) - 2) integrates wrong21319
: Primitive part of zero polynomial21341
: Issues with continued fraction for real roots of cubic polynomials21024
: sympy.polys.polyerrors.CoercionFailed integration regressions?21396
: Pow.as_base_exp inconsistent with I.as_base_exp21410
: Polynomial power raises KeyError21437
: log(Abs)21460
: Polynomial GCD result is different for dense trivial polynomial21466
: Regression for match for differential binomial expression21166
: Wrong integration result involving square root of absolute value21486
: expand_func(besselj(oo, x)) -> RecursionError21530
: Incorrect limit21549
: Bug: integrate(x*sqrt(abs(x)),(x,-1,0)) returns wrong result21557
: Summation of geometric series with non-real exponent does not evaluate21550
: Bug: limit returns wrong result for rational function21177
: Incorrect residue for cot(pi*x)/(x*2 - 3x + 3)21245
: laurent series Fibonacci generating fuction11833
: error in limit involving exp, sinh and an assumption (maybe related to caching)9127
: ntheory.AskEvenHandler.Mul is order-dependent21606
: Notimplemented in simple limit21641
: Simplify hangs21651
: doit() method sometimes ignores floor and ceiling within Sum20461
: Eq(Product(4*n*2/(4n**2 - 1), (n, 1, oo)), pi/2) incorrectly gives False13029
: with gens, time taken for sqf increases orders of magnitude faster than factor as input size increases21711
: odd result for integrate(sqrt(1 - (x-1)*(x-1)), (x, 0, 1))21721
: Bug in integration solver21716
: isympy -c python tab triggered auto completion not working21741
: integrate() does not work with multivariable function that is solved by simple substitution. DomainError: there is no ring associated with CC21756
: Incorrect limit with ratio of complex exponentials21760
: Poly div is slow21761
: sympy.polys.polyerrors.NotAlgebraic Exception21430
: minpoly raises 'NotAlgebraic' for tan(13*pi/45)21766
: solve breaks on certain repeated inputs21773
: TypeError multiplying Subs expressions21785
: Limit gives TypeError from as_leading_term21812
: LambertW displaying in jupyter lab21814
: Printing of unevaluated Mul needs brackets21176
: Incorrect residue of x*2cot(pi*x)/(x**4 + 1)21852
: simple quadratic not solving21859
: AttributeError: 'mpz' object has no attribute 'denominator' with sp.series()21882
: Incorrect solutions given by solve21890
: RecursionError and TypeError in nonlinsolve21888
: TypeError raised for evalf containing summations5822
: What should summation() do with non-integer limits?19745
: Weird value of a sum9358
: summation: Wrong out for non-integral range21905
: raise NotImplementedError("Equation not in exact domain. Try converting to rational") Error21938
: Series raises an error at infinity for an example which can be solved by aseries21984
: ValueError: list.remove(x): x not in list occurs in nonlinsolve21999
: detection of infinite solution request22020
: Comparing two operations that contain log sometimes leads to TypeError exception22051
: Nonlinsolve incorrect result22058
: Regression in solveset for quadratic with symbolic coefficients22073
: Interval with oo22093
: sympy.polys.polyerrors.HeuristicGCDFailed: no luck22155
: Problem with solving simple separable ODE22220
: Bug in the evaluation of a log limit22248
: solve running forever22294
: Bernoulli differential equation22322
: 'abs' is not parsed correctly22334
: Wrong answer returned while calculating limit for different arrangements of the same expression22400
: Minpoly doesn't terminate22435
: sympy integration error