Opened 13 years ago
Last modified 13 years ago
#1511 new defect
Errores de redondeo en IsStationary
Reported by: | Víctor de Buen Remiro | Owned by: | Víctor de Buen Remiro |
---|---|---|---|
Priority: | highest | Milestone: | Numerical methods |
Component: | Math | Version: | 3.1 |
Severity: | blocker | Keywords: | |
Cc: |
Description
Se han detectado errores de redondeo en IsStationary
con polinomios largos y raíces internas al círculo unidad cercanas a la frontera.
El algoritmo parece ser inestable numéricamente y es posible que haya que relajar las comparaciones y reescalar los coeficientes.
Con el programa wxMaxima se obtienen fácilmente los módulos de todas las raíces de un polinomio, como por ejemplo el siguiente para el que IsStationary
devuelve cierto pese a que tiene una raíz de módulo 0.98936837341167
lst : for e in allroots( 1 -1.41641310906511*B+0.391460336390905*B^2+0.237479465611543*B^3 -0.313817287172879*B^4+0.0207969157770472*B^5+0.0585091112863627*B^6 +0.0518725107412095*B^7-0.238082361661064*B^8+0.412075386287669*B^9 -0.0755867514022603*B^10-.242113438285112*B^11+0.112654827752521*B^12 +0.0936728406327281*B^13-.153295592935488*B^14+0.104367210859708*B^15 +0.203554634017648*B^16-0.258404098504735*B^17 ) do (disp(rhs(cabs(e)))); 1.024852025788045 1.024852025788045 1.08862003034098 1.08862003034098 1.078878789480232 1.078878789480232 0.98936837341167 1.11831471403194 1.11831471403194 1.152242342587653 1.152242342587653 1.090886683519436 1.090886683519436 1.036312310333729 1.036312310333729 1.127932167111816 1.127932167111816
(In [4587]) Refs #1511