 mersenneforum.org (https://www.mersenneforum.org/index.php)
-   Computer Science & Computational Number Theory (https://www.mersenneforum.org/forumdisplay.php?f=116)
-   -   How to find values of polynomials with nice factorization? (https://www.mersenneforum.org/showthread.php?t=20479)

 Drdmitry 2015-09-08 15:11

How to find values of polynomials with nice factorization?

Given an irreducible polynomial P(x) with integer coefficients, is there any reasonable algorithm known, which constructs a random n such that P(n) is a product of two huge prime factors of relatively same size?
I know how to do that for quadratic polynomials. But what about higher degrees?

 R.D. Silverman 2015-09-08 15:47

[QUOTE=Drdmitry;409888]Given an irreducible polynomial P(x) with integer coefficients, is there any reasonable algorithm known, which constructs a random n such that P(n) is a product of two huge prime factors of relatively same size?
I know how to do that for quadratic polynomials.
[/QUOTE]

??? algorithm that constructs a random n ?????
If n is constructed by an algorithm, then it isn't random......

For example: P(x) = x^2 - x + 1. How does one find n such that one knows, a priori that P(n) is (say) the product of two 50-digit primes?

 Drdmitry 2015-09-08 16:17

[QUOTE=R.D. Silverman;409890]??? algorithm that constructs a random n ?????
If n is constructed by an algorithm, then it isn't random......

For example: P(x) = x^2 - x + 1. How does one find n such that one knows, a priori that P(n) is (say) the product of two 50-digit primes?[/QUOTE]

An algorithm can take an output of a random generator as an input.
Isn't such an algorithm known for quadratics? If not then I'll write a paper on it :) . I actually did not search the literature too much for this question.

 R.D. Silverman 2015-09-08 18:11

[QUOTE=Drdmitry;409892]An algorithm can take an output of a random generator as an input.
Isn't such an algorithm known for quadratics? If not then I'll write a paper on it :) . I actually did not search the literature too much for this question.[/QUOTE]

You claimed to KNOW how to do it for quadratics. Do you withdraw this claim?

I certainly do not know how to do it.

 Drdmitry 2015-09-08 19:38

[QUOTE=R.D. Silverman;409904]You claimed to KNOW how to do it for quadratics. Do you withdraw this claim?

I certainly do not know how to do it.[/QUOTE]

Yes, I do know how to do it.
Initially I programmed a generator for the polynomial P(x) = x^2 + 1 since it is the easiest case. However it is not too difficult to adapt it for P(x) = x^2 - x + 1. It generated the following factorisation:
[CODE]
P(1240169989195728649392349829489369369557206090108450826526311603480495971405669477171430401412715470) =
844293027521791885331059004528757978188025863965373325668959095809803279961413930426485139159366291 *
1821668013315479067495522348143574102954344772015219924580113016806982758457314260330321273331462541
[/CODE]
One prime divisor has 99 digits and another one is 100 digits long.

[B]P.S.[/B] Just realised that there should be one more condition on P(x): for each prime q there exists an integer a such that P(a) is not zero modulo q.

 xilman 2015-09-08 21:06

[QUOTE=Drdmitry;409916]Yes, I do know how to do it.
Initially I programmed a generator for the polynomial P(x) = x^2 + 1 since it is the easiest case. However it is not too difficult to adapt it for P(x) = x^2 - x + 1. It generated the following factorisation:
[CODE]
P(1240169989195728649392349829489369369557206090108450826526311603480495971405669477171430401412715470) =
844293027521791885331059004528757978188025863965373325668959095809803279961413930426485139159366291 *
1821668013315479067495522348143574102954344772015219924580113016806982758457314260330321273331462541
[/CODE]
One prime divisor has 99 digits and another one is 100 digits long.

[B]P.S.[/B] Just realised that there should be one more condition on P(x): for each prime q there exists an integer a such that P(a) is not zero modulo q.[/QUOTE]Interesting. Please describe your algorithm in greater detail.

 R.D. Silverman 2015-09-08 21:34

Indeed. This is excellent. Please tell us the method.

 R.D. Silverman 2015-09-09 01:51

[QUOTE=R.D. Silverman;409927]Indeed. This is excellent. Please tell us the method.[/QUOTE]

One way of doing it for x^2 + 1 is to factor it as (x+i) (x-i), then search for x such that the norms
(over Q) of the factors are both prime.

For an arbitrary quadratic irreducible, factor it over its splitting field, then do as above. It may be hard to
get nearly equal primes, depending on how the poly splits.

For degree k > 2 this becomes more problematic because the polynomial now
splits into k factors.

For degree 4 use Bairstow's method to split it into quadratics [over R, with
algebraic irrational coefficients], then find the pre-image value that renders each quadratic
prime over the splitting field of the quartic. Getting the norms of each factor close may be difficult
if (say) the L2 or L_oo norms of each quadratic are quite different.

Odd degree will be difficult.

 CRGreathouse 2015-09-09 02:44

I'd like to see more on these ideas! I haven't seen them published, and even if they exist in the folklore there's value to recording it.

 R.D. Silverman 2015-09-09 03:22

[QUOTE=CRGreathouse;409940]I'd like to see more on these ideas! I haven't seen them published, and even if they exist in the folklore there's value to recording it.[/QUOTE]

I only gave an off-the-cuff approach using some elementary algebraic number theory.

I'd like to see the OP's ideas.

 R.D. Silverman 2015-09-09 03:36

[QUOTE=R.D. Silverman;409938]One way of doing it for x^2 + 1 is to factor it as (x+i) (x-i), then search for x such that the norms
(over Q) of the factors are both prime.

[/QUOTE]

I'm an idiot. This won't work. The norm of each factor is the product of all its conjugates......
Now ask: what are the conjugates of each factor???

Still, it seems that something similar might work.... I will consider it.

All times are UTC. The time now is 10:02.