class_docstr: The class used to define vectors.
  
  It along with ReferenceFrame are the building blocks of describing a
  classical mechanics system in PyDy and sympy.physics.vector.
  
  Attributes
  ==========
  
  simp : Boolean
      Let certain methods use trigsimp on their outputs
class_docstr_tok: ["The","class","used","to","define","vectors",".","It","along","with","ReferenceFrame","are","the","building","blocks","of","describing","a","classical","mechanics","system","in","PyDy","and","sympy.physics.vector",".","Attributes","==========","simp",":","Boolean","Let","certain","methods","use","trigsimp","on","their","outputs"]
docstr: Printing method. 
docstr_tok: ["Printing","method","."]
code: def _sympystr(self, printer, order=True):
      """Printing method."""
      if not order or len(self.args) == 1:
          ar = list(self.args)
      elif len(self.args) == 0:
          return printer._print(0)
      else:
          d = {v[1]: v[0] for v in self.args}
          keys = sorted(d.keys(), key=lambda x: x.index)
          ar = []
          for key in keys:
              ar.append((d[key], key))
      ol = []  # output list, to be concatenated to a string
      for i, v in enumerate(ar):
          for j in 0, 1, 2:
              # if the coef of the basis vector is 1, we skip the 1
              if ar[i][0][j] == 1:
                  ol.append(" + " + ar[i][1].str_vecs[j])
              # if the coef of the basis vector is -1, we skip the 1
              elif ar[i][0][j] == -1:
                  ol.append(" - " + ar[i][1].str_vecs[j])
              elif ar[i][0][j] != 0:
                  # If the coefficient of the basis vector is not 1 or -1;
                  # also, we might wrap it in parentheses, for readability.
                  arg_str = printer._print(ar[i][0][j])
                  if isinstance(ar[i][0][j], Add):
                      arg_str = "(%s)" % arg_str
                  if arg_str[0] == "-":
                      arg_str = arg_str[1:]
                      str_start = " - "
                  else:
                      str_start = " + "
                  ol.append(
                      str_start + arg_str + "*" + ar[i][1].str_vecs[j]
                  )
      outstr = "".join(ol)
      if outstr.startswith(" + "):
          outstr = outstr[3:]
      elif outstr.startswith(" "):
          outstr = outstr[1:]
      return outstr
  
imports: from sympy import S, sympify, expand, sqrt, Add, zeros, acos, ImmutableMatrix, simplify
  from sympy.simplify.trigsimp import trigsimp
  from sympy.printing.defaults import Printable
  from sympy.utilities.misc import filldedent
  from sympy.core.evalf import EvalfMixin
  from mpmath.libmp.libmpf import prec_to_dps
label_desc: Use image node_id 15 for calling the Vector obj's underlying member method code with example usage: obj._sympystr(printer, order) and returns: outstr, printer