Subject: CVS commit: pkgsrc/math/py-sympy
From: Adam Ciarcinski
Date: 2021-05-12 10:42:42
Message id: 20210512084242.B1B5DFA95@cvs.NetBSD.org

Log Message:
py-sympy: updated to 1.8

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.
parsing

Parsing of "Q" returns AssumptionKeys instance in assumptions module. \ 
This means that sympify("Q") will no longer return a symbol.
Changes

assumptions

Q.infinite now correctly evaluates to True for oo, -oo, and zoo.

Assumption predicates now correctly evaluates to None for S.NaN.

Relational objects do not need to be wrapped by Q.is_true to be asked or refined \ 
anymore

Q.is_true wrapping over AppliedPredicate now just return the argument.

refine arg(x) when x is real and nonzero

assumptions/relation module is introduced. This module implements binary \ 
relation as predicate.

AskHandler(), register_handler() and remove_handler() are deprecated. Handler \ 
now must be multipledispatch instance.

Predicate now uses a single handler which is multipledispatch instance.

Predicate can now take multiple arguments.

Predicate("...") now returns UndefinedPredicate instance. To define a \ 
predicate, you must make a subclass of Predicate.

calculus

Using maximum with a piecewise expression over a domain no longer fails due to a \ 
bug fix in Piecewise.as_expr_set_pairs.
codegen

allowing for multi-dimensional arrays as arguments/locals in c code generation

create_expand_pow_optimization is now customizable with respect to requirement \ 
on base.

Support flattening of elementwise additions of array expressions.

Fixes to array-expressions in order to properly work with ZeroArray and ZeroMatrix.

Fixing matrix expression recognition from array-expressions.

Minor fixes to the way the AST of array expressions is built

Add normalization of CodegenArrayDiagonal when it's nested with \ 
CodegenArrayPermuteDims and CodegenArrayContraction.

Increased support for the normalization of array expressions and permutations of \ 
indices.

parse_matrix_expression( ) is now able to parse traces of matrices.

combinatorics

Added a section to the permutation docs about containment in permutation groups.
concrete

Improved infinite summation capability by adding residue formula.
A bug leading to incorrect evaluation of a summation of an exponential function \ 
was fixed.
core

Fixed a bug in Pow._eval_nseries that added Order terms to exact expansions

Fixed a bug in Expr.round that could lead to infinite recursion in integrate.

Removed deprecated ClassRegistry

get_integer_part no longer has a threshold on the approximation to closest \ 
integer based on difference, allowing floor to give more accurate results for \ 
smaller evalf precisions also

A bug causing match to fail for expressions with different signs was fixed. \ 
Previously this resulted in solve raising an exception for some inputs.

Make S(0.0) == S.false return False

.refine() method is moved from Expr to Basic.
gcd correctly handles unevaluated Mul

Fixed a bug leading to infinite recursion in the old assumptions under \ 
evaluate(False).

Fixed _eval_is_zero() functionality when imaginary numbers are involved.

Kind classification of objects is introduced. This feature is experimental, and \ 
can be replaced or deleted in the future.
Make class Eq with sets as arguments work with simplify().

Fixed a few broken cases of expr.is_integer

functions

Implemented Riemann Xi function

riemaan xi function

Added nseries expansion for besselj and bessely

Fixed leading term calculation of sin functions to handle angles outside (-pi, pi)

Added aseries expansion to error functions

Changes _eval_nseries of Abs to no longer return a Piecewise

Modified _eval_nseries to handle infinity and added _eval_as_leading_term in \ 
floor and ceiling

Added Generalized Incomplete, Generalized Regularized and Central Beta functions

Added _eval_nseries support to sign

Fixed assumption is_algebraic for exponentials with rational multiples of I*pi \ 
to be True.
geometry

Fix AssertError for vertical tangent
Geometric entities with symbolic coordinates will not be printed in SVG.
integrals

Fixed a bug that led to RecursionError in integrals involving hyperbolic functions.

The heurisch integration method was made faster by improvements in the sparse \ 
linear systems solver.

A bug leading to incorrect results when integrating Piecewise expressions where \ 
a condition simplifies to True was fixed.

logic

