SymPy - Stampa

Sono disponibili diverse stampanti in SymPy. Di seguito è riportato un elenco parziale:

  • str
  • srepr
  • Bella stampante ASCII
  • Bella stampante Unicode
  • LaTeX
  • MathML
  • Dot

Gli oggetti SymPy possono anche essere inviati come output al codice di vari linguaggi, come C, Fortran, Javascript, Theano e Python.

SymPy utilizza i caratteri Unicode per rendere l'output sotto forma di una bella stampa. Se stai usando la console Python per eseguire la sessione SymPy, il miglior ambiente di stampa carino viene attivato chiamando la funzione init_session ().

>>> from sympy import init_session 
>>> init_session()

Console IPython per SymPy 1.5.1 (Python 3.7.4-64 bit) (tipi di base: python).

Questi comandi sono stati eseguiti:

>>> from __future__ import division
>>> from sympy import *
>>> x, y, z, t = symbols('x y z t')
>>> k, m, n = symbols('k m n', integer=True)
>>> f, g, h = symbols('f g h', cls=Function)
>>> init_printing()

La documentazione può essere trovata su https://docs.sympy.org/1.5.1/.

>>> Integral(sqrt(1/x),x)

$\int \sqrt\frac{1}{x} dx$

Se LATEX non è installato, ma Matplotlib è installato, utilizzerà il motore di rendering Matplotlib. Se Matplotlib non è installato, utilizza la graziosa stampante Unicode. Tuttavia, il notebook Jupyter utilizza MathJax per eseguire il rendering di LATEX.

In un terminale che non supporta Unicode, viene utilizzata una bella stampante ASCII.

Per utilizzare la stampante ASCII, utilizzare la funzione pprint () con la proprietà use_unicode impostata su False

>>> pprint(Integral(sqrt(1/x),x),use_unicode=False)

La stampante Unicode pretty è accessibile anche da pprint () e pretty (). Se il terminale supporta Unicode, viene utilizzato automaticamente. Se pprint () non è in grado di rilevare che il terminale supporta Unicode, puoi passare use_unicode = True per forzarlo a usare Unicode.

Per ottenere la forma LATEX di un'espressione, usa la funzione latex ().

>>> print(latex(Integral(sqrt(1/x),x)))

\int \sqrt{\frac{1}{x}}\, dx

Puoi anche usare mathml printer. a tale scopo, importa la funzione print_mathml. Una versione stringa è ottenuta dalla funzione mathml ().

>>> from sympy.printing.mathml import print_mathml 
>>> print_mathml(Integral(sqrt(1/x),x))

<apply>

<int/>

<bvar>

<ci>x</ci>

</bvar>

<apply>

<root/>

<apply>

<power/>

<ci>x</ci>

<cn>-1</cn>

</apply>

</apply>

</apply>

>>>mathml(Integral(sqrt(1/x),x))

'<apply><int/><bvar><ci>x</ci></bvar><apply><root/><apply><power/><ci>x</ci><cn>-1</cn></apply></apply></apply>'