Modified GCD

版本 1.0.0.0 (11.7 KB) 作者: Sundar Krishnan
Modification in MATLAB's gcd.m by suppressing calculation of u2, v2 and t2 at intermediate steps
1.3K 次下载
更新时间 2005/7/14

无许可证

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

引用格式

Sundar Krishnan (2024). Modified GCD (https://www.mathworks.com/matlabcentral/fileexchange/5948-modified-gcd), MATLAB Central File Exchange. 检索时间: .

MATLAB 版本兼容性
创建方式 R14
兼容任何版本
平台兼容性
Windows macOS Linux
类别
Help CenterMATLAB Answers 中查找有关 Operators and Elementary Operations 的更多信息

Community Treasure Hunt

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

Start Hunting!
版本 已发布 发行说明
1.0.0.0

Readme file added.