chore: 添加虚拟环境到仓库
- 添加 backend_service/venv 虚拟环境 - 包含所有Python依赖包 - 注意:虚拟环境约393MB,包含12655个文件
This commit is contained in:
111
backend_service/venv/lib/python3.13/site-packages/sympy/abc.py
Normal file
111
backend_service/venv/lib/python3.13/site-packages/sympy/abc.py
Normal file
@@ -0,0 +1,111 @@
|
||||
"""
|
||||
This module exports all latin and greek letters as Symbols, so you can
|
||||
conveniently do
|
||||
|
||||
>>> from sympy.abc import x, y
|
||||
|
||||
instead of the slightly more clunky-looking
|
||||
|
||||
>>> from sympy import symbols
|
||||
>>> x, y = symbols('x y')
|
||||
|
||||
Caveats
|
||||
=======
|
||||
|
||||
1. As of the time of writing this, the names ``O``, ``S``, ``I``, ``N``,
|
||||
``E``, and ``Q`` are colliding with names defined in SymPy. If you import them
|
||||
from both ``sympy.abc`` and ``sympy``, the second import will "win".
|
||||
This is an issue only for * imports, which should only be used for short-lived
|
||||
code such as interactive sessions and throwaway scripts that do not survive
|
||||
until the next SymPy upgrade, where ``sympy`` may contain a different set of
|
||||
names.
|
||||
|
||||
2. This module does not define symbol names on demand, i.e.
|
||||
``from sympy.abc import foo`` will be reported as an error because
|
||||
``sympy.abc`` does not contain the name ``foo``. To get a symbol named ``foo``,
|
||||
you still need to use ``Symbol('foo')`` or ``symbols('foo')``.
|
||||
You can freely mix usage of ``sympy.abc`` and ``Symbol``/``symbols``, though
|
||||
sticking with one and only one way to get the symbols does tend to make the code
|
||||
more readable.
|
||||
|
||||
The module also defines some special names to help detect which names clash
|
||||
with the default SymPy namespace.
|
||||
|
||||
``_clash1`` defines all the single letter variables that clash with
|
||||
SymPy objects; ``_clash2`` defines the multi-letter clashing symbols;
|
||||
and ``_clash`` is the union of both. These can be passed for ``locals``
|
||||
during sympification if one desires Symbols rather than the non-Symbol
|
||||
objects for those names.
|
||||
|
||||
Examples
|
||||
========
|
||||
|
||||
>>> from sympy import S
|
||||
>>> from sympy.abc import _clash1, _clash2, _clash
|
||||
>>> S("Q & C", locals=_clash1)
|
||||
C & Q
|
||||
>>> S('pi(x)', locals=_clash2)
|
||||
pi(x)
|
||||
>>> S('pi(C, Q)', locals=_clash)
|
||||
pi(C, Q)
|
||||
|
||||
"""
|
||||
from __future__ import annotations
|
||||
from typing import Any
|
||||
|
||||
import string
|
||||
|
||||
from .core import Symbol, symbols
|
||||
from .core.alphabets import greeks
|
||||
from sympy.parsing.sympy_parser import null
|
||||
|
||||
##### Symbol definitions #####
|
||||
|
||||
# Implementation note: The easiest way to avoid typos in the symbols()
|
||||
# parameter is to copy it from the left-hand side of the assignment.
|
||||
|
||||
a, b, c, d, e, f, g, h, i, j = symbols('a, b, c, d, e, f, g, h, i, j')
|
||||
k, l, m, n, o, p, q, r, s, t = symbols('k, l, m, n, o, p, q, r, s, t')
|
||||
u, v, w, x, y, z = symbols('u, v, w, x, y, z')
|
||||
|
||||
A, B, C, D, E, F, G, H, I, J = symbols('A, B, C, D, E, F, G, H, I, J')
|
||||
K, L, M, N, O, P, Q, R, S, T = symbols('K, L, M, N, O, P, Q, R, S, T')
|
||||
U, V, W, X, Y, Z = symbols('U, V, W, X, Y, Z')
|
||||
|
||||
alpha, beta, gamma, delta = symbols('alpha, beta, gamma, delta')
|
||||
epsilon, zeta, eta, theta = symbols('epsilon, zeta, eta, theta')
|
||||
iota, kappa, lamda, mu = symbols('iota, kappa, lamda, mu')
|
||||
nu, xi, omicron, pi = symbols('nu, xi, omicron, pi')
|
||||
rho, sigma, tau, upsilon = symbols('rho, sigma, tau, upsilon')
|
||||
phi, chi, psi, omega = symbols('phi, chi, psi, omega')
|
||||
|
||||
|
||||
##### Clashing-symbols diagnostics #####
|
||||
|
||||
# We want to know which names in SymPy collide with those in here.
|
||||
# This is mostly for diagnosing SymPy's namespace during SymPy development.
|
||||
|
||||
_latin = list(string.ascii_letters)
|
||||
# QOSINE should not be imported as they clash; gamma, pi and zeta clash, too
|
||||
_greek = list(greeks) # make a copy, so we can mutate it
|
||||
# Note: We import lamda since lambda is a reserved keyword in Python
|
||||
_greek.remove("lambda")
|
||||
_greek.append("lamda")
|
||||
|
||||
ns: dict[str, Any] = {}
|
||||
exec('from sympy import *', ns)
|
||||
_clash1: dict[str, Any] = {}
|
||||
_clash2: dict[str, Any] = {}
|
||||
while ns:
|
||||
_k, _ = ns.popitem()
|
||||
if _k in _greek:
|
||||
_clash2[_k] = null
|
||||
_greek.remove(_k)
|
||||
elif _k in _latin:
|
||||
_clash1[_k] = null
|
||||
_latin.remove(_k)
|
||||
_clash = {}
|
||||
_clash.update(_clash1)
|
||||
_clash.update(_clash2)
|
||||
|
||||
del _latin, _greek, Symbol, _k, null
|
||||
Reference in New Issue
Block a user