Skip to content

Latest commit

 

History

History
147 lines (132 loc) · 8.93 KB

notes-0.13.rst

File metadata and controls

147 lines (132 loc) · 8.93 KB

Diofant 0.13

7 Nov 2021

New features

  • Support square-free factorization of multivariate polynomials over finite fields (with adaptation of Musser's algorithm), see 1132.

Major changes

  • Support calling from the command-line as python -m diofant, see 853. Thanks to André Roberge.

Compatibility breaks

  • Removed n() method from ~diofant.core.evalf.EvalfMixin, see 1114.
  • Former submodule diofant.polys.polyconfig now is diofant.config, see 1115.
  • Drop support for DIOFANT_DEBUG environment variable, see 1115.
  • Drop support for CPython 3.7 and 3.8, see 1118 and 5cae972.
  • Renamed Ring as ~diofant.domains.ring.CommutativeRing, see 1123.
  • Removed support for Python 3.7 and 3.8, see 1118 and 1124.
  • FiniteRing renamed to ~diofant.domains.IntegerModRing, see 1124.
  • Removed igcd(), ilcm() and prod() functions, see 1125.
  • Changed the ~diofant.core.function.Derivative (and similary ~diofant.core.function.diff) syntax to Derivative(foo, (x, 2)) from Derivative(foo, x, 2), see 1131.
  • Removed prem() function, see 1140.
  • Removed lseries() method of ~diofant.core.expr.Expr, use ~diofant.core.expr.Expr.series with n=None, see 1146.

Minor changes

  • Protect hashed ~diofant.polys.rings.PolyElement's from modifications, see 1033.
  • Add gaussian rationals as an exact domain, associated with ~diofant.domains.ComplexField, see 1138.
  • Support ~diofant.functions.elementary.trigonometric.tan in ~diofant.polys.numberfields.minimal_polynomial, see 1159.
  • 100% test coverage for plotting module, see 1175.
  • Support CPython 3.10, see 1162.

Developer changes

  • Turn on type checking for the whole codebase, see 1114.
  • Don't include regression tests in the coverage statistics, see 1060.

Issues closed

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 answer
  • 20874: Port the PRS algorithm to the sparse polynomial implementation
  • 20902: Incorrect inequality solving: False returned instead of answer
  • 20941: Fails to Solve Definite Integral
  • 20973: 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.1
  • 21034: (Integration) regressions?
  • 21038: Incorrect computation of a basic limit, regression from 1.6.2 to 1.7.1
  • 21041: integrate error
  • 21063: Wrong value of improper integral when using unevaluated -oo as boundary
  • 21075: Order term being added to exact expansion
  • 21091: Invalid comparison of non-real when using integrate()
  • 19590: Poly.diff() doesn't support higher order derivatives
  • 21121: Same symbols created in different processes are not resolved as being equal
  • 21107: S.Infinity.is_nonzero returns False
  • 21132: Integral with parametres: wrong and too long result
  • 21180: Bug: sympy.factor doesn't work for Poly !!!
  • 21167: Empty list of solutions returned for equation with cubic roots
  • 21029: Continuous limits involving division by x
  • 20697: Series is not simplified to final answer in output in sympy 1.7.1
  • 20578: A strange behavior of limit function
  • 20444: Leading Term with log
  • 19453: Limit changes from simplification of original expression
  • 19442: Non-existent bi-directional limit gives ValueError
  • 11667: limit(1/x, x, 0) == oo ??
  • 21202: laplace_transform(cosh(2*x), x, s) raises RecursionError
  • 21227: Nested logarithms add unnecessary order term to series expansions
  • 21263: Solutions of cubic equation
  • 21334: RecursionError while calculating leading term
  • 21342: 1/(exp(it) - 2) integrates wrong
  • 21319: Primitive part of zero polynomial
  • 21341: Issues with continued fraction for real roots of cubic polynomials
  • 21024: sympy.polys.polyerrors.CoercionFailed integration regressions?
  • 21396: Pow.as_base_exp inconsistent with I.as_base_exp
  • 21410: Polynomial power raises KeyError
  • 21437: log(Abs)
  • 21460: Polynomial GCD result is different for dense trivial polynomial
  • 21466: Regression for match for differential binomial expression
  • 21166: Wrong integration result involving square root of absolute value
  • 21486: expand_func(besselj(oo, x)) -> RecursionError
  • 21530: Incorrect limit
  • 21549: Bug: integrate(x*sqrt(abs(x)),(x,-1,0)) returns wrong result
  • 21557: Summation of geometric series with non-real exponent does not evaluate
  • 21550: Bug: limit returns wrong result for rational function
  • 21177: Incorrect residue for cot(pi*x)/(x*2 - 3x + 3)
  • 21245: laurent series Fibonacci generating fuction
  • 11833: error in limit involving exp, sinh and an assumption (maybe related to caching)
  • 9127: ntheory.AskEvenHandler.Mul is order-dependent
  • 21606: Notimplemented in simple limit
  • 21641: Simplify hangs
  • 21651: doit() method sometimes ignores floor and ceiling within Sum
  • 20461: Eq(Product(4*n*2/(4n**2 - 1), (n, 1, oo)), pi/2) incorrectly gives False
  • 13029: with gens, time taken for sqf increases orders of magnitude faster than factor as input size increases
  • 21711: odd result for integrate(sqrt(1 - (x-1)*(x-1)), (x, 0, 1))
  • 21721: Bug in integration solver
  • 21716: isympy -c python tab triggered auto completion not working
  • 21741: integrate() does not work with multivariable function that is solved by simple substitution. DomainError: there is no ring associated with CC
  • 21756: Incorrect limit with ratio of complex exponentials
  • 21760: Poly div is slow
  • 21761: sympy.polys.polyerrors.NotAlgebraic Exception
  • 21430: minpoly raises 'NotAlgebraic' for tan(13*pi/45)
  • 21766: solve breaks on certain repeated inputs
  • 21773: TypeError multiplying Subs expressions
  • 21785: Limit gives TypeError from as_leading_term
  • 21812: LambertW displaying in jupyter lab
  • 21814: Printing of unevaluated Mul needs brackets
  • 21176: Incorrect residue of x*2cot(pi*x)/(x**4 + 1)
  • 21852: simple quadratic not solving
  • 21859: AttributeError: 'mpz' object has no attribute 'denominator' with sp.series()
  • 21882: Incorrect solutions given by solve
  • 21890: RecursionError and TypeError in nonlinsolve
  • 21888: TypeError raised for evalf containing summations
  • 5822: What should summation() do with non-integer limits?
  • 19745: Weird value of a sum
  • 9358: summation: Wrong out for non-integral range
  • 21905: raise NotImplementedError("Equation not in exact domain. Try converting to rational") Error
  • 21938: Series raises an error at infinity for an example which can be solved by aseries
  • 21984: ValueError: list.remove(x): x not in list occurs in nonlinsolve
  • 21999: detection of infinite solution request
  • 22020: Comparing two operations that contain log sometimes leads to TypeError exception
  • 22051: Nonlinsolve incorrect result
  • 22058: Regression in solveset for quadratic with symbolic coefficients
  • 22073: Interval with oo
  • 22093: sympy.polys.polyerrors.HeuristicGCDFailed: no luck
  • 22155: Problem with solving simple separable ODE
  • 22220: Bug in the evaluation of a log limit
  • 22248: solve running forever
  • 22294: Bernoulli differential equation
  • 22322: 'abs' is not parsed correctly
  • 22334: Wrong answer returned while calculating limit for different arrangements of the same expression
  • 22400: Minpoly doesn't terminate
  • 22435: sympy integration error