Factoring multivariable polynomials

  • #1
Hey,

I'm a high school student (11th grade) and I'm working on a computer algebra system for a research project. Most things are are going well (sums, products, derivatives, integrals, series, expansion, complex analysis, factoring basic expressions, etc.). However, I am having difficulty with one key area: factoring polynomials (and, by extension, multivariable polynomials).

I have the book Computer algebra : systems and algorithms for algebraic computation by James Davenport, but the described algorithms in the factoring chapter go way over my head once eigenvectors, eigenvectors, determinants, etc. come into play. I have an undergraduate algebra book which I'm using to self-study these topics, but they are relatively difficult to understand without practical experience provided by an actual teacher. Unfortunately, the highest math class in my school is AP BC Calc (which I'm acing by taking naps during class) but it is miles behind any of this stuff.

My system can factor something like ax+ay+az+bx+by+bz into (a+b)(x+y+z) or x^x*ln(x)+x^x into (x^x)(ln(x)+1) by "reverse distribution", but it cannot factor a^2+2ab+b^2 into (a+b)(a+b), for example - and this is a critical requirement for simplification of expressions like sin^4(x)+2sin^2(x)cos^2(x)+cos^4(x) which reduces to 1 when it is factored.

Does anyone here have any experience with factoring polynomials in computer algebra systems, or know anyone that does? Or, perhaps, does anyone have any resources alternative to the aforementioned book? I do realize that this is a math and physics forum which is not necessarily related to software engineering, but I figured perhaps someone could point me in the right direction regarding only the math, whereas I could easily handing the actual programming.

Thanks!
 

Answers and Replies

  • #2
13,457
10,515
Factorization of polynomials is in general hard to do, will say impossible in most cases. Normally you want to factor a polynomial in linear or at most quadratic factors. Therefore one needs the zeros, which can only be calculated up to degree four, or numerically by algorithms for approximations. You could as well plot the polynomial and read out the zeroes.

For a multivariate polynomial use the fact that ##\mathbb{Q}[x_1,\ldots ,x_n]=(\mathbb{Q}[x_1,\ldots ,x_{n-1}])[x_n]## which gives you an iteration.
 

Related Threads on Factoring multivariable polynomials

  • Last Post
Replies
2
Views
2K
  • Last Post
Replies
1
Views
2K
  • Last Post
Replies
1
Views
542
  • Last Post
Replies
5
Views
2K
  • Last Post
Replies
7
Views
3K
  • Last Post
Replies
8
Views
690
  • Last Post
Replies
13
Views
6K
  • Last Post
Replies
6
Views
2K
  • Last Post
Replies
15
Views
2K
  • Last Post
Replies
11
Views
2K
Top