[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Fri, 17 Jun 2011 06:26:33 -0700 (PDT)
A recurrent problem is the computation of roots with multiplicities > 1.
Let's take f.i.
P = conv(poly([-1 -1 -1]), conv([1 1 1], [1 1 1]));
The roots are
Q = .5*(-1+sqrt(-3));
Q = [-1; -1; -1; Q; Q; conj(Q); conj(Q)]
but roots(P) is different from the content of P, with errors of magnitude
1e-6 (other commercial package errors are at 1e-4). The fix is exposed in
http://dx.doi.org/10.1016/j.camwa.2005.07.018: compute the GCD between the
polynomial and its first derivative. This GCD will contain all repeated
roots. Then divide the original polynomial by this GCD, all roots are now
single. The paper also contain further development in order to compute the
multiplicity of each root.
Enclosed is a straigthforward implementation of this approach. The name
'fixroots' means that it is a fix to the root computation problem. Comments,
remarks ? Can it be included into Octave ?
View this message in context:
Sent from the Octave - General mailing list archive at Nabble.com.
|[Prev in Thread]
||[Next in Thread]|
- roots computation,