How can I determine a polynomial is irreducible in C?

  • Context: MHB 
  • Thread starter Thread starter Nonad
  • Start date Start date
  • Tags Tags
    Polynomial
Click For Summary
SUMMARY

This discussion centers on determining the irreducibility of polynomials using Eisenstein's irreducibility criterion, particularly when dealing with large integer coefficients up to 1e9. The participants highlight challenges in implementing this criterion due to potential inaccuracies and the need for optimizations in primality verification. They suggest that shifting variables with x+a may not always yield conclusive results, and a systematic approach to selecting 'a' is necessary. Ultimately, the Factorization theorem of real coefficient polynomials is proposed as a more reliable solution for handling large data sets.

PREREQUISITES
  • Eisenstein's irreducibility criterion
  • Understanding of polynomial factorization
  • Knowledge of integer data types in C, specifically int64_t
  • Basic concepts of primality testing
NEXT STEPS
  • Research optimizations for primality testing in large integers
  • Explore the Factorization theorem of real coefficient polynomials
  • Learn about heuristics for selecting coefficients in polynomial transformations
  • Investigate alternative irreducibility tests for polynomials
USEFUL FOR

Mathematicians, computer scientists, and software developers working with polynomial algebra, particularly those dealing with large integer coefficients and seeking efficient algorithms for irreducibility testing.

Nonad
Messages
2
Reaction score
0
Hello!(Blush)

I learned about Eisenstein's irreducibility criterion. But it's still hard for me to implement it when the integer coefficients may be as larger as 1e9.
What's more, how can I (or my computer?) know when to change x into x+a?

It really puzzles me(O_o)??
 
Technology news on Phys.org
Nonad said:
Hello!

I learned about Eisenstein's irreducibility criterion. But it's still hard for me to implement it when the integer coefficients may be as larger as 1e9.

Welcome to MHB Nonad! (Wave)

What is the problem with such large coefficients?
If we use a [m]int64_t[/m] we support up to [m]9e18[/m].
It may become more problematic to verify primality of integers within a reasonable time, but there are some optimizations that can be done there.

Nonad said:
What's more, how can I (or my computer?) know when to change x into x+a?

It really puzzles me(O_o)??

If the criterion is satisfied, we are done.
If it is not, then the result is inconclusive.
Shifting with $x+a$, or reversing coefficients will not necessarily lead to a conclusive result.
It is just something to try so that we get conclusive results in more cases.
I'm not aware yet of a heuristic how to pick $a$.
We might simply try every $a$ from $1$ up to the highest coefficient or some such.
 
Klaas van Aarsen said:
It is just something to try so that we get conclusive results in more cases.
I'm not aware yet of a heuristic how to pick $a$.
We might simply try every $a$ from $1$ up to the highest coefficient or some such.

Thank you very much(Blush)
Yes, you are right. I have to enumerate using Eisenstein's irreducibility criterion.
It's not acceptable for my task which includes large data and, as a sufficient condition, it may provide wrong answers.
Finally, we implemented Factorization theorem of real coefficient polynomials to solve the problem.

Thanks again(Smile)
 

Similar threads

  • · Replies 3 ·
Replies
3
Views
1K
  • · Replies 16 ·
Replies
16
Views
4K
  • · Replies 1 ·
Replies
1
Views
2K
  • · Replies 3 ·
Replies
3
Views
2K
  • · Replies 1 ·
Replies
1
Views
2K
  • · Replies 3 ·
Replies
3
Views
3K
  • · Replies 27 ·
Replies
27
Views
6K
  • · Replies 37 ·
2
Replies
37
Views
9K
  • · Replies 0 ·
Replies
0
Views
2K
Replies
9
Views
2K