python
In [1]: %time p = Poly((x + 1)**1000, x)
CPU times: user 1min 4s, sys: 55.9 ms, total: 1min 4s
Wall time: 1min 4s
or in the current SymPy master:
python
In [1]: %time p = Poly((x + 1)**1000, x)
CPU times: user 4.78 s, sys: 26.9 ms, total: 4.8 s
Wall time: 5.05 s
Support for directional limits on the complex plane was added:
python
In [1]: limit(sqrt(-1 + I*x), x, 0, dir=exp(I*pi/3))
Out[1]: -ⅈ
Direction ``exp(I*theta)`` at the limit point ``x0`` indicates the direction tangent of a curve approaching the limit point. Special cases ``-1`` (former dir=``+``) and ``+1`` (former dir=``-``) correspond to ``theta=pi`` and ``theta=0`` (i.e. limit from above or from below on the real line).
This release got better support for limits of piecewise and boolean expressions
python
In [1]: Piecewise((x**2/2, x <= 1/2), (x/2 - 1/8, True))
Out[1]:
⎧ 2
⎪ x
⎪ ── for x ≤ 1/2
⎪ 2
⎨
⎪x 1
⎪─ - ─ otherwise
⎪2 8
⎩
In [2]: limit(_1, x, 0)
Out[2]: 0
In [3]: limit(_1, x, oo)
Out[3]: ∞
In [4]: limit(x > 0, x, 0)
Out[4]: true
In [5]: limit(x > 0, x, 0, dir=1)
Out[5]: false
Also, for good or bad, now you could use any unicode symbols for identifiers (python does NFKC-normalization while parsing) in the Diofant console:
python
$ python -m diofant --no-ipython --unicode-identifiers
>>> Naturals
ℕ
>>> ℕ = Naturals
>>> N = 2
>>> ℕ will print 2 in plain Python
ℕ
[](https://doi.org/10.5281/zenodo.7820401)
See [release notes](https://diofant.readthedocs.io/en/latest/release/notes-0.14.html).