Printing (Docstrings)

sympy.physics.vector.printing.init_vprinting(**kwargs)[source]

Initializes time derivative printing for all SymPy objects, i.e. any functions of time will be displayed in a more compact notation. The main benefit of this is for printing of time derivatives; instead of displaying as Derivative(f(t),t), it will display f'. This is only actually needed for when derivatives are present and are not in a physics.vector.Vector or physics.vector.Dyadic object. This function is a light wrapper to init_printing(). Any keyword arguments for it are valid here.

Initializes pretty-printer depending on the environment.

Parameters:

pretty_print : bool, default=True

If True, use pretty_print() to stringify or the provided pretty printer; if False, use sstrrepr() to stringify or the provided string printer.

order : string or None, default=’lex’

There are a few different settings for this parameter: 'lex' (default), which is lexographic order; 'grlex', which is graded lexographic order; 'grevlex', which is reversed graded lexographic order; 'old', which is used for compatibility reasons and for long expressions; None, which sets it to lex.

use_unicode : bool or None, default=None

If True, use unicode characters; if False, do not use unicode characters; if None, make a guess based on the environment.

use_latex : string, bool, or None, default=None

If True, use default LaTeX rendering in GUI interfaces (png and mathjax); if False, do not use LaTeX rendering; if None, make a guess based on the environment; if 'png', enable LaTeX rendering with an external LaTeX compiler, falling back to matplotlib if external compilation fails; if 'matplotlib', enable LaTeX rendering with matplotlib; if 'mathjax', enable LaTeX text generation, for example MathJax rendering in IPython notebook or text rendering in LaTeX documents; if 'svg', enable LaTeX rendering with an external latex compiler, no fallback

wrap_line : bool

If True, lines will wrap at the end; if False, they will not wrap but continue as one line. This is only relevant if pretty_print is True.

num_columns : int or None, default=None

If int, number of columns before wrapping is set to num_columns; if None, number of columns before wrapping is set to terminal width. This is only relevant if pretty_print is True.

no_global : bool, default=False

If True, the settings become system wide; if False, use just for this console/session.

ip : An interactive console

This can either be an instance of IPython, or a class that derives from code.InteractiveConsole.

euler : bool, optional, default=False

Loads the euler package in the LaTeX preamble for handwritten style fonts (https://www.ctan.org/pkg/euler).

forecolor : string or None, optional, default=None

DVI setting for foreground color. None means that either 'Black', 'White', or 'Gray' will be selected based on a guess of the IPython terminal color setting. See notes.

backcolor : string, optional, default=’Transparent’

DVI setting for background color. See notes.

fontsize : string or int, optional, default=’10pt’

A font size to pass to the LaTeX documentclass function in the preamble. Note that the options are limited by the documentclass. Consider using scale instead.

latex_mode : string, optional, default=’plain’

The mode used in the LaTeX printer. Can be one of: {'inline'|'plain'|'equation'|'equation*'}.

print_builtin : boolean, optional, default=True

If True then floats and integers will be printed. If False the printer will only print SymPy types.

str_printer : function, optional, default=None

A custom string printer function. This should mimic sstrrepr().

pretty_printer : function, optional, default=None

A custom pretty printer. This should mimic pretty().

latex_printer : function, optional, default=None

A custom LaTeX printer. This should mimic latex().

scale : float, optional, default=1.0

Scale the LaTeX output when using the 'png' or 'svg' backends. Useful for high dpi screens.

settings :

Any additional settings for the latex and pretty commands can be used to fine-tune the output.

Examples

>>> from sympy import Function, symbols
>>> t, x = symbols('t, x')
>>> omega = Function('omega')
>>> omega(x).diff()
Derivative(omega(x), x)
>>> omega(t).diff()
Derivative(omega(t), t)

Now use the string printer:

>>> from sympy.physics.vector import init_vprinting
>>> init_vprinting(pretty_print=False)
>>> omega(x).diff()
Derivative(omega(x), x)
>>> omega(t).diff()
omega'

Notes

The foreground and background colors can be selected when using 'png' or 'svg' LaTeX rendering. Note that before the init_printing command is executed, the LaTeX rendering is handled by the IPython console and not SymPy.

The colors can be selected among the 68 standard colors known to dvips, for a list see [R780]. In addition, the background color can be set to 'Transparent' (which is the default value).

When using the 'Auto' foreground color, the guess is based on the colors variable in the IPython console, see [R781]. Hence, if that variable is set correctly in your IPython console, there is a high chance that the output will be readable, although manual settings may be needed.

References

sympy.physics.vector.printing.vprint(expr, **settings)[source]

Function for printing of expressions generated in the sympy.physics vector package.

Extends SymPy’s StrPrinter, takes the same setting accepted by SymPy’s sstr(), and is equivalent to print(sstr(foo)).

Parameters:

expr : valid SymPy object

SymPy expression to print.

settings : args

Same as the settings accepted by SymPy’s sstr().

Examples

>>> from sympy.physics.vector import vprint, dynamicsymbols
>>> u1 = dynamicsymbols('u1')
>>> print(u1)
u1(t)
>>> vprint(u1)
u1
sympy.physics.vector.printing.vpprint(expr, **settings)[source]

Function for pretty printing of expressions generated in the sympy.physics vector package.

Mainly used for expressions not inside a vector; the output of running scripts and generating equations of motion. Takes the same options as SymPy’s pretty_print(); see that function for more information.

Parameters:

expr : valid SymPy object

SymPy expression to pretty print

settings : args

Same as those accepted by SymPy’s pretty_print.

sympy.physics.vector.printing.vlatex(expr, **settings)[source]

Function for printing latex representation of sympy.physics.vector objects.

For latex representation of Vectors, Dyadics, and dynamicsymbols. Takes the same options as SymPy’s latex(); see that function for more information;

Parameters:

expr : valid SymPy object

SymPy expression to represent in LaTeX form

settings : args

Same as latex()

Examples

>>> from sympy.physics.vector import vlatex, ReferenceFrame, dynamicsymbols
>>> N = ReferenceFrame('N')
>>> q1, q2 = dynamicsymbols('q1 q2')
>>> q1d, q2d = dynamicsymbols('q1 q2', 1)
>>> q1dd, q2dd = dynamicsymbols('q1 q2', 2)
>>> vlatex(N.x + N.y)
'\\mathbf{\\hat{n}_x} + \\mathbf{\\hat{n}_y}'
>>> vlatex(q1 + q2)
'q_{1} + q_{2}'
>>> vlatex(q1d)
'\\dot{q}_{1}'
>>> vlatex(q1 * q2d)
'q_{1} \\dot{q}_{2}'
>>> vlatex(q1dd * q1 / q1d)
'\\frac{q_{1} \\ddot{q}_{1}}{\\dot{q}_{1}}'