Está en la página 1de 161

Metodos geometricos para

aproximar ra
ces de polinomios,
con aplicaciones a procesamiento

de senal

ii


Indice general
1. Introduccin
o
1.1. Modelos polinmicos en procesado de voz . .
o
Espectrograma . . . . . . . . . . . . . . . .
Prediccin lineal . . . . . . . . . . . . . . . .
o
Formantes y modelo de produccin . . . . .
o
Estimacin y uso . . . . . . . . . . . . . . .
o
1.2. Mtodos tradicionales para hallar ra . . .
e
ces
Mtodos iterativos y geomtricos . . . . . .
e
e
1.3. Anlisis de algoritmos numricos . . . . . .
a
e
Aproximacin, estabilidad, condicionamiento
o
Coste de algoritmos para ra
ces . . . . . . .
2. Clculo del
a
ndice de una curva
2.1. El
ndice de una curva y el clculo de ra
a
ces
2.2. Deniciones y procedimiento de insercin . .
o
2.3. Coste para curvas uniformes . . . . . . . . .
2.4. Cota para curvas Lipschitzianas . . . . . . .
2.5. Evitando giros perdidos . . . . . . . . . . .
2.6. Cota independiente de la -singularidad . . .

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.

3. Clculo del n mero de ra


a
u
ces
3.1. Procedimiento para curvas imagen . . . . . . . . . . .
3.2. Descomposicin recursiva de la regin de bsqueda .
o
o
u
3.2.1. Divisin en partes menores: un primer intento
o
3.2.2. Divisin en partes menores: segundo intento .
o
3.3. Terminacin y coste del procedimiento recursivo . . .
o

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

1
2
2
7
10
13
16
17
23
23
28

.
.
.
.
.
.

33
33
35
40
49
52
66

.
.
.
.
.

73
74
87
90
94
102

4. Implementacin y comparativa
o
113
4.1. Planteamiento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
iii


INDICE GENERAL

iv
4.2. Descripcin de mtodos . . . . . . . . . . . . . .
o
e
4.3. Diseo del experimento . . . . . . . . . . . . . .
n
4.3.1. Polinomios aleatorios y de procesamiento

4.3.2. Areas para los mtodos geomtricos . . .


e
e
4.3.3. Mtodos a ensayar . . . . . . . . . . . .
e
4.4. Resultados numricos . . . . . . . . . . . . . . .
e
4.4.1. Conclusiones y trabajo futuro . . . . . .
Bibliograf
a

. . . . .
. . . . .
de seal
n
. . . . .
. . . . .
. . . . .
. . . . .

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

115
116
116
119
120
125
140
155

Cap
tulo 1
Introduccin
o
Los polinomios son un tipo de funciones con una larga historia en matemticas,
a
ciencia e ingenier como puede verse en la revisin [Pan, 1997]. Una razn es que
a,
o
o
pueden ser evaluados numricamente con un nmero nito de multiplicaciones y adie
u
ciones. Adems, resultan ser densos en el conjunto de funciones continuas [Rudin,
a
1987], es decir, pueden ser usados para aproximar funciones continuas ms complicaa
das, o ajustarse a los datos obtenidos en cualquier proceso de medicin de magnitudes
o
f
sicas.
Se introducen en enseanza secundaria para ejemplicar los principios bsicos del
n
a

Algebra y sus mtodos. Esto hace que sea conocido que las ra
e
ces de polinomios de
grado 2, 3 y 4 pueden obtenerse con ciertas frmulas, y que no existen tales frmulas
o
o
(usando radicales) para grados superiores. En la prctica se recurre a mtodos numria
e
e
cos, ms efectivos para aproximar ra que las frmulas por radicales. Los polinomios
a
ces
o
que aparecen en aplicaciones cient
cas y de ingenier pueden ser de grado superior
a
al centenar, por ejemplo en procesamiento digital de seal [Sitton et al., 2003].
n
Los mtodos para calcular ra de polinomios, se pueden clasicar a grandes rase
ces
gos en iterativos y geomtricos. Los mtodos iterativos estn basados en una sucesin
e
e
a
o
de estimaciones de error y correccin que, en la mayor de los casos, conduce a un
o
a
punto del plano complejo tan cerca de una ra como se quiera. Como se detalla ms
z
a
adelante, estos mtodos son rpidos (convergencia ms que lineal) y su anlisis, es
e
a
a
a
decir, la prueba de su correccin como algoritmo y la determinacin de los recursos
o
o
necesarios, se basa en tcnicas numricas bien conocidas. Por el contrario, los mtodos
e
e
e
geomtricos se basan en la distribucin de ra
e
o
ces en el plano complejo. Por ejemplo,
acotan el mdulo de las ra
o
ces, o las separan (es decir, denen regiones del plano que
contienen precisamente una ra
z).
Sin embargo, como se describir en el siguiente apartado, los mtodos iterativos no
a
e
son fcilmente aplicables en la prctica a los polinomios que aparecen en las aplicaa
a
1


CAP
ITULO 1. INTRODUCCION

ciones de procesamiento de seal. El objetivo de esta memoria es desarrollar, analizar


n
y comparar un mtodo geomtrico de clculo de ra
e
e
a
ces adecuado para polinomios de
alto grado. Se basa en el
ndice de curvas planas cerradas (que es el nmero de vueltas
u
alrededor del origen). En el siguiente cap
tulo se precisa un mtodo para el clculo
e
a
del
ndice, que se usar en el cap
a
tulo 3 para la extraccin de ra
o
ces. En el cap
tulo 4
llevaremos a cabo una comparativa de rendimiento con respecto a otros mtodos.
e
En este cap
tulo de introduccin, en un primer apartado describimos el uso de
o
polinomios en procesamiento de seal, en particular para el estudio de formantes de
n
la seal de voz. En un segundo apartado repasamos los mtodos para hallar ra
n
e
ces,
clasicados en iterativos y geomtricos. En el tercer apartado repasamos las nociones
e
de clculo numrico y anlisis de algoritmos necesarias para encuadrar las aportaciones
a
e
a
de la presente memoria.

1.1.

Modelos polinmicos en procesado de voz


o

En este apartado introducimos la tcnica de prediccin lineal en procesado de voz,


e
o
que conduce a un modelo donde el concepto algebraico de ra tiene un signicado f
z
sico
directo: el formante. Repasamos la literatura, tanto el fundamento terico como alguo
nas aplicaciones. Tambin mencionamos los proyectos que constituyen la motivacin
e
o
de este trabajo.

Espectrograma
Para analizar la seal de voz, cuyas caracter
n
sticas espectrales cambian rpidamena
te, es necesario dividirla en segmentos en los que estas sean estacionarias. La nocin
o
de seal estacionaria se corresponde con que el contenido espectral permanezca relatin
vamente estable. En intervalos temporales pequeos (10-20 msg, 220-240 muestras de
n
una seal tomadas con una frecuencia de 22050 kHz) el contenido espectral de la seal
n
n
de voz cambia poco, y puede considerarse estacionaria. A cada uno de estos intervalos
casi-estacionarios (conocido como ventana de anlisis o frame), se le pueden aplicar
a
los procedimientos habituales de anlisis espectral.
a
En estos anlisis tiempo-frecuencia, la precisin en una dimensin es inversamente
a
o
o
proporcional a la precisin en la otra. En el caso de seales de voz, puede escogerse una
o
n
ventana corta (banda ancha), para resaltar caracter
sticas temporales, o una ventana
larga (banda estrecha), para resaltar las caracter
sticas espectrales. Como ejemplo
puede compararse la gura 1.1 con la 1.3. Los espectrogramas han sido elaborados con
la aplicacin Praat [Boersma, 2002] sobre la grabacin SS40AANT (una pronunciacin
o
o
o


1.1. MODELOS POLINOMICOS EN PROCESADO DE VOZ

de la palabra anterior) de la base de datos del proyecto IVORY [Gmez, 1998].


o

Figura 1.1: Espectrograma de anterior, con ventana rectangular de duracin 20 ms.


o
Un segmento de anlisis recortado de una seal de voz muestra unos bordes muy
a
n
bruscos. Es conveniente suavizarlos multiplicando sus valores por una funcin de ventao
na, como por ejemplo la funcin de ventana de Hamming. Por simplicar suele hablarse
o
de ventana, obviando la palabra funcin. La ventana de Hamming es preferible a una
o
ventana rectangular (esta consistir en tomar como ventana de anlisis los valores de
a
a
la seal original) porque introduce menos distorsin, como se ve en la distribucin de
n
o
o
sus lbulos laterales en frecuencia [Olive, 1971]. La eleccin de las caracter
o
o
sticas de esta ventana se tratan en [Smith, 2003]. Se discuten sus caracter
sticas y se proporcionan
referencias en [Riley, 1989].
Esta segmentacin de la seal sugiere un procesado por bloques, en el que se soo
n
mete a anlisis las sucesivas ventanas obtenidas de la seal de voz. Estos bloques suelen
a
n
superponerse parcialmente para dar una descripcin ms suave de toda la corriente de
o
a
datos. Por otro lado, si el anlisis al que se va a someter la voz es adaptativo (de modo
a
que los parmetros de anlisis se actualizan segn van llegando nuevas muestras, en
a
a
u
vez de realizar un anlisis desde cero para cada ventana) tendr
a
amos un procesado
muestra a muestra. En la discusin genrica de [Ouaaline and Radouane, 1998] se hao
e
bla de estos dos paradigmas, los mtodos de bloque frente a los mtodos muestra
e
e


CAP
ITULO 1. INTRODUCCION

4
a muestra

Figura 1.2: Espectrograma de anterior, con ventana Hamming de duracin 20 ms.


o
Comparando con un espectrograma de la misma seal pero con una ventana de
n
menor tamao, se aprecia que algunos aspectos (como el rayado horizontal frente al
n
vertical) son artefactos introducidos por la ventana de anlisis. Las rayas verticales en
a
el anlisis de tiempo corto se corresponden con los golpes individuales que produce la
a
glotis. El rayado horizontal se debe a la interaccin del tren de impulsos glotales con
o
la ventana de anlisis. Sin embargo otros aspectos (los barras horizontales en 05 s,
a
1000 Hz y 2000 Hz) son independientes de la longitud de la ventana de anlisis.
a
Independientemente del mtodo seguido para la obtencin de caracter
e
o
sticas espectrales fugaces (short-time spectrum), la que ms sobresale a primera vista es la
a
frecuencia fundamental F0 , y sus armnicos. Se debe a la vibracin de las cuerdas
o
o
vocales, y perceptivamente da el tono agudo o grave a las voces. Hay tramos en que
esta vibracin no se da, que son los tramos no sonoros, por ejemplo en fricativas o
o
habla susurrada. Tambin puede verse que los armnicos en voces graves estn ms
e
o
a
a
separados, y en voces agudas ms prximos. Si se requiere separar diversos armnicos
a
o
o
en una voz aguda es necesario ms precisin en frecuencia, a costa de la precisin en
a
o
o
el tiempo.
Otra caracter
stica espectral sobresaliente son los formantes. El concepto de for-


1.1. MODELOS POLINOMICOS EN PROCESADO DE VOZ

Figura 1.3: Espectrograma de anterior, con ventana Hamming de duracin 5 ms.


o

mante proviene de la ling


ustica, y se reere a las bandas de energ en el plano
a
tiempo-frecuencia. Habr que diferenciar entre formante fontico y formante anal
a
e
tico. El primero es resultado de la inspeccin visual de un espectrograma por un experto,
o
marcando las zonas de contenido energtico. El segundo se corresponde con las zonas
e
de concentracin de energ que surgen del anlisis de un modelo de la seal de voz. Por
o
a
a
n
ejemplo, si se modela la seal usando la transformada de Fourier como es habitual en
n
telecomunicacin, un formante anal
o
tico se corresponde con un mximo en el espectro.
a
En el modelo de prediccin lineal que se describe ms adelante, un formante anal
o
a
tico
se corresponde con un polo de cierta funcin de transferencia. En cualquier caso, si
o
el modelo es el, habr una adecuacin entre los formantes fonticos observados reala
o
e
mente y los formantes anal
ticos predichos. Para ver que un formante fontico es un
e
objeto natural y un formante anal
tico un aspecto de un modelo, puede notarse que
los formantes fonticos se interrumpen en los intervalos en que la seal de voz cambia
e
n
de rgimen (de sonoro a no sonoro). En cambio los formantes anal
e
ticos, deducidos
de un modelo, van a ser continuos en tanto se siga modelando la seal con el mismo
n
procedimiento [Rabiner, 1999]. Otra nota de distincin, cuando dos bandas de energ
o
a
se unen, se dice, en los estudios fonticos, que uno de los formantes ha desaparecido.
e
Sin embargo, anal
ticamente se describe de otro modo esta situacin: dos formantes
o

CAP
ITULO 1. INTRODUCCION

pueden mezclarse o incluso cruzarse [Riley, 1989].


El modelo de produccin de voz que incorpora los formantes como parmetros
o
a
descriptores de alto nivel tiene muchas aplicaciones. Histricamente fue desarrollado
o
en el contexto de codicacin (compresin) de voz, para aprovechar el ancho de banda
o
o
disponible en las lineas telefnicas [Flanagan, 1960]. Asociada con esta tcnica est la
o
e
a
s
ntesis de voz, necesaria para recuperar la seal original [Atal and Hanauer, 1971].
n
La s
ntesis de voz es tambin la base de los sistemas de conversin texto-habla. Un
e
o
sintetizador basado en formantes (frente a uno basado, por ejemplo, en recortes de
s
laba) produce un habla uida [Markel, 1976].
La descripcin que hace el modelo de formantes es f
o
sicamente signicativa, con
lo que pueden deducirse aspectos sobre la posicin de los organos fonadores, y su
o

movimiento (dinmica articulatoria) a partir de los parmetros. Relacionado con el


a
a
desacoplamiento que el modelo hace de las diversas inuencias en la seal (del medio,
n
de las caracter
sticas de los organos, de la articulacin, etc.) est que se pueden modi
o
a
car estos parmetros, ajustndolos para conseguir algn efecto. Por ejemplo [Morris
a
a
u
and Clements, 2002] proponen alterar los formantes medidos en hablas alteradas (en
baja presin, en alta G, o susurrada) para resintetizar esa misma voz con los parmeo
a
tros normalizados, es decir, de modo que suenen como voz producida en condiciones
normales.
En cuanto al reconocimiento de voz, como comentan [Welling and Ney, 1998], casi
todos los reconocedores estn basados en coecientes cepstrales o de banco de ltros.
a
Sin embargo, hay caracter
sticas muy atractivas de los formantes para usarlos como
componentes de plantillas de reconocimiento: robustos frente a distorsin de canal o
o
ruido; posibilidad de ajustar las condiciones de reconocimiento a las de entrenamiento;
su signicado f
sico, es decir la relacin con los modelos basados en produccin
o
o
y percepcin de habla. En resumen, ser muy util disponer en tiempo real de la
o
a

localizacin (es decir, frecuencia central y ancho de banda) de los formantes. Los
o
parmetros estimados de formantes, como componentes del vector de caracter
a
sticas
acsticas (o template), pueden ser usados directamente (datos crudos en la terminolog
u
a
de [Markel, 1976]) como se hace en [Welling and Ney, 1998] o [Garner and Holmes,
1998], o ser sometidos a un proceso de seguimiento de formantes [Holmes and Russell,
1999]. En aplicaciones de reconocimiento de voz la posicin relativa de los formantes es
o
el parmetro principal en la clasicacin de vocales, y las trayectorias de los formantes
a
o
estn ligadas con los puntos de articulacin, como se revisa en [Schmid and Barnard,
a
o
1995]. El reconocimiento del hablante tambin puede beneciarse de esta tcnica. La
e
e
motivacin para hallar formantes de [Snell and Milinazzo, 1993] es usar el nmero de
o
u
ellos en ciertas bandas de frecuencia para vericar la identidad el hablante. En esta


1.1. MODELOS POLINOMICOS EN PROCESADO DE VOZ

referencia se introducen tcnicas de anlisis complejo del polinomio de prediccin lineal


e
a
o
que estn en el origen del presente trabajo.
a

Prediccin lineal
o
Para estimar los parmetros de los formantes es frecuente localizar los picos de
a
resonancia del ltro de prediccin (LPC, Linear Prediction Code [Markel, 1976]) obteo
nido a partir de segmentos de la seal de voz. La prediccin lineal es una herramienta
n
o
muy usada en varios aspectos de proceso de seal. Quiz por esto hay gran varien
a
dad de exposiciones de sus fundamentos y de los algoritmos para llevarla a cabo, que
resumimos a continuacin.
o
Consideremos una seal de tiempo discreto (x(t))tN = (x(0), x(1), . . . ), es decir,
n
tal que los valores x(t) R estn distribuidos continuamente, y el
a
ndice de tiempo
t N es discreto. Para un nmero natural n 1, una aproximacin por prediccin
u
o
o
lineal de (x(t))tN de orden n consiste en unos nmeros reales a1 , a2 , ..., an . Estos se
u
denominan coecientes de la prediccin lineal. La seal ((t))tN denida como
o
n x
x(t) = a1 x(t 1) + a2 x(t 2) + + an x(t n) si t n ((t) = 0 si t < n),

x
es la prediccin lineal de (x(t)) con coecientes ai , 1 i n. La diferencia entre
o
la seal y su prediccin lineal es el error de la prediccin, la seal (e(t))tN denida
n
o
o
n
como e(t) = x(t) x(t). Como se ve, el error depende de los coecientes ai . Tambin

e
es evidente que conociendo solamente la seal de error (y los coecientes), puede
n
reconstruirse iterativamente el valor de la seal x(t) en cada instante t, como x(t) =
n
e(t) para t < n, y
x(t) = x(t) + e(t) = a1 x(t 1) + a2 x(t 2) + + an x(t n) + e(t) para t n.

El problema de la prediccin lineal es, dado (x(t)), hallar los coecientes ai de la


o
prediccin lineal que hacen m
o
nima la seal de error (e(t)). Este m
n
nimo suele tomarse
en el sentido de la norma cuadrtica
a

(e(t))tN

e(t)2 .

=
t=0

As se considera que cada prediccin lineal ((t)) es un modelo de (x(t)) y que la

o
x
de m
nimo error es la mejor prediccin. En la literatura, este esquema de prediccin
o
o
lineal a veces se expone en un contexto de aproximacin funcional (con el aparato
o
matemtico de proyecciones en espacios de Hilbert [Wiener, 1975]). Ms frecuente
a
a
es exponerlo mediante ltros, usando tcnicas de seales y sistemas [Haykin, 1995].
e
n


CAP
ITULO 1. INTRODUCCION

Tambin es frecuente introducirlo en un contexto de seales estocsticas y modelado


e
n
a
AR [Box et al., 2008].
Independiente del contexto en que se introduce, con su terminolog asociada, un
a
segundo grupo de cuestiones ataen al uso del modelo de prediccin lineal. Por ejemplo
n
o
el espectro de potencia del modelo es ms sencillo de describir que el espectro de
a
potencia original [Priestley, 1981]. Como otro ejemplo de aplicacin, si la seal ha sido
o
n
producida aplicando diversos ltros (f
sicos o computacionales) desconocidos, puede
resultar ms fcil realizar la ingenier inversa (deducir los ltros usados) a partir del
a a
a
modelo que a partir de la seal original. Esto pasa en el modelo vibracin glotal n
o
tracto vocal de la produccin de voz [Rabiner, 1999].
o
Un tercer grupo de cuestiones son las relacionadas con la solucin efectiva del proo
blema de la produccin lineal. Normalmente se hace restringiendo el anlisis a seales
o
a
n
denidas en un segmento nito (x(t))t{1,...,m} . Seales de duracin mayor que este
n
o
segmento se dividen en ventanas en las que se realiza el anlisis [Markel, 1976]. Este
a
anlisis se hace mediante el mtodo de la autocorrelacin (que describimos ms adea
e
o
a
lante) o por el mtodo de la covarianza. Tambin es frecuente realizar adaptativamente
e
e
la prediccin lineal [Widrow and Stearns, 1985].
o
Comentamos ahora estas cuestiones (planteamiento del problema, usos del modelo
y solucin efectiva), y en el siguiente apartado se expondr el problema concreto que
o
a
motiva este trabajo. Para resolver el problema de la prediccin lineal, es decir, para
o
hallar los coecientes ai , se considera el error cuadrtico
a

(x(t) a1 x(t 1) + a2 x(t 2) + + an x(t n))2

E=

e(t) =
t=0

t=0

como si fuese una funcin de los coecientes ai . Suponiendo [Haykin, 1995] que los
o
extremos de la funcin de error se alcanzan donde se anula la derivada, y que ese
o
extremo es m
nimo por convexidad, el error es m
nimo donde se verique:

E
= 0 para 1 i n
ai


1.1. MODELOS POLINOMICOS EN PROCESADO DE VOZ

Desarrollando las derivadas, estas condiciones son equivalentes a


E

=
ai
ai

x(t)
t=0

t=0 ai

aj x(t j)
j=1

x(t)

x(t i)

aj x(t j)

x(t)

aj x(t j)

aj x(t j)

j=1

x(t)

j=1

t=0

= 2

x(t)

=
2
t=0 ai
= 2

aj x(t j)
j=1

j=1

x(t i)e(t) = 0
t=0

Salvo el factor 2, las condiciones son

x(t i)

x(t)

t=0

aj x(t j)

= 0. Si se

j=1

x(t i)x(t j), la anterior

denen los coecientes de correlacin como (i, j) =


o
t=0

expresin puede ponerse como (i, 0) =


o

aj (i, j). En la teor de ltros optimos


a

j=1

estas condiciones se conocen como ecuaciones de Wiener-Hopf [Widrow and Stearns,


1985].
Con respecto al segundo grupo de cuestiones, las aplicaciones, el campo ms natua

ral es la teor de ltros. Usando la tcnica de la trasformada Z, denotamos X(z), X(z)


a
e
y E(z) a las transformaciones de x(t), x(t) y e(t). La reconstruccin de x(t) por pre
o

diccin lineal puede verse como la aplicacin de un ltro F (z) a esta seal, X(z) =
o
o
n
n

aj z j . Usando este ltro de prediccin lineal, la seal


o
n

F (z)X(z), siendo F (z) =


j=1

de error se produce con E(z) = (1 F (z))X(z). Llamando polinomio LPC a A(z) =


1 F (z), tenemos:
X(t) =

E(z)
A(z)

Esta expresin tiene una importante interpretacin prctica: si disponemos de una


o
o
a
suposicin razonable sobre la forma de la seal de error E(z), la seal que se pretende
o
n
n
modelar, X(z), es el resultado de aplicar al error un ltro con funcin de transferencia
o
1
H(z) =
. En nuestro caso, x(t) es una seal de voz y dos suposiciones razonables
n
A(z)
sobre la forma que puede tomar E(z) son la de tren de impulsos (en periodos de habla


CAP
ITULO 1. INTRODUCCION

10

vocalizados, es decir, con actividad de las cuerdas vocales) o la de ruido blanco (en
habla no vocalizada) [Rabiner, 1999].
El tercer grupo de cuestiones atae a los clculos prcticos con los que llevar a cabo
n
a
a
este planteamiento. Las operaciones anteriores, con sumatorios y correlaciones que se
extienden sobre todo el eje de tiempos, deben truncarse para poder realizar clculos con
a
efectividad. Se suele restringir el anlisis a una ventana de la seal x(t), a lo largo de la
a
n
cual es razonable suponer que se mantienen las caracter
sticas que recoge el modelado
LPC. Con este truncamiento, con una ventana de longitud N , la expresin del error
o
N 1m
n(i,j)

N 1
2

ventaneado queda EN =

x(ti)x(tj).

e(t) , y la correlacin N (i, j) =


o
t=n

t=mx(i,j)
a
N 1+|ij|

x(t)x(t |i j|), que es una

Como esto ultimo puede ponerse N (i, j) =

t=0

expresin que depende solo de |i j|, es decir N (i, j) = rN (|i j|). Esto permite
o
n

expresar las ecuaciones de Wiener-Hopf en forma matricial: de rN (i) =

aj rN (|ij|)
j=1

para 0 i n pasamos a

rN (0)
rN (1)
rN (2)
.
.
.

rN (1)
rN (0)
rN (1)
.
.
.

rN (2)
rN (1)
rN (0)
.
.
.

. . . rN (n 1)
a
r (1)
1
N

a
r (2)
. . . rN (n 2) 2 N

. . . rN (n 3) a3 = rN (3)

.
.
.
.
.
.
.
.
.

rN (n 1) rN (n 2) rN (n 3) . . .

rN (0)

an

rN (n)

Para hallar las incgnitas ai , suelen usarse mtodos de algebra lineal numrica
o
e

e
adaptados al hecho de que esta matriz de coecientes de correlacin es de tipo Toeplitz
o
(es decir, simtrica y con valores constantes a lo largo de diagonales paralelas a la
e
principal), como el algoritmo de Levinson-Durbin [Haykin, 1995].

Formantes y modelo de produccin


o
La aproximacin inicial a la seal de voz, mediante un anlisis tiempo-frecuencia
o
n
a
como los espectrogramas anteriores, puede complementarse con el modelado por prediccin lineal. Las caracter
o
sticas del ltro LPC pueden ponerse en correspondencia
con los organos de fonacin. El funcionamiento de la glotis y el tracto vocal sugiere un

o
modelo de produccin de la seal de voz como un generador de impulsos seguido de un
o
n
resonador. Con ms detalle, las tres componentes ser glotis, tracto vocal, radiacin
a
an
o
desde los labios (modelo de Liljencrants-Fant [Markel, 1976]).
En trminos de funciones de transferencia (ver [Oppenheim et al., 1996] como
e
referencia para seales y sistemas y [Ogata, 2010] para tcnicas de control y anlisis
n
e
a


1.1. MODELOS POLINOMICOS EN PROCESADO DE VOZ

11

del lugar de las ra


ces), la funcin de la glotis y la de la radiacin son sencillas de
o
o
describir, y aportan ceros a la seal de voz. El pre-nfasis consiste en eliminar estos
n
e
ceros mediante un ltro de +6 decibelios por octava, como explica [Duncan and Jack,
1988] (se tiene que la glotis aporta +12db/o, la radiacin de los labios -6db/o, por
o
tanto se requiere +6 de ltrado para aislar la funcin de transferencia del tracto vocal,
o
que aporta los formantes). El resultado puede verse en la gura 1.4.

Figura 1.4: Espectrograma de anterior, con ventana Hamming de duracin 10 ms, y


o
pre-nfasis de 6 dB. Notemos como al aumentar la frecuencia fundamental al nal de
e
la enunciacin, el intervalo entre picos glotales baja de los 10 ms, y el rayado vertical
o
da paso a un rayado horizontal.
Tras este ltrado, el espectro resultante muestra unas bandas donde se concentra el
aporte del tracto vocal al espectro total. Este espectro puede considerarse de modulacin, siendo la seal de la glotis la portadora. Esto es lo que se conoce como formante:
o
n
bandas de energ en el plano tiempo-frecuencia. Como comenta [Markel, 1976], el
a
ltrado conforme al modelo de produccin realza los formantes superiores (denotados
o
como F1 , F2 , . . . , frente a F0 , la frecuencia fundamental).
Para tener una expresin sencilla de la funcin de transferencia del tracto vocal,
o
o
se aproxima con un ltro todo-polos. Esta hiptesis simplicadora es razonable, pues
o
el tracto vocal puede asimilarse f
sicamente a un tubo sin prdidas. Por ejemplo, aune
que el anlisis de [Kapilow et al., 1999] es continuo (es decir, no basado en prediccin
a
o

12

CAP
ITULO 1. INTRODUCCION

lineal), respalda la hiptesis de que el espectro del tracto no tiene ceros. La seal de
o
n
habla resultante de aplicar el ltro de prenfasis s puede tenerlos debido a la fuente
e

de seal de la glotis, o a una excitacin acstica en el tracto (como cliks o fricaciones),


n
o
u
o a un acoplamiento nasal. Teniendo en cuenta la distincin antes comentada entre
o
formantes observados - formantes del modelo, varios trabajos examinan la validez de
la hiptesis todo-polos. En el art
o
culo fundacional de [McCandless, 1974] se describen
las frecuencias de atenuacin, indicando la presencia de ceros en el tracto vocal. Con
o
el nombre de antiformantes, o nasalformantes, algunos autores los incorporan a la descripcin del tracto, en un modelo ms preciso. En [Duncan and Jack, 1988] y [Ouaaline
o
a
and Radouane, 1998] se describen en detalle los efectos que tienen los ceros de la seal
n
en nasales, fricativas y stops (plosivas). Estas realizaciones estn producidas por caua
sas externas al tracto vocal, y por tanto escapan de las hiptesis del modelo LPC.
o
Es necesario desarrollar otros mtodos para detectarlos (como el modelado ARMA de
e
series temporales en general [Box et al., 2008]). Para el caso particular de modelos de
voz bajo hiptesis ms relajadas se han propuesto algoritmos de correccin de ceros,
o
a
o
como los de factorizacin de [Starer, 1990], originales de [Orfanidis and Vail, 1986],
o
o el referido en [Ouaaline and Radouane, 1998], que describe uno basado en ltrado
adaptativo.
Resumiendo, se dispone de un modelo sencillo de produccin de la seal de voz, que
o
n
incorpora sus caracter
sticas ms importantes, conocido como modelo de Liljencrantsa
Fant [Rabiner, 1999]. Con la hiptesis adicional de que el tracto vocal tiene un espectro
o
todo-polos, puede aplicarse las tcnicas de anlisis LPC para calcular sus parmetros.
e
a
a
Entre los aspectos de los que no da cuenta el modelo est la naturaleza del generador
a
de impulsos (vibracin-no vibracin de las cuerdas), y la simplicacin que introduce
o
o
o
la hiptesis todo-polos.
o
Lo ms habitual es ceirse al modelado LPC o al modelo espectral, pero con indicaa
n
dores sobre la validez del modelo. Por ejemplo [Riley, 1989] comenta los problemas de
LPC, con imgenes de polos que desaparecen por inuencia nasal. Este autor deende
a
el compromiso m
nimo: no ajustar la seal de habla a un modelo tan restrictivo
n
como LPC al principio del anlisis, sino tras haber extra conclusiones de bajo nivel
a
do
(como sonoro-no sonoro), y etiquetar expl
citamente la seal con estas conclusiones.
n
Otro trabajo que hace uso de indicadores de validez es [Bermdez et al., 2000], donu
de se desarrollan mtodos de aproximacin de formantes sobre LPC, tras detectar el
e
o
rgimen sonoro-sordo.
e
Con respecto al seguimiento (tracking) a lo largo del tiempo, ya [McCandless, 1974]
estudia cmo concatenar las zonas de energ del espectro para obtener los formantes,
o
a
en un compromiso de la continuidad con el cambio. Pero el trazado de formantes sobre


1.1. MODELOS POLINOMICOS EN PROCESADO DE VOZ

13

el espectrograma no es automatizable, pues responde a criterios visuales y fonticos


e
no formalizados. En el trabajo de [Kopec, 1986] sobre el seguimiento automtico mea
diante modelos ocultos de Markov, se comenta esta falta de precisin conceptual en
o
los trazados manuales de formantes que usa como entrenamiento. Tambin se han ine
tentado modelar las transiciones suaves (por ejemplo, sin consonantes fricativas) en el
seguimiento de formantes mediante la respuesta a impulso de un sistema de segundo
orden [Kawahara et al., 1999].

Estimacin y uso de los formantes


o
Entre los parmetros ms importantes de la seal de voz estn la sonoridad, la
a
a
n
a
frecuencia fundamental y los formantes. Para medir los valores de estos parmetros,
a
primero se estima si hay sonoridad o sordez, es decir, vibracin de las cuerdas o no.
o
Esto puede hacerse con la energ o comprobando los cruces por cero [Bermdez
a,
u
et al., 2000]. El siguiente parmetro, en orden de dicultad de medicin, en una seal
a
o
n
peridica es su frecuencia fundamental F0 . En el caso de la seal de voz, al no ser
o
n
exactamente peridica, F0 es dif de estimar. Puede estar incluso ausente, si se
o
cil
da una fonacin sorda, y en los casos sonoros, puede variar bastante incluso en una
o
misma palabra. Adems, en caso de F0 muy grave, puede llegar a confundirse con
a
el primer formante F1 [Parsons, 1987]. El mtodo cannico para hallar la frecuencia
e
o
fundamental de una seal es la autocorrelacin de la misma, cuyo segundo mximo
n
o
a
nos da la amplitud de onda, y el segundo mtodo usado es el anlisis homomrco
e
a
o
(cepstrum [Deller et al., 2000]) para separar la contribucin del tracto de la de la
o
glotis. Sin embargo en presencia de ruido estos mtodos pierden rendimiento [Parsons,
e
1987, Olive, 1971].
Como se ha comentado, las tcnicas que aparecen con ms frecuencia en la literatura
e
a
para la extraccin de formantes se basan en el modelado por prediccin lineal. Hay
o
o
tres clases de mtodos para la deteccin de formantes a partir de este modelo todo
e
o
polos de la seal de habla, como se revisa en [Garc Zapata et al., 2004a]. Primero,
n
a
el espectro del modelo LPC es una aproximacin suavizada del espectro de potencia
o
de la seal, y por tanto los mximos del espectro del modelo se corresponden con la
n
a
frecuencia central de los formantes [Rabiner, 1999]. Una segunda clase de mtodos
e
consiste en escoger (por medios estad
sticos o adaptativos) un conjunto de valores
para las posiciones de formantes y anchos de banda, que encajen lo mejor posible en
la distribucin de energ del espectro de seal [Olive, 1971, Welling and Ney, 1998].
o
a
n
Finalmente, otra aproximacin es el anlisis de los polos de la funcin de transferencia
o
a
o
1
del modelo LPC fuera de la circunferencia unidad (o-axis segn [McCandless,
u
A(z)

14

CAP
ITULO 1. INTRODUCCION

1974]). Una vez que se tiene el polinomio predictor A(z), los formantes se obtienen de
las ra
ces de A(z) = 0: cada par de ra
ces complejas nos da la frecuencia y ancho de
banda correspondiente a un formante. As los polos, que estn en el interior del c
,
a
rculo
unidad, son los elementos responsables de la distribucin espectral [Duncan and Jack,
o
1988, Snell and Milinazzo, 1993].
Como pasa con la frecuencia fundamental, aunque en principio parece un parmetro
a
directamente medible siguiendo alguno de los mtodos de las tres clases mencionadas,
e
en la prctica surgen ciertas dicultades. La asignacin de mximos espectrales (picos)
a
o
a
a formantes no es directa, sobre todo si se usan estimadores espectrales tipo Fourier,
que muestran gran cantidad de picos. Y aunque la estimacin espectral que resulta de
o
LPC es ms suave que con Fourier, los dos o tres picos disponibles en LPC a veces
a
se adaptan a mximos del espectro que no corresponden a formantes. Otro problema
a
complementario es el de dos mximos espectrales que con el tiempo se funden en uno.
a
Un tercer problema aparece en las voces agudas, en las que los picos de la envolvente
estimada tienden a acercarse a los picos armnicos, en vez de a los mximos debidos
o
a
a formante [Parsons, 1987].
Por otro lado, con el modelo de produccin de habla antedicho, el ltro del traco
to vocal (responsable en ultimo trmino de los formantes) puede modelarse mediante

e
LPC. Los parmetros de la funcin de transferencia que se consideran normalmente
a
o
son los coecientes del polinomio predictor. Se puede hallar una estimacin del especo
tro suavizado mediante la evaluacin en el c
o
rculo unidad descrita en [Rabiner, 1999].
Esta evaluacin en el c
o
rculo unidad a veces no muestra los mximos espectrales sua
cientemente separados, al estar los polos del modelo dentro del c
rculo unidad. [McCandless, 1974, Duncan and Jack, 1988] proponen evaluar el espectro en un circulo
interior. [Kang and Coulter, 1976, Parsons, 1987] proponen el mtodo del par de linea
e
(line pair), que modica los coecientes del polinomio para que sus ra
ces (polos del
modelo) se acerquen al c
rculo unidad. Ambas aproximaciones pierden efectividad por
las interacciones no lineales que se dan entre los coecientes y las ra del polinomio.
ces
Un conjunto equivalente de parmetros es el de las ra del polinomio, los polos
a
ces
del modelo LPC. Como comenta [Olive, 1992], el modelo LPC se adapta al espectro de
la seal de voz, pero los coecientes no tienen un signicado f
n
sico claro. Por ejemplo
no es fcil saber qu coecientes LPC modicar para que la seal de voz cambie de
a
e
n
e a i, o saber a partir de estos parmetros si es vocal o consonante. Los polos
a
s que son f

sicamente signicativos y se corresponden directamente con formantes,


con frecuencia y ancho de banda.
Para decidir qu ra del polinomio predictor se corresponden a formantes, [Mare ces
kel, 1976] escoge las tres de mayor mdulo. El mismo art
o
culo sugiere que indepen-


1.1. MODELOS POLINOMICOS EN PROCESADO DE VOZ

15

dientemente de la frecuencia de muestreo, es necesario un par de polos complejos para


cada banda de 700 Hz, es decir, que el grado de LPC debe ser 4 o 5 (para recoger los
formantes) ms la cantidad correspondiente a la frecuencia de muestreo (para recoger
a
la forma general del espectro). Asimismo, los tres primeros formantes para las vocales
deben estar por debajo de 3 kHz.
Nuestro inters en la extraccin de formantes viene del desarrollo de una metodoe
o
log de reconocimiento de habla en entornos adversos en el proyecto IVORY [Gmez,
a
o
1998], y posteriormente en el proyecto DIARCA [Diaz Martin et al., 2001]. En esta
metodolog la seal de entrada es ltrada adaptativamente para la cancelacin de
a,
n
o
ruido antes de la fase de reconocimiento. Como subproducto de este ltrado, se obtiene el polinomio LPC (inverso de la funcin de trasferencia) con un alto grado (como
o
referencia, 32 o 64 coecientes). La informacin sobre formantes extra de este polio
da
nomio puede ser usada en posteriores fases de reconocimiento. Las clases de mtodos
e
de extraccin citados al principio de este apartado, mximos espectrales y ajuste eso
a
tad
stico, no se pueden aplicar con abilidad a este modelo de grado alto debido a los
efectos de mezcla de formantes, y a la aparicin de picos espurios [McCandless, 1974].
o
De las tres clases de mtodos de localizacin de formantes, la basada en las ra del
e
o
ces
polinomio predictor es la ms adecuada a esta situacin.
a
o
La factorizacin de un polinomio (o la extraccin de ra
o
o
ces, que es la factorizacin
o
total, en factores lineales) es un problema que se plantea con frecuencia en procesamiento de seal: con transformadas Z de seales de voz en la construccin de plantillas
n
n
o
para reconocimiento de voz [Gmez, 1998], o como descripcin de alto nivel de seales
o
o
n
de electroencefalograma [W. Philips, 1992], o para usarlos como parmetros para una
a
representacin comprimida de una seal sonora [Starer, 1990].
o
n
No obstante, un anlisis LPC como el descrito en la tercera clase de mtodos de
a
e
deteccin de formantes requiere la extraccin de ra de un polinomio de grado alreo
o
ces
dedor de 32, al menos 40 veces por segundo. Los mtodos para hallar ra presentes
e
ces
en los paquetes de clculo numrico de propsito general no pueden abordar esto en
a
e
o
tiempo real en maquinaria no especializada. En realidad, no es necesario hallar todas
las ra
ces: las que ms inuyen en la forma del espectro son aquellas prximas a la
a
o
circunferencia unidad. Se puede estimar, con las cifras dadas como referencia, que las
ra signicativas tienen radio mayor que 095, pues las que tengan menor radio coces
rresponden a ltros con una respuesta trasiente de mayor duracin que la ventana de
o
muestreo. Por tanto, ser util como estimador de la forma del espectro el conjunto de
a
polos de la funcin de transferencia (de ra del polinomio denominador) situados en
o
ces
la corona de radio 095 < r < 1. Pero al aplicar mtodos clsicos de clculo numrico,
e
a
a
e
se ve que no es posible condicionar as la bsqueda. Con un algoritmo para encontrar

16

CAP
ITULO 1. INTRODUCCION

ra
ces genrico (de biblioteca), es inevitable hallar las 31 ra
e
ces (aunque luego se seleccionen solo las ms cercanas a la circunferencia unidad). No se puede restringir la
a
bsqueda a regiones espec
u
cas del plano complejo. Adems, el tener que hallar todas
a
las ra requiere trabajar con muy alta precisin en los clculos intermedios [Ralston
ces
o
a
and Rabinowitz, 1978a]. En general, los mtodos basados en ra
e
ces tienen una gran
carga computacional, y no se suelen usar en la prctica.
a
Consideremos por ejemplo el mtodo de Newton, que no permite concentrar el
e
esfuerzo en una regin del plano. Los resultados tericos nos aseguran la convergencia
o
o
a una ra dada si se inicia el mtodo cerca de esta. Pero en general, aunque se converja
z
e
a una ra esta puede estar arbitrariamente lejos del punto inicial. En contraposicin,
z,
o
otros mtodos permiten condicionar la bsqueda a una regin especicada. Por ejemplo
e
u
o
el mtodo de Biseccin, que halla una ra (en la recta real) de una funcin contenida
e
o
z
o
en un intervalo. Cualquier subintervalo de este, si la funcin toma valores de distinto
o
signo en sus extremos, contiene al menos una ra Aplicando este criterio a las mitades
z.
que surgen de dividir el intervalo inicial, se detecta en cul est contenida alguna de
a
a
estas. A este subintervalo puede aplicarse recursivamente el mtodo, hasta alcanzar la
e
precisin deseada. En el plano complejo tambin se puede utilizar un procedimiento
o
e
anlogo: cada regin plana se divide en subregiones, en cada una de las cuales se
a
o
aplica un criterio para la presencia de ra
ces, y as recursivamente. En nuestro caso,

por particin reiterada de la corona 095 < r < 1 aplicando este mtodo, pueden
o
e
encontrarse las ra con la condicin impuesta. Vamos a ver cmo llevar a cabo este
ces
o
o
esquema de clculo.
a

1.2.

Mtodos tradicionales para hallar ra


e
ces

Hasta mediados del siglo pasado, el proceso de hallar ra de polinomios segu el


ces
a
siguiente esquema: una primera fase, de separacin, divide la recta real en segmentos
o
de modo que en cada uno de ellos solo hay una ra del polinomio. En una segunda
z
fase, de aproximacin, la ra existente en cada segmento de la fase anterior se aproo
z
xima por un mtodo iterativo. Procedimientos usados en la fase de separacin son la
e
o
regla de los signos de Descartes, o las sucesiones de Sturm para ra reales [Ralston
ces
and Rabinowitz, 1978a]. Tambin pueden separarse regiones del plano complejo, si se
e
buscan ra
ces complejas, mediante el algoritmo de Schur-Cohn [Henrici, 1988]. En la
fase de aproximacin, dada la escasa precisin que era factible obtener manualmente,
o
o
unos pocos pasos de cualquier mtodo iterativo son sucientes para aproximar la ra
e
z.
A la hora de automatizar este proceso surgen varios inconvenientes: la fase de separacin es costosa de llevar a cabo sin una intuicin previa del tamao que pueden
o
o
n


1.2. METODOS TRADICIONALES PARA HALLAR RA
ICES

17

tener los segmentos (o regiones) de separacin. Sin una separacin adecuada, los algoo
o
ritmos iterativos no convergen a una ra cercana a la estimacin inicial. Para evitar
z
o
la no convergencia, un recurso frecuente es variar la estimacin inicial. As tras varios
o
,
intentos, es ms probable la convergencia a alguna ra Pero esto diculta el anlia
z.
a
sis del mtodo, y hace que el coste sea imponderable. Adems, frecuentemente no se
e
a
desea una ra cualquiera, sino las que cumplan cierta propiedad, por ejemplo la de
z
mayor mdulo, como sucede en el anlisis adaptativo de componentes espectrales [Hayo
a
kin, 1995] o las prximas al circulo unidad, en el procesado mediante LPC [Rabiner,
o
1999]. En estos casos es necesario encontrar todas las ra
ces, y luego ltrarlas por la
propiedad deseada. Al aproximar todas las ra
ces, para evitar converger varias veces
a una ra ya encontrada, se aplica una deacin al polinomio original. La deacin
z
o
o
consiste en dividir el polinomio por el factor correspondiente a la ra encontrada.
z
Con esto se consigue que, al aplicar de nuevo el mtodo al polinomio resultado de
e
la deaccin, la nueva ra encontrada no sea otra vez la misma. Pero la deacin es
o
z
o
un mtodo costoso [Ralston and Rabinowitz, 1978a] y adems, la divisin de polinoe
a
o
mios es numricamente inestable (ms adelante se introduce el concepto de estabilidad
e
a
algor
tmica).
Los mtodos ms extendidos actualmente se basan en este esquema, cuyas limitae
a
ciones impiden que se pueda encontrar con seguridad ra
ces de polinomios de grado
mayor que unas pocas decenas [Lang and Frenzel, 1994]. Aunque esto ven siendo sua
ciente, nuevas aplicaciones demandan mtodos con capacidad para mayores grados.
e
Tambin es de inters hallar ra
e
e
ces de polinomios cuyos coecientes estn dados con
a
baja precisin (como pasa en procesado de voz), y la deacin requiere aumentarla
o
o
articialmente, lo que adems de elevar el coste altera el modelo. Para lograr estos
a
dos objetivos hemos recurrido a los denominados mtodos geomtricos, y que pueden
e
e
verse como una automatizacin de la fase de separacin.
o
o
En el siguiente apartado se desarrolla la clasicacin de los mtodos de aproxio
e
macin de ra en iterativos o geomtricos. Para cada clase, se describe el esquema
o
ces
e
general y se dan unos mtodos de ejemplo. Posteriormente, en el siguiente apartado,
e
se describen los conceptos o herramientas tericas que aparecen en la literatura para
o
su anlisis.
a

Mtodos iterativos y geomtricos


e
e
Los mtodos iterativos (MI) se basan en un bucle de estimacin - correccin de
e
o
o
error, que converge, en condiciones bien denidas, a un punto complejo tan cerca de
una ra como sea necesario. Los mtodos de este tipo son rpidos (convergencia ms
z
e
a
a
que lineal, en general) y su anlisis, incluyendo la prueba de su correccin, y la detera
o

18

CAP
ITULO 1. INTRODUCCION

minacin de los recursos necesarios, se basa en herramientas bastante extendidas de


o
anlisis matemtico (derivada, aplicaciones contractivas o teor de punto jo [Ralston
a
a
a
and Rabinowitz, 1978a]). Esto hace que se denominen en ocasiones mtodos anal
e
ticos.
El arquetipo de los MI es el de Newton, con decenas de adaptaciones, para varias variables, variable compleja, evaluacin conjunta del polinomio y su derivada,
o
etc. [Marden, 1966]. Junto con los mtodos iterativos de Mller, Legendre y otros,
e
u
constituye la solucin ms comn al problema de hallar ra
o
a
u
ces de polinomios. Entre
los MI ms extendidos en bibliotecas numricas cabe destacar el de Laguerre, o el
a
e
de Jenkins-Traub. Puede verse una descripcin sencilla y una comparativa de estos
o
mtodos en [Mekwi, 2001]. El procedimiento incorporado en paquetes matemticos
e
a
matriciales (como LAPACK [Anderson et al., 1999] o MATLAB [Smith et al., 1976])
es un MI basado en los autovectores de la matriz compaera del polinomio (companion
n
matrix, vase [Fortune, 2002] o [Edelman and Murakami, 1995]).
e
Un MI, por lo general, converge rpidamente para la mayor parte de polinomios
a
de grado moderado (hasta aproximadamente 50 [Pan, 1997]). Sin embargo, an para
u
estos grados, los MI son inadecuados para ciertas clases de polinomios (como aquellos
con ra mltiples, o agrupadas -clusters -: cada mtodo tiene su clase particular de
ces u
e
polinomios para los que no es apto), o para polinomios espec
cos que muestran un
mal condicionamiento, como el polinomio de Wilkinson [Wilkinson, 1965]. Para enfrentarse con este problema, es necesario aplicar reglas heur
sticas en caso de dicultades,
tales como escoger otras aproximaciones iniciales, cambiar el mtodo aplicado, o usar
e
aritmtica de precisin variable [Pan, 1997]. Puede decirse que hay cientos, si no mie
o
les [Householder, 1970] de mtodos iterativos.
e
Estos mtodos encuentran una ra solamente. Si se necesita encontrar todas las
e
z
ra
ces, o las que cumplen cierta condicin, es necesario aplicar una deacin al poo
o
linomio original, lo que es costoso. Para ciertas aplicaciones se han desarrollado MI
espec
cos. Por ejemplo en aplicaciones de procesamiento de seal, o robtica, el sisten
o
ma a estudiar o controlar suele estar descrito por un modelo polinmico que var con
o
a
el tiempo, produciendo un ujo de polinomios de alto grado. La frecuencia con que
se requiere hallar sus ra
ces puede ser demasiado grande para los mtodos genricos.
e
e
Para hallar las ra de mdulo mximo se usa el mtodo de Graee [Malajovich and
ces
o
a
e
Zubelli, 2001] o el de Bernouilli [Young and Gregory, 2012]). Para hallar todas las
ra
ces est el mtodo de Durand-Kerner [Aberth, 1973], [Farmer and Loizou, 1975].
a
e
En particular en robtica se usa el mtodo de continuacin homotpica [Sommese and
o
e
o
o
Wampler, 2005], y otros mixtos simblico-numricos [McCarthy, 2011]. Estos mtodos
o
e
e
adaptados tambin muestran los problemas de coste y rigor asociados a los MI (coe
mo describen las referencias citadas en [Pan, 1997]), que detallamos en el siguiente


1.2. METODOS TRADICIONALES PARA HALLAR RA
ICES

19

apartado.
Los mtodos geomtricos (MG), tambin llamados de bsqueda, se basan en el
e
e
e
u
renamiento recursivo de una serie de condiciones que restringen la bsqueda. Como
u
ejemplo, consideremos el mtodo de la biseccin para hallar ceros de funciones reales
e
o
continuas. Se basa en el teorema de Bolzano, que dice que si una funcin continua
o
f : [a, b] R, en un intervalo [a, b] de la recta real tiene signos opuestos en sus
extremos (es decir, f (a) f (b) < 0), entonces tiene al menos una ra en ese intervalo.
z
El MG de biseccin se basa en la hiptesis de este teorema. Partiendo de un intervalo
o
o
inicial que cumpla esta condicin, y viendo cul de las mitades que surgen de dividir
o
a
el intervalo inicial verica a su vez la condicin, se detecta cul contiene al menos una
o
a
ra A este subintervalo puede aplicarse recursivamente el mtodo de biseccin, hasta
z.
e
o
alcanzar la precisin deseada.
o
Otras condiciones distintas a la hiptesis del teorema de Bolzano pueden aplicarse
o
en la recta, dando lugar a otros MG. Por ejemplo suelen aplicarse las sucesiones de
Sturm [Henrici, 1988], ms costosas de evaluar que el signo en los extremos, pero que
a
dan ms informacin sobre el nmero de ra
a
o
u
ces. Tambin hay condiciones que asee
guran la existencia de ra
ces en regiones del plano complejo, y que se puede utilizar
en un procedimiento bidimensional anlogo: cada regin plana se divide en subregioa
o
nes, en cada una de las cuales se comprueba cierta condicin para la presencia de
o
ra
ces, y as recursivamente. Como los MG se basan en la delimitacin de regiones que

o
pueden contener ra
ces, a menudo se denominan mtodos de bracketing (horquillado,
e
enmarcado) por analog con el de biseccin.
a
o
Los mtodos basados en nociones geomtricas como las mencionadas son iguale
e
mente vlidos para todos los polinomios. Esto los diferencia de los MI. Adems, la
a
a
uniformidad, que es la ausencia de casos especiales, facilita el anlisis de la complea
jidad de los MG. Los estudios tericos de complejidad del problema del clculo de
o
a
ra han motivado el desarrollo de mtodos geomtricos. Por otro lado, las aplicacioces
e
e
nes prcticas en procesamiento de seal o robtica necesitan mtodos que permitan
a
n
o
e
enfocar la bsqueda de ra a una zona pre-especicada del plano complejo, como se
u
ces
ha descrito. Esta acotacin de la bsqueda produce un ahorro en cantidad de cmpuo
u
o
to con respecto a los MI, que no permiten tal acotacin. MG basados en nociones
o
geomtricas distintas al recuento del nmero de ra en subregiones son el de test de
e
u
ces
inclusin de Weyl [Henrici, 1988], [Yakoubsohn, 2005], o el procedimiento de escisin
o
o
(splitting) de Graee [Bini and Pan, 1996].
En general, los MG tienen un patrn comn. Consideremos de nuevo el mtodo de
o
u
e
la biseccin. Este mtodo consiste en utilizar de forma recursiva los signos distintos
o
e
en los extremos de un intervalo para construir una sucesin de intervalos anidados
o

20

CAP
ITULO 1. INTRODUCCION

(y por lo tanto cada vez ms pequeos) que contienen una ra real. Estos son los
a
n
z
componentes protot
picos de un MG: un test de inclusin, para decidir si hay alguna
o
ra en una regin, ya sea de la recta o del plano, y un procedimiento recursivo para
z
o
obtener localizaciones cada vez ms pequeas de las ra deseadas.
a
n
ces
Tratamos dos ejemplos en el plano para comparacin: el mtodo de Lehmer-Schur
o
e
y el de Weyl. El mtodo de Lehmer-Schur [Lehmer, 1961] es un mtodo de enmarcado
e
e
bidimensional basado en un test de inclusin de Schur y Cohn, que dice cundo un
o
a
polinomio tiene ra dentro de un c
ces
rculo. As el area de inters se cubre con c
,
e
rculos,
y se aplica este criterio a cada uno de ellos. Despus, los c
e
rculos que contienen alguna
ra se cubren a su vez por c
z
rculos de menor radio, y as sucesivamente, hasta que se

alcanza la precisin requerida. El procedimiento recursivo conlleva cierta ineciencia


o
porque los c
rculos se superponen y puede encontrarse repetidamente la misma ra
z.
El mtodo de enmarcado de Weyl [Henrici, 1988] se basa en un test de inclusin que se
e
o
aplica a regiones cuadradas. Una descomposicin en cuadrados de la regin de inters
o
o
e
conduce de modo natural a un arbol cuadrtico (quadtree [Aho et al., 1983]). Este

a
consiste en un rbol de bsqueda en el que cada nodo es un cuadrado, enlazado a sus
a
u
cuatro sub-cuadrados, de la mitad de lado. Se han propuesto varios tests de inclusin
o
para cuadrados, por Weyl y otros [Pan, 1997], para ser utilizados en procedimientos
recursivos de bsqueda en rbol cuadrtico.
u
a
a
Son menos frecuentes los predicados, que responden armativa o negativamente
sobre la presencia de ra en una regin, que los tests, que responden armativamente
ces
o
o no se deciden. Ejemplos de test de inclusin aparecen en los trabajos citados en
o
[Dickenstein and Emiris, 2005]: [Ne and Reif, 1996a], [Ne, 1994], [Cardinal, 1996],
[Stetter, 1996], [Kirrinnis, 1998]. Basados en predicados de inclusin estn [Henrici and
o
a
Gargantini, 1969] o [Dedieu and Yakoubsohn, 1993]. En [Pan, 1996a] se insiste en que
un aspecto crucial a efectos de complejidad de estos mtodos es que la descomposicin
e
o
divide y vencers se haga en partes equilibradas.
a
Las pruebas en las que se basan los MG suelen ser geomtricas, pero tambin hay
e
e
propuestas para usar predicados que usan expresiones algebraicas ms generales, como
a
aproximaciones p-dicas [Lenstra Jr, 1999]. En esta l
a
nea es similar [Burr and Krahmer,
2012], donde los predicados se organizan como un arbol sin interpretacin geomtrica

o
e
directa, y los mtodos algebraico-simblicos descritos en [Elkadi and Mourrain, 2005].
e
o
En este trabajo no usamos test de inclusin, ni predicados con expresiones algeo
braicas, sino el nmero de vueltas o
u
ndice de curvas planas cerradas. Otros mtodos
e
geomtricos basados en el nmero de vueltas, son los de [Ying and Katz, 1988], [Here
u
locker and Ely, 1995], [Noureddine and Fellah, 2005] o [Yap and Sagralo, 2011], aproximando la integral de Cauchy con las tcnicas generales de acotacin del error de intee
o


1.2. METODOS TRADICIONALES PARA HALLAR RA
ICES

21

gracin numrica [Ralston and Rabinowitz, 1978b], en la l


o
e
nea de los trabajos [Delves
and Lyness, 1967], [Sakurai et al., 2003]. Comparaciones emp
ricas de algunos de estos
mtodos pueden verse en [Kamath, 2010]. Se han propuesto varios tcnicas espec
e
e
cas
para la integral de Cauchy [Kravanja and Van Barel, 2000], [Suzuki, 2001].
Un enfoque diferente se puede encontrar en [Wilf, 1978] o [Collins, 1977], que usan
sucesiones de Sturm para encontrar el nmero de cruces de una curva por la paru
te positiva del eje de las abscisas. Hay que considerar como una desventaja de estos
mtodos que solo sean vlidos para formas espec
e
a
cas del contorno que contiene las
ra
ces (circular en Suzuki, rectangular en Wilf y Collins), y muestran varios problemas, como que los mtodos de integracin numrica necesitan aritmtica de precisin
e
o
e
e
o
arbitraria [Knuth, 1981], y las sucesiones de Sturm requieren usar algn paquete de
u
algebra simblica.

o
En este trabajo se sigue otro enfoque, que puede remontarse hasta [Henrici, 1988],
basado en una muestra de puntos del contorno de la regin que contiene las ra
o
ces. El
mtodo descrito es aplicable a curvas genricas, sin necesidad de recurrir a precisin
e
e
o
mltiple. Se ha implementado y comparado con varios algoritmos de clculo de ra
u
a
ces,
con resultados favorables [Garc Zapata and D Mart 2008]. La comparacin se
a
az
n,
o
ha realizado tambin sobre los polinomios de alto grado que surgen en proceso de
e
seal.
n
Mtodos derivados del de Henrici se han usado en el clculo recursivo de ra
e
a
ces,
ya sea para aplicaciones prcticas [Snell and Milinazzo, 1993] o para estudios tericos
a
o
sobre la complejidad del clculo de ra [Renegar, 1987], [Pan, 1997]. En los trabajos
a
ces
de [Ying and Katz, 1988] o en [Ko et al., 2008] se encuentran enunciados precisos sobre
las condiciones en que se puede usar el
ndice de curvas planas en algoritmos de clculo
a
de ra
ces, y sugerencias sobre cmo gestionar los casos singulares.
o
Los mtodos tericamente ptimos del problema del clculo de ra
e
o
o
a
ces, en el sentido
de la complejidad computacional, son de tipo geomtrico [Pan, 1996b], [Ne and Reif,
e
1996b], [Schnhage, 1982], pero no estn muy extendidos en la prctica. Los MG son
o
a
a
ms dif
a
ciles de implementar que los mtodos iterativos, ya que requieren tipos de datos
e
para objetos geomtricos y variables complejas, y procedimientos de bsqueda en rbol
e
u
a
o de backtracking para el ujo de control [Brassard and Bratley, 1988]. Sin embargo,
los mtodos basados en relaciones geomtricas son vlidos para todos los polinomios.
e
e
a
Esta uniformidad permite un anlisis de la complejidad de tales mtodos. Esta es la
a
e
razn por la cual los estudios tericos de complejidad han sido la fuerza motriz en
o
o
el desarrollo de MG [Renegar, 1987]. Por ejemplo, supongamos que se requieren las
ra
ces de un polinomio hasta b bits, es decir con una precisin de 2b . El nmero de
o
u
multiplicaciones necesarias para extraer todas las ra de un polinomio de grado n,
ces

22

CAP
ITULO 1. INTRODUCCION

con esta precisin, es O(n2 log n log b) usando el MG de [Pan, 1997]. Para el mtodo
o
e
de Newton no existen semejantes estimaciones de coste, ni para otros MI (ver [Traub
and Woniakowski, 1979], [Forster, 1992]). Sin embargo en la prctica la mayor de
z
a
a
las aplicaciones de bsqueda de ra se basan en MI.
u
ces
Como se ha comentado, tradicionalmente los mtodos geomtricos se usaban como
e
e
una parte heur
stica en el proceso de hallar ra
ces de polinomios, en una fase previa
de separacin. En un fase posterior de aproximacin se usaban mtodos iterativos.
o
o
e
Las implementaciones de MG, por lo general, tambin incluyen, por eciencia, algn
e
u
mtodo iterativo que interviene al nal del clculo, como la aplicacin del mtodo
e
a
o
e
de Newton, cuando la bsqueda quadtree alcanza una subregin donde se da una
u
o
convergencia rpida.
a
Otros cambios que se hacen en las implementaciones prcticas de un MG genrico
a
e
estn relacionados con aspectos numricos de los tests de inclusin. En las implemena
e
o
taciones con aritmtica de coma otante, es decir, con una precisin nita ja, los
e
o
errores de redondeo se acumulan y hacen que el clculo pierda toda abilidad [Goura
don, 1993]. Sin embargo, en implementaciones con aritmtica de precisin arbitraria,
e
o
sin errores de redondeo, la precisin puede crecer indenidamente [Pan, 1997], y por
o
tanto los recursos computacionales necesarios. Estos problemas de precisin numrica
o
e
han sido un obstculo para el uso prctico de MG. En este trabajo se demostrar que
a
a
a
el
ndice de curvas planas puede calcularse con abilidad, identicando las curvas que
requerir ms recursos de los asignados, y usando el
an a
ndice en un MG eciente.
Este paso de mtodos iterativos a geomtricos, que requiere anlisis ms elaborae
e
a
a
dos, se da tambin en otras areas del clculo numrico: autovalores mediante divide-ye

a
e
vencers [Demmel, 1997], ramicacion y poda en programacin lineal [Padberg, 1999],
a
o
o descomposicin de dominio en resolucin de ecuaciones diferenciales [Toselli and
o
o
Widlund, 2005]. Para tener una mayor perspectiva de esta evolucin desde los mtoo
e
dos iterativos, basados en un bucle, hacia otros basados en recursividad, vamos a usar
un famoso ejemplo no numrico: el problema de la ordenacin de una lista. Los diversos
e
o
algoritmos conocidos para este problema pueden clasicarse tambin como iterativos
e
(basados en un bucle) o como recursivos. Los mtodos de bucle, como el algoritmo de
e
insercin, o el de la burbuja [Aho et al., 1983] producen resultados parciales ms ordeo
a
nados en cada iteracin, hasta llegar a la solucin (mediante sucesivas aproximaciones;
o
o
ms ordenado signica que contiene una sublista ordenada de mayor longitud). Los
a
mtodos recursivos (quicksort o mergesort) llegan a la solucin sin pasar por renae
o
mientos sucesivos, y son ms efectivos. Como contrapartida, para analizar el coste de
a
algoritmos de ordenacin iterativos es suciente con combinatoria elemental, mientras
o
que demostrar el menor coste de los algoritmos de ordenacin recursivos requiere tcnio
e

1.3. ANALISIS DE ALGORITMOS NUMERICOS

23

cas ms avanzadas de anlisis de sucesiones de recurrencia, como el teorema maestro,


a
a
o la frmula de Akra-Bazzi [Cormen et al., 2001]. Este cambio de paradigma, de iteo
rativo a geomtrico, que viene de la mano de una extensin de las herramientas de
e
o
anlisis, se da tambin en el clculo numrico, como muestran los ejemplos citados.
a
e
a
e

1.3.

Anlisis de algoritmos numricos


a
e

Tras dar una descripcin a grandes rasgos de los mtodos para hallar ra de poo
e
ces
linomios en el apartado anterior, en este haremos una comparativa en cuanto al coste.
Primero precisamos los conceptos relacionados con el coste de algoritmos numricos
e
(como precisin, condicionamiento y estabilidad). Luego comentamos brevemente el
o
coste de los algoritmos ms usados para hallar ra
a
ces, y posteriormente exponemos
aplicaciones que se dan en la prctica para las que el rendimiento de los mtodos
a
e
actuales no es suciente, y que motivan el desarrollo del presente trabajo.

Aproximacin, estabilidad, condicionamiento


o
Algunos algoritmos numricos calculan directamente el resultado deseado con un
e
nmero nito de operaciones sobre los datos de entrada, como por ejemplo el mtodo de
u
e
eliminacin de Gauss para calcular soluciones de sistemas de ecuaciones lineales. Otros
o
algoritmos numricos son aproximados, ya que obtienen aproximaciones al resultado,
e
que sern ms precisas cuantos ms recursos se dediquen. Estos recursos son princia
a
a
palmente tiempo de ejecucin del algoritmo. Hablando con propiedad, no se deber
o
an
denominar algoritmos ya que pueden no concluir en un nmero nito de pasos. Sin
u
embargo es habitual llamar algoritmos a estos procedimientos, no nitos, que forman
parte del anlisis numrico y la teor de la aproximacin [Williamson and Shmoys,
a
e
a
o
2011]. Los problemas numricos para los que slo se conocen algoritmos aproximae
o
dos son ms abundantes que los problemas con algoritmo exacto conocido. Adems,
a
a
incluso para problemas con algoritmo exacto, suele ser preferible usar un algoritmo
aproximado [Trefethen, 2010].
Para medir el coste de un algoritmo numrico aproximado no puede usarse el
e
nmero de operaciones hasta llegar al resultado, pues la nalizacin puede no llegar.
u
o
Lo que se usa es el nmero de operaciones realizadas para obtener una aproximacin
u
o
cuyo error sea menor que una tolerancia mxima preestablecida.
a
El error de la aproximacin x al valor x es e = |x x|, la diferencia (en valor
o

absoluto) entre la aproximacin y el valor buscado. Desde luego este error es descoo
nocido (como lo es el valor buscado), pero para cada algoritmo numrico aproximado
e

24

CAP
ITULO 1. INTRODUCCION

puede hallarse una cota superior del error de la aproximacin obtenida, en funcin de
o
o
los recursos dedicados. Esta cota de error es una funcin decreciente (a ms recursos,
o
a
menor error). Por ejemplo consideremos el problema de hallar un cero de una funcin
o
continua en el intervalo [a, b]. Un algoritmo aproximado para resolverlo es la biseccin
o
sucesiva, cuyo recurso tiempo puede medirse en cantidad de bisecciones realizadas. El
error en tras la biseccin n-sima verica en 2ba . Otro algoritmo aproximado para
o
e
n+1
este problema es el mtodo de Newton (si converge en ese intervalo [a, b]). Tambin
e
e
puede medirse el tiempo dedicado en iteraciones, y el error en tras la iteracin n-sio
e
C
ma es menor que 22n para cierta constante C. La cota del error de Newton decrece
ms rpidamente que la de biseccin. La cota de error es una medida de la efectivia a
o
dad del algoritmo: mientras ms rpidamente decrezca, el algoritmo requerir menos
a a
a
operaciones para bajar de un error mximo preestablecido.
a
El error de truncamiento es el que se produce al detener la ejecucin del algoritmo,
o
potencialmente innita, como en los dos ejemplos anteriores. Otra manera de limitar
los recursos de un algoritmo es la discretizacin o muestreo, en la que no se usan todos
o
los datos de entrada, sino slo los sucientes para producir la aproximacin. El error
o
o
de discretizacin es el cometido en este caso, por ejemplo al aproximar una integral
o
mediante una suma nita de Riemann, o mediante el mtodo de los trapecios. Como se
e
ha comentado, en el campo del anlisis numrico es fundamental dar, como medida del
a
e
coste de un algoritmo, una cota de su error de truncamiento en funcin del momento
o
de detencin, o de su error de discretizacin en funcin de la cantidad de datos usados.
o
o
o
Independientemente del error de truncamiento o de discretizacin, que viene de la
o
limitacin de recursos de ejecucin del algoritmo, est el error de redondeo, que viene
o
o
a
de la nitud de recursos usados para representar datos, normalmente datos numricos.
e
El redondeo es la conversin de un valor en un dato del tipo numrico que se va a usar
o
e
para representarlo. Se usa un recurso nito, como es la memoria, para representar un
conjunto de valores potencialmente innito, como los enteros, o realmente innitos

(en cuanto a recursos requeridos para su expresin), como 1/3 = 0 33, o 2. El tipo
o
numrico ms frecuente es el basado en coma otante. Una introduccin a este tipo de
e
a
o
dato es [Goldberg, 1991] y un estudio en profundidad [Higham, 2002]. Las implementaciones del tipo de dato coma otante siguen el standard IEEE 754-2008, adoptado
internacionalmente como IEC-60559, que permite diversos formatos, caracterizados
por su precisin (nmero de bits). Los formatos ms frecuentemente usados son preo
u
a
cisin simple y doble. La precisin de la mantisa es de 24 bits en simple, lo que quiere
o
o
decir que puede representar valores con un error menor que 1/224 (aproximadamente
7 2 cifras decimales). Por otro lado el exponente tiene 8 bits, con lo que puede tomar
valores entre -128 y 127 (aproximadamente 38 ordenes de magnitud decimales).

1.3. ANALISIS DE ALGORITMOS NUMERICOS

25

El standard especica cinco modos de redondeo [IEEE, 2008]: hacia abajo, al valor
mas cercano, etc. Vamos a usar como ejemplo una aritmtica decimal, y as 1/3 redone

deado a una precisin 1/100 = 0 01 de dos cifras decimales, por el modo de redondeo
o
hacia abajo, ser 0 33. El error de redondeo (la diferencia, en valor absoluto, entre un
a
valor y su redondeo) es 0 00333.... En general, se consigue error cero solo para ciertos
valores. El error de redondeo es menor que la precisin (en el ejemplo, 0 0033... < 0 01)
o
y, dependiendo del modo de redondeo, puede ser igual. El error de redondeo interviene
fundamentalmente en el redondeo de las operaciones en coma otante (suma, producto, inverso): a partir de unos operandos con un cierto error, el resultado de una
operacin, con la misma precisin, va a tener en general peor error.
o
o
Estas nociones se han recogido tradicionalmente, en teor de medida y operaciones
a
con magnitudes f
sicas [Taylor, 1997], considerando tres tipos de error: error de medida
de datos (que no vamos a considerar), error de truncamiento (o discretizacin) y error
o
de redondeo en las operaciones. Podr
amos decir que el error de medida reeja la
sensibilidad nita de los dispositivos de entrada de datos, el error de truncamiento (o
discretizacin) el nito tiempo disponible para cmputo, y el error de redondeo reeja
o
o
la nita memoria disponible para representar datos.
Adems de la anterior clasicacin de las fuentes de error, tambin es habitual
a
o
e
en el anlisis numrico hablar de la velocidad (u orden) de convergencia [Ralston
a
e
and Rabinowitz, 1978b]. Las aproximaciones pueden ponerse como una sucesin xn ,
o
si el algoritmo es iterativo (n es la aproximacin en la iteracin n-sima), o si este
x
o
o
e
procede por discretizacin (n es la aproximacin para una muestra de tamao n). En
o x
o
n
cualquiera de los dos casos la cota de error, decreciente con n, asegura la existencia de
un l
mite al que converge esa sucesin. Se dene el orden de convergencia, siendo en
o
la sucesin de errores de xn , como el exponente q tal que el l
o

mite:
en+1
l
m
=C
n eq
n
pertenece al intervalo (0, ). Equivalentemente, si el error en+1 es proporcional a eq ,
n
con constante de proporcionalidad independiente de n. El orden de convergencia mide
la velocidad a la que converge xn . En el ejemplo anterior de cotas de error, se ve que

el mtodo de la biseccin tiene orden q = 1, mientras que el mtodo de Newton tiene


e
o
e
q = 2. Se dice que q = 1 es un orden de convergencia lineal porque la representacin
o
grca de log(en ) frente a n es una recta, mientras que para orden cuadrtico, q = 2,
a
a
esa representacin es una parbola.
o
a
Como ejemplo, vamos a exponer un caso sencillo de algoritmo para el que vamos
a calcular su error de truncamiento y su error de redondeo. (Tambin nos referiremos
e
a este ejemplo posteriormente al hablar de estabilidad y condicionamiento). Consideremos el problema Dado u, hallar u/3, y un algoritmo iterativo que lo resuelve,


CAP
ITULO 1. INTRODUCCION

26

u xn1
consistente en aplicar repetidamente xn =
. Evidentemente, tal algoritmo slo
o
2
ser de inters prctico en un hipottico procesador en cuya aritmtica la operacin
a
e
a
e
e
o
de dividir entre tres sea muy costosa comparada con la divisin entre dos. Calculamos
o
por este algoritmo 1/3 y 10/3, ambos con condicin inicial, por ejemplo, x0 = 5 (en la
o
tabla 1.1).
n
0
1
2
3
4
5
6
7
8
9
10

1 xn1
2
5.0000
-2.0000
1.5000
-0.2500
0.6250
0.1875
0.4063
0.2969
0.3516
0.3242
0.3379

xn =

n
0
1
2
3
4
5
6
7
8
9
10

10 xn1
2
5.0000
2.5000
3.7500
3.1250
3.4375
3.2813
3.3594
3.3203
3.3398
3.3301
3.3350

xn =

Tabla 1.1: Aproximaciones a 1/3 y 10/3


Habr que hacer un anlisis para demostrar que este algoritmo converge (para ciera
a
tos valores iniciales), y para hallar su cota de error y orden de convergencia (necesaria
para saber cuantas iteraciones hacen falta para alcanzar una precisin preestablecida).
o
Por simplicidad no lo hacemos. Tambin por simplicidad redondeamos a una precisin
e
o
ja de cuatro cifras decimales. Al truncarlo en la iteracin dcima se tiene un error de
o e
en el primer ejemplo y 3 3350 10/3 = 0 0016

truncamiento de 0 3379 1/3 = 0 00456


en el segundo. Por otro lado, para el error de redondeo, aunque prolongsemos el ala
goritmo todo lo posible, anulando el error de truncamiento, el error de redondeo al

expresar el resultado (que es 0 00003) va a ser inevitable.


Para analizar algoritmos numricos de aproximacin llevados a cabo manualmente
e
o
era suciente estudiar el error de truncamiento (o el de discretizacin) para presupueso
tar el coste de ejecucin del clculo. El error de redondeo se evitaba aumentando la
o
a
precisin de algunas operaciones intermedias del algoritmo, si se ve necesario cuano
a
do se estaba llevando a cabo. Con la llegada de los ordenadores, para ejecutar los
algoritmos sin supervisin, es decir, como componentes de un sistema a los que soo
lo se accede por su interfaz, es necesario estudiar tambin la estabilidad [Wilkinson,
e
1964]. Los errores de redondeo en las operaciones que realiza un algoritmo alteran la

1.3. ANALISIS DE ALGORITMOS NUMERICOS

27

aproximacin, y la cota de error de truncamiento, que supone que no hay errores de


o
redondeo, quiz no es vlida. Es decir, los errores de redondeo pueden acumularse en
a
a
sucesivas iteraciones del algoritmo, impidiendo su convergencia. En tal caso se dice
que el algoritmo es inestable. Por ejemplo, el algoritmo propuesto para hallar u/3,
si redondeamos a dos cifras decimales, no converge a un valor jo (Tabla 1.2). Pero
se puede decir que es estable porque, an con ese redondeo, oscila entre valores que
u
no se apartan mucho del resultado deseado. Hay algoritmos para los que la oscilacin causada por el redondeo no solo retrasa la convergencia, sino que hace sucesivas
o
aproximaciones cada vez ms alejadas del valor deseado. Es decir, el redondeo puede
a
disminuir el orden de convergencia, o incluso impedirla.
n

1 xn1
redonxn =
2
deado a dos decimales

0
1
2
3
4
5
6
7
8
9
10
11
12

5.00
2.00
1.50
-0.25
0.62
0.19
0.40
0.30
0.35
0.32
0.34
0.33
0.34

Tabla 1.2: Aproximaciones a 1/3 con precisin de dos d


o
gitos
Por otro lado, el condicionamiento es la dependencia del resultado del problema
con respecto a los datos de entrada [Wilkinson, 1965]. Una pequea variacin del
n
o
resultado ante pequeas variaciones de la entrada signica un buen condicionamienn
to del problema, y en cambio fuertes variaciones del resultado se consideran un mal
condicionamiento. No depende del algoritmo. El problema de hallar u/3 est bien cona
dicionado. Un ejemplo de problema similar, pero mal condicionado, es hallar 1/(u 1).
Este problema est mal condicionado alrededor de u = 1, donde un pequeo cambio
a
n
en u puede producir un cambio muy grande en la respuesta, sea cual sea la precisin
o
con que la representemos o el algoritmo que usemos para calcularla.


CAP
ITULO 1. INTRODUCCION

28

En resumen, el coste del algoritmo numrico se ve inuenciado por el tamao


e
n
de entrada pero tambin por el error mximo que se tolera en la aproximacin a la
e
a
o
solucin. Como se ve tras estas consideraciones, para lograr la respuesta con un cierto
o
error mximo, tenemos que trabajar con una precisin que no solo depende de este
a
o
error, sino tambin del condicionamiento del problema y de la estabilidad del algoritmo
e
que usemos. Esto se aparta tanto del anlisis de algoritmos clsico como de la teor
a
a
a
de medida de magnitudes [Trefethen and Bau III, 1997]. Un estudio con ejemplos de
algoritmos numricos, con su coste, puede verse en [Emiris et al., 2010].
e

Coste de algoritmos para ra


ces
Los algoritmos para hallar ra
ces de polinomios, al ser de aproximacin, estn
o
a
sujetos a estas interrelaciones error mximo demandado-condicionamiento por un lado,
a
precisin de trabajo-estabilidad por otro. Sin embargo, el tratamiento terico clsico
o
o
a
se ha centrado en el estudio de la cota de error (y la correspondiente velocidad de
convergencia). Siguiendo las referencias estndar de clculo numrico (ver [Ralston
a
a
e
and Rabinowitz, 1978b] en general o [Henrici, 1988] en particular para ra
ces), se
pueden comparar los mtodos iterativos (MI) y los mtodos geomtricos (MG) segn
e
e
e
u
los siguientes criterios:
Cotas de error (y velocidad de convergencia): Los MG suelen tener una convergencia lineal (orden q = 1), mientras que los MI tienen convergencia ms rpida,
a a
de orden q > 1. Esto es un punto fuerte de los MI, como puede verse en el nmero
u
de bits correctos de la aproximacin n-sima. Este es el nmero de posiciones
o
e
u
iniciales en la expresin binaria de la aproximacin que coinciden con la expreo
o
sin binaria de la solucin. En el ejemplo anterior del mtodo de la biseccin, de
o
o
e
o
convergencia lineal, en+1 es la mitad de en , es decir en cada paso la aproximacin incrementa en uno el nmero de sus bits correctos. En cambio el mtodo
o
u
e
de Newton, de convergencia cuadrtica (orden q = 2), en+1 es aproximadamente
a
2
en , es decir el nmero de bits correctos se dobla en cada paso.
u
Convergencia local o global: Normalmente, para que se verique el decrecimiento
de la cota de error de un MI, es necesario que este se inicie con una estimacin
o
previa bastante cercana a la solucin. Se dice que converge localmente, o en un
o
entorno de la solucin. Los MG, en cambio, suelen tener convergencia global: el
o
error decrece aunque la estimacin inicial est alejada de la solucin. Este es el
o
e
o
punto fuerte de los MG.
Convergencia condicional: Los MI suelen tener un conjunto de entradas para los

1.3. ANALISIS DE ALGORITMOS NUMERICOS

29

que no convergen. Por ejemplo el mtodo de Newton no es vlido para polinomios


e
a
con ra
ces mltiples. Esta es otra restriccin para la convergencia de los MI
u
o
(adems de la localidad). Los MG en cambio convergen incondicionalmente.
a
En resumen, los MI suelen ser locales, condicionales, de convergencia de orden 2 o
ms. Los MG son globales, incondicionalmente convergentes, y de convergencia lineal.
a
A pesar del fundamento terico de los MI (por ejemplo para el mtodo de Newton,
o
e
la teor clsica de Kantorovich [Ralston and Rabinowitz, 1978a], o la teor de
a a
a
Smale [Blum et al., 1998]), la condicionalidad de la convergencia hace que, en general,
estos mtodos no se consideren completos (es decir, validos en todos los casos). No se
e
conoc algoritmos completos, es decir, de convergencia no condicional hasta 1924,
an
con los trabajos de Brouwer y Weyl [Pan, 1997] sobre MG. Para MI, tampoco se ha
precisado la globalidad de la convergencia (es decir, que no se necesiten estimaciones
previas). Aportes al estudio de la convergencia global han sido los de [Smale, 1981]
en el mtodo de Newton, [Pan, 1987], [Toh and Trefethen, 1994] para el mtodo de la
e
e
matriz compaera, o [Dickenstein and Emiris, 2005] para los mtodos de prolongacin
n
e
o
homotpica.
o
Al estudiar los algoritmos disponibles, el inters de los investigadores se ha centrae
do en los puntos anteriores, sobre todo la cota de error, y en cambio el coste (desde
el punto de vista de los recursos necesarios) no se ha estimado adecuadamente como
arma [Pan, 1997]. Intentos de paliar esa situacin son los trabajos sobre el teorema
o
fundamental del algebra(que es como se conoce al problema de hallar ra de poli
ces
nomios) de [Smale, 1981] y [Schnhage, 1982] para MI y MG respectivamente. Analizar
o
la complejidad computacional de este problema ha sido una motivacin para el desao
rrollo de los MG [Renegar, 1987]. Como se ha comentado, estos estudios son clsicos
a
en el sentido de que no suelen considerar la estabilidad numrica de los mtodos y el
e
e
condicionamiento del problema. La estabilidad de la evaluacin de polinomios en coma
o
otante se analiza en [Toh and Trefethen, 1994]. Ante la dicultad de anlisis se recua
rre a comparativas experimentales [Jenkins and Traub, 1975], como por ejemplo [Bini
and Fiorentino, 2000] o [Zeng, 2004].
Desde el punto de vista prctico, la localidad de la convergencia es una importante
a
desventaja de los MI: la posicin de la ra encontrada no esta relacionada con la
o
z
estimacin inicial [Blum et al., 1998]. Esto puede ser representado en una grca de
o
a
cuencas de atraccin. La cuenca de atraccin de una ra (para el mtodo de Newton)
o
o
z
e
es el conjunto de valores complejos z tales que el mtodo converge a esa ra si la
e
z,
iteracin comienza con el valor inicial z. Se dice que una ra atrae los puntos que
o
z
convergen hacia ella. Las cuencas de dos ra
ces distintas son subconjuntos disjuntos
del plano. Representamos las cuencas de las ra de un polinomio de grado 31 en la
ces


CAP
ITULO 1. INTRODUCCION

30

gura 1.5. Es la regin plana |Re(z)| < 12, |Im(z)| < 12. Las ra
o
ces estn sealadas
a
n
con asteriscos. El mtodo de Newton se aplica una vez para cada pixel de la gura.
e
La estimacin inicial es el valor complejo correspondiente a la posicin de este pixel.
o
o
Luego cada pixel es coloreado con un nivel de gris, segn la ra a la que converge.
u
z
As cada cuenca queda coloreada con un nivel de gris diferente.

1.2
1
0.8
0.6
0.4
0.2
0
0.2
0.4
0.6
0.8
1

1.2

0.8 0.6 0.4 0.2

0.2

0.4

0.6

0.8

Figura 1.5: Cuencas de atraccin para el mtodo de Newton aplicado a un


o
e
polinomio de grado 31. Los asteriscos marcan las ra
ces, y los niveles de gris
las cuencas.
En la gura, las fronteras entre cuencas muestran puntos cuyo color es diferente del
de sus puntos prximos. Un punto tal converge a una ra situada lejos de las ra
o
z
ces
correspondientes a puntos cercanos. As la ra hacia la que un punto converge es
,
z

1.3. ANALISIS DE ALGORITMOS NUMERICOS

31

imprevisible. Esta indeterminacin de la convergencia es caracter


o
stica de los MI. Es
un fenmeno de dependencia sensible de condiciones iniciales, y no puede ser evitado
o
aumentando la precisin numrica [Kalantari, 2009].
o
e
En este contexto, para encontrar, por ejemplo, las ra cerca de la circunferencia
ces
unidad con un MI de uso comn, es necesario hallar todas las ra
u
ces, y seleccionar
las que sean de inters. Para evitar hallar repetidamente la misma ra cada una
e
z,
encontrada se elimina del polinomio dividiendo por un factor lineal (procedimiento
llamado deacin). Los pasos de deacin requieren aritmtica de alta precisin, que
o
o
e
o
es computacionalmente costosa [Ralston and Rabinowitz, 1978a]. En contraste, el uso
de pasos de deacin (y por tanto de alta precisin) no es necesario en MG. Adems,
o
o
a
si el rea de inters es relativamente reducida, y contiene pocas ra
a
e
ces, un MG evita
gastar clculo en ra
a
ces no deseadas. Muchas aplicaciones prcticas se beneciar
a
an
mtodos que permitan centrar la bsqueda de ra en una regin pre-especicada del
e
u
ces
o
plano complejo (vase [Sitton et al., 2003, Van Dooren, 1994] y sus referencias). Esta
e
capacidad de los MG, y el ahorro computacional consiguiente con respecto a los MI,
es una motivacin prctica para su estudio [Pan, 2012].
o
a
Con respecto a las demandas actuales, la linealizacin de los modelos (es decir,
o
reemplazar cada operacin o relacin por una aproximacin mediante matrices) suele
o
o
o
servir para sortear la necesidad de hallar ra
ces de polinomios de grado mayor que
10 [Pan, 1997]. Sin embargo, hay ambitos donde se requiere el clculo de ra de po
a
ces
linomios de alto grado (del orden de varios cientos o miles). Pueden verse referencias
sobre la necesidad de hallar ra de polinomios de alto grado en proceso de seal [Sitces
n
ton et al., 2003] o en robtica (el problema cinemtico inverso [Craig, 2005], [Sommese
o
a
and Wampler, 2005]) o teor de antenas [Orchard et al., 1985]. Tambin en las refea
e
rencias de [Bini and Pan, 1994] y [Huang, 2004]. Con respecto a los sistemas de algebra

computacional, o algebra por ordenador (Computer algebra systems, CAS [Aho et al.,

1983]), surge la necesidad de hallar ra al resolver sistemas de polinomios mediante


ces
el mtodo de eliminacin, tericamente ptimo para esta tarea. Como no se dispone
e
o
o
o
de un algoritmo able para ra
ces, en la prctica se usan las bases de Grobner y el
a
politopo de Newton, que no son mtodos optimos para sistemas de polinomios. Otros
e

problemas algebraicos que se beneciar de un algoritmo able para ra


an
ces son la
factorizacin de polinomios en coecientes racionales (que se relaciona con la aproxio
macin diofntica), y el clculo del mximo comn divisor (referencias en [Pan, 1997]
o
a
a
a
u
y [Dickenstein and Emiris, 2005]).
En nuestro trabajo [Garc Zapata et al., 2004b] nos enfrentamos a una situacin
a
o
(con polinomios de grado en torno a varias decenas) en la que un mtodo geomtrico es
e
e
mejor que uno iterativo. La ventaja se deriva principalmente de que en muchos casos no

32

CAP
ITULO 1. INTRODUCCION

se necesita encontrar todas y cada una de las ra de un polinomio, sino slo aquellas
ces
o
que satisfacen ciertas condiciones. En aplicaciones de procesado de seales, como se
n
describe en la seccin anterior, el anlisis LPC produce una funcin de transferencia
o
a
o
1
, el modelo de la seal. Las ra del polinomio denominador A(z) estn
n
ces
a
H(z) =
A(z)
dentro del c
rculo unidad, por la estabilidad del modelo, y las ra
ces ms cercanas a
a
la circunferencia estn relacionados con los componentes de frecuencia principales de
a
la seal [Oppenheim et al., 1996]. Por ejemplo, el polinomio de la gura 1.5 proviene
n
del anlisis LPC de una seal de voz. Estamos interesados en encontrar las ra
a
n
ces
complejas de polinomios que estn situadas cerca de la circunferencia de la unidad,
e
hasta una distancia que depende del grado de modelado LPC. Esto nos ha llevado a
considerar MG para resolver este problema. En el campo del procesamiento de seal
n
se usan varios mtodos iterativos para encontrar las ra
e
ces de mayor mdulo, como
o
Graee o Bernoulli [Ralston and Rabinowitz, 1978a]. Sin embargo, el alto grado de
los polinomios de inters para nosotros, y la compleja casu
e
stica que requieren estos
mtodos, son dos caracter
e
sticas que dicultan su aplicacin.
o

Es el objetivo de esta memoria precisar las condiciones bajo las cuales puede aplicarse ecientemente un procedimiento de extraccin de ra
o
ces, capaz de restringirse a
una zona de inters en el plano complejo, aplicable en el ambito de la codicacin lineal
e

o
predictiva para la deteccin y seguimiento de formantes. En el cap
o
tulo 2 introducimos
un mtodo para calcular el
e
ndice, el nmero de vueltas que da una curva plana alredeu
dor del origen, y en el cap
tulo 3 se usa el
ndice como criterio de la presencia de ra
ces
de un polinomio en una regin del plano. Tambin se desarrolla un mtodo recursivo
o
e
e
de subdivisin de regiones usando este criterio para hallar las ra
o
ces. Finalmente en el
cap
tulo 4 se realiza una comparativa del mtodo propuesto con otros ms usados en
e
a
la prctica para tareas similares de proceso de seal.
a
n

Cap
tulo 2
Desarrollo y estudio terico de un
o
mtodo geomtrico para calcular el
e
e

ndice de una curva plana


2.1.

El
ndice de una curva y el clculo de ra
a
ces

El
ndice de una curva plana cerrada es el nmero de vueltas que da alrededor
u
del origen. Su valor puede ser calculado aplicando la formula integral de Cauchy (un
resultado de Anlisis Complejo) como:
a
1
dz
2i z
El
ndice se ha usado en varios procedimientos para calcular las ra de un polinoces
mio f , basndose en el hecho de que el nmero de ra contenidas en una regin del
a
u
ces
o
plano complejo bordeada por una curva coincide con el
ndice de la curva =f ().
Si este
ndice es positivo, la regin contiene una o varias ra
o
ces. Si se divide en regiones
ms pequeas, y se calcula el
a
n
ndice de la transformacin por f del borde de cada una
o
de ellas, se tiene una localizacin ms precisa de las ra
o
a
ces. Aplicando esta subdivisin recursivamente a las regiones que contengan alguna ra puede alcanzarse una
o
z,
aproximacin a las ra de f con la precisin que se quiera [Henrici, 1988]. Un proceo
ces
o
dimiento similar se ha propuesto para hallar los ceros de funciones anal
ticas [Kravanja
and Van Barel, 2000].
En los trabajos de [Ying and Katz, 1988] o en [Ko et al., 2008] se encuentran enunciados precisos sobre las condiciones en que podemos usar el
ndice en algoritmos de
clculo de ra
a
ces, y sugerencias sobre como gestionar los casos singulares. Pero el estudio de la complejidad de estos mtodos, esencial para compararlos con los tradicionales,
e
no se ha llevado a cabo. Nos proponemos llenar ese hueco.
Ind() =

33

34

CAP
ITULO 2. CALCULO DEL
INDICE DE UNA CURVA

Con este propsito, mostraremos que la distancia de la curva al origen de cooro


denadas es una medida del coste computacional del clculo del
a
ndice. Llamamos a
esta distancia el valor de singularidad de . En particular, en el uso del
ndice para
calcular las ra de un polinomio f, el valor de singularidad de = f () es equivaces
lente a la distancia desde a las ra
ces de f . Las referencias mencionadas comentan
la inuencia de esta distancia en el coste, pero carecen de una expresin precisa de
o
su dependencia, como la que damos ms adelante. Adems, damos cotas del coste del
a
a
manejo de casos singulares, que surgen cuando se aplica el algoritmo de clculo del
a

ndice como subprocedimiento recursivo en un algoritmo para clculo de ra


a
ces.
El valor de singularidad de es el factor principal en el coste del algoritmo. El
rec
proco de este valor puede compararse con el nmero de condicin de una matriz,
u
o
en clculo numrico lineal. Ambos son una medida del mal condicionamiento de los
a
e
datos de entrada. Por ejemplo, el coste de una inversin matricial con una precisin
o
o
predenida crece proporcionalmente al nmero de condicin de la matriz [Golub and
u
o
Van Loan, 1996]. De modo similar, el coste de un clculo de
a
ndice crece con el rec
proco
del valor de singularidad.
Ms all de su inters terico, es necesario un estudio del valor de singularidad para
a
a
e o
el uso del
ndice en aplicaciones de clculo de ra
a
ces, porque surgen contornos singulares en la subdivisin recursiva de la regin plana. En el tratamiento de estos casos
o
o
reemplazamos el contorno singular por otro, situado a corta distancia, con mejor valor
de singularidad. Esta tcnica de desv es similar a la propuesta en [Ying and Katz,
e
o
1988], pero provistos con nuestros resultados sobre el valor de singularidad podemos
aplicarlo en el seno de un procedimiento recursivo, y por tanto podemos tratar curvas
con una singularidad arbitraria, como aparece en [Garc Zapata and D Mart
a
az
n,
2014] y se describe en el cap
tulo 3.
En la siguiente seccin exponemos el algoritmo para clculo del
o
a
ndice llamado Procedimiento de Insercin (PI, gura 2.6). Luego estudiamos su coste computacional, y
o
lo expresamos en funcin del valor de singularidad de la curva en la hiptesis de que
o
o
esta est uniformemente parametrizada, y en la siguiente seccin desarrollamos un esa
o
tudio similar para curvas Lipschitzianas, ms generales. En la seccin 2.5 modicamos
a
o
ese algoritmo base y enunciamos una condicin necesaria para que el nuevo algoritmo
o
cuente los giros de cualquier tamao alrededor del origen (Procedimiento de Insercin
n
o
Vlido para cualquier secuencia inicial, PIV, gura 2.13). La seccin 2.6 introduce un
a
o
control, con el propsito de que el algoritmo resultante pueda aplicarse a curvas con
o
un valor de singularidad arbitrario desconocido a priori (Procedimiento de Insercin
o
con Control de Singularidad, PICS, gura 2.17).


2.2. DEFINICIONES Y PROCEDIMIENTO DE INSERCION

2.2.

35

Deniciones y procedimiento de insercin


o

Vamos a considerar curvas cerradas denidas paramtricamente, es decir, como


e
aplicaciones de un intervalo real al plano complejo : [a, b] C con (a) = (b).
Como es usual en el estudio de curvas parametrizadas, dos curvas 1 : [a, b] C
y 2 : [c, d] C con la misma imagen Im(1 ) = Im(2 ) pueden verse como
dos parametrizaciones de un mismo subconjunto de C. Recurdese que una curva
e
: [a, b] C es uniformemente parametrizada si la longitud de un arco de la curva
coincide con la longitud del intervalo de sus valores de parmetro, es decir, si para cada
a
y
d(t). Esta ultima integral es la longitud de arco

x, y [a, b], se tiene que |y x| =


x

longarc(([x, y])). Toda curva diferenciable a trozos puede parametrizarse uniformemente [Kolmogorov and Fomn, 1975]. Esto es, para cualquier curva : [a, b] C
hay otra curva u : [0, longarc()] C con Im() = Im(u ) y u uniformemente
parametrizada.
Tambin consideraremos curvas Lipschitzianas (esto es, vericando que hay una
e
constante L con |(y) (x)| L|y x| para cada x, y [a, b]). Las curvas uniformemente parametrizadas son un caso particular de las Lipschitzianas, con L = 1.
El ndice, o nmero de vueltas al origen, Ind() de una curva : [a, b] C, es el

u
nmero de rotaciones completas que da la curva alrededor del punto (0, 0) en sentido
u
contrario a las agujas del reloj. Vase la gura 2.1.
e

Figura 2.1: Los


ndices de las curvas 1 y 2 son Ind(1 ) = 1 y Ind(2 ) = 2.
Como caso particular de la frmula de Cauchy de anlisis complejo, el
o
a
ndice es
igual a la siguiente integral de l
nea:
Ind() =

1
2i

1
dw
w

El concepto de
ndice se aplica en el principio del argumento [Henrici, 1988], que
arma que el nmero de ceros (contados con multiplicidad) de una funcin anal
u
o
tica

36

CAP
ITULO 2. CALCULO DEL
INDICE DE UNA CURVA

f : C C, w = f (z), dentro de una regin con borde denido por la curva , es


o
igual al
ndice de la curva = f () (ver gura 2.2). El principio del argumento puede
ser visto como un anlogo bidimensional del teorema de Bolzano, y es la base varios
a
mtodos recursivos para hallar los ceros de funciones holomorfas y, en particular, ceros
e
de polinomios.
Notemos que el
ndice de la curva no est denido si pasa por el origen (0, 0)
a
1
dw no existe. En este caso, se dice que es una curva singular.
ya que la integral
w
Si = f (), esto es equivalente a que pase por un cero de f . Dado un valor real
0, decimos que una curva es -singular si su distancia m
nima al origen es . Las
curvas 0-singulares son las que se han llamado previamente singulares para la integral
del
ndice. La frmula de Cauchy no es aplicable a curvas 0-singulares.
o

Plano z

Plano w

Figura 2.2: El nmeros de ra


u
ces del polinomio f (z) = z 3 + 1 dentro de 1 y 2 es
igual a los
ndices de 1 = f (1 ) y 2 = f (2 ), respectivamente.
Como se ha comentado en la introduccin, adoptamos el enfoque de Henrici [Henrio
ci, 1988] como alternativa frente a la integracin numrica de la integral del
o
e
ndice. Por
tanto, trabajaremos con aproximaciones poligonales de la curva , esto es, conjuntos
discretos de puntos complejos dispuestos en un cierto orden: Para cualquier secuencia
de valores del parmetro si [a, b], (a = s0 , . . . , sn = b) con s0 < s1 < < sn , la
a

aproximacin poligonal es n = ((s0 ), . . . , (sn )). La gura 2.3 muestra una curva
o
con una de sus aproximaciones poligonales.
Dada una secuencia S = (s0 , . . . , sn ) de valores crecientes, si < si+1 , i = 0, . . . , n1,
llamamos su paso mximo |S| a la mxima diferencia entre valores consecutivos, esto
a
a


2.2. DEFINICIONES Y PROCEDIMIENTO DE INSERCION

37

Figura 2.3: La curva es aproximada por la poligonal 18 con una resolucin de 18


o
puntos.

es: |S| = mx (si+1 si ).


a
0in1

El plano complejo se divide en sectores angulares, de ngulo . Hay ocho de tales


a
4
sectores, llamados C0 , C1 , C2 , . . . , C7 , cada uno la mitad que resulta de cortar un cuadrante por su bisectriz. Para ser preciso, cada borde entre sectores adyacentes, Cx y
Cx+1 , est incluido en Cx+1 para x = 0, . . . , 6, y el borde entre C7 y C0 est incluido
a
a
en C0 .
Decimos que dos puntos p, q de la curva estn conectados si estn situados en
a
a
dos sectores adyacentes o en el mismo sector, esto es, si p, q Cx Cx+1 para algn
u
x. Equivalentemente, si cuando p Cx y q Cy entonces y = x 1 (o y = x).
Como los sectores C7 y C0 son adyacentes, las igualdades deben entenderse como una
congruencia aritmtica mdulo 8.
e
o
Consideremos los bordes que delimitan los sectores C0 , . . . , C7 . Para cada segmento
de curva ([si , si+1 ]), decimos que cruza N bordes si el intervalo de parmetros contiene
a
como mucho N valores fj , j = 1, . . . , N , con si f1 < f2 < . . . < fN si+1 , cuyas
imgenes (fj ) pertenezcan a algn borde. Por ejemplo en la gura 2.4 hay varios
a
u
segmentos con el nmero de bordes que cruza cada uno.
u

38

CAP
ITULO 2. CALCULO DEL
INDICE DE UNA CURVA

Figura 2.4: Segmentos de curva con el nmero N de bordes que cruzan.


u
Supongamos que la curva tiene un
ndice denido, esto es, que no cruza el origen.
Entonces es seguro que hay una secuencia (t0 , t1 , . . . , tm ) de valores del parmetro
a
t [a, b], a = t0 < t1 < . . . < tm = b cuyas imgenes por la aplicacin estn
a
o
a
conectadas, como muestra la gura 2.5.
Decimos que un pol
gono de vrtices (ti ) , i = 0, 1, . . . , m satisface la propiedad
e
de conexin si cada par de puntos consecutivos (ti ) y (ti+1 ) estn conectados.
o
a
Si conseguimos por algn mtodo una secuencia de puntos ((t0 ), (t1 ), . . . , (tm ))
u
e
que verica la propiedad de conexin, su

deniendo un pol
gono m
o
ndice Ind(m )
es igual al nmero de puntos (ti ) en C7 que estn seguidos por un punto (ti+1 ) en
u
a
C0 . La ocurrencia de un sector C0 seguido por C7 debe contarse negativamente. Esto

es, Ind(m ) = #(cruces de C7 a C0 ) #(cruces de C0 a C7 ).


Henrici no especic el procedimiento para encontrar los valores del parmetro
o
a
(t0 , t1 , . . . , tm ), ni precis las condiciones bajo las cuales el
o
ndice del pol
gono de apro coincide con el de la curva original . En el trabajo [Ying and Katz,
ximacin m
o


2.2. DEFINICIONES Y PROCEDIMIENTO DE INSERCION

39

Figura 2.5: Las imgenes de los valores sucesivos ti , ti+1 estn conectadas.
a
a

1988] se propone tal procedimiento, con un coste computacional razonable. Consiste en construir la secuencia buscada a partir de una secuencia inicial de valores del
parmetro, (a = s0 , . . . , sn = b), de la curva , cuyas imgenes no verican necesaa
a
riamente la propiedad de conexin, esto es, que quizs, para algn i, las imgenes de
o
a
u
a
si y si+1 no estn conectadas. Se recorre la secuencia de valores (. . . , si , . . . ) desde su
a
inicio s0 , hasta que se encuentra un par (si , si+1 ) de valores consecutivos cuyas imgea
nes (si ) Cx y (si+1 ) Cy no estn conectadas. En esta situacin se inserta un
e
o
si + si+1
valor de interpolacin
o
en la secuencia de parmetros (s0 , . . . , sn ) entre si y
a
2
si+1 . Despus se recorre de nuevo la secuencia resultante (s0 , . . . , sn+1 ) hasta que se
e
a
e
encuentre otro par (sj , sj+1 ) cuyas imgenes no estn conectadas, y otra vez se inserta
un punto intermedio como se ha descrito. Iterando este proceso, se llega nalmente
a una secuencia T = (t0 , ..., tm ), m n, cuyas imgenes verican la propiedad de la
a
conexin. Este procedimiento est denido en la gura 2.6.
o
a
El Procedimiento de Insercin recorre la secuencia de izquierda a derecha, de modo
o
que los puntos necesarios para conectar si y si+1 se insertan antes que los que van entre

40

CAP
ITULO 2. CALCULO DEL
INDICE DE UNA CURVA
Procedimiento de Insercin: Para hallar el
o
ndice de una curva
: [a, b] C
Parmetros de entrada: La denicin anal
a
o
tica de la curva ,
(0)
y una secuencia S = (s0 , . . . , sn ), de valores crecientes s0 < s1 <
. . . < sm , de [a, b] con a = s0 y b = sn .
Salida: Una secuencia (t0 , . . . , tm ) cuyas imgenes verican la
a
propiedad de la conexin.
o
Mtodo:
e
Asignar a k el valor 0. (k es un contador de iteraciones);
Mientras S (k) = (s0 , . . . , si , si+1 , . . . , sn+k ) tenga dos valores
e
consecutivos cuyas imgenes (si ) y (si+1 ) no estn conectadas
a
(encontrados recorriendo la secuencia de izquierda a derecha) hacer:
s + si+1
{ Insertar i
entre si y si+1 ; esto es, S (k+1) =
2

si + si+1
, si+1 , . . . , sn+k ;
s0 , . . . , s i ,
2
Incrementar k;
}
Retornar la secuencia resultante.
Figura 2.6: Procedimiento de insercin (Ying y Katz).
o

si+1 and si+2 .


Este procedimiento de insercin de puntos de interpolacin presenta dos inconveo
o
nientes que dicultan su aplicacin prctica en el clculo del
o
a
a
ndice. En primer lugar,
no acaba en un nmero nito de pasos en ciertos casos. Discutimos esto en las secciones
u

2.3 y 2.4. En segundo lugar, Ind(m ) coincide con el


ndice de solo bajo ciertas su
posiciones. La seccin 2.5 trata esta cuestin de la coincidencia de Ind(m ) y Ind().
o
o
En la seccin nal de este cap
o
tulo modicamos el procedimiento de insercin para
o
producir un algoritmo, nito y analizable, para el clculo del
a
ndice.

2.3.

Coste del procedimiento de insercin para curo


vas uniformemente parametrizadas

Si la curva cruza el origen (es decir, es una curva singular) el procedimiento de


insercin no puede acabar, porque no hay ninguna secuencia de puntos con la propiedad
o
de conexin. Adems, aunque no sea singular, si la curva pasa lo sucientemente cerca
o
a
del origen, el nmero de inserciones puede ser arbitrariamente alto. El propsito de
u
o

2.3. COSTE PARA CURVAS UNIFORMES

41

este apartado es dar un enunciado preciso de este hecho, en el teorema 1 ms abajo.


a
Supongamos que se aplica el procedimiento de insercin con secuencia inicial S (0) =
o
(s0 , . . . , sn ). Concentrmonos en un intervalo [si , si+1 ] cuya imagen, el segmento de
e
curva ([si , si+1 ]), tenga sus extremos no conectados (ver la gura 2.7). Denotaremos
con Cx al sector que contiene (si ), y pk al k-simo punto resultante de una insercin
e
o
del procedimiento entre (si ) y (si+1 ), k = 1, 2, . . . . Tambin denotaremos uk al
e
(k)
valor del parmetro tal que pk = (uk ), as que S = (s0 , . . . , si , . . . , uk , . . . , si+1 ,
a

. . . , sn ).

Figura 2.7: La secuencia de parmetros producida por el procedimiento de insercin


a
o
(4)
en esta curva es S = (. . . , si , u2 , u4 , u3 , u1 , si+1 , . . . ). El siguiente punto de insercin
o
p5 va entre p2 y p4 .
Notemos que las inserciones uk en la secuencia de parmetros no se hacen nea
cesariamente en orden creciente, es decir, no necesariamente uk < uk+1 . Para gestionar esta impredicibilidad del punto de insercin, la secuencia de puntos se denoo
(k)
tar (S ) = (. . . , (si ), . . . , pk , . . . , (si+1 ), . . . ), y llamaremos q1 y q2 a los primeros
a
puntos no conectados encontrados en esta secuencia en el escaneo izquierda-derecha que
hace el procedimiento de insercin: (S (k) ) = (. . . , (si ), . . . , q1 , q2 , . . . , (si+1 ), . . . ).
o
A pesar de esta expresin, es posible que q1 = (si ) o q2 = (si+1 ), o que q1 o q2
o

42

CAP
ITULO 2. CALCULO DEL
INDICE DE UNA CURVA

sean iguales a pk . Supongamos que ningn punto de la secuencia (S (k) ) entre (si )
u
y (si+1 ) pertenece a Cx1 ni a Cx+1 , los sectores adyacentes al que contiene (si ).
En tal caso tenemos que q1 Cx y q2 (Cx1 Cx Cx+1 )c . Esto es porque el procedimiento de insercin recorre la secuencia en orden creciente del valor del parmetro,
o
a
(k)
y por tanto los puntos del segmento ((si ), . . . , q1 ) de (S ) deben pertenecer todos
a Cx (ya que estn conectados, (si ) Cx , y no hay puntos en Cx1 ni en Cx+1 ). Y
a
por tanto el punto no adyacente q2 debe pertenecer a un sector no adyacente, esto es,
q2 (Cx1 Cx Cx+1 )c .
La siguiente proposicin formaliza este razonamiento, llamando Ik al segmento de
o
curva que une pk con el punto previo de la secuencia, y Ik al segmento de curva que
une pk con el punto siguiente. Se dene I0 = I0 = ([si , si+1 ]). Por ejemplo, como
p1 = (u1 ), tenemos que I1 = ([si , u1 ]) y I1 = ([u1 , si+1 ]) (ver gura 2.8).

a
Figura 2.8: Los puntos (si ) y (si+1 ) y los intervalos Ik y Ik estn marcados.
Como notacin, en la siguiente proposicin el conjunto de puntos {p1 , p2 , . . . , pk1 }
o
o
debe entenderse como {p1 , p2 } cuando k = 3, {p1 } cuando k = 2 y el conjunto vac
o
cuando k = 1.

2.3. COSTE PARA CURVAS UNIFORMES

43

Proposicin 1. Supongamos que (si ) y (si+1 ) no estn conectados. Para k =


o
a
1, 2, . . . , si los sectores Cx1 y Cx+1 no contienen ningn punto de p1 , p2 , . . . , pk1 ,
u
entonces se verica:
a) Si pk pertenece a Ck , entonces Ik tiene un extremo en Cx y el otro en (Cx1
Cx Cx+1 )c .
b) Si pk pertenece a (Cx1 Cx Cx+1 )c , entonces Ik tiene un extremo en Cx y el
otro en (Cx1 Cx Cx+1 )c .
Demostracin. Como los puntos de insercin p1 , p2 , . . . , pk1 no estn contenidos en
o
o
a
Cx1 ni en Cx+1 , por el razonamiento anterior los puntos q1 = (v1 ) y q2 = (v2 )
encontrados primero por el escaneo izquierda-derecha del procedimiento de insercin
o
c
deben vericar q1 Cx y q2 (Cx1 Cx Cx+1 ) . Por tanto, si pk Cx , entonces
o
Ik = ([uk , v2 ]) verica la armacin a). De modo parecido si pk (Cx1 Cx Cx+1 )c ,
entonces Ik = ([v1 , uk ]) verica la armacin b).
o

Para proseguir la argumentacin, necesitamos una hiptesis adicional sobre . En


o
o
esta seccin supondremos que : [a, b] C es uniformemente parametrizada (esto
o
y

es, para cada x, y [a, b], |y x| =

d(t)).
x

Llamamos M a la longitud de arco del segmento, M = longarc (([si , si+1 ])). Si


suponemos que es uniformemente parametrizada, tenemos que M = (si+1 si )
[Kolmogorov and Fomn, 1975].
Proposicin 2. Si k es tal que los sectores Cx1 y Cx+1 no contienen ningn punto
o
u
de p1 , p2 , . . . , pk1 , pk , entonces pk+1 es el punto medio o de Ik o de Ik , el que tenga
sus extremos no conectados. Adems, si es uniformemente parametrizada, entonces
a
M
para j = 1, 2, . . . , k + 1, longarc(Ij ) = longarc(Ij ) = j . En particular, longarc(Ik ) =
2
M
longarc(Ik ) = k .
2
Demostracin. Por induccin: para k = 0, p1 es el punto medio de I0 = I0 =
o
o
([si , si+1 ]) por la parametrizacin uniforme. Para k general, la hiptesis de induccin
o
o
o
es que pk es el punto medio de Ik1 o de Ik1 . La secuencia que resulta despus de
e
esta k-sima insercin es (. . . , (si ), . . . , e1 , pk , e2 , . . . , (si+1 ), . . . ), siendo e1 , e2 los
e
o
extremos no conectados de uno de los dos segmentos Ik1 o Ik1 . Notemos que como pk
no est en Cx1 ni en Cx+1 , entonces debe ser pk Cx o pk (Cx1 Cx Cx+1 )c , y por
a
la proposicin 1 los extremos de o bien Ik (que son e1 , pk ) o bien Ik (que son pk , e2 )
o
estn no conectados. El siguiente punto de insercin pk+1 lo introduce el procedimiento
a
o
tras encontrar dos puntos q1 y q2 no conectados. Por el recorrido izquierda-derecha de

44

CAP
ITULO 2. CALCULO DEL
INDICE DE UNA CURVA

la secuencia, debemos concluir que estos puntos son o bien q1 = e1 y q2 = pk , o bien


q1 = pk y q2 = e2 . Esto es, pk+1 es el punto medio de Ik o de Ik .
Para la armacin sobre las longitudes, notemos que longarc(I0 ) = longarc(I0 ) =
o
M , y que, para j = 1, 2, . . . , k+1, pj divide o a Ij o a Ij en dos mitades, Ij+1 y Ij+1 . Por
longarc(Ij )
tanto longarc(Ij+1 ) = longarc(Ij+1 ), y longarc(Ij+1 ) =
, y por induccin se
o
2
deriva la expresin para la longitud de arco.
o

Recordemos que una curva es -singular si su distancia m


nima al origen es .
Tenemos que:
Proposicin 3. La longitud de arco de un segmento de una curva -singular con sus
o

extremos no conectados es estrictamente mayor que .


4
Demostracin. Esto puede verse considerando una circunferencia de radio , como la
o
mostrada con una linea rayada en la gura 2.8. Es la curva con menor longitud de arco
entre las -singulares. Y sus puntos en sectores no adyacentes tienen una diferencia

angular de al menos , correspondiente a una longitud de arco de .


4
4
Con el decrecimiento en la longitud de arco de los intervalos, si se cumplen las
condiciones de la proposicin 2, y el concepto de -singularidad, podemos progresar
o
en la prueba de la nitud del procedimiento de insercin entre si y si+1 . Se puede
o
conjeturar que el nmero de inserciones va a estar acotado por una frmula que inu
o
volucre logaritmos, ya que cada insercin divide por la mitad la diferencia entre dos
o
par
o
ametros consecutivos de la secuencia. La proposicin 4 nos da la cota concreta de

4M
lg2
para el nmero de iteraciones requeridas hasta que un punto de insercin
u
o

est conectado con (si ). x es el menor entero mayor o igual que x (el redondeo
a
hacia arriba).
Proposicin 4. Supongamos que es uniformemente parametrizada y -singular. Si
o
(si ) y (si+1 ) no estn conectados, siendo Cx el sector que contiene a (si ), entonces
a

4M
hay un punto de insercin pK vericando pK Cx1 Cx+1 , con K lg2
o
.

Demostracin. Construiremos una cota del nmero de iteraciones del procedimiento


o
u
de insercin que se requieren hasta que un punto de insercin pertenece a Cx1 Cx+1 .
o
o
M

M
Denimos k0 como el entero vericando k0 < k0 1 . Esto es equivalente a
4
2

4M
4M
4M
4M
k0
2 < 2
, es decir lg2
k0 < lg2
+ 1, por tanto k0 =

2.3. COSTE PARA CURVAS UNIFORMES

lg2

4M

45

. Notemos que por la proposicin 3 la longitud de arco de ([si , si+1 ]),


o

4M

4M
M , verica M >
, es decir
> 1, luego lg2
4

tanto k0 1.

> 0 y lg2

4M

1. Por

Si para algn K con K < k0 el punto de insercin pK verica pK x1 Cx+1 ,


u
o
C

4M
entonces se verica la armacin de la proposicin, porque K < k0 = lg2
o
o
.

Si, por el contrario, todos los puntos de insercin pK con K < k0 verican pK
o
/
Cx1 Cx+1 (o equivalentemente, los sectores Cx1 y Cx+1 no contienen ningn punto de
u
p1 , p2 , . . . , pk0 1 ) estamos en la hiptesis de la proposicin 1 (con k = k0 ). Si suponemos,
o
o
buscando una contradiccin, que pk0 Cx1 Cx+1 (esto es, pk0 Cx o pk0 (Cx1
o
/
c
Cx Cx+1 ) ), entonces o bien Ik0 o bien Ik0 tiene sus extremos no conectados. Adems,
a
M

M
o
o
tenemos que longarc(Ik0 ) = k0 por la proposicin 2, y k0 por denicin
2
2
4

de k0 . Y no es posible que longarc(Ik0 ) = longarc(Ik0 ) con sus extremos no


4
conectados, porque esto contradice la proposicin 3. Debemos concluir por tanto que
o
pk0 Cx1 Cx+1 .

Notemos que siendo pK el primer punto de insercin con pK Cx1 Cx+1 , los
o
puntos en el segmento ((si ), . . . , q1 ) de la secuencia S = (. . . , (si ), . . . , q1 , pK ,
q2 , . . . , (si+1 ), . . . ) pertenecen a Cx . Esto es porque el procedimiento de insercin
o
recorre la secuencia de izquierda a derecha, y por tanto no es posible que uno de los
puntos de ((si ), . . . , q1 ) pertenezca a (Cx1 Cx Cx+1 )c , porque en tal caso el punto
de insercin K-simo habr sido insertado en una posicin anterior a la de q1 . Tamo
e
a
o
poco es posible que alguno de estos puntos pertenezca a Cx1 Cx+1 , porque pK es
el primer punto insertado con esta propiedad. Por tanto los puntos de ((si ), . . . , q1 )
deben pertenecer a Cx .
Usando la proposicin 4 podemos encontrar una cota al nmero de puntos de
o
u
insercin requeridos para conectar (si ) y (si+1 ). Recurdese que ([si , si+1 ]) cruza
o
e
N bordes entre sectores si el intervalo de parmetros contiene N valores fj , j =
a
1, . . . , N , con si f1 < f2 < . . . < fN si+1 , cuyas imgenes (fj ) pertenecen a
a
algn borde.
u
Notemos que si ([si , si+1 ]) cruza N = 0 bordes, el nmero de puntos de insercin
u
o
requeridos en este segmento es cero porque (si ) y (si+1 ) estn en el mismo sector.
a
De modo parecido, si N = 1, entonces (si ) y (si+1 ) estn conectados, y no se
a
requiere ningn punto de insercin. En el caso de que el nmero de cruces N sea
u
o
u
mayor, se verica la siguiente armacin:
o

46

CAP
ITULO 2. CALCULO DEL
INDICE DE UNA CURVA

Lema 1. Supongamos que es uniformemente parametrizada y -singular, que (si )


y (si+1 ) no estn conectados, y que ([si , si+1 ]) cruza N bordes. Para N 2, el
a

4M
.
nmero de puntos de insercin entre (si ) y (si+1 ) est acotado por (N 1) lg2
u
o
a

Demostracin. Probamos la armacin por induccin en N .


o
o
o
Supongamos primero que N = 2; como (si ) y (si+1 ) no estn conectados, los
a
puntos de ([si , si+1 ]) estn contenidos en tres sectores. Si Cx denota el sector que
a
contiene a (si ), entonces hay dos casos posibles: o bien (si ) Cx , (si+1 )
Cx+2 y ([si , si+1 ]) Cx Cx+1 Cx+2 (en sentido antihorario), o bien (si ) Cx ,
(si+1 ) Cx2 y ([si , si+1 ]) Cx Cx1 Cx2 (sentido horario). La gura 2.8

4M
ms arriba representa el primer caso. Por la proposicin 4, en menos de lg2
a
o

iteraciones el procedimiento de insercin pone un punto pK en Cx1 Cx+1 . Con esta


o
insercin la secuencia ((si ), . . . , pK , . . . , (si+1 )) verica la propiedad de conexin y
o
o
el procedimiento acaba (entre (si ) y (si+1 )).
Este razonamiento para N = 2 es el caso base de la induccin que demuestra el
o
lema. Para el paso inductivo, supongamos ahora que el segmento de curva ([si , si+1 ]),
de longitud M , cruza N bordes, con N > 2. La hiptesis de induccin, que suponemos
o
o
cierta, es que cualquier segmento de curva cruzando N 1 bordes requiere como mucho

4M
(N 2) lg2
puntos de insercin, siendo M su longitud. Demostraremos que
o

4M
puntos de insercin, dividiendo
o
([si , si+1 ]) requiere como mucho (N 1) lg2

este segmento en dos partes, una primera que va de (si ) a un punto en Cx1 o en
Cx+1 , y una segunda parte que va de este punto a (si+1 ).

4M
Por la proposicin 4, tenemos que para cierto K lg2
o
, el punto pK =

(uK ) est en un sector que es adyacente a (si ), ya sea Cx1 o Cx+1 . Adems, segn
a
a
u
la nota tras la prueba de la proposicin 4, los puntos en el segmento ((si ), . . . , q1 ) de
o
la secuencia (. . . , (si ), . . . , q1 , pK , q2 , . . . , (si+1 ), . . . ) pertenecen a Cx . La gura 2.9
muestra un ejemplo con K = 3 y pK Cx+1 .
Dividimos el segmento ([si , si+1 ]) en dos subsegmentos, ([si , uK ]) y ([uK , si+1 ]).
Notemos que ([si , uK ]) cruza al menos un borde (el que est entre Cx y Cx1 o Cx+1 ),
a
pero no necesariamente bordes distintos en cada cruce, como se puede ver por ejemplo en las posiciones de la gura 2.10. Adems, despus de la K-sima iteracin el
a
e
e
o
procedimiento de insercin no inserta puntos en ([si , uK ]), porque todos los puntos
o
de la secuencia en este segmento, ((si ), . . . , q1 , pK ) pertenecen a Cx excepto pK que
pertenece a Cx1 o a Cx+1 .
Llamemos al nmero de bordes cruzados por ([si , uK ]). El resto del segmenu
to de curva original, ([uK , si+1 ]), cruza N bordes, con 1. Consideremos

2.3. COSTE PARA CURVAS UNIFORMES

47

Figura 2.9: El segmento de curva entre (si ) y (si+1 ) tiene una longitud de arco de
M , y ([si , si+1 ]) cruza cuatro bordes.

Figura 2.10: El segmento ([si , uK ]) cruza al menos un borde. q1 es el punto previo a


pK en la secuencia.
([uK , si+1 ]) como una curva que cruza N 1 bordes o menos. Recurdese que la
e
hiptesis de induccin es que cualquier
o
o
segmento de curva cruzando N 1 bordes re

4M
puntos de insercin, siendo M su longitud.
o
quiere como mucho (N 2) lg2

4M
Por tanto ([uK , si+1 ]) requiere como mucho (N 2) lg2
inserciones, siendo

la longitud de arco M = (si+1 uK ). Para concluir, tenemos que con K insercio

4M
nes (siendo K lg2
), el segmento ([si , si+1 ]) da lugar a un subsegmento


CAP
ITULO 2. CALCULO DEL
INDICE DE UNA CURVA

48

([uK , si+1 ]), que requiere como mucho (N 2) lg2

ms de lg2
a

4M

+(N 2) lg2

o igual que (N 1) lg2

4M

4M

4M

inserciones. En total no

inserciones. Como M < M , esto es menor

, que es lo que se pretend demostrar.


a

Obtenemos el siguiente teorema, que evita la dependencia de N en el lema anterior,


acotando el nmero N de bordes cruzados por un segmento de longitud de arco M de
u
una curva -singular.
Recurdese que para una secuencia S = (s0 , . . . , sn ), su paso mximo es |S| =
e
a
mx (si+1 si ).
a
0in1

Teorema 1. Si : [a, b] C es -singular con > 0, uniformemente parametrizada, el procedimiento de insercin para la curva con una secuencia inicial S (0) =
o
(s0 , . . . , sn ) de valores crecientes con s0 = a, sn = b, concluye en menos de
4|S (0) |
4(b a)
lg2

inserciones.
Demostracin. Consideremos una curva circular situada a distancia constante del
o

origen. La distancia a lo largo de la curva entre puntos en bordes distintos es de


.
4
Cualquier otra curva -singular tiene una distancia entre puntos situados en bordes
distintos mayor o igual que este valor. Por tanto, entre las curvas de longitud de arco
M , la curva circular cruza el mximo nmero de bordes. Para calcular este nmero,
a
u
u
Nmax , llamemos fj , j = 1, . . . , Nmax , a los valores del parmetro correspondientes a
a
puntos (fj ) en un borde, en orden creciente, fj < fj+1 . Dos puntos consecutivos

(fj ), (fj+1 ) estn a una distancia a lo largo de la curva de


a
, y por la para4

. En general, para calcular el nmero x de


u
metrizacin uniforme, (fj+1 fj ) =
o
4
puntos a distancia d dentro de un intervalo de longitud m, notemos que con x puntos
igualmente espaciados a distancia d cubrimos longitud de (x 1)d. Por tanto
una
m
+ 1. En nuestro caso, el nmero
u
tenemos que (x 1)d m < xd, esto es x =
d

M
4M
Nmax de valores del parmetro fj a una distancia de
a
es + 1 =
+ 1.
4

4
Por tanto el nmero de bordes cruzados por cualquier curva debe ser menor o igual
u
que este valor. particular, siendo N el nmero de bordes cruzados por ([si , si+1 ]),
En
u
4M
4M
N Nmax =
+ 1, luego N 1
. Aplicando el lema previo, el mximo
a

4M
4M
nmero de puntos de insercin en ([si , si+1 ]) est acotado por
u
o
a
lg2
.

2.4. COTA PARA CURVAS LIPSCHITZIANAS

49

4M
4M
Hemos deducido una cota
lg2
del nmero de puntos de insercin reu
o

queridos en ([si , si+1 ]). Esto es vlido para cada i, 0 i n 1, siendo S (0) =
a
(s0 , . . . , sn ) la secuencia inicial, salvo que la distancia M entre (si ) y (si+1 ) puede
variar con i. En cualquier caso, esta distancia es igual a (si+1 si ) por la parametriza

n1
4(si+1 si )
4(si+1 si )
lg2
.
cin uniforme. La suma de estos mximos nos da
o
a

i=0
Adems, los (si+1 si ) son menores o iguales a |S (0) | por la denicin de paso mximo.
a
o
a

4(si+1 si )
4|S (0) |
Por tanto lg2
lg2
para i = 0, 1, 2, . . . , n 1, y el sumatorio

n1
4(si+1 si )
4|S (0) |
anterior es menor o igual que
lg2
. Esto puede simpli

i=0
n1

(si+1 si ) = (b a), y entonces el total de inserciones es menor o

carse porque
i=0

igual que

4|S (0) |
4(b a)
lg2

2.4.

Cota del procedimiento de insercin para curo

vas Lipschitzianas
Debemos generalizar el teorema anterior para manejar curvas -singulares no necesariamente uniformemente parametrizadas. Debe notarse que la secuencia resultante
del proceso de insercin depende de la parametrizacin: esto es, dos parmetros y
o
o
a
con la misma curva imagen en C pueden producir diferentes puntos de insercin.
o
El anlisis anterior del coste del procedimiento de insercin para curvas uniformemena
o
te parametrizadas puede extenderse a las curvas Lipschitzianas, ms generales. Estas
a
curvas son las que verican que hay una constante L con |(y) (x)| L|y x|
para cada x, y [a, b].
Este relajamiento de las hiptesis es necesario para la aplicacin que tenemos en
o
o
mente, el clculo del
a
ndice de curvas = f () para un polinomio f y bordeando
un area de inters. La curva normalmente se dene concatenando segmentos unifor
e
memente parametrizados, y esto hace que sea uniformemente parametrizada. Pero
su transformacin = f () no es en general uniformemente parametrizada para un
o
polinomio f , aunque s es Lipschitziana [Kolmogorov and Fomn, 1975].

El nmero de puntos de insercin en cualquier curva Lipschitziana tiene como cota


u
o
la determinada en el teorema 2. La ruta seguida para probarlo es similar a la del
teorema 1.

50

CAP
ITULO 2. CALCULO DEL
INDICE DE UNA CURVA

Para una secuencia inicial S (0) = (s0 , . . . , sn ) consideremos un segmento de curva


([si , si+1 ]). En este caso M = (si+1 si ) no es la longitud de arco del segmento. Sin
embargo, en una curva Lipschitziana con constante L, se verica que longarc([s, t])
L(t s) (ver [Kolmogorov and Fomn, 1975]). En particular longarc([si , si+1 ])
(si+1 si ). Con esta cota de la longitud de arco podemos probar el teorema 2 de modo
similar al teorema 1.
Llamemos pk al k-simo punto de insercin entre (si ) y (si+1 ), y uk a su parmee
o
a
tro, k = 1, 2, . . . , como en el anterior apartado. Tambin, para k = 1, 2, . . . , llamemos
e
Ik al segmento de curva que une pk con el punto previo en la secuencia, y Ik al
segmento que une pk con el siguiente. Ver gura 2.8.
La proposicin 1 de la seccin previa se aplica a curvas con cualquier tipo de
o
o
parmetro. La siguiente proposicin es espec
a
o
ca para curvas Lipschitzianas, y es anloa
ga a la proposicin 2 de la seccin previa.
o
o
Proposicin 5. Supongamos que es Lipschitziana con constante L. Si k es tal que
o
los sectores Cx1 y Cx+1 no contienen ningn punto de p1 , p2 , . . . , pk1 , pk , entonces
u
pk+1 tiene, como parmetro, la media de los parmetros de los extremos de o bien Ik o
a
a
bien Ik , aquel que tenga sus extremos no conectados. Adems, para j = 1, 2, . . . , k + 1,
a
LM
LM
longarc(Ij ) j y longarc(Ij ) j .
2
2
Demostracin. Por induccin: para k = 0, I0 = I0 = ([si , si+1 ]) y p1 tiene de parmeo
o
a
si + si+1
, que es lo que arma la proposicin. Para k general, la hiptesis
o
o
tro u1 =
2
de induccin es que pk = (uk ) siendo uk la media de los parmetros de los exo
a
tremos de Ik1 o de Ik1 , lo que implica que la secuencia tras esta insercin queda
o
(. . . , (si ), . . . , e1 , pk , e2 , . . . , (si+1 ), . . . ), siendo e1 , e2 los extremos no conectados de
uno de los dos segmentos. El siguiente punto de insercin pk+1 lo inserta el procedimieno
to despus de encontrar dos puntos q1 y q2 no conectados, y pk+1 tiene como parmetro
e
a
la media de los parmetros de estos puntos. Notemos que como pk no est en Cx1 ni
a
a
en Cx+1 , entonces debe ser pk Cx o pk (Cx1 Cx Cx+1 )c , y por la proposicin 1
o
los extremos de ya sea Ik (que son e1 , pk ) ya sea Ik (que son pk , e2 ) estn no conectaa
dos. Como el procedimiento recorre la secuencia de izquierda a derecha, los puntos no
conectados encontrados son o bien q1 = e1 y q2 = pk , o bien q1 = pk y q2 = e2 . Esto es,
pk+1 tiene como parmetro la media de los parmetros de los extremos de Ik o de Ik .
a
a
Este razonamiento es similar al de la proposicin 2 de la seccin anterior, pero
o
o
ahora el punto de insercin pk no es necesariamente el punto medio del segmento de
o
curva entre los puntos no conexos.
Para las longitudes, tenemos por induccin que la diferencia entre los parmetros
o
a
M
de los extremos de Ij es j , para j = 1, 2, . . . , k + 1. Lo mismo con Ij . Como se
2

2.4. COTA PARA CURVAS LIPSCHITZIANAS

51

coment ms arriba, en una curva Lipschitziana con constante L, la longitud de arco


o a
M
de un segmento de curva verica longarc([s, t]) L(t s). Luego longarc(Ij ) L j
2
M
y longarc(Ij ) L j .
2
Finalmente, probamos:
Proposicin 6. Supongamos que es Lipschitziana de constante L y -singular. Si
o
(si ) y (si+1 ) no estn conectados, siendo Cx el sector que contiene a (si ), entonces
a

4LM
el primer punto insertado vericando pK Cx1 Cx+1 es tal que K lg2
.

LM
LM
Demostracin. Denamos k0 como el entero vericando k0 < k0 1 . Tenemos
o
2
4
2

4LM
1.
que k0 = lg2

Si el primer punto de inserci perteneciente a Cx1 Cx+1 es pK con K < k0 ,


on

4LM
entonces la armacin K lg2
o
de la proposicin es obvia. En caso cono

trario, todos los puntos p1 , p2 , . . . , pk0 1 estn fuera de Cx1 Cx+1 , y por tanto el
a
procedimiento de insercin alcanza la iteracin k0 -sima. As estamos en la hiptesis
o
o
e

o
de la proposicin 1 (con k = k0 ), y si suponemos que pk0 Cx1 Cx+1 , entonces
o
/
o bien Ik0 o bien Ik0 tiene sus extremos no conectados. Adems por la proposicin
a
o
LM

LM
o
5, longarc(Ik0 ) = longarc(Ik0 ) k0 . por denicin de k0 tenemos que k0 ,
2
2
4

as que longarc(Ik0 ) = longarc(Ik0 ) . Esto sin embargo contradice la proposicin

o
4
3. Debemos pues concluir que pk0 Cx1 Cx+1 .

Con esta proposicin, podemos seguir un argumento similar al de la seccin anterior


o
o
para mostrar que, si el segmento de curva ([si , si+1 ]) cruza N el nmero de
bordes,
u

4LM
.
puntos de insercin requeridos no puede ser mayor que (N 1) lg2
o

Lema 2. Supongamos que es Lipschitziana con constante L y -singular. Para


N 2, si (si ) y (si+1 ) no estn conectados, el nmero de puntos de insercin
a
u
o

4LM
est acotado por (N 1) lg2
a
.

Demostracin. Se puede repetir la prueba del lema de seccin anterior con la cota
o
la
o

4LM
4M
lg2
de la proposicin 6 en vez de lg2
o
, concluyendo con la arma

cin deseada.
o

52

CAP
ITULO 2. CALCULO DEL
INDICE DE UNA CURVA

Teorema 2. Si : [a, b] C es -singular con 0, y Lipschitziana con constante L, entonces el procedimiento de insercin para la curva con secuencia inicial
o
4L|S (0) |
4L(b a)
lg2
S (0) = (s0 , . . . , sn ), s0 = a, sn = b, concluye en menos de

inserciones.
Demostracin. Vamos a acotar el nmero N de bordes cruzados por un segmeno
u
to ([si , si+1 ]) de una curva -singular Lipschitziana. Consideremos los valores del
parmetro fj , j = 1, . . . , N , correspondientes a los puntos (fj ) que estn en un
a
e
borde. Dos de tales puntos que estn consecutivos (fj ) y (fj+1 ) estn separae
a

. Esto es,
dos por un segmento de curva de longitud de arco mayor o igual que
4

longarc((fj+1 fj ))
. Adems, por Lipschitzianidad, longarc((fj+1 fj ))
a
4

L(fj+1 fj ) para
L(fj+1 fj ), y encadenando las desigualdades deducimos que
4

j = 1, . . . , N . El mximo nmero de valores fj a una distancia de


a
u
, dentro de un
4L

4LM
M
4LM
intervalo de longitud M es + 1 =
+ 1. Por tanto N
+ 1.

4L
4LM
, el nmero mximo de puntos de
u
a
Aplicando el lema previo, como N 1

4LM
4LM
insercin en ([si , si+1 ]) est acotado por
o
a
lg2
.

En general, como M = (si+1 si ), el nmero de puntos de insercin en cada


u
o
(0)
([si , si+1 ]), i = 0,1, 2, . . , n1, de la
.
secuencia inicial S = (s0 , . . . , sn ) est acotado
a
4L(si+1 si )
4L(si+1 si )
por
lg2
. Para sumar estas cotas, tenemos que la ex

n1
n1
4L(si+1 si )
4L(si+1 si )
4L(si+1 si )
presin
o
lg2
es menor o igual que

i=0
i=0
n1
(0)
4L|S |
lg2
porque (si+1 si ) |S (0) |. Adems, como
a
(si+1 si ) = (b a),

i=0
4L(b a)
4L|S (0) |
tenemos que el total de inserciones es menor que
lg2 (
) .

2.5.

Evitando giros perdidos

Debemos evitar situaciones como la que se muestra en la gura 2.11 para asegurar
el correcto clculo del
a
ndice mediante el procedimiento de insercin. Los puntos de
o
la secuencia S = (s0 , . . . , sn ) verican la propiedad de conexin, pero el
o
ndice de la
no es igual al
= 1 y Ind() = 2.
poligonal
ndice de , ya que Ind()
Cada par de puntos consecutivos en la secuencia S = (s0 , . . . , sn ) dene un segmento de curva i : [si , si+1 ] C, para i = 0, 1, 2, . . . , n 1. Si cualquiera de estos

2.5. EVITANDO GIROS PERDIDOS

53

Figura 2.11: La curva y su aproximacin poligonal tienen distinto


o
ndice, 2 y 1
respectivamente.

3
segmentos abarca un angulo mayor que

, pasando sobre siete bordes diferentes, los


2
puntos i (si ) y i (si+1 ) estn en sectores adyacentes. Por tanto el procedimiento de
a
insercin no inserta ningn punto entre ellos. Por ejemplo, en el caso de la gura 2.11,
o
u

hay un cruce de C0 a C7 en (el segmento de recta de i (si ) a i (si+1 )) que no


est en (cuyo segmento curvo i sigue un camino C0 -C1 -C2 - -C6 -C7 ). Por consia
guiente, en la secuencia el contador de cruces de C0 a C7 se incrementa de si a si+1 ,
cuando en realidad el segmento i no tiene un cruce de C0 a C7 . Esto provoca que

Ind() = Ind(). Un segmento de curva que abarque un ngulo negativo (esto es, que
a
3
vaya en sentido horario) menor que
produce una situacin similar.
o
2
Para evitar tales situaciones usamos un hecho conocido de anlisis complejo: el
a
angulo cubierto por una curva, no necesariamente cerrada, : [x, y] C es la integral

1
1
de linea
dw. Un giro perdido para la secuencia S = (s0 , . . . , sn ) es un segmento
i w
1
1
3
de curva i : [si , si+1 ] C, vericando que
dw >
. El siguiente teorema
i w
2
nos da una condicin suciente para evitar giros perdidos.
o
Teorema 3. Si : [a, b] C es -singular con = 0 y Lipschitziana con constante L,
y se aplica el procedimiento de insercin con una secuencia inicial S (0) = (s0 , . . . , sn )
o
3
vericando que su paso mximo es |S (0) |
a
, entonces no hay giros perdidos.
2L


CAP
ITULO 2. CALCULO DEL
INDICE DE UNA CURVA

54

Demostracin. Para asegurar que no hay giros perdidos (es decir, que
o

1
i

1
dw
w

3
para cada i ) consideramos dos hechos geomtricos: primero, que un segmento
e
2
longarc(i )
i = ([si , si+1 ]) de una curva -singular subtiende un ngulo mximo de
a
a

1
longarc(i )
1
dw
). Esto es porque la curva -singular
(equivalentemente, que
i w

con una longitud de arco dada que subtiende el mximo ngulo es un segmento de la
a
a
circunferencia de radio .
Segundo, que en una curva Lipschitziana con constante L, se cumple que
longarc(i ) L(si+1 si ).
Luego si |S (0) |
1
i

3
, y recordando que (si+1 si ) |S (0) |, se tiene:
2L

L(si+1 si )
L|S (0) |
L3
3
1
longarc(i )
dw

=
w

2L
2

Si no hay giros perdidos, el


ndice de coincide con el de , y entonces, al nal
del procedimiento de insercin, se calcula Ind() correctamente.
o
Resumimos los teoremas 2 y 3 sobre el procedimiento de insercin: para una curva
o
Lipschitziana con constante L, -singular, : [a, b] C, el procedimiento de insercin
o
(0)
de Ying-Katz mostrado en la gura 2.6, con secuencia inicial S , verica:

a) Si |S (0) |

3
, la secuencia retornada nos da Ind().
2L

b) Acaba en menos de

4L(b a)
4L|S (0) |
lg2 (
) iteraciones.

Con esto, la aplicacin del procedimiento de insercin requiere, en una primeo


o
3
ra fase, el clculo de una secuencia inicial S (0) with |S (0) |
a
. La secuencia
2L
S = (a = s0 , . . . , sn = b) de n + 1 valores uniformemente espaciados en el interva(b a)
(b a)
3
lo [a, b] verica |S| =
. Luego tomando n tal que

, tenemos un
n
n

2L
3
2L(b a)
array S que verica |S|
. El menor de estos n es
. En una segunda
2L
3
4L 3
4L(b a)
4L|S (0) |
4L(b a)
2L
fase, se necesitan al menos
lg2 (
)
lg2
=

12L(b a)
4L(b a)
lg2 (6) =
iteraciones del bucle. Cada iteracin requiere la ino

sercin de un punto, lo que implica una evaluacin de en un valor del parmetro


o
o
a
(para saber a qu sector pertenece). Consecuentemente, tenemos la siguiente expresin
e
o

2.5. EVITANDO GIROS PERDIDOS

55

simplicada para el nmero de evaluaciones de que se necesitan para el clculo del


a

u
2L(b a)
(0)

ndice:
para obtener una secuencia inicial S que verique la cota del
3
12L(b a)
evaluaciones por el teorema 2.
teorema 3, ms como mucho
a

En cualquier caso, el valor de es desconocido en general, con lo que no podemos


construir a priori la secuencia S (0) vericando la hiptesis del teorema 3. Desarrollamos
o
ahora una modicacin del procedimiento de insercin que no requiere del conocimieno
o
to previo de . La modicacin es tal que evita giros perdidos con cualquier secuencia
o
inicial. Se basa en el siguiente lema:
Lema 3. Si (s0 , . . . , sm ) es una secuencia de valores del parmetro de la curva ,
a
Lipschitziana con constante L, y i es tal que i es un giro perdido, entonces
(si+1 si )

|(si )| + |(si+1 )|
.
L

Demostracin. Recurdese que un giro perdido en una secuencia S = (s0 , . . . , sm ) es


o
e
1
1
3
un segmento de curva i : [si , si+1 ] C que verica
dw >
. Si el angulo

i w
2
1
3
1
dw , es mayor que
, entonces su longitud de arco debe
subtendido por i ,
i w
2
vericar |(si )| + |(si+1 )| longarc(i ). En realidad, para vericar esta desigualdad
es suciente que el angulo subtendido por i sea mayor que . La gura 2.12 puede

reemplazar un razonamiento riguroso basado en envolventes convexas [Ball, 1997].


Adems, por Lipchitzianidad, longarc(i ) L(si+1 si ). Encadenando las dea
sigualdades tenemos |(si )| + |(si+1 )| L(si+1 si ), equivalentemente (si+1 si )
|(si )| + |(si+1 )|
.
L
Ahora, para ser preciso, cambiamos la notacin ligeramente con respecto a las anteo
(k)
riores demostraciones: S contina signicando el valor de la secuencia al nal de la ku
sima iteracin del bucle, pero renombramos las entradas de la secuencia, de modo que
e
o
(k)
(0) (0)
la i-sima entrada se denota por si . La secuencia inicial es S (0) = (s0 , s1 , . . . , s(0) )
e
n
(k) (k)
(k)
(k)
y, despus de k puntos de insercin, la secuencia es S = (s0 , s1 , . . . , sn+k ). Tame
o
(k)
(k)
(k)
bin llamamos p(si ) a la asercin los valores si y si+1 en la secuencia S (k) tienen
e
o
(k)
(k)
(k)
(k)
sus imgenes (si ) y (si+1 ) no conectadas, y q(si ) a la asercin los valores si
a
o
(k)
(k)
|(si )| + |(si+1 )|
(k)
(k)
(k)
(k)
. Con esta
y si+1 en la secuencia S verican (si+1 si )
L
notacin, consideremos el siguiente procedimiento (gura 2.13).
o
Llamamos PIV a este Procedimiento de Insercin Vlido para cualquier secuencia
o
a
inicial. Supongamos que el PIV concluye tras K inserciones, retornando la secuencia


CAP
ITULO 2. CALCULO DEL
INDICE DE UNA CURVA

56

3
Figura 2.12: Si la curva entre (si ) y (si+1 ) recorre ms de
a
radianes, debe
2
tener longitud de arco mayor que |(si )| + |(si+1 )|.
(K)

(K)

(K)

a
S (K) = (s0 , s1 , . . . , sn+K ). Esta secuencia es vlida para calcular Ind(), porque ve(K)
(K)
rica, para cada i = 0, . . . , n+K +1, no p(si ) y no q(si ), que es la negacin de la
o
(K)
condicin del bucle. Esto implica que la secuencia S
o
verica la propiedad de conexin
o
(K)
(esto es, no p(si )) y que no tiene giros perdidos, porque el contrarrec
proco del lema
(K)
(K)
|(si )| + |(si+1 )|
(K)
(K)
(K)
(K)
3 aplicado a S
es si no q(si ) (esto es, si (si+1 si ) <
),
L
(K) (K)
entonces ([si , si+1 ]) no es un giro perdido. Luego S (K) es vlido para calcular
a
Ind() correctamente.
El PIV calcula el
ndice con cualquier secuencia inicial, mientras que el procedimiento de insercin anterior requer una secuencia que vericase una restriccin en
o
a
o
funcin del desconocido . Sin embargo, el nmero de iteraciones de PIV no pueo
u
de deducirse del teorema 2 porque este se aplica slo al procedimiento de insercin.
o
o
Probaremos el teorema 4 ms adelante, que nos da una cota al nmero de iteracioa
u
nes de PIV. Es una prueba ms complicada que la anterior por la interrelacin de la
a
o
propiedades p y q.
Con el cambio de notacin, al nal de la iteracin k-sima, la secuencia producida es
o
o
e
(k)
S , y el ultimo punto insertado es (si+1 ). Llamamos Ik al segmento de curva que une

el punto de insercin de la k-sima iteracin con el punto previo de la secuencia S (k) ,


o
e
o
(k) (k)
(k)
(k)
y Ik al que lo une con el siguiente. Esto es, Ik = ([si , si+1 ]) y Ik = ([si+1 , si+2 ]).
Decimos que el k-simo punto de insercin es decreciente si pertenece a Ik1 o a Ik1 .
e
o
(k)

2.5. EVITANDO GIROS PERDIDOS

57

Procedimiento de insercin vlido para cualquier secuencia inicial:


o
a
Para encontrar el
ndice de una curva : [a, b] C
Parmetros de entrada: La curva de constante de Lipschitz L, y una
a
(0) (0)
secuencia S (0) = (s0 , s1 , . . . , s(0) ), muestreo de [a, b].
n
Salida: Una secuencia que es vlida para calcular Ind().
a
Mtodo:
e
Asignar a k el valor 0.
(k)
(k)
(k)
Mientras haya un si en S (k) con p(si ) o con q(si ) hacer:
(k)
(k)
si + si+1
(k)
(k)
entre si y si+1 ;
{ Insertar
2
Incrementar k;
}
Retornar la secuencia resultante.
Figura 2.13: Procedimiento de Insercin Vlido para cualquier secuencia inicial (PIV).
o
a
Notemos que la l
nea Insertar produce S (k) a partir de S (k1) en la iteracin k-sima
o
e
(k1)
(k1)
si
+ si+1
(k)
(k1)
(k)
(k)
(k1)
(k > 0), y si = si
, si+1 =
, si+2 = si+1 .
2
(k)

Esto es equivalente a decir que el valor de su parmetro si+1 va, en la secuencia S (k) ,
a
inmediatamente antes o despus del parmetro de la insercin (k 1)-sima (ver gura
e
a
o
e
2.14). El nombre decreciente viene de que en tales inserciones, la diferencia de los
parmetros de los extremos de Ik es la mitad de esta diferencia en Ik1 .
a

Figura 2.14: Los puntos p1 a p5 se han insertado en iteraciones consecutivas. Los puntos
p1 , p2 , p3 y p5 son decrecientes pero p4 no es decreciente.
Usaremos el hecho de que, si el valor del parmetro de la insercin (k + 1)-sima
a
o
e

58

CAP
ITULO 2. CALCULO DEL
INDICE DE UNA CURVA

es menor que el de la k-sima, entonces la insercin (k + 1)-sima es decreciente. Para


e
o
e
(k)
ver esto, notemos que el punto insertado en la k-sima iteracin, (si+1 ), requiere
e
o
(k1)
(k1)
que p(si
) o q(si
) (la condicin de entrada del bucle). Como el PIV realiza
o
un recorrido izquierda-derecha para comprobar esta condicin, tambin se verica que
o
e
(k1) (k1)
(k1)
cualquier valor en el segmento inicial de la secuencia, (s0
, s1
, . . . , si1 ), verica
(k) (k)
(k)
(k1) (k1)
(k1)
(k)
(k1)
ni p ni q. Luego (s0 , s1 , . . . , si1 ) = (s0
, s1
, . . . , si1 ). Adems si = si
a
por el modo de insertar el punto. Por tanto en la (k + 1)-sima insercin los valores
e
o
(k) (k)
(k)
del segmento inicial (s0 , s1 , . . . , si1 ) permanecen sin vericar ni p ni q, y el primer
(k)
valor de la secuencia que puede vericar p o q es si . Luego si el valor del parmetro
a
(k)
(k)
(k)
de la insercin (k + 1)-sima es menor que si+1 , solo puede caer entre si y si+1 , los
o
e
extremos de Ik , y por tanto la insercin es decreciente.
o
Decimos que una iteracin es una p-insercin si se realiza porque se verica la
o
o
(k1)
propiedad p(si
), y que es una q-insercin si se realiza porque se cumple la propiedad
o
(k1)
(k1)
) y q(si
). As cualquier iteracin puede clasicarse como p-insercin

o
o
no p(si
o como q-insercin, pero no ambos tipos a la vez. Se verica el siguiente hecho:
o
Lema 4. Supongamos que es Lipschitziana de constante L, -singular, y S (k) es la
secuencia de parmetros al nal de la iteracin k-sima de PIV aplicado a , en la que
a
o
e

(k)
y longarc(Ik )
, entonces
se ha insertado el punto (si+1 ). Si longarc(Ik )
4
4
la insercin (k + 1)-sima no puede ser p-insercin y decreciente.
o
e
o
Demostracin. La proposicin 3 de la seccin anterior dice que la longitud de arco
o
o
o

entre puntos no conexos es mayor que


. Contrarrec
procamente, si longarc(Ik ) =
4
(k) (k)
(k)
(k)
longarc(([si , si+1 ])) es menor o igual que esta cantidad, los puntos si y si+1 deben
(k)
(k)
estar conectados. De modo similar, si+1 y si+2 estn conectados tambin porque Ik =
a
e
(k)
(k)
([si+1 , si+2 ]). Luego la siguiente iteracin, si es decreciente, no puede ser una po
insercin, porque los extremos de Ik y los de Ik estn conectados.
o
a
El propsito del lema anterior es que, si se dan varias condiciones (longarc(Ik )
o
(k)

(k)

,
4

|(si )| + |(si+1 )|
(k)
(k)
longarc(Ik )
y (si+1 si ) <
), entonces la iteracin (k + 1)o
4
L
sima no puede ser decreciente de tipo p ni decreciente de tipo q, luego no puede ser
e
decreciente.
Las siguiente proposiciones son pasos en la prueba de la subsiguiente proposicin
o
(k+K)
9. Notemos que si llamamos (sj
) al (k + K)-simo punto de insercin, entonces
e
o
j depende de K. Ver gura 2.15.
Proposicin 7. Supongamos que es Lipschitziana de constante L, que S (k) es la
o
secuencia de parmetros al nal de la k-sima iteracin del PIV aplicado a , y que
a
e
o

2.5. EVITANDO GIROS PERDIDOS

59

(k+K)

(k+1)

Figura 2.15: Los puntos de insercin (sj


o
) para K = 1, 2, 3, 4 son (si+1 ),
(k+2)
(k+3)
(k+4)
(si+1 ), (si+1 ) y (si+2 ) respectivamente.
(k)

(k)

(si ) Cx y (si+1 ) (Cx1 Cx Cx+1 )c . Para K = 1, 2, . . . , denotemos con


(k+K)
pK = (sj
) el punto de insercin (k + K)-simo. Si los sectores Cx1 y Cx+1 no
o
e
contienen ningn punto de p1 , p2 , . . . , pK , entonces hay una insercin (k + K + 1)u
o
(k)
(k)
sima, pK+1 , entre (si ) y (si+1 ). Adems si pK es de tipo p entonces pK+1 es de
e
a
tipo p y decreciente.
Demostracin. Si Cx1 y Cx+1 no contienen ningn punto de p1 , p2 , . . . , pK , tenemos
o
u
(k+K) (k+K)
(k+K)
que, en la secuencia S
, las imgenes de los valores en el segmento (si
a
, si+1 ,
(k+K)
. . . , si+K+1 ) no pertenecen a Cx1 Cx+1 , y los puntos extremos de este segmento,
(k+K)
(k)
(k+K)
(k)
(si
) = (si ) Cx y (si+K+1 ) = (si+1 ) (Cx1 Cx Cx+1 )c , no estn
a
(k+K)
conectados. Luego al menos uno de los (sh
) con i h < i + K + 1 debe vericar
(k+K)
p(sh
), por tanto se verica al menos una condicin suciente para provocar una
o
insercin (k + K + 1)-sima.
o
e
Para ver que la insercin pK+1 es decreciente si pK es de tipo p, consideremos los
o


CAP
ITULO 2. CALCULO DEL
INDICE DE UNA CURVA

60
(k+K1)

(k+K1)

(k+K)

puntos q1 = (sj1
) y q2 = (sj
) que causaron la insercin pK = (sj
o
).
Estos son los primeros puntos encontrados que verican o bien q1 y q2 estn no coneca
(k+K1)
(k+K1)
|(sj1
)| + |(sj
)|
(k+K1)
(k+K1)
(k+K1)

tados (esto es p(sj1


)), o bien (sj
sj1
)
L
(k+K1)
(esto es q(sj1
)). Adems, debido al escaneo izquierda-derecha que hace el PIV,
a
(k+K1) (k+K1)
(k+K1) (k+K1)
se verica que los puntos anteriores (si
, si+1
, . . . , sj3
, sj2
) en la
(k+K1)
secuencia S
verican no p y no q, porque en caso contrario el punto de inser(k+K)
cin (k + K)-simo tendr
o
e
a ndice menor que j, contradiciendo que pK = (sj
).
(k+K1)
(k+K1)
(k+K1)
Como los puntos del segmento ((si+1
), (si+2
), . . . , (sj1
) = q1 ) son
(k+K1)
todos del conjunto {p1 , p2 , . . . , pK } (que est fuera de Cx1 Cx+1 ), y (si
a
)=
(k)
(k+K1)
(si ) Cx , y no p(sh
), i h < j 1, deducimos que todos estos puntos pertenecen a Cx , en particular q1 Cx . Luego, como pK es de tipo p (esto es,
(k+K1)
p(sj1
)), entonces q2 (Cx1 Cx Cx+1 )c . Finalmente, el punto pK pertenece
a Cx o a (Cx1 Cx Cx+1 )c (por hiptesis), luego la (k + K + 1)-sima insercin
o
e
o
(k+K)
se realiza en S
= (. . . , q1 , pK , q2 , . . . ) entre pK , q2 (si pK Cx ) o entre q1 , pK (si
pK (Cx1 Cx Cx+1 )c ). En cualquier caso es de tipo p y decreciente.

Notemos que por la proposicin anterior, los puntos de insercin sucesivos entre
o
o
(k)
y si+1 son de tipo p hasta que uno de ellos pertenezca a Cx1 Cx+1 , despus de
e
lo cual pueden venir uno o varios de tipo q.
(k)
si

Proposicin 8. Supongamos que es Lipschitziana de constante L, -singular, y que


o
(k)
S es la secuencia de parmetros al nal de la iteracin k-sima del PIV aplicado
a
o
e
(k)
(k)
(k) (k)
(k)
a . Llamando M = (si+1 si ), si el intervalo [si , si+1 ] verica (si ) Cx y

4LM
(k)
(si+1 ) (Cx1 Cx Cx+1 )c , entonces para algn K lg2
u
el (k + K)
simo punto de insercin pK verica pK Cx1 Cx+1 .
e
o
LM
LM

Demostracin. Denamos k0 como el entero vericando k0 k0 1 , esto es


o
2
4
2

4LM
k0 = lg2
. En general, no es posible tener k0 + 1 p-inserciones decrecien
(k) (k)
tes consecutivas. Esto es porque empezamos con un segmento Ik = ([si , si+1 ]),
(k)
(k)
e
cuya longitud de arco es menor que LM con M = (si+1 si ), y despus de k0
(k+k0 )
inserciones decrecientes, llamando sj
al parmetro del (k + k0 )-simo punto de
a
e
(k+k0 )
insercin pk0 = (sj
o
), tenemos que la diferencia de parmetros de los extremos
a
M
LM
(k+k ) (k+k )
(k+k )
(k+k )
de Ik+k0 = ([sj1 0 , sj 0 ]) es (sj 0 sj1 0 ) = k0 , y longarc(Ik+k0 ) k0 ,
2
2

que es menor o igual que


por denicin de k0 . Luego por el lema 4 la iteracin
o
o
4
(k + k0 + 1)-sima, si es de tipo p, no puede ser una insercin decreciente: debe ser no
e
o
decreciente.

2.5. EVITANDO GIROS PERDIDOS

61

Notemos que si para algn K, menor o igual que k0 , se tiene que pK Cx1 Cx+1 ,
u
concluimos porque es la armacin de la proposicin. En caso contrario alcanzamos
o
o
una contradiccin, porque entonces para cada K de 1 a k0 , pK Cx1 Cx+1 . Luego
o
/
podemos aplicar la proposicin 7 para K = 1 (Esto es, usando la hiptesis de que
o
o
(k)
(k)
p1 Cx1 Cx+1 ), porque p1 es de tipo p por la hiptesis (si ) Cx y (si+1 )
/
o
(Cx1 Cx Cx+1 )c , para deducir que p2 es decreciente y de tipo p; Tambin la
e
aplicamos para K = 2 (sabiendo que p2 Cx1 Cx+1 y de tipo p) para concluir que
/
p3 es decreciente y de tipo p, y as sucesivamente para K = 1, 2, . . . , k0 , concluyendo

que las inserciones (k + K)-simas pK (para K = 2, 3, . . . , k0 + 1) son decrecientes y


e
de tipo p. Esto es una contradiccin con la observacin anterior, de que la iteracin
o
o
o
(k + k0 + 1)-sima no puede ser decreciente y de tipo p.
e

La siguiente proposicin juega un papel similar al de la proposicin 6 de la seccin


o
o
o
anterior. Mientras que una nos daba una cota del nmero de inserciones que pueden
u
hacerse hasta que se inserta un punto en un sector conectado con el de (si ), la
proposicin 9 nos da una cota para el nmero de inserciones hasta que un punto
o
u
verica no p y no q. Ambas proposiciones sirven como base para lemas posteriores que
acotan el nmeros de inserciones que realizan el proceso de insercin y el PIV entre
u
o
dos valores del parmetro.
a
El nmero de inserciones que requiere el PIV es mayor que el del procedimiento
u
de insercin porque una insercin de tipo q, an en las hiptesis de la proposicin
o
o
u
o
o
7, puede ser no decreciente. Sin embargo, el nmero de q-inserciones verica lo siu
(k)
(k)
|(si )| + |(si+1 )|
2
guiente: si es -singular entonces

porque |(t)|
L
L
(k)
(k)
(k)
para cualquier parmetro t. Por tanto, si se verica q(si ) (esto es, (si+1 si )
a
(k)
(k)
|(si )| + |(si+1 )|
2
, que es mayor o igual que ), entonces el punto insertado tiene
L
L
(k)
(k)
(k)
(k)
si + si+1
si+1 si
(k+1)
(k+1)
(k)
un valor de parmetro de si+1 =
a
que verica (si+1 si ) =

2
2
(k)
(k)
(k)
(k)
|(si )| + |(si+1 )|
s si

(k)
(k+1)
(k+1)
y (si+1 si+1 ) = i+1
. Esto es, si+1 est situaa
2L
L
2
L

(k)
(k)
do a una distancia mayor que de si y de si+1 . Repitiendo el razonamiento, x inserL

ciones de tipo q se extienden sobre una longitud mayor o igual que (x1) . Dentro de
L

un segmento de parmetros de longitud M (y a una distancia mayor que de sus dos


a
L

extremos) el nmero x de q-inserciones debe vericar (x 1) + 2 = (x + 1) M .


u
L
L
L

LM
Esto es, no puede haber ms de
a
1 q-inserciones, si esta expresin es mayor o
o

igual que 0, o ninguna q-insercin en otro caso.


o

62

CAP
ITULO 2. CALCULO DEL
INDICE DE UNA CURVA

Proposicin 9. Supongamos que es Lipschitziana de constante L, -singular, y que


o
(k)
S es la secuencia de parmetros al nal de la k-sima iteracin del PIV aplicado
a
e
o
(k)
(k)
(k)
(k)
a . Llamando M = (si+1 si ), si (si ) Cx , (si+1 ) (Cx1 Cx Cx+1 )c ,
(k) (k)
y hay x inserciones de tipo q en el intervalo [si , si+1 ], entonces para algn K
u

4LM
(x + 1) lg2
+ x hay un punto s(k+K ) de la secuencia S (k+K ) vericando que
g

(k+K )
(s(k+K ) ) Cx1 Cx+1 y que para cada h con i h < g no se verica ni p(sh
)
g
(k+K )
ni q(sh
).
Demostracin. El enunciado es ms complicado que el de la proposicin 6 porque el
o
a
o
(k+K )
punto de inters sg
e
no es necesariamente el punto pK insertado en la iteracin
o
(k + K )-sima. Probaremos la armacin por induccin completa en x.
e
o
o
o
u

Con x = 0, el caso base, tenemos, por la proposicin 8, que para alg n K

4LM
(k+K)
lg2
el (k + K)-simo punto de insercin pK = (sj
e
o
) verica pK

Cx1 Cx+1 . Podemos suponer que este es el primer punto insertado perteneciente a Cx1 Cx+1 , porque un punto de insercin anterior perteneciente a esta regin
o
o

4LM
(k+K1)
tambin tendr su sub
e
a
ndice acotado por lg2
)
. No se verica p(sh

para i h < j 1, porque si as fuese la insercin (k + K)-sima no tendr un

o
e
a
parmetro con
a
ndice j. Notemos que, para i h < j 1, son equivalentes no
(k+K1)
(k+K)
p(sh
) y no p(sh
), porque los puntos implicados en estas aserciones en
(k+K1)
(k+K)
S
y en S
son los mismos. Luego los puntos imagen del segmento ini(k+K) (k+K)
(k+K) (k+K)
cial (si
, si+1 , . . . , sj2 , sj1 ) de la secuencia S (k+K) deben pertenecer a Cx ,
(k+K)
(k+K)
)), y pK = (sj
) es el primer punto de
porque estn conectados (no p(sh
a
insercin perteneciente a Cx1 Cx+1 . Adems, como pK pertenece a Cx1 Cx+1 , no
o
a
(k+K)
(k+K)
) para h = j 1. Tampoco se verica q(sj
) para i h < j
se verica p(sh
porque en ese caso tendr
amos una q-insercin, y eso no es posible con x = 0. Luego
o

4LM
llegamos a la armacin con K = K lg2
o
y g = j.

Para x > 0, el caso general, supongamos que la primera q-insercin es la (k + T )o


sima, y que y es el nmero de q-inserciones consecutivas que se producen despus
e
u
e
de esta, incluyndola. Esto signica que pT es la primera q-insercin, y tambin que
e
o
e
pT +1 , pT +2 , . . . hasta pT +y1 son de tipo q, pero pT +y existe) es una p-insercin. Por
(si
o

4LM
la proposicin 8, sabemos que en no ms de K lg2
o
a
inserciones, pK =

(k+K)
) Cx1 Cx+1 . Se cumple que T = K + 1, por el siguiente razonamiento:
(sj
como esta insercin, la (k + K)-sima, tiene lugar en la j-sima entrada de la sucesin,
o
e
e
o
(k+K1)
(k+K1)
entonces no se verica ni p(sh
) ni q(sh
) para i h < j 1 (esto es
(k+K)
(k+K)
(k+K)
equivalente a ni p(sh
) ni q(sh
) para i h < j 1). Como (sj
)
(k+K)
(k+K)
Cx1 Cx+1 , tampoco se verica p(sj1 ). Si adems tampoco se vericase q(sj1 ),
a

2.5. EVITANDO GIROS PERDIDOS

63

concluir
amos con la armacin deseada: (s(k+K ) ) Cx1 Cx+1 y cada h con
o
para
g

4LM
(k+K )
(k+K )
i h < g no se verica ni p(sh
) ni q(sh
) con K = K lg2
y

(k+K)
g = j, como en el caso base. Falta considerar el caso de que s se vericase q(sj1 ).

Pero entonces la insercin (k + K + 1)-sima es de tipo q, y T = K + 1.


o
e
Por tanto hay y inserciones consecutivas de tipo q, pK+1 a pK+y , pero pK+y+1
(k+K )
(si existe) es de tipo p. Llamemos K1 = K + y, y sf 1 al valor del parmetro
a
(k+K1 )
de la ultima de esta racha inicial de q-inserciones consecutivas: pK1 = (sf

).
Como esta ultima insercin, la (k + K1 )-sima, tiene lugar en la entrada f -sima

o
e
e
(k+K1 1)
(k+K1 1)
de la secuencia, no se verica ni p(sh
) ni q(sh
) para i h < f 1
(k+K1 )
(k+K1 )
) ni q(sh
) para i h < f 1). Adems, como la
a
(equivalentemente, ni p(sh
siguiente insercin pK1 +1 = pK+y+1 no es de tipo q (o no existe), no puede vericarse
o
(k+K1 )
(k+K )
(k+K )
q(sf 1 ). Resumiendo, tenemos no p(sh 1 ) para i h < f 1, y no q(sh 1 )
para i h f 1. Este hecho ser usado varias veces ms adelante.
a
a
Ahora discutimos dos casos diferentes. Consideremos primero que algn valor del
u
(k+K1 ) (k+K1 )
(k+K1 ) (k+K1 )
(k+K1 )
segmento inicial (si
, si+1 , . . . , sf 2 , sf 1 ) de la secuencia S
es tal
que su imagen no pertenece a Cx . Llamemos g al menor
ndice de estos valores, es
decir, el primer
ndice g con i g f 1 y que la imagen (s(k+K1 ) ) no pertenezca
g
(k+K )
a Cx . Debe vericar (s(k+K1 ) ) Cx1 Cx+1 , porque tenemos no p(sh 1 ) para
g
(k+K1 ) (k+K1 )
(k+K )
(k+K )
i h < f 1, luego las imgenes de (si
a
, si+1 , . . . , sg2 1 , sg1 1 ) deben
estar en sectores conectados, y (s(k+K1 ) ) es la primera que no est en Cx . Y para
a
g
(k+K1 )
(k+K1 )
) (por el hecho mostrado
) ni q(sh
cada h con i h < g no se verica ni p(sh
(k+K1 )
(k+K1 )
) para i h < f 1, y porque g f 1).
) y no q(sh
anteriormente no p(sh
(k+K1 )
Como y x, tenemos un punto (sg
) que satisface la
armacin deseada con
o

4LM
4LM
K = K1 = K + y lg2
+ x (x + 1) lg2
+ x.

Consideremos ahora el caso alternativo, que todos los puntos imagen del segmento
(k+K1 ) (k+K1 )
(k+K ) (k+K )
inicial (si
, si+1 , . . . , sf 2 1 , sf 1 1 ) de la secuencia S (k+K1 ) pertenecen a Cx .
(k+K )
(k+K )
En particular (sf 1 1 ) Cx . Para pK1 = (sf 1 ) hay tres posibles opciones:
pK1 Cx , pK1 Cx1 Cx+1 , o pK1 (Cx1 Cx Cx+1 )c .
(k+K )

(k+K )

(k)

1
En la primera opcin, como pK1 = (sf 1 ) Cx y (si+K1 +1 ) = (si+1 )
o
(k)
(k+K )
(Cx1 Cx Cx+1 )c , y llamando M2 = (si+1 sf 1 ), se verica la hiptesis de
o
(k+K1 ) (k)
induccin en el intervalo [sf
o
, si+1 ], que solo puede tener x y inserciones de tipo

4LM2
q, y deducimos que en K2 (x y + 1) lg2
+ (x y) inserciones, tenemos

cierto punto (s(k+K1 +K2 ) ) Cx1 Cx+1 tal que para cada h con f h < g2 no se
g2

(k+K +K )

(k+K +K )

verica ni p(sh 1 2 ) ni q(sh 1 2 ). Luego concluimos con la armacin deseada


o
tomando K = K1 + K2 y g = g2 , porque como M2 M y x y + 1 x, tenemos


CAP
ITULO 2. CALCULO DEL
INDICE DE UNA CURVA

64

que K1 + K2 = K + y + K2 lg2

4LM

+ y + (x y + 1) lg2

4LM2

4LM
(k+K +K 1)
+ x. Tambin tenemos que no p(sh 1 2 ) y no
e

(k+K1 +K2 1)
q(sh
) para i h f 1 (porque en caso contrario no alcanzar
amos la
(k+K1 +K2 1)
(k+K1 +K2 )
(k+K1 +K2 )
insercin (sg2
o
) de
ndice g2 con f < g2 ), y sh
= sh
para
(k+K1 +K2 )
i h f 1. Reuniendo i h f 1 con f h < g2 , tenemos que ni p(sh
)
(k+K1 +K2 )
ni q(sh
) para cada h con i h < g2 .
En la segunda opcin pK1 Cx1 Cx+1 tambin obtenemos lo deseado tomando
o

e
4LM
(k+K )
+ x, porque (sf 1 ) pertenece
g = f y K = K1 = K + y (x + 1) lg2

(k+K )
(k+K )
a Cx1 Cx+1 , y por el hecho mostrado anteriormente no p(sh 1 ) y no q(sh 1 )
para i h < f .
(k+K )
Finalmente, en la tercera opcin, que es pK1 (Cx1 Cx Cx+1 )c , como (sf 1 1 )
o
(k+K )
(k+K )
(k+K )
Cx y (sf 1 ) (Cx1 Cx Cx+1 )c , llamando M2 = (sf 1 sf 1 1 ), el intervalo
(k+K ) (k)
[sf 1 1 , sf ] verica la hiptesis de induccin, y solo puede tener (xy) inserciones de
o
o

4LM2
tipo q, y por tanto deducimos que en menos de K2 (xy+1) lg2
+(xy)

inserciones, se obtiene cierto punto (s(k+K1 +K2 ) ) Cx1 Cx+1 tal que para cada
g2
(k+K +K )
(k+K +K )
h with f 1 h < g2 no se verica ni p(sh 1 2 ) ni q(sh 1 2 ). De modo
a
+
K
parecido lo anterior, concluimos tomando K = K1 + K2 = K y +2

4LM
4LM2
4LM
lg2
+ y + (x y + 1) lg2
+ (x y) (x + 1) lg2
+x

(k+K +K )
(k+K +K )
y tenemos que no p(sh 1 2 ) y no q(sh 1 2 ) para i h < g2 .
(x y) (x + 1) lg2

Esta laboriosa proposicin nos permite demostrar el siguiente lema. Denotaremos

LM
LM
1 = mx 0,
a
1 .

Lema 5. Supongamos que es Lipschitziana de constante L, -singular, y que S (k)


es la secuencia de parmetros al nal de la iteracin k-sima del PIV aplicado a , y
a
o
e
(k)
(k)
(k)
que M = (si+1 si ) siendo (si ) el k-simo punto de insercin. Si N es el nmero
e
o
u
(k) (k)
u
o
de bordes cruzados por ([si , si+1 ]), para N 2 el nmero de puntos de insercin
(k)
(k)
entre (si ) y (si+1 ) est acotado por
a

(N 1)

LM
1

+1
0

lg2

4LM

LM
+N
1

.
0

Demostracin. Probamos la armacin por induccin en N . Si N = 2, por la propoo


o
o

4LM
sicin 9 en K inserciones, con K (x + 1) lg2
o
+ x, siendo x el nmeu

ro de q-inserciones, tenemos un punto de insercin (s(k+K ) ) Cx1 Cx+1 tal


o
g

2.5. EVITANDO GIROS PERDIDOS

65
(k+K )

(k+K )

que para cada h with i h < g no se verica ni p(sh ) ni q(sh


). Recor
LM
1 , as que K
demos que el nmero de q-inserciones est acotado por
u
a

LM
LM
4LM
1 + 1 lg2
+
1 . Como se verica ni p ni q, el PIV

0
0
(k) (k+K )
]).
no producir ninguna insercin adicional en el segmento de curva ([si , sg
a
o
(k+K ) (k)
, si+1 ]) (porque los puntos exAdems no producir ningua p-insercin en ([sg
a
a
o
(k)
tremos estn conectados ya que N = 2). nmero de q-inserciones en ([s(k+K) , si+1 ])
a
El u
g

(k)

L(si+1 s(k+K) )

LM 1 , luego el total de inserciones


est acotado por
a
1

0
(k)

(k)

en ([si , si+1 ]) es menor o igual que

LM
1
K +

LM
1

+1

lg2

4LM

LM
+2
1

,
0

que es nuestra armacin.


o
Para el caso general N > 2, la hiptesis de induccin es que cualquier segmento
o
o
de curva, con una diferencia de parmetros de los extremos de M , cruzando (N 1)
a
bordes, requiere como mucho

(N 2)

LM
1

+1
0

lg2

4LM

LM
+ (N 1)
1

inserciones. Por la proposicin 9,


tenemos que para cierto K o igual que
menor

o
4LM
4LM
LM
LM
1 + 1 lg2
1 , el
K (x + 1) lg2
+x
+

0
0
punto de insercin (s(k+K ) ) Cx1 Cx+1 es tal que para cada h con i h < g no se
o
g
(k)
(k+K )
(k+K )
). Luego el segmento ([si , s(k+K ) ]) no tendr ms
a a
) ni q(sh
verica ni p(sh
g
(k+K ) (k)
inserciones, y ([sg
, si+1 ]), que tiene una diferencia entre los parmetros de los
a
(k)
(k+K )
extremos de M = (si+1 sg
) < M , por hiptesis de induccin requerir coo
o
a

LM
4LM
LM
mo mucho de (N 2)
1 + 1 lg2
+ (N 1)
1
0

LM
4LM
LM
(N 2)
1 + 1 lg2
+ (N 1)
1 inserciones. Suman

0
0
do cotas de ambos segmentos, tenemos que el total es menor o igual que (N
las

LM
4LM
LM
1)
1 + 1 lg2
+N
1 .

0
0
Finalmente tenemos:
Teorema 4. Si : [a, b] C es -singular con = 0, con una parametrizacin Lipso
chitziana de constante L, entonces el PIV aplicado a la curva concluye en menos de

4L(b a)
4L|S (0) |
4L|S (0) |
L(b a)
L|S (0) |
1 + 1 lg2
+
+1
1 in

0
0
serciones.


CAP
ITULO 2. CALCULO DEL
INDICE DE UNA CURVA

66

(0)

(0)

Demostracin. El nmero N de bordes cruzados por cada segmento ([si , si+1 ]) de la


o
u
(0)
(0)
4L(si+1 si )
secuencia inicial es tal que N 1
, como se ve en la prueba del teore
ma 2. Aplicando el lema previo tenemos que el nmero mximo inserciones en
u
a
de
cada

(0)
(0)
(0)
(0)
(0)
(0)

4L(si+1 si )
4L(si+1 si ) L(si+1 si )

1 + 1 lg2
segmento es

(0)

(0)

4L(si+1 si )
+1

lg2

(0)
4L(si+1

(0)
si )

(0)
L(si+1

(0)

(0)

lg2

si )
1 . Sumando estos valores, y usando que

4L|S |
,

(0)
L(si+1

(0)

si )
1

L|S (0) |
1

y
0

n1
(0)
(0)
(0)
(0)

L(si+1 si )
L(si+1 si )
= L(b a) , se tiene que el total de

i=0
i=0
(0)
4L(b a)
L|S |
4L|S (0) |
inserciones es menor o igual que
1 +1
lg2

(0)
L(b a)
4L|S |
+1
1 .
+

0
n1

Notemos que esta cota del nmero


u
de inserciones requeridas por el PIV para el

1
1
1
1
1
1
clculo del
a
ndice es de orden O 2 lg2
+ lg2
= O 2 lg2
.

2.6.

Cota del coste independientemente de la singularidad

Al usar el PIV, un clculo del


a
ndice requiere

4L(b a)

L|S (0) |
1

+1
0

4L|S (0) |
4L|S (0) |
L(b a)
lg2
+
+1
1 inserciones. Sin embargo, si no

0
es previamente conocido, esta frmula no puede aplicarse para presupuestar el nmero
o
u
de inserciones que se necesitarn. Puede ser arbitrariamente alto si la distancia de
a
la curva al origen es cercana a cero. El PIV, aplicado a una curva con valor de
singularidad desconocido, se enfrenta a un coste impredecible. Para controlar esto,
modicamos el PIV, de tal modo que podemos acotar el coste del clculo del
a
ndice,
retornando con excepcin cuando se excede esta cota. La herramienta usada es el teoo
rema 5 ms abajo. Est basado en el hecho de que dos puntos de insercin con valores
a
a
o
de parmetro cercanos implican un valor de singularidad bajo. Primero probamos este
a
hecho para p-inserciones, en el lema 6, y luego para q-inserciones, en el lema 7.

2.6. COTA INDEPENDIENTE DE LA -SINGULARIDAD

67

Lema 6. Si si , si+1 , si+2 son tres valores del parmetro de la curva , Lipschitziana
a
si + si+2
con (si ) y (si+2 ) en
con constante L, -singular, y si+1 verica que si+1 =
2
sectores no conectados, y adems si+1 si para cierto positivo, entonces o bien
a
L
L
. Consecuentemente
.
|(si )| o bien |(si+2 )| es menor o igual que

sen 8
sen
8
si + si+2
entonces si+2 si+1 = si+1 si y por hiptesis
o
Demostracin. Como si+1 =
o
2
si+2 si = si+2 si+1 + si+1 si = 2(si+1 si ) 2. Adems por la propiedad
a
de Lipschitz, |(si+2 ) (si )| L(si+2 si ) L2. Luego se tiene que los puntos
(si ) y (si+2 ) estn en sectores no conectados, pero a una distancia menor que L2.
a
Consideremos el tringulo formado por estos puntos y el origen O. Tiene un angulo
a

en O mayor que , pero menor o igual que porque es el angulo interno de un


4
tringulo. El lado opuesto a es el segmento (si )(si+2 ), de longitud menor o igual
a
que L2 (ver gura 2.16). Mostraremos que o bien (si ) o bien (si+2 ) est a distancia
a
L
del origen. Supongamos que |(si+2 )| |(si )| (en caso
menor o igual que
sen
8
de que |(si+2 )| > |(si )|, el razonamiento es similar). Sea D el punto del segmento
O(si ) a la misma distancia de O que (si+2 ).

Figura 2.16: El punto D est a la misma distancia del origen que (si+2 ).
a
Se verica que long((si+2 )D) L2, porque el tringulo issceles de vrtices O,
a
o
e
(si+2 ), D tiene el lado m
nimo entre aquellos tringulos que tienen un angulo de
a

y el menor lado adyacente a este tiene longitud |(si+2 )|. Adems, considerando el
a

long((s

)D)

i+2

2
=
.
tringulo que surge de la biseccin del angulo , tenemos que sen
a
o

2
|(si+2 )|


Finalmente notemos que como , entonces y por tanto y
4
8
2
2
8
2


CAP
ITULO 2. CALCULO DEL
INDICE DE UNA CURVA

68

estn en un intervalo de crecimiento de la funcin seno, y verican sen


a
o
sen
.
8
2
Encadenando estas desigualdades tenemos:

sen
=
sen
8
2

Y entonces |(si+2 )|
que |(si+2 )|

long((si+2 )D)
2

|(si+2 )|

L
|(si+2 )|

L
. Como es el m
nimo |(s)| con s [a, b], tenemos
sen
8

L
.
sen
8

Lema 7. Si si , si+1 , si+2 son tres valores del parmetro de la curva , Lipschitziana
a
si + si+2
con constante L, -singular, y si+1 verica que si+1 =
con (si+2 si )
2
|(si )| + |(si+2 )|
, y adems si+1 si para cierto positivo, entonces o bien
a
L
|(si )| o bien |(si+2 )| es menor o igual que L. Consecuentemente L.
si + si+2
Demostracin. Como si+1 =
o
entonces si+2 si+1 = si+1 si y por hiptesis,
o
2
como en el lema 6, si+2 si = si+2 si+1 + si+1 si = 2(si+1 si ) 2. Encadenando
|(si )| + |(si+2 )|
|(si )| + |(si+2 )|
esto con (si+2 si )
, se tiene 2
, esto es
L
L
2L |(si )| + |(si+2 )| 2 m
n(|(si )|, |(si+2 )|). Luego m
n(|(si )|, |(si+2 )|)
L, lo que implica la conclusin.
o

Notemos que estos lemas son vlidos para tres valores cualquiera del parmetro,
a
a
(k)
independientemente de que formen parte de una secuencia. Pero en particular, si si+1 es
(k) (k)
(k)
el valor insertado en una iteracin del PIV en la secuencia S (k) = (s0 , s1 , . . . , sn+k ),
o
(k1)
(k1)
(k)
(k)
s
+ si+1
s + si+2
(k)
entonces si+1 = i
= i
. Luego tenemos que:
2
2
(k)

(k)

(k)

Corolario. Si S (k) = (s0 , s1 , . . . , sn+k ) es el estado de la secuencia al nal de cual(k)


(k)
(k)
quier iteracin del PIV, y si (si+1 ) es el ultimo punto de insercin, con si+1 si
o

o
L
.
para cierto positivo, entonces
sen
8
Demostracin. Notemos que, en la k-sima iteracin del bucle mientras, las condio
e
o
(k1)
ciones p y q se evalan en la secuencia S
u
que resulta de la iteracin previa. Luego
o
(k1)
(k1)
(k)
se verica p(si
) o q(si
), y el punto insertado tiene de parmetro a si+1 =
a
(k1)
(k1)
(k)
(k)
si + si+2
si
+ si+1
(k1)
(k1)
(k)
=
. Por un lado, si p(si
), entonces (si
) = (si )
2
2
(k1)
(k)
(k)
(k)
(k)
y (si+1 ) = (si+2 ) no estn conectados, y los valores si , si+1 y si+2 estn en
a
a

2.6. COTA INDEPENDIENTE DE LA -SINGULARIDAD

69

L
. Por otro lado, si q(s(k1) ), entonces
i
sen
8
(k)
(k)
(k1)
(k1)
|(si )| + |(si+2 )|
|(si
)| + |(si+1 )|
(k)
(k)
(k1)
(k1)
, i.e. (si+2 si )
,
(si+1 si
)
L
L
L
. En
y podemos aplicar el lema 7 para concluir que L, que es menor que
sen
8
(k1)
(k1)
(k)
(k)
cualquier caso, si p(si
) o q(si
), y si+1 si , entonces se tiene que
L
.
sen
8
la hiptesis del lema 6. Por tanto
o

L
si s(k) s(k)
i+1
i
sen
8
(k)
en la insercin de si+1 ), modicaremos el PIV de tal manera que podremos acotar
o
el nmero de iteraciones que realiza. El Procedimiento de Insercin con Control de
u
o
la Singularidad (PICS) (mostrado en la gura 2.17) tiene como entradas una curva
(0) (0)
anal
ticamente denida , una sucesin S (0) = (s0 , s1 , . . . , s(0) ) y un parmetro real
o
a
n
(k) (k)
(k)
(k)
a
Q. Recordemos que S = (s0 , s1 , . . . , sn+k ) es el valor de la secuencia de parmetros
(k)
(k)
despus de la insercin k-sima. Las aserciones p(si ) y q(si ) signican lo mismo que
e
o
e
(k)
(k)
(k)
en la seccin anterior, y r(si , Q) es los valores si y si+1 en la secuencia S (k) verican
o
(k)
(k)
si+1 si Q.
Informalmente, podemos decir que el PICS consiste en un bucle mientras que se
repite hasta que se obtiene una secuencia conexa (i.e., que verica la condicin no
o
p) y sin giros perdidos (no q), comprobando (con r) que este bucle no se ejecuta
indenidamente.
(k)
(k)
(k)
Notemos que la asercin r(si , ) es equivalente a si+1 si , la hiptesis del
o
o
corolario anterior, y en caso de retorno con excepcin podemos aplicarlo para deducir
o
una cota superior del valor de singularidad.
El uso de la secuencia de salida para calcular Ind(), y el coste del PICS, se
describen en el siguiente:
Con esta cota del valor de singularidad (que es

Teorema 5. Si : [a, b] C es Lipschitziana con constante L, S (0) una secuencia


muestreo de [a, b], y Q es un real positivo, el procedimiento de insercin con control de
o
(0)
singularidad aplicado a , S y Q verica:

ba
a) Retorna en menos de
1
Q

iteraciones.
0

b) Si sale normalmente, la secuencia retornada nos da Ind().


c) Si sale con excepcin, el valor del parmetro t verica |(t)|
o
a

LQ
.
sen
8

70

CAP
ITULO 2. CALCULO DEL
INDICE DE UNA CURVA
Procedimiento de insercin con control de singularidad:
o
Para hallar el
ndice de una curva : [a, b] C
Parametros de entrada: La curva de constante de Lipschitz L, una secuencia S (0) = (s0 , s1 , . . . , sn ), muestreo del [a, b], y un
parmetro real Q > 0.
a
Salida: Una secuencia que es vlida para calcular Ind(), si se
a
sale normalmente, o un valor t en [a, b] tal que |(t)| < LQ, si se sale
con excepcin.
o
Mtodo:
e
Asignar a k el valor 0.
(k)
(k)
(k)
Mientras haya un si en S (k) con p(si ) o con q(si ) hacer:
(k)
(k)
si + si+1
(k)
(k)
(k+1)
entre si y si+1 ;
{ Insertar si
=
2
(k)
(k)
(k)
Si r(si , Q), retornar t = si o t = si+1 segn sea
u
(k)
(k)
m
n(|(si )|, |(si+1 )|); [Salida con excepcin]
o
Incrementar k;
}
Retornar la secuencia resultante; [Salida normal]

Figura 2.17: Procedimiento de Insercin con Control de Singularidad (PICS). Notemos


o
(k)
que la l
nea Insertar produce S a partir de S (k1) en la k-sima iteracin.
e
o
Demostracin. Acotaremos el nmero de valores del parmetro insertados entre a y
o
u
a
(0) (0)
b si se empieza con la secuencia inicial m
nima (a = s0 , s1 = b). Al nal de cada
(k) (k)
(k)
(k)
(k)
iteracin, los valores (a = s0 , s1 , . . . , sk+1 = b) deben vericar si+1 si > Q,
o
porque en caso contrario la condicin de excepcin causa la salida. Para contar el
o
o
(k)
mximo nmero de valores si que se pueden dar con esa condicin, consideremos que
a
u
o
en un intervalo de longitud ba se pueden insertar m valores con una diferencia mayor
que Q si (m + 1)Q < b a, sin contar los extremos. Luego el nmero k de puntos
u
(k)
(k)
interiores s1 , . . . , sk debe vericar (k + 1)Q < b a, y el mximo valor posible para
a

ba
ba
k es
1 . Luego como mucho
1 iteraciones se realizan hasta que
Q
Q
0
0
(k)
se alcanza la condicin de excepcin r(si , Q), si no hay antes una salida normal.
o
o
Para b), el caso de salida normal, la traza de ejecucin del PICS coincide con la
o
del PIV, y por tanto la secuencia retornada es vlida para calcular el Ind() por el
a
teorema 4.
Respecto al valor del parmetro t retornado si hay excepcin, notemos que en
a
o
(k1)
(k1)
(k)
tal caso se verica que p(si
) o q(si
), y r(si , Q), que son las condiciones

2.6. COTA INDEPENDIENTE DE LA -SINGULARIDAD

71

requeridas para entrar en el bucle y salir con excepcin. En el caso de que se verique
o
(k)
(k)
s + si+2
(k1)
(k)
(k)
p(si
) y r(si , Q), la ultima iteracin ha sido de tipo p (esto es, si+1 = i

o
2
(k)
(k)
(k)
(k)
con (si ) y (si+2 ) en sectores no conectados) y si+1 si Q. Por el lema 6,
LQ
(k)
(k)
. En el caso
tenemos que o bien |(si )| o bien |(si+2 )| es menor o igual que
sen
8
(k1)
(k)
de que se verique q(si
) y r(si , Q), la ultima iteracin ha sido de tipo q (esto es,

o
(k)
(k)
(k)
(k)
s + si+2
|(si )| + |(si+2 )|
(k)
(k)
(k)
(k)
(k)
si+1 = i
con (si+2 si )
) y si+1 si Q. Luego por
2
L
(k)
(k)
el lema 7 o bien |(si )| o bien |(si+2 )| es menor que LQ. Como t es precisamente
(k)
(k)
(k)
(k)
t = si or t = si+1 dependiendo de m
n(|(si )|, |(si+1 )|), en cualquiera de los dos
LQ
.
casos el valor de retorno t verica |(t)|
sen
8

Resumiendo, el procedimiento de insercin con control de singularidad evita un


o
nmero excesivo de iteraciones, controlado por un parmetro de entrada Q. As PICS
u
a
,
LQ
, pero si el valor
calcula de modo efectivo el
ndice de curvas con >
sen
8
de singularidad est por debajo de este nivel, el procedimiento retorna con excepcin,
a
o
sealando este hecho, o puede retornar normalmente con una secuencia cuyo nmero de
n
u

ba
cruces coincide con el
ndice de la curva, siempre en menos de
1 iteraciones.
Q
0
Para encuadrar este resultado en el marco de la literatura existente, hay que considerar que hemos desarrollado un algoritmo para el clculo del
a
ndice, usando la
discretizacin de la curva para obtener una secuencia a la que se puede aplicar con
o
abilidad el mtodo de Henrici de contar el nmero de pasos por el eje de las abscisas
e
u
positivo. Tambin damos una cota de su coste computacional en casos no singulares,
e


1
1
en el teorema 4. Esta cota es del orden de O 2 log
evaluaciones de la curva,

siendo su distancia m
nima al origen. Tambin damos otro algoritmo para calcular
e
el
ndice que se puede aplicar a curvas cuya distancia m
nima es desconocida, pero
asegurando que, antes de invertir una cantidad predenida de clculo, retornar con
a
a
el
ndice calculado o con un certicado de que la curva es casi singular.
Como conexin con
o
otros trabajos, y sugerencias de desarrollo futuro, podemos

1
1
decir que el coste de O 2 log
es coherente con los procedimientos analizados

en [Chou and Ko, 1995], que dependen de un parmetro n para calcular el


a
ndice de
n
curvas con valor de singularidad mayor que 2 .
El valor de singularidad se relaciona con el condicionamiento en clculo numrico
a
e
descrito en la introduccin. Dentro de una clase dada de problemas, el nmero de
o
u
condicin de un problema espec
o
co mide la dicultad de su resolucin comparada con
o

72

CAP
ITULO 2. CALCULO DEL
INDICE DE UNA CURVA

1
los restantes de su clase. El rec
proco del valor de singularidad, , puede verse como

un nmero de condicin similar al usado en anlisis numrico lineal. Esta analog


u
o
a
e
a
1
de con un nmero de condicin es subrayada por el hecho de que coincide con la
u
o

distancia de a la curva ms prxima mal planteada (ill-posed) para el problema del


a
o

ndice, para cierta mtrica denida en el conjunto de curvas planas. Intuitivamente,


e
mide la proximidad del problema espec
co a un problema mal planteado de la clase
(ver [Demmel, 1987, Blum et al., 1998]). En nuestro caso, un problema mal planteado
es una curva que cruza el origen, sin un
ndice denido.

Cap
tulo 3
Mtodo geomtrico para calcular el
e
e
n mero de ra
u
ces
Siguiendo con el programa expuesto en la introduccin para desarrollar un mtodo
o
e
geomtrico, disponiendo del mtodo PICS para el clculo del
e
e
a
ndice de curvas planas
del cap
tulo anterior, en este se particulariza, en la seccin 3.1, para curvas imagen
o
por un polinomio, y se incorpora a un procedimiento recursivo de descomposicin
o
en subregiones, en la seccin 3.2. Como se ha comentado, la principal aportacin
o
o
de nuestro mtodo es que permite evitar las curvas singulares, lo es crucial para la
e
descomposicin pues asegura la nitud del proceso. Tambin se hace un anlisis de
o
e
a
coste en la seccin 3.3.
o
Calculamos el
ndice de una curva utilizando un muestreo discreto obtenido por
un procedimiento iterativo. Hemos demostrado la convergencia de este procedimiento
para curvas no singulares en el cap
tulo anterior, y tambin lo hemos modicado de
e
tal forma que se mantengan acotados los requerimientos de cmputo cuando se aplica
o
a curvas singulares o cercanas a singulares [Garc Zapata and D Mart 2012]. Es
a
az
n,
una modicacin del bucle de recorrido-insercin del procedimiento bsico de Yingo
o
a
Katz (gura 2.6) con una condicin adicional de entrada en el bucle, que asegura el
o
clculo correcto del
a
ndice de la curva mediante el nmero total de cruces C7 C0 de
u
la secuencia resultante. El Procedimiento de Insercin Vlido para cualquier secuencia
o
a
inicial (PIV) es el de la gura 2.13. Informalmente, se puede decir que el PIV involucra
un bucle while que es repetido hasta que se obtiene una secuencia conectada (es decir,
que verica la condicin no p) y sin giros perdidos (no q). La validez de la secuencia
o
de salida para calcular Ind() se ha demostrado, analizando tambin el coste del PIV
e
usando la nocin de -singularidad, en el teorema 4.
o


1
1
Sin tener en cuenta las constantes, esta cota del coste es de orden O 2 log
.

73

74

CAP
ITULO 3. CALCULO DEL NUMERO DE RA
ICES

Sin embargo, este resultado es de escaso inters para la aplicacin prctica del PI,
e
o
a
debido a que el valor no se conoce previamente. El teorema anterior nos dice que
1
el nmero de iteraciones es menor que una cota que crece proporcionalmente a
u

(esto es, disminuyendo con ). Rec


procamente, podemos deducir que si el nmero
u
de iteraciones supera cierto umbral, el valor debe ser bajo, es decir, la curva debe
estar cerca del origen. Siguiendo este razonamiento, se deni otro procedimiento que
o
incluye una prueba para detectar un valor pequeo de y salir del procedimiento
n
en ese caso (que corresponde con una curva cercana a singular). Se ha denominado
Procedimiento de Insercin con Control de Singularidad (PICS), que evita un nmero
o
u
excesivo de iteraciones, controlado por el parmetro de entrada Q.
a
El teorema 5 establece que PICS calcula en efecto el
ndice de las curvas con
LQ
. Para curvas cuya distancia al origen est por debajo de este nivel, PICS
e
>
sen
8
puede quizs retornar normalmente con una secuencia vlida para calcular el
a
a
ndice,
o puede retornar con excepcin, indicando que la curva de entrada es -singular. En
o

ba
cualquier caso, el procedimiento retorna en menos de
iteraciones.
Q

3.1.

Procedimiento de insercin para curvas de la


o
forma = f ()

El coste computacional (es decir, el nmero de iteraciones) de un clculo de


u
a
ndice
de curva usando PIV est relacionado con la distancia de la curva al origen d(O, )
a
(teorema 4). El procedimiento PICS, por el contrario, cuando el coste sobrepasa un
umbral, retorna con excepcin con una cota de esta distancia (teorema 5). En este
o
cap
tulo nos centramos en curvas de la forma = f () para un polinomio f . Estas
curvas surgen cuando calculamos el nmero de ra
u
ces de f dentro de . Para este
particular tipo de curva, el coste de aplicar PIV a , dado por el teorema 4, puede
expresarse en funcin de la distancia de hasta la ra ms cercana de f , en vez
o
z a
de la distancia de al origen. Adems, si aplicamos PICS a , en caso de excepcin,
a
o
tenemos por el teorema 5 una cota superior de la distancia de al origen. Sin embargo,
mostraremos que esta cota es muy laxa, de modo que no es util para usar PICS como

test de inclusin para hallar ra


o
ces. Necesitamos una cota ms estricta porque, en la
a
particin en subregiones de la regin de bsqueda propia de cualquier mtodo divideo
o
u
e
y-vencers, si el borde de una particin pasa por una ra su transformacin es
a
o
z,
o
singular. Con una cota ms ajustada podemos modicar la particin de modo que su
a
o
borde no pase por, o cerca de, una ra y as evitar curvas singulares. En consecuencia,
z,

denimos otro procedimiento (de insercin con control de proximidad de ra PCR,


o
z,

3.1. PROCEDIMIENTO PARA CURVAS IMAGEN

75

descrito en la gura 3.1 y teorema 6) que, cuando retorna con excepcin, nos da una
o
cota de cierta funcin (el nmero de condicin f ()) que depende de las ra
o
u
o
ces y la
curva. En la siguiente seccin se ver como usar esta cota en el mtodo iterativo de
o
a
e
particin de la seal de bsqueda.
o
n
u
Para calcular el
ndice de las curvas usando PIV, el teorema 4 requiere que
sea Lipschitziana. Para cumplir este requisito tcnico en curvas de la forma = f ()
e
para un polinomio f , imponemos que est uniformemente parametrizada. Esto no
e
supone una restriccin en la prctica, ya que la curva que encierra la regin que
o
a
o
nos interesa normalmente se construye conectando segmentos rectos (o arcos de circunferencia) uniformemente parametrizados. Para mostrar que si es uniformemente
parametrizada entonces f () es Lipschitziana, usamos que es acotada (porque es la
imagen de un conjunto compacto : [a, b] C). Consecuentemente, como una funcin
o
diferenciable en un conjunto acotado es Lipschitziana [Kolmogorov and Fomn, 1975],
el polinomio f es Lipschitziano (en ) con constante L = sup |f ((x))|. Por tanto,
x

= f () es la composicin de una curva uniformemente parametrizada y una funo


cin Lipschitziana f , y por tanto es una curva Lipschitziana con la misma constante
o
L. Se verica as la hiptesis del teorema 4, y PIV calcula el

o
ndice de = f () (es
decir, el nmero de ra dentro de ).
u
ces
El factor clave en el coste del clculo del
a
ndice, por el teorema 4, es la distancia al
origen desde . Esta distancia y las ra
ces de f estn relacionadas como se describe
a
en la siguiente proposicin.
o
n
Sea f (z) = an z + + a1 z + a0 un polinomio de grado n y su descomposicin
o
en ra
ces f (z) = an (z z1 )(z z2 ) . . . (z zn ). Recordemos que la distancia d(A, B)
entre dos conjuntos A and B es el m
nimo de las distancias entre cada par de puntos
de los respectivos conjuntos. En particular, si Z es el conjunto de las ra
ces de f ,
Z = {z1 , z2 , . . . , zn }, su distancia d(Z, ) a es la distancia desde la ra ms cercana,
z a
y d(O, ) es la distancia desde el origen O a .
Proposicin. Si : [a, b] C es una curva uniformemente parametrizada, f un
o
polinomio de grado n, con constante de Lipschitz L, y = f (), entonces se tiene:
|an | d(Z, )n d(O, ) L d(Z, )
Demostracin. Para la primera desigualdad, usando la descomposicin en ra de f ,
o
o
ces
tenemos que:
f ((t)) = an ((t) z1 )((t) z2 ) . . . ((t) zn )
Tomando mdulo, para cada t [a, b]:
o
|(t)| = |f ((t))| = |an ||(t) z1 ||(t) z2 | . . . |(t) zn |

CAP
ITULO 3. CALCULO DEL NUMERO DE RA
ICES

76

Recordemos que el producto de funciones no negativas g y h verica que


nf(gh)

nf(g)
nf(h). Si tomamos el
nmo sobre t [a, b] en la anterior igualdad, tenemos
|(t)| = |an |
nf
nf(|(t) z1 ||(t) z2 | . . . |(t) zn |)

t[a,b]

|an | |(t) z1 | |(t) z2 | . . . |(t) zn |


nf
nf
nf

|an |

m |(t) zi |
n nf

i=1...n t[a,b]

La ultima desigualdad se debe a que el producto de n factores es mayor que la

n-sima potencia del factor m


e
nimo. Por tanto |(t)| |an | (m nf |(t) zi |)n .
nf
n
t[a,b]

Observemos ahora que d(O, ) = |(t)| y d(Z, ) = m |(t) zi | por


nf
n nf
i=1...n t[a,b]

t[a,b]

denicin, por lo que tenemos d(O, ) |an | d(Z, )n .


o
Para la segunda desigualdad, para cada t [a, b] y ra zi , |(t)| = |f ((t))| =
z
|f ((t))f (zi )| L|(t)zi |, por Lipschitzianidad. Tomando el
nmo sobre t [a, b]
como antes, tenemos que, para cada zi , |(t)| L |(t) zi |. Por tanto
nf
nf
t[a,b]

t[a,b]

|(t)| L m |(t) zi | y llegamos a la conclusin.


nf
n nf
o
i=1...n t[a,b]

t[a,b]

Recordemos que si aplicamos el PIV para calcular el nmero de ra


u
ces dentro de

1
1
, su coste ser O 2 log
a
por la cota del teorema 4, donde = d(O, ). En

1
1

deducida de
trminos que dependen de , por la desigualdad
e
n
|an | d(Z, )
d(O, )
la anterior proposicin, el clculo tiene un coste de orden menor o igual a
o
a

1
1
O
log
n )2
(|an | d(Z, )
|an | d(Z, )n

1
1
log
. Debe notarse que esta dependencia de la dises decir O
d(Z, )2n
d(Z, )
tancia a la ra ms cercana es consistente con otros algoritmos que calculan el nmero
z a
u
de ra en una regin [Renegar, 1987, Pan, 1997].
ces
o
Como la distancia d(Z, ) a las ra es desconocida, nos enfrentamos a un coste
ces
indeterminado usando PIV, como se discuti en el cap
o
tulo anterior. Esta fue la motivacin para introducir PICS (gura 2.17), que nos da una cota asegurada de coste.
o
Adems, una segunda ventaja de PICS es que si se alcanza la cota del coste, retorna
a
LQ
,
con excepcin devolviendo un punto de la curva cerca del origen, |(t)|
o
sen
8
LQ
. En el
como establece el teorema 5. Esto nos da una cota a d(O, ), que es
sen
8
caso particular de curvas de la forma = f () podemos deducir una cota superior

3.1. PROCEDIMIENTO PARA CURVAS IMAGEN


de d(Z, ): por la proposicin 3.1, |an | d(Z, )n d(O, ) |(t)|
o

77
LQ
, y por
sen
8

LQ
, en caso de una salida con excepcin de PICS.
o
|an | sen(/8)
Esta cota dada para PICS es muy laxa, ya que decrece mucho ms lentamente que
a
el parmetro Q: su valor puede ser cercano a 1 para valores moderados de n incluso
a
con un Q muy pequeo. En caso de retornar con excepcin necesitamos un cota de
n
o
d(Z, ) ms na, para as poder localizar una ra verdaderamente cerca del punto que
a

z
produce la excepcin. Tomar la n-sima ra es un severo inconveniente en una frmula
o
e
z
o
de acotacin. El procedimiento PICS, al menos como esta descrito en el teorema 5, no
o
proporciona una buena cota.
Debemos pues denir otro procedimiento para el cual exista una cota que dependa
linealmente de Q. En el Procedimiento con Control de proximidad de las Ra (PCR,
ces
gura 3.1) utilizamos los predicados p, q2 y r signicando p(si ) que los valores si y
si+1 en la secuencia S tienen sus imgenes f ((si )) y f ((si+1 )) no conectadas, q2 (si )
a
es los valores si y si+1 en la secuencia S verican:
tanto d(Z, )

|f ((si ))| + |f ((si+1 ))| 2 |f ((si ))| (si+1 si ) + |f ((si+1 )) f ((si ))| ,
y r(si , Q) signica los valores si y si+1 en la secuencia S verican (si+1 si ) Q.
Como antes, si+1 en el caso extremo de i = n debe entenderse como s0 . Las aserciones
p y r son iguales que en PICS, pero q2 es distinto de q. La asercin q2 es necesaria en
o
la proposicin 1 para demostrar que no hay giros perdidos y en la proposicin 3 para
o
o
demostrar que se verica cierta cota en caso de retorno con excepcin.
o
El retorno de PCR verica una armacin que involucra f (), el nmero de cono
u
dicin de la curva con respecto a f , denido como la suma de los inversos de las
o
distancias a de cada ra de f :
z
n

f () =

1
.
i=1 d(zi , )

La cota en caso de retorno con excepcin hace que el nmero de condicin f ()


o
u
o
en PCR juegue un papel similar al que tiene el inverso de d(O, ), la singularidad de
, en PICS. Por el teorema 5, un retorno con excepcin de PICS implica un valor
o
1
bajo de d(O, ), es decir, un valor alto de
. Mostraremos que un retorno con
d(O, )
n
1
.
excepcin de PCR implica un valor alto de f () =
o
i=1 d(zi , )
Con ayuda de la siguiente proposicin demostraremos (en el teorema 6) que si PCR
o
retorna normalmente, la secuencia retornada nos da el nmero de ra dentro de .
u
ces

CAP
ITULO 3. CALCULO DEL NUMERO DE RA
ICES

78

Procedimiento de insercin con control de proximidad de ra


o
z:
Para encontrar el nmero de ra
u
ces de un polinomio f dentro de una curva
: [a, b] C
Parmetros de entrada: La curva uniformemente parametrizada, el
a
polinomio f de grado n, una secuencia S = (s0 , . . . , sn ), muestreo de [a, b], y
un parmetro real Q > 0.
a
Salida: Una secuencia (t0 , . . . , tm ) que es vlida para calcular Ind(f ())
a
si se sale normalmente. Un valor t [a, b] tal que hay una ra z de f con
z
4nQ
, si se sale con excepcin.
o
d(z, (t))
2 2
Mtodo:
e
Mientras haya un si en S con p(si ) o con q2 (si ) hacer:
si + si+1
entre si y si+1 ;
{ Insertar
2
Si r(si , Q) entonces retornar t = si+1 ; [Salida con excepcin].
o
}
Retornar la secuencia resultante; [Salida normal]
Figura 3.1: Procedimiento de insercin con control de proximidad de ra
o
z.
1

0.5

f()

f((si))
0.5

f((si+1))

1.5
1

0.5

0.5

1.5

2.5

Figura 3.2: La longitud de arco de la curva f (([si , si+1 ])) es mayor que
|f ((si ))| + |f ((si+1 ))|.
Proposicin 1. En una curva f (), si hay un giro perdido entre si y si+1 , entonces
o
se verica q2 (si ) en la secuencia S = (. . . , si , si+1 , . . . ).
Demostracin. Geomtricamente, si la curva f (([si , si+1 ])) traza un giro perdido, su
o
e

3.1. PROCEDIMIENTO PARA CURVAS IMAGEN

79

longitud es mayor que la suma de los mdulos |f ((si ))| y |f ((si+1 ))| (ver gura 3.2).
o
si+1

La longitud de arco de f () en el intervalo paramtrico [si , si+1 ] es


e

|f ((x))| dx

si

porque est uniformemente parametrizada [Kolmogorov and Fomn, 1975]. El polia


nomio de Taylor de f () en torno a si es
n

f ((x)) = f ((si )) + f ((si ))(x si ) +

f (k) ((si ))
(x si )k1
(k 1)!
k=3

por tanto
si+1

|f ((x))| dx =

si

f ((si )) +

si
si+1

si

si+1

|f ((si ))| dx +

si+1

k=2 si
n

= |f ((si ))| (si+1 si ) +


k=2
n

= |f ((si ))| (si+1 si ) +


k=2

f (k) ((si ))
(x si )k1 dx
k=2 (k 1)!
f (k) ((si ))
(x si )k1 dx =
(k 1)!

f (k) ((si ))
(k 1)!

si+1
si

(x si )k1 dx =

f (k) ((si )) (si+1 si )k


(k 1)!
k

Adems, el polinomio de Taylor de f () alrededor si es


a
n

f ((x)) = f ((si )) + f ((si ))(x si ) +

f (k) ((si ))
(x si )k
k!
k=2

Para x = si+1 , tomando valores absolutos y despejando el sumatorio tenemos:


n

f (k) ((si ))

k=2

k!

(si+1 si )k = |f ((si+1 )) f ((si )) f ((si ))(si+1 si )|


|f ((si+1 )) f ((si ))| + |f ((si ))| (si+1 si )

Por tanto
si+1

|f ((x))|dx

si

|f ((si ))| (si+1 si ) + |f ((si+1 )) f ((si ))| + |f ((si ))| (si+1 si ) =


= 2 |f ((si ))| (si+1 si ) + |f ((si+1 )) f ((si ))| .
As si hay un giro perdido entonces
,
|f ((si ))| + |f ((si+1 ))|

si+1

|f ((x))| dx

si

2 |f ((si ))| (si+1 si ) + |f ((si+1 )) f ((si ))| ,


que es precisamente q2 (si ).

CAP
ITULO 3. CALCULO DEL NUMERO DE RA
ICES

80

Ahora clasicamos las iteraciones realizadas por el bucle mientras. Una iteracin
o
es de tipo p si se realiza porque se verica el predicado p(si ), y es de tipo q si se realiza
porque se verica la propiedad no p(si ), y q2 (si ). As toda iteracin es de tipo p o de

o
tipo q, pero no de ambos a la vez. Del mismo modo se pueden clasicar las salidas con
excepcin como de tipo p, o q, segn el tipo de iteracin en la que ocurre el retorno.
o
u
o
Mostraremos en el teorema 6 que PCR retorna con una secuencia vlida para cala
cular el nmero de ra dentro de , o con una cota inferior del nmero de condicin
u
ces
u
o
(equivalentemente, una cota superior de la distancia a una ra el anlogo del teorema
z,
a
5 para PICS). Previamente damos cotas inferiores de este nmero de condicin en caso
u
o
de excepciones de tipo p y q en las proposiciones 2 y 3, respectivamente, despus de
e
varios lemas auxiliares. Consideraremos los angulos medidos en el intervalo [0, 2).

Lema 8. Si es el ngulo orientado entre tres nmeros complejos (x, z, y) con vrtice
a
u
e
en z (es decir, = arg(y z) arg(x z)) entonces
m
n(d(z, x), d(z, y))

d(x, y)
2| sen(/2)|

Demostracin. El angulo orientado puede tomar cualquier valor entre 0 y 2 (ver la


o

gura 3.3). Notemos que si el ngulo orientado entre (x, z, y) es , entonces


a

y
y

d(x,y)

d(x,y)

x
z

Figura 3.3: El angulo orientado en z puede ser tanto menor como mayor que .

el angulo orientado entre (y, z, x), es decir 2 , es menor o igual que . Notemos

tambin que | sen((2 )/2)| = | sen( /2)| = | sen(/2)| = | sen(/2)| porque


e
la funcin | sen | es de periodo e impar. Por tanto la armacin de la proposicin es
o
o
o
la misma para los angulos (x, z, y) y (y, z, x), as que podemos discutir solo el caso de

angulo menor o igual que .

3.1. PROCEDIMIENTO PARA CURVAS IMAGEN

81

Figura 3.4: El punto D est a la misma distancia de z que y.


a
Supongamos que d(z, x) d(z, y), y sea D el punto del segmento zx a la misma
distancia de z que y (gura 3.4).
Se verica d(D, y) d(x, y) porque el tringulo issceles de vrtices z, y y D tiene
a
o
e
el lado m
nimo entre aquellos tringulos que tienen un angulo y cuyo menor lado
a

adyacente a este tiene longitud d(z, y). Adems, considerando el tringulo rectngulo
a
a
a
que surge de la biseccin de , tenemos que sen(/2) =
o
d(z, y) =

d(D,y)
2

d(z, y)

, es decir

d(D, y)
d(x, y)

2 sen(/2)
2 sen(/2)

El valor de sen(/2) es el mismo que | sen(/2)| porque /2 < .


En el caso contrario d(z, x) < d(z, y), tenemos de modo similar que d(z, x)
d(x, y)
. Tanto en el primero como en el segundo caso tenemos la cota, por tanto
2 sen(/2)
el m
nimo es menor o igual, como quer
amos mostrar.

Proposicin 2. Supongamos que se aplica PCR una curva y un polinomio f


o
de ra
ces z1 , z2 , . . . , zn . En una p-iteracin en la que el valor insertado sea si , si
o
sen(/8)
|si+1 si | < , entonces f ()
.

Demostracin. El valor insertado si es el punto medio de si1 y si+1 , por tanto si+1
o
si1 = si+1 si +si si1 < +. Por la parametrizacin uniforme de , |si+1 si1 | =
o
|(si+1 ) (si1 )| y entonces |(si+1 ) (si1 )| < 2.

CAP
ITULO 3. CALCULO DEL NUMERO DE RA
ICES

82

Adems, como el valor si se inserta en una p-iteracin, los puntos f ((si1 )) y


a
o
f ((si+1 )) (cuyos parmetros si1 y si+1 estn situados consecutivamente en la sea
a
cuencia S antes de la insercin) estn en sectores no conexos. Geomtricamente esto
o
a
e
implica que:
7

< arg f ((si+1 )) arg f ((si1 )) <


4
4
Por otro lado, por la descomposicin en ra del polinomio f
o
ces
f (z) = an (z z1 )(z z2 ) . . . (z zn )
se verica que arg f (z) = arg(an ) + arg(z z1 ) + arg(z z2 ) + + arg(z zn ), donde
la suma de angulos se entiende modulo 2.

Dando los valores concretos z = (si+1 ) y z = (si1 ) tenemos:


arg f ((si+1 )) = arg(an ) + arg((si+1 ) z1 ) + + arg((si+1 ) zn )
y
arg f ((si1 )) = arg(an ) + arg((si1 ) z1 ) + + arg((si1 ) zn )
Llamando j al ngulo orientado entre (si1 ) y (si+1 ) con vrtice en zj , es decir,
a
e
j = arg((si+1 ) zj ) arg((si1 ) zj ), la diferencia de las expresiones anteriores
da:
arg f ((si+1 )) arg f ((si1 )) = 1 + 2 + + n
Por tanto tenemos que
n

7
<
j <
.
4 j=1
4

Aparte de esto, llamamos mj = m


n(|zj (si1 )|, |zj (si+1 )|) para cada j entre
1 y n. Por la proposicin 8 con x = (si1 ), y = (si+1 ) y z = zj , tenemos que
o
mj = m
n(d(zj , (si1 )), d(zj , (si+1 )))
Recordemos que |(si+1 ) (si1 )| < 2, luego mj <

|(si1 ) (si+1 )|
2| sen(j /2)|

. Tomando inversos:
| sen(j /2)|


1
1
j
> sen
mj

Por denicin de distancia, d(zj , ) mj , as que


o


n
1
1
1 n
j
f () =

>
sen
j=1
2
j=1 d(zj , )
j=1 mj
n

3.1. PROCEDIMIENTO PARA CURVAS IMAGEN

83

Ahora notemos que, por la anterior cadena de desigualdades

<
4

j <
j=1

7
,
4

n
n

7
j
j
tenemos <
<
, y entonces
est en el intervalo [0, ] donde la funcin
a
o
8 j=1 2
8
j=1 2
seno es subaditiva [Schechter, 1996] (esto signica que sen() + sen() sen( + )).
por tanto:


1 n
j
1
sen

j=1
2

j
1
sen
sen
2

j=1

j
j=1 2

Como

7
j
est entre y
a
, el m
nimo del seno se alcanza en un punto extremo:
8
8
j=1 2

1
f () > sen

j
j=1 2

1
m
n

Estos dos valores coinciden, luego f () >

sen
8

7
, sen
8

1
sen(/8), como quer
amos demostrar.

Lema 9. Para cada punto x se tiene:


f (x)
f ()
f (x)
Demostracin. Un clculo [Henrici, 1988] nos da
o
a
f (x)
=
f (x)

1
i=1 (x zi )

n
1
1

i=1 (x zi )
i=1 |x zi |
1
1
Adems, como |x zi | d(zi , ) para cada zi , entonces
a

y
|x zi |
d(zi , )
n
n
1
1

= f (). Encadenando las desigualdades se concluye.


i=1 |x zi |
i=1 d(zi , )

incluso en el caso de ra mltiples. Luego


ces u

f (x)
=
f (x)

Lema 10. Si x, y son nmeros complejos cuya diferencia de argumentos es , entonces


u

|x y| |x| + |y| 2 m
n(|x|, |y|) 1 sen

Demostracin. Supongamos que m


o
n(|x|, |y|) = |y|, es decir, |y| |x|. El caso contrario
es similar. Consideremos el paralelogramo formado por el origen, x, x + y y y (gura
3.5). Resolviendo el tringulo formado por el origen, y, y el punto D en el segmento
a

CAP
ITULO 3. CALCULO DEL NUMERO DE RA
ICES

84

x+y
y
|xy|
2|y|sin(/2)

x
D

|x||y|

Figura 3.5: El punto D est a la misma distancia de O que y.


a

unidades.
2
Los otros lados del tringulo D, x, y miden |x y| y |x| |y|, luego por la desigualdad
a
triangular:

= |x| + |y| + 2|y| sen


1
|x y| |x| |y| + 2|y| sen
2
2

por tanto |x y| |x| + |y| 2|y| 1 sen


como quer
amos demostrar.
2
Ox a la misma distancia de O que y, se ve que su lado yD mide 2|y| sen

Proposicin 3. Supongamos que PCR se aplica a la curva y al polinomio f de races


o

z1 , z2 , . . . , zn . En una q-iteracin en la que el valor insertado sea si , si |si+1 si | < ,


o

2 2
.
entonces f ()
4
Demostracin. Siendo una q-iteracin, q2 (si1 ) y no p(si1 ) es cierto en la secuencia
o
o
S = (. . . , si1 , si+1 , . . . ) antes de la insercin de si , luego
o
|f ((si1 ))| + |f ((si+1 ))| 2 |f ((si1 ))| (si+1 si1 ) + |f ((si+1 )) f ((si1 ))|
Por el lema 10, siendo la diferencia de argumentos de f ((si1 )) y f ((si+1 )):
|f ((si+1 )) f ((si1 ))|
|f ((si1 ))| + |f ((si+1 ))|

2 m
n(|f ((si1 ))|, |f ((si+1 ))|) 1 sen

Encadenando con la desigualdad q2 (si ) tenemos:


|f ((si1 ))| + |f ((si+1 ))| 2 |f ((si1 ))| (si+1 si1 )+

+|f ((si1 ))| + |f ((si+1 ))| 2 m


n(|f ((si1 ))|, |f ((si+1 ))|) 1 sen

3.1. PROCEDIMIENTO PARA CURVAS IMAGEN

85

es decir

2 m
n(|f ((si1 ))|, |f ((si+1 ))|) 1 sen

2 |f ((si1 ))| (si+1 si1 ),


1 sen
|f ((si1 ))|
2

m
n(|f ((si1 ))|, |f ((si+1 ))|)
si+1 si1
Por otra parte, por el lema 9
f ()

f ((si1 ))
f ((si1 ))

f ((si1 ))
m
n(|f ((si1 ))|, |f ((si+1 ))|)

1 sen(/2)
. Adems, por no p(si1 ), f ((si1 )) y f ((si+1 )) estn
a
a
si+1 si1
en sectores adyacentes, lo que implica que su diferencia de argumentos es menor que

/2 y entonces sen(/2) < sen(/4) = 2/2 y 1 sen(/2) > 1 2/2. Tambin,


e
siendo si el punto medio de si1 y si+1 , si+1 si1 = si+1 si + si si1 < + .

2 2
Luego f ()
.
4
luego f ()

La precisin y el coste de PCR estn descritos en el siguiente teorema:


o
a
Teorema 6. Si : [a, b] C est uniformemente parametrizada, S es una secuencia
a
muestro de [a, b], Q un real positivo, y f un polinomio de grado n, el procedimiento de
insercin con control de proximidad de raz, PCR, verica:
o

ba
a) Retorna en menos de
+ 1 iteraciones.
Q
b) Si retorna normalmente la secuencia retornada nos da el nmero de races de f
u

dentro de .

2 2
c) Si retorna con excepcin, entonces f ()
o
.
4Q
Demostracin. Para a), notemos que el predicado r causa una salida si hay una ino
sercin en S de un valor del parmetro que est a menos de Q de otro valor en S. El
o
a
a
nmero mximode valoresen un intervalo [a, b] a una distancia mayor o igual que Q
u
a
ba
es precisamente
+ 1 . Luego este es el mximo nmero de iteraciones posibles.
a
u
Q
Para b), en una salida normal tenemos una secuencia S que verica no p(si ) y no
q2 (si ) para cada si . Consideremos el pol
gono formado por sus puntos imagen, que
son conexos (no p). No tiene giros perdidos (por la proposicin 1, no q2 implica que
o
no hay giro perdido). Luego el nmero de cruces del pol
u
gono por el semieje positivo
de abcisas nos da el
ndice de f (), que es el nmero de ra dentro de .
u
ces

86

CAP
ITULO 3. CALCULO DEL NUMERO DE RA
ICES

Para c), en una salida con excepcin el predicado |si+1 si | < Q es cierto. Si la
o
sen(/8)
, y si es de tipo q, por
salida es de tipo p, por la proposicin 2 f ()
o
Q

2 2
la proposicin 3 f ()
o
. En cualquier caso, como (2 2)/4 < sen(/8),
4Q
obtenemos la cota del teorema.

Si hay un retorno con excepcin, el nmero de condicin f () nos da una cota de


o
u
o
la distancia desde a la ra de f ms cercana, del siguiente modo:
z
a
Proposicin 4. En caso de retorno con excepcin de PCR, hay una raz zi con
o
o

4nQ
.
d(zi , )
2 2

n
2 2
1

por el teorema 6 c) , al menos


Demostracin. Como f () =
o
4Q
i=1 d(zi , )

2 2
1

para algn i.
u
un sumando es mayor que la n-sima parte, que es
e
d(zi , )
4nQ
Tomando inversos tenemos el resultado deseado.

En resumen, el procedimiento de insercin con control de proximidad de ra evita


o
z
un nmero excesivo de iteraciones, controlado por el parmetro de entrada Q. PCR
u
a
calcula correctamente el nmero de ra dentro de si no hay ra cercanas. Pero
u
ces
ces
si hay ra
ces en el contorno o cerca de l, el procedimiento puede retornar con
e
excepcin, indicando este hecho, o puede retornar normalmente con una secuencia
o

ba
vlida para calcular el nmero de ra
a
u
ces, siempre en menos de
1 iteraciones.
Q
Estas caracter
sticas son necesarias para utilizar PCR como componente en un
mtodo geomtrico para hallar ra
e
e
ces. As se evitan los inconvenientes, descritos en la

introduccin, de otras aproximaciones al problema de desarrollar un mtodo geomtrio


e
e
co. Estos inconvenientes son las curvas singulares (que pueden surgir en la particin
o
de la zona de bsqueda en subregiones), y la necesidad de informacin global (como
u
o
la constante de Lipschitz) para mostrar la correccin del clculo.
o
a
Hemos abordado estos problemas con un nmero de condicin f asociado a cada
u
o
curva. PCR detecta puntos de una curva que estn prximos a una ra retornando
a
o
z,
con excepcin en tal caso. Adems la prueba de que se calcula en efecto el
o
a
ndice no
usa informacin global.
o

ba
Hemos mostrado que PCR retorna en menos de
+ 1 iteraciones, ya sea norQ
malmente o con excepcin. Seguramente sea posible demostrar que, si el parmetro Q
o
a
es lo sucientemente pequeo, PCR retorna normalmente en menos de O(f ()2 log(f ()))
n

3.2. DESCOMPOSICION RECURSIVA DE LA REGION DE BUSQUEDA

87

iteraciones, un resultado similar al teorema 4. Debe notarse que esta dependencia de


la distancia a las ra es consistente con otros algoritmos que calculan el nmeros de
ces
u
ra en una regin [Renegar, 1987,Pan, 1997]. En cualquier caso, este uso del nmero
ces
o
u
de condicin f para anlisis terico no es necesario para nuestro propsito de hallar
o
a
o
o
ra por mtodos geomtricos.
ces
e
e

3.2.

Descomposicin recursiva de la regin de b squeo


o
u
da

En esta seccin detallamos el mtodo de descomposicin, la segunda componente de


o
e
o
nuestro mtodo geomtrico, segn la pauta comn que se describi en la introduccin.
e
e
u
u
o
o
La primera componente de estos mtodos es un predicado de inclusin, para decidir si
e
o
hay una o ms ra
a
ces en una regin. La segunda es un procedimiento recursivo para
o
subdividir la regin y localizar las raices con la precisin necesaria. Con el resultado
o
o
del teorema 7, el procedimiento PRec calcula el nmero de ra dentro de mediante
u
ces
el
ndice de = f (). Este procedimiento se usar como test de inclusin, y debemos
a
o
asegurar que retorna sin excepcin. Describimos primero el procedimiento recursivo.
o
El tamao de una regin P se mide por su dimetro rectangular dmRect (P ), que
n
o
a
se dene con precisin en la seccin 3.2.1. Una aproximacin de una raz con una
o
o
o

precisin de A > 0 es una regin de dimetro rectangular menor que A que contiene
o
o
a
a la ra
z.
El Procedimiento Recursivo de Divisin (PRec, gura 3.6) divide la regin inicial en
o
o
subregiones progresivamente ms pequeas, hasta que el dimetro cae por debajo de la
a
n
a
precisin A. Estas regiones se insertan en la secuencia , que al nal de PRec contiene
o
aproximaciones a las ra dentro de P . Cada regin Pi incluida en est etiquetada
ces
o
a
con el nmero de ra
u
ces que contiene, ni . En caso de que ni > 1 se tiene una ra
z
mltiple o un cluster (un conjunto de ra
u
ces situadas a distancia menor que A entre
s
).
Respecto a las dos rutinas, Ind(P ) y Bisec(P ) de PRec en la gura 3.6, la primera
es el clculo del
a
ndice de la imagen por f del borde de P . Internamente, este clculo es
a
realizado aplicando PCR a esta imagen, y con cierto valor de Q, como se ha mencionado
previamente. Denotamos esto con PCR(P, Q). El clculo del
a
ndice en Ind debe hacerse
sin excepcin, y por el teorema 6c, cuando el valor de Q es tal que no hay ra a menos
o
ces

o
de (4 + 2 2)nQ del borde de P , PCR no lanza una excepcin. Aunque el retorno con
excepcin de PCR nos da una aproximacin a una ra hemos preferido evitar tal
o
o
z,
modo de hallar ra
ces, para no introducir casos especiales en PRec y mantenerlo tan
regular como sea posible. Ms adelante se precisa qu valor de Q hay que usar.
a
e

88

CAP
ITULO 3. CALCULO DEL NUMERO DE RA
ICES

Procedimiento Recursivo de Divisin: Para encontrar las ra de un


o
ces
polinomio f dentro de una regin convexa P .
o
Parmetros de entrada: Una regin convexa P del plano complejo, un
a
o
polinomio f , y un parmetro de precisin A > 0.
a
o
Salida: La secuencia = (P1 , P2 , . . . , Pk ) (conteniendo k aproximaciones
con una precisin A de todas las ra
o
ces de f en P ) y la secuencia N =
(n1 , n2 , . . . , nk ) (de nmeros ni 1 tal que cada Pi contiene ni ra
u
ces de f
contando su multiplicidad).
Estructuras globales usadas: Dos secuencias y N , inicialmente
vac
as.
Procedimiento: PRec(P, A) {
Si Ind(P ) = 0, retornar. [Salida 1]
Si dmRect (P ) < A entonces
Aadir P a y Ind(P ) a N, y retornar. [Salida 2]
n
Si no
Bisec(P ), que da dos subregiones P0 y P1 .
Para i = 0 y i = 1, hacer
PRec(Pi , A).
[Salida 3]
}
Figura 3.6: Procedimiento Recursivo de Divisin (PRec) para hallar ra de polinoo
ces
mios. Falta por especicar dos rutinas: Ind(P ) y la descomposicin Bisec(P ).
o

3.2. DESCOMPOSICION RECURSIVA DE LA REGION DE BUSQUEDA

89

La segunda rutina es la descomposicin Bisec(P ), que crea dos subregiones P0


o
y P1 a partir de P . Esto debe hacerse cumpliendo los siguientes tres requisitos: a)
las subregiones obtenidas deben ser una particin de P (es decir, P = P0 P1 y
o
P0 P1 = ), de modo que al nal cada ra debe estar en una componente de y solo
z
en una, b) el dimetro debe ser decreciente, dmRect (Pi ) < dmRect (P ), y c) cada regin
a
o
obtenida Pi debe ser tal que PCR(Pi , Q) retorne sin excepcin para el valor escogido
o
de Q.
Determinaremos un valor de Q y un mtodo de descomposicin tal que se cumplen
e
o
los anteriores requisitos. En la siguiente seccin 3.2.1 hacemos un primer intento de
o
mtodo de descomposicin Bisec(P ). Cortamos a la mitad la regin, y sucesivamente
e
o
o
a la mitad tambin las partes obtenidas, alternando cortes horizontales y verticales,
e
y mostraremos que las regiones resultantes decrecen en dimetro rectangular. Sin ema
bargo estas regiones pueden lanzar una excepcin cuando se les aplica PDR. En la
o
siguiente seccin 3.2.2 hacemos un segundo y denitivo intento de mtodo Bisec(P ),
o
e
dm(P )

, siendo nc el nmero de ra
u
ces
y mostramos que un valor Q menor que
(8 + 4 2)nc n
en la regin original, produce subregiones que no lanzan excepcin. Este valor de Q
o
o
hace que se satisfaga tambin el tercer requisito. En la seccin 3.3 mostramos que
e
o
PRec acaba en un nmero nito de llamadas recursivas, y que al nal se verica la
u
armacin sobre la salida en la gura 3.6. Tambin calculamos su coste computacional.
o
e
Antes de esto, un comentario sobre el tipo de regiones que se van a considerar.
Por simplicidad, la regin inicial, y tambin las que surgen en las subdivisiones, deben
o
e
ser arcoconexas. Este tipo de regiones tienen como borde una curva cerrada simple
(curva de Jordan [Kolmogorov and Fomn, 1975]). Una regin no arcoconexa (por
o
ejemplo, el interior de dos discos disjuntos) tiene un borde compuesto de varias curvas cerradas. Se pueden tratar de modo parecido a una regin arcoconexa, porque el
o
nmero de ra
u
ces dentro de una regin no arcoconexa es la suma de los
o
ndices de
sus componetes arcoconexas. Sin embargo, el supuesto de arcoconexin simplica los
o
razonamientos.
Las subregiones se crean mediante cortes a lo largo de l
neas rectas. Para impedir
que tales cortes produzcan una subregin no arcoconexa, se exige que la regin inicial
o
o
P sea convexa (es decir, que si un segmento de recta tiene sus extremos en P , todo
el segmento est contenido en P ). As por simplicidad, las subregiones van a ser
a
,
convexas (por tanto arcoconexas). Desde el punto de vista prctico, para hallar las
a
ra en una regin no convexa, se tiene que aplicar PRec a su envolvente convexa, o
ces
o
a su descomposicin en partes convexas.
o

CAP
ITULO 3. CALCULO DEL NUMERO DE RA
ICES

90

3.2.1.

Divisin en partes menores: un primer intento


o

Consideramos cada regin plana como un conjunto cerrado, es decir, incluyendo su


o
borde. Para cada regin plana P , su lnea de soporte horizontal superior lT es la recta
o

horizontal ms alta que tiene algn punto en comn con P . Del mismo modo, la lnea
a
u
u

de soporte horizontal inferior lB de P es la l


nea recta horizontal ms baja que tenga
a
algn punto en comn con P . El dimetro vertical dmV (P ) es la distancia entre estas
u
u
a
l
neas d(lT , lB ). Es decir dmV (P ) = m
n d(x, y).
xlT , ylB

De modo similar, la lnea de soporte vertical izquierda lL es la l

nea recta vertical


ms a la izquierda que tiene algn punto en comn con P , y la lnea de soporte vertical
a
u
u

derecha lR es la l
nea recta vertical ms a la derecha que tiene algn punto en comn
a
u
u
con P . El dimetro horizontal dmH (P ) es la distancia entre estas l
a
neas d(lL , lR ). Es
decir dmH (P ) = m d(x, y). La gura 3.7 ilustra estas deniciones, y tambin el
n
e
xlL , ylR

dimetro clsico de P denido como dm(P ) = mx d(x, y).


a
a
a
x,yP

dmH(P)
lT

dmV(P)

dm(P)

lB
lL

lR

Figura 3.7: L
neas de soporte y dimetros para una regin plana P .
a
o
Para regiones denidas por segmentos de recta los dimetros horizontal y vertical
a
son ms fciles de calcular que el dimetro clsico. Estn relacionados por las siguientes
a a
a
a
a

3.2. DESCOMPOSICION RECURSIVA DE LA REGION DE BUSQUEDA

91

cotas.
Lema 11. Si dos regiones planas P1 , P2 verican P1 P2 , entonces dm(P1 ) dm(P2 ),
dmH (P1 ) dmH (P2 ), y dmV (P1 ) dmV (P2 ).
Demostracin. Para el dimetro clsico es evidente porque el mximo en la denicin
o
a
a
a
o
de dm(P2 ) se toma en un conjunto mayor que en la de dm(P1 ). Para el dimetro
a
horizontal, notemos que las dos l
neas de soporte verticales de P1 estn entre las dos
a
l
neas de soporte verticales de P2 , quizs coincidiendo con alguna de ellas. Por lo tanto
a
su distancia es menor. Lo mismo sucede con el dimetro vertical.
a

Tambin denimos el dimetro rectangular dmRect (P ) =


e
a

dmH (P )2 + dmV (P )2 .

Proposicin 5. Para una regin plana P , se verica:


o
o
mx(dmH (P ), dmV (P )) dm(P ) dmRect (P )
a
Demostracin. Para la primera desigualdad, notemos que las l
o
neas de soporte de
P tienen al menos un punto en comn con P . Siendo x0 uno de estos puntos de
u
la l
nea de soporte horizontal superior, es decir x0 P lT , y y0 para la inferior,
y0 P lB , utilizando las deniciones de dmV (P ) y dm(P ) tenemos que dmV (P ) =
m
n d(x, y) d(x0 , y0 ) mx d(x, y) = dm(P ). Asimismo dmH (P ) dm(P ),
a
xlT , ylB

x, yP

luego mx(dmH (P ), dmV (P )) dm(P ).


a
Para la segunda desigualdad, denimos la envolvente HV de P , EnvHV (P ), como
el rectngulo delimitado por las l
a
neas de soporte horizontales y verticales. Como
P EnvHV (P ), por el lema 11 tenemos que dm(P ) dm(EnvHV (P )). Adems, el
a
dimetro del rectngulo EnvHV (P ), de base dmH (P ) y altura dmV (P ), es la distancia
a
a

entre vrtices opuestos, luego dm(EnvHV (P )) = dmH (P )2 + dmV (P )2 = dmRect (P ).


e
Encadenando con la desigualdad anterior, se concluye.

Para dividir una gura en partes menores, denimos los operadores T , B, L and
R que actan en una regin plana P . Si mH (P ) es la l
u
o
nea recta equidistante de las
l
neas de soporte horizontales, T (P ) es la interseccin de P con el semiplano superior
o
denido por mH (P ), y B(P ) es la interseccin de P con el semiplano inferior. Del
o
mismo modo, si mV (P ) es la l
nea recta equidistante de las l
neas verticales de apoyo,
L(P ) es la interseccin de P con el semiplano izquierdo del plano denido por mV (P ),
o
y R(P ) es la interseccin de P con el semiplano derecho. Los operadores T y B se
o
dice que son de tipo horizontal, mientras que L y R son de tipo vertical. La gura 3.8
muestra varias composiciones de estos operadores aplicados a una regin no convexa.
o

92

CAP
ITULO 3. CALCULO DEL NUMERO DE RA
ICES
m (T(P))
V

LT(P)

RT(P)

mH(P)

RB(P)
LB(P)
m (B(P))
V

Figura 3.8: Aplicaciones de los operadores T , B, L, R to P .


Lema 12. Los operadores hacen decrecer el dimetro, vericando:
a
dmH (P )
dmH (T (P )) dmH (P ), dmH (L(P ))
,
2
dmV (P )
dmV (T (P ))
y dmV (L(P )) dmV (P )
2
Las mismas frmulas son vlidas cambiando T por B y L por R.
o
a
Demostracin. Para el dimetro horizontal, la primera desigualdad es consecuencia
o
a
del lema 11. La segunda proviene de que las l
neas de soporte vertical de L(P ) estn
a
entre lL y mV (P ), luego el dimetro horizontal es menor o igual que la distancia
a
d(lL , mV (P )), que es la mitad de dmH (P ). Para el dimetro vertical, el razonamiento
a
es similar, y tambin para los operadores B y R.
e

Vamos a encontrar la tasa de decrecimiento de dimetro cuando aplicamos alternaa


tivamente divisiones horizontales y verticales a una regin inicial. Un operador es de tio
po Om , para m 1, si es la composicin de m operadores de tipo horizontal alternndoo
a
se con m de tipo vertical. Es decir, O es de tipo Om si O = Vm Hm Vm1 Hm1 V1 H1 ,
siendo Hi {T, B} y Vi {L, R}. Hay 22m operadores de tipo Om . (Vase la gura
e
3.9).

3.2. DESCOMPOSICION RECURSIVA DE LA REGION DE BUSQUEDA

93

RTLT(P) LTRT(P)
RTRT(P)

LTLT(P)

LBLT(P)
RBLT(P)

RBRT(P)

LBRT(P)

RTLB(P) LTRB(P)
LTLB(P)
RTRB(P)

RBRB(P)
LBLB(P)
LBRB(P)
RBLB(P)

Figura 3.9: Las regiones que surgen de aplicar todos los operadores en O2 a
una regin.
o
Lema 13. Para m 1, si Om es un operador de tipo Om
dmRect (P )
2m
Demostracin. Por induccin en m. Denotamos como antes con H un operador que
o
o
puede ser T o B y con V otro que puede ser L o R. Para m = 1, tenemos que O = V H.
Encadenando algunas desigualdades del lema 12 varias veces:
dmRect (Om (P ))

dmRect (V H(P )) =

dmH (V H(P ))2 + dmV (V H(P ))2

dmH (P )2 + dmV (P )2
dmH (H(P ))2
dmRect (P )

+ dmV (H(P ))2


=
2
2
2
2
Para m > 1, notemos que si Om es de tipo Om , entonces Om = V HOm1 con Om1
de tipo Om1 . Aplicando otra vez la proposicin 5 y el lema 12 varias veces, se tiene:
o
dmRect (Om (P )) =
= dmRect (V HOm1 (P ))

dmH (V HOm1 (P ))2 + dmV (V HOm1 (P ))2

dmH (HOm1 (P ))2


+ dmV (HOm1 (P ))2
22

dmH (Om1 (P ))2 + dmV (Om1 (P ))2


dmH (Om1 (P ))2 dmV (Om1 (P ))2
+

22
22
2

CAP
ITULO 3. CALCULO DEL NUMERO DE RA
ICES

94

Esto, aplicando la hiptesis de induccin, es menor o igual que:


o
o

dmH (P )
2m1

dmV (P )2
+
2m1
2

dmH (P )2 + dmV (P )2
dmRect (P )
=
m
2
2m

dmRect (Om (P ))
. Con respecto al dimetro clsia
a
2
dm(P )
co, en general no es cierto que dm(Om (P ))
. Por ejemplo si P es el c
rculo de
2m

dm(P )
.
radio 1, dm(P ) = 2 pero RT (P ) es un sector circular con dm(RT (P )) = 2 >
2
Sin embargo, tenemos lo siguiente:
En particular, dmRect (Om+1 (P ))

Corolario. Si Om es un operador de tipo Om


dm(Om (P ))

dmRect (P )
2m

Demostracin. Aplicando la proposicin 5, dm(Om (P )) dmRect (Om (P )), y encadeo


o
nando con el lema anterior.

Por el corolario anterior, tenemos que la divisin de la regin por cortes horizontales
o
o
y verticales reduce en efecto el dimetro de las subregiones obtenidas.
a
En el contexto del procedimiento recursivo PRec de la gura 3.6, denimos la
descomposicin en subregiones Bisec(P ) cortando P con un corte recto, que puede ser
o
horizontal o vertical. Los cortes se hacen alternativamente: cuando aplicamos PRec
a una regin producida por un corte horizontal, se divide con un corte vertical, y
o
viceversa. Por ejemplo en la primera llamada a PRec(P, A), se tiene que P0 = T (P )
y P1 = L(P ), y en las llamadas subsiguientes PRec(P0 , A) y PRec(P1 , A) se obtiene
P00 = RT (P ), P01 = LT (P ), P10 = RB(P ) y P11 = LB(P ).
Esta descomposicin satisface los requisitos de decrecimiento del dimetro de las
o
a
subregiones. Por el lema 13 para m = 1, las cuatro regiones obtenidas Pij , 0 i, j 1
dmRect (P )
vericarn dmRect (Pij ) <
a
. Adems el lema 13 para m > 1 tambin descria
e
2
be el tamao de las regiones de llamadas posteriores que es dmRect (Pi1 j1 i2 j2 im jm ) <
n
dmRect (P )
despus de 2m llamadas recursivas.
e
2m

3.2.2.

Divisin en partes menores: segundo intento


o

El mtodo de descomposicin descrito previamente produce regiones que decrecen


e
o
en dimetro rectangular. Sin embargo, al aplicar el predicado de inclusin PCR a los
a
o

3.2. DESCOMPOSICION RECURSIVA DE LA REGION DE BUSQUEDA

95

contornos de estas regiones, puede retornar con excepcin sin acabar el clculo, como
o
a
establece el teorema 6. Lo siguiente es un ejemplo de esa situacin.
o
Consideremos una circunferencia centrada ligeramente a la derecha del origen,
que contiene las ra
ces del polinomio f (z) = z 3 1. Su imagen = f () rodea tres
veces el origen (ver la gura 3.10). El origen est marcado con , y es la imagen de las
a
tres ra
ces. Podemos suponer, a benecio del ejemplo, que PCR aplicado a , con un
parmetro adecuado Q, calcula el
a
ndice de , que es 3. Siguiendo PRec (gura 3.6), se
descompone el interior de en dos sectores circulares, mediante un corte horizontal.
Una de estas subregiones tiene un borde, digamos s , que cruza una ra como se
z,
muestra en la gura 3.10 c). La imagen de s cruza el origen, vase f (s ) en la gura
e
3.10 d), y por tanto PCR aplicado a s retorna con excepcin porque no puede calcular
o
su
ndice. Una situacin similar puede surgir con cortes verticales.
o

11
11
0.5
0.5
0.5
0.5
00
00
0.5
0.5
0.5
0.5
1
1
1 1
1 1
1
1

11
11
00
00

00

0
a) 0

11
11

11
11
0.5
0.5
0.5
0.5
00
00
0.5
0.5
0.5
0.5
1 0.5
1 0.5 0 0 0.5
0.5 1 1
Subregion ofof 1 1
Subregion 0.5

1 0.5
1 0.5 0 0 0.5
Subregion ofof
Subregion

c) Subregin de borde s
o

1
1
1
1
3
3
3
3

2
2
2
2

1
1

1
b)1

00
00

11
11

1.5
1.5
1.5 1
1.5
1
1
0.5 1
0.5
0.5 0
0.5
0
0
0.5 0
0.5
0.5
0.5
1
1
1
1

2
2
1
1
00
Image ofof subregion
Image 1
subregion
2
2
1
00
Image ofof subregion
Image subregion

d) Imagen f (s )

Figura 3.10: Regin que contiene las ra de z 3 1. El borde de la subregin


o
ces
o
s cruza una ra
z.
Aunque la conguracin de la gura 3.10 c), con una ra exactamente en el borde
o
z
s , puede ser altamente improbable, quizs hay una ra lo bastante cerca para lanzar
a
z
una excepcin, por el teorema 6 c). Notemos que si PCR(s , Q) retorna con excepcin,
o
o

o
hay una ra a menos de (4 + 2 2)nQ de s . Decimos que una regin P de borde es
z

96

CAP
ITULO 3. CALCULO DEL NUMERO DE RA
ICES

Q-segura si PCR(, Q) no retorna con excepcin. Podemos dividir una regin Q-segura
o
o
en dos subregiones que tambin son Q-seguras usando el siguiente procedimiento,
e
llamado Cortes Iterados con Desplazamiento (CID).
Si una (o ambas) de las subregiones T (P ) o B(P ) que surgen del corte por mH (P )
no son Q-seguras, descartamos ese corte y usamos en su lugar otro dado con una l
nea

a
ms arriba de mH (P ), a una distancia de 2E, siendo E = (4 + 2 2)nQ. Quizs esta
a
segunda l
nea produce de nuevo subregiones tales que alguna no es Q-segura. En tal
caso la divisin se realiza siguiendo una tercera l
o
nea horizontal por debajo de mH (P ),
a distancia 2E (gura 3.11).

z4
z2
z1

z3

mH(P)+4EQ
mH(P)+2EQ
mH(P)
mH(P)2EQ
mH(P)4EQ

Figura 3.11: Cortes Iterados con Desplazamiento (CID): siendo E =

(4 + 2 2)nQ, las l
neas mH (P ), mH (P ) + 2E, mH (P ) 2E, mH (P ) + 4E
lanzan excepcin sucesivamente por proximidad de las ra
o
ces z1 , z2 , z3 y z4
respectivamente. Finalmente mH (P ) 4E no tiene una ra a distancia menor
z
que E.
Hemos descrito el caso de un CID horizontal, siendo similar el vertical. Para ser
preciso, CID comienza en el paso 0 con el corte central (horizontal o vertical), que se
considera desplazado una distancia de h0 = 0. Despus sigue, en el paso i, un corte
e
desplazado hi de la l
nea central si el paso i 1 ha producido una subregin que lanza
o
una excepcin. Si i es impar entonces hi = (i + 1)E, si no hi = iE.
o
El procedimiento CID acaba alcanzando un corte que produce dos regiones Q-

3.2. DESCOMPOSICION RECURSIVA DE LA REGION DE BUSQUEDA

97

seguras si Q es lo bastante pequeo, como establece la siguiente proposicin.


n
o
Proposicin 6. Si una regin P contiene n0 races, y es Q-segura con
o
o

Q<

m
n(dmH (P ), dmV (P ))

,
(8 + 4 2)(n0 + 1)n

entonces CID alcanza un corte que da dos subregiones tambin Q-seguras, con una
e

separacin mxima h de la lnea central vericando h < (4 + 2 2)(n0 + 1)nQ.


o
a

Demostracin. Tenemos que demostrar que la ultima l


o

nea desplazada, a una distancia


dmV (P )
h de la l
nea central, realmente corta a P , es decir, h <
en cortes horizontales,
2
dmH (P )
en verticales.
h<
2
Consideremos las dos subregiones que surgen de P por un corte horizontal a lo largo
de mH (P ), es decir T (P ) y B(P ), llamando a su bordes T (P ) y B(P ) . Si PCR(T (P ) , Q)
o PCR(B(P ) , Q) (o ambos) retornan con excepcin, entonces por el teorema 6c hay
o

un punto en el borde a menos de E = (4 + 2 2)nQ de una ra Este punto pertenece


z.
a mH (P ), porque el resto del borde de T (P ) (o B(P )) es borde de P tambin, y esta
e
regin es Q-segura. Notemos que el predicado r, que lanza la excepcin, es local (en el
o
o
sentido de que depende de puntos consecutivos si y si+1 en el escaneo de la secuencia).
Por tanto, como los puntos de P ya han sido sometidos al aserto r por PCR y no han
causado excepcin, tampoco la causan como parte de T (P ) o B(P ) .
o
El anterior razonamiento tambin muestra que, tras un corte, ambas subregiones
e
son las dos a la vez o bien Q-seguras o bien no Q-seguras, pero no una de cada clase.
En el caso de que las subregiones no sean Q-seguras, con mH (P ) cerca de una ra
z,
digamos z1 , el procedimiento CID (en el paso 1) corta a 2E por encima de mH (P ).
Este corte est a distancia mayor que E de z1 . Quizs esta primera l
a
a
nea desplazada
causa otra vez una excepcin en PCR, porque hay otra ra z2 cerca de ella. En tal caso
o
z
CID (en el paso 2) realiza un corte horizontal por una segunda linea desplazada, por
debajo de mH (P ), a distancia 2E. Es decir, cada paso de CID es desencadenado por
la posicin de una ra Por tanto CID llegar como mucho hasta el paso n0 , siendo n0 el
o
z.
a

n0
de l
neas tentativas estn
a
nmero de ra dentro de P . Como mucho un nmero
u
ces
u
2
por encima de mH (P ) y las otras estn por debajo. El nmero de estas otras es el mismo
a
u
o una unidad menos. Como los cortes estn separados 2E, la l
a
nea horizontal nal, ya
sea que est por arriba o por abajo, est a una distancia h de mH (P ) menor o igual, en
e
a

n0
valor absoluto, que
2E. Esto es igual que (n0 + 1)E si n0 es impar (n0 E si n0 es
2
par). El corte nal no da lugar a una excepcin de PCR con parmetro Q. En ambos
o
a

casos, esto implica que h (n0 + 1)E = (4 + 2 2)(n0 + 1)nQ. Por hiptesis, Q <
o

98

CAP
ITULO 3. CALCULO DEL NUMERO DE RA
ICES

dmV (P )
m
n(dmH (P ), dmV (P ))

, luego h (4 + 2 2)(n0 + 1)nQ <


(8 + 2)(n0 + 1)n
4
2(4 + 2 2)(n0 + 1)n
(4 + 2 2)(n0 + 1)n dmV (P )
dmV (P )

=
.
2
2(4 + 2 2)(n0 + 1)n
dmH (P )
Un razonamiento similar es vlido para subdivisiones verticales, as que h <
a

2
tambin, y se concluye.
e

La divisin de P en PRec, gura 3.6, se hace primero con la subdivisin horizontal


o
o
de P con l
neas desplazadas, y luego cada una de las dos partes obtenidas se subdivide
verticalmente con l
neas desplazadas, y as sucesivamente alternndose en las llamadas

a
recursivas. El procedimiento CID se aplica a las subregiones, y su comportamiento en
todas estas subregiones se describe en la proposicin 6. Esta dice que, si la regin
o
o
inicial es Q-segura, todas las subregiones obtenidas son Q-seguras (para Q por debajo
de cierta cota). Para la regin inicial, su contorno no debe pasar cerca de una ra
o
z,
para que sea Q-segura. Podemos asegurarnos de esto aplicando PCR a P antes de
PRec, y si no retorna con excepcin entonces P es Q-segura.
o
Recordemos que el lema 13 nos da una reduccin en el dimetro para divisiones a
o
a
lo largo de mH (P ) y mV (P ). Como la divisin usando CID ya no permite la aplicacin
o
o
de este lema, necesitamos desarrollar un resultado general acerca del decrecimiento en
dimetro mediante los cortes iterados con desplazamiento (ms adelante en el lema
a
a
16). Tambin daremos (en la proposicin 7) un valor de Q que garantiza que las
e
o
subdivisiones de P no solo son Q-seguras (por la proposicin 6 anterior), sino tambin
o
e
decrecientes.
Se dene el operador T de la siguiente manera. La l
nea horizontal a una distancia
por encima de mH (P ) se denota mH+ (P ). La regin T (P ) es la interseccin de P
o
o
con el semiplano superior denido por mH+ (P ). Si es un valor negativo, la l
nea
mH+ (P ) debe entenderse por debajo de mH (P ). Anlogamente el operador B (P ) es
a
la interseccin de P con el semiplano inferior denido por la misma l
o
nea horizontal,
mH+ (P ). De esta manera T (P ) B (P ) = P , y T (P ) B (P ) es su borde comn,
u
un segmento de mH+ (P ). De modo similar R (P ) es la interseccin de P con el
o
semiplano derecho denido por mV + (P ) (la l
nea vertical a una distancia a la
derecha de mV (P )), y L (P ) la interseccin con el semiplano izquierdo denido por la
o
misma l
nea mV + (P ). Vase la gura 3.12.
e
Lema 14. Si 0, entonces B(P ) B (P ) y R(P ) R (P ). Si 0, entonces
B(P ) B (P ) y R(P ) R (P ). Para los operadores T y L , en la mismas hiptesis,
o
las inclusiones se invierten.

3.2. DESCOMPOSICION RECURSIVA DE LA REGION DE BUSQUEDA

99

L(P)
T(P)

mH+(P)
mH(P)

B(P)

R(P)

m(P) mV+(P)

Figura 3.12: La actuacin de los operadores T , B , L y R .


o
Demostracin. Es inmediato teniendo en cuenta la posicin de mH+ (P ) y mH (P ) (o
o
o
de mV + (P ) y mV (P)).

Decimos que los operadores T y B son de tipo horizontal y L y R de tipo vertical.


Denotamos con H a un operador horizontal genrico, es decir, o T o B . Asimismo
e
V denota o L o R . Notemos que para sucientemente grande, el resultado de un
operador puede ser el conjunto vac cuyo dimetro es convencionalmente cero.
o,
a
Lema 15. Para un operador horizontal H , dmH (H (P )) dmH (P ) y dmV (H (P ))
dmV (P )
+ ||
2
dmH (P )
Para un operador vertical V , dmV (V (P )) dmV (P ) y dmH (V (P ))
+
2
||.
Demostracin. Discutimos los operadores horizontales, siendo similares los verticales.
o
La primera desigualdad es consecuencia del lema 11. Para la segunda, notemos que si
dmV (P )
, entonces H (P ) es el conjunto vac y la desigualdad es trivialmente
o
|| >
2
dmV (P )
cierta. En el caso contrario, ||
, la l
nea que dene a H (P ) estar situada
a
2
por encima de mH (P ), si o bien 0 y H = T , o bien 0 y H = B , y por

CAP
ITULO 3. CALCULO DEL NUMERO DE RA
ICES

100

debajo en otros casos. De cualquier modo est a menos de || de mH (P ), y por tanto


a
se verica la segunda igualdad.

Dado un entero m 1 y un real 0, decimos que un operador O es de


tipo Om, si es la composicin de m operadores Hi y m Vi , i = 1, . . . , m, alo
ternndose, con |i | , |i | , empezando con un operador horizontal. Es decir si
a
O = Vm Hm Vm1 Hm1 V1 H1 . El siguiente lema muestra que los dimetros de
a
las regiones O(P ) son menores que el de P , salvo por un trmino aditivo.
e
Lema 16. Para m 1, 0, si Om es un operador de tipo Om, entonces
dmRect (P ) 2m 1
+ m1 2
dmRect (Om (P ))
2m
2
Demostracin. Primero, notemos que dmRect (P ) = (dmH (P ), dmV (P )) , siendo
o
la norma plana eucl
dea. Adems, por la desigualdad triangular (a + , b + )
a

(a, b) + (, ) = (a, b) + 2.
Demostramos el lema por induccin en m. Para m = 1, tenemos que O = V1 H1 .
o
Por tanto, aplicando algunas desigualdades de los lemas 14 y 15:
dmH (V1 H1 (P ))2 + dmV (V1 H1 (P ))2

dmRect (V1 H1 (P )) =

dmH (H1 (P ))
+ |1 |
2

dmH (P )
+ |1 |
2

+ dmV (H1 (P ))2

dmV (P )
+
+ |1 |
2

2
2
dmH (P )
dmV (P )
+ +
+ =
2
2

dmH (P )
dmV (P )
dmRect (P )
=
+ ,
+
+ 2
2
2
2

Para m > 1, si Om es de tipo Om, , entonces O = Vm Hm Om1 con Om1 de tipo


Om1, . Aplicando de nuevo los lemas se tiene:

dmRect (Om1 (P ))
dmRect (Om (P )) = dmRect (Vm Hm Om1 (P ))
+ 2
2
dmRect (P ) 2m1 1
Por hiptesis de induccin, dmRect (Om1 (P ))
o
o
+
2, luego
2m1
2m2
dmRect (P ) 2m1 1
+
2

dmRect (Om1 (P ))
2m1
2m2
+ 2
+ 2=
2
2
m1

dmRect (P ) 2
1
dmRect (P ) 2m 1
=
+
2+ 2=
+ m1 2
2m
2m1
2m
2

3.2. DESCOMPOSICION RECURSIVA DE LA REGION DE BUSQUEDA

2m 1
Notemos que m1 =
2

2 2.

1
2m1

< 2, luego dmRect (Om (P )) <

101

dmRect (P )
+
2m

Para valores cualquiera , 1 y 2 menores o iguales que , decimos que las subregiones P00 = R1 T (P ), P01 = L1 T (P ), P10 = R2 B (P ) y P11 = L2 B (P )
son una -descomposicin de P . Es decir, se hace primero un corte horizontal con
o
desplazamiento , y luego T (P ) y B (P ) se cortan verticalmente con desplazamientos
respectivos 1 y 2 , valores menores que . En el procedimiento PRec de la gura 3.6,
dos llamadas recursivas de profundidad consecutiva realizan una -descomposicin, si
o
la primera llamada hace un CID horizontal.

El ultimo trmino de la desigualdad del lema 16, 2 2, impide la disminucin de

e
o
los dimetros rectangulares de las regiones que surgen de la aplicacin sucesiva de
a
o
-descomposiciones. Despus de cualquier nmero de -descomposiciones, el dimetro
e
u
a
rectangular puede ser igual a este trmino.
e
Aplicamos la teor de -descomposiciones a PRec. Por un lado, necesitamos que
a
las subregiones producidas por Bisec(P ) sean Q-seguras. Por otro lado, tambin necee
sitamos que decrezca el dimetro rectangular hasta la precisin deseada A (parmetro
a
o
a
de PRec, gura 3.6) incluso teniendo en cuenta la obstruccin del lema 16.
o
Con respecto al primer requisito, recordemos que por la proposicin 6, con cualo
m
n(dmH (P ), dmV (P ))

quier valor Q <


, CID produce regiones Q-seguras con una
2(4 + 2 2)(n0 1)n
+
separacin mxima de h < (4 + 2 2)(n0 + 1)nQ desde la l
o
a
nea central. Esta cota de
Q depende del dimetro de la regin y del nmero de ra que contiene. Necesitamos
a
o
u
ces
un valor que no dependa ni de los dimetros dmH (P ) o dmV (P ) de las sucesivas suba
regiones P que surgen en PRec, ni del nmero de ra n0 que contiene P . Se puede
u
ces
A

tomar Q <
(siendo nc el nmero de ra
u
ces dentro de la regin
o
2(4 + 2 2)(nc + 1)n
inicial) porque A m
n(dmH (P ), dmV (P )) y el nmero de ra
u
ces nc en la regin
o
inicial es mayor o igual que el nmero de ra
u
ces n0 en cualquier subregin, nc n0 .
o
As si se calcula el
,
ndice en PRec con un valor Q que verique esa cota, las subregioA

nes no lanzan excepcin en PCR. En realidad tomamos Q =


o
,
4 2(4 + 2 2)(nc + 1)n
porque este valor nos permite probar la siguiente proposicin 7 sobre decrecimiento
o
del dimetro.
a
Para una implementacin prctica de PRec es preferible mantener el parmetro Q
o
a
a
con el que se llama a PCR dependiendo del dimetro de la regin, porque mejora siga
o
nicativamente el rendimiento. Sin embargo, tal mejora es solo en un factor constante,
y es preferible usar esta cota ms sencilla para el anlisis de complejidad.
a
a

CAP
ITULO 3. CALCULO DEL NUMERO DE RA
ICES

102

Con respecto al segundo requisito, la disminucin de dimetro, se tiene que las


o
a
subregiones surgen de la regin inicial P aplicando m veces el CID horizontal alo
ternando con el vertical. Estas subregiones pueden verse como un producto de
o
a
descomposiciones con = (4 + 2 2)(n0 + 1)nQ, porque por la proposicin 6 la mxi
ces.
ma separacin h verica h < (4 + 2 2)(n0 + 1)nQ en cada subregion con n0 ra
o
Como n0 nc , tenemos:

A
A

= (4 + 2 2)(n0 + 1)n
.
4 2(4 + 2 2)(nc + 1)n
4 2
Es decir, las subregiones son de la forma Om (P ), para algn operador Om de tipo Om,
u
A
con .
4 2
Se verica:

dmRect (P )
A
Proposicin 7. Si m lg2
o
+1 y , entonces cualquier operador
A
4 2
Om de tipo Om, verica dmRect (Om (P )) A.
Demostracin. Si aplicamos a P un operador Om de tipo Om, , por el lema 16
o
dmRect (Om (P ))

dmRect (P )
+ 2 2
2m

dmRect (P )
A
dmRect (P )
. Segundo,
+ 1, luego
m
A
2
2

Primero, notemos que m lg2

A
A
como , se tiene 2 2 . Sumando estas dos cotas:
2
4 2

dmRect (P )
A A
+ 2 2 + = A
m
2
2
2
como quer
amos demostrar.

Con este decrecimiento en dimetro de las regiones Q-seguras producidas por CID
a
ya tenemos un procedimiento Bisec con las caracter
sticas especicadas.

3.3.

Terminacin y coste del procedimiento recuro


sivo

El siguiente teorema asegura que el procedimiento recursivo PRec de la gura


3.6 acaba, y que su salida verica la propiedad deseada. Para hacer referencia a las
llamadas anidadas de PRec, se dice que la primera llamada es de profundidad de
recursin 0, y las llamadas a la misma funcin hechas dentro de una llamada de
o
o
profundidad de recursin m es de profundidad de recursin m + 1.
o
o


3.3. TERMINACION Y COSTE DEL PROCEDIMIENTO RECURSIVO

103

Teorema 7. Para un polinomio f, si P es una regin plana con dmRect (P ) > A y tal
o
que PCR(P, Q) no lanza excepcin, entonces el procedimiento PRec aplicado a P con
o
una precisin de A verica que:
o

a) Acaba, alcanzando una profundidad de recursin mxima de 2 lg2


o
a

dmRect (P )
A

b) Al acabar, las regiones planas de la secuencia = (P1 , P2 , . . . , Pk ) son aproximaciones de todas las races de f en P, cada una conteniendo el nmero de races

indicado por N = (n1 , n2 , . . . , nk ).


Demostracin. Para a), supongamos que se llega a una profundidad de recursin par
o
o
v = 2m. El parmetro regin de esta llamada es de la forma Om (P ) con Om operador de
a
o
tipo Om, , porque dos llamadas de profundidad de recursin consecutiva (empezando
o
con una que haga CID horizontal) realizan una -descomposicin. Hemos elegido Q
o
A
o
o
para tener < , como se comenta antes de la proposicin 7. Por esta proposicin,
4 2

dmRect (P )
v
A
si lg2
+ 1, y < , entonces el dimetro de la subregin Om (P )
a
o
2
A
4 2
es menor o igual que A. Por tanto la siguiente llamada, de profundidad v + 1, retorna
no recursivamente por la salida Por tanto, se puede alcanzar una profundidad de
2.

v
dmRect (P )
v + 1 con = lg2
+ 1, pero no ms.
a
2
A
a
o

Hemos mostrado que la mxima profundidad de recursin alcanzada por PRec es

dmRect (P )
+3. Como el cuerpo del procedimiento acaba en un nmero nito
u
2 lg2
A
de pasos, hay solo dos llamadas recursivas en este cuerpo, y la profundidad de recursin
o
es acotada, el procedimiento acaba en un nmero nito de pasos.
u
Para ver b), decimos que la regin plana P requiere una A-profundidad de v si
o
el procedimiento PRec(P, A) alcanza hasta una profundidad de recursin v, pero no
o
ms. Toda regin
a
o plana requiere solo una A-profundidad nita, menor o igual que

dmRect (P )
2 lg2
+ 3 como hemos visto en a). Demostraremos la parte b) por
A
induccin en la A-profundidad v. Es decir, primero demostraremos b) para regiones
o
P de A-profundidad 0, y luego para regiones de mayor A-profundidad, suponiendo
cierta b) para profundidades menores. As la hiptesis de induccin HI(v) es Al nal
,
o
o
del procedimiento PRec(P, A), para cualquier regin plana P de A-profundidad v, las
o
regiones planas de tienen dimetro menor que A, contienen el nmero de ra dado
a
u
ces
por N , y esas son todas las ra
ces de f contenidas en P . La parte b) es equivalente
a la conjuncin de la hiptesis de induccin para todas las profundidades. Es decir b)
o
o
o

HI(v), siendo la conjuncin lgica. Demostraremos primero el


o o

es equivalente a
v=0

caso base HI(0), y luego el caso general: si HI(v ) para cada v < v, entonces HI(v).

+ 3.

104

CAP
ITULO 3. CALCULO DEL NUMERO DE RA
ICES

Notemos que esta induccin es completa, lo que signica que el caso v-simo depeno
e
de de todos los casos previos, no solo del inmediatamente precedente. Es un ejemplo
de induccin estructural [Burstall, 1969,Hopcroft et al., 2000], un mtodo general para
o
e
probar propiedades de procedimientos recursivos.
El caso base (v = 0) consiste en las regiones que no requieren llamadas recursivas,
las que no tienen ra
ces (que retornan por la salida 1), o con una o ms ra
a
ces pero
con dimetro menor que A (que retornan por la salida 2). Retornando por la salida
a
1 la asercin HI(0) se verica trivialmente porque P no tiene ra
o
ces y permanece
vac (como N ). Retornando por la salida 2 la asercin se verica tambin porque
o
o
e
contiene solo la regin P, y como PCR calcula sin excepcin el
o
o
ndice, N contiene el
nmero de ra dentro de P.
u
ces
Para el caso general (v 1), consideramos las dos llamadas recursivas PRec(Pi , A),
siendo P0 y P1 regiones disjuntas que recubren P . Las A-profundidades de P0 y P1 ,
digamos v0 y v1 , no son necesariamente iguales, pero ambas son menores o iguales que
v 1, porque la regin de la que surgen, P , tiene A-profundidad v. Llamemos i a la
o
secuencia de regiones aadidas a por PRec (Pi , A), y Ni a la secuencia de nmeros
n
u
aadida a N . Por hiptesis de induccin HI(vi ), que suponemos cierta porque vi < v,
n
o
o
al nal de la llamada recursiva PRec(Pi , A) las regiones pertenecientes a i son todas
de dimetro menor que A, contienen el nmero de ra dado por Ni , y esas son todas
a
u
ces
las ra en Pi . Por tanto la concatenacin de 1 y 2 (es decir, ) junto con la de N1
ces
o
y N2 (que es N ) verica que sus regiones tienen dimetros y nmero de ra
a
u
ces como
se ha especicado. Que esas son todas las ra
ces dentro de P viene del hecho de que
las Pi son disjuntas y recubren P . Esto es lo que se quer demostrar, HI(v).
a
Para el coste computacional del mtodo completo para hallar ra
e
ces, vamos a examinar las tareas ejecutadas por PRec(P, A) (gura 3.6), que son Ind(P ), el clculo del
a
dimetro dmRect (P ) y la divisin en subregiones P0 y P1 , Bisec(P ). Discutiremos estas
a
o
tareas, contabilizando sus operaciones, para ver que su coste se debe principalmente
al clculo de f (z) para z complejo (lo que se conoce como una evaluacin polinmica,
a
o
o
EP). Concluiremos que el coste de PRec est bien cuanticado por el nmero de EP
a
u
que requiere.
El borde se construye concatenando segmentos de recta, uniformemente parametrizados, y el muestreo (S) incluye los extremos de estos segmentos (ver la gura
3.13). Si la regin inicial se construye de esta forma, las subregiones producidas por
o
CID tambin son de esta forma. Con los bordes denidos de esta manera se determie
nar el coste. Recordemos que se trabaja con una secuencia de valores del parmetro
a
a
S = (s0 , . . . , sn ), muestreo de [a, b]. De esta manera (S) es una secuencia de puntos del borde de P . Recordemos tambin que la regin inicial y las subregiones son
e
o


3.3. TERMINACION Y COSTE DEL PROCEDIMIENTO RECURSIVO

105

convexas, como se comenta en el prrafo previo a la seccin 3.2.1.


a
o

maxI

e1
e4
e0

minI

minR

maxR

Figura 3.13: La curva es la concatenacin de los segmentos de recta ei , ei+1


o
uniformemente parametrizados.
Dejando a un lado de momento Ind, examinamos primero el clculo del dimea
a

2 + dm (P )2 . Llamemos minR y maxR al mximo y el


tro dmRect (P ) = dmH (P )
a
V
m
nimo, respectivamente, de la parte real de , el borde de P . Asimismo, minI y
maxI son el mximo y el m
a
nimo de la parte imaginaria. el dimetro horizontal es
a
maxR minR, y el vertical maxI minI. Los valores extremos minR, maxR, minI
y maxI se alcanzaran en puntos que son un extremo ei de los segmentos que componen
, y estos extremos pertenecen a la secuencia (S). Por tanto podemos encontrar los
valores extremos escaneando esta secuencia, haciendo cuatro comparaciones en cada
punto. Luego el coste del clculo del dimetro es el de el escaneo de la secuencia con
a
a
comparaciones (ms dos sustracciones, dos cuadrados, una suma y una ra cuadrada),
a
z
por regin P .
o
La divisin en subregiones Bisec(P ) se realiza mediante CID (gura 3.11). Eso
te calcula la l
nea media mH o mV (y sus desplazamientos, si hay alguno). Consideremos el caso de divisin horizontal, siendo similar la vertical. Usando la media
o
minI + maxI
, escaneamos (S) separando los puntos con parte imaginaria
mI =
2
mayor o igual que mI (con los que componemos el borde de T (P )) de aquellos cuya
parte imaginaria es menor o igual que mI (para hacer B(P )). Como mucho dos puntos
de tienen parte imaginaria exactamente mI, porque la l
nea mH corta a en dos
puntos, por la convexidad de P . Es decir mH = {c1 , c2 }. Si estos puntos de corte no
pertenecen todav a (S), se insertan en las secuencias correspondientes a los bordes
a

106

CAP
ITULO 3. CALCULO DEL NUMERO DE RA
ICES

de T (P ) y B(P ), de modo que estas subregiones encajen exactamente en P . Cada ci


se halla a partir de un par de puntos consecutivos de (S), que tienen un miembro del
par por encima de mI y otro por debajo, si y si+1 en la gura 3.14. Por interpolacin
o
lineal, en el caso peor cada coordenada de ci cuesta cuatro adiciones (o sustracciones)
y una divisin.
o

(S)
mI

c1

si
si+1

Figura 3.14: La curva tiene dos puntos a altura mI. Las coordenadas de c1
se encuentran por interpolacin lineal.
o
Por tanto, el primer corte de una divisin horizontal por CID requiere un escaneo
o
de (S), comparando la parte imaginaria con mI, y tambin diecisis adiciones (o
e
e
sustracciones) y cuatro divisiones para las coordenadas de c1 y c2 . Una divisin vertical
o
es similar. Cada corte desplazado posterior, si hay alguno, requiere un coste igual a
esta cantidad. Recordemos que el nmero de desplazamientos est acotado por n0 + 1,
u
a
siendo n0 el nmero de ra
u
ces dentro de P . En total, Bisec(P ) requiere menos de 16
adiciones ms 4 multiplicaciones, todo esto multiplicado por n0 + 1.
a
Sobre la tarea Ind, su primera parte es PCR (gura 3.1), que produce la secuencia
S de valores del parmetro cuyos puntos correspondientes f ((S)) estn conectados, y
a
a
la segunda parte es un escaneo de f ((S)), para contar el nmero de cruces por el eje
u
positivo de las abscisas, como se describe en la introduccin. Las subtareas de PCR,
o
si + si+1
en cada iteracin del bucle, son la insercin de un valor del parmetro s =
o
o
a
2
en la secuencia S, y la evaluacin de los predicados p, q2 y r. La evaluacin de p solo
o
o
requiere comparaciones, mientras que la de r requiere una sustraccin, y la de q2 tres
o
adiciones, dos multiplicaciones y la EP de f y f en (s). Cada iteracin del bucle
o
de PCR requiere cinco adiciones (o sustracciones), dos multiplicaciones, dos divisiones
y dos EP. El nmero de iteraciones del bucle coincide con el nmero de valores del
u
u


3.3. TERMINACION Y COSTE DEL PROCEDIMIENTO RECURSIVO

107

parmetro insertados en S. Esta cantidad es dif de estimar con precisin, pero es


a
cil
o
igual al nmero de puntos de f ((S)), para el que se puede dar una cota inferior:
u
para que los puntos de f ((S)) estn en sectores conexos, esta secuencia debe tener
e
al menos ocho puntos por cada vuelta de f () alrededor del origen (es decir, por cada
ra de dentro de P ). Este es el m
z
nimo nmero de puntos que se deben poner
u
en sectores consecutivos para cruzar el eje de las abscisas el nmero adecuado de
u
veces (ver la gura 2.5). Probablemente PCR insertar ms puntos que estos para
a a
acabar teniendo uno en cada sector. En total Ind requiere al menos cinco adiciones,
dos multiplicaciones, dos divisiones y dos EP, todo esto multiplicado por 8n0 .

Ra cuadrada
z

Divisiones

Veces
realizada
por llamada

3
16
5

EP

Dimetro
a
Bisec
Ind

Multiplicaciones

Adiciones

Resumimos en la tabla 3.1 el coste de PRec en cada regin que aparece en la


o
descomposicin recursiva. Para tener un indicio del coste de estas operaciones cuando
o
se realizan en coma otante, se consulta la latencia en diferentes procesadores [Fog,
2014]. La latencia es el tiempo que tarda una operacin en obtener el resultado. Las
o
latencias de la divisin y la ra cuadrada son similares, entre cinco y diez veces la de
o
z
la multiplicacin. Llamando A al nmero de cortes que hace CID, y B al nmero de
o
u
u
puntos insertado por PCR, se tiene A n0 + 1 y B 8n0 . Operando, el coste total
sin EP es de 3 + 16A + 5B en adiciones, 2 + 2B en multiplicaciones, y 1 + 4A + 2B
en operaciones superiores (divisin y ra cuadrada). Comparemos esto con el coste en
o
z
EP.

1
menos de n0 + 1 veces
ms de 8n0 veces
a

1
4
2

Tabla 3.1: Operaciones realizadas por PRec.


grado se puede evaluar en un punto complejo con
n
En general, un polinomio de

n+1
n+1
adiciones complejas y
multiplicaciones complejas usando un esque2
2
ma de evaluacin de Horner complejo [Knuth, 1981]. Una adicin compleja es equivao
o
lente a dos adiciones en coma otante. Una multiplicacin compleja es equivalente a
o
cuatro multiplicaciones en coma otante as dos adiciones coma otante. Sumando
m
en

n+1
n+1
n+1
se tiene que una EP requiere 2 2
+2
=6
(aproximadamente
2
2
2
2

CAP
ITULO 3. CALCULO DEL NUMERO DE RA
ICES

108

n+1
3(n + 1) ) adiciones en coma otante y 4
(aproximadamente 2(n + 1) ) multi2
plicaciones en coma otante. El coste debido solo a EP es 2 3(n + 1)B en adiciones
y 2 2(n + 1)B en multiplicaciones. Para comparar, asignamos un coste de 10 multiplicaciones a las operaciones superiores. El coste sin EP es 3 + 16A + 5B en adiciones,
y 12 + 40A + 22B en multiplicaciones, contra 6(n + 1)B adiciones y 4(n + 1)B multiplicaciones con solo EP. Notemos que A < B si hay alguna ra dentro de P , luego
z
si n > 5 el coste en adiciones solo de las EP es mayor. El coste en multiplicaciones
solo de las EP es mayor que la parte sin EP para n > 10, incluso en el caso n0 = 1.
Ademas esta diferencia en la contribucin al coste entre EP y las otras operaciones
o
se hace ms acentuada para valores mayores de n, porque este ultimo coste no se ve
a

afectado por el grado.


Por tanto consideramos que el coste de PRec est bien medido por el nmero de
a
u
EP que requiere, despreciando el resto de las operaciones. Acotamos este nmero en
u
el siguiente teorema. Debe notarse que es una cota en el caso peor, y que es extremadamente pesimista. El razonamiento supone que, en todos los casos, se hacen todos
los posibles cortes desplazados, y tambin que cada ra tiene una rama del rbol de
e
z
a
bsqueda exclusivamente dedicada. Estos supuestos son sumamente onerosos, y cada
u
uno aade un factor de nc a la cota. Es plausible que un razonamiento ms complicado
n
a
decrezca el coste hasta un orden O(nc n log2 (1/A)).
Teorema 8. El nmero de EP realizadas por PRec(P, A), para un polinomio f de
u
grado n con nc races dentro de P , es menor o igual que

16(1 +

2)(nc + 1)n(b a)
1 +
A

2)(nc + 1)2 nc n
dmRect (P )+
A

dmRect (P )
3
2
+(24 + 20 2)(nc + 1) nc n lg2
+
.
A
2
+

32(1 +

Demostracin. Para obtener esta cota, sumamos el nmero de EP realizadas por la


o
u
aplicacin de PCR a la regin inicial P (el primer sumando), a aquellas que necesita
o
o
la aplicacin de PCR a las subregiones que surgen en llamadas recursivas hasta
o
las

dmRect (P )
una profundidad mxima de lmax = 2 lg2
a
+ 3, por el teorema 7a) (el
A
segundo y tercer sumando) para cada ra de las nc contenidas en P .
z
Ejecutamos PRec(P, A) con
A
A

Q=
=
4 2(4 + 2 2)(nc + 1)n
16(1 + 2)(nc + 1)n


3.3. TERMINACION Y COSTE DEL PROCEDIMIENTO RECURSIVO

109

como se discute antes de la


proposicin 7. El nmero de iteraciones de PCR, es
o
u
ba
1 , por el teorema 6a). Con el anterior vadecir, de EP, es menor que
Q

ba
lor de Q, el nmero de EP requeridas por PCR(P, Q) es menor que
u
1 =
Q

16(1 + 2)(nc + 1)n(b a)


1 .
A
Ahora acotamos el nmero de EP requeridas por PCR(P0 , Q) y PCR(P1 , Q), siendo
u
P0 y P1 las dos partes que surgen en la divisin de una regin, es decir, cortando por
o
o
una l
nea horizontal o vertical. Empezamos considerando los dos primeros niveles de
profundidad de recursin, que dividen la regin inicial P en cuatro partes, empezando
o
o
por un corte horizontal y despus cada una de las regiones obtenidas con su respectivo
e
corte vertical. Tras esto consideraremos niveles ms profundos de recursin.
a
o
Primero suponemos que CID no hace ningn desplazamiento en el corte horizontal
u
que produce T (P ). Llamemos al borde de P, y T al de T (P ). T se construye
concatenando un segmento de curva de (su mitad superior) y un segmento de la linea
de corte mH (P ). Parametrizamos uniformemente este segmento, : [c, d] C, que
tiene longitud menor o igual que dmH (P ), luego d c dmH (P ). De este modo T es
la concatenacin del segmento de curva [a ,b ] : [a , b ] C de (donde [a , b ] [a, b])
o
y . La parametrizacin uniforme se exige en el teorema 6 para aplicar PCR a T .
o
El nmero de EP requeridas por PCR en T viene solo de la insercin de puntos
u
o
en este ultimo segmento , porque las inserciones en la mitad superior de , que

es [a ,b ] , ya se han hecho previamente, cuando se realiz PCR(P, Q). Para acotar


o
el nmero de puntos insertados en , notemos que sus valores paramtricos deben
u
e
estar a una distancia mayor que Q, porque en caso contrario PCR (gura 3.1) retorna
con excepcin. En un intervalo de longitud dmH (P ), se pueden insertar m valores
o
a distancia mayor que Q si (m + < dmH (P ). Luego m es menor o igual que
1)Q
dmH (P )
dmH (P )
16(1 + 2)(nc + 1)n
1<
=
dmH (P ).
Q
Q
A
Esta es la cota en el nmero de puntos insertados por PCR(T (P ), Q), si no hay
u
desplazamiento en CID. En caso contrario, cada uno de estos desplazamientos requiere
descartar el segmento de recta y considerar uno nuevo, con sus respectivos puntos de
insercin. En total puede haber nc desplazamientos, luego hay que considerar nc + 1.
o
En cualquier caso el nmero de EP requeridas por PCR (T (P ), Q) es menor o igual
u

16(1 + 2)(nc + 1)2 n


dmH (P )
que
A
La regin B (P ) no requiere ninguna EP ms, porque las hechas para T (P ) pueden
o
a
reutilizarse, componiendo el borde de B (P ) con el mismo segmento recto que T (P )
(seguido en direccin inversa) y la mitad inferior de .
o
Subsecuentemente, las regiones T (P ) y B (P ) son a su vez biseccionadas por cortes

CAP
ITULO 3. CALCULO DEL NUMERO DE RA
ICES

110

verticales, en las llamadas recursivas de PRec. Siguiendo un razonamiento similar al


anterior, sustituyendo P por T (P ) y dmH por dmV , el nmero de EP requeridas para
u
construir tanto L (T (P )) como R (T (P )) es menor que

16(1 + 2)(nc + 1)2 n


dmV (T (P )) .
A
Del mismo
modo para construir tanto L (B (P )) como R (B (P )) se necesitan menos

16(1 + 2)(nc + 1)2 n


de
dmV (B (P )) EP. La suma de EP requeridas por los dos
A
cortes es menor que

16(1 + 2)(nc + 1)2 n


dmV (T (P )) + dmV (B (P )) ,
A
que, por el lema 15 para operadores horizontales y usando || , es menor o igual
que

16(1 + 2)(nc + 1)2 n dmV (P )


dmV (P )
++
+ =
A
2
2

16(1 + 2)(nc + 1)2 n


=
(dmV (P ) + 2)
A
Por tanto, calcular el nmero de ra
u
ces dentro de todas y cada una de las cuatro
partes de una -descomposicin mediante PCR, cuando aplicamos PRec a P , cuesta
o

16(1 + 2)(nc + 1)2 n


un nmero de EP menor o igual que
u
dmH (P ) + dmV (P ) + 2 .
A
Despus de esta discusin del coste en EP de PRec en la regin inicial hasta profune
o
o
didad de recursin 2, consideremos el caso general. Una llamada a PRec de profundidad
o
de recursin v = 2m tiene como parmetro de entrada una regin de la forma Om (P )
o
a
o
con Om Om, , y por tanto la aplicacin de PCR en las cuatro subregiones que origina
o
requiere un nmero de EP acotado por
u

16(1 + 2)(nc + 1)2 n


dmH (Om (P )) + dmV (Om (P )) + 2 ,
A
por un razonamiento similar al anterior. Por el lema 16 esto es menor o igual que

16(1 +

2)(nc + 1)2 n dmRect (P )


dmRect (P )
+ 2 2 +
+ 2 2 + 2 =
A
2m
2m

16(1 + 2)(nc + 1)2 n dmRect (P )


=
+ (4 2 + 2)
A
2m1

16(1 + 2)(nc + 1)2 n dmRect (P )


2

+ (1 +
)A
m1
A
2
4


3.3. TERMINACION Y COSTE DEL PROCEDIMIENTO RECURSIVO

111

A
La ultima igualdad viene de que .

4 2
La expresin anterior acota el nmero de EP requeridas para una -descomposicin,
o
u
o
esto es, por un par de llamadas de profundidad consecutiva. La mxima profundidad
a

dmRect (P )
+ 3. Luego sumando la cota anterior en el
de recursin es lmax = 2 lg2
o
A
lmax
nmero de EP para las
u
-descomposiciones se tiene que el nmero total es menor
u
2
o igual que

lmax/2
2
16(1 + 2)(nc + 1)2 n dmRect (P )
)A =
+ (1 +
m1
A
2
4
m=1
l

max/2
16(1 + 2)(nc + 1)2 n
dmRect (P ) lmax
2
=
(1 +
)A <
+
A
2m1
2
4
m=1

2
16(1 + 2)(nc + 1)2 n
lmax
<
2 dmRect (P ) +
(1 +
)A =
A
2
4

lmax
32(1 + 2)(nc + 1)2 n
dmRect (P ) + (24 + 20 2)(nc + 1)2 n
.
=
A
2
Este es el coste de una rama del rbol de bsqueda que conduce a una ra Con el
a
u
z.
supuesto muy pesimista de que cada ra de las n0 en P necesita una rama exclusiva,
z
multiplicamos este coste por n0 . Sumando el resultado al nmero de EP en la regin
u
o
inicial, se concluye.

Simplicando la expresin, esta cota es menor o igual que


o
78(nc + 1)2 nc n
39nc n
(b a) +
dmRect (P ) + 53(nc + 1)2 nc n
A
A

lg2

dmRect (P )
A

3
+
.
2

1
Para un grado dado n, esta cota del nmero de EP es de orden O
u
.
A
Con esto concluye el anlisis terico del mtodo geomtrico que hemos desarroa
o
e
e
llado, que llamaremos Contour, para hallar ra
ces de polinomios. Permite restringir
la bsqueda a un area de inters en el plano complejo, al contrario que los mtodos
u

e
e
iterativos ms comunes.
a
Contour combina un predicado de inclusin (para ver si una regin plana contiene
o
o
alguna ra basado en el
z)
ndice, con un mtodo recursivo de particin en subregiones,
e
o
como otros algoritmos conocidos [Ying and Katz, 1988, Renegar, 1987, Schnhage,
o
1982, Pan, 1997, Ne and Reif, 1996b]. La contribucin de nuestro mtodo es utilizar
o
e
un predicado de inclusin robusto, que nunca falla. Esto aporta dos caracter
o
sticas.
La primera es que Contour siempre acaba con una aproximacin a la solucin dentro
o
o
de la precisin especicada, lo que ha hecho posible desarrollar una implementacin
o
o

112

CAP
ITULO 3. CALCULO DEL NUMERO DE RA
ICES

prctica. La segunda es que permite una prueba formal de correccin y el clculo del
a
o
a
coste computacional, como se ha hecho. Contour es el primer mtodo geomtrico con
e
e
esas caracter
sticas.
Sobre la complejidad computacional, la cota enel umero de evaluaciones pon
1
con respecto a la precisin
o
linmicas requeridas por el algoritmo es de orden O
o
A
A. Aunque nuestro inters en este desarrollo es principalmente prctico, esta complejie
a
dad se puede comparar con otras cotas tericas, siendo mejor que la de [Pan, 2001a] y
o
similar a [Ne and Reif, 1996b]. La complejidad con respecto al grado, que es O(n3 n),
c
no parece prometedora, siendo O(n lg n) la de [Ne and Reif, 1996b]. Sin embargo debe
notarse que el factor nc es el nmero de ra contenidas en la regin de bsqueda, que
u
ces
o
u
puede ser mucho menor que el nmero total de ra
u
ces. Notemos tambin que la cota
e
del teorema 8 es extremadamente pesimista, y muy probablemente puede mejorarse.
En la prctica el coste de nuestro algoritmo puede ser mucho menor, porque se
a
puede relajar la hiptesis en la seccin 3.3 de que cada ra requiere profundidad de
o
o
z
recursin maximal. Adems, entre los mtodos geomtricos para hallar ra
o
a
e
e
ces, es usual
implementar un procedimiento iterativo (de mayor orden de convergencia, como el
de Newton) para buscar una ra cuando el dimetro de la regin est por debajo
z
a
o
a
de cierto umbral que asegura su convergencia (por ejemplo el umbral de [Traub and
Woniakowski, 1979]). Esta caracter
z
stica no se ha comentado, pero disminuye el coste
sin comprometer la correccin.
o
Nos hemos centrado en producir una implementacin prctica, que pueda operar
o
a
en condiciones de trabajo, en contraste con otros mtodos geomtricos que solo tienen
e
e
implementaciones de laboratorio. Puede probarse en la direccin web http://gim.
o
unex.es/contour. Como trabajo futuro, se est desarrollando una implementacin
a
o
paralela, que aprovecha el paralelismo de tareas impl
cito en los mtodos geomtricos.
e
e

Cap
tulo 4
Implementacin y comparativa
o
En este cap
tulo desarrollamos una comparativa del mtodo geomtrico Contour
e
e
con otros mtodos para hallar ra
e
ces. Nuestro mtodo est implementado en coma
e
a
otante, y evita los problemas de singularidad que afectan a otros mtodos geomtricos
e
e
con un mecanismo de excepciones, como se ha descrito en los cap
tulos anteriores.
Est basado en un predicado de inclusin aplicable a regiones de forma arbitraria, y
a
o
en un procedimiento recursivo que da origen a una bsqueda recursiva. El predicado
u
de inclusin utiliza el
o
ndice de curvas planas cerradas, y usaremos el procedimiento
eciente para calcular el
ndice desarrollado en el cap
tulo anterior. Adems, se ha
a
determinado una cota del coste computacional del predicado.

4.1.

Planteamiento

Dada la cantidad de mtodos de extraccin de ra de polinomios, es necesaria una


e
o
ces
clasicacin previa para poder comparar su utilidad en una situacin dada. Los textos
o
o
de exposicin [Press et al., 1992], o los repositorios de software como GNU Scientic
o
Library [Galassi and Gough, 2009] suelen clasicar los mtodos numricos para solue
e
cionar ecuaciones con criterios acerca de si un mtodo es vlido slo para polinomios,
e
a
o
o para funciones ms generales, si da soluciones en la recta real o puede usarse para
a
todo el plano complejo, etc. Estos criterios de clasicacin son utiles para buscar entre
o

un repertorio de mtodos el ms adaptado a un problema concreto, pero no resultan


e
a
utiles para analizar los algoritmos, ni para ver los recursos que demanda alcanzar un

rendimiento dado, ni facilita la modicacin para adaptarlos a situaciones concretas


o
del problema planteado. Otros textos de anlisis numrico [Ralston and Rabinowitz,
a
e
1978a] optan por un criterio ms pedaggico de sencillez de anlisis y generalidad de
a
o
a
aplicaciones. Aunque este enfoque abstracto tampoco permite una comparativa directa
entre diversos mtodos.
e
113

114

CAP
ITULO 4. IMPLEMENTACION Y COMPARATIVA

Nuestra clasicacin en iterativos o geomtricos, aunque gruesa, ayuda a encuadrar


o
e
los mtodos. Este esquema de clasicacin es el que se va a usar, con una clase de
e
o
mtodos de aproximacin que construyen una sucesin que converge a una solucin
e
o
o
o
de la ecuacin, y otra clase de localizacin o bsqueda, que delimitan regiones donde
o
o
u
estn contenidas las ra
a
ces, o algunas de ellas.
A la hora de hacer una comparativa, adems de elegir ciertos mtodos representaa
e
tivos de los diversos tipos de nuestra clasicacin, tambin es necesario integrar en la
o
e
bater de pruebas las tcnicas habituales para el manejo de la estructura polinomio:
a
e
el esquema de evaluacin Horner [Ralston and Rabinowitz, 1978a], y la aceptacin
o
o
y renamiento de ra
ces, con deacin. Tambin es pertinente una discusin sobre el
o
e
o
condicionamiento (dependencia de las ra respecto de la indeterminacin de los coeces
o
cientes). La bater de pruebas desarrollada es similar a la propuesta por [Traub and
a
Woniakowski, 1979], ampliada con polinomios LPC y otros propuestos por [Bini and
z
Fiorentino, 2000].
Solo se han considerado mtodos clsicos, en el sentido de que tienen una primera
e
a
fase de localizacin y luego otra de aproximacin. No se han considerado mtodos de
o
o
e
transformacin del dominio del problema (por ejemplo los que reformulan el problema
o
de hallar ra
ces de un polinomio en el de hallar autovalores de una matriz). De este
tipo son los mtodos de la potencia inversa o el de Bernouilli (QD, diferencia de
e
cocientes) [Bini et al., 2004a, Zeng, 2005, Fortune, 2002]. Tampoco se han considerado
polialgoritmos. Un polialgoritmo es una combinacin de varios algoritmos diseada
o
n
para cierta clase de problema [Knuth, 1981]. Las bibliotecas de funciones numricas
e
suelen implementar polialgoritmos cuya complicada casu
stica queda oculta al usuario
(mtodos de caja negra). El ms usado es el de Jenkins-Traub [Jenkins and Traub,
e
a
1975].
El mtodo para encontrar ra
e
ces basadas en estimaciones del nmero de vueltas
u
de curvas planas descrito en los cap
tulos precedentes se ha implementado como una
biblioteca C llamada Contour. Lo hemos diseado con el objetivo de encontrar las
n
ra complejas dentro de regiones espec
ces
cas del plano, evitando los clculos en otras
a
areas. Este enfoque produce un ahorro computacional cuando se compara con otros

mtodos. Probamos Contour contra tres mtodos de clculo de ra


e
e
a
ces: dos iterativos
(Newton, el mtodo estndar para ecuaciones no lineales, y Durand-Kerner [Were
a
ner, 1982], que aproxima simultneamente todas las ra
a
ces) y otro mtodo geomtrico
e
e
(Lehmer-Schur [Loewenthal, 1993]) . Las pruebas se realizan sobre un subconjunto de
la bater clsica de polinomios sugeridas por Jenkins-Traub [Jenkins and Traub, 1975],
a a
y adems sobre un conjunto de polinomios obtenidos mediante modelado LPC de una
a
seal de voz [Rabiner, 1999]. Cada prueba se ejecuta en dos plataformas diferentes:
n

4.2. DESCRIPCION DE METODOS

115

un PC de escritorio con un procesador Pentium M de 1,7 GHz, y una plataforma de


Procesamiento de Seal Digital (DSP C6711 Starter Kit - DSK, de Texas Instruments
n
Inc.).
La prxima seccin revisa l mtodo Contour haciendo hincapi en sus difereno
o
e
e
e
cias con los mtodos iterativos. La siguiente seccin cubre el diseo del experimento
e
o
n
numrico, con una descripcin de los conjuntos de polinomios de prueba y varias areas
e
o

de bsqueda. Incluye una traza visual del comportamiento de los mtodos consideu
e
rados como ejemplo. Despus la seccin de resultados numricos revisa las medidas
e
o
e
tomadas, con su discusin, seguida por una seccin de conclusiones.
o
o

4.2.

Descripcin de mtodos
o
e

Los algoritmos iterativos hallan las ra sucesivamente, pero en orden aleatorio.


ces
La posicin de la ra hallada es impredecible. Nuestro mtodo Contour no es iterao
z
e
tivo sino geomtrico, es decir, basado en acotar la zona de bsqueda, y las ra
e
u
ces se
encuentran dentro de este area. Contour puede ser visto como un procedimiento de

separacin de ra
o
ces. Estos procedimientos se utilizan con frecuencia para controlar
la convergencia de los mtodos iterativos. Por ejemplo, en el problema particular de
e
encontrar las ra reales de un polinomio, stas se separan previamente en segmentos
ces
e
por sucesiones de Sturm [Ralston and Rabinowitz, 1978a]. En cada segmento, la cuestin de la imprevisibilidad de la convergencia es ms manejable que en toda la recta
o
a
real. De ah el nfasis tradicionalmente puesto en los criterios de convergencia para

e
el anlisis de los mtodos iterativos. Como otro ejemplo de procedimiento de separaa
e
cin de ra
o
ces en el caso de ra
ces complejas, los mtodos tericos recientes tratan la
e
o
naturaleza impredecible de la iteracin mediante una corona de exclusin ( [Renegar,
o
o
1987, Pan, 1997, Pan, 2001b, Bini et al., 2004b]), pero no son de uso prctico. Un paa
quete pensado para el uso prctico que se basa en una fase geomtrica de separacin de
a
e
o
ra junto de una etapa de aproximacin iterativa es MPSolve [Bini and Fiorentino,
ces
o
2000]. De forma similar, nuestro mtodo puede ser visto como el uso intensivo de un
e
procedimiento de separacin de ra sin el requisito de multiprecisin aritmtica de
o
z,
o
e
MPSolve.
El mtodo Contour se inicia en una curva que delimita el rea de inters. Estie
a
e
mamos el nmero de vueltas de la curva f (). Si este valor no es nulo, la regin plana
u
o
interior a contiene alguna ra En tal caso, regin se divide en partes. El borde de
z.
o
cada parte es una nueva curva, y el nmero de vueltas de su imagen por f nos informa
u
si contiene alguna ra Prosiguiendo con esta divisin recursiva podemos llegar a una
z.
o
precisin arbitraria. Como renamiento con respecto al anlisis terico del cap
o
a
o
tulo

116

CAP
ITULO 4. IMPLEMENTACION Y COMPARATIVA

anterior, si una de las subregiones obtenidas verica un criterio de convergencia local


para el mtodo de Newton, este se aplica para obtener directamente la ra contenida.
e
z
Esta fase iterativa es comn en las implementaciones de mtodos geomtricos.
u
e
e
A pesar de que el clculo del
a
ndice requiere tipos de datos geomtricos y un
e
tratamiento cuidadoso de los casos singulares, no presenta problemas de convergencia
o de estabilidad. As las ra se pueden calcular usando una baja precisin aritmtica.
,
ces
o
e
Adems, la bsqueda de ra puede ser restringida a un area predenida, y el coste
a
u
ces

computacional es proporcional al nmero de ra


u
ces en esa zona. Estos dos hechos
hacen que el mtodo Contour sea preferible en ciertas situaciones: polinomios con
e
ra mltiples, o con un area de inters restringida. Cabe sealar que la naturaleza
ces u

e
n
geomtrica del mtodo hace que sea naturalmente paralelizable, sin comunicacin entre
e
e
o
las tareas a cargo de la bsqueda de ra en zonas disjuntas. Por lo tanto, la ganancia
u
ces
en tiempo de ejecucin debe ser lineal en el nmero de procesadores. Este campo de
o
u
investigacin no se aborda en la presente memoria.
o

4.3.

Dise o del experimento


n

Se compara Contour con una implementacin del mtodo de Newton, que utiliza
o
e
las recetas comunes de deaccin estable, la variacin de la semilla inicial y el pulio
o
do de las ra
ces [Fortune, 2002]. Tambin probamos otro mtodo iterativo, Durande
e
Kerner [Werner, 1982] para la determinacin simultnea de las ra
o
a
ces, as como otro un

mtodo geomtrico, Lehmer-Schur [Loewenthal, 1993], para enriquecer la comparacin


e
e
o
con Contour. El mtodo de Newton exige precisin doble para evitar inestabilidades
e
o
numricas [Jenkins and Traub, 1975]. En la aritmtica de punto otante IEEE 754,
e
e
esto signica una mantisa de 53 bits y un exponente de 11 bits, dando una precisin
o
de 16 d
gitos decimales. En contraste, Contour, Durand-Kerner y Lehmer-Schur slo
o
requieren precisin simple (24 bits de mantisa, exponente 8, con precisin de alrededor
o
o
de 7 d
gitos decimales) en el rango de grados polinmicos examinados (de 3 a 128).
o

4.3.1.

Polinomios aleatorios y de procesamiento de se al


n

Al montar la bater de polinomios de prueba, se han tenido varios objetivos en


a
mente: en primer lugar, representar el campo ms amplio posible; en segundo lugar,
a
manifestar el comportamiento de los mtodos en los casos problemticos; y, por ultimo,
e
a

estudiar los casos que surgen con frecuencia en la prctica.


a
Para el primer objetivo, el enfoque simple de tomar coecientes aleatorios es insuciente para cubrir el conjunto de polinomios como objeto matemtico, de una manera
a


4.3. DISENO DEL EXPERIMENTO

117

representativa. Se sabe que las ra


ces de estos polinomios, con coecientes elegidos
como variables aleatorias independientes e idnticamente distribuidas, tienden a cone
centrarse siguiendo el per
metro del c
rculo unidad, uniformemente espaciados. Adems
a
estos polinomios estn bien condicionados con respecto a la bsqueda de ra
a
u
ces, y por
tanto son fciles de resolver [Jenkins and Traub, 1975]. Es preferible, para tener una
a
muestra amplia del conjunto de polinomios, elegir aquellos que tengan las ra
ces, no
los coecientes, distribuidas aleatoriamente de modo independiente con idntica dise
tribucin.
o
Para el segundo objetivo de la bater de prueba, nos centramos en polinomios
a
con agrupaciones de ra (clusters, grupos de ra cercanas entre s que presentan
ces
ces
),
problemas de convergencia a los buscadores de ra de uso frecuente. Los polinomios
ces
que surgen en aplicaciones prcticas pueden mostrar este comportamiento mal condia
cionado (con ra
ces mltiples o cercanas entre s Para el tercer objetivo, queremos
u
).
aplicar nuestro mtodo para el anlisis LPC en procesado de seal. Por lo tanto una
e
a
n
coleccin de estos polinomios debe incluirse en la bater
o
a.
Resumiendo, nuestra bater de polinomios de prueba se compone de los siguientes
a
cuatro tipos, todos de coecientes reales. Para cada tipo, se muestra un polinomio de
grado 32 como ejemplo. Se representan los 33 coecientes (empezando por el trmino
e
independiente) y las ra
ces. El c
rculo unidad se indica en la grca de las ra
a
ces.
Los polinomios de tipo 1 tienen coecientes aleatorios entre -1 y 1. A pesar de los
comentarios anteriores sobre la distribucin de sus ra alrededor de la circunferencia
o
ces
del c
rculo unidad, este tipo de polinomio es recurrente en experimentos numricos,
e
y puede ser util para la comparacin con otros estudios. La gura 4.1 muestra un

o
ejemplo.

Figura 4.1: Ejemplo de un polinomio de tipo 1 y sus ra


ces.

118

CAP
ITULO 4. IMPLEMENTACION Y COMPARATIVA

Los polinomios de tipo 2 estn construidos de tal manera que sus ra son aleatoa
ces
rias, uniformemente dispersas dentro del c
rculo unidad, en pares complejos conjugados
para tener coecientes reales. As se cumple el primer objetivo de prueba (vase la
e
gura 4.2). Como es conocido [Kyurkchiev, 1998], el valor absoluto de los coecientes
de un polinomio de ra
ces al azar sigue una curva de campana. Por esta razn, los
o
coecientes de grado por encima de 22 son cercanos a cero.

Figura 4.2: Ejemplo de un polinomio de tipo 2 y sus ra


ces.
Para el segundo objetivo (probar las capacidades de convergencia), construimos
polinomios con ra
ces en clusters. Cada polinomio tipo 3 tiene el 75 % de sus ra
ces
uniformemente dispersas en el c
rculo unidad, y el resto uniformemente disperso en un
c
rculo de radio 001 centrado en el punto 05 + 0i. La gura 4.3 muestra un ejemplo.

Figura 4.3: Ejemplo de un polinomio de tipo 3 y sus ra


ces.
Por ultimo, los polinomios del tipo 4 de nuestra bater de pruebas se obtienen


4.3. DISENO DEL EXPERIMENTO

119

a partir del anlisis LPC de una seal de voz. Las ra


a
n
ces LPC estn situadas dentro
a
del c
rculo unidad por cuestiones de estabilidad [Markel, 1976]. Las ra
ces cerca de
la circunferencia estn en conexin con las componentes espectrales de la seal. Por
a
o
n
ejemplo, el polinomio de tipo 4 mostrado en la gura 4.4 corresponde a una ventana
de 512 muestras de un tramo voclico, y resulta tener cinco pares de ra de mdulo
a
ces
o
mayor que 098, cuyos argumentos corresponden a los picos en el espectro de frecuencia
de la seal de voz [Rabiner, 1999].
n

Figura 4.4: Ejemplo de un polinomio de tipo 4 y sus ra


ces.
En los cuatro tipos de polinomios, las ra vienen en pares conjugados complejos,
ces
ya que tienen coecientes reales. Ampliar de la bater de pruebas con polinomios de
a
coecientes complejos es directo, pero muestran un comportamiento similar a los reales
en la densidad de las ra
ces, y previsiblemente en el rendimiento de los algoritmos, por
lo que no se ha acometido.

4.3.2.

Areas para los mtodos geomtricos


e
e

Para probar los mtodos geomtricos, Contour y Lehmer-Schur, elegimos tres reas
e
e
a
del plano complejo para buscar ra
ces. Un area incluye todas las ra

ces, lo que es util

para comparar con los tiempos de los mtodos iterativos, que hallan todas las ra
e
ces.
Por otra parte, para las aplicaciones en LPC tenemos que encontrar las ra situadas
ces
cerca del per
metro del c
rculo unidad, por lo tanto es pertinente considerar un area

que cubra este margen. Para ello, probamos los mtodos geomtricos sobre estas tres
e
e
regiones del plano complejo: el cuadrado de vrtices 1 + i, 1 i, 1 + i, 1 i; la
e
corona semicircular 095 < r < 1, y la corona semicircular 099 < r < 1, llamadas
respectivamente zona A, zona B y zona C.

120

CAP
ITULO 4. IMPLEMENTACION Y COMPARATIVA

La zona A es un cuadrado centrado en el origen que encierra el c


rculo unidad,
incluyendo todas las ra de los polinomios de tipo 2, 3 y 4, y la mayor parte de las
ces
de los de tipo 1. El propsito de esta rea es comprobar el coste de encontrar todas las
o
a
ra por los dos mtodos geomtricos. Para esta tarea se podr restringir la bsqueda
ces
e
e
a
u
al semiplano superior, porque las ra
ces aparecen en pares conjugados. Sin embargo,
el tiempo necesario para encontrar las ra
ces en el area ms pequea es simplemente

a
n
la mitad que en la zona A, por lo que es igualmente vlida para comparacin.
a
o
La zona B es una corona de anchura 005, y la zona C una anloga de anchura
a
001. Para encontrar slo las ra situadas cerca del per
o
ces
metro del c
rculo unidad, la
bsqueda est limitada a la mitad superior de la corona circular centrada en el origen,
u
a
delimitada exteriormente por este per
metro. Estas zonas contienen las ra de inters
ces
e
en las aplicaciones de procesamiento de seal. Para aplicar el mtodo Contour, usamos
n
e
ocho trapecios para cubrir las areas, encontramos las ra contenidas en cada uno de

ces
ellos, sumando los tiempos tomados. En un entorno paralelo estos trapecios pueden
ser asignados a los procesadores independientes. Del mismo modo, para el mtodo
e
geomtrico Lehmer-Schur cubrimos el area de inters utilizando c
e

e
rculos, ya que este
mtodo slo se puede aplicar a las regiones de esta forma. La gura 4.5 muestra las
e
o
areas de prueba.

4.3.3.

Mtodos a ensayar
e

Antes de exponer el experimento numrico, se muestra un bosquejo de los clculos


e
a
requeridos por estos mtodos (Newton, Contour, Lehmer-Schur y Durand-Kerner).
e
As se dar un marco de referencia para la interpretacin de los resultados.

a
o
El mtodo de Newton da 284 pasos para encontrar las ra
e
ces del polinomio de
ejemplo del tipo 3 (LPC) de grado 32 mostrado en la gura 5. Un paso consiste en la
evaluacin del polinomio y de su derivada en un punto complejo. La evaluacin de un
o
o
polinomio de grado d se puede hacer con aproximadamente d/2 multiplicaciones complejas [Knuth, 1981]. Si denotamos xn la estimacin n-sima de una ra del polinomio
o
e
z
f (x), un paso consiste en calcular la siguiente estimacin:
o
xn+1 = xn

f (xn )
f (xn )

Los 284 pasos xn para el polinomio de ejemplo (equivalente a aproximadamente


4500 multiplicaciones) se muestran en la gura 4.6 en forma de puntos, y las ra
ces
como cruces.
Si la convergencia se produce, los pasos sucesivos dan estimaciones mejoradas, y
por tanto se colocan a lo largo de un camino que conduce a cierta ra En nuestra
z.


4.3. DISENO DEL EXPERIMENTO

121

Figura 4.5: Las tres areas de prueba. El c

rculo unitario se perla como referencia.


implementacin, el punto inicial es el complejo 1 + 01i, donde la mayor de los
o
a
caminos empiezan. Pero si esta aproximacin inicial no converge a una ra en cierto
o
z
nmero de pasos, se utiliza otro punto inicial. En el ejemplo, esto se representa por
u
los caminos que comienzan en 32 i o 19 + i. Cuando se encuentra una ra ella
z,

122

CAP
ITULO 4. IMPLEMENTACION Y COMPARATIVA

Figura 4.6: Pasos requeridos por el mtodo de Newton.


e
y su compleja conjugada son deactadas del polinomio.
En contraste, el mtodo Contour utiliza evaluaciones polinmicas en los puntos
e
o
correspondientes a bordes de regiones. A continuacin, calcula su
o
ndice, y por tanto
el nmero de ra
u
ces que el borde encierra. Por ejemplo, se parte de la frontera de la
zona A y representamos las evaluaciones requeridas por este contorno y sus subdivisiones quadtree. El mismo polinomio LPC anterior requiere 2790 evaluaciones (44000
multiplicaciones), que se muestran como puntos en la gura 4.7.
Como se ha comentado antes, el centro de algunos subcontornos verica un criterio
de convergencia de un mtodo iterativo, por ejemplo 09 + 06i. Las aproximaciones
e
sucesivas de la fase iterativa del mtodo Contour se acercan a la ra contenida en
e
z
ese subcontorno. Algunos otros subcontornos (por ejemplo, los que contienen la ra
z
real 093) tienen centros en los que la fase iterativa no converge, y por tanto hay que
recurrir a la divisin recursiva hasta alcanzar la precisin especicada.
o
o
Por otro lado, el mtodo Contour aplicado a la zona B requiere slo 150 evaluaciones
e
o
polinmicas, los puntos de la gura 4.8 (2400 multiplicaciones). Bajo el supuesto de
o
que un paso de Newton es aproximadamente equivalente a una evaluacin polinmica,
o
o
la demanda computacional del mtodo Contour en la zona A es diez veces mayor
e
que la del mtodo de Newton. Sin embargo en la zona B el mtodo Contour requiere
e
e
aproximadamente la mitad de los clculos que el de Newton. La mejora sobre el mtodo
a
e
de Newton viene de la reduccin de supercie donde el mtodo Contour busca las ra
o
e
ces.


4.3. DISENO DEL EXPERIMENTO

123

Figura 4.7: Evaluaciones polinmicas requeridas por el mtodo Contour en la


o
e
zona A.
El nmero de multiplicaciones requeridas por este polinomio de ejemplo usando los
u
otros dos mtodos es mayor, como vemos a continuacin.
e
o
El mtodo iterativo de Durand-Kerner reestima todas las ra simultneamente en
e
ces
a
cada iteracin. Supongamos que d es el grado del polinomio f (x) y que (xk , xk , . . . , xk )
o
1
d
d
son d nmeros complejos, considerados como estimaciones de las ra en la iteracin
u
ces
o
k-sima del mtodo. Los nuevos valores en la iteracin (k + 1)-sima son:
e
e
o
e
xk+1
i

xk
i

f (xk )
i
d
k
k
j=1,j=i (xi xj )

i = 1, . . . , d

Los valores iniciales (x0 , x0 , . . . , x0 ) se eligen en un c


rculo que rodea las ra
ces. Cada
1
2
d
2
iteracin requiere d evaluaciones polinmicas y d multiplicaciones. Se llega a las ra
o
o
ces

124

CAP
ITULO 4. IMPLEMENTACION Y COMPARATIVA

Figura 4.8: Evaluaciones polinmicas requeridas por el mtodo Contour en la


o
e
zona B.
del polinomio ejemplo LPC en 30 iteraciones (equivalente a 46000 multiplicaciones).
Estos valores se muestran en la gura 4.9, con una l
nea que une los valores sucesivos
k
k+1
xi , xi de cada estimacin.
o
Finalmente, el mtodo Lehmer-Schur se basa en el criterio de Schur-Cohn [Pan,
e
1997], que decide si hay alguna ra de un polinomio dentro de un c
z
rculo, con un
2
coste de d evaluaciones (d multiplicaciones). El mtodo aplica este criterio de forma
e
recursiva: si un c
rculo contiene alguna ra se cubre con 9 c
z,
rculos de menor dimetro,
a
y cada uno de ellos se somete al criterio. Si hay resultado positivo, el c
rculo pequeo se
n
divide de manera similar, y as sucesivamente hasta alcanzar la precisin requerida. En

o
el polinomio LPC de ejemplo, para encontrar todas las ra se requiere la aplicacin
ces
o
del criterio de Schur-Cohn a 6364 c
rculos (equivalente aproximadamente a un milln
o
de multiplicaciones), lo que se muestra en la gura 4.10:
El c
rculo inicial es el c
rculo unidad, y se cubre con un c
rculo de centro el origen,
de radio de 05, y ocho ms en torno a ste a izquierda, derecha, arriba, abajo y
a
e


4.4. RESULTADOS NUMERICOS

125

Figura 4.9: Iteraciones requeridas por el mtodo Durand-Kerner.


e
posiciones intermedias. Es decir, sus centros son aproximadamente 075, 06 + 06i,
075i, 06 + 06i, 075, 06 06i, 075i, 06 06i. Si algunos de estos c
rculos
contiene alguna ra se lleva a cabo un recubrimiento por c
z,
rculos similares, como
se mencion anteriormente. En la gura, hay ms c
o
a rculos alrededor de las ra
ces,
que estn marcadas con una cruz blanca. El recubrimiento con c
a
rculos implica una
cierta superposicin, y por tanto una ra se puede encontrar varias veces, si est en la
o
z
a
interseccin de dos c
o
rculos. Esta situacin es ms infrecuente en la bsqueda de ra
o
a
u
ces
de la zona B, que requiere 851 aplicaciones del criterio Schur-Cohn (aproximadamente
100000 multiplicaciones), mostradas en la gura 4.11.

4.4.

Resultados numricos
e

El objetivo de nuestro experimento numrico es medir el ahorro computacional


e
producido usando el mtodo Contour para encontrar ra
e
ces en areas reducidas. Para

cada uno de los cuatro tipos de polinomios de prueba, y cada grado de 3 a 128, se

126

CAP
ITULO 4. IMPLEMENTACION Y COMPARATIVA

Figura 4.10: Aplicaciones del criterio requeridas por Lehmer-Schur en la zona


A.

generan diez polinomios, y promediamos el tiempo necesario para encontrar sus ra


ces
4
con una aproximacin de 10 . Esto signica la bsqueda de ra
o
u
ces de 4 125
10 = 5000 polinomios por ocho procedimientos: el mtodo de Newton, el mtodo
e
e
Contour dentro de las zonas A, B y C, el mtodo de Durand-Kerner, y el mtodo
e
e
de Lehmer-Schur dentro de las tres reas. Las pruebas se han realizado en un PC de
a
sobremesa (Pentium M 1.7 GHz), en un proceso planicado con la prioridad ms alta
a
para evitar interrupciones del sistema. Las mismas pruebas se han realizado en un
procesador digital de seal, la plataforma DSK de Texas Instruments. Las guras 4.12
n
y 4.13 muestra los tiempos medidos en el entorno PC.


4.4. RESULTADOS NUMERICOS

127

Figura 4.11: Aplicaciones del criterio requeridas por Lehmer-Schur en la zona


B.
Como puede verse, el mtodo Contour en la zona A, para los cuatro tipos, tarda
e
aproximadamente diez veces ms en encontrar todas las ra que el mtodo de Newa
ces
e
ton (en polinomios de tipo 1, para encontrar las ra
ces en el interior de la zona A).
Ciertamente, dentro de cada tipo y mtodo, los polinomios de mayor grado son ms
e
a
costosos de resolver. Una caracter
stica que merece destacar en la imagen es que el
mtodo de Newton tiene un mejor rendimiento en los polinomios de tipo 1 y 4 (coee
cientes aleatorios y LPC). Estos tienen sus ra
ces dispersas de manera uniforme en
todo el per
metro del c
rculo unitario, facilitando la convergencia del mtodo iteratie
vo. Los polinomios de tipos 2 y 3 tienen ra
ces prximas entre s lo que obstruye la
o

convergencia del mtodo de Newton.


e
En cuanto a la variabilidad de las medidas, el promedio de tiempos en los diez
polinomios de cada grado para el mtodo de Newton nos da grcas suaves en los
e
a
tipos 1, 2 y 4. El aspecto de dientes de sierra en el tipo 2 para grados entre 80 y
128 es debido al hecho de que, por construccin, los polinomios con ra
o
ces aleatorias
de grado par no tienen, casi con toda seguridad, una ra real. Los de grado impar
z
tienen al menos una ra real. La convergencia a ra
z
ces reales es ms lenta que a
a
complejas en el mtodo de Newton [Press et al., 1992]. Como esta caracter
e
stica es
compartida por los diez polinomios de los experimentos de grado impar, el sesgo no
desaparece despus de la media. Adems, los polinomios de tipo 3 (con un cluster)
e
a
para el mtodo de Newton, y los de todo tipo para el mtodo Contour, dan medidas
e
e

128

CAP
ITULO 4. IMPLEMENTACION Y COMPARATIVA
Newton Tipo 1

Contour Tipo 1 Zona A

Newton Tipo 2

Contour Tipo 2 Zona A

Figura 4.12: Resultados de tiempo para Newton y Contour en la zona A (tipos


1 y 2) en PC.
con gran variabilidad por encima del grado 80. Esto signica que el promedio de diez
polinomios no es suciente para disipar la inuencia de casos especialmente dif
ciles.
Se ha optado por no aumentar el nmero de casos que se promedia porque la tendencia
u
central es claramente visible, y tambin porque as se representa la dispersin de la
e

o
medida sin necesidad de calcular estad
sticos superiores. En el entorno DSK las cifras
son comparables (guras 4.14 y 4.15).
Aunque las grcas anteriores descalican a Contour frente a Newton como mtodo
a
e
para encontrar todas las ra
ces, en areas ms pequeas esta calicacin se invierte,

a
n
o
como muestran las guras 4.16 y 4.17.
El mtodo Contour es ms rpido que Newton para encontrar ra en reas rese
a a
ces
a
tringidas. En una aproximacin de grano grueso, se puede suponer que los clculos
o
a
requeridos por Contour son proporcionales al area cubierta. Los tiempos ms bajos


4.4. RESULTADOS NUMERICOS

129

Newton Tipo 3

Contour Tipo 3 Zona A

Newton Tipo 4

Contour Tipo 4 Zona A

Figura 4.13: Resultados de tiempo para Newton y Contour en la zona A (tipos


3 y 4) en PC.
mostrados en las guras 4.16 y 4.17 para la zona C reejan el hecho de que es ms
a
pequea que la zona B. Como la zona A tiene un tamao de cuatro unidades, y la
n
n
12 0952
zona B de
015 unidades, la mejora en tiempo es de aproximadamente
2
un orden de magnitud. Esta estimacin grosera se basa en el rea, que slo para polio
a
o
nomios de tipo 2 y 3 es proporcional a la cantidad de ra
ces. Para polinomios de tipo
1, las ra
ces tienden a rellenar el espacio anular, y por tanto el coste computacional
medido es mayor que esta estimacin. Notemos que para el tipo 4 (LPC) la grca
o
a
aumenta su pendiente a partir de los grados 75-80, aproximadamente. Esto es debido
a que a partir de estos grados hay un mayor nmero de ra en la zona C de las que
u
ces
le corresponder teniendo en cuenta solo su rea.
an
a
Las medidas tomadas en el entorno DSK son consistentes con lo anterior, y se
muestran en las guras 4.18 y 4.19.

130

CAP
ITULO 4. IMPLEMENTACION Y COMPARATIVA

Newton Tipo 1

Contour Tipo 1 Zona A

Newton Tipo 2

Contour Tipo 2 Zona A

Figura 4.14: Resultados de tiempo para Newton y Contour en la zona A (tipos


1 y 2) en DSK.


4.4. RESULTADOS NUMERICOS

131

Newton Tipo 3

Contour Tipo 3 Zona A

Newton Tipo 4

Contour Tipo 4 Zona A

Figura 4.15: Resultados de tiempo para Newton y Contour en la zona A (tipos


3 y 4) en DSK.

132

CAP
ITULO 4. IMPLEMENTACION Y COMPARATIVA

Contour Tipo 1 Zona B

Contour Tipo 1 Zona C

Contour Tipo 2 Zona B

Contour Tipo 2 Zona C

Figura 4.16: Resultados de tiempo para Contour en las zonas B y C (tipos 1


y 2) en PC.


4.4. RESULTADOS NUMERICOS

133

Contour Tipo 3 Zona B

Contour Tipo 3 Zona C

Contour Tipo 4 Zona B

Contour Tipo 4 Zona C

Figura 4.17: Resultados de tiempo para Contour en las zonas B y C (tipos 3


y 4) en PC.

134

CAP
ITULO 4. IMPLEMENTACION Y COMPARATIVA

Contour Tipo 1 Zona B

Contour Tipo 1 Zona C

Contour Tipo 2 Zona B

Contour Tipo 2 Zona C

Figura 4.18: Resultados de tiempo para Contour en las zonas B y C (tipos 1


y 2) en DSK.


4.4. RESULTADOS NUMERICOS

135

Contour Tipo 3 Zona B

Contour Tipo 3 Zona C

Contour Tipo 4 Zona B

Contour Tipo 4 Zona C

Figura 4.19: Resultados de tiempo para Contour en las zonas B y C (tipos 3


y 4) en DSK.

136

CAP
ITULO 4. IMPLEMENTACION Y COMPARATIVA
Durand-Kerner Tipo 1

Durand-Kerner Tipo 2

Durand-Kerner Tipo 3

Durand-Kerner Tipo 4

Figura 4.20: Resultados de tiempo para Durand-Kerner en todos los tipos


polinmicos, en PC.
o
Los otros dos mtodos bajo estudio muestran tiempos ms largos, y mostramos las
e
a
grcas con los segundos como unidades de las ordenadas. Durand-Kerner no converge
a
para los polinomios de prueba con grado por encima de 110 de tipo 2 y 3, tal vez
porque aparecen ciclos pseudoestables [Kyurkchiev, 1998]. En los polinomios de tipo
1 y 4 este mtodo converge, pero es relativamente ms lento que en los otros mtodos
e
a
e
(gura 4.20).
En el entorno DSK, el mtodo Durand-Kerner muestra problemas de convergencia
e
en grados por encima de 90 (60 en polinomios de tipo 3, gura 4.21). Esto es coherente
con las cifras en PC.
Las cifras de Lehmer-Schur en la zona A crecen mucho, alcanzando varios minutos,
y no se muestran. Este crecimiento, mayor que cuadrtico, se debe a la superposicin
a
o
de los c
rculos en los que se divide la zona de bsqueda, multiplicando el nmero de
u
u


4.4. RESULTADOS NUMERICOS

137

Durand-Kerner Tipo 1

Durand-Kerner Tipo 2

Durand-Kerner Tipo 3

Durand-Kerner Tipo 4

Figura 4.21: Resultados de tiempo para Durand-Kerner en todos los tipos


polinmicos, en DSK.
o

138

CAP
ITULO 4. IMPLEMENTACION Y COMPARATIVA
Lehmer-Schur Tipo 1 Zona B

Lehmer-Schur Tipo 1 Zona C

Lehmer-Schur Tipo 2 Zona B

Lehmer-Schur Tipo 2 Zona C

Figura 4.22: Resultados de tiempo para Lehmer-Schur en las zonas B y C


(tipos 1 y 2) en PC.
veces que se encuentra cada ra como se coment anteriormente. Esta situacin es
z,
o
o
menos frecuente en las zonas B y C, como muestra la gura 4.22.
Notemos que, para los polinomios de tipo 2 y 3, la probabilidad de que la zona C
contenga alguna ra es baja. As que el tiempo empleado es debido a la aplicacin del
z

o
mtodo solo a los primeros c
e
rculos que denen esta zona (gura 4.5). Slo a partir de
o
grado 120 aproximadamente los polinomios tienen alguna ra en la zona C. Esto no
z
ocurre en los tipos 1 y 4, como sugieren la guras 4.22 y 4.23.
En cualquier caso, el mtodo de Lehmer-Schur muestra un pobre rendimiento,
e
debido a la superposicin de los c
o
rculos de particin. La deaccin de las ra
o
o
ces encontradas, como en el mtodo de Newton, puede resolver el problema de encontrar
e
repetidamente la misma ra pero esto requiere clculos de alta precisin. Hacer la
z,
a
o
comparativa con estas mejoras se sale del objetivo de este trabajo.


4.4. RESULTADOS NUMERICOS

139

Lehmer-Schur Tipo 3 Zona B

Lehmer-Schur Tipo 3 Zona C

Lehmer-Schur Tipo 4 Zona B

Lehmer-Schur Tipo 4 Zona C

Figura 4.23: Resultados de tiempo para Lehmer-Schur en las zonas B y C


(tipos 3 y 4) en PC.


CAP
ITULO 4. IMPLEMENTACION Y COMPARATIVA

140

Lehmer-Schur Tipo 1 Zona B

Lehmer-Schur Tipo 1 Zona C

Lehmer-Schur Tipo 2 Zona B

Lehmer-Schur Tipo 2 Zona C

Figura 4.24: Resultados de tiempo para Lehmer-Schur en las zonas B y C


(tipos 1 y 2) en DSK.
Al igual que en el caso de PC, las cifras de Lehmer-Schur en DSK en los tipos 2
y 3, zona C muestran una l
nea de base, con el coste de aplicacin del mtodo de los
o
e
c
rculos iniciales, y sobre esta l
nea alguna ra ocasional aade un pico en grados por
z
n
encima de 100 aproximadamente (guras 4.24 y 4.25). En los tipos 1 y 4 este fenmeno
o
no ocurre debido a su distribucin de ra
o
ces.

4.4.1.

Conclusiones y trabajo futuro

Llegamos a la conclusin de que el uso del mtodo Contour es ventajoso sobre el


o
e
de Newton si el area de inters contiene una fraccin de todas las ra (aproximada
e
o
ces
mente un dcimo del total). Esta conclusin se aplica a los cuatro tipos de polinomios
e
o
probados. El rea debe estar denida previamente, y los polinomios derivados de LPC
a
y otras tcnicas de modelado tienen asociada un area de este tipo, que contiene las
e


4.4. RESULTADOS NUMERICOS

141

Lehmer-Schur Tipo 3 Zona B

Lehmer-Schur Tipo 3 Zona C

Lehmer-Schur Tipo 4 Zona B

Lehmer-Schur Tipo 4 Zona C

Figura 4.25: Resultados de tiempo para Lehmer-Schur en las zonas B y C


(tipos 3 y 4) en DSK.

142

CAP
ITULO 4. IMPLEMENTACION Y COMPARATIVA

ra
ces deseadas. La presencia de clusters de ra
ces no afecta a la ecacia del mtodo
e
Contour, en contraste con el mtodo de Newton.
e
Para la tarea de encontrar todas las ra
ces, el mtodo de Durand-Kerner es prefee
rible sobre el de Newton en polinomios con clusters, por lo menos hasta el grado 100,
donde la convergencia del primer mtodo comienza a fallar. Para los otros tipos de
e
polinomio Newton es la mejor opcin.
o
Para encontrar ra
ces en zonas seleccionadas, Contour es preferible sobre el otro
mtodo geomtrico considerado, ya que utiliza una descomposicin de la zona de inters
e
e
o
e
en subreas disjuntas, evitando por lo tanto encontrar repetidamente la misma ra
a
z.
El mtodo Contour es intr
e
nsecamente paralelo, porque las subdivisiones de la zona
de inters se pueden asignar a diferentes procesadores, aunque este aspecto no se ha
e
puesto a prueba en este trabajo.
Para ampliar este trabajo comparativo, se deber probar Contour contra otros
a
mtodos espec
e
cos para ra
ces de mdulo mximo. Estos mtodos se han aplicado
o
a
e
frecuentemente al proceso de seal (Bernouilli o cociente-diferencia QD [Pan, 1997]).
n
Adems, la bater de pruebas se puede ampliar con los conjuntos estndar de polia
a
a
nomios de [Jenkins and Traub, 1975] y [Zeng, 2005], y con polinomios utilizados en la
modelizacin de sistemas complejos (como el diseo Schelkuno en teor de antenas
o
n
a
o el problema cinemtico inverso en robtica). Por otra parte, aumentar el grado del
a
o
polinomio por encima de 128 requiere aritmtica de precisin mltiple, lo que se sale
e
o
u
de lo corriente en mtodos numricos de propsito general.
e
e
o

Bibliograf
a
[Aberth, 1973] Aberth, O. (1973). Iteration methods for nding all zeros of a polynomial simultaneously. Mathematics of computation, 27(122):339344.
[Aho et al., 1983] Aho, A., Hopcroft, J., and Ullman, J. (1983). Data structures and
algorithms:. Addison-Wesley series in computer science and information processing.
Addison-Wesley.
[Anderson et al., 1999] Anderson, E., Bai, Z., Bischof, C., Blackford, S., Demmel, J.,
Dongarra, J., Du Croz, J., Greenbaum, A., Hammarling, S., McKenney, A., and
Sorensen, D. (1999). LAPACK Users Guide. Society for Industrial and Applied
Mathematics, Philadelphia, PA, third edition.
[Atal and Hanauer, 1971] Atal, B. S. and Hanauer, S. L. (1971). Speech analysis and
synthesis by linear prediction of the speech wave. The journal of the acoustical
society of America, 50(2B):637655.
[Ball, 1997] Ball, K. (1997). An elementary introduction to modern convex geometry.
In Flavors of geometry, volume 31 of Math. Sci. Res. Inst. Publ., pages 158. Cambridge Univ. Press, Cambridge.
[Bermdez et al., 2000] Bermdez, J., Sancho, J., and Vilda, P. (2000). Reconocimienu
u
to de Voz y Fontica Acstica. Ra-Ma.
e
u
[Bini and Fiorentino, 2000] Bini, D. and Fiorentino, G. (2000). Design, analysis, and
implementation of a multiprecision polynomial rootnder. Numerical Algorithms,
23:127173. 10.1023/A:1019199917103.
[Bini et al., 2004a] Bini, D., Gemignani, L., and Pan, V. (2004a). Inverse power and
durand-kerner iterations for univariate polynomial root-nding. Computers &amp;
Mathematics with Applications, 47(2-3):447 459.
143

144

BIBLIOGRAF
IA

[Bini and Pan, 1994] Bini, D. and Pan, V. Y. (1994). Polynomial and matrix computations. Vol. 1. Progress in Theoretical Computer Science. Birkhuser Boston Inc.,
a
Boston, MA. Fundamental algorithms.
[Bini and Pan, 1996] Bini, D. and Pan, V. Y. (1996). Graees, chebyshev-like, and
cardinals processes for splitting a polynomial into factors. Journal of Complexity,
12(4):492511.
[Bini et al., 2004b] Bini, D. A., Gemignani, L., Victor, and Pan, Y. (2004b). Improved
initialization of the accelerated and robust qr-like polynomial root-nding. Electron.
Trans. Numer. Anal, 17:2004.
[Blum et al., 1998] Blum, L., Cucker, F., Shub, M., and Smale, S. (1998). Complexity
and real computation. Springer-Verlag, New York. With a foreword by Richard M.
Karp.
[Boersma, 2002] Boersma, P. (2002). Praat, a system for doing phonetics by computer.
Glot international, 5(9/10):341345.
[Box et al., 2008] Box, G., Jenkins, G., and Reinsel, G. (2008). Time Series Analysis:
Forecasting and Control. Wiley Series in Probability and Statistics. John Wiley &
Sons.
[Brassard and Bratley, 1988] Brassard, G. and Bratley, P. (1988).
theory and practice. Prentice Hall.

Algorithmics -

[Burr and Krahmer, 2012] Burr, M. A. and Krahmer, F. (2012). Sqfreeeval: an (almost) optimal real-root isolation algorithm. Journal of Symbolic Computation,
47(2):153166.
[Burstall, 1969] Burstall, R. (1969). Proving properties of programs by structural
induction. The Computer Journal, 12(1):4148.
[Cardinal, 1996] Cardinal, J.-P. (1996). On two iterative methods for approximating the roots of a polynomial. LECTURES IN APPLIED MATHEMATICSAMERICAN MATHEMATICAL SOCIETY, 32:165188.
[Chou and Ko, 1995] Chou, A. W. and Ko, K.-I. (1995). Computational complexity
of two-dimensional regions. SIAM J. Comput., 24(5):923947.
[Collins, 1977] Collins, G. E. (1977). Infallible calculation of polynomial zeros to specied precision. In Mathematical software, III (Proc. Sympos., Math. Res. Center,

BIBLIOGRAF
IA

145

Univ. Wisconsin, Madison, Wis., 1977), pages 3568. Publ. Math. Res. Center, No.
39. Academic Press, New York.
[Cormen et al., 2001] Cormen, T., Leiserson, C., Rivest, R., and Stein, C. (2001). Introduction To Algorithms. MIT Press.
[Craig, 2005] Craig, J. (2005). Introduction to robotics: mechanics and control.
Addison-Wesley series in electrical and computer engineering: control engineering.
Pearson/Prentice Hall.
[Dedieu and Yakoubsohn, 1993] Dedieu, J.-P. and Yakoubsohn, J.-C. (1993). Computing the real roots of a polynomial by the exclusion algorithm. Numerical Algorithms,
4(1):124.
[Deller et al., 2000] Deller, J., Hansen, J., and Proakis, J. (2000). Discrete-Time Processing of Speech Signals. An IEEE Press classic reissue. Wiley.
[Delves and Lyness, 1967] Delves, L. and Lyness, J. (1967). A numerical method for
locating the zeros of an analytic function. Mathematics of computation, 21(100):543
560.
[Demmel, 1997] Demmel, J. (1997). Applied Numerical Linear Algebra. Miscellaneous
Bks. Society for Industrial and Applied Mathematics.
[Demmel, 1987] Demmel, J. W. (1987). On condition numbers and the distance to
the nearest ill-posed problem. Numer. Math., 51(3):251289.
[Diaz Martin et al., 2001] Diaz Martin, J., Rodriguez Garcia, J., Garcia Zapata, J.,
and Gomez Vilda, P. (2001). Robust voice recognition as a distributed service. In
Emerging Technologies and Factory Automation, 2001. Proceedings. 2001 8th IEEE
International Conference on, volume 2, pages 571 575 vol.2.
[Dickenstein and Emiris, 2005] Dickenstein, A. and Emiris, I. Z. (2005). Solving polynomial equations: Foundations, algorithms, and applications, volume 14. Springer.
[Duncan and Jack, 1988] Duncan, G. and Jack, M. (Feb. 1988). Formant estimation
algorithm based on pole focusing oering improved noise tolerante and feature resolution. In IEE Proceedings, vol. 135, Pt. F, no. 1, pp 18-32,.
[Edelman and Murakami, 1995] Edelman, A. and Murakami, H. (1995). Polynomial roots from companion matrix eigenvalues. Mathematics of Computation,
64(210):763776.

146

BIBLIOGRAF
IA

[Elkadi and Mourrain, 2005] Elkadi, M. and Mourrain, B. (2005). Symbolic-numeric


methods for solving polynomial equations and applications. In Solving polynomial
equations, pages 125168. Springer.
[Emiris et al., 2010] Emiris, I. Z., Pan, V. Y., and Tsigaridas, E. P. (2010). Algebraic
and numerical algorithms. Chapman & Hall/CRC.
[Farmer and Loizou, 1975] Farmer, M. and Loizou, G. (1975). A class of iteration functions for improving, simultaneously, approximations to the zeros of a polynomial.
BIT Numerical Mathematics, 15(3):250258.
[Flanagan, 1960] Flanagan, J. (1960). Spectrum segmentation system for the automatic extraction of formant frequencies from human speech. US Patent 2,938,079.
[Fog, 2014] Fog, A. (2014). Lists of instruction latencies, throughputs and microoperation breakdowns for Intel, AMD and VIA CPUs. Technical report, Technical
University of Denmark.
[Forster, 1992] Forster, W. (1992). Some computational methods for systems of nonlinear equations and systems of polynomial equations. J. Global Optim., 2(4):317356.
[Fortune, 2002] Fortune, S. (2002). An iterated eigenvalue algorithm for approximating roots of univariate polynomials. J. Symbolic Comput., 33(5):627646. Computer
algebra (London, ON, 2001).
[Galassi and Gough, 2009] Galassi, M. and Gough, B. (2009). GNU Scientic Library:
Reference Manual. GNU manual. Network Theory Limited.
[Garc Zapata and D Mart 2008] Garc Zapata, J. and D Mart J. (2008).
a
az
n,
a
az
n,
A geometrical root nding method for polynomials, with complexity analysis. Technical report, Departamento de Matemticas, Universidad de Extremadura.
a
[Garc Zapata and D Mart 2012] Garc Zapata, J. and D Mart J. (2012).
a
az
n,
a
az
n,
A geometrical root nding method for polynomials, with complexity analysis. Journal of Complexity, 28:320345.
[Garc Zapata et al., 2004a] Garc Zapata, J., Mart D., and Gmez Vilda, P.
a
a
n,
o
(2004a). Fast formant estimation by complex analysis of lpc coecients. In EUSIPCO 2004 12th European Signal Processing Conference, pages 20152018, Wien.
[Garc Zapata et al., 2004b] Garc Zapata, J.-L., D Mart J., and Gmez Vila
a
az
n,
o
da, P. (2004b). Parallel root-nding method for lpc analysis of speech. In Sojka,

BIBLIOGRAF
IA

147

P., Kopecek, I., and Pala, K., editors, Text, Speech and Dialogue, volume 3206 of
Lecture Notes in Computer Science, pages 529536. Springer Berlin / Heidelberg.
10.1007/978-3-540-30120-2.
[Garc Zapata and D Mart 2014] Garc Zapata, J. L. and D Mart J. C.
a
az
n,
a
az
n,
(2014). Finding the number of roots of a polynomial in a plane region using the
winding number. Computers & Mathematics with Applications, 67(3):555 568.
[Garner and Holmes, 1998] Garner, P. N. and Holmes, W. J. (May 1998). On the
robust incorporation of formant features into hidden markov models for automatic

speech recognition. In Proc. ICASSP98, Seattle, Washington, USA,.


[Gmez, 1998] Gmez, P., e. a. (1998). A dsp-based modular architecture for noise
o
o
cancellation and speech recognition. In Proc. of the 1998 IEEE Int. Symp. on

Circuits and Systems, ISCAS98, Monterey, CA, USA, pp. V.178-181.


[Goldberg, 1991] Goldberg, D. (1991). What every computer scientist should know
about oating-point arithmetic. ACM Computing Surveys (CSUR), 23(1):548.
[Golub and Van Loan, 1996] Golub, G. and Van Loan, C. (1996). Matrix Computations. Johns Hopkins Studies in the Mathematical Sciences. Johns Hopkins University Press.
[Gourdon, 1993] Gourdon, X. (1993). Algorithmique du theoreme fondamental de
lalgebre. Technical report, Institut national de recherche en informatique et en
automatique (INRIA), Unit de recherche de Rocquencourt.
e
[Haykin, 1995] Haykin, S. (1995). Adaptive Filter Theory (3rd Edition). Prentice Hall,
3rd edition.
[Henrici, 1988] Henrici, P. (1988). Applied and computational complex analysis. Vol.
1. Wiley Classics Library. John Wiley & Sons Inc., New York. Power series
integrationconformal mappinglocation of zeros, Reprint of the 1974 original, A
Wiley-Interscience Publication.
[Henrici and Gargantini, 1969] Henrici, P. and Gargantini, I. (1969). Uniformly convergent algorithms for the simultaneous approximation of all zeros of a polynomial.
In Constructive Aspects of the Fundamental Theorem of Algebra (Proc. Sympos.,
Zrich-Rschlikon, 1967), pages 77113.
u
u
[Herlocker and Ely, 1995] Herlocker, J. and Ely, J. (1995). An automatic and guaranteed determination of the number of roots of an analytic function interior to a
simple closed curve in the complex plane. Reliable Computing, 1(3):239249.

148

BIBLIOGRAF
IA

[Higham, 2002] Higham, N. J. (2002). Accuracy and Stability of Numerical Algorithms.


Society for Industrial and Applied Mathematics, Philadelphia, PA, USA, second
edition.
[Holmes and Russell, 1999] Holmes, W. J. and Russell, M. J. (Jan. 1999.).
Probabilistic-trajectory segmental hmms. Computer Speech & Language, vol. 13,
no. 1:337.
[Hopcroft et al., 2000] Hopcroft, J. E., Motwani, R., and Ullman, J. D. (2000). Introduction to Automata Theory, Languages, and Computation. Addison Wesley, 2nd
edition.
[Householder, 1970] Householder, A. S. (1970). The numerical treatment of a single
nonlinear equation. McGraw-Hill New York.
[Huang, 2004] Huang, D.-S. (2004). A constructive approach for nding arbitrary
roots of polynomials by neural networks. Neural Networks, IEEE Transactions on,
15(2):477491.
[IEEE, 2008] IEEE (2008). IEEE standard for oating-point arithmetic. IEEE Std
754-2008, pages 170.
[Jenkins and Traub, 1975] Jenkins, M. A. and Traub, J. F. (1975). Principles for
testing polynomial zeronding programs. ACM Trans. Math. Softw., 1(1):2634.
[Kalantari, 2009] Kalantari, B. (2009). Polynomial root-nding and polynomiography.
World Scientic Publishing Co. Pte. Ltd., Hackensack, NJ.
[Kamath, 2010] Kamath, N. (2010). Subdivision algorithms for complex root isolation:
Empirical comparisons. PhD thesis, University of Oxford.
[Kang and Coulter, 1976] Kang, G. and Coulter, D. (1976). 600 bps voice digitizer. In Acoustics, Speech, and Signal Processing, IEEE International Conference
on ICASSP 76., volume 1, pages 91 94.
[Kapilow et al., 1999] Kapilow, D. A., Stylianou, Y., and Schroeter, J. (1999). Detection of non-stationarity in speech signals and its application to time-scaling. In
EUROSPEECH.
[Kawahara et al., 1999] Kawahara, H., Masuda-Katsuse, I., and de Cheveign, A.
e
(1999). Restructuring speech representations using a pitch-adaptive time-frequency
smoothing and an instantaneous-frequency-based f0 extraction: Possible role of a
repetitive structure in sounds. Speech Communication, 27(3-4):187 207.

BIBLIOGRAF
IA

149

[Kirrinnis, 1998] Kirrinnis, P. (1998). Partial fraction decomposition in c (iz/i) and


simultaneous newton iteration for factorization in c [iz/i]. journal of complexity,
14(3):378444.
[Knuth, 1981] Knuth, D. E. (1981). The art of computer programming. Vol. 2.
Addison-Wesley Publishing Co., Reading, Mass., second edition. Seminumerical
algorithms, Addison-Wesley Series in Computer Science and Information Processing.
[Ko et al., 2008] Ko, K. H., Sakkalis, T., and Patrikalakis, N. M. (2008). A reliable
algorithm for computing the topological degree of a mapping in R2 . Appl. Math.
Comput., 196(2):666678.
[Kolmogorov and Fomn, 1975] Kolmogorov, A. N. and Fomn, S. V. (1975). Introductory real analysis. Dover Publications Inc., New York. Translated from the second
Russian edition and edited by Richard A. Silverman, Corrected reprinting.
[Kopec, 1986] Kopec, G. (1986). Formant tracking using hidden markov models and
vector quantization. Acoustics, Speech and Signal Processing, IEEE Transactions
on, 34(4):709 729.
[Kravanja and Van Barel, 2000] Kravanja, P. and Van Barel, M. (2000). Computing
the Zeros of Analytic Functions, volume 1727 of Lecture Notes in Mathematics.
Springer.
[Kyurkchiev, 1998] Kyurkchiev, N. (1998). Initial approximations and root nding
methods. Mathematical research. Wiley-VCH.
[Lang and Frenzel, 1994] Lang, M. and Frenzel, B.-C. (1994). Polynomial root nding.
Signal Processing Letters, IEEE, 1(10):141143.
[Lehmer, 1961] Lehmer, D. H. (1961). A machine method for solving polynomial equations. J. ACM, 8:151162.
[Lenstra Jr, 1999] Lenstra Jr, H. W. (1999). Finding small degree factors of lacunary
polynomials. Number theory in progress, 1:267276.
[Loewenthal, 1993] Loewenthal, D. (1993). Improvements on the lehmer-schur root
detection method. Journal of Computational Physics, 109(2):164 168.
[Malajovich and Zubelli, 2001] Malajovich, G. and Zubelli, J. P. (2001). On the geometry of graee iteration. Journal of Complexity, 17(3):541573.

150

BIBLIOGRAF
IA

[Marden, 1966] Marden, M. (1966). Geometry of polynomials, volume 1. AMS Bookstore.


[Markel, 1976] Markel, J. D., G. A. (1976.). Linear Prediction of Speech. SpringerVerlag, Berlin.
[McCandless, 1974] McCandless, S. (Apr. 1974). An algorithm for automatic formant
extraction using linear prediction spectra. IEEE Trans. on Acoustics, Speech and
Signal Processing, vol. ASSP-22, no. 2:135141.
[McCarthy, 2011] McCarthy, J. M. (2011). Kinematics, polynomials, and computers-a
brief history. Journal of Mechanisms and Robotics, 3(1):010201.
[Mekwi, 2001] Mekwi, W. R. (2001). Iterative methods for roots of polynomials. PhD
thesis, University of Oxford.
[Morris and Clements, 2002] Morris, R. W. and Clements, M. A. (2002). Reconstruction of speech from whispers. Medical Engineering &amp; Physics, 24(7-8):515
520. ce:titleModels &amp; Analysis of Vocal Emissions/ce:title.
[Ne, 1994] Ne, C. A. (1994). Specied precision polynomial root isolation is in nc.
Journal of Computer and System Sciences, 48(3):429463.
[Ne and Reif, 1996a] Ne, C. A. and Reif, J. H. (1996a). An ecient algorithm for
the complex roots problem. Journal of Complexity, 12(2):81115.
[Ne and Reif, 1996b] Ne, C. A. and Reif, J. H. (1996b). An ecient algorithm for
the complex roots problem. J. Complexity, 12(2):81115.
[Noureddine and Fellah, 2005] Noureddine, S. and Fellah, A. (2005). Pinpointing the
real zeros of analytic functions. In High Performance Computational Science and
Engineering, pages 123142. Springer.
[Ogata, 2010] Ogata, K. (2010). Modern Control Engineering. Instrumentation and
controls series. Prentice Hall.
[Olive, 1971] Olive, J. P. (1971). Automatic formant tracking by a newton-rapshon
technique. Journal of the Acoustic Society of America, vol. 50, no. 2:661670,.
[Olive, 1992] Olive, J. P. (1992). Mixed spectral representationformants and linear
predictive coding. The Journal of the Acoustical Society of America, 92(4):1837
1840.

BIBLIOGRAF
IA

151

[Oppenheim et al., 1996] Oppenheim, A. V., Willsky, A. S., and Hamid, W. S. (1996).
Signals and Systems (International Edition). Pearson Education, 2 edition.
[Orchard et al., 1985] Orchard, H., Elliott, R., and Stern, G. (1985). Optimising the
synthesis of shaped beam antenna patterns. Microwaves, Antennas and Propagation,
IEE Proceedings H, 132(1):63 68.
[Orfanidis and Vail, 1986] Orfanidis, S. and Vail, L. (1986). Zero-tracking adaptive
lters. Acoustics, Speech and Signal Processing, IEEE Transactions on, 34(6):1566
1572.
[Ouaaline and Radouane, 1998] Ouaaline, N. and Radouane, L. (1998). Pole-zero estimation of speech signal based on zero-tracking algorithm. International Journal
of Adaptive Control and Signal Processing, 12(1):112.
[Padberg, 1999] Padberg, M. (1999). Linear Optimization and Extensions, volume 12.
Springer.
[Pan, 1987] Pan, V. (1987). Sequential and parallel complexity of approximate evaluation of polynomial zeros. Computers & Mathematics with Applications, 14(8):591
622.
[Pan, 1996a] Pan, V. Y. (1996a). Optimal and nearly optimal algorithms for approximating polynomial zeros. Computers & Mathematics with Applications, 31(12):97
138.
[Pan, 1996b] Pan, V. Y. (1996b). Optimal and nearly optimal algorithms for approximating polynomial zeros. Comput. Math. Appl., 31(12):97138.
[Pan, 1997] Pan, V. Y. (1997). Solving a polynomial equation: some history and recent
progress. SIAM Rev., 39(2):187220.
[Pan, 2001a] Pan, V. Y. (2001a). Univariate polynomials: Nearly optimal algorithms
for numerical factorization and rootnding. J. Symbolic Computation, 33:2002.
[Pan, 2001b] Pan, V. Y. (2001b). Univariate polynomials: Nearly optimal algorithms
for numerical factorization and rootnding. J. Symbolic Computation, 33:2002.
[Pan, 2012] Pan, V. Y. (2012). Root-rening for a polynomial equation. In Computer
Algebra in Scientic Computing, pages 283293. Springer.
[Parsons, 1987] Parsons, T. (1987). Voice and speech processing. MCGRAW HILL
SERIES IN ELECTRICAL AND COMPUTER ENGINEERING. McGraw-Hill.

152

BIBLIOGRAF
IA

[Press et al., 1992] Press, W. H., Teukolsky, S. A., Vetterling, W. T., and Flannery,
B. P. (1992). Numerical recipes in C. Cambridge University Press, Cambridge,
second edition. The art of scientic computing.
[Priestley, 1981] Priestley, M. (1981). Spectral analysis and time series. Number v.
1-2 in Probability and mathematical statistics. Academic Press.
[Rabiner, 1999] Rabiner, L., J. B. (1999).
Prentice-Hall, New Jersey.

Fundamentals of Speech Recognition.

[Ralston and Rabinowitz, 1978a] Ralston, A. and Rabinowitz, P. (1978a). A rst course in numerical analysis. McGraw-Hill Book Co., New York, second edition. International Series in Pure and Applied Mathematics.
[Ralston and Rabinowitz, 1978b] Ralston, A. and Rabinowitz, P. (1978b). A rst
course in numerical analysis. International series in pure and applied mathematics. McGraw-Hill.
[Renegar, 1987] Renegar, J. (1987). On the worst-case arithmetic complexity of approximating zeros of polynomials. J. Complexity, 3(2):90113.
[Riley, 1989] Riley, M. (1989). Speech Time-Frequency Representation. Kluwer International Series in Engineering and Computer Science. Springer.
[Rudin, 1987] Rudin, W. (1987). Real and complex analysis. McGraw-Hill Book Co.,
New York, third edition.
[Sakurai et al., 2003] Sakurai, T., Kravanja, P., Sugiura, H., and Van Barel, M. (2003).
An error analysis of two related quadrature methods for computing zeros of analytic
functions. Journal of computational and applied mathematics, 152(1):467480.
[Schechter, 1996] Schechter, E. (1996). Handbook of Analysis and Its Foundations.
Elsevier Science.
[Schmid and Barnard, 1995] Schmid, P. and Barnard, E. (Sept 1995). Robust, n-best
formant tracking. In Proc. EUROSPEECH?95, Madrid, Spain, pages pp. 737740.
[Schnhage, 1982] Schnhage, A. (1982). The fundamental theorem of algebra in terms
o
o
of computational complexity. Technical report, Mathematisches Institut Universitt
a
Tbingen.
u
[Sitton et al., 2003] Sitton, G., Burrus, C., Fox, J., and Treitel, S. (2003). Factoring
very-high-degree polynomials. Signal Processing Magazine, IEEE, 20(6):27 42.

BIBLIOGRAF
IA

153

[Smale, 1981] Smale, S. (1981). The fundamental theorem of algebra and complexity
theory. Bulletin of the American Mathematical Society, 4(1):136.
[Smith et al., 1976] Smith, B. T., Boyle, J. M., Dongarra, J. J., Garbow, B. S., Ikebe,
Y., Klema, V. C., and Moler, C. B. (1976). Matrix eigensystem routinesEISPACK
guide. Springer-Verlag, Berlin, second edition. Lecture Notes in Computer Science,
Vol. 6.
[Smith, 2003] Smith, S. (2003). Digital Signal Processing: A Practical Guide for Engineers and Scientists. Demystifying Technology Series. Newnes.
[Snell and Milinazzo, 1993] Snell, R. and Milinazzo, F. (1993). Formant location from
lpc analysis data. Speech and Audio Processing, IEEE Transactions on, 1(2):129
134.
[Sommese and Wampler, 2005] Sommese, A. J. and Wampler, C. W. (2005). The
numerical solution of systems of polynomials: Arising in Engineering and Science.
World Scientic.
[Starer, 1990] Starer, D. (May 1990). Algorithms for Polynomial-Based Signal Processing. PhD thesis, Yale University.
[Stetter, 1996] Stetter, H. J. (1996). Analysis of zero clusters in multivariate polynomial systems. In Proceedings of the 1996 international symposium on Symbolic and
algebraic computation, pages 127136. ACM.
[Suzuki, 2001] Suzuki, Toshio; Suzuki, T. (2001). A globally convergent zero nding
method. In Proceedings of the Third World Congress of Nonlinear Analysts, Part 6
(Catania, 2000), volume 47, pages 38693875.
[Taylor, 1997] Taylor, J. (1997). An Introduction to Error Analysis: The Study of
Uncertainties in Physical Measurements. A series of books in physics. University
Science Books.
[Toh and Trefethen, 1994] Toh, K.-C. and Trefethen, L. N. (1994). Pseudozeros of
polynomials and pseudospectra of companion matrices. Numerische Mathematik,
68(3):403425.
[Toselli and Widlund, 2005] Toselli, A. and Widlund, O. B. (2005). Domain decomposition methods: algorithms and theory, volume 34. Springer.

154

BIBLIOGRAF
IA

[Traub and Woniakowski, 1979] Traub, J. F. and Woniakowski, H. (1979). Converz


z
gence and complexity of Newton iteration for operator equations. J. Assoc. Comput.
Mach., 26(2):250258.
[Trefethen, 2010] Trefethen, L. N. (2010). The Princeton companion to mathematics,
chapter IV.21 Numerical Analysis, pages 604615. Princeton University Press.
[Trefethen and Bau III, 1997] Trefethen, L. N. and Bau III, D. (1997). Numerical
linear algebra. Number 50. Siam.
[Van Dooren, 1994] Van Dooren, P. (1994). Some numerical challenges in control
theory. In Linear algebra for control theory, volume 62 of IMA Vol. Math. Appl.,
pages 177189. Springer, New York.
[W. Philips, 1992] W. Philips, G. D. J. (April 1992). Data compression of ecgs by high
degree polynomial approximation. IEEE Transactions on biomedical Engineering,
Vol. 39, No. 4:330337.
[Welling and Ney, 1998] Welling, L. and Ney, H. (Jan. 1998.). Formant estimation
for speech recognition. IEEE Trans. On Speech and Audio Processing, vol. 6, no.
1:3648.
[Werner, 1982] Werner, W. (1982). On the simultaneous determination of polynomial
roots. In Ansorge, R., Meis, T., and Trnig, W., editors, Iterative Solution of Nono
linear Systems of Equations, volume 953 of Lecture Notes in Mathematics, pages
188202. Springer Berlin / Heidelberg. 10.1007/BFb0069383.
[Widrow and Stearns, 1985] Widrow, B. and Stearns, S. (1985). Adaptive signal processing. Prentice-Hall signal processing series. Prentice-Hall.
[Wiener, 1975] Wiener, N. (1975). Extrapolation, Interpolation, and Smoothing of Stationary Time Series. The M.I.T. Press, Cambridge, Massachussetts.
[Wilf, 1978] Wilf, H. S. (1978). A global bisection algorithm for computing the zeros
of polynomials in the complex plane. J. Assoc. Comput. Mach., 25(3):415420.
[Wilkinson, 1964] Wilkinson, J. (1964).
Prentice-Hall (Englewood Clis, NJ).

Rounding errors in algebraic processes.

[Wilkinson, 1965] Wilkinson, J. H. (1965). The algebraic eigenvalue problem. Clarendon Press, Oxford.

BIBLIOGRAF
IA

155

[Williamson and Shmoys, 2011] Williamson, D. P. and Shmoys, D. B. (2011). The


design of approximation algorithms. Cambridge University Press.
[Yakoubsohn, 2005] Yakoubsohn, J.-C. (2005). Numerical analysis of a bisectionexclusion method to nd zeros of univariate analytic functions. J. Complexity,
21(5):652690.
[Yap and Sagralo, 2011] Yap, C. K. and Sagralo, M. (2011). A simple but exact and
ecient algorithm for complex root isolation. In Proceedings of the 36th international
symposium on Symbolic and algebraic computation, pages 353360. ACM.
[Ying and Katz, 1988] Ying, X. and Katz, I. N. (1988). A reliable argument principle
algorithm to nd the number of zeros of an analytic function in a bounded domain.
Numer. Math., 53(1-2):143163.
[Young and Gregory, 2012] Young, D. M. and Gregory, R. T. (2012). A survey of
numerical mathematics, volume I. Courier Dover Publications.
[Zeng, 2004] Zeng, Z. (2004). Algorithm 835: Multroota matlab package for computing polynomial roots and multiplicities. ACM Transactions on Mathematical
Software (TOMS), 30(2):218236.
[Zeng, 2005] Zeng, Z. (2005). Computing multiple roots of inexact polynomials. Math.
Comput., 74(250):250.

También podría gustarte