# Factorization

{{#invoke:Hatnote|hatnote}} Template:Redirects here

In mathematics, **factorization** (*also* **factorisation** *in some forms of British English*) or **factoring** is the decomposition of an object (for example, a number, a polynomial, or a matrix) into a product of other objects, or *factors*, which when multiplied together give the original. For example, the number 15 factors into primes as 3 × 5, and the polynomial *x*^{2} − 4 factors as (*x* − 2)(*x* + 2). In all cases, a product of simpler objects is obtained.

The aim of factoring is usually to reduce something to “basic building blocks”, such as numbers to prime numbers, or polynomials to irreducible polynomials. Factoring integers is covered by the fundamental theorem of arithmetic and factoring polynomials by the fundamental theorem of algebra. Viète's formulas relate the coefficients of a polynomial to its roots.

The opposite of polynomial factorization is expansion, the multiplying together of polynomial factors to an “expanded” polynomial, written as just a sum of terms.

Integer factorization for large integers appears to be a difficult problem. There is no known method to carry it out quickly. Its complexity is the basis of the assumed security of some public key cryptography algorithms, such as RSA.

A matrix can also be factorized into a product of matrices of special types, for an application in which that form is convenient. One major example of this uses an orthogonal or unitary matrix, and a triangular matrix. There are different types: QR decomposition, *LQ*, *QL*, *RQ*, *RZ*.

Another example is the factorization of a function as the composition of other functions having certain properties; for example, every function can be viewed as the composition of a surjective function with an injective function. This situation is generalized by factorization systems.

## Integers

{{#invoke:main|main}}
By the fundamental theorem of arithmetic, every positive integer greater than 1 has a unique prime factorization. Given an algorithm for integer factorization, one can factor any integer down to its constituent primes by repeated application of this algorithm.^{[1]} For very large numbers, no efficient classical algorithm is known.

## Polynomials

{{#invoke:main|main}}

Modern techniques for factoring polynomials are fast and efficient, but use sophisticated mathematical ideas (see Factorization of polynomials). These techniques are used in the construction of computer routines for carrying out polynomial factorization in Computer algebra systems. The more classical hand techniques rely on either the polynomial to be factored having low degree or the recognition of the polynomial as belonging to a certain class of known examples and are not very suitable for computer implementation. This article is concerned with these classical techniques.

While the general notion of factoring just means writing an expression as a product of simpler expressions, the vague term "simpler" will be defined more precisely for special classes of expressions. When factoring polynomials this means that the factors are to be polynomials of smaller degree. Thus, while is a factorization of the expression, it is not a *polynomial factorization* since the factors are not polynomials.^{[2]} Also, the factoring of a constant term, as in would not be considered a polynomial factorization since one of the factors does not have a smaller degree than the original expression.^{[3]} Another issue concerns the coefficients of the factors. In basic treatments it is desirable to have the coefficients of the factors be of the same type as the coefficients of the original polynomial, that is factoring polynomials with integer coefficients into factors with integer coefficients, or factoring polynomials with real coefficients into polynomials with real coefficients. It is not always possible to do this, and a polynomial that can not be factored in this way is said to be *irreducible* over this type of coefficient. Thus, x^{2} -2 is irreducible over the integers and x^{2} + 4 is irreducible over the reals. In the first example, the integers 1 and -2 can also be thought of as real numbers, and if they are, then shows that this polynomial factors over the reals (sometimes it is said that the polynomial *splits* over the reals). Similarly, since the integers 1 and 4 can be thought of as real and hence complex numbers, x^{2} + 4 splits over the complex numbers, i.e. .

The Fundamental theorem of algebra can be stated as: Every polynomial of degree *n* with complex number coefficients splits completely into *n* linear factors.^{[4]} Since complex roots of polynomials with real coefficients come in conjugate pairs, this result implies that every polynomial with real coefficients splits into linear and irreducible quadratic factors with real coefficients. Even though the structure of the factorization is known in these cases, finding the actual factors can be computationally challenging.

### General methods

There are only a few general methods that can be applied to any polynomial in either one variable (the *univariate* case) or several variables (the *multivariate* case).

#### Highest common factor

Finding, by inspection, the monomial that is the highest common factor (also called the *greatest common divisor*) of all the terms of the polynomial and factoring it out as a common factor is an application of the distributive law. This is the most commonly used factoring technique. For example:^{[5]}

#### Factoring by grouping

A method that is sometimes useful, but not guaranteed to work, is factoring by grouping.

Factoring by grouping is done by placing the terms in the polynomial into two or more groups, where each group can be factored by a known method. The results of these partial factorizations can sometimes be combined to give a factorization of the original expression.

For example, to factor the polynomial

- group similar terms,
- factor out the highest common factor in each grouping,
- again factor out the binomial common factor,

While grouping may not lead to a factorization in general, if the polynomial expression to be factored consists of four terms and is the result of multiplying two binomial expressions (by the FOIL method for instance), then the grouping technique can lead to a factorization, as in the above example.

#### Using the factor theorem

{{#invoke:main|main}}

For a univariate polynomial, *p*(*x*), the factor theorem states that *a* is a *root* of the polynomial (that is, *p*(*a*) = 0, also called a *zero* of the polynomial) if and only if (*x* - *a*) is a factor of *p*(*x*). The other factor in such a factorization of *p*(*x*) can be obtained by polynomial long division or synthetic division.

For example, consider the polynomial By inspection we see that 1 is a root of this polynomial (observe that the coefficients add up to 0), so (*x* - 1) is a factor of the polynomial. By long division we have

#### Univariate case, using properties of the roots

When a univariate polynomial is completely factored into linear factors (degree one factors), all of the roots of the polynomial are visible and by multiplying the factors together again, the relationship between the roots and the coefficients can be observed. Formally, these relationships are known as Vieta's formulas. These formulas do not help in factorizing the polynomial except as a guide to making good guesses at what possible roots may be. However, if some additional information about the roots is known, this can be combined with the formulas to obtain the roots and thus the factorization.

For example,^{[6]} we can factor if we know that the sum of two of its roots is zero. Let and be the three roots of this polynomial. Then Vieta's formulas are:

Assuming that immediately gives and reduces the other two equations to Thus the roots are 5, 4 and -4 and we have

##### Finding rational roots

If a (univariate) polynomial, *f*(*x*), has a rational root, *p*/*q* (*p* and *q* are integers and *q* ≠ 0), then by the factor theorem *f*(*x*) has the factor,

If, in addition, the polynomial *f*(*x*) has integer coefficients, then *q* must evenly divide the integer portion of the highest common factor of the terms of the polynomial, and, in the factorization of *f*(*x*), only the factor (*qx* - *p*) will be visible.

If a (univariate) polynomial with integer coefficients, say,

has a rational root *p*/*q*, where *p* and *q* are integers that are relatively prime, then *p* is an integer divisor of *a*_{n} and *q* is an integer divisor of *a*_{0}.^{[7]}

If we wished to factorize the polynomial we could look for rational roots *p*/*q* where *p* divides -6, *q* divides 2 and *p* and *q* have no common factor greater than 1. By inspection we see that this polynomial can have no negative roots. Assume that *q* = 2 (otherwise we would be looking for integer roots), substitute *x* = *p*/2 and set the polynomial equal to 0. By dividing by 4, we obtain the polynomial equation that will have an integer solution of 1 or 3 if the original polynomial had a rational root of the type we seek. Since 3 is a solution of this equation (and 1 is not), the original polynomial had the rational root 3/2 and the corresponding factor (2*x* - 3). By polynomial long division we have the factorization

For a quadratic polynomial with integer coefficients having rational roots, the above considerations lead to a factorization technique known as the *ac method* of factorization.^{[8]} Suppose that the quadratic polynomial with integer coefficients is:

and it has rational roots, *p*/*q* and *u*/*v*. (If the discriminant, , is a square number these exist, otherwise we have irrational or complex solutions, and there will be no rational roots.) Both *q* and *v* must be divisors of *a* so we may write these fractions with a common denominator of *a*, that is, they may be written as -*r*/*a* and -*s*/*a* (the use of the negatives is cosmetic and leads to a prettier final result.) Then,

So, we have:

where *rs* = *ac* and *r* + *s* = *b*. The *ac method* for factoring the quadratic polynomial is to find *r* and *s*, the two factors of the number *ac* whose sum is *b* and then use them in the factorization formula of the original quadratic above.

As an example consider the quadratic polynomial:

Inspection of the factors of *ac* = 36 leads to 4 + 9 = 13 = *b*.

### Recognizable patterns

While taking the product of two (or more) expressions can be done by following a multiplication algorithm, the reverse process of factoring relies frequently on the recognition of a pattern in the expression to be factored and recalling how such a pattern arises. The following are some well known patterns.^{[9]}

#### Difference of two squares

{{#invoke:main|main}}

A common type of algebraic factoring is called the difference of two squares. It is the application of the formula

to any two terms, whether or not they are perfect squares.

This basic form is often used with more complicated expressions that may not a first look like the difference of two squares. For example,

#### Sum/difference of two cubes

Another formula for factoring is the sum or difference of two cubes. The sum can be factored by

and the difference by

#### Difference of two fourth powers

Another formula is the difference of two fourth powers, which is

#### Sum/difference of two n^{th} powers

The above factorizations of differences or sums of powers can be extended to any positive integer power *n*.

For any *n*, a general factorization is:

The corresponding formula for the sum of two *n*^{th} powers depends on whether *n* is even or odd.
If *n* is odd, *b* can be replaced by −*b* in the above formula, to give

If *n* is even, we consider two cases:

1. If n is a power of 2 then is unfactorable (more precisely, irreducible over the rational numbers).

2. Otherwise, where *m* is odd. In this case we have,

Specifically, for some small values of *n* we have:

#### Binomial expansions

The binomial theorem supplies patterns of coefficients that permit easily recognized factorizations when the polynomial is a power of a binomial expression.

For example, the *perfect square trinomials* are the quadratic polynomials that can be factored as follows:

and

Some cubic polynomials are *four term perfect cubes* that can be factored as:

and

In general, the coefficients of the expanded polynomial are given by the *n*-th row of Pascal's triangle. The coefficients of have the same absolute value but alternate in sign.

#### Other factorization formulae

### Using formulas

Any quadratic polynomial (polynomials of the form ) can be factored using the quadratic formula, as follows:

where and are the two roots of the polynomial, found with the quadratic formula.

The quadratic formula is valid for all polynomials with coefficients in any field (in particular, the real or complex numbers) except those that have characteristic two.^{[10]}

There are also formulas for cubic and quartic polynomials which can be used in the same way. However, there are no formulas in terms of the coefficients that exist for higher degree (univariate) polynomials by the Abel-Ruffini theorem.

### Factoring over the complex numbers

#### Sum of two squares

If *a* and *b* represent real numbers, then the sum of their squares can be written as the product of complex numbers. This produces the factorization formula:

For example, can be factored into .

#### Sum/difference of two n^{th} powers over the field of the algebraic numbers

A thorough factorization can be obtained over the field of the algebraic numbers, as showed by the following reduction formulae, which are proved going through the complex conjugate roots of .

The sum of two even powers is factored by

The difference of two even powers is factored by

The sum or difference of two odd powers is factored by

For instance, the sum or difference of two fifth powers is factored by

and the sum of two fourth powers is factored by

## Matrices

{{#invoke:main|main}}

## Unique factorization domains

{{#invoke:main|main}}

### Euclidean domains

{{#invoke:main|main}}

## See also

- Completing the square
- Monoid factorisation
- Prime factor
- Fermat's factorization method
- Euler's factorization method
- Integer factorization
- Multiplicative partition
- Partition (number theory) - A way of writing a number as a sum of positive integers.
- Program synthesis
- Table of Gaussian integer factorizations

## Notes

- ↑ {{#invoke:citation/CS1|citation |CitationClass=book }}
- ↑ Template:Harvnb
- ↑ Even if the 3 is thought of as a constant polynomial so that this could be considered a factorization into polynomials.
- ↑ Template:Harvnb
- ↑ Template:Harvnb
- ↑ Template:Harvnb
- ↑ Template:Harvnb
- ↑ Stover, Christopher AC Method - Mathworld
- ↑ Template:Harvnb
- ↑ In these fields 2 = 0 so the division in the formula is not valid. There are other ways to find roots of quadratic equations over these fields.

## References

- {{#invoke:citation/CS1|citation

|CitationClass=citation }}

- {{#invoke:citation/CS1|citation

|CitationClass=citation }}

- {{#invoke:citation/CS1|citation

|CitationClass=citation }}

- {{#invoke:citation/CS1|citation

|CitationClass=citation }}

- {{#invoke:citation/CS1|citation

|CitationClass=citation }}

## External links

- {{#invoke:citation/CS1|citation

|CitationClass=citation }}

- One hundred million numbers factored on html pages.
- WIMS Factoris is an online factorization tool.
- Wolfram Alpha can factorize too.