Coverage for /usr/lib/python3/dist-packages/sympy/__init__.py: 81%
53 statements
« prev ^ index » next coverage.py v7.9.1, created at 2025-06-14 15:55 +0200
« prev ^ index » next coverage.py v7.9.1, created at 2025-06-14 15:55 +0200
1"""
2SymPy is a Python library for symbolic mathematics. It aims to become a
3full-featured computer algebra system (CAS) while keeping the code as simple
4as possible in order to be comprehensible and easily extensible. SymPy is
5written entirely in Python. It depends on mpmath, and other external libraries
6may be optionally for things like plotting support.
8See the webpage for more information and documentation:
10 https://sympy.org
12"""
15import sys
16if sys.version_info < (3, 8):
17 raise ImportError("Python version 3.8 or above is required for SymPy.")
18del sys
21try:
22 import mpmath
23except ImportError:
24 raise ImportError("SymPy now depends on mpmath as an external library. "
25 "See https://docs.sympy.org/latest/install.html#mpmath for more information.")
27del mpmath
29from sympy.release import __version__
30from sympy.core.cache import lazy_function
32if 'dev' in __version__:
33 def enable_warnings():
34 import warnings
35 warnings.filterwarnings('default', '.*', DeprecationWarning, module='sympy.*')
36 del warnings
37 enable_warnings()
38 del enable_warnings
41def __sympy_debug():
42 # helper function so we don't import os globally
43 import os
44 debug_str = os.getenv('SYMPY_DEBUG', 'False')
45 if debug_str in ('True', 'False'):
46 return eval(debug_str)
47 else:
48 raise RuntimeError("unrecognized value for SYMPY_DEBUG: %s" %
49 debug_str)
50SYMPY_DEBUG = __sympy_debug() # type: bool
52from .core import (sympify, SympifyError, cacheit, Basic, Atom,
53 preorder_traversal, S, Expr, AtomicExpr, UnevaluatedExpr, Symbol,
54 Wild, Dummy, symbols, var, Number, Float, Rational, Integer,
55 NumberSymbol, RealNumber, igcd, ilcm, seterr, E, I, nan, oo, pi, zoo,
56 AlgebraicNumber, comp, mod_inverse, Pow, integer_nthroot, integer_log,
57 Mul, prod, Add, Mod, Rel, Eq, Ne, Lt, Le, Gt, Ge, Equality,
58 GreaterThan, LessThan, Unequality, StrictGreaterThan, StrictLessThan,
59 vectorize, Lambda, WildFunction, Derivative, diff, FunctionClass,
60 Function, Subs, expand, PoleError, count_ops, expand_mul, expand_log,
61 expand_func, expand_trig, expand_complex, expand_multinomial, nfloat,
62 expand_power_base, expand_power_exp, arity, PrecisionExhausted, N,
63 evalf, Tuple, Dict, gcd_terms, factor_terms, factor_nc, evaluate,
64 Catalan, EulerGamma, GoldenRatio, TribonacciConstant, bottom_up, use,
65 postorder_traversal, default_sort_key, ordered)
67from .logic import (to_cnf, to_dnf, to_nnf, And, Or, Not, Xor, Nand, Nor,
68 Implies, Equivalent, ITE, POSform, SOPform, simplify_logic, bool_map,
69 true, false, satisfiable)
71from .assumptions import (AppliedPredicate, Predicate, AssumptionsContext,
72 assuming, Q, ask, register_handler, remove_handler, refine)
74from .polys import (Poly, PurePoly, poly_from_expr, parallel_poly_from_expr,
75 degree, total_degree, degree_list, LC, LM, LT, pdiv, prem, pquo,
76 pexquo, div, rem, quo, exquo, half_gcdex, gcdex, invert,
77 subresultants, resultant, discriminant, cofactors, gcd_list, gcd,
78 lcm_list, lcm, terms_gcd, trunc, monic, content, primitive, compose,
79 decompose, sturm, gff_list, gff, sqf_norm, sqf_part, sqf_list, sqf,
80 factor_list, factor, intervals, refine_root, count_roots, real_roots,
81 nroots, ground_roots, nth_power_roots_poly, cancel, reduced, groebner,
82 is_zero_dimensional, GroebnerBasis, poly, symmetrize, horner,
83 interpolate, rational_interpolate, viete, together,
84 BasePolynomialError, ExactQuotientFailed, PolynomialDivisionFailed,
85 OperationNotSupported, HeuristicGCDFailed, HomomorphismFailed,
86 IsomorphismFailed, ExtraneousFactors, EvaluationFailed,
87 RefinementFailed, CoercionFailed, NotInvertible, NotReversible,
88 NotAlgebraic, DomainError, PolynomialError, UnificationFailed,
89 GeneratorsError, GeneratorsNeeded, ComputationFailed,
90 UnivariatePolynomialError, MultivariatePolynomialError,
91 PolificationFailed, OptionError, FlagError, minpoly,
92 minimal_polynomial, primitive_element, field_isomorphism,
93 to_number_field, isolate, round_two, prime_decomp, prime_valuation,
94 galois_group, itermonomials, Monomial, lex, grlex,
95 grevlex, ilex, igrlex, igrevlex, CRootOf, rootof, RootOf,
96 ComplexRootOf, RootSum, roots, Domain, FiniteField, IntegerRing,
97 RationalField, RealField, ComplexField, PythonFiniteField,
98 GMPYFiniteField, PythonIntegerRing, GMPYIntegerRing, PythonRational,
99 GMPYRationalField, AlgebraicField, PolynomialRing, FractionField,
100 ExpressionDomain, FF_python, FF_gmpy, ZZ_python, ZZ_gmpy, QQ_python,
101 QQ_gmpy, GF, FF, ZZ, QQ, ZZ_I, QQ_I, RR, CC, EX, EXRAW,
102 construct_domain, swinnerton_dyer_poly, cyclotomic_poly,
103 symmetric_poly, random_poly, interpolating_poly, jacobi_poly,
104 chebyshevt_poly, chebyshevu_poly, hermite_poly, hermite_prob_poly,
105 legendre_poly, laguerre_poly, apart, apart_list, assemble_partfrac_list,
106 Options, ring, xring, vring, sring, field, xfield, vfield, sfield)
108from .series import (Order, O, limit, Limit, gruntz, series, approximants,
109 residue, EmptySequence, SeqPer, SeqFormula, sequence, SeqAdd, SeqMul,
110 fourier_series, fps, difference_delta, limit_seq)
112from .functions import (factorial, factorial2, rf, ff, binomial,
113 RisingFactorial, FallingFactorial, subfactorial, carmichael,
114 fibonacci, lucas, motzkin, tribonacci, harmonic, bernoulli, bell, euler,
115 catalan, genocchi, andre, partition, sqrt, root, Min, Max, Id,
116 real_root, Rem, cbrt, re, im, sign, Abs, conjugate, arg, polar_lift,
117 periodic_argument, unbranched_argument, principal_branch, transpose,
118 adjoint, polarify, unpolarify, sin, cos, tan, sec, csc, cot, sinc,
119 asin, acos, atan, asec, acsc, acot, atan2, exp_polar, exp, ln, log,
120 LambertW, sinh, cosh, tanh, coth, sech, csch, asinh, acosh, atanh,
121 acoth, asech, acsch, floor, ceiling, frac, Piecewise, piecewise_fold,
122 piecewise_exclusive, erf, erfc, erfi, erf2, erfinv, erfcinv, erf2inv,
123 Ei, expint, E1, li, Li, Si, Ci, Shi, Chi, fresnels, fresnelc, gamma,
124 lowergamma, uppergamma, polygamma, loggamma, digamma, trigamma,
125 multigamma, dirichlet_eta, zeta, lerchphi, polylog, stieltjes, Eijk,
126 LeviCivita, KroneckerDelta, SingularityFunction, DiracDelta, Heaviside,
127 bspline_basis, bspline_basis_set, interpolating_spline, besselj,
128 bessely, besseli, besselk, hankel1, hankel2, jn, yn, jn_zeros, hn1,
129 hn2, airyai, airybi, airyaiprime, airybiprime, marcumq, hyper,
130 meijerg, appellf1, legendre, assoc_legendre, hermite, hermite_prob,
131 chebyshevt, chebyshevu, chebyshevu_root, chebyshevt_root, laguerre,
132 assoc_laguerre, gegenbauer, jacobi, jacobi_normalized, Ynm, Ynm_c,
133 Znm, elliptic_k, elliptic_f, elliptic_e, elliptic_pi, beta, mathieus,
134 mathieuc, mathieusprime, mathieucprime, riemann_xi, betainc, betainc_regularized)
136from .ntheory import (nextprime, prevprime, prime, primepi, primerange,
137 randprime, Sieve, sieve, primorial, cycle_length, composite,
138 compositepi, isprime, divisors, proper_divisors, factorint,
139 multiplicity, perfect_power, pollard_pm1, pollard_rho, primefactors,
140 totient, trailing, divisor_count, proper_divisor_count, divisor_sigma,
141 factorrat, reduced_totient, primenu, primeomega,
142 mersenne_prime_exponent, is_perfect, is_mersenne_prime, is_abundant,
143 is_deficient, is_amicable, abundance, npartitions, is_primitive_root,
144 is_quad_residue, legendre_symbol, jacobi_symbol, n_order, sqrt_mod,
145 quadratic_residues, primitive_root, nthroot_mod, is_nthpow_residue,
146 sqrt_mod_iter, mobius, discrete_log, quadratic_congruence,
147 binomial_coefficients, binomial_coefficients_list,
148 multinomial_coefficients, continued_fraction_periodic,
149 continued_fraction_iterator, continued_fraction_reduce,
150 continued_fraction_convergents, continued_fraction, egyptian_fraction)
152from .concrete import product, Product, summation, Sum
154from .discrete import (fft, ifft, ntt, intt, fwht, ifwht, mobius_transform,
155 inverse_mobius_transform, convolution, covering_product,
156 intersecting_product)
158from .simplify import (simplify, hypersimp, hypersimilar, logcombine,
159 separatevars, posify, besselsimp, kroneckersimp, signsimp,
160 nsimplify, FU, fu, sqrtdenest, cse, epath, EPath, hyperexpand,
161 collect, rcollect, radsimp, collect_const, fraction, numer, denom,
162 trigsimp, exptrigsimp, powsimp, powdenest, combsimp, gammasimp,
163 ratsimp, ratsimpmodprime)
165from .sets import (Set, Interval, Union, EmptySet, FiniteSet, ProductSet,
166 Intersection, DisjointUnion, imageset, Complement, SymmetricDifference, ImageSet,
167 Range, ComplexRegion, Complexes, Reals, Contains, ConditionSet, Ordinal,
168 OmegaPower, ord0, PowerSet, Naturals, Naturals0, UniversalSet,
169 Integers, Rationals)
171from .solvers import (solve, solve_linear_system, solve_linear_system_LU,
172 solve_undetermined_coeffs, nsolve, solve_linear, checksol, det_quick,
173 inv_quick, check_assumptions, failing_assumptions, diophantine,
174 rsolve, rsolve_poly, rsolve_ratio, rsolve_hyper, checkodesol,
175 classify_ode, dsolve, homogeneous_order, solve_poly_system,
176 solve_triangulated, pde_separate, pde_separate_add, pde_separate_mul,
177 pdsolve, classify_pde, checkpdesol, ode_order, reduce_inequalities,
178 reduce_abs_inequality, reduce_abs_inequalities, solve_poly_inequality,
179 solve_rational_inequalities, solve_univariate_inequality, decompogen,
180 solveset, linsolve, linear_eq_to_matrix, nonlinsolve, substitution)
182from .matrices import (ShapeError, NonSquareMatrixError, GramSchmidt,
183 casoratian, diag, eye, hessian, jordan_cell, list2numpy, matrix2numpy,
184 matrix_multiply_elementwise, ones, randMatrix, rot_axis1, rot_axis2,
185 rot_axis3, symarray, wronskian, zeros, MutableDenseMatrix,
186 DeferredVector, MatrixBase, Matrix, MutableMatrix,
187 MutableSparseMatrix, banded, ImmutableDenseMatrix,
188 ImmutableSparseMatrix, ImmutableMatrix, SparseMatrix, MatrixSlice,
189 BlockDiagMatrix, BlockMatrix, FunctionMatrix, Identity, Inverse,
190 MatAdd, MatMul, MatPow, MatrixExpr, MatrixSymbol, Trace, Transpose,
191 ZeroMatrix, OneMatrix, blockcut, block_collapse, matrix_symbols,
192 Adjoint, hadamard_product, HadamardProduct, HadamardPower,
193 Determinant, det, diagonalize_vector, DiagMatrix, DiagonalMatrix,
194 DiagonalOf, trace, DotProduct, kronecker_product, KroneckerProduct,
195 PermutationMatrix, MatrixPermute, Permanent, per, rot_ccw_axis1,
196 rot_ccw_axis2, rot_ccw_axis3, rot_givens)
198from .geometry import (Point, Point2D, Point3D, Line, Ray, Segment, Line2D,
199 Segment2D, Ray2D, Line3D, Segment3D, Ray3D, Plane, Ellipse, Circle,
200 Polygon, RegularPolygon, Triangle, rad, deg, are_similar, centroid,
201 convex_hull, idiff, intersection, closest_points, farthest_points,
202 GeometryError, Curve, Parabola)
204from .utilities import (flatten, group, take, subsets, variations,
205 numbered_symbols, cartes, capture, dict_merge, prefixes, postfixes,
206 sift, topological_sort, unflatten, has_dups, has_variety, reshape,
207 rotations, filldedent, lambdify,
208 threaded, xthreaded, public, memoize_property, timed)
210from .integrals import (integrate, Integral, line_integrate, mellin_transform,
211 inverse_mellin_transform, MellinTransform, InverseMellinTransform,
212 laplace_transform, inverse_laplace_transform, LaplaceTransform,
213 InverseLaplaceTransform, fourier_transform, inverse_fourier_transform,
214 FourierTransform, InverseFourierTransform, sine_transform,
215 inverse_sine_transform, SineTransform, InverseSineTransform,
216 cosine_transform, inverse_cosine_transform, CosineTransform,
217 InverseCosineTransform, hankel_transform, inverse_hankel_transform,
218 HankelTransform, InverseHankelTransform, singularityintegrate)
220from .tensor import (IndexedBase, Idx, Indexed, get_contraction_structure,
221 get_indices, shape, MutableDenseNDimArray, ImmutableDenseNDimArray,
222 MutableSparseNDimArray, ImmutableSparseNDimArray, NDimArray,
223 tensorproduct, tensorcontraction, tensordiagonal, derive_by_array,
224 permutedims, Array, DenseNDimArray, SparseNDimArray)
226from .parsing import parse_expr
228from .calculus import (euler_equations, singularities, is_increasing,
229 is_strictly_increasing, is_decreasing, is_strictly_decreasing,
230 is_monotonic, finite_diff_weights, apply_finite_diff,
231 differentiate_finite, periodicity, not_empty_in, AccumBounds,
232 is_convex, stationary_points, minimum, maximum)
234from .algebras import Quaternion
236from .printing import (pager_print, pretty, pretty_print, pprint,
237 pprint_use_unicode, pprint_try_use_unicode, latex, print_latex,
238 multiline_latex, mathml, print_mathml, python, print_python, pycode,
239 ccode, print_ccode, smtlib_code, glsl_code, print_glsl, cxxcode, fcode,
240 print_fcode, rcode, print_rcode, jscode, print_jscode, julia_code,
241 mathematica_code, octave_code, rust_code, print_gtk, preview, srepr,
242 print_tree, StrPrinter, sstr, sstrrepr, TableForm, dotprint,
243 maple_code, print_maple_code)
245test = lazy_function('sympy.testing.runtests', 'test')
246doctest = lazy_function('sympy.testing.runtests', 'doctest')
248# This module causes conflicts with other modules:
249# from .stats import *
250# Adds about .04-.05 seconds of import time
251# from combinatorics import *
252# This module is slow to import:
253#from physics import units
254from .plotting import plot, textplot, plot_backends, plot_implicit, plot_parametric
255from .interactive import init_session, init_printing, interactive_traversal
257evalf._create_evalf_table()
259__all__ = [
260 '__version__',
262 # sympy.core
263 'sympify', 'SympifyError', 'cacheit', 'Basic', 'Atom',
264 'preorder_traversal', 'S', 'Expr', 'AtomicExpr', 'UnevaluatedExpr',
265 'Symbol', 'Wild', 'Dummy', 'symbols', 'var', 'Number', 'Float',
266 'Rational', 'Integer', 'NumberSymbol', 'RealNumber', 'igcd', 'ilcm',
267 'seterr', 'E', 'I', 'nan', 'oo', 'pi', 'zoo', 'AlgebraicNumber', 'comp',
268 'mod_inverse', 'Pow', 'integer_nthroot', 'integer_log', 'Mul', 'prod',
269 'Add', 'Mod', 'Rel', 'Eq', 'Ne', 'Lt', 'Le', 'Gt', 'Ge', 'Equality',
270 'GreaterThan', 'LessThan', 'Unequality', 'StrictGreaterThan',
271 'StrictLessThan', 'vectorize', 'Lambda', 'WildFunction', 'Derivative',
272 'diff', 'FunctionClass', 'Function', 'Subs', 'expand', 'PoleError',
273 'count_ops', 'expand_mul', 'expand_log', 'expand_func', 'expand_trig',
274 'expand_complex', 'expand_multinomial', 'nfloat', 'expand_power_base',
275 'expand_power_exp', 'arity', 'PrecisionExhausted', 'N', 'evalf', 'Tuple',
276 'Dict', 'gcd_terms', 'factor_terms', 'factor_nc', 'evaluate', 'Catalan',
277 'EulerGamma', 'GoldenRatio', 'TribonacciConstant', 'bottom_up', 'use',
278 'postorder_traversal', 'default_sort_key', 'ordered',
280 # sympy.logic
281 'to_cnf', 'to_dnf', 'to_nnf', 'And', 'Or', 'Not', 'Xor', 'Nand', 'Nor',
282 'Implies', 'Equivalent', 'ITE', 'POSform', 'SOPform', 'simplify_logic',
283 'bool_map', 'true', 'false', 'satisfiable',
285 # sympy.assumptions
286 'AppliedPredicate', 'Predicate', 'AssumptionsContext', 'assuming', 'Q',
287 'ask', 'register_handler', 'remove_handler', 'refine',
289 # sympy.polys
290 'Poly', 'PurePoly', 'poly_from_expr', 'parallel_poly_from_expr', 'degree',
291 'total_degree', 'degree_list', 'LC', 'LM', 'LT', 'pdiv', 'prem', 'pquo',
292 'pexquo', 'div', 'rem', 'quo', 'exquo', 'half_gcdex', 'gcdex', 'invert',
293 'subresultants', 'resultant', 'discriminant', 'cofactors', 'gcd_list',
294 'gcd', 'lcm_list', 'lcm', 'terms_gcd', 'trunc', 'monic', 'content',
295 'primitive', 'compose', 'decompose', 'sturm', 'gff_list', 'gff',
296 'sqf_norm', 'sqf_part', 'sqf_list', 'sqf', 'factor_list', 'factor',
297 'intervals', 'refine_root', 'count_roots', 'real_roots', 'nroots',
298 'ground_roots', 'nth_power_roots_poly', 'cancel', 'reduced', 'groebner',
299 'is_zero_dimensional', 'GroebnerBasis', 'poly', 'symmetrize', 'horner',
300 'interpolate', 'rational_interpolate', 'viete', 'together',
301 'BasePolynomialError', 'ExactQuotientFailed', 'PolynomialDivisionFailed',
302 'OperationNotSupported', 'HeuristicGCDFailed', 'HomomorphismFailed',
303 'IsomorphismFailed', 'ExtraneousFactors', 'EvaluationFailed',
304 'RefinementFailed', 'CoercionFailed', 'NotInvertible', 'NotReversible',
305 'NotAlgebraic', 'DomainError', 'PolynomialError', 'UnificationFailed',
306 'GeneratorsError', 'GeneratorsNeeded', 'ComputationFailed',
307 'UnivariatePolynomialError', 'MultivariatePolynomialError',
308 'PolificationFailed', 'OptionError', 'FlagError', 'minpoly',
309 'minimal_polynomial', 'primitive_element', 'field_isomorphism',
310 'to_number_field', 'isolate', 'round_two', 'prime_decomp',
311 'prime_valuation', 'galois_group', 'itermonomials', 'Monomial', 'lex', 'grlex',
312 'grevlex', 'ilex', 'igrlex', 'igrevlex', 'CRootOf', 'rootof', 'RootOf',
313 'ComplexRootOf', 'RootSum', 'roots', 'Domain', 'FiniteField',
314 'IntegerRing', 'RationalField', 'RealField', 'ComplexField',
315 'PythonFiniteField', 'GMPYFiniteField', 'PythonIntegerRing',
316 'GMPYIntegerRing', 'PythonRational', 'GMPYRationalField',
317 'AlgebraicField', 'PolynomialRing', 'FractionField', 'ExpressionDomain',
318 'FF_python', 'FF_gmpy', 'ZZ_python', 'ZZ_gmpy', 'QQ_python', 'QQ_gmpy',
319 'GF', 'FF', 'ZZ', 'QQ', 'ZZ_I', 'QQ_I', 'RR', 'CC', 'EX', 'EXRAW',
320 'construct_domain', 'swinnerton_dyer_poly', 'cyclotomic_poly',
321 'symmetric_poly', 'random_poly', 'interpolating_poly', 'jacobi_poly',
322 'chebyshevt_poly', 'chebyshevu_poly', 'hermite_poly', 'hermite_prob_poly',
323 'legendre_poly', 'laguerre_poly', 'apart', 'apart_list', 'assemble_partfrac_list',
324 'Options', 'ring', 'xring', 'vring', 'sring', 'field', 'xfield', 'vfield',
325 'sfield',
327 # sympy.series
328 'Order', 'O', 'limit', 'Limit', 'gruntz', 'series', 'approximants',
329 'residue', 'EmptySequence', 'SeqPer', 'SeqFormula', 'sequence', 'SeqAdd',
330 'SeqMul', 'fourier_series', 'fps', 'difference_delta', 'limit_seq',
332 # sympy.functions
333 'factorial', 'factorial2', 'rf', 'ff', 'binomial', 'RisingFactorial',
334 'FallingFactorial', 'subfactorial', 'carmichael', 'fibonacci', 'lucas',
335 'motzkin', 'tribonacci', 'harmonic', 'bernoulli', 'bell', 'euler', 'catalan',
336 'genocchi', 'andre', 'partition', 'sqrt', 'root', 'Min', 'Max', 'Id', 'real_root',
337 'Rem', 'cbrt', 're', 'im', 'sign', 'Abs', 'conjugate', 'arg', 'polar_lift',
338 'periodic_argument', 'unbranched_argument', 'principal_branch',
339 'transpose', 'adjoint', 'polarify', 'unpolarify', 'sin', 'cos', 'tan',
340 'sec', 'csc', 'cot', 'sinc', 'asin', 'acos', 'atan', 'asec', 'acsc',
341 'acot', 'atan2', 'exp_polar', 'exp', 'ln', 'log', 'LambertW', 'sinh',
342 'cosh', 'tanh', 'coth', 'sech', 'csch', 'asinh', 'acosh', 'atanh',
343 'acoth', 'asech', 'acsch', 'floor', 'ceiling', 'frac', 'Piecewise',
344 'piecewise_fold', 'piecewise_exclusive', 'erf', 'erfc', 'erfi', 'erf2',
345 'erfinv', 'erfcinv', 'erf2inv', 'Ei', 'expint', 'E1', 'li', 'Li', 'Si',
346 'Ci', 'Shi', 'Chi', 'fresnels', 'fresnelc', 'gamma', 'lowergamma',
347 'uppergamma', 'polygamma', 'loggamma', 'digamma', 'trigamma', 'multigamma',
348 'dirichlet_eta', 'zeta', 'lerchphi', 'polylog', 'stieltjes', 'Eijk', 'LeviCivita',
349 'KroneckerDelta', 'SingularityFunction', 'DiracDelta', 'Heaviside',
350 'bspline_basis', 'bspline_basis_set', 'interpolating_spline', 'besselj',
351 'bessely', 'besseli', 'besselk', 'hankel1', 'hankel2', 'jn', 'yn',
352 'jn_zeros', 'hn1', 'hn2', 'airyai', 'airybi', 'airyaiprime',
353 'airybiprime', 'marcumq', 'hyper', 'meijerg', 'appellf1', 'legendre',
354 'assoc_legendre', 'hermite', 'hermite_prob', 'chebyshevt', 'chebyshevu',
355 'chebyshevu_root', 'chebyshevt_root', 'laguerre', 'assoc_laguerre',
356 'gegenbauer', 'jacobi', 'jacobi_normalized', 'Ynm', 'Ynm_c', 'Znm',
357 'elliptic_k', 'elliptic_f', 'elliptic_e', 'elliptic_pi', 'beta',
358 'mathieus', 'mathieuc', 'mathieusprime', 'mathieucprime', 'riemann_xi','betainc',
359 'betainc_regularized',
361 # sympy.ntheory
362 'nextprime', 'prevprime', 'prime', 'primepi', 'primerange', 'randprime',
363 'Sieve', 'sieve', 'primorial', 'cycle_length', 'composite', 'compositepi',
364 'isprime', 'divisors', 'proper_divisors', 'factorint', 'multiplicity',
365 'perfect_power', 'pollard_pm1', 'pollard_rho', 'primefactors', 'totient',
366 'trailing', 'divisor_count', 'proper_divisor_count', 'divisor_sigma',
367 'factorrat', 'reduced_totient', 'primenu', 'primeomega',
368 'mersenne_prime_exponent', 'is_perfect', 'is_mersenne_prime',
369 'is_abundant', 'is_deficient', 'is_amicable', 'abundance', 'npartitions',
370 'is_primitive_root', 'is_quad_residue', 'legendre_symbol',
371 'jacobi_symbol', 'n_order', 'sqrt_mod', 'quadratic_residues',
372 'primitive_root', 'nthroot_mod', 'is_nthpow_residue', 'sqrt_mod_iter',
373 'mobius', 'discrete_log', 'quadratic_congruence', 'binomial_coefficients',
374 'binomial_coefficients_list', 'multinomial_coefficients',
375 'continued_fraction_periodic', 'continued_fraction_iterator',
376 'continued_fraction_reduce', 'continued_fraction_convergents',
377 'continued_fraction', 'egyptian_fraction',
379 # sympy.concrete
380 'product', 'Product', 'summation', 'Sum',
382 # sympy.discrete
383 'fft', 'ifft', 'ntt', 'intt', 'fwht', 'ifwht', 'mobius_transform',
384 'inverse_mobius_transform', 'convolution', 'covering_product',
385 'intersecting_product',
387 # sympy.simplify
388 'simplify', 'hypersimp', 'hypersimilar', 'logcombine', 'separatevars',
389 'posify', 'besselsimp', 'kroneckersimp', 'signsimp',
390 'nsimplify', 'FU', 'fu', 'sqrtdenest', 'cse', 'epath', 'EPath',
391 'hyperexpand', 'collect', 'rcollect', 'radsimp', 'collect_const',
392 'fraction', 'numer', 'denom', 'trigsimp', 'exptrigsimp', 'powsimp',
393 'powdenest', 'combsimp', 'gammasimp', 'ratsimp', 'ratsimpmodprime',
395 # sympy.sets
396 'Set', 'Interval', 'Union', 'EmptySet', 'FiniteSet', 'ProductSet',
397 'Intersection', 'imageset', 'DisjointUnion', 'Complement', 'SymmetricDifference',
398 'ImageSet', 'Range', 'ComplexRegion', 'Reals', 'Contains', 'ConditionSet',
399 'Ordinal', 'OmegaPower', 'ord0', 'PowerSet', 'Naturals',
400 'Naturals0', 'UniversalSet', 'Integers', 'Rationals', 'Complexes',
402 # sympy.solvers
403 'solve', 'solve_linear_system', 'solve_linear_system_LU',
404 'solve_undetermined_coeffs', 'nsolve', 'solve_linear', 'checksol',
405 'det_quick', 'inv_quick', 'check_assumptions', 'failing_assumptions',
406 'diophantine', 'rsolve', 'rsolve_poly', 'rsolve_ratio', 'rsolve_hyper',
407 'checkodesol', 'classify_ode', 'dsolve', 'homogeneous_order',
408 'solve_poly_system', 'solve_triangulated', 'pde_separate',
409 'pde_separate_add', 'pde_separate_mul', 'pdsolve', 'classify_pde',
410 'checkpdesol', 'ode_order', 'reduce_inequalities',
411 'reduce_abs_inequality', 'reduce_abs_inequalities',
412 'solve_poly_inequality', 'solve_rational_inequalities',
413 'solve_univariate_inequality', 'decompogen', 'solveset', 'linsolve',
414 'linear_eq_to_matrix', 'nonlinsolve', 'substitution',
416 # sympy.matrices
417 'ShapeError', 'NonSquareMatrixError', 'GramSchmidt', 'casoratian', 'diag',
418 'eye', 'hessian', 'jordan_cell', 'list2numpy', 'matrix2numpy',
419 'matrix_multiply_elementwise', 'ones', 'randMatrix', 'rot_axis1',
420 'rot_axis2', 'rot_axis3', 'symarray', 'wronskian', 'zeros',
421 'MutableDenseMatrix', 'DeferredVector', 'MatrixBase', 'Matrix',
422 'MutableMatrix', 'MutableSparseMatrix', 'banded', 'ImmutableDenseMatrix',
423 'ImmutableSparseMatrix', 'ImmutableMatrix', 'SparseMatrix', 'MatrixSlice',
424 'BlockDiagMatrix', 'BlockMatrix', 'FunctionMatrix', 'Identity', 'Inverse',
425 'MatAdd', 'MatMul', 'MatPow', 'MatrixExpr', 'MatrixSymbol', 'Trace',
426 'Transpose', 'ZeroMatrix', 'OneMatrix', 'blockcut', 'block_collapse',
427 'matrix_symbols', 'Adjoint', 'hadamard_product', 'HadamardProduct',
428 'HadamardPower', 'Determinant', 'det', 'diagonalize_vector', 'DiagMatrix',
429 'DiagonalMatrix', 'DiagonalOf', 'trace', 'DotProduct',
430 'kronecker_product', 'KroneckerProduct', 'PermutationMatrix',
431 'MatrixPermute', 'Permanent', 'per', 'rot_ccw_axis1', 'rot_ccw_axis2',
432 'rot_ccw_axis3', 'rot_givens',
434 # sympy.geometry
435 'Point', 'Point2D', 'Point3D', 'Line', 'Ray', 'Segment', 'Line2D',
436 'Segment2D', 'Ray2D', 'Line3D', 'Segment3D', 'Ray3D', 'Plane', 'Ellipse',
437 'Circle', 'Polygon', 'RegularPolygon', 'Triangle', 'rad', 'deg',
438 'are_similar', 'centroid', 'convex_hull', 'idiff', 'intersection',
439 'closest_points', 'farthest_points', 'GeometryError', 'Curve', 'Parabola',
441 # sympy.utilities
442 'flatten', 'group', 'take', 'subsets', 'variations', 'numbered_symbols',
443 'cartes', 'capture', 'dict_merge', 'prefixes', 'postfixes', 'sift',
444 'topological_sort', 'unflatten', 'has_dups', 'has_variety', 'reshape',
445 'rotations', 'filldedent', 'lambdify', 'threaded', 'xthreaded',
446 'public', 'memoize_property', 'timed',
448 # sympy.integrals
449 'integrate', 'Integral', 'line_integrate', 'mellin_transform',
450 'inverse_mellin_transform', 'MellinTransform', 'InverseMellinTransform',
451 'laplace_transform', 'inverse_laplace_transform', 'LaplaceTransform',
452 'InverseLaplaceTransform', 'fourier_transform',
453 'inverse_fourier_transform', 'FourierTransform',
454 'InverseFourierTransform', 'sine_transform', 'inverse_sine_transform',
455 'SineTransform', 'InverseSineTransform', 'cosine_transform',
456 'inverse_cosine_transform', 'CosineTransform', 'InverseCosineTransform',
457 'hankel_transform', 'inverse_hankel_transform', 'HankelTransform',
458 'InverseHankelTransform', 'singularityintegrate',
460 # sympy.tensor
461 'IndexedBase', 'Idx', 'Indexed', 'get_contraction_structure',
462 'get_indices', 'shape', 'MutableDenseNDimArray', 'ImmutableDenseNDimArray',
463 'MutableSparseNDimArray', 'ImmutableSparseNDimArray', 'NDimArray',
464 'tensorproduct', 'tensorcontraction', 'tensordiagonal', 'derive_by_array',
465 'permutedims', 'Array', 'DenseNDimArray', 'SparseNDimArray',
467 # sympy.parsing
468 'parse_expr',
470 # sympy.calculus
471 'euler_equations', 'singularities', 'is_increasing',
472 'is_strictly_increasing', 'is_decreasing', 'is_strictly_decreasing',
473 'is_monotonic', 'finite_diff_weights', 'apply_finite_diff',
474 'differentiate_finite', 'periodicity', 'not_empty_in',
475 'AccumBounds', 'is_convex', 'stationary_points', 'minimum', 'maximum',
477 # sympy.algebras
478 'Quaternion',
480 # sympy.printing
481 'pager_print', 'pretty', 'pretty_print', 'pprint', 'pprint_use_unicode',
482 'pprint_try_use_unicode', 'latex', 'print_latex', 'multiline_latex',
483 'mathml', 'print_mathml', 'python', 'print_python', 'pycode', 'ccode',
484 'print_ccode', 'smtlib_code', 'glsl_code', 'print_glsl', 'cxxcode', 'fcode',
485 'print_fcode', 'rcode', 'print_rcode', 'jscode', 'print_jscode',
486 'julia_code', 'mathematica_code', 'octave_code', 'rust_code', 'print_gtk',
487 'preview', 'srepr', 'print_tree', 'StrPrinter', 'sstr', 'sstrrepr',
488 'TableForm', 'dotprint', 'maple_code', 'print_maple_code',
490 # sympy.plotting
491 'plot', 'textplot', 'plot_backends', 'plot_implicit', 'plot_parametric',
493 # sympy.interactive
494 'init_session', 'init_printing', 'interactive_traversal',
496 # sympy.testing
497 'test', 'doctest',
498]
501#===========================================================================#
502# #
503# XXX: The names below were importable before SymPy 1.6 using #
504# #
505# from sympy import * #
506# #
507# This happened implicitly because there was no __all__ defined in this #
508# __init__.py file. Not every package is imported. The list matches what #
509# would have been imported before. It is possible that these packages will #
510# not be imported by a star-import from sympy in future. #
511# #
512#===========================================================================#
515__all__.extend((
516 'algebras',
517 'assumptions',
518 'calculus',
519 'concrete',
520 'discrete',
521 'external',
522 'functions',
523 'geometry',
524 'interactive',
525 'multipledispatch',
526 'ntheory',
527 'parsing',
528 'plotting',
529 'polys',
530 'printing',
531 'release',
532 'strategies',
533 'tensor',
534 'utilities',
535))