simplify_logic faster in most cases, especially for larger expressions.
refine() on Boolean objects reduces them to true or false if the truth value can \ 
be determined.
matrices

Fixed a bug that led to the wrong derivative result in matrix expressions.

The eye and zero functions have been made much faster for large matrices.

Added two new functions upper_triangular and lower_triangular, that return upper \ 
and lower triangular parts of a matrix.

Minus one, integers, rational numbers multiplied with MatAdd is automatically \ 
distributed.

Added function returning Wilkinson matrix

Implemented Singular Value decomposition for matrices

Implemented Upper Hessenberg Decomposition for a matrix

eigenvals, eigenvects without radical solution will be returned as CRootOf
Added function to calculate Generalized Schur Complement for Block Matrices

Added functions to compute LDU, UDL and LU decompositions for Block Matrices

Fixed issues with dot product for Matrix.orthogonalize with complex vectors.

Fixed zero division issues for Matrix.QRdecomposition with zero columns coming \ 
first than nonzero columns.

Added a function to compute the permanent of a matrix
Changed behaviour of eq() of class DenseMatrix

det has a new option 'gauss-ge' which is much faster in many cases

ntheory

Added documentation of ecm and qs functions

Fixed a bug in the is_gaussian_prime function for python complex numbers (e.g. 1+1j).

primerange now accepts a single argument i.e., primerange(input_arg) is valid \ 
and is same as primerange(2, input_arg).

Added motzkin numbers

parsing

Fixed issue with parsing logarithm bases without curly braces
Fix parse_expr parsing of expressions with methods when using the \ 
implicit_multiplications transformation.

Include the transformed code in the error message when the evaluation in \ 
parse_expr fails.

Extended the LaTeX parser with support for complex conjugates (via \overline{...}).

Latex parser does not evaluate sqrt expressions anymore.

physics.continuum_mechanics

make beam module compute correctly internal forces
physics.optics

Fixed bugs related to basic operations on TWave
physics.quantum

WignerD now evaluates to KroneckerDelta in some cases.
physics.units

Fix bug when input argument to a function is an integer

Change default behavior for functions (all function arguments must be \ 
dimensionless by default)

sin, cos, tan, cot, sec, and csc functions may have a dimensionless or angle \ 
input argument

Exponents must now be dimensionless

Constants such as pi and E are now treated as dimensionless (raised exception \ 
previously)

Numbers with an imaginary component are now treated as dimensionless (raised \ 
exception previously)

Fixed a bug with derived units and dimensions in check_dimensions.

Fix bug in convert_to returning wrong units in some cases where the linear \ 
equation system between canonical units is unsolvable.

physics.vector

Fix documentation for v1pt_theory
Introduced new methods on ReferenceFrame: .orient_axis(), .orient_explicit(), \ 
.orient_body_fixed(), .orient_space_fixed(), and .orient_quaternion(). .orient() \ 
calls out to each new method and it is recommended to use the new methods.
Added .xreplace() to Vector Class.

Added .xreplace() to Dyadic Class.

Added .evalf() to Vector class

Added .evalf() to Dyadic class

plotting

Added handling for OverflowError (when plotting functions like exp(1/x)).
polys

Added internal representation as both dense and sparse matrix

Added docstrings for Domain Matrix class

Add zeros method to DomainMatrix

A new sparse implementation of DomainMatrix is added.

make is_disjoint strict so that inequalities evaluated with solve() return \ 
consistent results

The DomainMatrix class has moved from sympy.polys.domainmatrix to \ 
sympy.polys.matrices and should now be imported as from sympy.polys.matrices \ 
import DomainMatrix.

A new polys FiniteExtension domain is added.

numberfields: implemented new algorithm for primitive_element in case ex=True.
added boilerplate index method for FracField

Solved bug in Poly.replace

Solve a bug in polytools.degree.

Use assumption system instead of structural equality check in __bool__ method of \ 
Expression domain element (fixing cases where Poly(...).is_zero would \ 
incorrectly return False)

printing

The pretty printer was made faster when printing large sequences (e.g. tuples, \ 
sets etc).

Fixed a bug which led to latex printing error in singularity function expressions.

Replaced the Theano printer with an Aesara printer

Symbols with Unicode character names and no underscores, like ω0 now properly \ 
pretty print subscripts.

