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

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. 

7 

8See the webpage for more information and documentation: 

9 

10 https://sympy.org 

11 

12""" 

13 

14 

15import sys 

16if sys.version_info < (3, 8): 

17 raise ImportError("Python version 3.8 or above is required for SymPy.") 

18del sys 

19 

20 

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.") 

26 

27del mpmath 

28 

29from sympy.release import __version__ 

30from sympy.core.cache import lazy_function 

31 

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 

39 

40 

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 

51 

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) 

66 

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) 

70 

71from .assumptions import (AppliedPredicate, Predicate, AssumptionsContext, 

72 assuming, Q, ask, register_handler, remove_handler, refine) 

73 

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) 

107 

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) 

111 

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) 

135 

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) 

151 

152from .concrete import product, Product, summation, Sum 

153 

154from .discrete import (fft, ifft, ntt, intt, fwht, ifwht, mobius_transform, 

155 inverse_mobius_transform, convolution, covering_product, 

156 intersecting_product) 

157 

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) 

164 

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) 

170 

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) 

181 

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) 

197 

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) 

203 

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) 

209 

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) 

219 

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) 

225 

226from .parsing import parse_expr 

227 

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) 

233 

234from .algebras import Quaternion 

235 

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) 

244 

245test = lazy_function('sympy.testing.runtests', 'test') 

246doctest = lazy_function('sympy.testing.runtests', 'doctest') 

247 

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 

256 

257evalf._create_evalf_table() 

258 

259__all__ = [ 

260 '__version__', 

261 

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', 

279 

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', 

284 

285 # sympy.assumptions 

286 'AppliedPredicate', 'Predicate', 'AssumptionsContext', 'assuming', 'Q', 

287 'ask', 'register_handler', 'remove_handler', 'refine', 

288 

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', 

326 

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', 

331 

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', 

360 

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', 

378 

379 # sympy.concrete 

380 'product', 'Product', 'summation', 'Sum', 

381 

382 # sympy.discrete 

383 'fft', 'ifft', 'ntt', 'intt', 'fwht', 'ifwht', 'mobius_transform', 

384 'inverse_mobius_transform', 'convolution', 'covering_product', 

385 'intersecting_product', 

386 

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', 

394 

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', 

401 

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', 

415 

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', 

433 

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', 

440 

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', 

447 

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', 

459 

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', 

466 

467 # sympy.parsing 

468 'parse_expr', 

469 

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', 

476 

477 # sympy.algebras 

478 'Quaternion', 

479 

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', 

489 

490 # sympy.plotting 

491 'plot', 'textplot', 'plot_backends', 'plot_implicit', 'plot_parametric', 

492 

493 # sympy.interactive 

494 'init_session', 'init_printing', 'interactive_traversal', 

495 

496 # sympy.testing 

497 'test', 'doctest', 

498] 

499 

500 

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#===========================================================================# 

513 

514 

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))