No BSD License  

Highlights from
More Flexible Sorting and Multiplicity of Roots of a Polynomial

Be the first to rate this file! 4 Downloads (last 30 days) File Size: 24.2 KB File ID: #8037

More Flexible Sorting and Multiplicity of Roots of a Polynomial

by Sundar Krishnan

 

14 Jul 2005 (Updated 15 Jul 2005)

More Flexible Sorting and Multiplicity of Roots of a Polynomial

| Watch this File

File Information
Description

Imagine a function that can pair the Complex Conjugate Roots of a Polynomial, and also tell us how many Roots are Real, and how many are Complex ; imagine further, that this function should also be able to give us the multiplicity of the roots ; and imagine further, that this function should be able to do all this even if not all the Complex Roots of the Polynomial are Conjugate Pairs.
Information about multiplicity of roots is important when we need to raise a Polynomial to Fractional Powers.

One (feeble) immediate answer could be that MATLAB's standard cplxpair could do (part of) the functions. But, I have observed that as the degree of a Polynomial increases, the results obtained by Matlab's roots has so much variation that the standard cplxpair will result in an error !
The standard Matlab roots () function does not return n exactly identical roots if the input Polynomial has n Repeated Roots, specially when n is above 10.

So, firstly, we need to modify the tolerances of cplxpair.
My cplxpair_Mod.m is a modified version of the Standard R14 Matlab's cplxpair.m.

So, in addition to computing the number of Real and Complex Roots, and their multiplicities, we also need this new function to be able to perform the foll additional fns :
a) optionally reverse the listing order of the roots
b) List the Pure Real Roots in the beginning, and then the Complex (Conjugate-Paired) Roots for both the NORmal and the REVerse sorting cases.

Such a function is this Programme cmplx_roots_sort_Det.m.
This function makes calls to the lighter version cmplx_roots_sort.m, to Real_Roots_Multicty.m and to cplxpair_Mod.m.
When cplxpair_Mod.m throws up an error as in the case of the presence of Non-Conjugate Complex Roots, the case is dealt with in the catch block of code by considering individual roots.

An other Programme of mine, Poly_POWER.m, uses cmplx_roots_sort_Det.m to get the multiplicity of roots.

Acknowledgements
This submission has inspired the following:
Multiple-root polynomial solved by partial fraction expansion
MATLAB release MATLAB 7 (R14)
Tags for This File  
Everyone's Tags
Tags I've Applied
Add New Tags Please login to tag files.
Please login to add a comment or rating.
Tag Activity for this File
Tag Applied By Date/Time
linear algebra Sundar Krishnan 22 Oct 2008 07:53:30
flexible sorting Sundar Krishnan 22 Oct 2008 07:53:30
multiplicity of roots Sundar Krishnan 22 Oct 2008 07:53:30
mathematics Sundar Krishnan 22 Oct 2008 07:53:30
linear alge Sundar Krishnan 22 Oct 2008 07:53:30

Contact us at files@mathworks.com