Fix the printing of the vertical bar in ImageSet, ConditionSet, and \ 
ComplexRegion so that it is the full height in the pretty and LaTeX printers.

Fix the tag for the degree of a root with a rational base in MathML output.

irrational powers are no longer printed with square root sign, they are printed \ 
as fractional powers

Allow spreading assignments across multiple symbols when printing multi-member \ 
objects.

Support various array constructor types when printing arrays to GLSL.

Fixes a bug when printing negative expressions to GLSL with operators printed as \ 
functions.

Support a custom 0 substitution for printing expressions representing various \ 
GLSL types.

make cxxcode correctly print the first argument of Min/Max functions

sets

Added basic denesting functionaility for sets of the form ConditionSet(x, \ 
Contains(x, ...)).

ConditionSet.contains(x) now returns False if x is not in the base set (even if \ 
its substitution into the condition will cause an error).

FiniteSet.evalf with a subs argument now does the substitution. Previously, the \ 
argument was ignored.

Add .simplify to FiniteSet.

Make 'is_subset' work for ProductSet

changed behavior of Rationals.contains(float) to indeterminate

tests modified to include new behavior

.evalf() precisions with x and FiniteSet(x) is same now.

simplify

Fix simplify calls sympify without rational parameter
TRmorrie now takes powers of cos terms into account
solvers

Fixed a bug in solve that expanded hyperbolic function constants to equivalent \ 
exp form.

Handle x**r=0 case in invert_complex

Fixed a bug in solveset, which led to infinite recursion for solving some \ 
expressions involving radicals.

The new sparse DomainMatrix implementation is used in linsolve to make it much \ 
faster when solving large sparse systems of linear equations.

Modified symbols sorting in solvers._solve_system to ensure solve and linsolve \ 
solve the same way

Added solver for 2nd order nonlinear autonomous ODE.

speed improvement in a substep of rsolve_hyper (when computing constant \ 
solutions to constant coefficient recurrences).

Fixed incorrect solutions from rsolve for higher order recurrences

stats

Refactory and simplification of sampling backends for random variables.

Expectation can now be calculated across multiple Uniform RVs evaluating to zero

Implemented Matrix Student's t-distribution

Fixed simplification bug in Stochastic Processes by introducing abstract \ 
Distribution class

API changed for StochasticProcess.distribution which now expects a timestamp \ 
argument instead of RandomIndexedSymbol object.

Implemented FlorySchulz Distribution

implemented LogCauchy Distribution

Implemented Logit-Normal probability distribution

Fixes cdf computation of Discrete random variables by using integer limits

Added 2 new distributions in frv_types.

added support for fundamental matrix for regular markov chains

Added support for multiple RandomIndexedSymbols in DiscreteMarkovChain

tensor

Introduced objects ArraySymbol and ArrayElement for array expressions equivalent \ 
to MatrixSymbol and MatrixElement in the matrix expression module.
shape() function is introduced in array module.
Add class ZeroArray for array expressions of zero-valued elements.

Make Array differentiation(derive_by_array) work with non sympy expressions.

Added tensordiagonal( ) function to perform diagonalization of array expressions.

Adding an array with any other type now consistently gives NotImplemented.
utilities

Added official support for using CuPy to GPU accelerate lambdify functions.

Added Replacer class to simplify the creation of replacement expressions with \ 
MatchPy.

Added tests for optional parameter in MatchPy patterns.

Added string printers for MatchPy-compatible wildcards in \ 
sympy.utilities.matchpy_connector

Added WildDot, WildPlus and WildStar classes to MatchPy connector. These classes \ 
correspond to the dot, dot-plut and dot-star expressions in regular expression, \ 
but operate on SymPy expression trees and are aware of associative and \ 
commutative properties, features supported through the MatchPy library.

minlex no longer accepts is_set or small arguments

minlex and least_rotation now accept key= arguments similar to sorted.

vector

Fixed a bug with integral over ImplicitRegion objects
other

Expanding documentation to include all class members with docstrings

Files:
RevisionActionfile
1.29modifypkgsrc/math/py-sympy/Makefile
1.21modifypkgsrc/math/py-sympy/PLIST
1.19modifypkgsrc/math/py-sympy/distinfo