def _print_Normalize(self, expr):
     v = expr.args[0]
     style = self._settings["normalize_style"]
     if style == "frac":
         return r"\frac{%s}{\|%s\|}" % (self.parenthesize(v, precedence_traditional(expr), True),
                            self.parenthesize(v, precedence_traditional(expr), True))
     unit_vec_symbol = v._unit_vec_symbol
     if unit_vec_symbol == "":
         unit_vec_symbol = self._settings["unit_vec_symbol"]
     # print the symbol as a unit vector
     return self._print_VectorSymbol(self.parenthesize(v, precedence_traditional(expr), True), vec_symbol=unit_vec_symbol)
 def _print_Laplace(self, expr):
     n, f = expr.args
     flatex = self.parenthesize(f, precedence_traditional(expr), True)
     if isinstance(f, (VecDot, VecCross)):
         flatex = r"\left(%s\right)" % flatex
     return r"%s^{2} %s" % (self._print(n),
         flatex)
Ejemplo n.º 3
0
 def parenthesize(self, item, level, strict=False):
     prec_val = precedence_traditional(item)
     if (prec_val < level) or ((not strict) and prec_val <= level):
         brac = self.dom.createElement('mfenced')
         brac.appendChild(self._print(item))
         return brac
     else:
         return self._print(item)
Ejemplo n.º 4
0
 def parenthesize(self, item, level, strict=False):
     prec_val = precedence_traditional(item)
     if (prec_val < level) or ((not strict) and prec_val <= level):
         brac = self.dom.createElement('mfenced')
         brac.appendChild(self._print(item))
         return brac
     else:
         return self._print(item)
Ejemplo n.º 5
0
    def _latex(self, p):
        if self.arg.is_Concatenate:
            X = self.arg
            return r"{\left(\begin{array}{%s}%s\end{array}\right)}" % (
                'c' * len(X.args), ' & '.join('{%s}' % p._print(arg.T)
                                              for arg in X.args))

        else:
            from sympy.printing.precedence import precedence_traditional
            return r"{%s}^{\color{magenta} T}" % p.parenthesize(
                self.arg, precedence_traditional(self), True)
    def _print_VecPow(self, expr):
        base, exp = expr.base, expr.exp
        if exp == sp.S.NegativeOne:
            return r"\frac{1}{%s}" % self._print(base)
        else:
            if not isinstance(base, VectorExpr):
                return self._helper_print_standard_power(expr, "%s^{%s}")

            base_str = r"\left(%s\right)^{%s}"
            if isinstance(base, Magnitude):
                base_str = "%s^{%s}"
            return base_str % (
                self._print(base),
                self.parenthesize(exp, precedence_traditional(expr), True),
            )
Ejemplo n.º 7
0
    def _latex(self, p):
        from sympy import MatMul

        from sympy.printing.precedence import precedence_traditional
        parens = lambda x: p.parenthesize(x, precedence_traditional(self),
                                          False)

        args = self.args
        args = list(args)

        if isinstance(self, MatMul) and self._coeff_isneg():
            if args[0] == -1:
                args = args[1:]
            else:
                args[0] = -args[0]
            return '- ' + r' \times '.join(map(parens, args))
        else:
            return r' \times '.join(map(parens, args))
 def _print_Magnitude(self, expr):
     v = expr.args[0]
     return r"\|%s\|" % self.parenthesize(v, precedence_traditional(expr), True)