Scrivere un numero come due quadrati e scrivere i fattori di un numero è altrettanto difficile?


8

Lascia che e siano i seguenti:L1L2

L1={r:∃x,y∈Z such that x2+y2=r}

L2={(N,M):M<N,∃1<d≤M such that d|N}

RichiediL1≤PL2

Prova di schizzo

Se voglio sapere se .r∈L1

Il numero di soluzioni intere per è dato dax2+y2=r

g(r)=∑d|rχ(d) doveχ(x)=sin(πx2)={1 when x≅1 mod 4−1 when x≅3 mod 40 when 2|x

Quindi . Quindi, rispondere è " ?" è al massimo difficile rispondere come "quali sono i divisori di ?"L1={r:g(r)≠0}r∈L1r

◻

Quello che vorrei sapere è se questo è vero il contrario. È vero che se avessi una macchina che potrebbe dirmi in tempo costante se potrei creare una macchina che potrebbe rispondere "is ?" in tempo polinomiale?r∈L1(M,N)∈L2

motivazioni

Questa domanda è nata da una discussione su questa domanda .

Scuse Sono davvero solo un membro math.se che ha ottenuto perso e vagò a cs.se. Fammi sapere se la mia domanda è chiara e conforme agli standard di questo sito. Sono felice di apportare correzioni.


Sto usando correttamente? ≤P
— Mason,

1
La tua riduzione è corretta, ma la tua conclusione che è "dura quanto" non è corretta. solo che è al massimo duro come . In particolare, in realtà mostri che è al massimo difficile come un caso molto limitato di , il che potrebbe essere molto semplice. L1≤pL2L1L2L1L2L1L2
— Shaull

1
Invece di "soddisfare un cerchio", un termine migliore potrebbe essere "essere una somma di due quadrati".
— Yuval Filmus,

1
@Shaull, ho cambiato un po 'di lingua per riflettere il tuo commento.
— Mason,

1
Il calcolo è infatti noto per essere duro come il factoring, fino a una riduzione del tempo polinomiale randomizzata. Vedi Bach, Miller e Shallit: somme di divisori, numeri perfetti e factoring . ∑d∣nd
— Emil Jeřábek,

Risposte:


5

Ecco la situazione per quanto posso dire:

Il modo più efficiente noto per testare l'appartenenza a è il fattore . Nessun algoritmo più efficiente sembra essere noto.L1r

Tuttavia, non vi è alcuna riduzione evidente per dimostrare . In altre parole, se avessimo una macchina per decidere , non c'è modo semplice di usarlo per fattorizzare. Se vogliamo fattorizzare un numero , siamo in grado di verificare se , ma questo ci dà solo un po 'di informazioni circa i fattori di . Testare multipli di (ovvero se per un numero intero ) non ci fornisce ulteriori informazioni, poiché sapere se sufficiente per prevedere se per tuttiL2≤PL1L1NN∈L1NNcN∈L1cN∈L1cN∈L1c>0. Anche testare altri numeri non sembra aiutare in alcun modo ovvio. (Verifica se per qualche altro numero non sembra fornire alcuna informazione utile, se ; e se avessimo un modo per trovare un altro numero tale che , sapremmo già come fattore, ma ovviamente non sappiamo come farlo - quindi è improbabile che qualsiasi numero che sappiamo come generare ci dia qualche utile informazioni sui fattori di ) Questa non è una prova; è solo un'intuizione a mano.N′∈L1N′gcd(N,N′)=1N′gcd(N,N′)≠1N

Quindi sembra plausibile che possa essere più facile di e sembra anche plausibile che possano avere le stesse difficoltà. Non sono a conoscenza di ulteriori risultati su questo argomento.L1L2

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.