Modified GCD

Modification in MATLAB's gcd.m by suppressing calculation of u2, v2 and t2 at intermediate steps
1,3K download
Aggiornato 14 lug 2005

Nessuna licenza

Functional Description of gcd_SK_GHB.m :
-----------------------------------------------------

This method of finding gcd is a modification over MATLAB's gcd.m ;
it is based on the suppression of calculation of u2, v2 and t2 at
intermediate steps - as observed by Gordon H. Bradley ? and
as given in 4.5.2, P343 of Vol 2, 3rd Ed of D E Knuth's book.

However, when either input a or b is negative, or both are negative,
I have observed that we need to consider absolute values thus :
abs (a(k)) and abs (b(k)) ie, abs(u) and abs(v) as per the book's notation :
ie, u * u1 + v * u2 = u3
in P343 gets modified to :
abs(u) * u1 + abs(v) * u2 = u3
ie, in MATLAB, following gcd.m's notations :
abs (a(k)) * u(1) + abs (b(k)) * u(2) = u(3)

The reason for this "abs " is that within gcd.m, abs (a(k)) and
abs (b(k)) are used in constructing the initial values of
the vectors u and v.

Also, I have not been able to observe any difference in time
between this modified method and the standard Matlab methods ;
it is "even" over several runs involving upto 20000 random numbers.

See also my code(s) for finding GCD of Complex Nos :
CMPLX_GCD.m -> CMPLX_GCD_Supr_2.m

See also my code(s) Poly_GCD, Poly_POWER
and Ch_Rem_Thr_Poly.

Should generally work in R14, R13 and R12.

Similar modifications have also been done for CMPLX_GCD.m -> CMPLX_GCD_Supr_2.m

Cita come

Sundar Krishnan (2025). Modified GCD (https://it.mathworks.com/matlabcentral/fileexchange/5948-modified-gcd), MATLAB Central File Exchange. Recuperato .

Compatibilità della release di MATLAB
Creato con R14
Compatibile con qualsiasi release
Compatibilità della piattaforma
Windows macOS Linux
Categorie
Scopri di più su Operators and Elementary Operations in Help Center e MATLAB Answers

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!
Versione Pubblicato Note della release
1.0.0.0

Readme file added.