This shows you the differences between two versions of the page.
documentation:ref:factor [2015/11/21 12:33] |
documentation:ref:factor [2015/11/21 12:33] (current) |
||
---|---|---|---|
Line 1: | Line 1: | ||
+ | ====== Factor ====== | ||
+ | ---- | ||
+ | |||
+ | ====Description==== | ||
+ | * ''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. | ||
+ | |||
+ | ====Examples==== | ||
+ | ---- | ||
+ | Factor a multivariate polynomial: | ||
+ | <sxh groovy; gutter: false> | ||
+ | def t = '2*x**3*y - 2*a**2*x*y - 3*a**2*x**2 + 3*a**4'.t | ||
+ | println Factor >> t | ||
+ | </sxh> | ||
+ | <sxh plain; gutter: false> | ||
+ | > (x+a)*(x-a)*(-3*a**2+2*y*x) | ||
+ | </sxh> | ||
+ | |||
+ | ---- | ||
+ | |||
+ | Factor scalar parts in tensorial expression: | ||
+ | <sxh groovy; gutter: false> | ||
+ | def t = '(a+b)**4*F_mn + (x**6-y**6)*R_mn'.t | ||
+ | println Factor >> t | ||
+ | </sxh> | ||
+ | <sxh plain; gutter: false> | ||
+ | > (a+b)**4*F_mn+(x+y)*(x-y)*(x*y+x**2+y**2)*(-x*y+x**2+y**2)*R_mn | ||
+ | </sxh> | ||
+ | |||
+ | ---- | ||
+ | |||
+ | Factor expression that contains scalar combinations: | ||
+ | <sxh groovy; gutter: true> | ||
+ | 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 | ||
+ | </sxh> | ||
+ | <sxh plain; gutter: false> | ||
+ | > (a+b+(a-b)*f_{m}*f^{m})*(a+b)*f_{a}*f^{a} | ||
+ | </sxh> | ||
+ | Do not factor "tensorial" scalars: | ||
+ | <sxh groovy; gutter: true; first-line: 3> | ||
+ | println Factor[[FactorScalras:false]] >> t | ||
+ | </sxh> | ||
+ | <sxh plain; gutter: false> | ||
+ | > (a+b)**2*f_{m}*f^{m}-(b+a)*(b-a)*f_{a}*f^{a}*f_{b}*f^{b} | ||
+ | </sxh> | ||
+ | ---- | ||
+ | |||
+ | ====See also==== | ||
+ | * Related guides: [[documentation:guide:applying_and_manipulating_transformations]], [[documentation:guide:list_of_transformations]] | ||
+ | * Related transformations: [[documentation:ref:expand]] | ||
+ | * JavaDocs: [[http://api.redberry.cc/redberry/1.1.9/java-api/cc/redberry/core/transformations/factor/FactorTransformation.html|FactorTransformation]] | ||
+ | * Source code: [[https://bitbucket.org/redberry/redberry/src/tip/core/src/main/java/cc/redberry/core/transformations/factor/FactorTransformation.java|FactorTransformation.java]] | ||