Factor
factors a symbolic polynomial over the integers.Factor
applies only to scalar parts of expressions.Factor
applies only to the top algebraic level in an expression.Factor
tries to factor all scalar combinations of tensors (like k_a*k^a
), which it treats as independent variables. Factor[[FactorScalars: false]]
will apply only to symbolic expressions, which contain no any indexed variables.Factor a multivariate polynomial:
def t = '2*x**3*y - 2*a**2*x*y - 3*a**2*x**2 + 3*a**4'.t println Factor >> t
> (x+a)*(x-a)*(-3*a**2+2*y*x)
Factor scalar parts in tensorial expression:
def t = '(a+b)**4*F_mn + (x**6-y**6)*R_mn'.t println Factor >> t
> (a+b)**4*F_mn+(x+y)*(x-y)*(x*y+x**2+y**2)*(-x*y+x**2+y**2)*R_mn
Factor expression that contains scalar combinations:
def t = '(a+b)**2*f_m*f^m + (a**2 - b**2)*f_a*f^a*f_b*f^b'.t println Factor >> t
> (a+b+(a-b)*f_{m}*f^{m})*(a+b)*f_{a}*f^{a}Do not factor “tensorial” scalars:
println Factor[[FactorScalras:false]] >> t
> (a+b)**2*f_{m}*f^{m}-(b+a)*(b-a)*f_{a}*f^{a}*f_{b}*f^{b}