|
|
|
|
Changelog for python3-sympy-1.11.1-lp154.qubes.2.59.noarch.rpm :
* Sat Sep 17 2022 Arun Persaud - specfile: * removed patch sympy_printing_ccode.patch; included upstream * requires python >= 3.8 (skip 3.7)- update to version 1.11.1: * The 1.11 release introduced a regression when using lambdify with the cse=True option (introduced in 1.9) resulting in a list being returned for a lambdified expression that was not a list. This bug is now fixed in the 1.11.1 release.- changes from version 1.11.0: * Highlights: + Better support for integrating several different types of expressions. + The series expansion has seen several improvements. + The assumption system is now fully deterministic, so it should work in multi-threaded environments. + A new and improved Mathematica parser. * full changelog at https://github.com/sympy/sympy/wiki/Release-Notes-for-1.11 * Thu Aug 04 2022 Matej Cepl - Switch off tests (they run 7h53m47s). * Tue May 24 2022 Matej Cepl - Add sympy_printing_ccode.patch eliminating sympy.printing.ccode deprecated module, because it just stands in the way (gh#sympy/sympy#23533) * Sat May 21 2022 andy great - Update to version 1.10.1. * Fixed a bug that prevented unpickling pickles created with older sympy versions. * The .diff method accepts string arguments again (fixing a regression in 1.10).- Update for version 1.10.0. * The Laplace transform computations has become much more powerful using a rule-based system. * All active deprecations in SymPy have been revamped. * A number of classes and functions have been moved to better locations mostly to resolve problems with cyclic imports within the SymPy codebase. * BREAKING: removed the since long deprecated densearith, densesolve, and densetools * BREAKING CHANGE: core.trace with class Tr moved to physics.quantum.trace. * Full changelog at https://github.com/sympy/sympy/wiki/Release-Notes-for-1.10- Update for version 1.9. * The internal implementation of Matrix and other matrix classes (SparseMatrix etc) is now DomainMatrix. * Leading term methods now raise PoleError at singularities. * Full changelog at https://github.com/sympy/sympy/wiki/Release-Notes-for-1.9 * Fri May 14 2021 Arun Persaud - update to version 1.8: * Backwards compatibility breaks and deprecations + Please manually add any backwards compatibility breaks or deprecations here, in addition to the automatic listing below. + assumptions AskHandler(), register_handler() and remove_handler() are deprecated. Handler now must be multipledispatch instance. (#20835 by AATTJSS95) + parsing Parsing of \"Q\" returns AssumptionKeys instance in assumptions module. This means that sympify(\"Q\") will no longer return a symbol. (#21152 by AATTJSS95) * Full changelog at https://github.com/sympy/sympy/wiki/Release-Notes-for-1.8 * Mon Jan 25 2021 Ben Greiner - Update to 1.7.1: core * There was a regression in 1.7 that meant that __slots__ would not work correctly for Basic instances and they would end up having __dict__. This also made it possible to set arbitrary attributes on Basic instances such as symbols which breaks immutability. This was fixed in 1.7.1 to ensure that Basic instances do not have __dict__ and it is not possible to set attributes on them. (#20590 by AATToscarbenjamin) s series * Fixed lazy iteration of series with expr.series(x, n=None) which was broken in the 1.7 release. (#20589 by AATToscarbenjamin and AATTsachin-4099) stats * Updated documentation for sympy.stats.sample for seed argument. (#20555 by AATTczgdp1807) * sympy.stats.sample now has an optional seed argument. (#20528 by AATTczgdp1807) * Random failures with sympy.stats.sample have now been fixed. (#20527 by AATTczgdp180- Changelog for 1.7.0: Backwards compatibility breaks and deprecations - ---------------------------------------------- core * Modules and names that were accidentally importable from sympy are no longer importable. In sympy 1.6 importing and using these names would give a deprecation warning. In sympy 1.7 these names are removed. As an example from sympy import add would need to be from sympy.core import add or import sympy.core.add as add. (#19554 by AATToscarbenjamin) * DEPRECATION: Using non-Expr args in Add, Mul or Pow is now deprecated (#19445 by AATToscarbenjamin) diffgeom * Manifold.patches attribute is deprecated. (#19368 by AATTJSS95 and AATTmcpl-sympy) * Patch.coord_systems attribute is deprecated. (#19368 by AATTJSS95 and AATTmcpl-sympy) * Class signature names of CoordSystem is deprecated. CoordinateSymbol class and CoordSystem.symbols attribute are introduced instead. (#19368 by AATTJSS95 and AATTmcpl-sympy) * CoordSystem.transforms, CoordSystem.connect_to, and CoordSystem.coord_tuple_transform_to are deprecated. Class signature relations, CoordSystem.transformation and CoordSystem.transform are introduced instead. (#19368 by AATTJSS95 and AATTmcpl-sympy) printing * sympy.printing.pretty.pretty_symbology.xstr has been deprecated (#20081 by AATTeric-wieser) * The unicode argument to sympy.printing.stringpict.prettyForm has been deprecated (#20081 by AATTeric-wieser) * The deprecation of calling preview with viewer=\"StringIO\" is now expired instead of forgotten (a regression in 1.6.0) (#19905 by AATTeric-wieser) * The modules sympy.printing.ccode, sympy.printing.fcode, and sympy.printing.cxxcode have been renamed to sympy.printing.c, sympy.printing.fortran, and sympy.printing.cxx, respectively. This was done to avoid conflicts that occur when a module name is the same as a function name. The modules are still importable under their old names but doing so is deprecated and a warning will be given (#19908 by AATTasmeurer) * from sympy.printing.codeprinter import Assignment no longer works. You should use from sympy.codegen import Assignment, which is where Assignment has lived since SymPy 1.1. (#19908 by AATTasmeurer) * Calling preview with viewer=\"file\" no longer looks for a file executable (a regression in 1.6.0) (#19905 by AATTeric-wieser) solvers * solve_linear_system is now a thin wrapper for linsolve. It is recommended to use linsolve in new code. solve_linear_system maybe deprecated or removed in future. (#18814 by AATToscarbenjamin) utilities * find_executable is deprecated in favor of the builtin shutil. which. (#19634 by AATTeric-wieser) Changes - ------ algebras * Added DocString for integrate function of quaternion class. (#19410 by AATTmohitshah3111999) codegen * Added support for generating calls to scipy.special.cosm1. (#20011 by AATTbjodah) * sympy.codegen and sympy.combinatorics are no longer imported as part of from sympy import *. The codegen and combinatorics modules do not have any names that are included in the top-level namespace, so their being imported with the top-level SymPy was a mistake. This improves the import time of from sympy import *. (#19908 by AATTasmeurer) * Added support for generating calls to numpy.logaddexp & numpy. logaddexp2. (#19880 by AATTbjodah) * Fix bugs to the parser of matrix expressions in order to build CodegenArray objects correctly. (#19197 by AATTUpabjojr) combinatorics * Fixed a bug in PermutationGroup.minimal_blocks caused by modifying a list while iterating over its indices. (#19954 by AATTilya-pchelintsev) concrete * Implemented Raabe\'s Test (#18656 by AATTsachin-4099) core * Fixed a few broken cases of expr.is_integer (#20450 by AATTcoproc and AATTtbennun) * Modules and names that were accidentally importable from sympy are no longer importable. In sympy 1.6 importing and using these names would give a deprecation warning. In sympy 1.7 these names are removed. As an example from sympy import add would need to be from sympy.core import add or import sympy. core.add as add. (#19554 by AATToscarbenjamin) * Zero raised to power Negative Infinity gives ComplexInfinity (zoo) instead of zero (#20212 by AATTsidhu1012) * Extensible add, mul and power functions are introduced to allow sympy objects to define what classes should be used for them in place of Add, Mul and Pow (e.g. matrices use MatAdd). This is an experimental approach aimed at enabling the behaviour of core routines (expand, collect, etc) to be customised by user-defined types (e.g. MatAdd rather than Add). This mechanism is still experimental, is not fully implemented across the core and might be changed or removed in a future release of sympy. (#19463 by AATTJSS95 and AATTmcpl-sympy) * divmod on sympy.Float with 0 numerator now results in (0, 0). (#20109 by AATTeriknw) * Dict operations no longer automatically converts strings into SymPy types. (#19911 by AATTasmeurer) * Dict operations no longer raise SympifyError. (#19911 by AATTasmeurer) * Fixes _eval_nseries() function of power.py (#19508 by AATTsachin-4099) * Remove optional dependency on fastcache (#19492 by AATTpbrady) * DEPRECATION: Using non-Expr args in Add, Mul or Pow is now deprecated (#19445 by AATToscarbenjamin) * When creating an Add or Mul with evaluate=False identities (0 or 1) are no longer removed. (#19450 by AATToscarbenjamin) * Fixes _eval_nseries() function of mul.py (#19369 by AATTsachin-4099) * Sum is now included in count_ops results (#19261 by AATTsmichr) * match has been optimized to improve term-matching in Add (#19261 by AATTsmichr) * match will automatically ignore bound symbols when matching (#19261 by AATTsmichr) * match results will no longer contain extraneous symbols (only those requested) (#19261 by AATTsmichr) * as_dummy should give a canonical result for expressions having bound symbols (#19261 by AATTsmichr) * Lambdas written in terms of different symbols will no longer compare equal; this was an abuse of the Python == operator (#19261 by AATTsmichr) * expr: A new method is_meromorphic is added. (#19306 by AATTjksuom) diffgeom * Manifold.patches attribute is deprecated. (#19368 by AATTJSS95 and AATTmcpl-sympy) * Patch.coord_systems attribute is deprecated. (#19368 by AATTJSS95 and AATTmcpl-sympy) * Class signature names of CoordSystem is deprecated. CoordinateSymbol class and CoordSystem.symbols attribute are introduced instead. (#19368 by AATTJSS95 and AATTmcpl-sympy) * CoordSystem.transforms, CoordSystem.connect_to, and CoordSystem.coord_tuple_transform_to are deprecated. Class signature relations, CoordSystem.transformation and CoordSystem.transform are introduced instead. (#19368 by AATTJSS95 and AATTmcpl-sympy) * CoordSystem.jacobian_determinant method is introduced. (#19368 by AATTJSS95 and AATTmcpl-sympy) functions * lambdify added a warning when args is a set. (#19792 by AATTfoice, AATTRobertoFranceschini, and AATTsylee957) * Fixes _eval_nseries method of log (#20002 by AATTsachin-4099) * Adds _eval_is_meromorphic method and _eval_aseries to class lowergamma (#19990 by AATTsachin-4099) * Adds _eval_is_meromorphic method and _eval_rewrite_as_tractable method to class uppergamma (#19990 by AATTsachin-4099) * Rectifies eval method of class besselk (#19990 by AATTsachin-4099) * Adds _eval_is_meromorphic to bessel function. (#19963 by AATTsachin-4099) * Adds _eval_nseries function to sin and cos. (#19916 by AATTsachin-4099) * reduced symbolic multiples of pi in trigonometric functions (#19741 by AATTsachin-4099) * fixed errors in assumptions when rewriting RisingFactorial / FallingFactorial as gamma or factorial (#18696 by AATTsachin-4099) * Adds _singularities to LambertW function (#19716 by AATTsachin-4099) * Rectifies _eval_rewrite_as_tractable method of class erf (#19697 by AATTsachin-4099) * Improved condition checking in piecewise_simplify() (#19596 by AATTdhruvmendiratta6 and AATTsmichr) * Implemented _eval_rewrite_as_Abs() for sign (#19487 by AATTdhruvmendiratta6) * Adds cdir parameter to handle series expansions on branch cuts (#19555 by AATTsachin-4099) * Adds _eval_rewrite_as_factorial() and _eval_rewrite_as_gamma() functionalities for subfactorial (#19515 by AATTsachin-4099) * Fixed cot.as_real_imag (sign error in imaginary part) (#19468 by AATTDaveWitteMorris and AATTgschintgen) * Corrects the _eval_as_leading_term() method of tan and sec functions (#19461 by AATTsachin-4099) * bsplines are more robust in terms of handling symbolic knots (#19272 by AATTsmichr) geometry * Ellipses with eccentricity >=1 and for eccentricity < 0 will be handled as trivial cases (#20045 by AATTagrawalshubham01) integrals * upgrades to manualintegrate to support inverse trig functions! (#19993 by AATTiammosespaulr) interactive * The _repr_latex_, _repr_svg_, and _repr_png_ methods of subclasses of sympy objects are no longer discarded when init_printing() is called. (#19944 by AATTeric-wieser) logic * Binary boolean operators on Boolean objects no longer coerce strings (#20093 by AATTeric-wieser) matrices * Adding an array and a matrix now consistently gives TypeError. (#20159 by AATTsidhu1012) * changed subs function to check if input is zip (#19159 by AATTczgdp1807 and AATTgfolbe318) * added tests in test_commonmatrix.py (#19159 by AATTczgdp1807 and AATTgfolbe318) * The ordering of parameters in a parametrised solution from gauss_jordan_solve was fixed. Previously incorrect results were returned for some underdetermined systems. (#19885 by AATT1124816) * Prevents infinite recursion with rmul (#19860 by AATTmloubout) * Added class MatrixSet to represent the set of matrices (#19826 by AATTSmit-create) * Disabled default matrix intermediate product simplification and changed it to enable via context manager. (#19588 by AATToscarbenjamin and AATTPristine-Cat) * Use more efficient Cholesky factorization method to check if matrices are positive semidefinite. (#19573 by AATTgalbwe) * row_del and col_del will raise IndexError rather than ValueError when the index is out of bounds. (#19571 by AATTsylee957) * Fixed a bug in the implementation of Sylvester\'s criterion for determining if a matrix is positive semidefinite. (#19556 by AATTgalbwe) * Explicit non-matrix are treated as scalar (#19533 by AATTmloubout) * QRdecomposition will return matrices with zero rows and columns for zero rank matrices. e.g. Matrix([[0, 0, 0], [0, 0, 0], [0, 0, 0]]) will be decomposed with Matrix(3, 0, []) and Matrix(0, 3, []) (#19319 by AATTsylee957) * Added Matrix.companion for creating dense companion matrix. (#19339 by AATTsylee957) * Added CompanionMatrix for creating a symbolic companion matrix. (#19339 by AATTsylee957) * Matrix([]).eigenvals(multiple=True) will give an empty list instead of an empty dict. (#19355 by AATTsylee957) * Determinant is now considered commutative. (#19354 by AATTeric-wieser) ntheory * Integrated Lenstra\'s Elliptic Curve factorization into factorint (#19937 by AATTabh2k) * Added quadratic sieve (#19657 by AATTabh2k) * Implemented Lenstra\'s Elliptic curve factorization and Elliptic curve primality test (#19436 by AATTabhinav28071999) parsing * Added support for while loop in C Parser (#20188 by AATTsmitgajjar) * Upgraded Relational Operator support (#19982 by AATTiammosespaulr) * Bra-Ket Notation support (#19982 by AATTiammosespaulr) * Improved Grammar (#19982 by AATTiammosespaulr) * added Latex support for \"not equal\" and expanded support for less than, greater than symbols (#19970 by AATTbhpayne) * parse_latex supports \\left and \\right parenthesis notation. (#19466 by AATTsylee957) * parse_latex can parse expressions with amsmath spacing (#19475 by AATTsylee957) * Added parsing of \\exp in parse_latex. (#19395 by AATTsylee957) * Add more parsing rules and test examples. (#19177 by AATTwuyudi) * Added support for more data types in C parser: signed char, unsigned char, short, short int, signed short, signed short int, unsigned short, unsigned short int, unsigned int, long, long int, signed long, signed long int, unsigned long, unsigned long int, double, long double. Also, modified the data type for int and float to intc and float32 respectively, replacing integer and real (#19230 by AATTsmitgajjar) * Added support for shorthand operators in C parser: +=, -=, *=, /= and %= (#19230 by AATTsmitgajjar) * Removed the assumption of value of a variable, if it is not initialized while variable declaration(e.g.; in case of int a; , the value of a was assumed to be Integer(0), in case of float b;, the value of b was assumed to be Float(0.0) and in case of bool c;, the value of c was assumed to be S.false). Also, removed the assumption of default value of formal parameters while parameter declaration in function definition or function prototype (e.g.; in case of function definition void func(int a, float b) { //some code }, default value of formal parametersa and b were assumed to be Integer(0) and Float(0.0) respectively) (#19230 by AATTsmitgajjar) physics.control * Added dc_gain, poles, zeros, and is_stable in TransferFunction class. (#19896 by AATTnamannimmo10) * Adding a new control systems toolbox as physics.control. (#18436 by AATTbenepla and AATTnamannimmo10) * Add TransferFunction, Series, Parallel, and Feedback class for physics.control submodule (#19390 by AATTbenepla and AATTnamannimmo10) physics.quantum * Simplification of Dagger() * IdentityOperator() (#19783 by AATTdhruvmendiratta6) * When printing, Commutator, Anticommutator, InnerProduct, TensorProduct, and OuterProduct now respect keyword-arguments to sstr. (#19424 by AATTeric-wieser) physics.units * Fixed some dimensional analysis bugs with the addition and multiplication operators. (#19705 by AATTmgreminger) physics.vector * Added user warnings for all possible paths are found in particle.py. (#20131 by AATTsidhu1012) * Added user warning for cyclic paths in particle.py. (#20131 by AATTsidhu1012) * Point.vel() now attempts to calculate the velocity using the relative position from other points if it has not been already set by the user. This behavior mimics the existing behavior in ReferenceFrame.ang_vel_in(). (#20049 by AATTmoorepants and AATTsidhu1012) * VectorLatexPrinter now respects the symbol_names setting when printing dynamicsymbols (#19684 by AATTeric-wieser) * VectorLatexPrinter now know about the same trig functions as the regular printer (#19684 by AATTeric-wieser) * When printing, Vector and Dyadic now respect keyword-arguments to sstr and latex. As a result, these no longer use vector printing customizations unless init_vprinting has been called. (#19640 by AATTeric-wieser) plotting * capability to subclass Basebackend and specify it to the plotting functions, thus creating plots with other plotting libraries (#20463 by AATToscarbenjamin) * Fixed plot3d_parametric_line plotting curves out of the box. (#19252 by AATTsylee957) polys * Polys with complex floating point coefficients will now use the CC domain rather than EX. (#20194 by AATToscarbenjamin) * Fixed a bug in minimal_polynomial when using Groebner bases (compose=False) (#19799 by AATTcoproc) * Fixed GeneratorsError for creating some elements of FractionField when its ground domain is FractionField or PolynomialRing. (#19713 by AATTsylee957) * Fixed Poly initialized with PolyElement mutating the generator of the coefficient in the form of polynomial. (e.g. Poly(ZZ[x] (x+1), y, domain=ZZ[x]) becomes Poly(y+1, y, domain=ZZ[x])) (#19659 by AATTsylee957) * Fixed Poly initialized with FracElement raising SympifyError. (e.g. dom = ZZ.frac_field(x); Poly(dom(x+2), y, domain=dom)) (#19659 by AATTsylee957) * Add division to finite extensions. (#19593 by AATTgschintgen and AATTjksuom) * Fixed GCD to always return a non-negative constant. (#19569 by AATTKaustubhDamania) * added new domains for Gaussian integers and rationals (#15396 by AATTjksuom and AATTsmichr) * Add the Gaussian domains ZZ_I and QQ_I to Poly. Make Poly use the Gaussian domains automatically when I is present in the input. Add factorisation over the Gaussian integers (ZZ_I). The polys keyword argument gaussian=True now results in the domain QQ_I rather than the extension field QQ. (#15396 by AATToscarbenjamin) * improvement of dup_zz_mignotte_bound(f, K) by Knuth-Cohen bound (#19254 by AATTlagamura) printing * Support frac with pycode printers (for lambdify) (#20115 by AATTehren) * Round-trip printing of floats (double-precision) to content MathML. (#19958 by AATTlcontento) * latex now once again requires settings to be passed as keyword and not positional arguments, and respects printer settings changed with set_global_settings; restoring the behavior from sympy 1.2 and earlier. (#20067 by AATTeric-wieser) * sympy.printing.pretty.pretty_symbology.xstr has been deprecated (#20081 by AATTeric-wieser) * The unicode argument to sympy.printing.stringpict.prettyForm has been deprecated (#20081 by AATTeric-wieser) * The unicode attribute of sympy.printing.stringpict.prettyForm has been deprecated (#20081 by AATTeric-wieser) * The mpmath code printer now correctly prints the loggamma function. (#19913 by AATTabhaydhiman) * Use literal suffix for 1.0 in C89CodePrinter\'s printing of pow when the exponent is -1 (#19956 by AATTbjodah and AATTmmohrhard) * The modules sympy.printing.ccode, sympy.printing.fcode, and sympy.printing.cxxcode have been renamed to sympy.printing.c, sympy.printing.fortran, and sympy.printing.cxx, respectively. This was done to avoid conflicts that occur when a module name is the same as a function name. The modules are still importable under their old names but doing so is deprecated and a warning will be given (#19908 by AATTasmeurer) * from sympy.printing.codeprinter import Assignment no longer works. You should use from sympy.codegen import Assignment, which is where Assignment has lived since SymPy 1.1. (#19908 by AATTasmeurer) * Calling preview with viewer=\"file\" no longer looks for a file executable (a regression in 1.6.0) (#19905 by AATTeric-wieser) * The deprecation of calling preview with viewer=\"StringIO\" is now expired instead of forgotten (a regression in 1.6.0) (#19905 by AATTeric-wieser) * When printing, NDimArray now respects keyword-arguments to sstr (#19903 by AATTeric-wieser) * preview no longer fails with ValueError if the preamble contains a % character. (#19858 by AATTeric-wieser) * Types which are not recognized by the LaTeX printer no longer have their __str__ interpreted as LaTeX, and have their str(... ) printed as pre-formatted text as if they were printed normally. This includes the builtin str type: latex(\"hello\") now results in the latex \\mathtt{\\text{hello}}. * If a custom type intends to be interpreted as latex, it should define the _latex hook as described in the docs: def _latex(self, printer): return str(self) # indicate that the result of __str__ is LaTeX-compatible * To print a string containing LaTeX math using MathJax, use import IPython IPython.display.Math(string) (#19611 by AATTeric-wieser) * The latex printer now shows builtin floats using ...x10^... notation instead of ...e... notation. (#19611 by AATTeric-wieser) * preview now throws OSError instead of SystemError if viewers cannot be found. (#19818 by AATTeric-wieser) * Fixed the SciPy printer for sparse matrices (#19633 by AATTbenjaminwolba and AATTsylee957) * preview(..., output=\'pdf\') now uses dvipdfmx instead of dvipdf if available. As a result, it now works with a MiKTeX installation on windows. (#19635 by AATTeric-wieser) * LatexPrinter._print is no longer called on strings which have already been converted to Latex. (#19614 by AATTeric-wieser) * A new sympy.printing.defaults.Printable base class was added, which is a mixin providing _repr_latex_ in terms of LatexPrinter().doprint(). Any user type which subclasses this will opt into init_printing. (#19425 by AATTeric-wieser) * Printing unevaluated Muls with multiple Number factors will show all factors strictly in order. Identities will also be shown explicitly. (#19450 by AATToscarbenjamin) * user types that implement _latex are now printed as LaTeX when embedded within builtin collections like list or dict. (#19389 by AATTeric-wieser) * fixed a bug where srepr function would not print dictionary and set properly (#19346 by AATTrational-kunal) * tuples of one element now include the usual trailing comma (#19348 by AATTeric-wieser) * mat_symbol_style=\'bold\' no longer applies to subscripts of matrix symbols (#19301 by AATTeric-wieser) series * Adds e.is_Pow heuristic to limits.py to improve the limit evaluations of Pow objects (#19680 by AATTsachin-4099) * Changes in mrv() function of gruntz.py and cancel() function of polytools.py resolves RecursionError and Timeout in limit evaluations (#19646 by AATTsachin-4099) * modified order.py to better work with Add objects. (#19546 by AATTmaurogaravello) * Adds a functionality to the doit() method of limits.py which uses is_meromorphic() for limit evaluations (#19432 by AATTsachin-4099) * Fixed wrong computations of fourier_series for even or odd functions with limits that are specified non-central. (#19382 by AATTsylee957) * Replaces xreplace() with subs() in rewrite() function of gruntz.py resolving incorrect limit evaluations (#19297 by AATTsachin-4099) * Adds a condition to limitinf() function of gruntz.py resolving incorrect limit evaluations (#19292 by AATTsachin-4099) sets * Earlier expr and sets were treated equal which gave incorrect output for some set functions(mainly : - in, is_subset), made sets and expr not to be equal (#20208 by AATTsidhu1012) * nested multi-symbol first arg for ConditionSet now handled with subs/as_dummy (#19512 by AATTsmichr) * the bound symbols cannot be replaced with subs (#19512 by AATTsmichr) * the error checking for mismatched signatures for sym and the base set has been improved (#19512 by AATTsmichr) * ConditionSet still tries to unify symbols and denest a base set that is given as a ConditionSet but will no longer introduce new symbols (and will leave the base set a a ConditionSet) when this cannot be done (#19512 by AATTsmichr) * Fixed ConditionSet.dummy_eq() and ConditionSet.as_dummy(). (#19502 by AATTgschintgen) * Fixed ConditionSet.subs() in the case where the substitution targets a free symbol. (#19495 by AATTgschintgen) * Fixed _infimum_key sorting key. (#19437 by AATTgschintgen) * ImageSets with Lambdas having different symbols will no longer compare equal and should be compared like a.dummy_eq(b) #19261 by AATTsmichr) simplify * Fixed sqrtdenest giving wrong results for some forms of sqrt(a + b *sqrt(r)) (#19932 by AATTsylee957) * Fixes a bug in collect when collection keys are not independent. (#19720 by AATTmloubout) * Improved simplification for sign() (#19596 by AATTdhruvmendiratta6 and AATTsmichr) * Improved trigsimp for hyperbolic functions nested in non-trig functions. (#19548 by AATTgschintgen) * Fixes a bug in collect when collected symbols appear in the facorized expression. (#19431 by AATTmloubout) solvers * Added simplification strategies for simplifying the solutions of systems of ODEs (#19998 by AATTmijo2 and AATToscarbenjamin) * Fix bug in nonlinsolve leading to key-error (#19189 by AATTnsfinkelstein and AATToscarbenjamin) * improved functionality for solveset in case of inequalities (#19978 by AATTmaurogaravello) * Handling of inequalities involving Piecewise is improved in solveset. (#19986 by AATTmaurogaravello) * Solving higher-order system of ODEs by reducing/transforming it into the first-order system of ODEs by numerous methods. (#19838 by AATTmijo2) * Added component division technique to divide the system of ODEs into logical sub-systems and solving each of these separately. (#19762 by AATTmijo2) * Extending checkodesol and constants_renumber to handle system of ODEs (#19733 by AATTmijo2) * Added dsolve_system that can solve a system of ODEs (#19695 by AATTmijo2) * API for the _linear_neq_order1_type1-4 was changed to make it easier for anyone to access the solver (#19653 by AATTmijo2) * Solving linear systems particularly involving polynomial coefficients is much faster (#18844 by AATToscarbenjamin) * Added the new n equations linear first-order non-constant coefficient non-homogeneous solver where the coefficient matrix of the system of ODEs is commutative with its antiderivative. (#19594 by AATTmijo2) * solveset will always use a symbol that has only either the real or complex attribute and no other attribute; when a ConditionSet is returned, the original symbol for which the solution is being sought will be used if it does not cause evaluation of the result. (#19512 by AATTsmichr) * In dsolve there is no a general solver that can solve systems of constant coefficient non-homogeneous first order ODEs of any size in terms of integrals. (#19341 by AATTmijo2) * Fixed exception handling in solveset\'s secondary trigonometric solver. (#19566 by AATTgschintgen) * equations with an additive generator are now solved more quickly (#19524 by AATTsmichr) * Improved solveset capabilities for solving trigonometric equations, notably rational and symbolic coefficients are now supported. (#19507 by AATTgschintgen) * solve_linear_system is now a thin wrapper for linsolve. It is recommended to use linsolve in new code. solve_linear_system maybe deprecated or removed in future. (#18814 by AATToscarbenjamin) * Addition of a solver that handles a subclass of linear first order non-constant coefficient homogeneous systems of ODEs with any number of equations. (#19185 by AATTmijo2) stats * The state space of ContinuousMarkovChain is now by default a Range object instead of S.Reals. (#20150 by AATTczgdp1807 and AATTnaveensaigit) * The generator matrix of ContinuousMarkovChain is now by default a MatrixSymbol object instead of None. (#20150 by AATTczgdp1807 and AATTnaveensaigit) * RandomMatrixSymbol.doit will be invariant upon call. (#20136 by AATTsylee957) * The state space of DiscreteMarkovChain is now by default a Range object instead of S.Reals. (#20042 by AATTMaelstrom6) * The transition probability matrix of DiscreteMarkovChain is now by default a MatrixSymbol object instead of None. (#20042 by AATTMaelstrom6) * Fixed xreplace infinitely expanding random matrix ensemble classes. (#20018 by AATTsylee957) * All the ensemble classes (RandomMatrixEnsemble, GaussianEnsemble, GaussianOrthogonalEnsemble, ...) now becomes stub function constructors. If you want to use them as classes, you should import them as RandomMatrixEnsembleModel, GaussianEnsembleModel, ... (#20018 by AATTsylee957) * Added sampling of Joint RVs from external libraries (#19848 by AATTSmit-create) * Added sampling for Matrix Distributions (#19857 by AATTSmit-create) * Allowing CompoundDistribution to handle more than one random variables (#19808 by AATTSmit-create) * Added Wishart and MatrixNormal Distributions (#19795 by AATTSmit-create) * Change in return type of P and E with evaluate=False. With evaluate=False, P and E are made to return Probability and Expectation object respectively. (#19819 by AATTSmit-create) * Added MatrixGamma Distribution (#19734 by AATTSmit-create) * Added symbolic classes of Moment and CentralMoment (#19724 by AATTSmit-create) * Added support for Compound Distributions (#19648 by AATTSmit-create) * Added doit in class Probability (#19696 by AATTSmit-create) * Added MutlivariateNormal and MutlivariateLaplace function (#19631 by AATTSmit-create) * Added Poisson, Wiener and Gamma Processes (#19387 by AATTSmit-create) * Added Expectation Matrix, Variance Matrix and CrossCovariance Matrix (#19529 by AATTSmit-create) * Added sample_stochastic for sampling from stochastic processes. (#19500 by AATTSmit-create) * FIxes free_symbols method of RandomIndexedSymbol (#19459 by AATTSmit-create) * Added Sampling from external libraries for all the random variables of sympy (#19342 by AATTSmit-create) * Added doit method in Expectation and made E to call Expectation (#19290 by AATTSmit-create) * Added is_random in sympy.stats.rv to check if expression contains random variables (#19304 by AATTSmit-create) * expand added in sympy.stats.symbolic_rv API. (#19295 by AATTSmit-create) * Added Lomax and Bounded pareto distribution (#19273 by AATTSmit-create) * Added sampling methods for continuous variables (#18754 by AATTSmit-create) * Added library option in sample (#18754 by AATTSmit-create) * sample returns an iterator object since version 1.7 (#18754 by AATTSmit-create) tensor * Adding ArrayDerivative class as subclass of Derivative. This new handles derivatives involving non-scalar expressions. (#20072 by AATTUpabjojr) utilities * sympy.utilities.iterables.partitions() no longer reuses the same dictionary for each yielded output. (#20154 by AATTasmeurer) * Add support for Integral with lambdify (using scipy or mpmath) (#20134 by AATTehren) * Lambdifying an expression with loggamma using mpmath no longer raises ImportError. (#19913 by AATTabhaydhiman) * find_executable is deprecated in favor of the builtin shutil. which. (#19634 by AATTeric-wieser) vector * integral of parametric region depends on the order of limits at the time of initialization. (#20044 by AATTfriyaz) * vector_integrate can integrate over ImplicitRegion objects. (#19883 by AATTfriyaz) * Added a function to find a rational point on conic (#19807 by AATTfriyaz and AATTUpabjojr) * Added support to create implictly defined regions. (#19681 by AATTfriyaz) * Added support to integrate scalar/vector fields over objects of geometry module. (#19650 by AATTfriyaz) * added class to represent integral of scalar/vector field over a parametric surface. (#19539 by AATTfriyaz) * Modified API of ParametricIntegral class (#19580 by AATTfriyaz) * Added class to represent a parametric region in space. (#19472 by AATTfriyaz) other * The LaTeX docs now need to built with xelatex rather than pdflatex. (#20309 by AATToscarbenjamin) * Support for Python 3.5 has been dropped. SymPy now requires Python 3.6 or newer. (#20145 by AATToscarbenjamin) * more function raise TypeError when passed invalid keyword-arguments, rather than ignoring them silently (#20086 by AATTeric-wieser) * assert sympy.testing.pytest.raises(Exception, func) no longer always asserts when pytest is not present (#20012 by AATTeric-wieser) * Make SymPy do less at import time so that import sympy is faster. (#19910 by AATTasmeurer) * Improve code quality by cleaning the doctests up (#19406 by AATTInCogNiTo124 and AATToscarbenjamin) * intersphinx links to :mod:`sympy` no longer point to the documentation for Immutable Matrices (#19430 by AATTeric-wieser) * Wed Sep 16 2020 Dirk Mueller - update to 1.6.2: * bugfixes * Wed Jun 24 2020 Todd R - version update to 1.6 + Backwards compatibility breaks and deprecations > assumptions * Removed deprecated Q.bounded (use Q.finite instead). Deprecated since version 1.0 (issue: #9425) (#18390 by AATTSmit-create) * Removed deprecated Q.infinitesimal (use Q.zero instead). Deprecated since version 1.0 (issue: #9675) (#18390 by AATTSmit-create) * Removed deprecated Q.infinity (use Q.infinte instead). Deprecated since version 1.0 (issue: #9426) (#18390 by AATTSmit-create) > calculus * Deprecated evaluate argument in differentiate_finite for making non-conservative finite differences. (#17881 by AATTvezeli) > combinatorics * Using Permutation.print_cyclic will raise deprecation warnings (#18033 by AATToscarbenjamin, AATTsouravgl0, and AATTsylee957) > core * Deprecated sympify automatically converting custom objects with __str__ or __repr__ implemented. (#19006 by AATTsylee957) * BREAKING CHANGE: Basic.has no longer accepts strings as input. For example in SymPy 1.5 you could do Symbol(\'x\').has(\'x\') and the string \'x\' passed to has would be sympified to a symbol so that the result would be True. In SymPy 1.6 this will raise an error because the string \'x\' can not be sympified using strict sympification. (#19251 by AATToscarbenjamin) * Remove deprecated bounded, unbounded and infinitesimal. Deprecated since version 0.7.6 (issue #8071) (#18503 by AATTSmit-create) * Relational is no longer a subclass of Expr and does not produce nonsensical results in arithmetic operations. This affects all Relational subclasses (Eq, Ne, Gt, Ge, Lt, Le). It is no longer possible to call meaningless Expr methods like as_coeff_Mul on Relational instances. (#18053 by AATToscarbenjamin) * Expr now uses cooperative dispatch for binary operations so it is possible for non-Expr Basic subclasses to override the behaviour of e.g. a + b where one of a or b is an instance of Expr. This also means that any non-Expr Basic subclasses can not depend on Expr.__add__ to create Add(a, b): if a class is not a subclass of Expr and wants to define binary operations with Expr it must do so explicitly in its own __add__ method. For classes depending on this this is not a backward compatible change. (#18116 by AATToscarbenjamin) > matrices * The Matrix.is_zero property has been renamed to Matrix.is_zero_matrix. * Matrix.is_zero is now always False. This is because in general is_zero means the number zero so a matrix can never be zero. > To get the old behavior of M.is_zero in both old and new versions of sympy use from sympy.core.logic import fuzzy_and; fuzzy_and(m.is_zero for m in M). (#18464 by AATTsylee957) > polys * BREAKING CHANGE: Poly and PurePoly now subclass Basic rather than Expr. This means that they no longer have various Expr methods such as expand that do not make sense for Poly. Use as_expr to convert the Poly to an Expr before using Expr methods. (#18613 by AATToscarbenjamin) * BREAKING CHANGE: Poly instances with different domains now always compare unequal with p1 == p2 and p1.eq(p2). Previously Poly instances that had the same expression and generators would compare equal even if the domains were different. In some cases it might be necessary to specify the domain when comparing e.g. if p == Poly(x, x, domain=\'QQ\'). (#18613 by AATToscarbenjamin) * DEPRECATION: Mixing Poly with non-polynomial Expr in binary operations is now deprecated. For example Poly(x, x) * exp(x) will give a deprecation warning but still return the Expr x *exp(x) as before. If the Expr can be converted to Poly (e.g. Poly(x, x) * x) then a Poly will be returned. To get an Expr always use the as_expr method first to convert the Poly to an Expr. To get a Poly always use as_poly to convert the Expr to a Poly. (#18613 by AATToscarbenjamin) * DEPRECATION: Passing Poly as the integrand to the integrate function or Integral class is now deprecated. Use the integrate method instead e.g. Poly(x, x).integrate(x) (#18613 by AATToscarbenjamin) > printing * Removed deprecated Ccodeprinter (Use C89Printer or C99Printer instead). Deprecated since version 1.1 (Issue : #12220). (#18392 by AATTrisubaba) * Removed deprecated file viewer option in preview. Deprecated since version 0.7.3(Issue: #7018) (#18392 by AATTrisubaba) * Removed deprecated StringIO viewer option in preview. Deprecated since version 0.7.2(Issue: #7083) (#18392 by AATTrisubaba) > sets * Set now uses cooperative dispatch for binary operations so it is possible for non-Set Basic subclasses to override the behaviour of e.g. a + b where one of a or b is an instance of Set. This also means that any non-Set Basic subclasses can not depend on e.g. Set.__add__ to create Union(a, b): if a class is not a subclass of Set and wants to define binary operations with Set it must do so explicitly in its own __add__ method. For classes depending on this this is not a backward compatible change. (#18116 by AATToscarbenjamin) > other * Submodule names are no longer imported with from sympy import *. They can still be imported directly like from sympy import core or accessed like sympy.core, or like sys.modules[\'sympy.simplify\'] for modules that share names with SymPy functions. (#18245 by AATToscarbenjamin) + Changes > assumptions * assumptions will give the T/F assumptions of a symbol or expression (#19155 by AATTsmichr) * common_assumptions returns the T/F assumptions in common amongst the given expressions (#19155 by AATTsmichr) * Added a refine_matrixelement function (#18681 by AATTSaanidhyavats) * Updated Mul.is_imaginary to support infinite values. (#18192 by AATTnamannimmo10) * Removed deprecated Q.bounded (use Q.finite instead). Deprecated since version 1.0 (issue: #9425) (#18390 by AATTSmit-create) * Removed deprecated Q.infinitesimal (use Q.zero instead). Deprecated since version 1.0 (issue: #9675) (#18390 by AATTSmit-create) * Removed deprecated Q.infinity (use Q.infinte instead). Deprecated since version 1.0 (issue: #9426) (#18390 by AATTSmit-create) * Matrices can now be checked for antihermitian property by using ask(Q.antihermitian()) which earlier generated incorrect results. (#18303 by AATTczgdp1807) * Improved code in ask function using constructs from cnf module. (#18204 by AATTJSS95 and AATTmcpl-sympy) * Fixed bug in ask function: In case of user-defined Predicates it generated KeyError while checking for local_facts. Now falls back to Handlers and satask. (#18204 by AATTJSS95 and AATTmcpl-sympy) > calculus * continuous_domain now finds singularities in nested fractions (#19047 by AATTsmichr and AATTThomasHickman) * singularities has been upgraded to handle more than rational functions (#19047 by AATTsmichr and AATTThomasHickman) * fixes operations of AccumBounds (#18803 by AATTRyand1234) * periodicity of exponential functions with a non-zero phase component is now calculated. (#18746 by AATTmohitacecode) * Correct the solution of differentiate_finite for expressions that contain embedded derivatives. (#17881 by AATTvezeli) * Deprecated evaluate argument in differentiate_finite for making non-conservative finite differences. (#17881 by AATTvezeli) * Updated docstrings of maximum, minimum, stationary_points and AccumBounds.intersection (#18581 by AATTmijo2) * Fixes Recursion Error in AccumulationBounds.__pow__ by adding a check on denominator (#18450 by AATTSmit-create) > combinatorics * Permutation * PermutationGroup and PermutationGroup * Permutation return Coset. (#19139 by AATTmohitacecode) * Added Coset Class. (#19077 by AATTmohitacecode and AATTsylee957) * Added SymmetricPermutationGroup Class. (#19077 by AATTmohitacecode and AATTsylee957) * Added schur number utilities in combinatorics (#18667 by AATTmijo2 and AATTslacker404) * Raise exception with wrong size in Permutation. (#18587 by AATTSmit-create) * Added Permutation.conjugacy_class and Permutation.conjugacy_classes for computing conjugacy classes in permutation groups. (#18354 by AATTlucjon and AATTsachin-4099) * Fixed Permutation applying for negative integers. (#18032 by AATTmrocklin and AATTsylee957) * Added Permutation.apply to use permutation as a symbolic function. (#18032 by AATTmrocklin and AATTsylee957) * Using Permutation.print_cyclic will raise deprecation warnings (#18033 by AATToscarbenjamin, AATTsouravgl0, and AATTsylee957) * Cycle class is no longer mutable and can be regarded as a sparse representation of a permutation (#17973 by AATTsachin-4099) > core * BREAKING CHANGE: Basic.has no longer accepts strings as input. For example in SymPy 1.5 you could do Symbol(\'x\').has(\'x\') and the string \'x\' passed to has would be sympified to a symbol so that the result would be True. In SymPy 1.6 this will raise an error because the string \'x\' can not be sympified using strict sympification. (#19251 by AATToscarbenjamin) * Mul.is_integer no longer rebuilds arguments into Mul (#19182 by AATTiammosespaulr) * Mul with odd numerator and even denominator is recognized as rational but not integer (#19155 by AATTsmichr) * Deprecated sympify automatically converting custom objects with __str__ or __repr__ implemented. (#19006 by AATTsylee957) * when strict=True, as_int will not convert True to 1 (#19054 by AATTsmichr) * Support mpmath.matrix in sympify. (#18911 by AATTsmichr and AATTsylee957) * Adds simplification to Pow._eval_nseries resolving incorrect limit evaluation (#18962 by AATTsachin-4099) * doit(deep=False) now evaluates Add and Mul. (#18829 by AATTJSS95 and AATTmcpl-sympy) * Reduces sensitivity of computation of order terms in Pow._eval_nseries (#18785 by AATTsachin-4099) * Pow.is_zero is fixed for some cases involving infinite (or possibly infinite) expressions. (#18728 by AATToscarbenjamin) * Now finite and infinite are logical opposites in the old assumptions system so e.g. a Symbol declared with finite=False will have infinite=True. (#18726 by AATToscarbenjamin) * sympify no longer converts numpy arrays with size to scalars (#18651 by AATTmijo2 and AATTNeilGirdhar) * __getnewargs__() added to Zero, One, NegativeOne, Half. (#18675 by AATTmohitacecode) * simplification of powers with numerical products in the base is improved (#18650 by AATTsachin-4099) * sqrt(x).is_negative is False when x is real (#18597 by AATTSmit-create) * Add,_eval_as_leading_term() has been fixed (#18340 by AATTsachin-4099) * Updated the definition of atoms method of class Basic (#18532 by AATTmijo2) * basic - sorting in subs is improved so unsorted arguments will prefer replacing more complicated patterns first (e.g. the second derivative before the first derivative). (#18043 by AATTPsycho-Pirate) * Remove deprecated bounded, unbounded and infinitesimal. Deprecated since version 0.7.6 (issue #8071) (#18503 by AATTSmit-create) * Added check for AccumBounds. (#18478 by AATTsmichr and AATTSmit-create) * Adding gmpy in integer_nthroot ( It works only for n < 2 * *63) (#18380 by AATTSmit-create) * Added new test case for relational (#18416 by AATTmijo2) * Pow._eval_nseries fixed to accept all real exponents. (#18406 by AATTSmit-create) * integer_ntroot and igcd now use gmpy when it is installed (#18276 by AATTSmit-create) * Changed some partial derivatives like diff(f(g(x), h(x)), x) not to have dummy symbols. (#18326 by AATTsachin-4099) * subs now works correctly with partial derivatives. (#18326 by AATTsachin-4099) * Subclass of Function can inherit its nargs attribute to its subclasses. (#18258 by AATTJSS95 and AATTmcpl-sympy) * Added try-except block in sympy/core/relational.py to handle NotImplementedError and return ConditionSet (#18211 by AATTSmit-create) * Renamed core/evaluate to core/parameters (#18198 by AATTJSS95, AATTmcpl-sympy, and AATToscarbenjamin) * Added global_parameters, which is a thread-local storage for global parameters such as evaluate, distribute, etc. (#18198 by AATTJSS95, AATTmcpl-sympy, and AATToscarbenjamin) * Relational is no longer a subclass of Expr and does not produce nonsensical results in arithmetic operations. This affects all Relational subclasses (Eq, Ne, Gt, Ge, Lt, Le). It is no longer possible to call meaningless Expr methods like as_coeff_Mul on Relational instances. (#18053 by AATToscarbenjamin) * Expr now uses cooperative dispatch for binary operations so it is possible for non-Expr Basic subclasses to override the behaviour of e.g. a + b where one of a or b is an instance of Expr. This also means that any non-Expr Basic subclasses can not depend on Expr.__add__ to create Add(a, b): if a class is not a subclass of Expr and wants to define binary operations with Expr it must do so explicitly in its own __add__ method. For classes depending on this this is not a backward compatible change. (#18116 by AATToscarbenjamin) * Added global_evaluate[0] condition in add, sub, mul, div functions in Infinity class. (#18109 by AATTnamannimmo10) * Moved .as_poly() from Basic to Expr. (#18094 by AATTdhruvmendiratta6) * Fixed a bug in Factors().as_expr() that led to simplifications that are not generally valid for complex numbers. (Exponents were always multiplied in power-of-a-power situations.) (#18087 by AATTgschintgen) * Fix a regression in 1.5 that allowed expressions to compare equal to strings, and caused == to call str() on the other object. (#18057 by AATTasmeurer) > functions * Adjoint of exp and transpose of exp now work as expected. (#19151 by AATTakirakyle) * Adds substitution to _eval_nseries() function of Abs() class resolving incorrect limit evaluations (#19037 by AATTsachin-4099) * expand log term into its prime factors if the factor flag is True. (#18927 by AATTsbt4104) * Evaluate nested floor/ceiling. (#18903 by AATTsbt4104) * Update expand function for binomials. (#18802 by AATTsbt4104) * periodicity of trigonometric functions with a non-zero phase component is now calculated. (#18746 by AATTmohitacecode) * __getnewargs__() and args() added to IdentityFunction. (#18675 by AATTmohitacecode) * Added _eval_nseries() functionality to hyper (#18630 by AATTdhruvmendiratta6) * Fix number of terms in exp._eval_nseries. (#18598 by AATTmohitacecode) * Fixes TypeError while using simplify (#18640 by AATTSmit-create) * Added proportional tolerance for falling factorial test (#18456 by AATTmijo2) * polygamma(n, 1/2) with n a positive integer is automatically evaluated (#18451 by AATTethankward) * floor and ceiling with float arguments now return Integers (#18424 by AATTmohitacecode) * Sympified output numbers for factorial and binomial used with Mod. (#18339 by AATTnamannimmo10) * Maximum recursion depth is no longer exceeded when subfactorial is called on large numbers (#17983 by AATTsachin-4099) * Copy edited the Special submodule to reflect the style guide for Google Season of Docs. (#17844 by AATTlglattly) > geometry * Line.bisectors will return the two perpendicular lines, bisecting the angles at the intersection of two linear entities and laying in the same plane as them (#19094 by AATTJaime02 and AATTsmichr) * Added explicit optional parameters to Polygon and convex_hull (#15757 by AATToscargus) * Added bisectors method for Polygon class. (#18335 by AATTnamannimmo10) * Add __call__ method in Class Curve. (#18250 by AATTnamannimmo10) * Point.coordinates was added as a meaningful alias for Point.args (#18213 by AATTJaime02) > holonomic * A cache mismatch error was fixed. (#19248 by AATTiammosespaulr and AATTsmichr) > integrals * Handling Float Integrals (#18434 by AATTSmit-create) * Added integration over summation (#18491 by AATTmijo2) * Added extra step to evaluate integral if heurisch() returns None in heurisch_wrapper() (#18153 by AATTrisubaba) * Catch ValueError from meijerg() in _inverse_mellin_transform(). (#18141 by AATTSmit-create) > logic * boolalg (#18912 by AATTsmichr) * to_cnf/to_dnf (when simplify=True) require force=True` if there are more than 8 variables (#18912 by AATTsmichr) * simplify_logic recognizes trivial simplified cases (#18912 by AATTsmichr) * is_literal can treat Not as literal or not by using the literal_Not flag (#18912 by AATTsmichr) * Opposing Relationals are now detected correctly in nested Ands allowing evaluation to False in more cases. (#18811 by AATToscarbenjamin) * Added a new normal form - ANFform. Function ANFform converts a list of truth values to an expression in Algebraic Normal Form (ANF). (#13686 by AATTKonstantinTogoi) * Added a new method BooleanFunction.to_anf that converts an expression to ANF by equivalent transformations. (#13686 by AATTKonstantinTogoi) * Added a new function is_anf that checks if an expression is ANF. (#13686 by AATTKonstantinTogoi) * Added a new function to_anf that converts an expression to ANF if it is not ANF. (#13686 by AATTKonstantinTogoi) * Added a new function distribute_xor_over_and. Given a sentence s consisting of conjunction and exclusive disjunctions of literals, it returns an equivalent exclusive disjunction. (#13686 by AATTKonstantinTogoi) * Added a new function bool_minterm that returns the k-th minterm of a fixed ordered set of binary variables. (#13686 by AATTKonstantinTogoi) * Added a new function bool_maxterm that returns the k-th maxterm of a fixed ordered set of binary variables. (#13686 by AATTKonstantinTogoi) * Added a new function bool_monomial that returns the k-th monomial of a fixed ordered set of binary variables. (#13686 by AATTKonstantinTogoi) > matrices * Fixed matrix creation from the list containg numpy ndarray. (e.g. Matrix([np.array([1, 2]), np.array([1, 2])])) (#19229 by AATTsylee957) * Added is_strongly_diagonally_dominant and is_weakly_diagonally_dominant properties for Matrix. (#19205 by AATTsylee957) * Powers of non-square matrices now always raise an error, even when constructed using MatPow(...). (#19104 by AATTjlherren) * ZeroMatrix will not be logically False. (#19110 by AATTsbt4104) * Added connected_components and connected_components_decomposition for matrix which decomposes a matrix into a block diagonal form. (#19045 by AATTsylee957) * Added todok function to find dictionary of keys format from any dense or sparse matrices. (#19045 by AATTsylee957) * Added BlockDiagMatrix.get_diag_blocks to provide an user API to get diagonal blocks from the matrix. (#19045 by AATTsylee957) * Fixed bug of mpmath.matrix transforming into wrong shape if used to create Matrix. (#18911 by AATTsmichr and AATTsylee957) * Improved eigenvals and eigenvects for floating point matrices using mpmath. (#18911 by AATTsmichr and AATTsylee957) * Some expressions involving OneMatrix are now simplified. (#19009 by AATTjlherren) * Indexing BlockMatrix now more often produces correct results and remains unevaluated if a correct simplification is not possible. (#19007 by AATTjlherren) * Added a function that rotates matrices by 90 degrees (#18953 by AATTiammosespaulr and AATTsylee957) * sparsetools - _doktocsr now returns a MutableSparseMatrix (#18940 by AATTsmichr) * Added Golub Kahan Bidiagonalization with Householder Reflections (#18797 by AATTsudoWin) * Added test_solvers.py file which contains all the solvers-related tests. (#18793 by AATTguptabhaskar) * Added evaluate option to MatAdd and MatMul (#18765 by AATTJSS95 and AATTmcpl-sympy) * non-square matrices now raise NonSquareMatrixError if inversion is attempted (#18647 by AATTabhinav28071999) * Added test_subspaces.py file which contain all the reductions-related tests. (#18713 by AATTmohitacecode) * Added test_reductions.py file which contain all the reductions-related tests. (#18705 by AATTmohitacecode) * Added test_eigen.py file which contain all the eigen-related tests. (#18690 by AATTmohitacecode) * Added test_decomposition.py file which contain all the decomposition-related tests. (#18685 by AATTmohitacecode) * Added test_determinant.py file which contain all the determinant-related tests. (#18668 by AATTmohitacecode) * Faster Matrix Inverse using Block Matrix (#18608 by AATTabhinav28071999) * Faster Matrix exponentiation using Cayley Hamilton Theorem (#18595 by AATTabhinav28071999) * Fixed BlockDiagMatrix(A).blocks giving a non-block matrix. (#18621 by AATTabhinav28071999) * Added dotprodsimp keyword to MatrixArithmetic.pow (#18600 by AATTPristine-Cat) * Implemented General Matrix Analytic functions (#18565 by AATTabhinav28071999) * Enabled intermediate matrix product simplification to control expression blowup during certain matrix operations. (#18572 by AATTPristine-Cat) (#18147 by AATTPristine-Cat) (#18049 by AATTPristine-Cat) * Added environment variable check SYMPY_DOTPRODSIMP=0 to turn off the new dotprodsimp simplification in case the structure of the new results breaks user code. Should be removed after next live release. (#18572 by AATTPristine-Cat) * Pulled out and cleaned up many matrix function implementations from matrices.py into individual matrix source files determinant.py, reductions.py, subspaces.py, eigen.py, decompositions.py, solvers.py and inverse.py. (#18564 by AATTPristine-Cat) (#18519 by AATTPristine-Cat) (#18425 by AATTPristine-Cat) (#18420 by AATTPristine-Cat) (#18342 by AATTPristine-Cat) * Immutable matrices return themselves on call to as_immutable(). (#18441 by AATTPristine-Cat) * Fixed wrapper for NumPy matrices so SymPy iteration and indexing works correctly. (#18160 by AATTPristine-Cat) * Not backwards compatible: The Matrix.is_zero property has been renamed to Matrix.is_zero_matrix. Matrix.is_zero is now always False. This is because in general is_zero means the number zero so a matrix can never be zero. To get the old behavior of M.is_zero in both old and new versions of sympy use from sympy.core.logic import fuzzy_and; fuzzy_and(m.is_zero for m in M). (#18464 by AATTsylee957) * Added PermutationMatrix and MatrixPermute for matrix permutations. (#18032 by AATTmrocklin and AATTsylee957) * Fixed FunctionMatrix.replace raising TypeError: \'property\' object is not iterable when the function is not a Lambda instance. (#17998 by AATTsylee957) * FunctionMatrix and ElementwiseApplyFunction will always wrap the function inside Lambda. (#17998 by AATTsylee957) * Cleaned up unnecessary slowdown for MatMul.doit when it contains explicit matrices. (#17872 by AATTsylee957) * Fixed MatPow(Inverse(A), 3) and Inverse(MatPow(A, 3)) canonicalized into different objects. (#17872 by AATTsylee957) * Improved inversion of block matrices by selecting an appropriate formula. (#19215 by AATTjlherren) > ntheory * the number of digits (like bit length) can now be specified for digits (#18961 by AATTArpan612 and AATTsmichr) * Corrects the condition for \"Extra strong\" Lucas pseudoprime (#18946 by AATTArpan612 and AATTsylee957) * count_digits works only with numbers (not strings) (#18807 by AATTsmichr) * digits is now located in digits instead of factor_ (#18807 by AATTsmichr) * implemented elliptic curve (#18682 by AATTabhinav28071999 and AATTshikil) * added new ntheory module digits.py containing methods related to arithmetic properties of integers (currently, frequency counters for digits of integers, palindromic numbers) (#18659 by AATTsr-murthy) * Made divisor_sigma() symbolically recognize the case: divisor_sigma(a * *j *b * *k) (#18688 by AATTsachin-4099) * Added multiplicty_in_factorial(p, n) to find the multiplicity of p in n! without calculating the factorial. (#18671 by AATTsachin-4099) * implemented gaussian prime test (#18673 by AATTabhinav28071999) * is_nthpow_residue no longer raises ValueError when a < 0 (#18398 by AATTabhinav28071999) * polynomial_congruence recognizes x * *n + a = 0 mod m as a special case (#18398 by AATTabhinav28071999) * Added polynomial_congruence(expr, m) to find values congruent (mod m) to a polynomial (#18294 by AATTabhinav28071999) * is_nthpow_residue handles numbers that are not powers of a primitive root. (#18337 by AATTabhinav28071999) * Fixes nthroot_mod for prime powers (#18274 by AATTabhinav28071999) * nthroot_mod now supports composite moduli (#18199 by AATTabhinav28071999) * Added dra and drm to calculate digital root via addition and multiplication (#16496 by AATTabhinav28071999 and AATTsmichr) * Added quadratic_congruence solver function (#18195 by AATTabhinav28071999) * Make nthroot_mod , primitive_root and _primitive_root_prime_iter incompatible with composite modulo. (#18194 by AATTrisubaba) * In def _sqrt_mod_prime_power(a, p, k): it is assumed that p is a prime number. And this function calls if not is_quad_residue(a, p): in line 396. But is_quad_residue(a, p) again checks that p is prime or not. This leads to extra computation cost. (#18184 by AATTabhinav28071999) * Added check for zero in is_nthpow_residue. (#18129 by AATTerdOne) * Added proper_divisor and proper_divisor_count functions (#18085 by AATTadhoc-king and AATTczgdp1807) * Proper exception when accessing index 0 of sieve. (#18013 by AATTJulienPalard) > parsing * added support for unary operators: unary plus(+), unary minus(-), pre/post increment(++), pre/post decrement(--) and logical NOT(!) in C parser (#19140 by AATTsmitgajjar) * added support for parenthesized expression in C parser (#19140 by AATTsmitgajjar) * added support for binom (#19147 by AATTiammosespaulr) * Added 2 new rules for mathematica parser. (#19135 by AATTwuyudi) * added support for parsing binary operators +, -, *, /, %, =, ==, !=, <, <=, >, >=, && and || in C parser (#19029 by AATTsmitgajjar) * added support for parsing variable declarations and assignments, where one variable or a literal or any combination of them using binary operators is assigned to another variable in C parser (#19029 by AATTsmitgajjar) * added support for variable declaration and assignment of boolean literal (true and false) as well as declaration of boolean data type in C parser (#19029 by AATTsmitgajjar) * Added the assignment case where character is assigned to an integer in C parser (#18925 by AATTsmitgajjar) * parse_expr can now be imported directly from sympy (from sympy import parse_expr). The various parsing transformers should still be imported from sympy.parsing.sympy_parser. (#18074 by AATTasmeurer) * updated use of Call() to work in Python >=3.5 by reformatting arguments (#17875 by AATTczgdp1807 and AATTgregmedlock) > physics.continuum_mechanics * draw method follows sign convention of positive moment/counterclockwise application (#18766 by AATTamartinhernan) > physics.mechanics * KanesMethod.forcing no longer contains time derivatives of generalized coordinates if kinematical differential equations are supplied. (#18078 by AATTmoorepants) > physics.quantum * Added new OrthogonalBra and OrthogonalKet classes for orthogonal states. (#18182 by AATTm93a) > physics.vector * Fixed test failure for test_dyadic with cache off (#18405 by AATTSmit-create) * Added assumptions to dynamicsymbols (#18061 by AATTSmit-create) * Added test for dynamicsymbols (#18061 by AATTSmit-create) > plotting * Fixed plot3d_parametric_line plotting curves out of the box. (#19284 by AATTsylee957) * Accept user passed label of the plots (#19079 by AATTSmit-create) * Removed all set_smart_bounds methods. (#18870 by AATTkamimura) * Improved textplot() axis values. (#18922 by AATTprshnt19) * Added backend option (#18677 by AATTSmit-create) * Fixed aspect_ratio in plot (#18537 by AATTSmit-create) > polys * roots_quintic now recognizes when there is no analytical solution (#19165 by AATTsmichr) * any Expr with non-symbol generators will be refused by root-related public functions to minimize confusion (since roots of cos(x) - 1 and x - 1 are the same). (#19117 by AATTsmichr) * RootOf results that are returned in root request will have a canonical x as their generator (#19117 by AATTsmichr) * any Expr with non-symbol generators will be refused by root-related public functions to minimize confusion (since roots of cos(x) - 1 and x - 1 are the same). (#19117 by AATTsmichr) * RootOf results that are returned in root request will have a canonical x as their generator (#19117 by AATTsmichr) * Fixed an issue when calling factor() with an extension (#19040 by AATTiammosespaulr) * Combine factors of same multiplicity (#18698 by AATTSmit-create) * Fixed initialization of orig_ext and added from_AlgebraicField() to AlgebraicField. (#18669 by AATTmohitacecode) * BREAKING CHANGE: Poly and PurePoly now subclass Basic rather than Expr. This means that they no longer have various Expr methods such as expand that do not make sense for Poly. Use as_expr to convert the Poly to an Expr before using Expr methods. (#18613 by AATToscarbenjamin) * BREAKING CHANGE: Poly instances with different domains now always compare unequal with p1 == p2 and p1.eq(p2). Previously Poly instances that had the same expression and generators would compare equal even if the domains were different. In some cases it might be necessary to specify the domain when comparing e.g. if p == Poly(x, x, domain=\'QQ\'). (#18613 by AATToscarbenjamin) * DEPRECATION: Mixing Poly with non-polynomial Expr in binary operations is now deprecated. For example Poly(x, x) * exp(x) will give a deprecation warning but still returne the Expr x *exp(x) as before. If the Expr can be converted to Poly (e.g. Poly(x, x) * x) then a Poly will be returned. To get an Expr always use the as_expr method first to convert the Poly to an Expr. To get a Poly always use as_poly to convert the Expr to a Poly. (#18613 by AATToscarbenjamin) * DEPRECATION: Passing Poly as the integrand to the integrate function or Integral class is now deprecated. Use the integrate method instead e.g. Poly(x, x).integrate(x) (#18613 by AATToscarbenjamin) * add condition for f == 0 to Piecewise solution for symbolic quartic polynomials (#18571 by AATTharsh9200) * Fixed polynomial gcd bug (#18566 by AATTSmit-create) * Added check for expressions containing GoldenRatio and TribonacciConstant (#18535 by AATTSmit-create) * Added expand in simplify method of ExpressionDomain (#18472 by AATTSmit-create) * Fixed the issue of cancel not expanding the product of irrational conjugates and added Tests (#18448 by AATTiamabhishek0) * Prevent creation of CC from changing the context of RealElement. (#18312 by AATTV1krant) * Changes in Poly.__new__() to make it handle simplified Matrix (#18159 by AATTSmit-create) * interpolate will no longer return nan when x is a supplied coordinate (#18030 by AATTsmichr) * interpolating_poly will raise an error if x is not symbolic (#18030 by AATTsmichr) * interpolating_poly will raise an error if X or Y depend on x (#18030 by AATTsmichr) * interpolating-poly will now use only the first n points in X and Y (#18030 by AATTsmichr) * Added KSY_precondition() to test for the Kapur-Saxena-Yang precondition (#17974 by AATTctsiagkalis) * Added get_KSY_Dixon_resultant() and auxiliary methods for computing the KSY approach to Dixon\'s Resultant (#17974 by AATTctsiagkalis) > printing * the inverse hyperbolic functions now respect the inv_trig_style printer setting (#19235 by AATTeric-wieser) * Fixed numpy printer raising error for unevaluated numeric power. (#19170 by AATTsylee957) * Fixed IdentityFunction printing for LaTeX. (#19032 by AATTsylee957) * Added parenthesize_super option to LatexPrinter. (#18256 by AATTJSS95 and AATTmcpl-sympy) * Removing python2 support from PythonCodePrinter (#18381 by AATTSmit-create) * Added support for airy functions in the SciPyPrinter class. (#18908 by AATTOmarWagih1) * allowed ReprPrinter to maintain original expr order via turning ordering off (#18777 by AATTleerobert) * Fix lambdify with Min for arrays of more than one dimension (#18774 by AATTsbt4104) * Fixed MatMul with complex coefficients raising error when printed. (#18744 by AATTsylee957) * fixes incorrect parenthesizes in latex print of integral (#18772 by AATTRyand1234) * fixes nested differentiation problem in latex format (#18740 by AATTRyand1234) * added Python printer for KroneckerDelta (#18185 by AATTm93a) * Added min and max options for printers to set a range for floating point numbers that can * be printed in fixed-point format. (#18477 by AATTmijo2) * Removed deprecated Ccodeprinter (Use C89Printer or C99Printer instead). Deprecated since version 1.1 (Issue : #12220). (#18392 by AATTrisubaba) * Removed deprecated file viewer option in preview. Deprecated since version 0.7.3(Issue: #7018) (#18392 by AATTrisubaba) * Removed deprecated StringIO viewer option in preview. Deprecated since version 0.7.2(Issue: #7083) (#18392 by AATTrisubaba) * Fixed Range with symbols raising error when printed with LaTeX. (#18418 by AATTsylee957) * Added NumPy printing for several matrix expressions. (ZeroMatrix, OneMatrix, FunctionMatrix, HadamardProduct, KroneckerProduct, Adjoint, DiagonalOf, DiagMatrix, DiagonalMatrix) (#18351 by AATTsylee957 and AATTvighneshq) * Added support for FiniteSet printing in mathml content markup. (#17545 by AATTsylee957) * Added support for Union, Intersection, Complement, and ProductSet printing for mathml content markup. (#17545 by AATTsylee957) * Added a new flag perm_cyclic for string, LaTeX, and pretty printers. (#18033 by AATToscarbenjamin, AATTsouravgl0, and AATTsylee957) * LaTeX and pretty printer will print permutation in 2-line array notation when perm_cyclic=False. (#18033 by AATToscarbenjamin, AATTsouravgl0, and AATTsylee957) > series * Adds simplification to limitinf() function of gruntz.py resolving ValueError (#19004 by AATTsachin-4099) * Adds simplification to limitinf() function of gruntz.py resolving ValueError (#18978 by AATTsachin-4099) * Corrected docstrings related to latex in FormalPowerSeries (#18812 by AATTsmitgajjar) * Order(0) now returns an object of Order Type (#18629 by AATTiamabhishek0) > sets * Added a new DisjointUnion class to compute the disjoint union of instances of sympy.sets.sets.Set (#18861 by AATTsava-1729) * Added is_finite_set property in class Range (#19016 by AATTsava-1729) * Added test case for sets with | operation (#18576 by AATTrashmi123456789) * Fixed bugs in ComplexRegion.contains() that could lead to incorrect results when membership is in fact undecidable or at least unknown. (#18308 by AATTgschintgen) * Fixed minor issues in Interval.contains() (#18426 by AATTgschintgen) * Fixed a bug in FiniteSet\'s union handler that could lead to some elements being \"dropped\" if their membership in the other set can\'t be determined. (#18356 by AATTgschintgen) * Fixed evalf() for Intervals and FiniteSets having symbolic endpoints or containing symbolic elements. (#18251 by AATTgschintgen) * Fixed FiniteSet._complement() for Intervals and S.Reals. Previously wrong results or exceptions could result from set differences involving FiniteSets containing non-reals or symbolic expressions. (#18218 by AATTgschintgen) * Fixed and extended intersection handler for Integer-based ImageSets. (#18200 by AATTgschintgen) * added appropriate error message when infinite ranges are sliced (#17986 by AATTarun-y99) * Added an is_subset handler to check whether a Range is included in a FiniteSet. (#18137 by AATTgschintgen) * Added a simple cache to FiniteSet in order to speed up some membership checks. (#18137 by AATTgschintgen) * Fixed Range.contains() logic for symbolic values. (#18137 by AATTgschintgen) * Fixed Rationals.boundary to be Reals. (is_open and is_closed now both return False.) (#18168 by AATTgschintgen) * is_open logic is improved. (#18168 by AATTgschintgen) * Set now uses cooperative dispatch for binary operations so it is possible for non-Set Basic subclasses to override the behaviour of e.g. a + b where one of a or b is an instance of Set. This also means that any non-Set Basic subclasses can not depend on Expr.__add__ to create Union(a, b): if a class is not a subclass of Set and wants to define binary operations with Set it must do so explicitly in its own __add__ method. For classes depending on this this is not a backward compatible change. (#18116 by AATToscarbenjamin) * SetExpr._eval_func() is fixed so that ImageSets with linear maps involving complex numbers are now instantiated correctly. (#18062 by AATTgschintgen) * The logic for the Set.is_subset method is made correct. This prevents incorrectly returning True or False but also means that the method returns None more often in cases where a determination should be possible. (#17848 by AATToscarbenjamin) * There is a new is_finiteset property for sets which is a fuzzy bool indicating whether a set has a finite number of elements. (#17848 by AATToscarbenjamin) > simplify * collect is more careful not to make invalid collection (e.g. factoring Rational out of a power\'s exponent) (#19165 by AATTsmichr) * fu routine TR11 has a helper that allows double angle reduction in fractions (#18635 by AATTsmichr and AATTV1krant) * Fixing bug in cancel function (#18107 by AATTnamannimmo10) * Fixed IndexError using cse with RootOf (#18273 by AATTsachin-4099) * Fix wrong results from sqrtdenest() with expressions containing I. (#18042 by AATTasmeurer and AATToscarbenjamin) > solvers * Use matrix exponential to solve homogeneous systems of first order ODEs with constant coefficients. (#18720 by AATTmijo2 and AATToscarbenjamin) * add a new reduced_separable method (#19122 by AATTRituRajSingh878) * no longer interpret 0./1. as bool when the other arg is not a Boolean (#19054 by AATTsmichr) * Fix solvers to handle binomials (#18802 by AATTsbt4104) * Rewrite equation as expression in solveset. (#18670 by AATTmohitacecode) * Updated docstring of public functions in polysys (#18641 by AATTmijo2) * Fixed NoneType Error Bug in solvers.solvers.unrad() (#18324 by AATTsachin-4099) * Fixed nonlinsolve\'s handling of intersections and complements in the final result. (#18308 by AATTgschintgen) * Now dsolve can solve linear non-homogeneous ODEs involving hyperbolic functions when using the method of undetermined coefficients. (#18410 by AATTMohitbalwani26) * Fixed checkodesol for some cases when the solution returned by variation of parameters was correct but chekodesol couldn\'t simplify it. (#18376 by AATTMohitbalwani26) * Fixed dsolve for some cases of linear non-homogeneous ODEs when using the method of undetermined coefficients. (#18309 by AATTMohitbalwani26) * Changed return type from None to [], as in #18199 the return type of nth_root was changed when all_root = True and no root exists (#18285 by AATTabhinav28071999) * ode.py - solve function is used to express the equation in factorised form (#18214 by AATTMohitbalwani26 and AATTsmichr) * Fixed a bug in diophantine where negative coefficients could lead to incomplete solutions in conjunction with permute=True. (#18200 by AATTgschintgen) * The diophantine solver no longer raises for unsympified inputs. (#18201 by AATToscarbenjamin) * fixed a bug in diophantine when using permute=True which caused incomplete permutations to be returned (#18189 by AATTabhinav28071999) * diophantine.py - fixed bug where AttributeError was raised in some cases. (#18167 by AATTMohitbalwani26) * Solving of hyperbolic equations improved in solveset. (#14053 by AATTgschintgen, AATTishanaj, AATToscarbenjamin, and AATToscargus) * Copy edited solvers.py to reflect the style guide for Google Season of Docs. (#17921 by AATTlglattly) > stats * Allowing the user to define custom distributions (#19123 by AATTSmit-create) * Added coskewness (#18935 by AATTSmit-create) * Added sampling methods for discrete random variables (#18289 by AATTSmit-create) * Added median function. (#18300 by AATTSmit-create) * Updated some documentation in NormalGamma and JointRV functions (#18589 by AATTakash9712 and AATTmijo2) * DiscreteUniform raises ValueError for duplicate args (#18614 by AATTsmichr and AATTSmit-create) * sympify expression in compute_expectation (#18577 by AATTSmit-create) * Added moyal distribution (#18446 by AATTSmit-create) * Fixes Wrong Integral result from SingleContinuousPSpace (#18336 by AATTSmit-create) * Fixed domain bug in probability method of ContinuousPspace in sympy/stats/crv.py (#18311 by AATTSmit-create) * Added Bernoulli Process in sympy/stats/stochastic_process_types.py (#18173 by AATTSmit-create) * Added HermiteDistribution in sympy/stats/drv_types.py (#18233 by AATTSmit-create) * Added PowerFunction in sympy/stats/crv_types.py (#18152 by AATTSmit-create) * Reciprocal distribution has been added to sympy.stats (#18131 by AATTabhinav28071999) * Added levy distribution in sympy/stats/crv_types.py (#18096 by AATTSmit-create) * Added test of levy distribution in sympy/stats/tests/test_continuous_rv.py (#18096 by AATTSmit-create) * Required change in sympy/stats/init.py (#18096 by AATTSmit-create) > tensor * Fixed a bug where tensor contractions in calls to replace_with_arrays would fail to apply the metric. (#19091 by AATTcjayross) * Fix Idx object to accept non-integer bound (#18605 by AATTSmit-create) * Implemented derivatives with respect to symbols in tensor expressions (#18093 by AATTjoha2 and AATTUpabjojr) * Implemented derivatives with respect to tensors in tensor expressions (#18093 by AATTjoha2 and AATTUpabjojr) * Added _eval_simplify method for class ImmutableDenseNDimArray (#18369 by AATTiamabhishek0) * Fixing bug in replacing indices in PartialDerivative tensor objects. (#18242 by AATTUpabjojr) * Tensor module: refactory to allow mixing PartialDerivative and TensAdd. (#18224 by AATTUpabjojr) * Fix PartialDerivative operator to correctly handle the valence (covariant/contravariant) of the deriving variable. (#18166 by AATTUpabjojr) * .dummy_fmt changed to .dummy_name (#17518 by AATTdrybalka) * metric parameter for TensorIndexType is now split into 2 optional parameters metric_name and metric_symmetry (#17518 by AATTdrybalka) * TensorIndexType.dim is now a symbol and not None (#17518 by AATTdrybalka) > utilities * Overflow condition and negative argument for \'ibin\' added (#18973 by AATTArpan612) * iterables - uniq will now raise a RuntimeError if a size change of the sequence is detected (#18835 by AATTsmichr) * iterables now includes is_palindromic to check if a sequence (or slice thereof) is palindromic (#18807 by AATTsmichr) * iterables: generate_derangements now handles unsorted input correctly (#18810 by AATTsmichr) * Code for the test runner is moved to a new sympy.testing package. (#18095 by AATToscarbenjamin) * lambdify: avoid using scipy versions of numpy functions, which are deprecated, in lambdify. (#18080 by AATTsylee957) > other * Replace inspect.getargspec with getfullargspec (#18784 by AATTsethtroisi) * Updated README to include details about how to install SymPy using PyPI (#18518 by AATTmijo2) * Corrected an inconsistency in the \"Advanced Expression Manipulation\" section of the tutorial. (#18287 by AATTSmit-create) * Submodule names are no longer imported with from sympy import *. They can still be imported directly like from sympy import core or accessed like sympy.core, or like sys.modules[\'sympy.simplify\'] for modules that share names with SymPy functions. (#18245 by AATToscarbenjamin) * README.rst - Added the codecov Badge in readme.rst (#18266 by AATTMohitbalwani26) * updated the README.rst and doc/README.rst with links to the SymPy Documentation Style Guide. (#17922 by AATTlglattly) * Wed Jan 15 2020 Benedikt Fein - version update to 1.5.1 + Deprecate `is_EmptySet` in favor of `is_empty` + Lambda now requires a tuple rather than a list for the signature argument (non-tuple iterables are deprecated) + Eq(expr) now raises ValueError. Eq(expr, 0) should be used instead. + Refactory of the units module. Scale factors and dimensions are now both global and relative to single unit systems. + get_dixon_matrix() now computes only the necessary monomials for the Dixon matrix. + The ProductSet of no sets is no longer the empty set. Instead is the set consisting of the empty tuple. + Deprecated tensorhead() and tensorsymmetry() static methods. + Rational, irrational, transcendental and algebraic now imply finite in the assumptions system. This means that all symbols declared as rational, integer, odd etc are now automatically assumed finite. + In the (old) assumptions, `complex=True` now implies `finite=True`. Note that the default assumption for Symbol is `complex=None`, which allows for the possibility for it to be infinite. + The assumptions system is changed so that only finite numbers can be considered real, positive, negative, nonnegative, nonpositive or nonzero (since nonzero implies real). This means that any symbol declared with e.g. real=True is now automatically considered finite. It also means that infinities can not be considered positive or negative since they are not real (e.g. oo.is_positive is now False). + New assumptions extended_real, extended_positive etc are added that allow for positive and negative infinity. The equivalent of `Symbol(\'x\', real=True)` in version 1.4 is now `Symbol(\'x\', extended_real=True)`. The equivalent of `Symbol(\'x\', negative=False)` is now `Symbol(\'x\', extended_negative=False)` although it is usually better to use `Symbol(\'x\', nonnegative=True)` (which implies both real=True and finite=True as well). Code that previously checked `if x.is_positive` should now be written as `if x.is_extended_positive` if it is intended that infinities should be allowed. + Numbers still compare the same as they do in Python (`Float(1) == 1`) except when they appear in an Expression, e.g. `x * *2.0 != x * *2`. * Wed Apr 17 2019 pgajdosAATTsuse.com- version update to 1.4 + Logic expressions with relations can now be simplifed in a better way which has impact on e.g. simplification of piecewise expressions + The MathML Presentation printer has seen a major improvement with support configuration and about a hundred new functions. + Union and Intersection have been improved to, among other improvements, support Python sets. + The test procedure has been changed to include code coverage and code quality checks leading to a number of issues being identified and removed. + Unicode support, especially for Python 2.7, has been improved. + subs and Subs have been improved in a number of ways. + SymPy objects now renders as LaTeX automatically in Jupyter notebooks. init_printing is still required to LaTeX render non-SymPy objects such as lists of expressions or Python ints * Mon Oct 29 2018 Todd R - Fix building on Leap * Thu Sep 27 2018 Matěj Cepl - Update python-sympy-rpmlintrc to reflect current reality. * Sun Sep 16 2018 Arun Persaud - specfile: * package isympy file and __pycache__- update to version 1.3: * see https://github.com/sympy/sympy/wiki/Release-Notes-for-1.3 * Wed Sep 05 2018 arunAATTgmx.de- specfile: * update copyright year * removed devel from noarch- update to version 1.2: * Highlights + Python 3.3 is no longer supported. If you require Python 3.3 support, use SymPy 1.1.1. See our policy on dropping support for major Python versions. + Experimental LaTeX parsing with sympy.parsing.latex.parse_latex() has been added, based on the latex2sympy project. This requires antlr-python-runtime to be installed. #13706 + The vector module has been improved to support orthogonal curvilinear coordinate systems (Szymon Mieszczak\'s GSoC project) + New module sympy.integrals.intpoly for integrating uni/bivariate polynomials over 2-polytopes. (Arif Ahmed\'s GSoC project) + Improvements to the code generation module. (Björn Dahlgren\'s GSoC project) + Improvements to the group theory module. See below for more information. (Valeriia Gladkova\'s GSoC project) + New module sympy.discrete for operating on discrete sequences. (Sidhant Nagpal\'s GSoC project) * for full changelog see https://github.com/sympy/sympy/wiki/Release-Notes-for-1.2 * Mon Nov 20 2017 toddrme2178AATTgmail.com- Fix update-alternatives implementation.- Fix recompilation for earlier python3 releases. * Tue Nov 14 2017 mlinAATTsuse.com- Do not build require python-qt4, it does not be required at build time. * Sun Aug 13 2017 toddrme2178AATTgmail.com- Implement single-spec version- update to version 1.1.1: * see the release notes for complete details: https://github.com/sympy/sympy/wiki/Release-Notes-for-1.1.1- update to version 1.1: * see the release notes for complete details: https://github.com/sympy/sympy/wiki/Release-Notes-for-1.1- update to version 1.0: * see the release notes for complete details: https://github.com/sympy/sympy/wiki/Release-Notes-for-1.0 * Tue May 19 2015 benoit.moninAATTgmx.fr- update to version 0.7.6: * see the release notes for complete details: https://github.com/sympy/sympy/wiki/Release-Notes-for-0.7.6- remove unwanted shebang from more python library files- add AUTHORS, LICENSE and README.rst to the package documentation- add update-alternatives as post and postun requires- fix update-alternatives * Sat Nov 08 2014 Led - fix bashisms in pre script
|
|
|