"Overflow" in algoritmo euclideo esteso


11

Scusa se mi sbaglio con il posto dove porre la domanda (forse dovrei andare su stackoverflow.com/mathoverflow.net?).

Mi chiedo se ci sia una prova che quando si valuta l'algoritmo euclideo esteso i coefficienti di Bézout (che è s et t in identità come + bt = gcd ( a , b )) non supereranno alcuni valori ragionevoli (a seconda di a, b, immagino ). In particolare l'implementazione su alcuni linguaggi di programmazione generici sono interessato alla correttezza di overflow del programma.

Per essere precisi, posso menzionare che utilizzo la descrizione dell'algoritmo di Victor Shoup (4.2 nel suo libro " Un'introduzione computazionale alla teoria dei numeri e all'algebra " disponibile gratuitamente dalla sua homepage).


1
Penso che questo rientri sicuramente nell'ambito.
Suresh Venkat,

Risposte:


13

Questo si chiama identità / lemma di Bézout (da non confondere con il teorema di Bézout nella geometria algebrica), che afferma:

a,b0x , y | x | | b | | y | | a |gcd(a,b)=ax+byx,y|x||b||y||a|

Le prove possono essere fondate in libri di testo standard di algebra. Inoltre puoi dimostrarlo tu stesso per induzione sulle iterazioni del processo gcd.

In generale questo è vero in ogni dominio euclideo con una funzione euclidea moltiplicativa . Nel caso qui quando , abbiamoche è moltiplicativo.f R = Z f ( x ) = | x |RfR=Zf(x)=|x|


Ti riferisci a Wikipedia, ma non ci sono parole del genere: "Inoltre, possiamo supporre ...". Per favore, potresti nominare un "manuale di algebra standard"? Ho esaminato il Primo corso di Rotman in algebra astratta: c'è una descrizione di Eucl. Algo, ma non ci sono tali limiti sui coefficienti. Stessa storia nel libro di Shoup, a cui ho fatto riferimento nel mio post.
Artem Pelenitsyn,

2
Prova il Teorema 2.5 nel libro di Keijo Ruohonen, math.tut.fi/~ruohonen/MC.pdf . Se mia mamma è corretta, il libro di Fraleign ha il lemma nel testo principale o negli esercizi. amazon.com/First-Course-Abstract-Algebra-7th/dp/0201763907
Hsien-Chih Chang 張顯 之

1
Questo può essere generalizzato? supponiamo che esista una soluzione a tale che? i | x i | i | a i |gcd(a1,,an)=ixiaii|xi|i|ai|
Chao Xu,
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.