__init__.py 28 KB

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