6.12.10 Factoring: factor cfactor
The factor and cfactor commands factor expressions
over their coefficient fields or extensions of their fields. (See also
Section 6.27.16.)
-
factor takes one mandatory argument and one optional
argument:
-
expr, an expression or a list of expressions.
- Optionally, α, to specify an extension field.
- factor(expr) returns expr
factored over the field of its coefficients, with the addition of i
in complex mode (see Section 3.5.5). If sqrt is
enabled in the Cas configuration (see Section 3.5.7),
polynomials of order 2 are factorized in complex mode or in real
mode if the discriminant is positive.
factor(expr,α) returns expr
factored over F[α], where F is the field of coefficients
of expr.
- cfactor factors like factor, except the
field includes i whether in real or complex mode.
Examples.
-
Factor x4−1 over ℚ.
Input:
factor(x^4-1)
Output:
⎛
⎝ | x−1 | ⎞
⎠ | ⎛
⎝ | x+1 | ⎞
⎠ | ⎛
⎝ | x2+1 | ⎞
⎠ |
The coefficients are rationals, hence the factors are polynomials with
rationals coefficients.
- Factor x4−1 over ℚ[i].
This can be done in a number of ways.
-
Using cfactor.
Input:
cfactor(x^4-1
- Using factor with adding i to the extension field.
Input:
factor(x^4-1,i)
- Using factor in complex mode.
Input (in complex mode):
factor(x^4-1)
In all cases, the result will be:
Output:
| ⎛
⎝ | x−1 | ⎞
⎠ | ⎛
⎝ | x+1 | ⎞
⎠ | ⎛
⎝ | x+i | ⎞
⎠ | ⎛
⎝ | x−i | ⎞
⎠ |
- Factor x4+1 over ℚ
Input:
factor(x^4+1)
Output:
Indeed x4+1 has no factor with rational coefficients.
- Factor x4+1 over ℚ[i].
Using complex mode:
Input:
cfactor(x^4+1)
Output:
- Factor x4+1 over ℝ.
You have to provide the square root required for extending the
rationals. In order to do that with the help of Xcas,
first check complex in the cas
configuration:
Input:
solve(x^4+1,x)
Output:
⎡
⎢
⎢
⎣ | | | √ | | | ⎛
⎝ | 1−i | ⎞
⎠ | ,− | | | √ | | | ⎛
⎝ | 1−i | ⎞
⎠ | ,− | | | √ | | | ⎛
⎝ | 1−i | ⎞
⎠ | i, | | | √ | | | ⎛
⎝ | 1−i | ⎞
⎠ | i | ⎤
⎥
⎥
⎦ |
The roots depend on √2, and so will be in ℚ[√2].
Putting Xcas back in real mode, either check the sqrt box in the Cas
configuration or:
Input:
factor(x^4+1,sqrt(2))
Output:
⎛
⎜
⎝ | x2− | √ | | x+1 | ⎞
⎟
⎠ | ⎛
⎜
⎝ | x2+ | √ | | x+1 | ⎞
⎟
⎠ |
To factor over ℂ, put Xcas back in complex mode
or input cfactor(x^4+1,sqrt(2)).