Funciones Spline - Departamento de Matemática Aplicada

Anuncio
Funciones spline y
Cada punto de control Pi = (xi1 , . . . , xis ), i = 0, . . . , n, tiene s coordenadas. Suponiendo que el sistema de funciones (u0 , . . . , un ) está fijado y que
vamos cambiando los puntos de control, la fórmula (1.1) permite definir una
familia de curvas en Rs que depende de (n + 1) × s parámetros.
Diseño Geométrico
Asistido por Ordenador
Toda curva paramétrica puede representarse mediante una función γ :
[a, b] → Rs que hace corresponder a cada parámetro del intervalo [a, b] un
punto de Rs . De manera análoga, todo polı́gono P0 · · · Pn puede interpretarse
como una función P : {0, 1, . . . , n} → Rs que asocia a cada elemento del
conjunto de ı́ndices {0, 1, . . . , n} un punto de Rs . Bajo este punto de vista,
los polı́gonos pueden considerarse como curvas paramétricas definidas sobre
un conjunto discreto.
por Jesús Carnicer Álvarez,
Departamento de Matemática Aplicada,
Universidad de Zaragoza, Diciembre de 2012
1. Control de curvas y de su forma
Una primera pregunta que surge es si toda curva tiene un único polı́gono
de control o si polı́gonos distintos pueden dar lugar a la misma curva.
Una expresión del tipo
γ(t) =
n
�
Pi ui (t),
i=0
t ∈ [a, b],
(1.1)
donde ui son funciones definidas en el intervalo [a, b] y Pi ∈ Rs , para todo
i ∈ {0, 1, . . . , n}, define una curva paramétrica en Rs . La lı́nea poligonal
P0 · · · Pn recibe el nombre de polı́gono de control y los puntos Pi , i = 0, . . . , n,
se llaman puntos de control.
P4
P2
Proposición 1.1. El polı́gono de control P0 · · · Pn de la curva (1.1) es único
si y sólo si las funciones ui : [a, b] → R, i = 0, . . . , n son linealmente independientes.
Demostración. Suponer que las funciones ui , i = 0, . . . , n, son linealmente
independientes y que
n
n
�
�
Pi u i =
Qi ui ,
i=0
i=0
donde Pi = (xi1 , . . . , xis ), Qi = (y1i , . . . , ysi ), i = 0, . . . , n. Entonces
n
�
P1
i=0
P3
(Pi − Qi )ui = 0.
y tomando la componente k-ésima (k ∈ {1, . . . , s}) tenemos
n
�
i=0
P6
(xik − yki )ui = 0.
Figura 1. Polı́gono de control de una curva paramétrica
Por la independencia lineal, se deduce que xik = yki para todo i = 0, . . . n y
todo k = 1, . . . , s. Por tanto todas las componentes de Pi coinciden con las
de Qi , es decir Pi = Qi , i = 0, . . . , n y el polı́gono es único. Recı́procamente,
1
2
P0
P
5
suponer que el polı́gono asociado a cada curva es único. Para demostrar la
independencia supongamos que
n
�
En efecto, si T (P ) = τ + T0 (P ), entonces
T ((1 − λ)P + λQ) = τ + T0 ((1 − λ)P + λQ) = τ + (1 − λ)T0 (P ) + λT0 (Q)
= (1 − λ)(τ + T0 (P )) + λ(τ + T0 (Q)) = (1 − λ)T (P ) + λT (Q).
ci ui = 0.
i=0
La ecuación anterior equivale a decir que la curva unidimensional (s = 1) nula
tiene como polı́gono de control P0 · · · Pn , con Pi = ci ∈ R, i = 0, . . . , n. Otro
polı́gono de control de la misma curva será Q0 · · · Qn con Qi = 0, i = 0, . . . , n.
Por unicidad del polı́gono de control ci = 0, i = 0, . . . , n, lo que muestra la
independencia.
Si las funciones son independientes, podemos asignar a cada curva de
manera unı́voca un polı́gono de control.
Para hacernos una idea del significado de (1.1), podemos imaginarnos
que γ es una curva que va cambiando y que puede manipularse a través de
su polı́gono de control. Cualquier cambio en el polı́gono corresponde a un
cambio en la curva y, recı́procamente, todo cambio en la curva corresponde a
un cambio de su polı́gono de control. Si somos capaces de predecir o deducir
ciertos rasgos geométricos de la curva de propiedades geométricas análogas
de su polı́gono de control tendremos una especie de control geométrico.
Una propiedad interesante de este tipo de representación es la invariancia
por transformaciones lineales. Si T : Rs → Rp es una aplicación lineal,
entonces
n
�
T (γ(t)) =
T (Pi )ui (t).
(1.2)
i=0
y el polı́gono de control de la curva transformada T (γ(t)) es precisamente el
polı́gono T (P0 ) · · · T (Pn ) obtenido al transformar cada punto de control.
Recı́procamente si T verifica (1.3), entonces llamando τ = T (0) y T0 (P ) :=
T (P ) − τ , vemos que T0 es una aplicación lineal
T0 (λP ) = T (λP ) − τ = T ((1 − λ)0 + λP ) − τ = (1 − λ)τ + λT (P ) − τ
= λ(T (P ) − τ ) = λT0 (P ),
�1
� �1
�
1 �
1 �
T0 (P + Q) = 2T0 P + Q = 2 T P + Q − τ
2
2
2
2
= T (P ) + T (Q) − 2τ = T0 (P ) + T0 (Q).
De (1.3) se deduce por inducción la siguiente propiedad de las transformaciones afines
T
n
��
i=0
n
� �
λ i Pi =
λi T (Pi ),
i=0
n
�
T (P ) = τ + T0 (P ),
i=0
ui (t) = 1,
i=0
donde τ ∈ Rs y T0 : Rs → Rp es una aplicación lineal. Recordemos que una
transformación afı́n T : Rs → Rp está caracterizada por la propiedad
3
λi = 1,
P, Q ∈ Rs .
(1.3)
Pj ∈ Rs ,
j = 0, . . . , n.
�n
La representación γ(t) = i=0 Pi ui (t) es invariante por transformaciones afines si para cualquier trasformación afı́n T : Rs → Rp se verifica (1.2).
La invariancia por transformaciones afines admite la siguiente interpretación.
La curva T (γ(t)) obtenida al transformar cada punto de γ puede considerarse como la curva correspondiente al polı́gono T (P0 ) · · · T (Pn ) obtenido al
transformar cada punto de control.
�n
Proposición 1.2. La representación de curvas γ(t) =
i=0 Pi ui (t), ui :
[a, b] → R, i = 0, . . . , n, es invariante por transformaciones afines si y sólo si
se verifica la condicion de normalización
Una transformación afı́n es una aplicación T : Rs → Rp de la forma
T ((1 − λ)P + λQ) = (1 − λ)T (P ) + λT (Q),
n
�
∀t ∈ [a, b].
(1.4)
Demostración. Si T : Rs → Rp es una aplicación afı́n cualquiera, entonces
T
n
��
i=0
n
� �
Pi ui (t) =
T (Pi )ui (t),
i=0
4
lo que implica que la curva transformada puede generarse a través del polı́gono
de control transformado T (P0 ) · · · T (Pn ). Recı́procamente, si la representación es invariante por transformaciones afines, considerando una traslación
T (P ) = P + τ , con τ �= 0, se debe tener
γ(t) + τ =
n
�
(Pi + τ )ui (t) = γ(t) +
i=0
de donde se deduce
�n
n
��
i=0
i=0
�
ui τ,
∀τ ∈ Rs ,
ui (t) = 1.
P3
P2
P1
tener un fuerte control en los extremos de cada trozo de curva. Por eso, es
usual imponer que los extremos del intervalo sean puntos de interpolación
t0 = a y tn = b, de modo que se verique la propiedad de interpolación en los
extremos
γ(a) = P0 , γ(b) = Pn .
(1.5)
�n
Proposición 1.3. La representación de curvas γ(t) =
i=0 Pi ui (t), ui :
[a, b] → R, i = 0, . . . , n, verifica la propiedad de interpolación en los extremos
si y sólo si
u0 (a) = 1, ui (a) = 0, i = 1, . . . , n,
(1.6)
un (b) = 1, ui (b) = 0, i = 0, . . . , n − 1.
Demostración. Supongamos que se verifica (1.6), entonces
γ(a) =
P0
ui (a)Pi = P0 ,
T(P3 )
T(P1 )
T(P4 )
Figura 2. Traslación de una curva y de su polı́gono de control
La invariancia por transformaciones afines implica que si trasladamos
el polı́gono, la curva queda también trasladada. Como las traslaciones son
operaciones muy comunes en los procesos de diseño, a no ser que se especifique
lo contrario, se supondrá que se verifica la condición de normalización (1.4).
Lo mismo podemos afirmar de cualquier movimiento euclı́deo, si movemos el
polı́gono, la curva realiza el mismo movimiento.
La interpolación es una manera simple e intuitiva de control. Si se quieren
pegar varios segmentos curvos procedentes de curvas diseñadas deberemos
5
n
�
ui (b)Pi = Pn .
i=0
Para el recı́proco consideremos para cada j = 0, . . . , n el polı́gono de control
unidimensional δ0j · · · δnj siendo δij el sı́mbolo delta de Kronecker
δij =
T(P0 )
γ(b) =
i=0
P4
T(P2 )
n
�
�
1,
0,
si i = j
si i =
� j.
Por la propiedad de interpolación en los extremos tenemos
uj (a) =
n
�
δij ui (a) = δ0j ,
i=0
es decir u0 (a) = 1 y ui (a) = 0 para i > 0. Análogamente tenemos
uj (b) =
n
�
δij ui (b) = δnj ,
i=0
de donde se deduce que un (b) = 1 y ui (b) = 0 para i < n.
6
Más concretamente, si tomamos
ti − a
Pi = P0 +
(Pn − P0 ), i = 0, . . . , n,
b−a
entonces tenemos
n
n
�
�
ti − a
γ(t) =
Pi ui (t) =
(P0 +
(Pn − P0 ))ui (t) =
b−a
i=0
i=0
Figura 3. Control local de una curva
Otra propiedad interesante desde el punto de vista del diseño es el control
local, es decir buscamos representaciones para las que el cambio de un solo
punto de control produzca un cambio local en lugar de un efecto global.
Si las funciones básicas (u0 , . . . , un ) tienen soporte pequeño, entonces
los cambios son locales. Supongamos que tenemos dos polı́gonos de control
P0 · · · Pn , Q0 · · · Qn y queremos comparar los cambios de las curvas correspondientes
n
n
n
�
�
�
Qi ui (t) −
Pi ui (t) =
(Qi − Pi )ui (t).
i=0
i=0
n
�
i=0
ui (t) + (Pn − P0 )
n
�
ti − a
i=0
b−a
ui (t) = P0 +
t−a
(Pn − P0 ),
b−a
de modo que el segmento P0 Pn se recorre con velocidad uniforme cuando t
recorre el intervalo [a, b].
(t4,c4)
(t1,c1)
(t0,c0)
(t5,c5)
(t3,c3)
i=0
Vemos que la diferencia entre las curvas puede expresarse en términos del
cambio del polı́gono. Si sólo cambiamos un punto de control Qi = Pi , i �= j,
y Qj �= Pj , entonces la diferencia entre las curvas es (Qj − Pj )uj (t). Por
tanto, la curva permanece sin cambios en los puntos t ∈ [a, b] \ supp uj . Si
supp uj �= [a, b], el cambio será local y cuanto más pequeño sea el soporte,
más localizado será el cambio.
Una caracterı́stica importante de muchas representaciones usadas en diseño asistido por ordenador es la preservación de funciones lineales. Si existen
constantes ti , i = 0, . . . , n, tales que
n
�
P0
ti ui (t) = t
i=0
entonces se preservan las lı́neas rectas en el siguiente sentido: si P0 · · · Pn
es un polı́gono tal que los puntos de control son puntos del segmento P0 Pn ,
entonces la curva correspondiente es una parametrización del segmento P0 Pn .
7
(t2,c2)
t0
t1
t2
t3
t4
t5
Figura 4. Polı́gono de control de la gráfica de una función
Las constantes t0 , . . . , tn se llaman abscisas de Greville,
�n y permiten interpretar geométricamente las gráficas de funciones u(t) = i=0 ci ui (t) asignándoles un polı́gono de control.
En efecto, la gráfica de la función u es la curva paramétrica
γ(t) = (t, u(t)),
t ∈ [a, b],
que puede ser obtenida a través del siguiente polı́gono de control
� �� �
� �
t0
t1
t
··· n .
c0
c1
cn
8
2. Preservación de forma
Otro tipo de control geométrico muy frecuente es la preservación de la forma. Esto quiere decir que la curva imita la forma de su polı́gono de control,
aunque no pase necesariamente por todos los puntos de control. La deducción
de propiedades de forma de la curva de propiedades análogas del polı́gono de
control tiene consecuencias importantes en el proceso de diseño. Una propiedad importante es la preservación de la positividad (no negatividad) que tiene
importantes consecuencias como la llamada propiedad de la cápsula convexa
y permite acotar la región del plano donde tiene que encontrarse la curva.
Consideremos
�n el caso de un diseñador que quiere controlar una curva
plana γ(t) =
i=0 Pi ui (t) en una pantalla de ordenador. Una propiedad
natural que debe imponerse es que si el polı́gono de control se encuentra en
el rectángulo de la pantalla, la curva no debe salirse de la pantalla. Esto
quiere decir que, si todos los puntos de control Pi = (xi1 , xi2 )T , i = 0, . . . , n se
máx
máx
encuentran en el rectángulo R = [xmı́n
] × [xmı́n
], entonces la curva
1 , x1
2 , x2
γ(t) también debe estar dentro del rectángulo R.
Esta condición podemos expresarla para cada una de las coordenadas en
la forma
xmı́n ≤
n
�
i=0
xi ui (t) ≤ xmáx ,
si xi ∈ [xmı́n , xmáx ], i = 0, 1, . . . , n.
Si elegimos xmı́n = 0, podemos deducir la siguiente propiedad
c0 , . . . , cn ≥ 0 =⇒
n
�
i=0
ci ui (t) ≥ 0, para todo t ∈ [a, b]
(2.1)
que deberı́a verifica cualquier sistema de funciones razonable que se use en
un sistema de diseño. La propiedad (2.1) puede interpretarse en términos de
curvas 1-dimensionales.
Si todos los coeficientes ci son no negativos, entonces
�n
la función i=0 ci ui (t) también es no negativa.
Definición 2.1. Un sistema de funciones (u0 , . . . , un ) preserva la nonegatividad si se verifica (2.1).
La caracterización de los sistemas que preservan la no negatividad es
simple.
9
Proposición 2.2. Sea (u0 , . . . , un ) un sistema de funciones definido en [a, b]
entonces son equivalentes
(a) (u0 , . . . , un ) preserva la nonegatividad,
(b) ui (t) ≥ 0, para todo t ∈ [a, b], i ∈ {0, 1, . . . , n}.
Demostración. Si las funciones ui son no negativas, entonces tenemos Si
elegimos los coeficientes
ci = 1,
cj = 0, j �= i,
obtenemos
ui = 0u0 + · · · + 0ui−1 + ui + 0ui+1 + · · · + 0un ≥ 0,
lo que implica que las funciones ui deben ser no negativas. Recı́procamente
si las funciones ui (t) son no negativas, entonces se verifica (2.1), porque una
combinación de funciones no negativas con coeficientes no negativos debe dar
como resultado una función no negativa.
Consideremos n sustancias distintas cada una de ellas con un precio por
unidad de peso ci , i = 0, . . . , n. Supongamos que mezclamos cantidades
diferentes estas sustancias para obtener una mezcla. Si el peso de la sustancia
de precio ci es wi > 0, para i = 0, . . . , n, obtendremos una mezcla con peso
total w0 +· · ·+wn . Como el valor total de los ingredientes es c0 w0 +· · ·+cn wn ,
se deduce que el precio medio c por unidad de peso de la mezcla debe ser la
media ponderada
c0 w0 + · · · + cn w n
c=
.
w0 + · · · + wn
La fórmula anterior recibe el nombre de ley de mezclas. Llamando
ui =
wi
w0 + · · · + wn
a las proporciones relativas de los productos, la ley de mezclas adopta la
expresión
c 0 u0 + · · · + c n un .
con u0 , . . . , un ≥ 0 y u0 + · · · + un = 1.
10
Definición 2.3. Un sistema de funciones (u0 , . . . , un ), ui : [a, b] → R, i =
0, . . . , n es una ley de mezclas
�n(o partición de la unidad) si ui (t) ≥ 0 para
todo t ∈ [a, b], i = 0, . . . , n y i=0 ui (t) = 1, para todo t ∈ [a, b].
�n En determinados contextos matemáticos, una partición de la unidad
i=0 ui (t) = 1 puede estar formada por funciones con valores negativos. Por
eso utilizaremos con preferencia el término ley de mezclas, más usual en el
contexto del diseño asistido por ordenador.
De la Proposición 1.2 y la Proposición 2.2 se deduce el siguiente resultado
Proposición 2.4. El sistema de funciones (u0 , . . . , un ), ui : [a, b] → R,
i = 0, .�
. . , n, es una ley de mezclas si y sólo si la representación de curvas
n
γ(t) = i=0 Pi ui (t) tiene la propiedad de invariancia afı́n y preserva la nonegatividad.
La preservación de la no negatividad (resp., positividad) de una ley de mezclas admite una interpretación geométrica. Si todos los vértices del polı́gono
de control P0 · · · Pn se encuentran en un semiespacio cerrado (resp., abierto)
S, la curva debe encontrarse en el mismo semiespacio cerrado (resp., abierto S. En efecto, como cualquier semiespacio puede expresarse mediante la
fórmula T (P ) ≥ 0 (resp. T (P ) > 0) siendo T : Rs → R una aplicación afı́n
suprayectiva, se deduce de la invariancia afı́n (1.2). Aplicando la propiedad de
preservación de la no negatividad (resp., positividad) se deduce el resultado.
Observemos que toda ley de mezclas preserva no solo la nonnegatividad,
sino también la positividad. En efecto, �
si c0 , . . . , cn > 0, entonces existe α > 0
n
tal que
c
−
α,
.
.
.
,
c
−
α
≥
0,
luego
0
n
i=0 (ci − α)ui (t) ≥ 0, lo que implica
�n
que i=0 ci ui (t) ≥ α > 0.
Una propiedad interesante de las representaciones de curvas correspondientes a una ley de mezclas es la propiedad de la cápsula convexa .
Definición 2.5. Un conjunto convexo K ⊆ Rs es un conjunto tal que para
cada par de puntos del conjunto P, Q, el segmento que los une está contenido
dentro del dicho conjunto, es decir
(1 − t)P + tQ ∈ K, para todo t ∈ [0, 1], P, Q ∈ K.
Por inducción
K es un conjunto convexo y λi ≥ 0, i =
�n es fácil ver que si�
0, . . . , n, con i=0 λi = 1, entonces i=0 λi Pi ∈ K si Pi ∈ K, i = 0, . . . , n.
11
Teorema 2.6. Sea X ⊆ Rs , entonces
[X] :=
n
��
i=0
λi xi | λi ≥ 0, xi ∈ X, i = 0, . . . , n,
n
�
i=0
�
λi = 1, n ≥ 0
(2.2)
es un conjunto convexo que contiene al conjunto X tal que si K ⊆ Rs es
cualquier otro conjunto convexo que contiene a X, entonces [X] ⊆ K.
Demostración. Claramente, tomando sumas con un solo elemento, vemos
que X ⊆ [X]. Consideremos dos elementos arbitrarios de [X],
x=
n
�
λi x i ,
y=
i=0
m
�
µ j yj ,
j=0
donde xi ∈ X, λi ≥ 0, i = 1, . . . , n y también yj ∈ X, µj ≥ 0, j = 1, . . . , m.
Entonces tenemos
(1 − t)x + ty =
n
�
i=0
(1 − t)λi xi +
m
�
tµj yj ,
j=0
siendo los coeficientes no negativos. Como
n
�
i=0
(1 − t)λi +
m
�
j=0
tµj = (1 − t) + t = 1,
se deduce que (1 − t)x + ty ∈ [X], de donde [X] es un conjunto convexo. Por
último, si K es un conjunto convexo, necesariamente tiene que contener a
todos los elementos de [X].
Definición 2.7. La cápsula convexa de un conjunto X ⊆ Rs es el menor
conjunto convexo que contiene a X, dado por (2.2).
Definición 2.8. Sea (u0 ,�
. . . , un ) un sistema de funciones definido en [a, b].
n
La representación γ(t) = i=0 Pi ui (t) tiene la propiedad de la cápsula convexa si todos los puntos de la curva se encuentran en la cápsula convexa de
su polı́gono de control
[P0 , . . . , Pn ] :=
n
��
i=0
λ i Pi |
12
n
�
i=0
�
λi = 1, λi ≥ 0, ∀i .
P5
P3
Todo polı́gono plano convexo (en particular los rectángulos) son una intersección de semiplanos. Precisamente, la cápsula convexa es la intersección
de todos los semiplanos cerrados que contienen el polı́gono. Las observaciones anteriores nos permiten afirmar que la preservación de la no negatividad,
que una curva plana se encuentre en el mismo rectángulo que su polı́gono de
control y la propiedad de la cápsula convexa son formulaciones equivalentes
del mismo hecho.
P4
P2
Control por interpolación
P1
P6
Si se eligen algunos valores de los parámetros t0 < t1 < · · · < tn para los que
se imponen las condiciones de interpolación
γ(ti ) = Pi ,
P0
Figura 5. Cápsula convexa de un polı́gono
Proposición 2.9. Sea (u0 , . . . , un ) un sistema
�nde funciones definido en [a, b],
entonces la representación de curvas γ(t) = i=0 Pi ui (t) tiene la propiedad
de la cápsula convexa si y sólo si (u0 , . . . , un ) es una ley de mezclas.
Demostración. Si (u0 , . . . , un ) es una ley de mezclas, entonces los coeficientes ui (t) son nonegativos y suman 1, luego
γ(t) =
n
�
i=0
Para el recı́proco, tengamos en cuenta que uj corresponde al polı́gono de
control unidimensional δ0j · · · δnj , y por la propiedad de la cápsula convexa
uj (t) ∈ [0, 1],
j = 0, . . . , n,
en particular uj ≥ 0. Si tomamos el polı́gono de control 1 · · · 1, tenemos
n
�
i=0
ui (t) ∈ {1},
de donde se deduce la condición de normalización
13
�n
i=0
ui (t) = 1.
(2.3)
entonces la curva interpola a su polı́gono de control, no solamente en sus
extremos sino también en los puntos de control intermedios.
Puede parecer, en un principio, que la interpolación proporciona un control más estricto de la curva que una representación que preserve la forma.
Sin embargo, el control de la forma tiene muchas más ventajas que la interpolación, porque permite controlar algunas caracterı́sticas fundamentales en
el proceso de diseño.
Observemos que �
(2.3) implica que las funciones ui : [a, b] → R de la
n
representación γ(t) = i=0 Pi ui (t)
ui (tj ) = δij ,
ui (t)Pi ∈ [P0 , . . . , Pn ].
i = 0, . . . , n,
∀i, j ∈ {0, 1, . . . , n}
(2.4)
donde δij denota la delta de Kronecker, es decir u0 , . . . , un son las funciones
básicas del problema de interpolación de Lagrange. Observemos que el problema de interpolación de Lagrange (2.3) y la construcción de las funciones
básicas de Lagrange (2.4) puede tener solución o no tenerla dependiendo del
espacio que consideremos.
Por ejemplo, el problema de encontrar funciones de Lagrange en el espacio de los polinomios de grado menor o igual que n siempre tiene solución,
independientemente de la posición de los puntos t0 < · · · < tn en el intervalo
[a, b]. De hecho, los polinomios de Lagrange son producto de factores lineales
li (t) :=
� t − tj
.
ti − tj
j�=i
14
(2.5)
Supongamos que la curva interpola su polı́gono de control y describamos
el proceso de diseño. Primero, deberı́amos tener una idea vaga de la curva que
debe ser diseñada. Podemos pensar en algunos puntos por los que tiene que
pasar la curva y usarlos como puntos de control. Usando las�
funciones básicas
n
de Lagrange, podemos obtener la curva interpolante γ(t) = i=0 Pi li (t). Si el
resultado no es satisfactorio, podemos usar la propiedad de interpolación para
modificar la curva. El proceso de control ası́ descrito resulta muy intuitivo: al
mover un punto, la curva intenta seguir ese punto y se modifica hasta volver
a pasar por el punto nuevo.
Teniendo
�nen cuenta que la función 1 debe interpolarse a sı́ misma, se
deduce que i=0 li (t) = 1. Sin embargo, para n ≥ 2, las funciones tienen
signos que cambian en los nodos de interpolación, y, por tanto, no forman
una ley de mezclas. Esto implica que existen curvas que no están contenidas
en el mismo rectángulo que el polı́gono de control correspondiente.
hecho de que funciones básicas de Lagrange de los espacios de funciones spline
tampoco forman una ley de mezclas.
Las representaciones de curvas suaves obtenidas interpolando todos los
puntos del polı́gono de control más usuales no corresponden a leyes de mezclas
y, por tanto, carecen de las propiedades de preservación de forma más básicas
Disminución de la variación
Muchos ejemplos notables de representaciones de curvas verifican la propiedad de disminución
de la variación: el número de cambios de signo de la
�n
función i=0 ci ui está acotado por el número de cambios de signo estricto de
la sucesión de coeficientes respecto a la base (u0 , . . . , un ).
Esta propiedad admite la siguiente interpretación geométrica: el número
de veces que una curva atraviesa un hiperplano está acotado por el número de
veces que lo atraviesa su polı́gono de control.
La propiedad de disminución de la variación es interesante porque implica
otras propiedades de preservación de forma.
Definición 2.10. Un sistema de funciones (u0 , . . . , un ) preserva la monotonı́a
si a todo polı́gono de control unidimensional creciente corresponde una curva
creciente, es decir
c0 ≤ · · · ≤ cn =⇒
Figura 6. El control por interpolación no tiene la propiedad de la cápsula
convexa. El dibujo muestra un ejemplo de un rectángulo que contiene a los
puntos de control pero no a la curva.
Otros espacios interesantes en los que puede plantearse el problema de
interpolación de Lagrange son los espacios de funciones spline (funciones polinómicas a trozos). Las curvas obtenidas por interpolación polinómica presentan frecuentemente oscilaciones que no están sugeridas por el polı́gono de
control. Las oscilaciones en el caso de polinomios son de mayor amplitud, lo
que dificulta el proceso de diseño. Aunque la curva spline cúbica es mucho más
flexible que la curva polinómica también presenta oscilaciones no presentes en
el polı́gono de control, es decir, la forma no está controlada. Esto se debe al
15
n
�
ci ui (t) es creciente.
i=0
Podemos interpretar geométricamente la Definición 2.8 para representaciones de curvas con la propiedad de la invariancia afı́n. La proyección
sobre una recta de los puntos del espacio puede representarse mediante una
aplicación afı́n suprayectiva T : Rs → R. Por la propiedad de invariancia afı́n, la curva T (γ(t)) corresponde al polı́gono de control transformado
T (P0 ) · · · T (Pn ). De la preservación de la monotonı́a, deducimos que si las
proyecciones de un polı́gono de control sobre una recta son crecientes
T (P0 ) ≤ · · · ≤ T (Pn ),
entonces la proyección T (γ(t)) de la curva s-dimensional sobre dicha recta
será también creciente.
Para deducir la preservación de la monotonı́a de la propiedad de disminución de la variación necesitamos formular la monotonı́a de funciones en
términos de cambios de signos.
16
En el primer caso eligiendo c tal que
máx(u(t0 ), u(t2 )) < c < u(t1 ),
tenemos que u(t0 ) − c < 0, u(t1 ) − c > 0 y u(t2 ) − c < 0, en contradicción con
(b). En el segundo caso, eligiendo c tal que
u(t1 ) < mı́n(u(t0 ), u(t2 )),
tenemos que u(t0 ) − c > 0, u(t1 ) − c < 0 y u(t2 ) − c > 0, en contradicción con
(b). Por lo tanto, debemos tener para t0 < t1 < t2 que
(u(t2 ) − u(t1 ))(u(t1 ) − u(t0 )) ≥ 0
y teniendo en cuenta que
Figura 7. Las proyecciones del polı́gono de control y la curva son crecientes
Proposición 2.11. Sea u : [a, b] → R una función. Son equivalentes
(a) u es una función monótona.
(b) La función u−c tiene a lo sumo un cambio de signo estricto, para cualquier
función constante c.
Demostración. Si el número de cambios de signo estricto de u − c fuera
mayor o igual que 2 existirı́an t0 < t1 < t2 tales que
u(t0 ) − c < 0,
u(t1 ) − c > 0,
u(t2 ) − c < 0,
u(t0 ) − c > 0,
u(t1 ) − c < 0,
u(t2 ) − c > 0.
o bien
En el primer caso u(t0 ) < u(t1 ) y u(t1 ) > u(t2 ) y u no serı́a ni creciente ni
decreciente. En el segundo caso u(t0 ) > u(t1 ) y u(t1 ) < u(t2 ) u tampoco serı́a
monótona. Por lo tanto, la monotonı́a implica que u − c tiene a lo sumo un
cambio de signo estricto.
Recı́procamente, supongamos que se verifica (b) y supongamos que
(u(t2 ) − u(t1 ))(u(t1 ) − u(t0 )) < 0
u(t2 ) − u(t0 ) = (u(t2 ) − u(t1 )) + (u(t1 ) − u(t0 )),
deducimos que si t0 < t1 < t2 , las diferencias
u(t2 ) − u(t1 ), u(t1 ) − u(t0 ), u(t2 ) − u(t0 )
tienen todas el mismo signo no estricto. Además, si u(t2 )−u(t0 ) = 0, entonces
u(t2 ) − u(t1 ) = u(t1 ) − u(t0 ) = 0. Por lo tanto, podemos afirmar que
s(u(t2 ) − u(t0 )) ≥ 0 ⇒ s(u(t2 ) − u(t1 )), s(u(t1 ) − u(t0 )) ≥ 0,
∀s ∈ {−1, 1},
es decir, u(t2 ) − u(t1 ) y , u(t1 ) − u(t0 ) heredan el signo no estricto de u(t2 ) −
u(t0 ).
Para t0 < t1 < · · · < tn , n ≥ 4, considerando todas las ternas, deducimos
que las diferencias
u(ti ) − u(tj ),
i < j,
i, j ∈ {0, 1, . . . , n}
tienen todas el mismo signo no estricto que u(tn ) − u(t0 ). Por lo tanto, podemos comparar dos diferencias arbitrarias u(t) − u(s), t < s en I, independientemente de sus posiciones relativas y deducir que deben tener el mismo
signo no estricto. O bien
u(t) − u(s) ≥ 0,
∀t < s
u(t) − u(s) ≤ 0,
∀t < s
en cuyo caso u es monótona creciente o bien
en cuyo caso u es monótona decreciente.
u(t1 ) > máx(u(t0 ), u(t2 )) o bien u(t1 ) < mı́n(u(t0 ), u(t2 )).
La convexidad es una propiedad de forma cuya preservación se requiere
en ciertos procesos de diseño. Recordemos la definición de convexidad de
curvas paramétricas propuesta por Schoenberg.
17
18
entonces tenemos que
Definición 2.12. Una curva paramétrica γ : [a, b] → R2 es convexa, si no
atraviesa ninguna recta del plano más de dos veces.
Analı́ticamente, podemos representar una recta del plano como el conjunto de puntos tales que T (P ) = 0, siendo T : R2 → R una aplicación afı́n
suprayectiva. Por lo tanto, una curva plana γ(t) es convexa, si para toda
aplicación afı́n suprayectiva T : R2 → R, la función T (γ(t)) tiene a lo sumo
dos cambios de signo estricto. Para polı́gonos puede utilizarse la misma idea.
Un polı́gono P0 · · · Pn es convexo si para toda aplicación afı́n suprayectiva
T : R2 → R, la sucesión de números reales T (P0 ), . . . , T (Pn ) tiene a lo sumo
dos cambios de signo estricto.
γ
Figura 8. Ninguna recta atraviesa a una curva convexa más de dos veces
(c) Las funciones básicas ui , i = 1, . . . , n − 1, tienen forma de campana: son
no negativas, primero crecen hasta alcanzar un máximo y luego decrecen.
La función u0 es decreciente y la función un es creciente.
Demostración. (a) Supongamos que c0 ≤ c1 ≤ · · · ≤ cn y sea c ∈ R
arbitrario, como la sucesión de coeficientes
ci − c, i = 0, . . . , n, tiene a lo sumo
�n
un cambio de signo, se deduce que i=0 ci ui − c tiene a lo sumo un cambio
de signo para todo c ∈ R, lo que implica la monotonı́a.�Teniendo en cuenta
n
la propiedad de interpolación deducimos que la función i=0 ci ui es creciente.
(b) Sea P0 · · · Pn un polı́gono convexo. Consideremos T : R2 → R una
aplicación afı́n suprayectiva arbitraria, por convexidad el número de cambios
de signo estricto de la sucesión de coeficientes T (P0 ), . . . , T (Pn ) es menor o
igual que 2. Por la propiedad de disminución de�la variación el número de
n
cambios de signo estricto de la función T (γ(t)) = i=0 T (Pi )ui (t) es menor o
igual que 2. Por tanto γ(t) verifica la definición de convexidad de Schoenberg.
(c) La sucesión de coeficientes de una función básica es 0, . . . , 0, 1, 0, . . . , 0.
Las funciones básicas ui , i = 1, . . . , n − 1, se anulan en los extremos y son
no negativas pero no idénticamente nulas. Por el Teorema de Weierstrass,
ui alcanzará su valor máximo M en algún punto τ del intervalo [a, b]. De la
propiedad de disminución de la variación deducimos que para cada 0 ≤ c ≤ M ,
la gráfica de la función y = ui (x) atraviesa a lo sumo dos veces la recta y = c.
Teniendo en cuenta, los valores nulos en los extremos, debe atravesar la recta
y = c exactamente dos veces una en [a, τ ] y otra en [τ, b]. De la Proposición
2.9, deducimos la monotonı́a de ui en cada subintervalo [a, τ ] y [τ, b]. El hecho
de que u0 sea decreciente (resp., un ) sea creciente) se debe a la preservación de
la monotonı́a, ya que u0 (resp., un ) corresponde a una sucesión de coeficientes
decreciente 1, 0, . . . , 0 (resp., creciente 0, . . . , 0, 1).
Resumimos en el siguiente resultado alguna de las muchas propiedades
de forma que se deducen de la propiedad de disminución de la variación.
Teorema 2.13. Sea (u0 , . . . , un ), ui : [a, b] → R, una ley de mezclas tal
que se verifica la propiedad de interpolación en los extremos y la propiedad
disminución de la variación entonces tenemos
�n
(a) Se preserva la monotonı́a, si c0 ≤ c1 ≤ · · · ≤ cn , entonces i=0 ci ui es
creciente.
(b) Si el polı́gono de control P0 · · · Pn es convexo, entonces la curva es convexa.
19
20
3. Ceros de funciones y alternancia de signos
Si restamos todos los términos del segundo miembro, toda ecuación puede
expresarse en la forma
f (x) = 0,
donde f : I → R es una cierta función definida en un dominio I. El problema de resolver una ecuación se reduce al de hallar los ceros de una función.
Si I no es un intervalo, podemos investigar el problema en cada una de las
componentes conexas del dominio; ası́ que es frecuente suponer que I es un
intervalo. La mayorı́a de las ecuaciones que aparecen en la práctica corresponden a funciones continuas f ∈ C(I) e incluso diferenciables.
Un primer problema que aparece es la localización y separación de los
ceros de f . Una herramienta clave es el Teorema de Bolzano.
Se define el número de cambios de signo estrictos de una función como la
longitud de la mayor cadena de alternancias fuertes que podemos encontrar
en el dominio disminuida en una unidad
�
S − (f ) := sup k | existen x0 < x1 < · · · < xk en I tal que f tiene
�
una alternancia fuerte en el conjunto {x0 , . . . , xk }
Para una sucesión de números reales (a0 , . . . , an ), definimos
S − (a0 , . . . , an ) := S − (a),
donde a : i ∈ {0, 1, . . . , n} → ai ∈ R.
Teniendo en cuenta que el número de ceros de una función f es
Teorema 3.1 (Bolzano). Sea I ⊆ R un intervalo y f ∈ C(I). Si para a < b
del intervalo I, f (a)f (b) < 0, entonces f tiene al menos un cero en (a, b).
Para localizar el cero con mayor precisión puede utilizarse el método de
bisección. Se parte de un intervalo [a, b] en el que la función continua tenga un
cambio de signo. Se define c = (a + b)/2 y se determina cuál es el extremo en
el que la función que tiene signo distinto de f (c). Si la función cambia de signo
en [a, c], se repite el proceso con ese subintervalo. En caso contrario, se utiliza
el subintervalo [c, b]. El proceso termina cuando la longitud del intervalo es
suficientemente pequeña y queda determinada una solución de f (x) = 0 con
la precisión requerida.
El Teorema de Bolzano nos indica que en el caso de tener una función
continua el número de cambios de signo de la función debe ser menor o igual
que el número de ceros. Con objeto de contar el número de cambios de signo
estricto de una función introducimos
Definición 3.2. Una función f : I → R tiene una alternancia fuerte de
signos de longitud n + 1 si existen x0 < x1 < · · · < xn en I tales que
(−1)i f (xi ) > 0,
∀i ∈ {0, 1, . . . , n},
(−1)i f (xi ) < 0,
∀i ∈ {0, 1, . . . , n}.
o bien
21
�
Z(f ) := #{x ∈ I | f (x) = 0} = sup k | existen x1 < · · · < xk en I
�
tal que f (x1 ) = · · · = f (xk ) = 0 ,
el teorema de Bolzano puede enunciarse de la siguiente manera
Proposición 3.3. El número de cambios de signo de una función continua
en un intervalo es menor o igual que el número de ceros, es decir, si f ∈ C(I)
con I intervalo, entonces
S − (f ) ≤ Z(f )
Demostración. Por el Teorema de Bolzano, para cada alternancia fuerte
x0 < x1 < · · · < xk de signos tenemos ceros y1 < · · · < yk , con yi ∈ (xi−1 , xi ).
Por tanto, la existencia de una cadena de longitud k + 1 implica la existencia
de al menos k ceros, es decir Z(f ) ≥ k. Tomando supremos sobre todas las
alternancias fuertes, tenemos que Z(f ) ≥ S − (f ).
A veces es necesario precisar más sobre los cambios de signo, la función
f (x) = x2 , x ∈ R, no tiene ningún cambio de signo estricto; sin embargo,
es lı́mite de funciones f (x; a) = x2 − a2 , x ∈ R, con a → 0+ , con dos
cambios de signo. De hecho, el único cero de la función f se considera doble
porque, cuando a → 0+ , los dos únicos ceros de la función f (x; a) en −a, a
se aproximan hasta fundirse en el único cero de f . Con cierta frecuencia se
estudian el número de cambios de signo no estrictos de una función.
22
Definición 3.4. Una función f : I → R tiene una alternancia débil de signos
de longitud n + 1 si existen x0 < x1 < · · · < xn en I tales que
(−1)i f (xi ) ≥ 0,
∀i ∈ {0, 1, . . . , n},
(−1)i f (xi ) ≤ 0,
∀i ∈ {0, 1, . . . , n}.
16
12
o bien
Se define el número de cambios de signo no estrictos de una función como la
longitud de la mayor cadena de alternancias débiles que podemos encontrar
el el dominio disminuida en una unidad
�
S + (f ) := sup k | existen x0 < x1 < · · · < xk en I tal que f tiene
�
una alternancia débil en el conjunto {x0 , . . . , xk }
Para una sucesión de números reales (a0 , . . . , an ), definimos
S + (a0 , . . . , an ) := S + (a),
donde a : i ∈ {0, 1, . . . , n} → ai ∈ R.
Como toda alternancia fuerte es también una alternancia débil, la definición implica que S − (f ) ≤ S + (f ). Por otro lado, como una sucesión de ceros
y un valor no nulo dan lugar a una alternancia débil, se deduce que, si f �= 0,
entonces Z(f ) ≤ S + (f ). Finalmente, si f �= 0 es continua en un intervalo, el
Teorema de Bolzano implica que
S − (f ) ≤ Z(f ) ≤ S + (f ).
Ejemplos.
(a) La sucesión (1, 2, 1) no contiene cadenas de alternancia de longitud 2, por
lot tanto S − (1, 2, 1) = S + (1, 2, 1) = 0.
(b) La sucesión (1, 0, 1) no contiene cadenas de alternancia fuerte de longitud
2, pero (1, 0, 1) es una cadena de alternancia débil de longitud 3, luego
S − (1, 0, 1) = 0, S + (1, 0, 1) = 2.
(c) La sucesión (1, −1, 1) es una cadena de alternancia fuerte de longitud 3,
ası́ que S − (1, −1, 1) = S + (1, −1, 1) = 2.
23
8
4
0
-2
-1
0
1
2
Figura 9. La función x4 no tiene cambios de signo estricto,
pero tiene dos cambios de signo no estricto, 0 = S − (x4 ) < S + (x4 ) = 2.
(d) Discutamos el valor de S − (1, a, −1) según el parámetro a ∈ R. La
sucesión contiene una alternancia fuerte (1, −1) de longitud 2, ası́ que
S + (1, a, −1) ≥ S − (1, a, −1) ≥ 1. Por otro lado, como el signo en los extremos es opuesto, no es posible encontrar alternancias débiles de longitud
3, por tanto S − (1, a, −1) ≤ S + (1, a, −1) ≤ 1. Se deduce que con independencia del signo de a, tenemos que S − (1, a, −1) = S + (1, a, −1) = 1.
(e) Discutamos el número de ceros y cambios de signo de la función fc (x) =
x4 − c, c ∈ R. Si c < 0, entonces fc es una función positiva y S − (fc ) =
S + (fc ) = Z(fc ) = 0. Si c = 0, entonces f0 es una función no negativa
y S − (f0 ) = 0. Como f0 sólo se anula en x = 0, tenemos Z(f0 ) = 1.
Tomando x = −1, 0, 1, encontramos una alternancia débil de longitud
2, lo que implica que S + (f0 ) ≥ 2. Teniendo en cuenta que f0 tiene el
mismo signo estricto en los intervalos (−∞, 0) y (0, ∞) se deduce que
no existen cadenas de alternancia débil de longitud mayor que 3, es decir
√
S + (f0 ) = 2. En el caso de ser c > 0, tenemos en x = −r, 0, r, con r > 4 c,
+
−
una alternancia fuerte, de donde deducimos que S (fc ) ≥ S (fc ) ≥ 2.
Del Teorema de Bolzano, se deduce que S + (fc ) ≥ Z(fc ) ≥ S − (fc ) ≥ 2.
Teniendo en cuenta que √
fc tiene √
el mismo
signo
√
√ estricto en cada uno
de los intervalos (−∞, − 4 c), (− 4 c, 4 c) y ( 4 c, ∞) se deduce que no
existen cadenas de alternancia débil de longitud mayor que 3, es decir
S + (fc ) = 2. Por tanto S − (fc ) = Z(f ) = S + (fc ) = 2.
24
Multiplicidades de ceros y Teorema de Rolle generalizado
2
Otra herramienta que nos ayuda a localizar los ceros de una función es el Teorema de Rolle, que afirma que entre cada dos ceros de una función derivable
existe un cero de la derivada.
1
Teorema 3.5 (Rolle). Sea f ∈ C[a, b] derivable en (a, b) tal que f (a) = f (b).
Entonces entonces f � tiene al menos un cero en (a, b).
0
Como consecuencia del Teorema de Rolle, podemos acotar el número de
ceros de una función en términos del número de ceros de la derivada. Si
f ∈ C(I), con I un intervalo de la recta real y f es derivable en el interior del
intervalo, podemos afirmar que si
x 1 < · · · < xp
Z(f � ) ≥ Z(f ) − 1.
Una herramienta más versátil para la localización de los ceros es el Teorema de Rolle generalizado, que incluye las multiplicidades de los ceros en el
cómputo.
Si f ∈ C k (I) (k ≤ ∞) y para x ∈ I y m un entero no negativo menor o
igual que k, tenemos
f (m) (x) �= 0,
entonces decimos que que f tiene en x un cero de multiplicidad exactamente
m. También se dice que x es un cero de la función f de multiplicidad m. Si
f ∈ C ∞ (I) y las derivadas sucesivas se anulan en x ∈ I
f (x) = f � (x) = f �� (x) = · · · = 0
decimos que f tiene en x un cero de multiplicidad infinita.
k
El desarrollo de Taylor de una función f ∈ C (I) en torno a un cero
x ∈ I de multiplicidad igual a m indica que el lı́mite
lı́m
t→x
f (t)
(t − x)m
25
0
1
2
-1
-2
son los ceros de f , entonces existen yi ∈ (xi , xi+1 ), i = 1, . . . , p − 1, tales que
f � (yi ) = 0. Se deduce que
f (x) = f � (x) = · · · = f (m−1) (x) = 0,
-1
Figura 11. Gráfica de f (x) = −(x + 1)4 x(x − 1)2 (x − 2)3 /(1 + x2 )
con ceros en x = −1, 0, 1, 2 de multiplicidades respectivas 4, 1, 2, 3.
existe, es finito y no nulo. Para un cero de multiplicidad infinita se deduce
que
f (t)
lı́m
= 0, ∀k ≥ 0.
t→x (t − x)k
A veces no se conoce la multiplicidad exacta o no es posible asignar
una multiplicidad exacta a un cero porque en ese punto se anulan todas las
derivadas que están definidas. Si f ∈ C k (I), k < +∞ y para x ∈ I
f (x) = f � (x) = · · · = f (k) (x) = 0,
entonces decimos que f tiene en x un cero de multiplicidad mayor que k. En
caso contrario decimos que f tiene en x un cero de multiplicidad menor o
igual que k.
Al expresar el desarrollo de Taylor de una función f ∈ C k (I) en torno a
un cero de multiplicidad mayor que k deducimos que
lı́m
t→x
f (t)
= 0.
(t − x)k
Utilizando la notación o para expresar el orden del infinitésimo anterior podemos, expresar el lı́mite anterior en la forma
f (t) = o(t − x)k ,
26
t → x.
Si f ∈ C ∞ (I), la multiplicidad de un cero siempre está bien definida y
será finita si existe un entero m(x) tal que se verifica (3.1) e infinita si todas
las derivadas se anulan.
Si f ∈ C k (I), k < +∞ y x es un cero de multiplicidad menor o igual
que k, entonces la multiplicidad m(x) de x como cero de f está bien definida
como el entero no negativo menor o igual que k tal que
f (x) = f � (x) = · · · = f (m(x)−1) (x) = 0,
f (m(x)) (x) �= 0.
(3.1)
En particular, m(x) = 0 significa que x no es cero de f , m(x) = 1 significa
que f es cero simple de f , m(x) = 2 quiere decir que x es cero doble.
Si puede definirse la multiplicidad de todos los ceros de f en un intervalo
I, tiene sentido definir ZI∗ (f ), el número de ceros de f contando multiplicidades. Si f tiene un número finito de ceros en I de multiplicidad finita,
entonces
�
m(x),
ZI∗ (f ) :=
a x0 . Se deduce que f � (x0 ) = 0. Si f ∈ C k (I), llegamos a la conclusión de
que
f (x0 ) = f � (x0 ) = · · · = f (k) (x0 ) = 0.
Se deduce de lo anterior que si todos los ceros de f tienen una multiplicidad finita definida, entonces la función f siempre tiene un número finito de
ceros en cada subintervalo compacto del dominio.
El Teorema de Rolle puede extenderse considerando varios ceros de f y
sus multiplicidades. Supongamos que f tiene un número finito de ceros para
los que está definida una multiplicidad finita. Sean x1 < · · · < xp en I la
sucesión de ceros de f y m(xi ) la multiplicidad de xi . Por el Teorema de
Rolle, f � tiene un cero yi en cada subintervalo (xi , xi+1 ), i = 1, . . . , p − 1. Por
definición de multiplicidad, f � tiene un cero de multiplicidad m(xi ) − 1 en xi .
Si está definida la multiplicidad de todos los ceros de f � , se deduce que
ZI∗ (f � ) ≥
x∈I,m(x)>0
en caso contrario, si hay infinitos ceros o un cero de multiplicidad infinita,
escribimos ZI∗ (f ) := ∞.
En el caso de que no pueda definirse la multiplicidad exacta de todos
los ceros de una función de clase C k (I), siempre tiene sentido contar los
ceros de multiplicidad menor o igual que k (es decir, excluyendo ceros cuya
multiplicidad puede no estar bien definida)
ZIk (f ) :=
�
m(x).
x∈I,0<m(x)≤k
Si el número de ceros en el intervalo I es infinito,
ZIk (f )
:= ∞.
p−1
�
m(yi ) +
i=1
p
�
i=1
es decir
ZI∗ (f )
(m(xi ) − 1) ≥
p
�
i=1
m(xi ) − 1 = ZI∗ (f ) − 1,
ZI∗ (f � ) ≥ ZI∗ (f ) − 1.
(3.2)
�
Observamos que si
= ∞, entonces ZI (f ) = ∞, por lo que (3.2) puede
considerarse válida incluso si el número de ceros es infinito.
El argumento anterior es válido incluso en el caso de que para algunos
ceros no esté bien definida la multiplicidad exacta y da lugar a diferentes tipos
de extensiones. Excluyendo los ceros de multiplicidad mayor que k de una
función f ∈ C k (I), podemos deducir con argumentos análogos que
ZIk−1 (f � ) ≥ ZIk (f ) − 1.
Veamos ahora que los ceros de una función no pueden acumularse a no ser
que la función tenga ceros de multiplicidad infinita o la multiplicidad no esté
bien definida. Sea xm → x0 es una sucesión de ceros distintos de f ordenada
creciente o decrecientemente y convergente a un punto de x0 ∈ I. Por la
continuidad de f tenemos que f (x0 ) = lı́mm→∞ f (xm ) = 0, ası́ que el lı́mite
es también un cero de f . Por el Teorema de Rolle, existe una sucesión x1m de
ceros de f � tal que x1m está situado en el menor intervalo que contiene a xm y
xm−1 . Por tanto x1m forma una sucesión ordenada de ceros de f � convergente
Si insistimos en considerar aquellos ceros de multiplicidad no definida en
nuestro cálculo y también considerar ceros cuya multiplicidad exacta no se
conozca podemos establecer otro tipo de extensiones del resultado anterior.
27
28
En primer lugar tengamos en cuenta que si f ∈ C k (I) con k ≥ 1, y x es
un cero de f cuya multiplicidad no está bien definida, entonces también es un
cero de f � cuya multiplicidad no puede determinarse. Ası́ que el número de
ceros cuya multiplicidad no está bien definida de f � siempre es mayor o igual
que el número de ceros de f cuya multiplicidad no está bien definida.
Aunque el número de ceros contando multiplicidades no esté bien definido, podemos describir algunas propiedades de los ceros de una función en
términos de desigualdades. Supongamos que f ∈ C k (I) y para x ∈ I, m ≤ k
tenemos
f (x) = f � (x) = · · · = f (m−1) (x) = 0
pero no disponemos información sobre las derivadas de orden mayor. Si m = k
y f (x) = f � (x) = · · · = f (k) (x) = 0, entonces podemos afirmar según las
definiciones anteriores que f tiene en x un cero de multiplicidad mayor que
k. En caso contrario, la multiplicidad de x como cero de f está bien definida
y es mayor o igual que m. Diremos en ambos casos que la multiplicidad de x
como cero de f es mayor o igual que m.
Utilizando el Teorema de Taylor, el hecho de que f ∈ C k (I) tenga una
multiplicidad mayor o igual que m con m ≤ k se traduce en que
f (t)
t→x (t − x)m
lı́m
existe y es finito, pudiendo ser nulo. Esto implica que el cociente f (t)/(t−x)m
expresa una función de t continua en un entorno de x. Por tanto, f (t)/(t−x)m
es una función que está acotada en un entorno de x, lo cual puede indicarse
utilizando la notación O a través de la fórmula asintótica
f (x) = O(t − x)m ,
t → x.
La demostración del teorema de Rolle generalizado puede extenderse a
funciones f ∈ C k (I) con ceros cuya multiplicidad no esté claramente definida.
Si existen x1 < · · · < xp en I y m1 , . . . , mp enteros menores o iguales que k
tales que en xi
f (xi ) = f � (xi ) = · · · = f (mi −1) (xi ) = 0,
i = 1, . . . , p,
entonces decimos que el número
�pde ceros de f , contando multiplicidades en
I, es mayor o igual que m := i=0 mi y escribimos ZI∗ (f ) ≥ m. Si además
alguno de los ceros tiene multiplicidad mayor que mi , escribimos ZI∗ (f ) >
m. Observemos el abuso de notación ya que las afirmaciones ZI∗ (f ) ≥ m y
ZI∗ (f ) > m, no implican que el número de ceros ZI∗ (f ) esté bien definido.
29
Proposición 3.6 (Teorema de Rolle generalizado). Sea f ∈ C k (I), I
intervalo de la recta real, k ≥ 1, tal que ZI∗ (f ) ≥ m, entonces ZI∗ (f � ) ≥ m − 1.
Si además ZI∗ (f ) > m, entonces ZI∗ (f � ) > m − 1.
k
Demostración. Sean x1 < . . . < xp tales que en xi , la función
�pf ∈ C (I)
tiene un cero de multiplicidad mayor o igual que mi y m :=
i=1 mi . Si
f (xi ) �= 0, entonces mi = 0 y, como este valor no contribuye a la suma,
podemos eliminar xi de la lista. Por tanto, podemos suponer sin pérdida de
generalidad que f (xi ) = 0, i = 1, . . . , p. Por el Teorema de Rolle, entre cada
dos ceros de f debe haber, al menos, un cero de f � es decir, f � tiene un cero yi
en cada subintervalo (xi , xi+1 ), i = 1, . . . , p − 1. Además la derivada tiene en
los puntos xi con mi ≥ 1 un cero de multiplicidad mayor o igual que mi − 1.
Entonces tenemos
ZI∗ (f � ) ≥ p − 1 +
p
�
i=1
(mi − 1) =
p
�
i=1
mi − 1 = m − 1.
Si alguno de los ceros tiene multiplicidad estrictamente mayor que mi con
mi ≥ 1, también sucederá que la derivada tiene un cero en dicho punto de
multiplicidad mayor que mi − 1, de donde se deduce la segunda afirmación
del enunciado.
El siguiente resultado indica que los ceros de una función se conservan si
la multiplicamos por una función diferenciable que no se anule nunca. Además
los difeomorfismos de clase C k preservan las multiplicidades de los ceros de
multiplicidad menor o igual que k.
Proposición 3.7. Sea f ∈ C k (I) y ξ ∈ I un cero de multiplicidad menor o
igual que k.
(a) Si g ∈ C k (I) y g(ξ) �= 0, entonces f g tiene en ξ ∈ I un cero de la misma
multiplicidad que f .
(b) Si α : I �→ J es un difeomorfismo de clase C k entonces la multiplicidad
de ξ ∈ I como cero de f es la misma que la multiplicidad de α(ξ) ∈ J
como cero de f ◦ α−1 .
Demostración. (a) Sea ξ un cero de multiplicidad m ≤ k de la función f y
sea h := f g. Si m = 0, entonces tenemos que f (ξ) �= 0, lo que implica que
30
h(ξ) = f (ξ)g(ξ) �= 0, luego ξ tiene multiplicidad m = 0 como cero de h. Para
m > 0, podemos aplicar la fórmula de Leibniz,
i � �
�
i (j)
h(i) (x) =
f (x)g (i−j) (x), i = 0, . . . , m,
j
j=0
y teniendo en cuenta que f (i) (ξ) = 0 para i < m y f (m) (ξ) �= 0, vemos que
�
0,
si i < m
h(i) (ξ) =
f (m) (ξ)g(ξ) �= 0, si i = m.
Luego ξ es un cero de h de multiplicidad m.
(b) Como f (x) = (f ◦ α−1 )(α(x)), deducimos que x ∈ I es un cero de f si
y sólo si α(x) ∈ J es un cero de h := f ◦ α−1 . Sea ξ un cero de multiplicidad
m ≤ k de f y veamos por inducción sobre m que η = α(ξ) es un cero de h
de multiplicidad m. Para m = 0, tenemos que f (ξ) �= 0 y h(η) = h(α(ξ)) =
f (ξ) �= 0. Se deduce que que η también es un cero de multiplicidad m = 0.
Supongamos cierto el resultado para ceros de multiplicidad m y veámoslo
para ceros de multiplicidad m + 1 ≤ k. En primer lugar tenemos, entonces
h(η) = f (ξ) = 0. Como ξ es un cero de f multiplicidad m + 1, entonces ξ
es un cero de f � ∈ C k−1 (I) de multiplicidad m. De la regla de la cadena se
deduce que
1
h� (α(x)) = �
f � (x).
α (x)
Por el apartado (a), la función f � /α� , tiene en ξ un cero de multiplicidad
exactamente m. Por hipótesis de inducción, h� = (f � /α� ) ◦ α−1 , debe tener en
η = α(ξ) un cero de multiplicidad exactamente m. Por tanto, tenemos
h� (η) = · · · = h(m) (η) = 0,
h(m+1) (η) �= 0,
de donde se deduce que η es un cero de h de multiplicidad m + 1.
De la Proposición 3.7 (a) se deduce que si g ∈ C k (I) es una función
que no se anula en ningún punto g(x) �= 0 para todo x ∈ I, entonces f
y f g tienen los mismos ceros, conservándose la multiplicidad de todos los
ceros de multiplicidad menor o igual que k. Por tanto podemos afirmar que
ZIk (f g) = ZIk f . Si g ∈ C ∞ (I), se preserva la multiplicidad de todos los ceros
y ZI∗ (f g) = ZI∗ f . La Proposición 3.7 (b) implica que si α : I → J es un
difeomorfismo de clase C k , entonces α es una biyección que transforma los
ceros de f en ceros de f ◦ α−1 , preservando las multiplicidades de todos los
ceros de multiplicidad menor o igual que k. Luego, se tiene que ZJk (f ◦ α−1 ) =
ZIk f . Si el difeomorfismo es de clase C ∞ entonces ZJ∗ (f ◦ α−1 ) = ZI∗ f .
31
4. Raı́ces de un polinomio y regla de Descartes
Recordemos que un polinomio es una expresión a0 + a1 x + · · · + an xn ,
a0 , . . . , an ∈ C. La variable x recibe el nombre de indeterminada, los valores a0 , . . . , an se denominan coeficientes. Los polinomios forman un álgebra,
es decir, pueden sumarse, restarse, multiplicarse por escalares y multiplicarse
entre sı́. Se define grado de un polinomio al mayor exponente de x que aparece
con coeficiente no nulo. El grado del polinomio nulo no está definido aunque
suele adoptarse el convenio de dar al polinomio nulo el grado −∞. El grado
del producto de dos polinomios (no nulos) es la suma de los grados. Los polinomios también pueden dividirse. Dado un polinomio p(x) y un polinomio
divisor d(x), existen un polinomio q(x) y un polinomio resto r(x) de grado
menor que el divisor, tales que
p(x) = d(x)q(x) + r(x).
Todo polinomio p(x) = a0 + a1 x + · · · + an xn define una función polinómica p : C → C. Los ceros de una función polinómica se llaman raı́ces
del polinomio. Las raı́ces de un polinomio pueden ser complejas aunque todos
sus coeficientes sean reales. Por ese motivo, además de estudiar el comportamiento de las funciones polinómicas en la recta real, también es conveniente
estudiar las función polinómicas en el campo complejo.
El conocimiento de raı́ces del polinomio permite factorizarlo como muestra el siguiente teorema
Teorema 4.1 (Teorema del resto). Sea p(x) = a0 + a1 x + · · · + an xn ,
an �= 0, y s ∈ C.
(a) Existe un polinomio q(x) = b0 + b1 x + · · · + bn−1 xn−1 de grado n − 1 y
una constante r tales que
p(x) = (x − s)q(x) + r
(4.1)
Los coeficientes del cociente y el resto están determinados p(x) y s y
pueden calcularse por recurrencia.
bn−1 := an ,
bi−1 := ai + sbi ,
r := a0 + sb0
32
i = n − 1, . . . , 2, 1,
(4.2)
(b) El resto de la división de p(x) para x − s es precisamente p(s)
(c) s ∈ C es una raı́z del polinomio p(x) si y sólo si x − s divide a p(x).
(d) s ∈ C es una raı́z de p(x) de multiplicidad m si y sólo si (x − s)m divide
a p(x) pero (x − s)m+1 no divide a p(x).
Demostración. (a) Si desarrollamos (4.1) obtenemos
a0 + a1 x + · · · + an xn = (x − s)(b0 + b1 x + · · · + bn−1 xn−1 ) + r =
(r − sb0 ) + (b0 − sb1 )x + · · · + (bn−2 − sbn−1 )xn−1 + bn−1 xn .
Identificando los coeficientes de este polinomio con los del polinomio p obtenemos
an = bn−1 ,
ai = bi−1 − sbi ,
i = n − 1, . . . , 2, 1,
a0 = r − sb0
(b) y (c) Evaluando ambos miembros de (4.1) en x = s obtenemos obtenemos p(s) = r. Si s es raı́z del polinomio r = p(s) = 0 y (4.1) se reduce a
p(x) = (x − s)q(x).
(d) Lo demostraremos por inducción sobre m. El caso m = 0 es una
reformulación de la propiedad (c). Sea m ≥ 1 el mayor exponente tal que
(x − s)m divide a p(x) pero (x − s)m+1 no divide a p(x). Como (x − s)m
divide a p(x) tenemos que
m
p(x) = (x − s) q(x).
m+1
De (c), se deduce que q(s) �= 0 equivale a afirmar que (x − s)
no divide a
p(x). Veamos que la multiplicidad de s como raı́z de p(x) es precisamente m.
Derivando obtenemos
p (x) = m(x − s)
m−1
m �
q(x) + (x − s) q (x) = (x − s)
m−1
Las fórmula (4.2) se conocen clásicamente como regla de Ruffini y en su
versión algorı́tmica recibe el nombre de algoritmo de Horner. Para evaluar
un polinomio en s,
p(s) = a0 + a1 s + · · · + an sn
se requieren n + (n − 1) + · · · + 1 = n(n + 1)/2 productos y n sumas. Podemos
economizar multiplicaciones en la evaluación de las potencias
s1 := s
si := si−1 s,
De la primera ecuación obtenemos el valor de bn−1 = an . Las siguientes
ecuaciones proporcionan la recurrencia bi−1 = ai + sbi . Finalmente se obtiene
r = a0 + sb0 .
�
lo que implica que x − s no divide a mq(x) + (x − s)q � (x). Por hipótesis de
inducción, eso equivale a afirmar que s es una raı́z de p� (x) de multiplicidad
m − 1. Teniendo en cuenta que p(s) = 0, se deduce de la definición de
multiplicidad que s es una raı́z de p(x) de multiplicidad exactamente m.
�
(mq(x) + (x − s)q (x)).
Observemos que (x − s)m−1 divide a p� (x) y que al evaluar en x = s el
polinomio mq(x) + (x − s)q � (x) se obtiene un valor no nulo
i = 1, . . . , n,
p(s) = a0 + a1 s1 + · · · + an sn
y utilizar 2n productos y n sumas. Notemos que el algoritmo de Horner (4.2)
utiliza n productos y n sumas. El algoritmo de Horner puede considerarse
como el algoritmo de evaluación de la fórmula anidada
�
�
��
p(s) = a0 + s a1 + s a2 + · · · + s(an−1 + san )
Se recomienda el algoritmo de Horner frente al método de evaluación habitual
porque disminuye el riesgo de acumulación de errores por cancelación.
Como corolario del Teorema del resto tenemos
Corolario 4.2 (Teorema Fundamental del Álgebra, forma débil).
Todo polinomio no nulo de grado n tiene a lo sumo n ceros, contando multiplicidades.
Demostración. Supongamos que existen s1 , . . . , sk ∈ R y m1 , . . . , mk ∈ N
tales que si es raı́z de p de multiplicidad mi , i = 1, . . . , k. Por el Teorema 4.1
(d), tenemos que los polinomios (x−si )mi dividen al polinomio p(x). Teniendo
en cuenta que el álgebra de polinomios es un dominio de factorización única,
se deduce que el mı́nimo común múltiplo debe dividir a p, por tanto
[mq(x) + (x − s)q � (x)]x=s = mq(s) �= 0,
p(x) = q(x)(x − s1 )m1 · · · (x − sk )mk ,
33
34
si p es no nulo entonces tenemos que
grad p = grad q +
k
�
Teorema 4.3 (Teorema Fundamental del Álgebra, forma fuerte).
Todo polinomio no nulo de grado n con coeficientes complejos tiene exactamente n ceros complejos, contando multiplicidades.
mk ,
i=1
Aplicando la propiedad distributiva a la factorización anterior e identificando coeficientes, se obtienen las relaciones de Cardano-Vieta
de donde se deduce que
k
�
i=1
mk ≤ n.
Por tanto el conjunto de ceros es finito y el número de ceros, contando multiplicidades, debe ser menor o igual que n.
El Teorema Fundamental del Álgebra en su forma fuerte afirma que todo
polinomio no constante admite al menos una raı́z compleja. Si tenemos un
polinomio p de grado n y s1 es una raı́z, entonces p1 (x) = p(x)/(x − s1 ) es un
polinomio de grado n − 1. Mientras
pi (x) =
p(x)
,
(x − s1 ) · · · (x − si )
tenga grado mayor que cero podemos encontrar si+1 una raı́z de pi , de donde
pi+1 (x) =
�
pi (x)
p(x)
=
(x − si+1 )
(x − s1 ) · · · (x − si )(x − si+1 )
El proceso continúa hasta que tenemos el polinomio
p(x)
= an .
(x − s1 ) · · · (x − sn )
Esto implica que todo polinomio puede factorizarse como producto de factores
lineales
p(x) = an (x − s1 ) · · · (x − sn ).
1≤j1 <j2 <···<jk ≤n
sj1 · · · sjk = (−1)k an−k /an .
En particular
n
�
j=1
sj = −an−1 /an ,
n
�
sj = (−1)n a0 /an .
j=1
Como consecuencia del Teorema Fundamental del Álgebra, y teniendo
en cuenta que las raı́ces complejas no reales de un polinomio aparecen por
pares conjugados, deducimos el siguiente resultado sobre la factorización de
polinomios reales
�n
Proposición 4.4. Todo polinomio p(x) = i=0 ai xi con coeficientes reales,
ai ∈ R, i = 0, . . . , n y de grado n, an �= 0, puede factorizarse como producto
de polinomios con coeficientes reales de primer y segundo grado
p(x) = an (x − s1 ) · · · (x − sk )(x2 − 2u1 x + u21 + v12 ) · · · (x2 − 2ul x + u2l + vl2 ),
donde k es el número de raı́ces reales, l el número de pares de raı́ces complejas
conjugadas y k + 2l = n.
Ahora centraremos nuestra atención en la localización de raı́ces reales
de polinomios con coeficientes reales. El siguiente resultado muestra que los
coeficientes de un polinomio contienen información sobre las raı́ces positivas
de un polinomio
Proposición 4.5. Sea p(x) = a0 + a1 x + · · · + an xn , an �= 0. Si todos los
coeficientes tienen el mismo signo no estricto
Los valores s1 , . . . , sn son las raı́ces del polinomio. Como la multiplicidad
de una raı́z es el número de veces que x − si divide a p(s), tenemos
S − (a0 , a1 , . . . , an ) = 0
35
36
entonces p no tiene ninguna raı́z positiva.
Demostración. Podemos suponer sin pérdida de generalidad que an > 0 y
que ai ≥ 0, i = 0, . . . , n − 1. Si s > 0, entonces
p(s) = a0 + · · · + an−1 s
n−1
n
n
+ an s ≥ an s > 0,
y s no puede ser raı́z.
fue enunciada (pero no demostrada) en el Tercer Libro de “La géometrie”
de René Descartes. En el enunciado, Descartes llama verdaderas a las raı́ces
positivas y falsas a las negativas.
Cuántas raı́ces verdaderas puede haber en cada ecuación. Se sabe
de esto también cúantas raı́ces verdaderas y cuántas falsas puede haber en cada
ecuación. A saber, puede haber tantas verdaderas como veces se encuentran
los signos + y – cambiados y tantas falsas como veces se encuentran dos signos
+ o dos signos – seguidos.
La proposición anterior puede utilizarse para averiguar el número de
raı́ces negativas. Para ello, tengamos en cuenta que el polinomio
Para la demostración de la regla de Descartes, utilizaremos el siguiente
resultado.
q(x) := p(−x) = a0 − a1 x + · · · + (−1)n an xn
Lema 4.6. Sea p(x) = a0 + a1 x + · · · + an xn un polinomio no nulo con
coeficientes reales. Entonces las diferencias
tiene las raı́ces opuestas del polinomio p. Por tanto, si
S − (a0 , −a1 , . . . , (−1)n an ) = 0,
Si queremos averiguar el número de raı́ces mayores (resp., menores) que
t, podemos utilizar la representación de Taylor del polinomio
n
�
p(i) (t)
i=0
i!
xi .
Si la sucesión (p(t), p� (t), . . . , p(n) (t)) no tiene cambios de signo, se deduce de
la proposición anterior que ninguna raı́z de qt (x) es positiva Si s es una raı́z
real de p, tenemos que qt (s − t) = p(s) = 0, de donde s − t ≤ 0. Por tanto,
hemos visto que si para un t ∈ R,
S − (p(t), p� (t), . . . , p(n) (t)) = 0,
entonces t es una cota superior de las raı́ces reales de p. Análogamente deducimos que si
S − (p(t), −p� (t), . . . , (−1)p(n) (t)) = 0,
entonces t es una cota inferior de las raı́ces reales de p.
La regla de Descartes y el Teorema de Budan-Fourier son dos resultados
que permiter localizar raı́ces reales de un polinomio. La regla de Descartes
37
−
S − (a0 , . . . , an ) − S(0,+∞)
(p)
son números pares.
entonces p no tiene ninguna raı́z negativa.
qt (x) := p(t + x) =
−
∗
Z(0,+∞)
(p) − S(0,+∞)
(p),
Demostración. Sean s1 , . . . , sr las raı́ces reales de p y m1 , . . . , mr sus multiplicidades respectivas, entonces tenemos
p(x) = (x − s1 )m1 · · · (x − sr )mr q(x),
donde q(x) es un polinomio que sólo tiene raı́ces complejas. Por la Proposición
4.4, q es un producto de factores cuadráticos positivos en (0, +∞) multiplicados por su coeficiente director, ası́ que no cambia de signo en (0, +∞) y
podemos deducir que el número de cambios de signo de p en cualquier intervalo de la recta real coincide con el número de cambios de signo del producto
(x − s1 )m1 · · · (x − sr )mr .
Observemos que (x − s1 )m1 · · · (x − sr )mr solamente cambia de signo en
los si con multiplicidad mi impar. Por tanto, el número de cambios de signo
de p en un intervalo cualquiera coincidirá con el número de raı́ces en el interior
del intervalo con multiplicidad impar. Se deduce de lo anterior que si I es un
intervalo abierto
ZI∗ (p) − SI− (p) =
�
si ∈I,mi ∈2Z+1
(mi − 1) +
38
�
si ∈I,mi ∈2Z
mi ∈ 2Z.
Sean al y ar el primer y último coeficientes no nulos de la sucesión
(a0 , . . . , an ), es decir
a0 = · · · = ah−1 = 0,
ah �= 0,
ak �= 0,
ak+1 = · · · = an = 0,
Como ya se ha argumentado anteriormente, si s1 , . . . , sj son los ceros positivos
de p de multiplicidad impar, entonces p tiene signo constante no estricto en
los intervalos (0, s1 ), (s1 , s2 ), . . . , (sj−1 , sj ), (sj , +∞) y no es idénticamente
−
nulo en ninguno de dichos intervalos, de donde S(0,+∞)
(p) = j. Sean x0 ∈
(0, s1 ), xi ∈ (si , si+1 ), i = 1, . . . , j − 1 y xj ∈ (sj , +∞) tales que p(xi ) �= 0,
i = 0, . . . , j. Entonces tenemos que los cocientes p(xi )/p(xi+1 ), i = 0, . . . , j,
son todos negativos. Teniendo en cuenta que
lı́m
x→0+
p(x)
= ah ,
xh
lı́m
x→+∞
p(x)
= ak
xk
deducimos que ah /p(x0 ) y p(xj )/ak son positivos y, por tanto, (−1)j al /ar > 0.
Por otro lado, si l := S − (a0 , . . . , an ) = S − (ah , . . . , ak ), entonces se debe
tener que (−1)l ah /ak > 0. Por tanto (−1)l = (−1)j , de donde se deduce que
−
l − j = S − (a0 , . . . , an ) − S(0,+∞)
(p) es un número par.
A continuación damos un enunciado preciso de la Regla de signos de
Descartes
Teorema 4.7 (Regla de Descartes). Sea p(x) = a0 + a1 x + · · · + an xn un
polinomio no nulo con coeficientes reales. El número de raı́ces positivas de
p está acotado por el número de cambios de signo estricto en la sucesión de
coeficientes
∗
Z(0,+∞)
p ≤ S − (a0 , a1 , . . . , an ).
∗
Además S − (a0 , a1 , . . . , an ) − Z(0,+∞)
p es un número par.
Demostración. El resultado se puede demostrar por inducción sobre n. Si
n = 0, entonces tenemos p(x) = a0 �= 0 y
∗
p = 0 = S − (a0 ).
Z(0,+∞)
Para el caso general, podemos usar el Teorema de Rolle generalizado para
aplicar la hipótesis de inducción con n − 1
∗
∗
Z(0,+∞)
p ≤ Z(0,+∞)
p� + 1 ≤ S − (a1 , 2a2 , . . . , nan ) + 1 ≤ S − (a0 , a1 , . . . , an ) + 1.
∗
La igualdad Z(0,+∞)
p = S − (a0 , a1 , . . . , an ) + 1 no es posible, ya que la dife∗
rencia entre Z(0,+∞) p y S − (a0 , a1 , . . . , an ) serı́a un número impar, en contradicción con el Lema 4.6. Por tanto
∗
Z(0,+∞)
p ≤ S − (a0 , a1 , . . . , an ).
Ejemplo 4.8. Confirmemos la validez de la regla de Descartes para polinomios de grado 2
p(x) = a2 x2 + a1 x + a0 , a2 �= 0
utilizando como herramienta el discriminante de la ecuación
∆ = a21 − 4a0 a2 ,
que nos permite conocer el número de raı́ces reales y las fórmulas de CardanoVieta
s1 + s2 = −a1 /a2 , s1 s2 = a0 /a2 ,
que nos permiten relacionar las raı́ces s1 , s2 y los coeficientes a0 , a1 , a2 .
∗
(a) Si el discriminante es negativo, no hay raı́ces reales y Z(0,+∞)
(p) = 0.
2
Como a0 a2 > a1 ≥ 0, tenemos que los signos de a0 y a2 deben ser
iguales, ası́ que S − (a0 , a1 , a2 ) es 0 ó 2 dependiendo si la parte real de las
raı́ces complejas conjugadas es negativa o positiva.
(b) Si el discriminante es mayor o igual que cero y ninguna raı́z es positiva,
∗
entonces a1 /a2 ≥ 0 y a0 /a2 ≥ 0, luego S − (a0 , a1 , a2 ) = 0 = Z(0,+∞)
(p).
(c) Si el discriminante es mayor o igual que cero y sólo una raı́z es positiva,
entonces, o bien a0 /a2 < 0, o bien a0 = 0 y a1 /a2 < 0. Se deduce que
∗
S − (a0 , a1 , a2 ) = 1 = Z(0,+∞)
(p).
(d) Finalmente, si el discriminante es mayor o igual que cero y ambas raı́ces
son positivas tenemos que a1 /a2 < 0 y a0 /a2 > 0, lo que implica que
∗
S − (a0 , a1 , a2 ) = 2 = Z(0,+∞)
(p).
Similarmente para n = 1, tenemos que Z(0,+∞) p = 1 si y sólo si a0 �= 0 y
−a1 /a0 > 0 condiciones equivalentes a S − (a0 , a1 ) = 1.
Analizando el número de raı́ces positivas de p(−x) se llega a la conclusión
de que
Z(−∞,0) p ≤ S − (a0 , −a1 , . . . , (−1)n an ).
39
40
Si queremos encontrar el número de raı́ces mayores que a, podemos aplicar la regla de Descartes a q(x) := p(x + a). Considerando el desarrollo en
serie de Taylor
n
�
pi (a) i
x
p(a + x) =
i!
i=0
se obtiene
∗
Z(a,+∞)
p ≤ S − (p(a), p� (a), . . . , p(n) (a)).
Teorema 4.9 (Budan-Fourier). Sea p un polinomio no nulo con coeficientes reales de grado n, entonces
∗
Z(a,b)
p ≤ S − (p(a), p� (a), . . . , p(n) (a)) − S − (p(b), p� (b), . . . , p(n) (b)).
Observemos que la regla de Descartes puede considerarse como un caso
particular tomando a = 0 y b → +∞. De hecho, si b es un número mayor que
todas las raı́ces reales de los polinomios p(x), p� (x), . . . , p(n−1) (x), entonces
S − (p(b), p� (b), . . . , p(n) (b)) = 0 y el teorema de Budan-Fourier implica que
Análogamente, considerando el desarrollo de Taylor de q(x) = p(b − x), se
deduce
∗
∗
Z(a,+∞)
p = Z(a,b)
p ≤ S − (p(a), p� (a), . . . , p(n) (a)).
∗
Z(−∞,b)
p ≤ S − (p(b), −p� (b), . . . , (−1)n p(n) (b)).
En lugar de demostrar directamente este teorema, demostraremos un
resultado ligeramente más general
Hemos visto que la regla de Descartes es una herramienta útil para acotar
el número de raı́ces de un polinomio en intervalos ilimitados. De estas cotas
pueden deducirse interesantes propiedades de localización de raı́ces. Uno de
los problemas que se plantearon hacia 1800 fue tener herramientas más precisas para localizar las raı́ces de un polinomio. El problema de localización
queda resuelto, si podemos deducir el número de raı́ces de un polinomio en un
intervalo cualquiera. Un vez resuelto el problema de la localización de raı́ces
podemos encontrar aproximaciones razonables a todas las raı́ces reales de un
polinomio utilizando el método de bisección.
Teorema 4.10. Sea p un polinomio no nulo con coeficientes reales de grado
n, entonces
El siguiente teorema debido a François Budan de Boislaurent da una cota
del número de raı́ces en un intervalo (a, b). Una demostración rigurosa de este
teorema fue propuesta por Joseph Fourier. La cota de Budan-Fourier para
el número de ceros de un polinomio en un intervalo se basa en una serie de
cálculos en términos de número de cambios de signo estricto de sucesiones de
valores obtenidas al evaluar derivadas sucesivas de p en los extremos del intervalo. La solución al problema de la localización de los ceros de un polinomio
fue dada poco más tarde por Sturm. Los cálculos necesarios para obtener el
número de raı́ces de un polinomio se basa en el cálculo del número de cambios de signo de una sucesión de polinomios asociados a p, llamada sucesión
de Sturm. A diferencia del Teorema de Budan-Fourier y otros criterios de
localización de raı́ces, los cálculos no se obtienen directamente considerando
números de cambios de signos de sucesiones correspondientes a aplicar ciertos
funcionales lineales al polinomio p.
41
∗
Z(a,b]
p ≤ S − (p(a), p� (a), . . . , p(n) (a)) − S − (p(b), p� (b), . . . , p(n) (b)).
y la diferencia entre ambas cantidades es un número par.
Demostración. El hecho de que la diferencia sea un número par se deduce
de
∗
∗
∗
Z(a,b]
p = Z(a,+∞)
p − Z(b,+∞)
p
Aplicando el Lema 4.6 a los polinomios p(a + ·), p(b + ·), vemos que
S − (p(a), p� (a), . . . , p(n) (a)) − Z(a,+∞) p, S − (p(b), p� (b), . . . , p(n) (b)) − Z(b,+∞) p
son enteros pares, por lo que su diferencia será un número par. Demostremos
la cota por inducción sobre n. Si n = 0, el resultado es trivial. En el caso de
que n = 1, tenemos que
�
1, si x es menor que la única raı́z de p,
S − (p(x), p� (x)) =
0, en caso contrario.
Como a < b, tendremos que
∗
Z(a,b]
p = S − (p(a), p� (a)) − S − (p(b), p� (b)).
42
Como p� tiene grado menor o igual que p, podemos aplicar la hipótesis
de inducción.
∗
Z(a,b]
p� ≤ S − (p� (a), . . . , p(n) (a)) − S − (p� (b), . . . , p(n) (b)).
Teniendo en cuenta que
y que
S − (p� (a), . . . , p(n) (a)) ≤ S − (p(a), p� (a), . . . , p(n) (a))
(4.3)
S − (p� (b), . . . , p(n) (b)) ≥ S − (p(b), p� (b), . . . , p(n) (b)) − 1
(4.4),
se deduce que
∗
Z(a,b]
p� ≤ S − (p(a), p� (a), . . . , p(n) (a)) − S − (p(b), p� (b), . . . , p(n) (b)) + 1. (4.5)
Veamos ahora que
∗
Z(a,b]
p ≤ S − (p(a), p� (a), . . . , p(n) (a)) − S − (p(b), p� (b), . . . , p(n) (b)) + 1 (4.6)
Distinguiremos dos casos. Si (4.4) es una desigualdad estricta, entonces tenemos
∗
Z(a,b]
p� ≤ S − (p(a), p� (a), . . . , p(n) (a)) − S − (p(b), p� (b), . . . , p(n) (b))
∗
∗
y podemos aplicar del Teorema de Rolle generalizado Z(a,b]
p ≤ Z(a,b]
p� + 1
para obtener (4.6). En caso contario, si tenemos igualdad en (4.4), entonces
∗
∗
p(b) debe ser no nulo y Z(a,b]
p ≤ Z(a,b]
p� . Si p no se anula en (a, b], tenemos
∗
∗
�
trivialmente que Z(a,b] p ≤ Z(a,b] p . Si p se anula en (a, b], consideramos s < b
∗
la mayor raı́z de p en (a, b]. Entonces Z(s,b]
p� ≥ 1, ya que si p� no se anula en
�
(s, b], tendremos que p(b)p (b) > 0 en contradicción con la igualdad en (4.4).
Por tanto
∗
∗
∗
∗
∗
∗
Z(a,b]
p = Z(a,s]
p ≤ Z(a,s]
p� + 1 ≤ Z(a,s]
p� + Z(s,b]
p� = Z(a,b]
p� .
∗
∗
Partiendo de Z(a,b]
p ≤ Z(a,b]
p� y usando (4.5), deducimos de nuevo (4.6).
Finalmente, teniendo en cuenta que
∗
S − (p(a), p� (a), . . . , p(n) (a)) − S − (p(b), p� (b), . . . , p(n) (b)) − Z(a,b]
p ∈ 2Z.
se deduce de (4.6) que
∗
Z(a,b]
p
−
�
≤ S (p(a), p (a), . . . , p
(n)
−
�
(a)) − S (p(b), p (b), . . . , p
(n)
(b)).
5. Polinomios de Bernstein
Los polinomios de Bernstein de grado n son los polinomios
� �
n
Bi,n (x) :=
(1 − x)n−i xi , i = 0, . . . , n.
i
Estos polinomios son funciones no negativas en el intervalo [0, 1] y suman 1
ya que
n
n � �
�
�
n
Bi,n (x) =
(1 − x)n−i xi = ((1 − x) + x)n = 1.
i
i=0
i=0
Por tanto los polinomios de Bernstein de grado n forman una ley de mezclas.
El primer polinomio de Bernstein B0,n es decreciente, el último Bn,n es
creciente. El resto se anula en los extremos y es positivo en el interior, luego
debe alcanzar su valor máximo en algún punto. Si derivamos obtenemos
� �
n
�
Bi,n
(x) =
(1 − x)n−i−1 xi−1 (i(1 − x) − (n − i)x)
i
�
luego Bi,n
(x) tiene un único cero simple en (0, 1) en i/n. Esto quiere decir
que los polinomios de Bernstein crecen hasta alcanzar su valor máximo en i/n
y luego decrecen.
�
Observemos que si 2 ≤ i ≤ n − 1, tenemos que Bi,n
(x) se anula en 0 y
�
en i/n. Por el Teorema de Weierstrass, Bi,n (x) debe alcanzar un extremo en
(0, i/n), lo que implica la existencia de un punto de inflexión en el intervalo
(0, i/n). Análogamente si 1 ≤ i ≤ n − 2, se deduce la existencia en un punto
de inflexión en el intervalo (i/n, 1). Por tanto, si 2 ≤ i ≤ n − 2, Bi,n (x) tiene
al menos dos puntos de inflexión en (0, 1), uno a cada lado del lugar en el que
se alcanza el valor máximo. Derivando una segunda vez, obtenemos
� �
�
n
��
Bi,n
(x) =
(1 − x)n−i−2 xi−2 i(i − 1)(1 − x)2 − 2i(n − i)x(1 − x)
i
�
+ (n − i)(n − i − 1)x2 ,
de donde se deduce que existen exactamente dos puntos de inflexión ξ1 , ξ2 ,
en el intervalo (0, 1), tales que tj := ξj /(1 − ξj ), j = 1, 2, son las soluciones,
reales y positivas, de la ecuación de segundo grado
(n − i)(n − i − 1)t2 − 2i(n − i)t + i(i − 1) = 0.
43
44
un difeomorfismo de clase C ∞ , la multiplicidad de t como cero de q coincide
con la de α(t) como cero de p. Teniendo en cuenta que
1
B4,4
B0,4
q(t) =
n � �
�
n
i
i=0
c i ti ,
la regla de Descartes puede aplicarse a q para deducir que
∗
Z(0,∞)
q ≤ S − (c0 , c1 , . . . , cn ),
B3,4
B1,4
B2,4
∗
2|S − (c0 , c1 , . . . , cn ) − Z(0,∞)
q.
Ejemplo. Para encontrar una cota superior para el número de ceros en (0, 1)
de p(x) = x3 −x2 +2x−1, expresamos p(x) en términos de la base de Bernstein
p(x) = x3 − x2 + 2x − (x + (1 − x)) = x3 − x2 + (x − (1 − x))(x + (1 − x))
0
1
Figura 11. Polinomios de Bernstein de grado 4
= x3 − x2 + x2 − (1 − x)2 = x3 − (1 − x2 )(x + (1 − x))
1
= x3 − x(1 − x)2 − (1 − x)3 = −B0,3 (x) − B1,3 (x) + B3,3 (x).
3
Los polinomios de Bernstein juegan en el intervalo (0, 1) un papel similar
a los monomios en (0, +∞).
�n
Teorema 5.1 (Regla de Jacobi). Sea p(x) = i=0 ci Bi,n (x) un polinomio
no nulo. El número de raı́ces de p en el intervalo (0, 1) está acotado por el
número de cambios de signo estricto en la sucesión de coeficientes
∗
∗
Por la regla de Jacobi, Z(0,1)
p ≤ 1 = S − (−1, −1/3, 0, 1) y como Z(0,1)
p−1
∗
es un número par, tenemos Z(0,1) p = 1. Las conclusiones obtenidas son más
precisas que aplicando el teorema de Budan-Fourier
∗
Z(0,1)
p ≤ S − (c0 , c1 , . . . , cn ).
Los polinomios de Bernstein pueden expresarse en términos de los monomios sin más que desarrollar el binomio (1 − x)n−i en potencias de x
∗
Además S − (c0 , c1 , . . . , cn ) − Z(0,1)
p es un número par.
Demostración. Realicemos el cambio de variable creciente e indefinidamente
diferenciable y de inversa diferenciable
α : t ∈ (0, +∞) �→ t/(1 + t) ∈ (0, 1).
El cambio inverso viene dado por α−1 (x) = x/(1 − x), x ∈ (0, 1).
Sea q(t) := (1 + t)n p(t(1 + t)−1 ). Por la Proposición 3.7, el número de
ceros de q(t) en (0, +∞) coincide con el de p(x) en (0, 1), y por a ser el cambio
45
∗
Z(0,1)
p ≤ S − (−1, 2, −2, 6) − S − (1, 3, 4, 6) = 3.
Bi,n (x) =
�
�
� �� �
� ��
n
n
n−i k �
n k k
n
x =
(−1)k−i
x .
(−1)k−i
k−i
k
i
i
k=i
k=i
Para obtener el cambio inverso entre ambas bases de Pn
xk = xk ((1 − x) + x)n−k =
n−k
��
j=0
�n−k�
�
n
�
n−k
�i−k
� Bi,n (x)
(1 − x)n−k−j xj+k =
n
j
i
i=k
46
y teniendo en cuenta
de Bernstein, admite la representación
�n−k�
podemos escribir también
�i�
(n − k)!i!
k�
�i−k
�
�
=
=
n
n
(i
−
k)!n!
i
k
1
x k = � n�
k
n �
�
i=k
p(x)q(x) =
n �
m
�
ci dj Bi,n (x)Bj,m (x)
i=0 j=0
�
=
i
Bi,n (x).
k
n+m
��
k=0
�n��
Bi,n (x),
obtenemos la expresión
i=0
n
�
i
x=
Bi,n (x),
n
i=1
x2 =
n+m
��
1
p(x)q(x) = �n+m�
n
�
i(i − 1)
Bi,n (x).
n(n
− 1)
i=2
n
m
k−i
�n+m
�
k
k=0
�
=
�
ci dk−i Bk,n+m (x).
�k��n+m−k�
i
n−i
�n+m
�
n
mı́n(k,n)
�
�
i=máx(0,k−m)
� ��
�
�
k
n+m−k
ci dk−i Bk,n+m (x)
i
n−i
El operador de Bernstein
Como Bi,n es una base de Pn , se deduce que todo polinomio de grado n puede expresarse en términos de la base de Bernstein a través de sus
coeficientes
n
�
p(x) =
ci Bi,n (x).
i=0
Para sumar polinomios o multiplicarlos por una constante, basta con sumar
o multiplicar por dicha constante la sucesión de coeficientes respecto a la
base de Bernstein. El producto�
de polinomios es �
también un polinomio. Para
n
m
multiplicar dos polinomios p = i=0 ci Bi,n , q = j=0 dj Bj,m , debemos tener
en cuenta que
Bi,n (x)Bj,m (x) =
i
i=máx(0,k−m)
i
1=
m
k−i
�n+m
�
k
�
Teniendo en cuenta que
En particular para k = 0, 1, 2, se obtienen las siguientes fórmulas
n
�
�n��
mı́n(k,n)
�n��m�
� �� �
n m i+j
i
j
x (1 − x)n+m−i−j = �n+m� Bi+j,n+m (x).
i
j
i+j
El operador de Bernstein
Bn [f ](x) :=
n
�
f (k/n)Bk,n (x) =
k=0
n � �
�
n
k=0
k
f (k/n)(1 − x)n−k xk .
asigna a cada función continua un polinomio de Pn .
Definición 5.2. Sea L : C[a, b] → C[a, b] un operador lineal. El operador L
se dice no negativo si
L[f ] ≥ 0, ∀f ≥ 0.
Esta propiedad es equivalente a la monotonı́a del operador, es decir
f ≤ g =⇒ L[f ] ≤ L[g].
Por tanto, el producto de dos polinomios, expresados en términos de la base
Como la base de Bernstein de grado n es una ley de mezclas, el operador
de Bernstein Bn : C[0, 1] → C[0, 1] transforma funciones no negativas en
47
48
funciones no negativas, por lo que se trata de un operador monótono (o no
negativo).
y, teniendo en cuenta que
Observemos que el operador de Bernstein transforma polinomios en polinomios, conservando el grado de los polinomios de Pn . En efecto, la relación
obtenemos el resultado deseado.
n
� �
�
1�
k − 1 �� � i i − 1
i−k+1
Bn x x −
··· x −
=
···
Bi,n (x)
n
n
n n
n
i=k
� �
n � �
k! � i
k! n k
n(n − 1) · · · (n − k + 1) k
= k
Bi,n = k
x =
x .
n
k
n k
nk
i=k
nos indica que para cada grado k ≤ n, existe un polinomio de grado exactamente k, que se transforma en xk . Esto permite deducir que el operador de
Bernstein es un endomorfismo del espacio vectorial Pn que preserva el grado.
En particular, las funciones 1 y x verifican
Bn [1] =
n
�
Bi,n (x) = 1,
Bn [x] =
i=0
n
�
i
Bi,n (x) = x.
n
i=1
Luego P1 es un subespacio bidimensional de funciones que permanecen invariantes por el operador de Bernstein.
Otra propiedad interesante del operador de Bernstein es la propiedad de
disminución de la variación. Recordemos que
Teorema 5.3. El operador de Bernstein disminuye la variación, es decir
S − Bn [f ] ≤ S − f
Demostración. Por el Teorema de Bolzano, a cada cambio de signo de una
función continua, corresponde al menos un cero
S − f = sup{S − (f (t0 ), . . . , f (tN )) | 0 ≤ t0 < · · · < tN ≤ 1, N ∈ N},
Como consecuencia del resultado anterior se deduce que el operador de
Bernstein transforma funciones crecientes en funciones crecientes y funciones
convexas en funciones convexas; en cierto modo preserva las propiedades de
forma de la función f .
En efecto, una función es monótona si y sólo si S − (f − p) ≤ 1 para todo
p ∈ P0 , luego el operador de Bernstein transforma una función monótona en
una función monótona. Teniendo en cuenta que Bn [f ](0) = f (0) y B[f ](1) =
f (1) se deduce que Bn [f ] es creciente si y sólo si f es creciente. De la misma
forma una función es convexa o cóncava si y sólo si S − (f − p) ≤ 2 para todo
p ∈ P1 . El hecho de que el operador es no negativo y que preserva el valor en
los extremos nos permite deducir que una función convexa debe transformarse
en otra convexa.
Observemos que al ser Bi,n (x) una ley de mezclas,
n
��
�
�Bn [f ]�∞ ≤ máx |f (i/n)| �
Bi,n (x)�∞ ≤ �f �∞ .
i=0,...,n
i=0
Se deduce que el operador de Bernstein
�Bn [f ]�∞
�Bn �∞ = sup
=1
�f �∞
f �=0
es un operador de norma 1.
Como consecuencia de este hecho, toda función propia corresponde a
un valor propio de módulo menor o igual que 1. En efecto, si Bn [f ] = λf ,
entonces
|λ|�f �∞ = �Bn [f ]�∞ ≤ �f �∞ .
de donde se obtiene |λ| ≤ 1.
∗
Z(0,1)
(Bn [f ]) ≤ S − (f (0), f (1/n), f (2/n), . . . , f (1))
Hemos comprobado que P1 es un espacio de funciones propias correspondientes al valor propio 1. Observemos que
�
n
n �
�
i(n − i)
n−1� i
i(i − 1)
Bn [x(1 − x)] =
B
(x)
=
−
Bi,n (x) =
i,n
n2
n i=0 n n(n − 1)
i=0
�
�
n−1
1
(x − x2 ) = 1 −
x(1 − x),
n
n
49
50
∗
S − Bn [f ] ≤ Z(0,1)
(Bn [f ]).
Ahora, podemos usar la regla de Jacobi,
es decir x(1−x) es una función propia correspondiente al valor propio 1−n−1 .
Por tanto podemos afirmar que
∀p ∈ P2 ,
lı́m Bn [p] = p,
n→∞
siendo dicha convergencia uniforme. El Teorema de Korovkin nos permite
demostrar la convergencia de Bn [f ] → f para cualquier función continua f .
Teorema 5.4 (de Korovkin o del operador monótono). Sea
Ln : C[0, 1] → C[0, 1],
n ∈ N,
una sucesión de operadores monótonos tales que
Ln [1] → 1,
Ln [x] → x,
Ln [x2 ] → x2 ,
Entonces se tiene que
Ln [f ] → f,
f ∈ C[0, 1].
Además, si la convergencia es uniforme para 1, x, x2 , también lo es para cualquier f continua.
Demostración. Veamos primero que para cada x0 ∈ [0, 1], Ln [f ](x0 ) →
f (x0 ). Por la continuidad de f en x0 , sabemos que dado ε, existe δ tal que
|f (x) − f (x0 )| ≤ ε,
∀x ∈ [0, 1], |x − x0 | ≤ δ.
Por el Teorema de Weierstrass, sabemos que f (x) está acotada en [0, 1], lo
que nos permite deducir que
|f (x) − f (x0 )| ≤ 2�f �∞ ,
de donde se obtiene
� f (x) − f (x ) � 2�f �
�
0 �
∞
,
�
�≤
(x − x0 )2
δ2
f (x0 ) − ε − A(x − x0 )2 ≤ f (x) ≤ f (x0 ) + ε + A(x − x0 )2 .
Usando la monotonı́a del operador, tenemos
Ln [f (x0 ) − ε − A(x − x0 )2 ] ≤ Ln [f ](x) ≤ Ln [f (x0 ) + ε + A(x − x0 )2 ]
y evaluando en x0 , y pasando al lı́mite cuando n → ∞ y obtenemos
f (x0 ) − ε ≤ lı́m ı́nf Ln [f ](x0 ) ≤ lı́m sup Ln [f ](x0 ) ≤ f (x0 ) + ε
n→∞
n→∞
y haciendo tender ε → 0, deducimos que existe lı́mn→∞ Ln [f ](x0 ) = f (x0 ).
Lo que muestra la convergencia de la sucesión de funciones.
Para mostrar que la convergencia es uniforme, tengamos en cuenta que al
ser f continua en un compacto es uniformemente continua. Eso quiere decir
que dado ε, existe un δ (que depende de f y de ε pero no depende de x0 ) tal
que
|f (x) − f (x0 )| ≤ ε
para todo x, x0 ∈ [0, 1], tal que |x − x0 | ≤ δ.
Como ya se ha visto al comienzo de la demostración, podemos afirmar que
|f (x) − f (x0 )| ≤ ε + A(x − x0 )2 ,
∀x, x0 ∈ [0, 1],
donde la constante A := �f �∞ /δ 2 ya no depende de x0 sino tan solo de ε y
f . La monotonı́a del operador nos permite deducir que
Ln [f (x0 ) − ε − A(x − x0 )2 ] ≤ Ln [f ](x) ≤ Ln [f (x0 ) + ε + A(x − x0 )2 ],
para todo x, x0 ∈ [0, 1] y todo n ∈ N.
Al ser la convergencia uniforme para 1, x, x2 , podemos afirmar que dado
ε� > 0, existe n0 tal que
x ∈ [0, 1], |x − x0 | ≥ δ.
Sea A := 2�f �∞ /δ 2 , entonces tenemos
�xi − Ln [xi ]�∞ ≤ ε� ,
Podemos tomar
2
|f (x) − f (x0 )| ≤ ε + A(x − x0 ) ,
51
lo que permite acotar la función f entre 2 funciones cuadráticas
∀x ∈ [0, 1],
ε� :=
i = 0, 1, 2,
ε
,
�f �∞ + ε + 4A
52
∀n ≥ n0 .
independiente de x0 y entonces tenemos
Teorema de aproximación Weierstrass
�f (x0 ) + ε + A(x − x0 )2 − Ln [f (x0 ) + ε + A(x − x0 )2 ]�∞
≤ (|f (x0 )| + ε + A + 2A|x0 | + Ax20 )ε� ≤ (�f �∞ + ε + 4A)ε� ≤ ε,
y análogamente
�f (x0 ) − ε − A(x − x0 )2 − Ln [f (x0 ) − ε − A(x − x0 )2 ]�∞ ≤ ε
para todo n ≥ n0 . Esto permite garantizar que para n ≥ n0 ,
f (x0 ) − 2ε − A(x − x0 )2 ≤ Ln [f ](x) ≤ f (x0 ) + 2ε + A(x − x0 )2 ,
de donde
f (x0 ) − 2ε ≤ Ln [f ](x0 ) ≤ f (x0 ) + 2ε,
es decir
|f (x0 ) − Ln [f ](x0 )| ≤ 2ε,
∀x0 ∈ [0, 1],
lo que muestra que la convergencia es uniforme.
Corolario 5.6. Para cualquier función continua f , se tiene lı́mn→∞ Bn [f ] =
f además la convergencia es uniforme, es decir
lı́m �f − Bn [f ]�∞ = 0.
n→∞
Demostración. Observemos que Bn es un operador monótono tal que
Bn [1] = 1,
Bn [x] = x,
Bn [x2 ] = x2 +
x(1 − x)
→ x2 (uniformemente).
n
Por el Teorema de Korovkin, si f ∈ C[0, 1], entonces Bn [f ] es una sucesión
de polinomios uniformemente convergente a f .
Como consecuencia del Teorema de Korovkin deducimos el Teorema de aproximación de Weierstrass sobre la densidad de los polinomios en el conjunto
de funciones continuas.
Teorema 5.7 (de aproximación de Weierstrass). El espacio de los polinomios es denso en el espacio de las funciones continuas, es decir, dado
f ∈ C[a, b] y ε > 0, existe un polinomio p ∈ P tal que
�f − p�∞ < ε.
Demostración. Mediante un cambio afı́n de variables α(t) = (1 − t)a + tb,
α−1 (x) = (x − a)/(b − a), podemos asociar a cada función f ∈ C[a, b], la
función continua f ◦ α ∈ C[0, 1]. Entonces Bn [f ◦ α] es una sucesión de
polinomios que converge uniformemente a f ◦ α. Observemos que si q es un
polinomio de grado n entonces p = q ◦ α−1 es un polinomio de grado n, ası́
que
pn (x) = Bn [f ◦ α] ◦ α−1
es una sucesión de polinomios tal que
�f − pn �C[a,b] = �f ◦ α − pn ◦ α�C[0,1] = �f ◦ α − Bn [f ◦ α]�C[0,1] .
Por el Corolario 5.6,
lı́m �f ◦ α − Bn [f ◦ α]�C[0,1] = 0,
n→∞
de donde se deduce que pn es una sucesión de polinomios uniformemente
convergente a f . Por tanto, los polinomios son densos en C[a, b].
Observación. El operador de Bernstein puede definirse en cualquier intervalo mediante
Bn,[a,b] [f ](x) = Bn [f ◦ α](α−1 (x)),
donde α : t ∈ [0, 1] �→ (1 − t)a + tb ∈ [a, b]. Podemos expresar explı́citamente
el operador de Bernstein en [a, b]
�
�
n
�
(n − i)a + ib
Bn,[a,b] [f ](x) =
f
Bi,n,[a,b] (x)
n
i=0
53
54
utillizando los polinomios de Bernstein de grado n en el intervalo [a, b]
Bi,n,[a,b] (x) :=
� ��
�n−i �
�i
n
b−x
x−a
,
i
b−a
b−a
x ∈ [a, b],
i = 0, . . . , n.
Nota. La demostración original de Weierstrass del Teorema de Aproximación
utilizaba el núcleo de Weierstrass, asociado a la ecuación del calor
1
S(x, t) = √ exp
2 πt
�
−x2
4t
�
�
∞
−∞
Las curvas de Bézier fueron desarrolladas independientemente por Paul de
Casteljau en Citröen (1959) y Pierre Bézier en Rénault (1962) para satisfacer
las demandas de los sistemas de diseño asistido por ordenador utilizados en
el diseño de carrocerı́as de automóviles.
Una curva de Bézier es una curva paramétrica
γ(t) =
,
mediante el cual permite se define el operador de Weierstrass
St [f ](x) =
6. Curvas de Bézier
ut (x, t) = uxx (x, t),
lı́m u(x, t) = f (x),
t→0+
x→∞
∀a > 0.
Este operador tiene la propiedad de disminución la variación y transforma
funciones continuas en funciones analı́ticas y la convergencia
t ∈ [0, 1],
donde P0 · · · Pn es el polı́gono de control y
Bi,n (t) =
� �
n
(1 − t)n−i ti ,
i
i = 0, . . . , n,
es la base de Bernstein del espacio de polinomios Pn .
Notemos que las curvas de Bézier son curvas cuyas componentes son
polinomios de grado ≤ n. Como la base de Bernstein es una ley de mezclas,
se verifica la propiedad de la cápsula convexa. Teniendo en cuenta que
y está definido para el conjunto de funciones continuas f tales que
lı́m exp(−ax2 )|f (x)| = 0,
Pi Bi,n (t),
i=0
S(x − y, t)f (y)dy.
Observemos que St [f ] es una solución del problema de valor inicial
n
�
B0,n (0) = 1,
Bi,n (0) = 0,
i = 1, . . . , n,
y
Bn,n (1) = 1,
Bi,n (1) = 0,
i = 0, . . . , n − 1,
vemos que las curvas de Bézier verifican la propiedad de interpolación en los
extremos. Además debido a la propiedad de simetrı́a
lı́m St [f ] = f
t→0+
no es solamente puntual sino uniforme sobre conjuntos compactos. La demostración de la convergencia no está exenta de complicaciones técnicas, aunque
la idea del teorema de Korovkin permite evitar algunas discusiones tediosas
sobre el paso del lı́mite a través del signo integral. El operador de Weierstrass puede utilizarse para demostrar que las funciones analı́ticas en [0, 1] son
densas en C[0, 1]. Como toda función analı́tica puede expresarse como lı́mite
de su n-ésimo polinomio de Taylor, n → ∞, se deduce que los polinomios son
densos en el conjunto de funciones analı́ticas.
55
Bi,n (t) = Bn−i,n (1 − t),
se deduce que la curva de Bézier correspondiente al polı́gono Pn Pn−1 · · · P0 es
la misma curva correspondiente al polı́gono P0 · · · Pn original, pero recorrida
en sentido inverso.
Las curvas de Bézier permiten la reproducción de lı́neas rectas. Si los
puntos de control del polı́gono P0 · · · Pn son puntos equidistantes del segmento
P0 Pn , es decir,
n−i
i
Pi =
P0 + Pn , i = 0, . . . , n,
n
n
56
entonces la curva de Bézier correspondiente es una parametrización del segmento P0 Pn . Teniendo en cuenta que
n
�
i
Bi,n (t) = t,
n
i=0
γ � (t) = n
γ(t) =
P0
n
�
i=0
n
�
i=0
Pi Bi,n (t) =
P0 +
i=0
Bi,n (t) + (Pn − P0 )
�
n
�
i
Bi,n (t) = P0 + t(Pn − P0 ),
n
i=0
La regla de Jacobi implica que la base de Bernstein tiene la propiedad de
disminución de la variación
S−(
i=0
Pi Bi−1,n−1 (t) − n
Derivadas de una curva de Bézier
Teniendo en cuenta que
� ��
�
n
�
Bi,n (t) =
i(1 − t)n−i ti−1 − (n − i)(1 − t)n−i−1 ti ,
i
se deduce que
�
Bi,n
(t) = n(Bi−1,n−1 (t) − Bi,n−1 (t)),
�
Bn,n
(t) = nBn−1,n−1 (t).
57
(Pi+1 − Pi )Bi,n−1 (t).
∆Pi Bi,n−1 (t).
i=0
En particular tenemos
γ � (0) = n(P1 − P0 ),
γ � (1) = n(Pn−1 − Pn ),
lo que muestra que la curva en los extremos es tangente a las rectas P0 P1
y Pn−1 Pn . Por lo tanto la curva y el polı́gono de control son tangentes en
ambos extremos.
Reiterando el proceso de derivación obtenemos
γ (k) (t) =
n−k
�
n!
∆k Pi Bi,n−k (t).
(n − k)! i=0
Algoritmo de de Casteljau
Una de las claves del interés de las curvas de Bézier es que poseen un algoritmo
de evaluación con buenas propiedades. Se trata del algoritmo de de Casteljau,
basado en la relación de recurrencia
Bi,n (t) = (1 − t)Bi,n−1 (t) + tBi−1,n−1 (t),
i = 1, . . . , n − 1,
(6.1)
junto con
B0,n (t) = (1 − t)B0,n−1 (t),
i = 1, . . . , n − 1,
n−1
�
i=0
n−1
�
Bn,n (t) = tBn−1,n−1 (t).
(6.2)
Si queremos evaluar una combinación lineal de polinomios de Bernstein
y también
�
B0,n
(t) = −nB0,n−1 (t),
Pi Bi,n−1 (t) = n
i=0
γ � (t) = n
ci Bi,n (t)) ≤ S − (c0 , . . . , cn ).
Como consecuencia de este hecho, ninguna curva de Bézier puede atravesar
una recta más veces que su polı́gono de control. Esto implica propiedades de
preservación de forma, como preservación de la monotonı́a y de la convexidad.
n−1
�
Si denotamos por ∆Pi = Pi+1 − Pi , obtenemos
i
(Pn − P0 ) Bi,n (t) =
n
ası́ que el segmento se recorre con velocidad uniforme. En otras palabras los
puntos equidistantes i/n, i = 0, . . . , n, son las abscisas de Greville asociadas
a la representación de Bernstein-Bézier.
n
�
n
�
i=1
tenemos
n �
�
Estas fórmulas nos permiten expresar la derivada de una curva de Bézier en
la forma
p(t) :=
n
�
ci Bi,n (t),
i=0
58
podemos aplicar la recurrencia anterior para obtener
p(t) =
n−1
�
i=0
=
n−1
�
i=0
(1 − t)ci Bi,n−1 (t) +
n
�
tci Bi−1,n−1 (t)
i=1
((1 − t)ci + tci+1 )Bi,n−1 (t),
y llamando c1i (t) = (1 − t)ci + tci+1 se deduce que
p(t) =
n−1
�
c1i (t)Bi,n−1 (t).
i=0
Figura 12. Algoritmo de de Casteljau.
Reiterando el proceso tenemos
p(t) =
n−k
�
cki (t)Bi,n−k (t),
i=0
donde cki (t) = (1 − t)ck−1
+ tck−1
i
i+1 , y tomando k = n − 1, tenemos
p(t) = cn−1
(t)B0,1 (t) + cn−1
(t)B1,1 (t) = (1 − t)c0n−1 (t) + tcn−1
(t) = cn0 (t).
0
1
1
Cuando evaluamos una curva de Bézier podemos seguir el mismo proceso
componente a componente e interpretar todas las componentes de cada paso
como un punto de Rs relacionado con el valor de la curva en ese punto,
obteniéndose el siguiente algoritmo
Proposición 6.1. Sea γ(t) =
Bézier. Definamos
�n
i=0
Pi Bi,n (t), P0 , . . . , Pn ∈ Rs una curva de
Pi0 (t) := Pi ,
i = 0, . . . , n,
y para k = 1, . . . , n,
k−1
Pik (t) := (1 − t)Pik−1 (t) + tPi+1
(t),
Algoritmo de de Casteljau.
Para i = 0, 1, . . . , n
Pi0 (t)
Los valores intermedios Pik (t), i = 0, . . . , n − k, k = 0, . . . , n, pueden
interpretarse como curvas paramétricas. En efecto t ∈ [0, 1] �→ Pik (t) es una
curva polinómica de grado k, ya que es el valor que corresponde a aplicar
el algoritmo de de Casteljau al subpolı́gono Pi Pi+1 · · · Pi+k . Esto sugiere el
siguiente resultado.
i = 0, 1, . . . , n − k.
�k
k
Entonces Pik (t) =
j=0 Pi+j Bj,k (t), es decir, Pi (t) es la curva de Bézier
de grado k cuyo polı́gono de control es Pi Pi+1 · · · Pi+k , i = 0, . . . , n − k,
k = 0, . . . , n. En particular γ(t) = P0n (t).
:= Pi
Para k = 1, 2 . . . , n
Para i = 0, 1, . . . , n − k
k−1
Pik (t) := (1 − t)Pik−1 (t) + tPi+1
(t)
59
Demostración. Por inducción sobre k. Si k = 0 el resultado es trivial.
60
Supongamos que la propiedad se verifica para k − 1 y veámosla para k
k−1
Pik (t) = (1 − t)Pik−1 (t) + tPi+1
(t)
= (1 − t)
=
k−1
�
j=0
k−1
�
Pi+j Bj,k−1 (t) + t
j=0
k−1
�
k
�
j=0
k
�
Pi+j tBj−1,k (t)
j=1
Pik (t)Bi,n−k (t),
y teniendo en cuenta la Proposición 6.1, obtenemos
j=1
Pi+j tBj−1,k (t) =
n−k
�
i=0
j=0
Pi+j (1 − t)Bj,k−1 (t) +
Pi+j (1 − t)Bj,k−1 (t) +
γ(t) =
Pi+j+1 Bj,k−1 (t)
Teniendo en cuenta las relaciones de recurrencia (6.1) (6.2) entre los polinomios de Bernstein, deducimos que
k−1
�
es una curva de Bézier de grado n−k tal que en t = t0 toma el valor γk (t0 ; t0 ) =
γ(t0 ). Por tanto tenemos
k
�
Pi+j Bj,k (t).
j=0
γ(t) =
n−k
k
��
Pi+j Bj,k (t)Bi,n−k (t)
i=0 j=0
=
n
�
Pl
l=0
�
�
mı́n(k,l)
�
Bj,k (t)Bl−j,n−k (t) ,
j=máx(0,l+k−n)
de donde se deduce la siguiente generalización de las relaciones (6.1) y (6.2)
Recordemos que si tres puntos P, Q, R están alineados, entonces el vector
Q − P es proporcional al vector R − P , es decir R − P = t(Q − P ). El
valor t = [R; P, Q] se llama razón simple de los puntos alineados P, Q y R.
Observemos que t = [R; P, Q] equivale a afirmar que R = (1 − t)P + tQ.
En cada paso del algoritmo de de Casteljau se construye un punto Pik
k−1
del segmento Pik−1 Pi+1
con razon simple
k−1
[Pik ; Pik−1 , Pi+1
]
= t.
El algoritmo de de Casteljau es un ejemplo simple de los llamados algok
ritmos de corte de esquinas. La construcción del polı́gono P0k · · · Pn−k
puede
k−1
k−1
verse como el resultado de un corte de esquinas en el polı́gono P0 · · · Pn−k+1 .
El punto de la curva γ(t) es el resultado de cortes de esquinas sucesivos realizados en el polı́gono de control.
Los valores intermedios Pik (t0 ), i = 0, . . . , n − k obtenidos en el algoritmo
k
de de Casteljau forman polı́gonos de control P0k (t0 ) · · · Pn−k
(t0 ) de curvas
de Bézier
de
grado
n
−
k
cuyos
valores
en
el
punto
t
=
t
coinciden con
0
�n
γ(t0 ) = i=0 Pi Bi,n (t0 ). En otras palabras
γk (t; t0 ) :=
n−k
�
Pik (t0 )Bi,n−k (t),
i=0
61
mı́n(k,i)
Bi,n (t) =
�
Bj,k (t)Bi−j,n−k (t).
j=máx(0,i+k−n)
Subdivisión
Las curvas de Bézier pueden expresarse en cualquier intervalo paramétrico
[a, b], usando los polinomios de Bernstein en dichos intervalos
Bi,n,[a,b] (x) =
� ��
�n−i �
�i
n
b−x
x−a
,
i
b−a
b−a
x ∈ [a, b].
Observemos que el cambio de variables necesario para transformar este intervalo en el intervalo estándar [0, 1] viene dado por
t = λ(x; a, b) := (x − a)/(b − a),
lo que permite relacionar los polinomios de Bernstein en un intervalo cualquiera con los polinomios de Bernstein en el intervalo [0, 1]
Bi,n,[a,b] (x) = Bi,n (λ(x; a, b)).
62
Una curva de Bézier en el intervalo paramétrico [a, b] es una de la forma
γ(x) =
n
�
Pi Bi,n (λ(x; a, b)).
i=0
En algunas aplicaciones resulta conveniente obtener las representaciones
de una curva de Bézier en los subintervalos [0, τ ] y [τ, 1]. Este proceso recibe el
nombre de subdivisión. Una vez realizada la subdivisión podemos manipular
cada trozo de curva sin necesidad de cambiar el otro.
La subdivisión está estrechamente relacionada con el algoritmo de de
Casteljau.
�n
Proposición 6.2. Sea γ(t) =
i=0 Pi Bi,n (t), y considerar las curvas polinómicas definidas en el algoritmo de de Casteljau
Pi0 (t) := Pi ,
i = 0, . . . , n,
y para k = 1, . . . , n
k−1
Pik (t) := (1 − t)Pik−1 (t) + tPi+1
(t),
i = 0, . . . , n − k.
entonces P00 (t)P01 (t) · · · P0n (t) y P0n (t)P1n−1 (t) · · · Pn0 (t) son los polı́gonos de
control de las representaciontes de la curva γ en los subintervalos [0, t] y [t, 1],
respectivamente, es decir,
γ(s) =
n
�
γ(s) =
la demostración de la segunda
fórmula es completamente análoga. Teniendo
�i
en cuenta que P0i (t) = j=0 Pj Bj,i (t), deducimos que
n
�
P0i (t)Bi,n (s/t) =
i=0
=
n �
i
�
Pj Bj,i (t)Bi,n (s/t)
i=0 j=0
n
n
��
�
Pj
j=0
P0i (t)Bi,n,[0,t] (s),
i=0
n
�
Figura 13. La parte izquierda de la curva corresponde
al polı́gono izquierdo (gris oscuro) y la parte derecha
de la curva corresponde al polı́gono derecho (gris claro).
Pin−i (t)Bi,n,[t,1] (s).
i=0
i=j
�
Bj,i (t)Bi,n (s/t) .
Llamando r = s/t, la propiedad de subdivisión se reduce a demostrar la
llamada fórmula de reparametrización
n
�
Bj,i (t)Bi,n (r) = Bj,n (rt).
i=j
Demostración. Demostraremos que
γ(s) =
n
�
Para j = n, la comprobación es sencilla
P0i (t)Bi,n (s/t),
i=0
63
Bn,n (t)Bn,n (r) = tn rn = (rt)n = Bn,n (rt).
64
n+1
Por tanto, podemos construir el polı́gono P0n+1 · · · Pn+1
asociado a la curva
de grado elevado
En general tenemos
n
�
Bj,i (t)Bi,n (r) =
i=j
=
n−j
�
P0n+1 := P0
n+1−i
i
Pin+1 :=
Pi +
Pi−1 ,
n+1
n+1
n+1
Pn+1 := Pn .
Bj,j+k (t)Bj+k,n (r)
k=0
n−j
��
k=0
j+k
j
��
�
n
(1 − t)k tj (1 − r)n−j−k rj+k
j+k
n−j
�
n!
(1 − r)n−j−k (1 − t)k rk
j!k!(n − j − k)!
k=0
� �
n−j
� �n − j �
n
j
=
(rt)
(1 − r)n−j−k (r − rt)k
j
k
k=0
� �
n
=
(rt)j (1 − rt)n−j = Bj,n (rt).
j
= (rt)j
i = 1, . . . , n,
Repitiendo este proceso podemos elevar arbitrariamente el grado de un polinomio.
A continuación deducimos una fórmula directa para la elevación de grado
de una curva de Bézier. Partiendo de la identidad
�
� ��
� m−n
� m−n
�
� ni m−n
j
�
�
Bi,n (t) = Bi,n (t)
Bi+j,m (t)
Bj,m−n (t) =
m
j=0
�
�
� � m−n+i
� m−n
n
k−i
�m� Bk,m (t).
=
i
k
i+j
j=0
k=i
Elevación de grado
y usando la fórmula
A veces, es necesario representar una curva de grado n en términos de una
base de Bernstein de grado mayor. Esto es posible, puesto que todo polinomio
de Pn es en particular un polinomio de Pn+1 . Para ello, tengamos en cuenta
que las relaciones
(1 − t)Bi,n (t) =
n+1−i
Bi,n+1 (t),
n+1
tBi,n (t) =
i+1
Bi+1,n+1 (t),
n+1
i
obtenemos
γ(t) =
i=0
n
�
Pi Bi,n (t) =
n
�
i=0
Pi ((1 − t) + t)Bi,n (t)
n+1−i
i+1
Bi,n+1 (t) +
Pi
Bi+1,n+1 (t)
n
+
1
n
+1
i=0
i=0
�
n+1
� �n + 1 − i
i
=
Pi +
Pi−1 Bi,n+1 (t).
n+1
n+1
i=0
=
Pi
65
=
�k��m−k�
i
� ,
�mn−i
n
k=i
Por tanto
γ(t) =
n
�
�
�mk−i
k
�
m−n+i � ��
1 �
k
m−k
Bi,n (t) = �m�
Bk,m
i
n−i
n
dan lugar a
n
�
�n��m−n�
=
n
�
i=0
m
�
Pi Bi,n (t) =
n m−n+i
�
�
i=0
k=i
Pkm Bk,m ,
�k��m−k�
i
�mn−i
� Pi Bk,m (t)
n
k=0
siendo
1
Pkm = �m�
n
mı́n(k,n)
�
i=máx(0,k+n−m)
66
� ��
�
k
m−k
Pi .
n−i
i
La elevación de grado puede interpretarse como un proceso de corte de
esquinas efectuado sobre el polı́gono de control para obtener un polı́gono con
un punto más. Cuanto más recortemos las esquinas más se suaviza el polı́gono
y más se aproxima a la curva que controla. Surge la pregunta de si la sucesión
de polı́gonos de grado cada vez mayor tiende a la curva. La respuesta a esta
pregunta es afirmativa.
�n
Lema 6.3. Para cada polinomio p ∈ Pn , p(t) = i=0 ci Bi,n (t),
�p�n :=
máx
j∈{0,...,n}
|cj |.
Entonces � · �n es una norma del espacio Pn . Además tenemos que
�p�n+k ≤ �p�n ,
∀p ∈ Pn ,
Además si p =
�n
i=0 ci Bi,n (t),
�p + q�n =
máx
j∈{0,...,n}
máx
j∈{0,...,n}
q=
�n
=
cn0 ,
cn+1
i
Demostración. Como la convergencia en Rs equivale a la convergencia componente a componente, basta con mostrar el caso en que el polı́gono tenga una
sola componente. Para cada polinomio p ∈ Pn0 , consideremos los coeficientes
de p respecto a la base de Bernstein para grados n ≥ n0
máx
j∈{0,...,n}
|cj | + |dj |�p�n + �q�n .
i = 1, . . . , n,
máx
j∈{0,...,n}
|cnj |,
|cn+1
|≤
j
67
n ≥ n0 .
Consideremos ahora la aplicación del operador de Bernstein de grado n
al polinomio p ∈ Pn0 ,
n
�
p(i/n)Bi,n (t).
cn+1
n+1
=
cnn ,
Como el operador de Bernstein preserva el grado, Bn [p] es un polinomio de
Pn0 . Restando, obtenemos
�
p(t) − Bn [p](t) =
(cni − p(i/n))Bi,n (t),
i=0
luego p(i/n) − cni son los coeficientes de la representación de Bernstein-Bézier
de grado n del polinomio Bn [p] − p ∈ Pn0 .
Por el Lema 6.2 tenemos
i = 0, . . . , n + 1.
j∈{0,...,n}
|cnj − p(i/n)| = �p − Bn [p]�n ≤ �p − Bn [p]�n0
y como todas las normas en el espacio vectorial de dimensión finita Pn0 son
equivalentes, tenemos que
Por tanto
�p�n+1 =
cni Bi,n (t),
i=0
máx
j∈{0,...,n}
n
�
Bn [p](t) :=
di Bi,n (t) tenemos
se deduce que
máx
�Pjn − γ(j/n)� = 0.
i=0
n+1−i n
i
=
c +
cn ,
n+1 i
n + 1 i−1
|cn+1
|≤
i
máx
p(t) =
�n n
Por tanto � · �n define una norma en Pn . Sea p(t) =
i=0 ci Bi,n (t) =
�
n
n+1
Bi,n+1 (t). Teniendo en cuenta la fórmula de elevación de grado
i=0 ci
cn+1
0
lı́m
n→∞ j∈{0,...,n}
|λcj | = λ�p�n .
i=0
|cj + dj | ≤
Teorema 6.3. Sean P0n · · · Pnn , n ≥ n0 , la sucesión de polı́gonos de control
obtenidos por elevación de grado. Entonces
∀k ≥ 0.
Demostración. � · �n es una función no negativa. Como los coeficientes
del polinomio nulo son todos cero, la norma del polinomio nulo vale cero.
Observamos que si �p�n = 0, entonces cni = 0, para todo i = 0, . . . , n, lo que
implica que p = 0. Además para cualquier λ ∈ R,
�λp�n =
Se deduce que la sucesión �p�n+k , p ∈ Pn , es decreciente lo que demuestra el
resultado.
máx
j∈{0,...,n}
|cnj | = �p�n .
�q�n0 ≤ C máx |q(t)|,
t∈[0,1]
68
∀q ∈ Pn0
Si n = 1, tenemos F (t) = (1 − t)F (0) + tF (1) y si n = 2,
para cierta constante C. Por tanto
máx
j∈{0,...,n}
|cnj − p(i/n)| = �p − Bn [p]�n0 ≤ C máx |p(t) − Bn [p](t)|,
t∈[0,1]
∀p ∈ Pn0
F (t, t) = (1 − t)2 F (0, 0) + t(1 − t)(F (0, 1) + F (1, 0)) + t2 F (1, 1).
En general, al evaluar una forma multiafı́n sobre la diagonal
Por el Corolario 5.6, tenemos
lı́m máx |p(t) − Bn [p](t)| → 0,
n→∞ t∈[0,1]
F (t, t, . . . , t) =
1
�
i1 =0
de donde se deduce el resultado.
La elevación de grado permite dar una demostración de la propiedad de
disminución de la variación, la idea fundamental es que la curva se obtiene
como lı́mite de polı́gonos obtenidos por un proceso de corte de esquinas. Como
los procesos de corte de esquinas disminuyen la variación, podemos demostrar
que el número de cambios de signo de la curva (unidimensional) es menor
que el número de cambios de signo en la sucesión de coeficientes. Muchas
propiedades de forma admiten una demostración directa usando la técnica de
pasar al lı́mite en el proceso de elevación de grado.
Formas Polares
Observemos que las funciones afines F : R → Rs verifican
F ((1 − t)a + tb) = (1 − t)F (a) + tF (b),
a, b, t ∈ R.
Por tanto, una función es multiafı́n si y sólo si
F (x1 , . . . ,(1 − t)xi + tyi , . . . , xn ) =
(1 − t)F (x1 , . . . , xi , . . . , xn ) + tF (x1 , . . . , yi , . . . , xn ),
para todo i, y todo x1 , . . . , xn , yi , t en R.
69
1
�
in =0
F (i1 , . . . , in )(1 − t)n−(i1 +···+in ) ti1 +···+in ,
(6.3)
obtenemos un polinomio de grado menor o igual que n.
Una función multiafı́n es simétrica si F es una función simétrica de sus
argumentos, es decir
F (xσ(1) , . . . , xσ(n) ) = F (x1 , . . . , xn ).
para cualquier permutación σ ∈ Σn de los ı́ndices cifras 1, 2, . . . , n.
Proposición 6.5. Si F : Rn → Rs una la función multiafı́n simétrica
Las formas polares aparecen con frecuencia en geometrı́a y son una técnica
algebraica que permite determinar variedades tangentes y osculatrices a una
curva o superficie dada.
Definición 6.4. Una función F : Rn → Rs es multiafı́n si para i y cada
x1 , . . . , xi−1 , xi+1 , . . . , xn fijos, cada función x �→ F (x1 , . . . , xi−1 , x, xi+1 , xn )
es afı́n, es decir, una función polinómica de grado menor o igual que 1 en cada
componente.
···
F (t, . . . , t) =
n
�
F (0[n−i] , 1[i] )Bi,n (t),
i=0
es decir F (t, . . . , t) es una curva de Bézier cuyos puntos de control son precisamente Pk = F (0[n−k] , 1[k] ), k = 0, . . . , n.
Demostración. Teniendo en cuenta que F es multiafı́n simétrica deducimos
de (6.3), la siguiente fórmula para F (t, . . . , t)
�
0≤i1 ≤···≤in ≤1
�
�
n
F (i1 , . . . , in )(1 − t)n−(i1 +···+in ) ti1 +···+in .
i1 + · · · + in
La suma anterior puede expresarse en términos de i = i1 + · · · + in y adopta
la forma
� �
n
�
n
F (0[n−i] , 1[i] )
(1 − t)n−i ti ,
i
i=0
de donde se deduce el resultado.
70
Definición 6.6. Sea f : R → Rs una función polinomica de grado menor
o igual que n. La forma polar de f es una función F : Rn → Rs multiafı́n
simétrica tal que F (t, . . . , t) = f (t).
cuya derivada es
Proposicion 6.7. Todo polinomio de grado menor o igual que n admite una
única forma polar de n variables.
Veamos que la forma polar
Demostración.
Veamos que la forma polar existe para cualquier polino�n
mio k=0 Qk tk . Para ello, notemos que la base de monomios admite una
polarización inmediata. En efecto, la forma polar del monomio tk es
es el punto de intersección de las tangentes en t1 y en t2 . Por simetrı́a bastará
con comprobar que F (t1 , t2 ) se encuentra en la recta tangente a γ en t1 es
decir
F (t1 , t2 ) − γ(t1 ) = λγ � (t1 ),
1
� n�
k
�
j1 ,...,jn ∈{0,1},j1 +···+jn =k
tj11 · · · tjnn .
� �
ya que nk es el número de de formas diferentes de obtener suma igual a k
sumando n valores en {0, 1}. Como todo polinomio es combinación lineal de
monomios, podemos construir la forma polar combinando respectivamente las
formas polares de cada monomio
n
�
1
� n� Q k
k=0
k
�
La unicidad se deduce fácilmente. Si dos formas polares F, G coinciden sobre
la diagonal, deben concidir los coeficientes respecto a la base de Bernstein de
los polinomios F (t, . . . , t) y G(t, . . . , t). Luego F (0[n−k] , 1[k] ) = G(0[n−k] , 1[k] )
de donde se deduce que
F (t1 , . . . , tn ) =
1
�
i1 =0
=
1
�
i1 =0
···
···
1
�
F (i1 , . . . , in )
n
�
in =0
j=1
1
�
n
�
G(i1 , . . . , in )
in =0
(1 −
j=1
F (t1 , t2 ) = P0 (1 − t1 )(1 − t2 ) + P1 ((1 − t1 )t2 + t1 (1 − t2 )) + P2 t1 t2
para cierto valor de λ. Teniendo en cuenta que
F (t1 , t2 ) − γ(t1 ) = (t2 − t1 )(−P0 (1 − t1 ) + P1 ((1 − t1 ) − t1 ) + P2 t1 )
t2 − t 1 �
γ (t1 ),
= (t2 − t1 )((1 − t1 )(P1 − P0 ) + t1 (P2 − P1 )) =
2
deducimos que λ = (t2 − t1 )/2 y F (t1 , t2 ) se encuentra en la recta tangente a
la curva correspondiente a t = t1 .
De ahı́, se deduce que la ecuación paramétrica de la recta tangente en un
punto t1 es
xj11 · · · xjnn .
j1 +···+jn =k
γ � (t) = 2(P1 − P0 )(1 − t) + 2(P2 − P1 )t.
i
tj )1−ij tjj
i
(1 − tj )1−ij tjj = G(t1 , . . . , tn ).
Las formas polares aparecen en diferentes cuestiones relacionadas con la
tangencia de curvas. Sea γ(t) una curva cuadrática
F (t1 , t) = ((1 − t1 )P0 + t1 P1 )(1 − t) + ((1 − t1 )P1 + t1 P2 )t
En efecto, al ser F biafı́n, se describe una recta al recorrer el parámetro t y
como γ(t1 ) = F (t1 , t1 ), vemos que esa recta pasa por el punto γ(t1 ). Además
la dirección de esa recta es precisamente
(1 − t1 )(P1 − P0 ) + t1 (P2 − P1 ) =
1 �
γ (t1 )
2
que corresponde a la dirección tangente.
Observemos que la fórmula
F (t1 , . . . , tn ) =
1
�
i1 =0
···
1
�
F (i1 , . . . , in )
in =0
n
�
i=1
(1 − ti )1−ii tii1 ,
γ(t) = P0 (1 − t)2 + 2P1 t(1 − t) + P2 t2 ,
sugiere
una forma de evaluar la polarización de una curva de Bézier γ(t) =
�n
P
Bi,n (t) cualquiera, siguiendo los pasos del algoritmo de de Casteljau.
i
i=0
Para ello, hay que tener en cuenta que Pi = F (0[n−i] , 1[i] ), i = 0, . . . , n.
71
72
Proposición 6.8
�n(Algoritmo de Polarización). Sea F la forma polar de
la curva γ(t) = i=0 Pi Bi,n (t). Definamos
Pi0 := Pi ,
i = 0, . . . , n
y para k = 1, 2 . . . , n
k−1
(t1 , . . . , tk−1 ),
Pik (t1 , . . . , tk ) := (1 − tk )Pik−1 (t1 , . . . , tk−1 ) + tk Pi+1
i = 0, . . . , n − k.
Entonces Pik (t1 , . . . , tk ) = F (0[n−k−i] , 1[i] , t1 , . . . , tk ). En particular
F (t1 , . . . , tn ) = P0n (t1 , . . . , tn )
es la forma polar de γ(t)
Demostración. Para k = 0, el resultado se deduce de la Proposición 6.5,
porque el punto de control Pi corresponde a F (0[n−i] , 1[i] ). Suponiendo el
resultado cierto para k − 1 y teniendo en cuenta que F es multiafı́n vemos que
k−1
Pik (t1 , . . . , tk ) = (1 − tk )Pik−1 (t1 , . . . , tk−1 ) + tk Pi+1
(t1 , . . . , tk−1 )
= (1 − tk )F (0[n−k−i+1] , 1[i] , t1 , . . . , tk−1 ) + tk F (0[n−k−i] , 1[i+1] t1 , . . . , tk−1 )
[n−k−i]
= F (0
[i]
, 1 , t1 , . . . , tk ).
por lo que el polı́gono de control de una curva de Bézier γ en un subintervalo
cualquiera [a, b] es precisamente Pk = F (a[n−k] , b[k] ), k = 0, . . . , n.
Recordemos que una curva γ ∈ C k ([0, 1]; Rs ) es k-regular en el punto
t0 si los vectores γ � (t0 ), . . . , γ (k) (t0 ) son linealmente independientes en Rs .
Para una curva k-regular se define la variedad k-osculatriz como el subespacio
trasladado
Vk (t0 ) := γ(t0 ) + �γ � (t0 ), . . . , γ (k) (t0 )�.
�
Proposición 6.9. Sea γ(t) = i=0 Pi Bi,n (t) una curva de Bézier k-regular
[n−k]
en t0 y F su forma polar, entonces F (t0
, t1 , . . . , tk ) es un punto de la
variedad k-osculatriz en t0 para cualesquiera t1 , . . . , tk .
Demostración. Veamoslo por inducción sobre k. Para k = 0, es obvio que F (t0 , . . . , t0 ) = γ(t0 ) ∈ V0 (t0 ). Teniendo en cuenta que γ � (t0 ) =
n(F (t0 , . . . , t0 , 1) − F (t0 , . . . , t0 , 0)), podemos aplicar la hipótesis de inducción
a la curva derivada γ � (t) para deducir que
1
[n−k]
[n−k]
F (t0
, t1 , . . . , tk−1 , 1) − F (t0
, t1 , . . . , tk−1 , 0) − γ � (t0 )
n
se encuentra en el espacio engendrado por los vectores γ �� (t0 ). . . . , γ (k) (t0 ).
Por hipótesis de inducción también tenemos que
[n−k+1]
F (t0
, t1 , . . . , tk−1 ) =
[n−k]
(1 − t0 )F (t0
luego
[n−k]
F (t0
La evaluación de la forma polar permite expresar el polı́gono de control en un intervalo cualquiera y sugiere un método de cálculo. Utilizando
reiteradamente la relación
t=
b−t
t−a
a+
b,
b−a
b−a
y teniendo en cuenta que F es multiafı́n simétrica, se deduce inmediatamente
la siguiente generalización de la Proposición 6.5
F (t, . . . , t) =
n
�
k=0
F (a
[n−k]
[k]
, b )Bk,n ((t − a)/(b − a)),
73
[n−k]
, t1 , . . . , tk−1 , 0) + t0 F (t0
[n−k]
, t1 , . . . , tk−1 , 0), F (t0
Por tanto
[n−k]
F (t0
, t1 , . . . , tk−1 , tk ) =
[n−k]
, t1 , . . . , tk−1 , 1) ∈ Vk−1 (t0 )
, t1 , . . . , tk−1 , 1) ∈ Vk (t0 ).
[n−k]
(1 − tk )F (t0
, t1 , . . . , tk−1 , 0) + tk F (t0
y se deduce el resultado.
, t1 , . . . , tk−1 , 1) ∈ Vk (t0 ).
Una consecuencia interesante del resultado anterior es que si Vi (0) y
Vn−i (1) están bien definidas, entonces Pi ∈ Vi (0) ∩ Vn−i (1), es decir, los
puntos de control de una curva de Bézier se encuentran en la intersección de
dos variedades osculatrices correspondientes a los puntos extremos.
Recordemos que la forma polar de una parábola F (t0 , t1 ) corresponde al
punto de intersección de las rectas tangentes en t0 y t1 . Del resultado anterior,
deducimos el siguiente corolario que generaliza la propiedad anterior.
74
Corolario 6.10. Si F es la forma polar de una curva n-regular γ(t) =
�
n
i=0 Pi Bi,n (t), entonces F (t1 , . . . , tn ) es el punto de intersección de las variedades (n − 1)-osculatrices en t1 , . . . , tn .
siendo a ∈ R el coeficiente director. Para determinar a, imponemos la condición li (xi ) = 1, obteniendo
Demostración. Por la Proposición 6.9, F (t1 , . . . , tn ) ∈ Vn−1 (ti ) para todo
i = 0, 1, . . . , n.
j�=i (xi
El problema de interpolación de Lagrange consiste en encontrar una función
f tal que f (xi ) = yi , i = 0, . . . , n, para xi ∈ R distintos, yi ∈ R, i = 0, . . . , n
arbitrarios. El dominio de definición de f debe ser un intervalo I que contenga
a todos los puntos xi , i = 0, . . . , n. Geométricamente, el problema se traduce
en determinar una curva de la forma (x, f (x)), x ∈ I, que pase por todos
los puntos (xi , yi ), i = 0, . . . , n. Las abscisas xi de interpolación reciben el
nombre de nodos y los valores yi reciben el nombre de datos.
Teorema 7.1. El problema de interpolación de Lagrange, admite siempre
una única solución en Pn , el espacio de polinomios de grado menor o igual
que n. Además la solución viene dada por la fórmula de Lagrange
n
�
yi li (x),
li (x) =
i=0
� x − xj
.
xi − xj
j�=i
Demostración. Para demostrar la unicidad, supongamos que p1 , p2 son
dos soluciones del problema. Entonces p1 − p2 se anulan en x0 , . . . , xn . Del
Teorema del resto (Teorema 4.1), se deduce que
p2 (x) − p1 (x) = q(x)(x − x0 ) · · · (x − xn ),
con grad(p2 − p1 ) ≤ n y grad(x − x0 ) · · · (x − xn ) = n + 1. Se deduce que
q = 0, y p1 = p2 . Para la existencia se definen los polinomios de Lagrange
li (x) como aquellos polinomios de grado n que valen 1 en el nodo xi y 0 en
los nodos restantes, es decir li (xj ) = δij , donde δij es el sı́mbolo delta de
Kronecker. De la definición se deduce que li se anula en xj , j �= i y por el
Teorema del Resto
�
li (x) = ρi (x − xj ),
j�=i
75
1
− xj )
,
y sustituyendo en la fórmula anterior el valor calculado de ρi , obtenemos la
expresión del i-ésimo polinomio de Lagrange
7. Interpolación de Lagrange
p(x) =
ρi = �
li (x) =
� x − xj
.
xi − xj
j�=i
Una vez deducida la existencia�de los polinomios de Lagrange, es una tarea
n
simple demostrar que p(x) = i=0 yi li (x) es un interpolante. En efecto, el
polinomio dado por la fórmula de Lagrange verifica
p(xj ) =
n
�
yi li (xj ) =
i=0
n
�
yi δij = yj .
i=0
El problema de interpolación de Lagrange y el Teorema 7.1 admiten una
curiosa interpretación en términos de la teorı́a de funcionales lineales. La
evaluación en los nodos
λi : f ∈ C(I) → f (xi ) ∈ R
forman un conjunto de funcionales lineales definidos en el conjunto de las
funciones continuas. Estos funcionales lineales generan un espacio vectorial
L = �λi | i = 0, . . . , n�,
contenido en el dual de las funciones continuas. La existencia de polinomios
de Lagrange li , i = 0, . . . , n, tales que
λj li = δij ,
permite garantizar que los funcionales λi son linealmente independientes y
constituyen una base del espacio dual de Pn . De la misma forma se deduce
76
que los polinomios de Lagrange forman una base de Pn que es la base dual
de la base de funcionales λ0 , . . . , λn de L.
Definición 7.3. La diferencia dividida [x0 , . . . , xn ]f de f en la sucesión de
puntos distintos x0 , . . . , xn se define por recurrencia mediante
Las relaciones de recurrencia de Aitken-Neville permiten expresar el polinomio de interpolación en más nodos en términos de polinomios de interpolación que usan un nodo menos. Para expresar este resultado mediante una
fórmula explı́cita, denotaremos de ahora en adelante mediante
[x0 ]f := f (x0 ),
[x0 , x1 , . . . , xn−1 , xn ]f :=
El orden de una diferencia dividida es n, si está basada en una sucesión de
n + 1 puntos.
P(f ; x0 , . . . , xn )
al polinomio de interpolación de Lagrange en Pn que interpola a la función f
en la sucesión de nodos x0 , . . . , xn , es decir,
P(f ; x0 , . . . , xn ) ∈ Pn ,
P(f ; x0 , . . . , xn )(xi ) = f (xi ),
Observemos que de la definición se deduce que
[x0 , . . . , xn ] : f ∈ C(I) �→ [x0 , . . . , xn ]f ∈ R
i = 0, . . . , n.
Teorema 7.2 (Fórmula de Aitken-Neville).
P(f ; x0 , x1 , . . . , xn−1 , xn )(x) =
xn − x
x − x0
P(f ; x0 , x1 , . . . , xn−1 )(x) +
P(f ; x1 , . . . , xn−1 , xn )(x)
xn − x0
xn − x0
Demostración. Sea
x − x0
xn − x
p(x) :=
P(f ; x0 , . . . , xn−1 )(x) +
P(f ; x1 , . . . , xn )(x)
xn − x0
xn − x0
Claramente p es un polinomio de grado menor o igual que n, veamos que
interpola a la función f en los nodos x0 , . . . , xn . Sustituyendo x por x0 y xn
obtenemos
p(x0 ) = P(f ; x0 , . . . , xn−1 )(x0 ) = f (x0 ),
p(xn ) = P(f ; x1 , . . . , xn )(xn ) = f (xn ).
Tomando ahora x = xi con 0 < i < n obtenemos
xn − xi
xi − x0
P(f ; x0 , . . . , xn−1 )(xi ) +
P(f ; x1 , . . . , xn )(xi )
xn − x0
xn − x0
xn − xi
xi − x0
=
f (xi ) +
f (xi ) = f (xi ).
xn − x0
xn − x0
p(xi ) =
Por tanto p(x) interpola a la función f . La fórmula de Aitken-Neville se
deduce teniendo en cuenta la unicidad del polinomio de interpolación.
77
[x1 , . . . , xn−1 , xn ]f − [x0 , x1 , . . . , xn−1 ]f
.
xn − x0
es un funcional lineal que puede expresarse como combinación lineal de los
funcionales evaluación λi , dados por λi f = f (xi ). En general toda diferencia
dividida basada en una subsucesión de x0 , . . . , xn es un funcional del espacio
L = �λi | i = 0, . . . , n�.
Proposición 7.4 (Propiedades de las diferencias divididas).
(a) [x0 , . . . , xn ]f es el coeficiente en xn de P(f ; x0 , . . . , xn ).
(b) El valor de la diferencia dividida es independiente del orden de los argumentos.
(c)
[x0 , . . . , xn ]f =
n
�
i=0
�
f (xi )
j�=i (xi − xj )
Demostración. (a) se deduce de la fórmula de Aitken-Neville, (b) del hecho
que el polinomio de interpolación es único independientemente del orden en
que se presenten los datos, (c) se obtiene al tomar el coeficiente de mayor
grado en la fórmula de interpolación de Lagrange.
Otra forma de expresar el polinomio de interpolación es la fórmula de
Newton
Proposición 7.5 (Fórmula de Newton).
P(f ; x0 , . . . , xn )(x) = [x0 ]f + [x0 , x1 ]f · (x − x0 ) + · · ·
+ [x0 , . . . , xn ]f · (x − x0 ) · · · (x − xn−1 ).
78
Demostración. La demostración se realiza por inducción. Si n = 0 es
evidente. Para el caso general, notemos que
p(x) := P(f ; x0 , . . . , xn−1 , xn )(x) − P(f ; x0 , . . . , xn−1 )(x)
es un polinomio de grado menor o igual que n que se anula en x0 , . . . , xn−1 .
Por tanto
p(x) = a(x − x0 ) · · · (x − xn−1 ),
siendo a el coeficiente director del polinomio p, que coincide con el coeficiente
director de P(f ; x0 , . . . , xn ). Por la Proposición 7.4 (a), tenemos que a =
[x0 , . . . , xn ]f , de donde se deduce la fórmula
P(f ; x0 , . . . , xn−1 , xn )(x) = P(f ; x0 , . . . , xn−1 )(x)
+ [x0 , . . . , xn ]f · (x − x0 ) · · · (x − xn−1 ).
son funcionales linealmente independientes y forman bases duales de Pn y L.
La base de Lagrange de Pn es la base dual de los funcionales evaluación
de L. Análogamente, la base dual de la base de polinomios de grado creciente
(ω0 , . . . , ωn ) es precisamente la base de funcionales diferencia dividida de la
fórmula de Newton.
La fórmula de Proposición 7.4 (c), nos indica cómo expresar los funcionales diferencia dividida en términos de los funcionales de evaluación para
puntos distintos
[x0 , . . . , xk ] =
i=0
la fórmula de Newton admite la expresión más compacta
P(f ; x0 , . . . , xn ) =
n
�
[x0 , . . . , xi ]f ωi .
i=0
Sea pik (x) ∈ Pj el polinomio de interpolación de Lagrange de ωi en x0 , . . . , xk .
Observemos que si k < i, entonces ωi se anula en todos los nodos y pik = 0.
Por la Proposición 7.4 (a), [x0 , . . . , xk ]ωi = 0. Si k ≥ i, entonces el propio el
propio polinomio ωi ∈ Pj , de donde se deduce que pik = ωi . Considerando el
coeficiente en xk vemos que
[x0 , . . . , xk ]ωi = δik .
Se deduce que
ω 0 , ω1 , . . . , ω n
son polinomios linealmente independientes de Pn , que
1
λi ,
�
ωk+1
(xi )
k = 0, . . . , n,
�
ya que ωk+1
(xi ) viene dado por
�
ωk+1
(xi ) =
Si definimos ω0 (x) := 1 y para i = 1, . . . , n
ωi (x) := (x − x0 ) · · · (x − xi−1 ),
k
�
�
j∈{0,...,k}\{i}
(xi − xj )
La fórmula de Newton, nos proporciona el cambio inverso que permite
expresar los funcionales de evaluación en términos de las diferencias divididas
λk =
k
�
ωi (xk ) [x0 , . . . , xi ],
k = 0, . . . , n.
i=0
Las diferencias divididas tienen cierta similitud con las derivadas. Una
relación entre diferencias divididas de orden n y derivadas de orden n la
proporciona el Teorema del Valor Medio generalizado
Teorema 7.6 (Teorema del Valor Medio Generalizado). Sea I un intervalo, f ∈ C n (I), x0 , . . . , xn ∈ I distintos. Entonces existe ξ ∈ I tal que
[x0 , . . . , xn ]f =
f (n) (ξ)
.
n!
[x0 ], [x0 , x1 ], . . . , [x0 , . . . , xn ].
Demostración. Sea p(x) = P(f ; x0 , . . . , xn )(x) La función f − p se anula en
los puntos distintos x0 , . . . , xn del intervalo I, luego Z ∗ (f − p) ≥ n + 1. Por
79
80
el teorema de Rolle generalizado (Proposición 3.6), Z ∗ (f (n) − p(n) ) ≥ 1, es
decir, existe un ξ ∈ I tal que
f
(n)
(ξ) − p
(n)
(ξ) = 0.
f (n) (ξ) − n![x0 , . . . , xn ]f = 0.
f (x1 ) − f (x0 )
= f � (ξ).
x1 − x0
y el polinomio de interpolación de Lagrange
P(f ; x0 , . . . , xn )(x) = [x0 ]f + · · · + [x0 , . . . , xn ]f · (x − x0 ) · · · (x − xn−1 ).
Sean x0 , x1 , . . . , xn ∈ R una sucesión de nodos no necesariamente distintos (sucesión extendida de nodos) y f una función suficientemente diferenciable. Se define el polinomio de interpolación de Hermite de f en x0 , . . . , xn
como el único polinomio de grado ≤ n tal que
tiene en x = xj un cero de multiplicidad mayor o igual que el número de veces
que aparece xj en la sucesión extendida de nodos x0 , . . . , xn
Sea f una función de clase C 1 y sea el polinomio de primer grado
m(xj ) := #{i | xi = xj }.
es decir, P(f ; x0 , . . . , xn ) es el único polinomio p ∈ Pn tal que
P(f ; x0 , x1 )(x) = [x0 ]f + [x0 , x1 ]f (x − x0 )
que interpola a f en x0 �= x1 . Este polinomio puede interpretarse como la
gráfica de la recta secante. Si hacemos x1 → x0 entonces la recta secante
tiende a la tangente en el punto x0 , cuya pendiente es f � (x0 ). Por tanto
lı́m P(f ; x0 , x1 )(x) = T1 (f ; x0 )(x)
x1 →x0
p(r) (xj ) = f (r) (xj ),
denota al polinomio de Taylor de primer orden de la función f en x0 . Puesto
que el lı́mite del polinomio de interpolación está bien definido, tiene sentido
definir el interpolante y la diferencia dividida en el caso de coalescencia de
nodos
�
[x0 , x0 ]f := lı́m [x0 , x1 ]f = f (x0 ).
r = 0, 1, . . . , m(xj ) − 1.
para todo xj ∈ {x0 , . . . , xn }.
Otra forma equivalente de plantear el problema de interpolación consiste
en introducir los funcionales de Hermite asociados al nodo xi
λi f = f (ri −1) (xi ),
T1 (f ; x0 )(x) = Lf (x0 ) + f � (x0 )(x − x0 ).
81
f (n) (x0 )
n!
f (x) − P(f ; x0 , . . . , xn )(x)
8. Interpolación de Hermite
x1 →x0
[x0 , . . . , xn ]f =
tiende al polinomio de Taylor Tn (f ; x0 ) cuando x1 , . . . , xn → 0.
Para n = 1, el Teorema del Valor Medio Generalizado se reduce al Teorema del valor medio de Lagrange
P(f ; x0 , x0 ) := T1 (f ; x0 ),
lı́m
x1 ,...,xn →x0
Teniendo en cuenta que p es un polinomio de grado n con coeficiente director
[x0 , . . . , xn ]f , obtenemos
donde
En virtud del Teorema del Valor Medio generalizado tenemos
ri = #{j ≤ i | xj = xi },
lo que permite obtener la siguiente formulación del problema de interpolación
de Hermite. Dados η0 , . . . , ηn , encontrar un polinomio de Pn tal que
λi p = ηi .
Teorema 8.1. El problema de interpolación de Hermite
λi p = η i ,
i = 0, . . . , n,
82
tiene solución única en Pn .
Demostración. Demostremos primero la unicidad. Si p1 , p2 son dos soluciones del problema de Hermite entonces p2 − p1 es un polinomio que se anula
en los puntos x0 , . . . , xn y xj es un cero de multiplicidad m(xj ). Por tanto,
el polinomio ωn+1 (x) := (x − x0 ) · · · (x − xn ) es un divisor de p2 (x) − p1 (x),
es decir
p2 (x) − p1 (x) = ωn+1 (x)q(x).
Como grad(p2 − p1 ) ≤ n y grad ωn+1 = n + 1, deducimos que q = 0 y p1 = p2 .
Para la existencia, consideremos la aplicación lineal
λ : p ∈ Pn �→ (λ0 p, . . . , λn p) ∈ Rn+1
Como los funcionales λi son lineales, queda definida una aplicación lineal
entre dos espacios vectoriales de la misma dimensión. Como el problema de
interpolación de Hermite tiene solución única, se deduce que la aplicación es
inyectiva. Como los espacios tienen la misma dimensión, se deduce que la
aplicación es biyectiva, es decir, dado un vector (η0 , . . . , ηn ) ∈ Rn+1 , existe
un único p ∈ Pn , tal que λp = (η0 , . . . , ηn ). De la definición se deduce que
p es el polinomio de interpolación de Hermite correspondiente al conjunto de
datos η0 , . . . , ηn .
Para poder demostrar la fórmula de Newton, necesitamos definir diferencias divididas en el caso de puntos coincidentes. Una posibilidad serı́a definir
diferencia dividida a través de la recurrencia y en el caso en que x0 = xn ,
definir
[x0 , x1 , . . . , xn−1 , xn ]f := lı́m
xn →x0
[x1 , . . . , xn−1 , xn ]f − [x0 , x1 , . . . , xn−1 ]f
.
xn − x0
La definición anterior no es demasiado útil en los casos en que algunos puntos
sean coincidentes y otros no y puede dar lugar a confusión. Por ese motivo
preferimos definir diferencia dividida como el coeficiente director del polinomio
de interpolación, definición que coincide con la anteriormente dada por la
Proposición 7.4 (a).
Definición 8.2. Sea x0 , . . . , xn ∈ R y f una función suficientemente diferenciable (f debe ser de clase C m(xi )−1 en un entorno abierto de cada punto xi ,
i = 0, . . . , n). La diferencia dividida de f de orden n en los puntos x0 , . . . , xn ,
[x0 , . . . , xn ]f
83
se define como el coeficiente en xn de P(f ; x0 , . . . , xn ), el polinomio de interpolación de Hermite de f en x0 , . . . , xn .
De la definición se deduce que la diferencia dividida no depende del orden
de sus argumentos.
Teorema 8.3 (Fórmula de Newton). Sea x0 , . . . , xn ∈ R y f una función
suficientemente diferenciable, entonces
P(f ; x0 , . . . , xn )(x) =
n
�
i=0
[x0 , . . . , xi ]f · ωi (x),
donde ω0 (x) = 1 y ωi (x) = (x − x0 ) · · · (x − xi−1 ), i = 1, . . . , n
Demostración. La demostración se realiza por inducción. Si n = 0 es
evidente. Para n > 0, notemos que
p(x) := P(f ; x0 , . . . , xn−1 , xn )(x) − P(f ; x0 , . . . , xn−1 )(x)
es un polinomio de grado menor o igual que n que tiene en xi un cero de
multiplicidad m(xi ). Por tanto
p(x) = a(x − x0 ) · · · (x − xn−1 ),
siendo a el coeficiente director del polinomio p, que coincide con el coeficiente director de P(f ; x0 , . . . , xn ). Por definición de diferencia dividida,
a = [x0 , . . . , xn ]f , de donde se deduce la fórmula
P(f ; x0 , . . . , xn−1 , xn )(x) = P(f ; x0 , . . . , xn−1 )(x)
+ [x0 , . . . , xn ]f · (x − x0 ) · · · (x − xn−1 ).
La recurrencia de Aitken-Neville se generaliza inmediatamente
Teorema 8.4 (Fórmula de Aitken-Neville).
(xn − x0 )P(f ; x0 , . . . , xn )(x) = (xn − x)P(f ; x0 , . . . , xn−1 )(x)
+ (x − x0 )P(f ; x1 , . . . , xn )(x).
84
Demostración. Demostraremos que el polinomio de grado ≤ n
p(x) := (xn − x0 )P(f ; x0 , . . . , xn )(x) − (xn − x)P(f ; x0 , . . . , xn−1 )(x)
− (x − x0 )P(f ; x1 , . . . , xn )(x)
es idénticamente nulo. Definiendo
p1 = P(f ; x0 , . . . , xn ) − P(f ; x0 , . . . , xn−1 ),
p2 = P(f ; x0 , . . . , xn ) − P(f ; x1 , . . . , xn ),
tenemos que p(x) = (xn − x)p1 (x) + (x − x0 )p2 (x). En primer lugar tenemos
que p1 es un polinomio con ceros en x0 , . . . , xn−1 y las multiplicidades de
dichos ceros son, al menos, el número de veces que se encuentran repetidos
en la sucesión x0 , . . . , xn−1 , ası́ que
p1 (x) = [x0 , . . . , xn ]f · (x − x0 ) · · · (x − xn−1 ).
Demostración. (a) Como el polinomio de interpolación de Hermite, coincide
con el n-ésimo polinomio de Taylor, la diferencia dividida en n + 1 puntos
coincidentes debe ser f (n) (x0 )/n!. (b) Se obtiene inmediatamente tomando
coeficientes directores en la fórmula de Aitken-Neville.
Una generalización del Teorema del Valor Medio de Lagrange y del teorema de Rolle generalizado es el siguiente resultado que muestra que la derivada
de un polinomio de interpolación interpola a la función derivada en puntos
intermedios
Teorema 8.6. Sea I intervalo y x0 ≤ · · · ≤ xn ∈ I con xi < xi+k+1 , i =
0, . . . , n − k y sea f ∈ C(I) y derivable en Int(I) tal que f es de clase C k en
un entorno de cada punto xi , i = 0, . . . , n. Entonces existen ξ0 ≤ · · · ≤ ξn−1
con ξi < ξi+k , i = 0, . . . , n − k − 1, tales que
d
P(f ; x0 , . . . , xn )(x) = P(f � ; ξ0 , . . . , ξn−1 )(x)
dx
Análogamente, se muestra que
p2 (x) = [x0 , . . . , xn ]f · (x − x1 ) · · · (x − xn ).
Por tanto
p(x) = (−[x0 , . . . , xn ]f + [x0 , . . . , xn ]f )(x − x0 ) · · · (x − xn ) = 0.
La fórmula de recurrencia de Aitken-Neville hace posible el cálculo de las
diferencias divididas por recurrencia. Sin pérdida de generalidad, podemos
reordenar los argumentos para tener x0 ≤ · · · ≤ xn y entonces sólo pueden
presentarse dos casos. O bien x0 = · · · = xn o bien x0 < xn .
Proposición 8.5 (Fórmulas para las diferencias divididas).
(a) Si x0 = · · · = xn , entonces
[n+1]
[x0 , . . . , xn ]f = [x0
]f =
f (n) (x0 )
n!
(b) Si x0 �= xn , entonces
[x0 , x1 , . . . , xn−1 , xn ]f =
[x1 , . . . , xn−1 , xn ]f − [x0 , x1 , . . . , xn−1 ]f
.
xn − x0
85
y
[x0 , . . . , xn ]f =
[ξ0 , . . . , ξn−1 ]f �
.
n
Demostración. Sea E(x) := f (x) − P(f ; x0 , . . . , xn )(x), el error de interpolación. La función E(x) tiene en cada punto xi un cero de multiplicidad
mayor o igual que m(xi ) = #{j | xj = xi } ≤ k.
Sea i ∈ {0, . . . , n − 1} tal que xi < xi+1 . Por el Teorema de Rolle, existe
ξi ∈ (xi , xi+1 ) tal que e� (ξi ) = 0. Para los ı́ndices restantes i ∈ {0, . . . , n − 1}
tal que tales que xi = xi+1 , tomemos ξi = xi .
La función E � (x) tiene en los puntos xi = xi+1 un cero de multiplicidad
mayor o igual que m(xi ) − 1 ≤ k − 1, que corresponde al número de veces que
ξi se encuentra en la sucesión ξ0 ≤ · · · ≤ ξn−1 . Como ningún punto puede
aparecer más de k veces en la sucesión ξ0 ≤ · · · ≤ ξn−1 , tenemos que ξi < ξi+k
para todo i = 0, . . . , n − k − 1.
d
El polinomio dx
P(f ; x0 , . . . , xn )(x) coincide con la función f � (x) en los
nodos ξ0 ≤ · · · ≤ ξn , y por definición de polinomio de interpolación de Hermite, debe coincidir con el polinomio de interpolación de f � en ξ0 , . . . , ξn−1
d
P(f ; x0 , . . . , xn )(x) = P(f � ; ξ0 , . . . , ξn−1 )(x).
dx
86
Tomando coeficientes en xn−1 en la fórmula anterior deducimos la relación
entre las diferencias divididas de f en x0 , . . . , xn y de f � en ξ1 , . . . , ξn−1 .
Aplicando reiteradamente el resultado anterior vemos que si f ∈ C k (I)
y x0 ≤ · · · ≤ xn ∈ I con xi < xi+k+1 , i = 0, . . . , n − k, entonces existen
ξ0 < · · · < ξn−k en I tales que
[ξ0 , . . . ξn−k ]f (k)
[x0 , . . . , xn ]f =
.
n(n − 1) · · · (n − k + 1)
Demostración. Por inducción sobre n. Si n = 0, entonces tenemos
[x0 ](f g) = f (x0 )g(x0 ) = [x0 ]f [x0 ]g.
Si x0 = · · · = xn entonces
1 dn ��
[n+1]
[x0 , . . . , xn ](f g) = [x0
](f g) =
(f (x)g(x))
�
n! dxn x=x0
�
�
n
n
�
1 � n (j)
f (j) (x0 ) g (n−j) (x0 )
=
f (x0 )g (n−j) (x0 ) =
n! j=0 j
j!
(n − j)!
j=0
Tomando k = n se deduce el siguiente resultado del que ofrecemos una demostración a través del Teorema de Rolle generalizado.
Teorema 8.7 (Teorema del Valor Medio Generalizado). Si f ∈ C n (I),
I intervalo, x0 , . . . , xn ∈ I, entonces existe ξ ∈ [x0 , . . . , xn ] tal que
=
f (n) (ξ)
[x0 , . . . , xn ]f =
.
n!
Demostración. La función f − P(f ; x0 , . . . , xn ) tiene n + 1 ceros contando
multiplicidades en el subintervalo [x0 , . . . , xn ]. Aplicando el Teorema de Rolle
generalizado (Proposición 3.6), se deduce que existe ξ ∈ [x0 , . . . , xn ] tal que
la derivada n-ésima de f − P(f ; x0 , . . . , xn ) en ξ se anula, es decir, f (n) (ξ) −
n![x0 , . . . , xn ](ξ) = 0.
La Proposición 8.5 (a) muestra que la diferencia dividida de orden n es
en cierto sentido una generalización de la derivada n-ésima. el Teorema del
Valor Medio Generalizado muestra una relación entre las diferencias divididas
de orden n y las derivadas de orden n. La fórmula de Leibniz para la derivada
n-ésima de una función
n � �
�
dn
n (j)
(f
(x)g(x))
=
f (x)g (n−j) (x),
dxn
j
j=0
admite una generalización para diferencias divididas.
Proposición 8.8 (Fórmula de Leibniz). Si f, g son suficientemente diferenciables, x0 , . . . , xn ∈ I, entonces
[x0 , . . . , xn ](f g) =
n
�
[x0 , . . . , xj ]f [xj , . . . , xn ]g.
j=0
87
n
�
j=0
[j+1]
[x0
[n−j+1]
]f [x0
]g =
n
�
[x0 , . . . , xj ]f [xj , . . . , xn ]g.
j=0
Para el caso general supondremos que x0 �= xn y que la fórmula de
Leibniz es válida para diferencias divididas de orden menor que n. Por la
Proposición 8.5 (b), tenemos
[x1 , . . . , xn ](f g) − [x0 , . . . , xn−1 ](f g)
[x0 , . . . , xn ](f g) =
xn − x0
�n
�n
[x
,
.
.
.
,
x
]f
[x
,
.
.
.
,
x
]g
− j=1 [x0 , . . . , xj−1 ]f [xj−1 , . . . , xn−1 ]g
1
j
j
n
j=1
=
xn − x0
n
�
1
=
([x1 , . . . , xj ]f − [x0 , . . . , xj−1 ]f ) [xj , . . . , xn ]g
xn − x0 j=1
+
=
+
n
�
1
[x0 , . . . , xj−1 ]f ([xj , . . . , xn ]g − [xj−1 , . . . , xn−1 ]g)
xn − x0 j=1
n
�
1
(xj − x0 )[x0 , . . . , xj ]f [xj , . . . , xn ]g
xn − x0 j=1
n
�
1
(xn − xj−1 )[x0 , . . . , xj−1 ]f [xj−1 , . . . , xn ]g
xn − x0 j=1
88
Los términos de esta última expresión pueden reorganizarse, obteniéndose
[x0 , . . . , xn ](f g) = [x0 , . . . , xn ]f [x0 ]g
+
1
xn − x0
1
+
xn − x0
n−1
�
j=1
n−1
�
j=1
voln (Sn ) =
(xj − x0 )[x0 , . . . , xj ]f [xj , . . . , xn ]g
(xn − xj )[x0 , . . . , xj ]f [xj , . . . , xn ]g
+ [x0 ]f [x0 , . . . , xn ]g =
n
�
donde
�
Sn
dt1 · · · dtn =
sj =
[x0 , . . . , xj ]f [xj , . . . , xn ]g.
Recordemos que un sı́mplex n-dimensional es la cápsula convexa de n + 1
puntos independientes afines, es decir
i=0
ti Pi | t0 , . . . , tn ≥ 0,
n
�
i=0
�
ti = 1 .
Los puntos P0 , . . . , Pn reciben el nombre de vértices del simplex. Si elegimos
como vértices P0 = 0 el origen y Pi = ei = (0, . . . , 0, 1, 0, . . . , 0) el i-ésimo
vector canónico se obtiene el sı́mplex estándar en Rn
Sn = {(t1 , . . . , tn ) | t1 , . . . , tn ≥ 0,
n
�
i=0
ti ≤ 1}.
Observemos que todo simplex n-dimensional es la imagen afı́n del simplex
estándar a través del cambio de variables afı́n
(t1 , . . . , tn ) ∈ Rn �→ P0 +
0
�
1−t1
···
0
�
1−(t1 +···+tn−1 )
dtn · · · dt1 .
0
n
�
ti ,
j = 1, . . . , n,
i=j
cuyo cambio inverso es
Las diferencias divididas admiten una representación integral llamada
fórmula de Hermite-Genocchi. Para obtener dicha representación integral
necesitamos considerar integrales simpliciales, es decir sobre un simplex.
n
��
1
Para calcular este volumen utilizaremos otra representación del sı́mplex estándar a través del cambio de variables
j=0
[P0 , . . . , Pn ] :=
�
n
�
i=1
t1 (Pi − P0 ).
ti = sj − sj+1 ,
j = 1, . . . , n − 1,
tn = sn .
Entonces tenemos
Sn = {(s1 − s2 , . . . , sn−1 − sn , sn ) | 0 ≤ sn ≤ sn−1 ≤ · · · ≤ s1 ≤ 1}
El cambio de variables es lineal con determinante 1, lo que implica que no se
produce un cambio de volumen, es decir,
voln Sn = voln {(s1 , s2 , . . . , sn ) | 0 ≤ sn ≤ sn−1 ≤ · · · ≤ s1 ≤ 1},
lo que permite calcular por recurrencia el volumen
voln Sn =
�
1
0
�
s1
0
···
�
sn−1
0
dsn · · · ds1 .
Para ello introducimos la función auxiliar
� s � s1
� sn−1
vn (s) :=
···
dsn · · · ds1 ,
0
0
0
voln [P0 , P1 , . . . , Pn ] = det(P1 − P0 , . . . , Pn − P0 ) voln (Sn ),
de modo que voln Sn = vn (1). Veamos por inducción que vn (s) = sn /n!. Si
n = 1 tenemos
� s
v1 (s) =
ds1 = s.
89
90
Por tanto, el volumen n-dimensional de un simplex se deduce del volumen
n-dimensional del sı́mplex estándar
0
Supongamos que la fórmula es válida para n − 1, entonces
vn (s) =
�
s
0
···
�
sn−1
0
ds2 · · · dsn =
�
s
vn−1 (s1 )ds1 =
0
De ahı́ deducimos que
voln Sn = vn (1) =
�
s
0
sn−1
sn
1
ds1 =
.
(n − 1)!
n!
1
.
n!
Nota. El hipercubo [0, 1]n puede dividirse en n! simplices
{(s1 , s2 , . . . , sn ) | 0 ≤ sσ(n) ≤ sσ(n−1) ≤ · · · ≤ sσ(1) ≤ 1},
σ ∈ Σn ,
donde Σn denota el grupo simétrico de todas las permutaciones de las cifras
{1, . . . , n}. Por tanto la suma de los volúmenes de todos esos sı́mplices debe
ser igual al volumen del hipercubo [0, 1]n . Observemos que la permutación
de coordenadas Tσ (x1 , . . . , xn ) = (xσ(1) , . . . , xσ(n) ) es un movimiento euclı́deo
(directo si y solamente si la permutación utilizada es par). Por tanto, todos
estos sı́mplices tienen que tener el mismo volumen, que coincide con vol Sn ,
el volumen del sı́mplex estándar. Esta observación nos permite deducir que
el volumen del sı́mplex estándar es voln Sn = voln [0, 1]n /n! = 1/n!
La integral simplicial de una función g integrable en [x0 , . . . , xn ] se define
mediante
�
�
g :=
g(x0 + t1 (x1 − x0 ) + · · · + tn (xn − x0 ))dt1 · · · dtn .
[x0 ,...,xn ]
(t1 ,...,tn )∈Sn
Con frecuencia se introduce la variable auxiliar t0 = 1 − (t1 + · · · + tn ) para
obtener una fórmula simétrica
�
�
g=
g(t0 x0 + t1 x1 + · · · + tn xn )dt1 · · · dtn ,
t0 ,...,tn ≥0,t0 +···+tn =1
[x0 ,...,xn ]
que permite deducir que la integral simplicial no depende del orden en que
aparecen los puntos. La integral simplicial admite diferentes expresiones como
integrales reiteradas
�
1
0
�
1−t1
0
···
�
�n
Si aplicamos el cambio sj = i=j ti , j = 1, . . . , n, entonces la integral simplicial se transforma en
�
g(x0 + s1 (x1 − x0 ) + · · · + sn (xn − xn−1 ))ds1 · · · dsn ,
0≤sn ≤···≤s1 ≤0
de donde deducimos otra expresión de dicha integral en términos de integrales
reiteradas
� 1 � s1
� sn−1
···
g(x0 + s1 (x1 − x0 ) + · · · + sn (xn − xn−1 ))dsn · · · ds1 .
0
0
0
Proposición 8.9 (Fórmula de Hermite-Genocchi). Si x0 , . . . , xn ∈ I y
f ∈ C n (I), entonces
[x0 , . . . , xn ]f =
0
g(x0 + t1 (x1 − x0 ) + · · · + tn (xn − x0 ))dtn · · · dt1 .
91
f (n)
[x0 ,...,xn ]
Demostración. Por inducción sobre n. Si n = 1 tenemos para x0 �= x1
�
�
f =
[x0 ,x1 ]
=
�
1
0
1
f ((1 − t)x0 + tx1 )dt =
x1 − x0
�
f (x1 ) − f (x0 )
= [x0 , x1 ]f.
x1 − x0
�
x1
f � (s)ds
x0
Si x0 = x1 tenemos
�
f� =
[x0 ,x0 ]
�
1
f � (x0 )dt = f � (x0 )
0
�
1
dt = f � (x0 ) = [x0 , x0 ]f.
0
Supongamos cierta la fórmula para diferencias divididdas de orden n − 1 y
veamos que se verifica para diferencias divididas de orden n. Si x0 = · · · = xn ,
entonces
�
�
f (n) =
f (n) (x0 )dt1 · · · dtn = f (n) (x0 ) voln (Sn )
[x0 ,...,xn ]
1−(t1 +···+tn−1 )
�
(t1 ,...tn )∈Sn
f (n) (x0 )
= [x0 , . . . , xn ]f.
=
n!
92
Si hay dos puntos distintos, podemos suponer sin pérdida de generalidad que
xn−1 �= xn . Entonces tenemos
[x0 , . . . , xn−2 , xn ]f − [x0 , . . . , xn−2 , xn−1 ]f
=
xn − xn−1
[x0 , . . . , xn ]f =
�
1
0
�
s1
···
0
�
sn−2
[xn−1 , xn ]g(·; s1 , . . . , sn−1 )dsn−1 dsn−2 · · · ds1 ,
0
donde
n−2
�
�
�
g(x; s1 , . . . , sn−1 ) = f (n−1) x0 +
si (xi − xi−1 ) + sn−1 (x − xn−2 ) .
Diferencias divididas como funcionales
Sea I un intervalo, x0 , x1 , · · · , xn ∈ I, m = máxni=0 m(xi ), m(x) = #{i | xi =
x}. Los funcionales de Hermite
λi : f ∈ C m−1 (I) �→ f (ri −1) (xi ) ∈ R,
ri := #{j ≤ i | xj = xi }
son funcionales lineales y continuos. Como el problema de interpolación de
Hermite siempre tiene solución única, sabemos que existen funciones básicas
de Hermite (también llamados polinomios de Lagrange), lj ∈ Pn , j = 0, . . . , n,
determinados por la propiedad
λi lj = δij ,
i, j = 0, . . . , n.
i=1
Aplicando la fórmula de Hermite-Genocchi para n = 1, y llamando sn = tsn−1
tenemos
[xn−1 , xn ]g(·; s1 , . . . , sn )
� 1
n−1
�
�
�
= sn−1
f (n) x0 +
si (xi − xi−1 ) + tsn−1 (xn − xn−1 ) dt
0
=
�
sn−1
i=1
�
f (n) x0 +
0
n−1
�
i=1
�
si (xi − xi−1 ) + sn (xn − xn−1 ) dsn .
Una vez hallados los polinomios básicos lj , j = 0, . . . , n, la solución del problema de Hermite puede escribirse en la forma
P(f ; x0 , . . . , xn ) =
n
�
j=0
λj f · lj ,
que generaliza a la fórmula de Lagrange. Como consecuencia de la existencia
y unicidad el polinomio de interpolación de Hermite (Teorema 8.1), se deduce
que las funciones lj , j = 0, . . . , n forman una base de Pn . Otra consecuencia
interesante es la independencia del conjunto de funcionales λj , j = 0, . . . , n,
que generan un espacio vectorial
Por tanto [x0 , . . . , xn ]f admite la expresión
�
1
0
�
s1
0
···
�
sn−2
0
�
sn−1
0
�
f (n) x0 +
n
�
i=1
�
si (xi − xi−1 )) dsn dsn−1 · · · ds1 ,
L(x0 , . . . , xn ) := �λi | i = 0, . . . , n�,
de funcionales lineales.
La fórmula de Newton
lo que muestra que
[x0 , . . . , xn ]f =
�
93
P(f ; x0 , . . . , xn ) =
f (n) .
[x0 ,...,xn ]
expresa la
de la base
diferencias
Newton se
n
�
i=0
[x0 , . . . , xi ]f · ωi (x),
solución del problema de interpolación de Hermite en términos
de polinomios ωi (x) = (x − x0 ) · · · (x − xi−1 ), i = 0 . . . , n, y las
divididas. Tengamos en cuenta que las funciones de la base de
anulan cada vez en más puntos. Aplicando a la base de Newton,
94
la fórmula de Lagrange deducimos que bases de Lagrange y de Newton están
relacionadas mediante un cambio triangular
ωi (x) =
n
�
j=i
λj ωi · lj (x),
Esto significa que los funcionales diferencia dividida forman una base de
L(x0 , . . . , xn ).
Dado que en un cambio triangular, los coeficientes diagonales son no
nulos, deducimos que el coeficiente de λn en la expresión
i = 0, . . . , n.
El cambio inverso se obtiene al aplicar a la base de Lagrange, la fórmula de
Newton
n
�
lj (x) =
[x0 , . . . , xi ]lj · ωi (x), j = 0, . . . , n.
i=j
[x0 , . . . , xn ] =
n
�
j=0
[x0 , . . . , xn ]lj · λj ,
i = 0, . . . , n,
debe ser no nulo, es decir
Si aplicamos a la fórmula de Lagrange este cambio de base, obtenemos
n
�
j=0
λi f · li (x) =
=
n
�
λi f
j=0
n
�
i=0
n
��
i=j
�
i
�
j=0
[x0 , . . . , xi ]lj · ωi (x)
[x0 , . . . , xn ]ln �= 0.
�
Como los funcionales diferencia dividida no dependen del orden de sus argumentos, se deduce que todos los coeficientes correspondientes a derivaciones
de orden máximo son no nulos y los polinomios básicos de Lagrange correspondientes son de grado máximo.
�
[x0 , . . . , xi ]lj · λi f ωi (x),
y comparando esta fórmula con la fórmula de Newton deducimos que
[x0 , . . . , xi ] =
i
�
j=0
9. Funciones spline
[x0 , . . . , xi ]lj · λj ,
i = 0, . . . , n,
es decir, las diferencias divididas pueden expresarse como combinación lineal
de los funcionales de Hermite, de donde [x0 , . . . , xi ] ∈ L(x0 , . . . , xn ).
Si aplicamos a la fórmula de Newton el cambio de base, obtenemos la
expresión
n
�
[x0 , . . . , xi ]f ωi (x) =
i=0
n
�
[x0 , . . . , xi ]f
i=0
=
λj (ωi )lj (x)
j=i
j
n
�
��
j=0
n
��
i=0
�
�
λj ωi · [x0 , . . . , xi ]f lj (x),
y comparando con la fórmula de Lagrange, obtenemos la expresión de los
funcionales de Hermite en términos de las diferencias divididas
λj =
j
�
i=0
λj ωi · [x0 , . . . , xi ],
95
j = 0, . . . , n.
Puesto que la aritmética más elemental de los ordenadores permite realizar
sumas, restas, multiplicaciones, divisiones y tomar decisiones, un conjunto
natural de funciones fácilmente definibles con instrucciones básicas de los
microprocesadores son las funciones racionales a trozos. Dentro de esta clase
las funciones polinómicas a trozos juegan un importante papel debido a sus
propiedades.
Como punto de partida recordaremos que las funciones polinómicas de
grado menor o igual que k sobre un intervalo I de interior no vacı́o forman
un espacio vectorial de dimensión k (independientemente del dominio de definición). Una base de dicho espacio es la base de potencias centradas en un
punto t ∈ R,
(x − t)i /i!, i = 0, . . . , k.
�n
En efecto, supongamos que el polinomio p(x) := i=0 ci (x − t)i /i! = 0 para
todo x ∈ I. Como todo polinomio no nulo tiene un número finito de ceros,
deducimos que p(x) debe coincidir con el polinomio nulo, luego p(x) = 0 para
todo x ∈ R. Teniendo en cuenta que ci = p(i) (t) = 0, i = 0, . . . , k, se deduce
96
la independencia de las funciones (x − t)/i!, i = 0, . . . , k. Luego (x − t)i /i!,
i = 0, . . . , k, forma una base de
Pk (I) = {p : I → R | p(x) =
k
�
i=0
ci xi , x ∈ I}
y dim Pk (I) = k + 1.
Comenzaremos describiendo algunos espacios clásicos de funciones polinómicas a trozos. En primer lugar observemos que dos polinomios de grado
k pueden acoplarse con suavidad C ν−1 a la izquierda y derecha de un nudo
interior t con ν ≤ k + 1. En principio, debemos considerar los polinomios
p, q ∈ Pk a cada lado del nudo
�
p(x), si x < t,
s(x) :=
q(x), si x ≥ t,
podemos escribir
s(x) = p(x) +
i=ν
i = 0, . . . , ν − 1.
Por convenio consideraremos que un enlace correspondiente a ν = 0 no conlleva ninguna condición por lo que la función spline puede ser discontinua. Con
objeto de simplificar nuestro problema, consideramos la función
�
0,
si x < t,
s(x) − p(x) :=
d(x), si x ≥ t,
siendo d(x) = q(x) − p(x). Las condiciones de empalme equivalen a decir que
el polinomio d(x) tiene en t una raı́z de multiplicidad ν, de donde se deduce
que (x − t)ν divide a d(x), ası́ que
k
�
(x − t)i
d(x) =
αi
.
i!
i=ν
Introduciendo las potencias truncadas
�
0,
(x − t)i+ :=
(x − t)i ,
97
si x < t,
si x ≥ t,
αi
(x − t)i+
.
i!
La potencia truncada de grado 0, es la función discontinua
(x − t)0+ :=
�
0,
1,
si x < t,
si x ≥ t.
Se trata de la función caracterı́stica del intervalo [t, +∞), también expresable
en términos de la función escalón de Heaviside H(x) := x0+ ,
(x − t)0+ = 1[t,+∞) = H(x − t)
Por tanto, toda función spline de grado k y suavidad C ν−1 con un solo nudo
puede expresarse en la forma
junto con las condiciones
p(i) (t) = q (i) (t),
k
�
s(x) =
k
�
i=0
k
ci
(x − a)i � (x − t)i+
+
αi
.
i!
i!
i=ν
Esto muestra que (x − a)i /i!, i = 0, . . . , k, (x − t)i+ /i!, i = ν, . . . , k forman un
sistema generador del espacio de funciones spline de grado k y suavidad C ν−1
con un solo nudo, lo que permite deducir que k + 1 + k + 1 − ν = 2k + 2 − ν
es una cota superior para la dimensión de este espacio.
Para deducir la independencia de estas funciones sobre cualquier intervalo
I que contenga a t en su interior, supongamos que la función spline
k
�
i=0
k
ci
(x − a)i � (x − t)i+
+
αi
,
i!
i!
i=ν
coincide con la función nula. Consideremos primero el caso en que x < t. De
la definición de potencia truncada, se deduce que (x−t)i+ = 0 para todo x < t.
Por tanto, a la izquierda de t, la función spline coincide con el polinomio
k
�
i=0
ci
(x − a)i
.
i!
98
Como (x − a)i /i!, i = 0, . . . , k, son funciones linealmente independientes de
Pk ((−∞, t) ∩ I), se deduce que c0 = . . . = ck = 0. Teniendo esto en cuenta,
analicemos ahora la expresión a la derecha del nudo t. De la definición de
potencia truncada, se deduce que (x − t)i+ = (x − t)i para todo x > t. Por
tanto la función spline coincide con el polinomio
k
�
(x − t)i
αi
i!
i=ν
y debe anularse en el intervalo (t, +∞)∩I. Como (x−t)i /i!, i = ν, ν +1, . . . , k,
son polinomios linealmente independientes de Pk ((t, +∞) ∩ I), deducimos que
αν = · · · = αk = 0, lo que prueba la independencia de las funciones. Por
tanto, hemos encontrado una base (la llamada base de potencias truncadas)
y la dimensión del espacio 2k + 2 − ν.
Consideremos, más generalmente, una sucesión de nudos t = (t1 , . . . , tm )
y asociado a cada nudo una suavidad de multiplicidad ν = (ν1 , . . . , νm ). Definamos el espacio de splines de grado k, con nudos t y suavidad ν como el
conjunto de funciones
Pk,t,ν := {s: s|(−∞,t1 ) ∈ Pk , s|[tj ,tj+1 ) ∈ Pk , j = 1, . . . , m − 1,
s|[tm ,+∞) ∈ Pk , s ∈ C νj −1 en un entorno de tj , j = 1, . . . , m}.
En la definición se observa que las funciones spline son siempre continuas
por la derecha. Se trata de un convenio que se adopta para poder tener
definida la función spline en todos los puntos incluyendo los nudos en los
que la función spline es discontinua. Este convenio implica ciertos reajustes
al trabajar con funciones spline. Por ejemplo, si s(x) es una función spline
continua con nudos t1 < · · · < tm , entonces s(−x) es una función spline con
nudos −tm < · · · < −t1 . Pero si s(x) es discontinua, entonces s(−x) no es
una función spline. Podemos redefinir los valores en los nudos en los que
s(−x) es discontinua para imponer la continuidad por la derecha, obteniendo
una función spline que coincide en todos los puntos con s(−x) excepto en los
puntos de discontinuidad.
También es frecuente considerar los espacios de splines en ciertos subintervalos I de la recta real
Pk,t,ν (I) := {s|I : s ∈ Pk,t,ν },
siendo I un intervalo tal que todos los nudos se encuentran en su interior, es
decir ti ∈ Int(I).
99
Teorema 9.1. Sea I un intervalo con interior no vacı́o, sean t1 < . . . < tm en
Int I y νi , i = 1, . . . , m, enteros no negativos tales que νi ≤ k +1, i = 1, . . . , m.
Sea t0 ∈ I cualquiera. Entonces el espacio Pk,t,ν (I) tiene una base formada
por las funciones
(x − t1 )k+
(x − t0 )k (x − t1 )ν+1
,
,...,
,...,
k!
ν1 !
k!
(x − tm )ν+m
(x − tm )k+
,...,
,
νm !
k!
1, x − t0 , . . . ,
(9.1)
y su dimensión es
dim Pk,t,ν (I) = k +1+
m
�
j=1
(k +1−νj ) = (m+1)(k +1)−(ν1 +· · ·+νm ). (9.2)
Demostración. Por inducción. En el caso de que tengamos m = 0, tenemos
el espacio de polinomios Pk en un intervalo I con interior no vacı́o. Sabemos
que si t0 ∈ I, entonces una base de este espacio es 1, x−t0 , (x−t0 )2 /2!, . . . , (x−
t0 )k /k!
Supongamos cierta la propiedad para m − 1 nudos. Dado s ∈ Pk,t,ν (I),
existe una función spline ŝ ∈ Pk,t̂,ν̂ (I), basada en la sucesión de nudos t̂ =
(t1 , . . . , tm−1 ) con multiplicidades correspondientes ν̂ = (ν1 , . . . , νm−1 ) tal que
s(x) − ŝ(x) = 0,
x ∈ I,
x < tm .
Se deduce que
k
�
s(x) = ŝ(x) +
i=νm
αi,m
(x − tm )i+
,
i!
Aplicando la hipótesis de inducción vemos que (9.1) es un sistema generador.
Para la independencia, considerar una combinación lineal de las funciones
(9.1) que sea idénticamente nula en el intervalo I, es decir
k
�
i=0
m
ci
k
(x − tj )i+
(x − t0 )i � �
+
αi,j
= 0,
i!
i!
j=1 i=ν
j
100
x ∈ I.
Definamos
k
�
ŝ(x) :=
ci
i=0
La prescripción de nudos y suavidad es algo engorrosa y se prefiere describir el espacio a través de la sucesión extendida de nudos. Si un nudo tiene
asociada la suavidad máxima C k es como si no fuera un nudo y tiene multiplicidad cero. Si el nudo tiene asociada suavidad de clase C k−1 consideramos
que el nudo es simple. La presencia de un nudo con suavidad asociada C k−2
puede verse como el caso lı́mite de espacios de splines en los que dos nudos
móviles tienden a coincidir (coalescencia) y podemos considerar el nudo doble.
Para una sucesión extendida de nudos
m−1
k
� �
(x − tj )i+
(x − t0 )i
+
αi,j
.
i!
i!
j=1 i=ν
j
Entonces tenemos
ŝ(x) +
k
�
αi,m
i=νm
(x − tm )i+
= 0,
i!
x ∈ I.
(9.3)
Considerando los x ∈ Iˆ = I ∩ (−∞, tm ), deducimos de (9.3) que ŝ|Iˆ = 0.
Por hipótesis de inducción, los coeficientes respecto a la base de potencias
ˆ son nulos, es decir
truncadas en el espacio Pk,t̂,ν̂ (I)
ci = 0,
i = 0, . . . , k,
αi,j = 0,
i = νj , . . . , k, j = 1, . . . , m − 1,
τ0 ≤ τ1 ≤ · · · ≤ τp ,
exigimos la condición
lo que implica que ningún nudo de la sucesión puede estar repetido más de
k + 1 veces. Sea t1 < . . . < tm tal que
de donde se deduce que la función ŝ es idénticamente nula en I. Por lo tanto
la fórmula (9.3) se reduce a
k
�
i=νm
(x − tm )i+
αi,m
= 0,
i!
x ∈ I.
Considerando ahora los x ∈ I ∩ [tm , +∞), tenemos
k
�
αi,m
i=νm
(x − tm )i
= 0,
i!
En el caso de funciones spline de máxima suavidad νi = k, i = 1, . . . , m,
en nudos t1 < · · · < tm , la dimensión es k + m + 1 y la base de potencias
truncadas (tomando t0 = 0) se reduce a
(x − tm )k+
xk (x − t1 )k+ (x − t2 )k+
,
,
,...,
.
k!
k!
k!
k!
101
{t1 , . . . , tm } = {τi | i = 0, . . . , p},
Llamamos multiplicidad del nudo ti al número de veces que aparece en la
sucesión extendida de nudos
m(tj ) := #{i | τi = tj }.
Definamos
Sk (τ0 , . . . , τp ) := Pk,t,ν
x ∈ I ∩ (tm , +∞).
Como las funciones (x − tm )i /i! son linealmente independientes sobre I ∩
[tm , +∞), se tiene que αi,m = 0, i = νm , . . . , k. Por tanto, las funciones (9.1)
son linealmente independientes.
1, x, . . . ,
para todo i ∈ {0, . . . , p − k − 1}.
τi < τi+k+1
Un nudo de multiplicidad m(tj ) corresponde a una suavidad C νj −1 con
νj = k + 1 − m(tj ). Ası́ que
p+1=
m
�
m(tj ) =
j=1
m
�
j=1
(k + 1 − νj ) = dim Pk,t,ν − (k + 1),
de donde deducimos que
dim Sk (τ0 , . . . , τp ) = p + k + 2,
es decir la dimensión del espacio de splines es igual al número de nudos más
la dimensión del espacio de polinomios Pk .
102
Como el número de potencias truncadas (x − tj )i+ , i = νj , . . . , k, j =
1, . . . , m, de la base (9.1) coincide con el número de nudos, podemos asociar
a cada nudo τi un elemento de la base de potencias truncadas. Haciendo
i
corresponder a cada nudo τi , la potencia truncada (x − τi )k+1−r
, con ri :=
+
#{j ≤ i : τj = τi } podemos expresar cualquier función spline en la forma
p
k
�
i
xi � (x − τi )k+1−r
+
s(x) =
ci +
αi
.
i!
(k + 1 − ri )!
i=0
i=0
Sk0 (τ0 , . . . , τp ) := {s ∈ Sk (τ0 , . . . , τp ) : s|(−∞,τ0 ) = 0, s|(τp ,+∞) = 0}.
Observemos que toda función spline soportada localmente s puede expresarse
como combinación de potencias truncadas
ri := #{j ≤ i | τj = τi },
i = 0, . . . , p.
(a) El espacio L(τ0 , . . . , τp ) tiene dimensión p + 1 y los funcionales diferencia
dividida
[τ0 , . . . , τi ], i = 0, . . . , p,
Lk (τ0 , . . . , τp ) := {λ ∈ L(τ0 , . . . , τp ) | λ[p] = 0, ∀p ∈ Pk },
es no nulo si si y sólo si p ≥ k +1, en cuyo caso dim Lk (τ0 , . . . , τp ) = p−k,
y los funcionales diferencia dividida
[τ0 , . . . , τi ],
i = k + 1, . . . , p.
es una base de Lk (τ0 , . . . , τp ).
(c) Si τi−k−1 < τi , i = k + 1, . . . , p, entonces
p
�
i
(x − τi )k+1−r
+
s(x) =
αi
,
(k + 1 − ri )!
i=0
(10.1)
siendo ri = #{j ≤ i : τj = τi }, i = 0, . . . , p. Notemos que al evaluar la función
spline s en x > τp debe coincidir con el polinomio nulo, es decir
i=0
dri −1 f
(τi ),
dri −1 x
forman una base de L(τ0 , . . . , τp ).
Una cuestión interesante que surge en la teorı́a de funciones spline es la
existencia de funciones de soporte compacto, y a ser posible tan pequeño como
se pueda. Definamos el espacio de funciones spline con soporte compacto como
αi
λi [f ] :=
(b) El subespacio
10. Soporte local y funciones B-spline
p
�
el espacio de funcionales lineales generado por los funcionales de Hermite
(x − τi )k+1−ri
= 0,
(k + 1 − ri )!
x ∈ R.
(10.2)
La fórmula (10.2) proporciona una condición necesaria y suficiente sobre los
coeficientes α0 , . . . , αp para que (10.1) sea una función de Sk0 (τ0 , . . . , τp ). Vamos a obtener una formulación equivalente de (10.2) como una condición sobre
funcionales que forman un espacio dual al de las potencias truncadas.
Proposición 10.1. Sea τ0 ≤ · · · ≤ τp una sucesión extendida de nodos y
L(τ0 , . . . , τp ) := �λ0 , . . . , λp �
103
[τi−k−1 , . . . , τi ],
i = k + 1, . . . , p,
es una base de Lk (τ0 , . . . , τp ).
Demostración. (a) El espacio de funcionales lineales L(τ0 , . . . , τp ) está generado por las condiciones que definen un problema de interpolación de Hermite
p ∈ Pp ,
λi [p] = ηi ,
Como el problema de Hermite siempre admite una única solución en Pp , tenemos que los funcionales λi son independientes y dim L(τ0 , . . . , τp ) = p + 1 =
dim Pp , formando una base de un espacio dual de Pp .
Una comparación entre la fórmula de Lagrange
p(x) =
p
�
j=0
λj f · lj (x)
104
y la fórmula de Newton de diferencias divididas
p(x) =
p
�
i=0
[τ0 , . . . τi ]f · ωi (x),
f �→ [τ0 , . . . , τi ]f,
i = 0, . . . , p,
también forman una base de funcionales lineales de L(τ0 , . . . , τp ). En efecto,
si f es una función suficientemente diferenciable tenemos
p
�
j=0
y
λj f =
p
�
i=0
j = 0, . . . , k,
y como ωj , j = 0, . . . , k, es una base de Pk , tenemos que
[τ0 , . . . , τi ] ∈ Lk (τ0 , . . . , τp ),
f �→ [τ0 , . . . , τi ]f,
λωi · [τ0 , . . . τi ]f.
105
i = k + 1, . . . , p,
forman una base del espacio Lk (τ0 , . . . , τk ). Por tanto Lk (τ0 , . . . , τp ) = 0, si
p ≤ k y dim Lk (τ0 , . . . , τp ) = 1 si p ≥ k + 1.
(c) Veamos que forman un sistema generador de Lk (τ0 , . . . , τp ). Para ello
demostraremos por inducción sobre j que el espacio vectorial de funcionales
�[τi−k−1 , . . . , τi ],
i = k + 1, . . . , p�
i = j, . . . , p,
j = k + 1, . . . , p.
Para j = k + 1 es trivial. Supuesto cierto para j, tenemos que τi−j−1 < τi y
aplicando la fórmula de recurrencia para diferencias divididas, deducimos
[τi−j−1 , . . . , τi ] =
1
1
[τi−j , . . . , τi ] −
[τi−j−1 , . . . , τi−1 ].
τi − τi−j−1
τi − τi−j−1
y aplicando la hipótesis de inducción vemos que el funcional se encuentra en
el espacio generado por [τi−k−1 , . . . , τi ], i = k + 1, . . . , p.
Tomando j = i, vemos que la base de Lk (τ0 , . . . , τp ), formada por los
funcionales [τ0 , . . . , τi ], i = k + 1, . . . , n, está en el espacio generado por
[τi−k−1 , . . . , τi ], i = k + 1, . . . , p.
Teniendo en cuenta que dim Lk (τ0 , . . . , τp ) = p − k, se deduce que los
funcionales [τi−k−1 , . . . , τi ], i = k+1, . . . , p, forman una base de Lk (τ0 , . . . , τp ).
i = k + 1, . . . , p.
Para todo λ ∈ L(τ0 , . . . , τk ), el valor λf coincide con el valor de λ aplicado
a su polinomio de interpolación. Por tanto,
i=0
Se deduce que los funcionales lineales independientes y nulos sobre Pk
[τi−j , . . . , τi ],
(b) Teniendo en cuenta que la base de Newton de Pp y la base de diferencias divididas son bases duales, se deduce que si i > k, entonces
λf =
λωi · [τ0 , . . . , τi ].
contiene a todos los funcionales de la forma
λj ωi · [τ0 , . . . τi ]f,
[τ0 , . . . , τi ]ωj = 0,
p
�
i=k+1
[τ0 , . . . , τi ]lj · λj f
es decir, los funcionales diferencia dividida [τ0 , . . . , τi ]f son combinación lineal
de los funcionales de Hermite λj y los funcionales λj son combinación lineal
de los funcionales diferencia dividida, por lo que ambos son bases del mismo
espacio L(τ0 , . . . , τp ).
p
�
λ=
ωi (x) = (x − τ0 ) · · · (x − τi−1 ),
nos permite deducir que las diferencias divididas
[τ0 , . . . , τi ]f =
Luego, si λ ∈ Lk (τ0 , . . . , τk ), tenemos
Hemos visto la independencia de los funcionales [τi−k−1 , . . . , τi ], i = k +
1, . . . , p. Podemos deducir esta independencia, expresando los funcionales
[τi−k−1 , . . . , τi ], i = k + 1, . . . , p, en términos de los funcionales de Hermite
[τi−k−1 , . . . , τi ] =
p
�
αij λj ,
j=0
106
i = k + 1, . . . , p.
Teniendo en cuenta que la sucesión de nudos
donde
r̂j = #{l ∈ {i − k − 1, . . . , j} : τl = τj } ≤ rj := #{l ≤ j : τl = τj }.
τi−k−1 ≤ · · · ≤ τi
Observemos que si τj > τi−k−1 , tenemos r̂j = rj y, si τj = τi−k−1 , entonces
ha sido extraı́da de la sucesión τ0 ≤ · · · ≤ τp , tenemos que
[τi−k−1 , . . . , τi ] =
n
�
j=0
r̂j = rj − (ri − 1),
αij · λj ,
luego
donde λ0 , . . . , λp son los funcionales de Hermite correspondientes a la sucesión
τ0 ≤ · · · ≤ τp . Veamos que αij = 0 si j > i y que αii �= 0.
Consideremos ahora el problema de interpolación de Hermite en los nudos
τi−k−1 ≤ · · · ≤ τi ,
λ̂j :=
i
�
j = i − k − 1, . . . , i − 1,
λ̂i (li,k+1 ) = 1.
Observemos que li,k+1 es un polinomio no nulo de grado menor o igual que
k + 1 tal que
ωi (x) = (x − xi−k−1 ) · · · (x − xi−1 )
divide a li,k+1 . Por tanto li,k+1 tiene grado exactamente k + 1 y tenemos
βii = [τi−k−1 , . . . , τi ]li,k+1 �= 0.
i
�
[τi−k−1 , . . . , τi ] =
j=i−k−ri
αij · λj
con αii = βii �= 0.
βij · λ̂j .
Sea li,k+1 la i-ésima función de Lagrange de grado k + 1 asociada al nodo τi
en el subconjunto {τi−k−1 , . . . , τi } determinada por
λ̂j (li,k+1 ) = 0,
si τj = τi−k−1 ,
si τj > τi−k−1 .
τi−k−1 < τi
j=i−k−1
li,k+1 ∈ Pi ,
λj+1−ri ,
λj ,
Podemos afirmar que λ̂j ∈ �λi−k−ri , . . . , λj �, j = i − k − 1, . . . , i − 1 y, como
τi > τi−k−1 , λ̂i = λi . Por tanto
cuyos funcionales de Hermite asociados son λ̂i−k−1 , . . . , λ̂i . Tenemos que
[τi−k−1 , . . . , τi ] =
�
Podemos expresar formalmente la relación entre los funcionales a través
de la ecuación


 
[τ0 , . . . , τk+1 ]
λ0


..
 ... 
=
A


.
[τp−k−1 , . . . , τp ]
λp
donde
A = (αij )i=k+1,...,p;j=0,...,p ∈ Rp−k×p+1
es una matriz escalonada αij = 0, para j > i, αii �= 0, luego su rango es p − k,
el máximo posible. Como λ0 , . . . , λp son funcionales independientes y las filas
de A son independientes, se deduce que los funcionales
[τi−k−1 , . . . , τi ],
i = k + 1, . . . , p.
son linealmente independientes.
Para identificar los funcionales
λ̂j = f (r̂j −1) (τj ),
El siguiente resultado establece un isomorfismo entre el espacio de funciones spline localmente soportadas y el espacio de funcionales Lk (τ0 , . . . , τp ),
lo que permite encontrar una base del espacio de funciones spline se soporte
compacto.
107
108
{λ̂i−k−1 , . . . , λ̂i } ⊂ {λ0 , . . . , λp },
tengamos en cuenta que
Proposición 10.2. Sea τ0 ≤ · · · ≤ τp , τi−k−1 < τi , i = k + 1, . . . , p, una
sucesión extendida de nudos y L(τ0 , . . . , τp ) es espacio de funcionales generado
por los funcionales de Hermite
λi [f ] :=
dri −1 f
(τi ),
dri −1 x
ri := #{j ≤ i | τj = τi },
i = 0, . . . , p.
(a) La aplicación
T : L(τ0 , . . . , τp ) → Sk (τ0 , . . . , τp )
que asocia a cada funcional λ ∈ L(τ0 , . . . , τp ) la función spline que coincide con λ[(· − x)k+ /k!], salvo en los puntos de discontinuidad, es una
aplicación lineal inyectiva cuya imagen contiene al espacio Sk0 (τ0 , . . . , τp ).
(b) La aplicación lineal T es un isomorfismo entre el espacio de funcionales
lineales
Lk (τ0 , . . . , τp ) := {λ ∈ L(τ0 , . . . , τp ) | λ[q] = 0, ∀q ∈ Pk },
y el espacio
Sk0 (τ0 , . . . , τp )
de funciones localmente soportadas.
(c) Existen funciones spline de grado k no nulas soportadas localmente si y
sólo si p ≥ k + 1 en cuyo caso dim Sk0 (τ0 , . . . , τp ) = p − k. Una base del
espacio Sk0 (τ0 , . . . , τp ) viene dada por
[τi−k−1 , . . . , τi ](· − x)k+ ,
Por tanto, la imagen T λi de la base de funcionales de Hermite λi , i =
0, . . . , p, coincide con
i
(τi − x)k+1−r
+
,
(k + 1 − ri )!
salvo en los puntos de discontinuidad.
Observemos que toda potencia (x − t)j , j > 0, puede descomponerse
como suma de potencias truncadas de argumentos opuestos
(x − t)j = (x − t)j+ + (−1)j (t − x)j+ .
(t − x)k−1
∂ (t − x)k+
+
=
.
∂t
k!
(k − 1)!
Si el grado es 1, k = 1, la potencia truncada no es derivable en t = x y
t �= x.
En general, tenemos que
(10.3)
La fórmula es válida para j = 0 excepto en el punto de discontinuidad. Por
lo tanto
i
i
(τi − x)k+1−r
= (−1)k+1−ri ((x − τi )k+1−ri − (x − τi )k+1−r
).
+
+
La igualdad no es válida en x = τi cuando ri = k + 1, siendo el segundo miembro una función spline continua por la derecha de Sk (τ0 , . . . , τp ). Teniendo en
cuenta que T λi debe ser continua por la derecha, tenemos que
i = k + 1, . . . , p.
Demostración. (a) La derivada respecto a t de una potencia truncada (t −
x)k+ , k > 1, es un múltiplo de una potencia truncada de grado inferior
∂
(t − x)+ = (t − x)0+ ,
∂t
y si r = k + 1, tenemos que la fórmula se verifica excepto en el punto de
discontinuidad.
T λi = (−1)k+1−ri
� (x − τ )k+1−ri − (x − τ )k+1−ri �
i
i +
.
(k + 1 − ri )!
(10.4)
Del Teorema 9.1 se deduce que las funciones T λi , i = 0, . . . , p, son linealmente independientes, lo que muestra que T es inyectiva.
Veamos ahora que toda función spline localmente soportada dada por
(10.1) con la condición (10.2) es la imagen de algún funcional lineal λ ∈
L(τ0 , . . . , τp ).
Restando (10.1) y (10.2) y teniendo en cuenta (10.4) deducimos que
s(x) =
p
�
i=0
p
αi
i
�
(x − τi )k+1−r
− (x − τi )k+1−ri
+
=
(−1)k−ri αi T λi .
(k + 1 − ri )!
i=0
(t − x)k+1−r
∂ r−1 (t − x)k+
+
=
r−1
∂t
k!
(k + 1 − r)!
�p
Llamando λ = i=0 (−1)k−ri αi λi , tenemos que T λ = s, lo que muestra que
el espacio Sk0 (τ0 , . . . , τp ) está contenido en la imagen de la aplicación T .
109
110
(b) Sea λ =
con la función
�n
i=0
di λi ∈ L(τ0 , . . . , τp ). Entonces s(x) := T λ(x) coincide
p
�
di
i=0
i
(τi − x)k+1−r
+
(k + 1 − ri )!
salvo en los puntos de discontinuidad, luego s(x) es nula para x > τp . Se
deduce que la condición necesaria y suficiente para que s ∈ Sk0 (τ0 , . . . , τn ) es
que s(x) = 0 para x < τ0 , luego
p
�
di
i=0
(τi − x)k+1−ri
= 0,
(k + 1 − ri )!
x < τ0 .
λ
k!
=
p
�
i=0
k+1−ri
di
(τi − x)
= 0,
(k + 1 − ri )!
x ∈ R.
(10.5)
Observemos que (10.5) es una condición equivalente a (10.2), si tenemos en
cuenta que αi = (−1)k−ri di . Veamos ahora que la condición (10.5) sobre
λ ∈ L(τ0 , . . . , τp ) equivale a
λ[q] = 0,
∀q ∈ Pk .
(10.6)
Claramente (10.6) implica (10.5) ya que (· − x)k es una función polinómica
de grado menor o igual que k. Recı́procamente supongamos que se verifica
(10.5). Tengamos en cuenta que la función (t − x)k es una función de clase
C ∞ (R) y pueden intercambiarse los órdenes de derivación en dicha función.
En particular
� (· − x)j �
dk−j � � (· − x)k ��
λi
= λi
k−j
dx
k!
j!
Derivando con respecto a x la relación
� (· − x)k �
k!
obtenemos
= 0,
∀x ∈ R.
dk−j � (· − x)k � � (· − x)j �
λ
=
= 0,
dxk−j
k!
j!
111
Por lo tanto Lk (τ0 , . . . , τp ) es la antiimagen por la aplicación lineal inyectiva T del espacio Sk0 (τ0 , . . . , τp ). Lo que implica que T establece un isomorfismo vectorial entre Lk (τ0 , . . . , τp ) y Sk0 (τ0 , . . . , τp ).
(c) Teniendo en cuenta que T es un isomorfismo entre el espacio de funcionales Lk (τ0 , . . . , τk ) y el espacio de funciones spline Sk0 (τ0 , . . . , τp ), se deduce
que
dim Sk0 (τ0 , . . . , τp ) = dim Lk (τ0 , . . . , τp ).
Por la Proposición 10.1 (c), los funcionales diferencia dividida de orden k en
nudos consecutivos son base de Lk (τ0 , . . . , τp ). Por tanto,
El primer miembro es un polinomio que se anula a la izquierda de τ0 y, por
tanto, debe coincidir con el polinomio nulo, obteniéndose
� (· − x)k �
y tomando x = 0, deducimos que λ anula a toda la base de monomios (·)j ,
j = 0, . . . , k, de Pk , lo que implica (10.6).
[τi−k−1 , . . . , τi ]
(· − x)k+
,
k!
i = k + 1, . . . , p,
forman una base del espacio de funciones spline de soporte local.
El caso importante de espacios unidimensionales Sk0 (τ0 , . . . , τk+1 ) corresponde a las funciones spline con mı́nimo soporte local, en el sentido de que
están basadas en el mı́nimo número de nudos.
Definición 10.3. Una función B-spline de grado k es una función no nula del
espacio unidimensional de funciones spline soportadas localmente de orden k y
basadas en k + 2 nudos (no todos coincidentes) Sk0 (τ0 , . . . , τk+1 ). Una función
B-spline queda definida salvo una constante. La normalización más usada es
N (x; τ0 , . . . , τk+1 ) := (τk+1 − τ0 )[τ0 , . . . , τk+1 ](· − x)k+ .
Teniendo en cuenta (10.3), tenemos la expresión equivalente
N (x; τ0 , . . . , τk+1 ) = (−1)k+1 (τk+1 − τ0 )[τ0 , . . . , τk+1 ](x − ·)k+ .
En las fórmulas anteriores de la función B-spline normalizada, el miembro de
la derecha no está bien definido en los puntos de discontinuidad, por lo que
hay que redefinir la función en dichos puntos para que N (x; τ0 , . . . , τk+1 ) sea
continua por la derecha.
Ejemplos. Funciones B-spline de grado 0, son
N (x; τ0 , τ1 ) = (τ1 − τ0 )[τ0 , τ1 ](· − x)0+ ,
112
por definición de diferencia dividida tenemos
Notemos que cuando dos nodos tienden a coincidir la función B-spline
tiende a ser discontinua. Tomando τ1 = τ0 tenemos
N (x; τ0 , τ1 ) = (τ1 − x)0+ − (τ0 − x)0+ .
En este caso tenemos que realizar algún ajuste en los nudos si queremos que
la función sea continua por la derecha
�
0 si x < τ0 ,
N (x; τ0 , τ1 ) = 1 si τ0 ≤ x < τ1 ,
0 si x ≥ τ1 .
Vemos que N (x; τ0 , τ1 ) = 1[τ0 ,τ1 ) es la función caracterı́stica de un intervalo.
N (x; τ0 , τ0 , τ2 ) =
� 0,
(τ2 − x)/(τ2 − τ0 ),
0,
Análogamente si τ1 = τ2 tenemos
N (x; τ0 , τ2 , τ2 ) =
� 0,
(x − τ0 )/(τ2 − τ0 ),
0,
Las funciones B-spline de grado 1 son
= [τ1 , τ2 ](· − x)1+ − [τ0 , τ1 ](· − x)1+ .
El Teorema del núcleo de Peano
Si x ∈ [τ0 , τ1 ], tenemos
y si x ∈ [τ1 , τ2 ]
N (x; τ0 , τ1 , τ2 ) =
luego tenemos la función
La definición de B-spline está relacionada con un resultado sobre representación de operadores y funcionales conocido como Teorema del núcleo de Peano.
x − τ1
,
τ1 − τ0
En análisis numérico aparecen con frecuencia fórmulas que permiten estimar el valor de determinados funcionales lineales en términos de otros funcionales más simples. Por ejemplo, una regla de cuadratura
τ2 − x
− 0,
τ2 − τ1

0,


(x − τ0 )/(τ1 − τ0 ),
N (x; τ0 , τ1 , τ2 ) =

 (τ2 − x)/(τ2 − τ1 ),
0,
si
si
si
si
si x < τ0 ,
si τ0 ≤ x < τ2 ,
si x ≥ τ2 .
Observemos que las funciones B-spline de grado 0 y 1 son funciones no
negativas.
N (x; τ0 , τ1 , τ2 ) := (τ2 − τ0 )[τ0 , τ1 , τ2 ](· − x)1+
N (x; τ0 , τ1 , τ2 ) = 1 −
si x < τ0 ,
si τ0 ≤ x < τ2 ,
si x ≥ τ2 .
�
x < τ0 ,
τ0 ≤ x < τ1 ,
τ1 ≤ x < τ2 ,
x ≥ τ2 ,
b
a
f (x)w(x)dx ≈ (b − a)
n
�
wi f (xi ),
i=0
pretende obtener aproximaciones del valor de la integral de una función en
un intervalo en términos de los valores de la función en los nodos x0 , . . . , xn .
El grado de precisión de la regla de cuadratura es el mayor entero k para
el que podemos garantizar que la fórmula es exacta en Pk . Introduciendo el
funcional residuo o error de la fórmula
llamada función sombrero.
R[f ] :=
�
b
a
f (x)w(x)dx − (b − a)
n
�
wi f (xi ),
i=0
podemos afirmar que si la fórmula tiene grado de precisión k, entonces
τ0=τ1
τ2
τ0
τ1
τ2
τ0
Figura 14. Funciones B-spline de grado 1
113
τ1=τ2
R[p] = 0,
∀p ∈ Pk .
114
Si elegimos un polinomio p ∈ Pk que aproxime muy bien a la función f ,
entonces f − p será una función próxima a cero, y si el funcional es continuo,
podremos deducir acotaciones del valor de λf . Además como
λf = λ(f − p),
a
podemos hacer intervenir fórmulas del error de aproximación de f por polinomios en la expresión del funcional λ
Un polinomio que se utiliza con frecuencia en la aproximación de funciones es el polinomio de Taylor. Para obtener una representación integral de λ,
comenzamos con la fórmula de Taylor con resto integral.
Si f ∈ C k+1 (I), t0 ∈ I, entonces
f (t) =
k
�
(t − t0 )j
j=0
j!
f (j) (t0 ) +
1
k!
�
t
t0
(t − x)k f (k+1) (x)dx.
En el caso en que el intervalo sea de la forma I = [a, b] y t0 = a podemos
escribir
�
k
�
(t − a)j (j)
1 b
f (t) =
f (a) +
(t − x)k+ f (k+1) (x)dx.
j!
k!
a
j=0
Si λ es un funcional lineal nulo sobre polinomios de grado k, podemos aplicar
λ en ambos miembros de la fórmula de Taylor anterior y deducir que
� b
1
λf = λ
(· − x)k+ f (k+1) (x)dt.
k! a
La función (t − x)k+ , x ∈ [a, b], es una función acotada, cuyas derivadas sucesivas también están acotadas en [a, b]. De acuerdo con el teorema de evaluación
y derivación de integrales paramétricas, puede intercambiarse λ y el signo
integral si λ es un funcional de la forma λf = f (j) (τ ), con j ≤ k, τ ∈ [a, b].
El teorema de Fubini, también permite intercambiar λ con el signo integral si
�b
λ es de la forma λf = a w(τ )f (τ )dτ , siendo w una función integrable. Ası́
que si suponemos que λ es una combinación lineal de funcionales que pueden
intercambiarse con la integral, podemos afirmar que
�
� b �
(· − x)k+ (k+1)
λf =
λ
f
(x)dx.
k!
a
115
Teorema del núcleo de Peano. Sea λ : C k [a, b] → R un funcional lineal
nulo sobre Pk , y continuo sobre C k [a, b]. Entonces
� b
λf =
K(x)f (k+1) (x)dx, f ∈ C k+1 [a, b]
donde
1
λ(· − x)k+
k!
el llamado núcleo de Peano del funcional λ.
K(x) :=
Sea τ0 ≤ . . . ≤ τp es
sucesión extendida de nodos con τi < τi+k+1 , i =
�una
p
0, . . . , p − k − 1, y λ = i=0 di λi ∈ Lk (τ0 , . . . , τp ), siendo λi los funcionales de
Hermite correspondientes. Teniendo en cuenta que los funcionales de Hermite
consisten en evaluaciones de derivadas de orden ≤ k, podemos aplicar el
teorema del núcleo de Peano. En este caso, el núcleo de Peano es la función
localmente soportada
K(x) = λ
� (· − x)k �
+
k!
=
p
�
i=0
di
i
(τi − x)k+1−r
+
∈ Sk0 (τ0 , . . . , τp ).
(k + 1 − ri )!
Por tanto K = T λ, donde T es la aplicación lineal definida en la Proposición
10.2. El Teorema del núcleo de Peano
� b
λf =
K(x)f (k+1) (x)dx,
a
proporciona una representación integral del funcional λ = T −1 K, ya que hace
corresponder a cada función spline K ∈ Sk0 (τ0 , . . . , τp ) un funcional del espacio
λ ∈ Lk (τ0 , . . . , τp ) tal que λ[(· − x)k+ /k!] = K(x).
Observamos que la diferencia dividida en k+2 puntos τ0 , . . . , τk+1 ∈ [a, b],
no todos coincidentes es un funcional del espacio Lk (τ0 , . . . , τk+1 ). En este
caso el núcleo de Peano es una función B-spline
K(x) =
1
1
[τ0 , . . . , τk+1 ](· − x)k+ =
N (x; τ0 , . . . , τk )
k!
k!(τk+1 − τ0 )
lo que permite deducir la siguiente representación integral de las diferencias
divididas
� b
1
[τ0 , . . . , τk+1 ]f =
N (x; τ0 , . . . , τk )f (k+1) (x)dx.
k!(τk+1 − τ0 ) a
116
Una consecuencia de la fórmula anterior es una fórmula explı́cita para el
valor de la integral de una función spline. Tomando f (x) = xk+1 , tenemos
k+1
1=
τk+1 − τ0
de donde
�
b
a
�
b
N (x; τ0 , . . . , τk )dx,
a
Demostración. En primer lugar, tengamos en cuenta que por la definición
τk+1 − τ0
N (x; τ0 , . . . , τk )dx =
.
k+1
El Teorema del núcleo de Peano puede utilizarse para deducir que las
funciones B-spline son no negativas. Teniendo en cuenta que las funciones
B-spline tienen soporte compacto, tenemos al aplicar el Teorema del núcleo
de Peano al funcional diferencia dividida [τ0 , . . . , τk+1 ]
�
∞
−∞
N (x; τ0 , . . . , τk+1 )f
(k+1)
(x)dx = k!(τk+1 − τ0 )[τ0 , . . . , τk+1 ]f.
Para probar que la función N (x; τ0 , . . . , τk+1 ) es no negativa, basta con demostrar que [τ0 , . . . , τk+1 ]f ≥ 0, para cualquier función f con f (k+1) continua
y no negativa. Del Teorema del Valor Medio generalizado se deduce que
[τ0 , . . . , τk+1 ]f =
Proposición 10.4. Sean τ0 ≤ · · · ≤ τk+1 , τ0 < τk+1 , entonces la función
B-spline N (x; τ0 , . . . , τk+1 ) es una función spline con nudos en τ0 , . . . , τk+1 tal
que
supp N (x; τ0 , . . . , τk+1 ) ⊆ [τ0 , τk+1 ].
1
f (k+1) (ξ),
(k + 1)!
para algún ξ ∈ [τ0 , . . . , τk+1 ]. Ası́ que si f
entonces [τ0 , . . . , τk+1 ]f ≥ 0.
(k+1)
(x) ≥ 0 para todo x ∈ [τ0 , τk+1 ],
Propiedades de las funciones B-spline
N (x; τ0 , . . . , τk+1 ) =
k
�
i=0
= k!
di λi (· − x)k+ = k!
r�
i −1
(−1)k+1−ri di
i=0
k
�
d i λi
i=0
(· − x)k+
k!
i
(x − τi )k+1−r
+
,
(k + 1 − ri )!
es combinación lineal de elementos de la base de potencias truncadas y, por
tanto, pertenece al espacio Sk (τ0 , . . . , τn ).
Si x < τ0 , entonces (t − x)k+ = (t − x)k en un entorno de cada τi , i =
0, . . . , k + 1, y
N (x; τ0 , . . . , τk+1 ) = (τk+1 − τ0 )[τ0 , . . . , τk+1 ](· − x)k+
= (τk+1 − τ0 )[τ0 , . . . , τk+1 ](· − x)k = 0.
El valor es nulo al coincidir N (x) con el valor de una diferencia dividida de
orden k + 1 aplicada a un polinomio de grado k. Si x > τk+1 , entonces
(t − x)k+ = 0 en un entorno de cada τi , i = 0, . . . , k + 1, y
N (x; τ0 , . . . , τk+1 ) = (τk+1 − τ0 )[τ0 , . . . , τk+1 ](· − x)k+
(τk+1 − τ0 )[τ0 , . . . , τk+1 ]0 = 0.
lo que muestra que
A continuación demostraremos algunas propiedades de las funciones B-spline
a través de su definición. Estas propiedades también se deducen de las relaciones de recurrencia para funciones spline que veremos en el próximo capı́tulo.
supp N (x; τ0 , . . . , τk+1 ) ⊆ [τ0 , τk+1 ].
El siguiente resultado es consecuencia inmediata de la Proposición 10.2
que requiere una descripción de espacios de funcionales isomorfos a los espacios
de spline locales. Esta complejidad conceptual, nos sugiere la conveniencia de
ofrecer una demostración directa más simple.
La no negatividad de las funciones B-spline es una consecuencia directa
de las relaciones de recurrencia de de Boor, que describiremos en el capı́tulo
siguiente. No obstante ofrecemos una demostración de este hecho basada en
el Teorema 8.6.
117
118
Proposición 10.5. Sean τ0 ≤ · · · ≤ τk+1 , τ0 < τk+1 , entonces
N (x; τ0 , . . . , τk+1 ) ≥ 0,
Proposición 10.6. Sea τ0 ≤ · · · ≤ τp una sucesión extendida de nudos,
τi−k−1 < τi , i = k + 1, . . . , p, entonces
∀x ∈ R.
p
�
Demostración. Para cada x, la función f (t) = (t − x)k+ es de clase C k−1 (R)
y C ∞ en los intervalos que no contienen al punto x. Tenemos que
N (x; τ0 , . . . , τk+1 ) = (τk+1 − τ0 )[τ0 , . . . , τk+1 ]f.
Supongamos primero que τ0 < τk y τ1 < τk+1 . Aplicando reiteradamente el
Teorema 8.6 deducimos que existen ξ0 < ξ1 < ξ2 en [τ0 , τk+1 ] tales que
1
[τ0 , . . . , τk+1 ]f =
[ξ0 , ξ1 , ξ2 ]f (k−1)
(k + 1)k · · · 3
y como
[ξ0 , ξ1 , ξ2 ]f (k−1) =
tenemos que
N (x; τ0 , . . . , τk+1 ) =
k!
N (x; ξ0 , ξ1 , ξ2 ),
ξ2 − ξ0
2 τk+1 − τ0
N (x; ξ0 , ξ1 , ξ2 ).
k + 1 ξ2 − ξ0
y como las funciones B-spline de grado 1 son no negativas, se deduce que
N (x; τ0 , . . . , τk+1 ) ≥ 0. Supongamos ahora que tenemos un nudo con la
máxima multiplicidad, por ejemplo, τ0 = · · · = τk < τk+1 . En ese caso
sólo tiene sentido la evaluación en los puntos x �= τ0 y teniendo en cuenta que
la función es C ∞ en los puntos distintos de x, podemos aplicar el Teorema
8.6 y deducir de nuevo que
N (x; τ0 , . . . , τk+1 ) =
2 τk+1 − τ0
N (x; ξ0 , ξ1 , ξ2 ),
k + 1 ξ2 − ξ0
donde τ0 = ξ0 = ξ1 < ξ2 ≤ τk+1 . Teniendo en cuenta que N (x; τ0 , τ0 , ξ2 ) es
una función no negativa, se tiene que N (x; τ0 , . . . , τk+1 ) ≥ 0.
N (x; τi−k−1 , . . . , τi ) = 1,
i=k+1
∀x ∈ (τk , τp−k ).
Demostración.
p
�
i=k+1
p
�
i=k+1
N (x; τi−k−1 , . . . , τi ) =
p
�
i=k+1
�
(τi − τi−k−1 )[τi−k−1 , . . . , τi ](· − x)k+ =
�
[τi−k , . . . , τi ](· − x)k+ − [τi−k−1 , . . . , τi−1 ](· − x)k+ =
[τp−k , . . . , τp ](· − x)k+ − [τ0 , . . . , τk ](· − x)k+
Si x ∈ (τk , τp−k ), tenemos
[τp−k , . . . , τk+1 ](· − x)k+ = 1,
[τ0 , . . . , τk ](· − x)k+ = 0.
El Teorema de Curry-Schoenberg
El teorema de Curry-Schoenberg afirma que todo espacio de funciones spline
soportadas localmente tiene una base de funciones B-spline. Obtenemos este
importante resultado como consecuencia directa de la Proposición 10.2(c)
Teorema 10.7 (Teorema de Curry-Schoenberg). Sea τ0 ≤ · · · ≤ τp , tal
que τi−k−1 < τi , i = k + 1, . . . , p, una sucesión extendida de nudos. Una base
del espacio Sk0 (τ0 , . . . , τp ) es
N (x; τi−k−1 , . . . , τi ),
i = k + 1, . . . , p.
Mostremos ahora que las funciones B-spline correspondientes a nudos
consecutivos de una sucesión extendida de nudos son una partición de la
unidad sobre un subintervalo del intervalo que contiene a todos los nudos.
El Teorema de Curry-Schoenberg admite una segunda formulación equivalente: todo espacio de funciones spline en un intervalo compacto admite una
base de B-splines. Para comprender su significado relacionaremos todo espacio de funciones spline en un interval compacto con un espacio de funciones
spline localmente soportadas.
119
120
Sea Sk (τ )[a, b] el espacio de funciones spline con nudos interiores
Teorema 10.8 (Teorema de Curry-Schoenberg). Sea
τ = (τ0 , . . . , τp ),
donde τ0 ≤ · · · ≤ τp con
τi−k−1 < τi ,
i = k + 1, . . . , p,
τ−k−1 = · · · = τ−1 = a < τ0 ≤ · · · ≤ τn−k−1 < b = τn−k = · · · = τn .
con τi−k−1 < τi , i = 0, . . . , n. Una base del espacio Sk (τ0 , . . . , τn−k−1 )[a, b] es
Ni,k (x) := N (x; τi−k−1 , . . . , τi ),
definidas un intervalo compacto [a, b], a < τ0 < τp < b. Para ello, introduzcamos nudos auxiliares en nuestra sucesión extendida
τ̄ = (τ−k−1 , . . . , τ−1 , τ0 , . . . , τp , τp+1 , . . . , τp+k+1 ),
i = 0, . . . , n.
N5,3
N0,3
siendo
τ−k−1 = · · · = τ−1 = a < τ0 ≤ · · · ≤ τp ≤ b = τp+1 = · · · = τp+k+1 .
Si llamamos
n := dim Sk (τ0 , . . . , τp ) − 1 = p + k + 1
N3,3
N2,3
N1,3
N4,3
podemos escribir p = n − k − 1, de modo que la sucesión de extendida de
nudos interiores es
τ−k−1 = · · · = τ−1 = a < τ0 ≤ · · · ≤ τn−k−1 < b = τn−k = · · · = τn .
Como los nudos en a y b tienen multiplicidad máxima, representamos en el
espacio Sk0 (τ̄ ) todas las funciones spline soportadas localmente con nudos en τ
y posiblemente discontinuas en los nudos extremos a, b. Podemos identificar
este espacio con Sk (τ )[a, b]. Para realizar esta identificación notemos que
dada una función s ∈ Sk (τ )[a, b] existe una única función s̄ ∈ Sk0 (τ̄ ), tal que
s̄|[a,b) = s|[a,b) . La función s̄, la obtenemos alterando la definición de s fuera
del intervalo [a, b)
�
s(x), si x ∈ [a, b),
s̄(x) :=
0,
si x ∈ (−∞, a) ∪ [b, +∞).
Recı́procamente, dada una función de s̄ ∈ Sk0 (τ̄ ), existe una única función
s ∈ Sn (τ )[a, b] tal que s|[a,b) = s̄|[a,b) . En efecto, tomando
�
s̄(x),
si x ∈ [a, b),
s(x) :=
lı́mx→b− s̄(x), si x = b.
Gracias a esta identificación entre un espacio de funciones spline y otro espacio local con más nudos, podemos encontrar bases de B-splines de espacios
de funciones spline definidas en un intervalo compacto [a, b], obteniendo la
siguiente formulación del Teorema de Curry-Schoenberg
121
0
1/3
2/3
1
Figura 15. Una base de B-splines de grado tres con dos nudos interiores
Observemos que es necesario corregir el valor de Nn,k en el punto de
discontinuidad b, y tomar Nn,k (b) = 1 en lugar de tomar el valor nulo. Esta
redefinición nos permite afirmar que la base de B-splines de Sn (τ0 , . . . , τp )[a, b]
es una ley de mezclas en todo el dominio
n
�
Ni,k (x) = 1,
i=0
122
∀x ∈ [a, b].
11. Las relaciones de recurrencia de de Boor
y obtener
La definición de función B-spline no resulta útil para su evaluación. Por
ello se han obtenido algunas fórmulas de recurrencia que facilitan el cálculo
y evaluación de funciones spline. Estas fórmulas de recurrencia no sólo son
útiles para el cálculo práctico, sino que permiten deducir muchas propiedades
de las funciones B-spline razonando por inducción sobre el grado.
Consideremos una sucesión de nudos τ0 ≤ τ1 ≤ · · · ≤ τk ≤ τk+1 . La
fórmula de recurrencia de de Boor relaciona el B-spline N (x; τ0 , . . . τk+1 ) de
grado k con los B-splines N (x; τ0 , . . . τk ) y N (x; τ1 , . . . τk+1 ) de grado k − 1.
Teorema 11.1 (Relaciones de recurrencia de de Boor). Sea τ0 ≤ τ1 ≤
· · · ≤ τk ≤ τk+1 . Si τ0 < τk y τ1 < τk+1 , entonces
x − τ0
τk+1 − x
N (x; τ0 , . . . , τk+1 ) =
N (x; τ0 , . . . , τk ) +
N (x; τ1 , . . . , τk+1 ).
τ k − τ0
τk+1 − τ1
(11.1)
Si τ0 = · · · = τk < τk+1 , entonces
[k+1]
N (x; τ0
�k
τk+1 − x
1[τ0 ,τk+1 )
τk+1 − τ0
τk+1 − x
[k]
=
N (x; τ0 , τk+1 ),
τk+1 − τ1
, τk+1 ) =
y si τ0 < τ1 = · · · = τk+1 , entonces
[k+1]
�
= (τk+1 − τ0 )
k+1
�
j=0
[τ0 , . . . , τj ](· − x)[τj , . . . , τk+1 ](· − x)k−1
+
�
�
= (τk+1 − τ0 ) (τ0 − x)[τ0 , . . . , τk+1 ](· − x)k−1
+ [τ1 , . . . , τk+1 ](· − x)k−1
+
+
�
= (τ0 − x) [τ1 , . . . , τk+1 ](· − x)k−1
− [τ0 , . . . , τk ](· − x)k−1
+
+ )
+ (τk+1 − τ0 )[τ1 , . . . , τk+1 ](· − x)k−1
+
= (x − τ0 )[τ0 , . . . , τk ](· − x)k−1
+ (τk+1 − x)[τ1 , . . . , τk+1 ](· − x)k−1
+
+ .
Si τ0 < τk y τ1 < τk+1 , podemos aplicar la definición de B-spline, de donde
se deduce (11.1). Si τ0 = · · · = τk < τk+1 , entonces
[k+1]
N (x; τ0
de donde se obtiene
, τk+1 ](· − x)k+
1 d ��
[k]
= [τ0 , τk+1 ](· − x)k+ −
(· − x)k+ ,
�
k! dtk t=τ0
[k+1]
N (x; τ0
[k+1]
, τk+1 ) = (τk+1 − τ0 )[τ0
k
[k]
, τk+1 ) = [τ0 , τk+1 ](· − x)k+ − (τ0 − x)0+ .
Para grado k − 1 se tiene la fórmula análoga
�k
x − τ0
1[τ0 ,τk+1 )
τk+1 − τ0
x − τ0
[k]
=
N (x; τ0 , τk+1 ).
τk − τ 0
N (x; τ0 , τk+1 ) =
(11.2)
N (x; τ0 , . . . , τk+1 )(x) = (τk+1 − τ0 )[τ0 , . . . , τk+1 ]((· − x)(· − x)k−1
+ )
�
Demostración. Partiendo de la definición
N (x; τ0 , . . . τk+1 ) = (τk+1 − τ0 )[τ0 , . . . , τk+1 ](· − x)k+ ,
[k]
[k−1]
N (x; τ0 , τk+1 ) = [τ0
(11.3)
, τk+1 ](· − x)k−1
− (τ0 − x)0+ .
+
Restando ambas fórmulas y aplicando la regla de Leibniz, tenemos
[k+1]
N (x; τ0
[k]
[k]
, τk+1 ) − N (x; τ0 , τk+1 )
[k−1]
= [τ0 , τk+1 ](· − x)k+ − [τ0
=
=
podemos aplicar la fórmula de Leibniz para diferencias divididas
, τk+1 ](· − x)k−1
+
[k]
[τ0 , τk+1 ]((· − x)(· − x)k−1
+ )−
[k]
(τ0 − x)[τ0 , τk+1 ](· − x)k−1
+ ,
[k−1]
[τ0
k−1
, τk+1 ](· − x)+
y por la definición de B-spline obtenemos
[τ0 , . . . , τk+1 ](f g) =
k+1
�
[τ0 , . . . , τj ]f [τj , . . . , τk+1 ]g,
j=0
123
[k+1]
N (x; τ0
[k]
, τk+1 ) − N (x; τ0 , τk+1 ) = −
124
x − τ0
[k]
N (x; τ0 , τk+1 ),
τk+1 − τ0
de donde se deduce la relación
[k+1]
N (x; τ0
, τk+1 ) =
τk+1 − x
[k]
N (x; τ0 , τk+1 ).
τk+1 − τ0
Demostración. Demostremos la propiedad por inducción sobre el grado k.
La propiedad es cierta para los splines de grado cero N (x; τ0 , τ1 ) = 1[τ0 ,τ1 ) (x)
y también para splines de grado uno
N (x; τ0 , τ1 , τ2 ) =
Teniendo en cuenta que N (x; τ0 , τk+1 ) = 1[τ0 ,τk+1 ) , se deduce por inducción
[k+1]
N (x; τ0
, τk+1 ) =
�
τk+1 − x
τk+1 − τ0
�k
1[τ0 ,τk+1 )
La fórmula (11.3) se deduce con argumentos análogos a (11.2).
Podemos considerar que las fórmulas (11.2) y (11.3) son un caso particular de (11.1) en el siguiente sentido: deben suprimirse todos los términos
correspondientes a denominadores nulos. Podemos justificar la eliminación de
esos términos mediante un proceso de paso al lı́mite. Para el término
Supongamos que la propiedad es cierta para grado menor que k. Por (11.2)
y (11.3) la propiedad es cierta si un nudo tiene multiplicidad k + 1. Falta
analizar el caso en que τ0 < τk y τ1 < τk+1 . Por hipótesis de inducción
N (x; τ0 , . . . , τk ) y N (x; τ1 , . . . , τk+1 ) verifican la propiedad. Como la función
(x − τ0 )/(τk − τ0 ) es positiva en (τ0 , τk ), se deduce que la función
x − τ0
N (x; τ0 , . . . τk )
τk − τ0
es positiva en (τ0 , τk ) y nula en (−∞, τ0 ) ∪ [τk , +∞). Análogamente
x − τ0
N (x; τ0 , . . . , τk )
τk − τ0
τk+1 − x
N (x; τ1 , . . . τk+1 )
τk+1 − τ1
tomamos τ0 = · · · = τk−1 < τ = τk , y entonces
x − τ0
x − τ0
[k]
N (x; τ0 , τ ) =
τ − τ0
τ − τ0
�
τ −x
τ − τ0
�k−1
x − τ0
τ2 − x
1[τ ,τ ) (x) +
1[τ ,τ ) (x).
τ1 − τ0 0 1
τ2 − τ1 1 2
1[τ0 ,τ ) (x).
es positiva en (τ1 , τk+1 ) y nula en (−∞, τ1 ) ∪ [τ1 , +∞). Por (11.1), al sumar
ambas funciones obtenemos N (x; τ0 , . . . , τk+1 ), que será positiva en
Cuando τ → τ0+ , este término permanece acotado y tiende a cero en cada
punto. La convergencia no es uniforme, ya que el valor máximo de la función
(n − 2)n−2
,
(n − 1)n−1
(τ0 , τk+1 ) = (τ0 , τk ) ∪ (τ1 , τk+1 )
y nula en
(−∞, τ0 ) ∪ [τk+1 , +∞) = ((−∞, τ0 ) ∪ [τk , +∞)) ∩ ((−∞, τ1 ) ∪ [τ1 , +∞)).
que se alcanza para x = τ0 + (τ − τi )/(n − 1), no tiende a cero.
Proposición 11.2. Sea τ0 ≤ · · · ≤ τk+1 , τ0 < τk+1 . La función B-spline
N (x; τ0 , . . . , τk+1 ) es no negativa: nula en (−∞, τ0 ) ∪ [τk+1 , +∞) y positiva
en (τ0 , τk+1 ), luego
supp N (x; τ0 , . . . , τk+1 ) = [τ0 , τk+1 ].
125
126
Funciones B-spline y polinomios de Bernstein
Evaluación de una función spline
Como consecuencia de la fórmula de recurrencia de de Boor se puede deducir
que las funciones B-spline sin nudos internos coinciden con los polinomios de
Bernstein.
De la recurrencia de de Boor, puede obtenerse un algoritmo para la evaluación
de una combinación lineal de funciones B-spline. Sea
Proposición 11.3. Sea τ−k−1 = · · · = τ−1 = a < b = τ0 = · · · = τk . La
base de funciones B-spline de grado k del espacio S∅k [a, b] = Pk [a, b] asociadas
a esta sucesión de nudos
Ni,k+1 (x) := N (x; τi−k−1 , . . . , τi ) = N (x; a[k+1−i] , b[i+1] ),
i = 0, . . . , k.
coincide con los polinomios de Bernstein
� ��
�k−i �
�i
k
b−x
x−a
Bi,k,[a,b] (x) =
,
i
b−a
b−a
τ−k−1 = · · · = τ−1 = a < τ0 ≤ · · · ≤ τn−k−1 < b = τn−k = · · · = τn
y sea
Ni,k (x) = N (x; τi−k−1 , . . . , τi ),
la base de B-splines correspondiente. Un spline cualquiera puede expresarse
en términos de las funciones básicas a través de sus coeficientes
s(x) =
Demostración. Si k = 0, entonces
N (x; a, b) = 1 = B0,0,[a,b] (x),
x ∈ [a, b].
Suponiendo cierto la propiedad para k − 1,
N (x; a[k−i] , b[i+1] ) = Bi,k−1,[a,b] (x),
x ∈ [a, b],
las fórmulas de recurrencia de de Boor dan lugar a
� b − x �k
N (x; a[k+1] , b) =
= B0,k,[a,b] (x),
b−a
� x − a �k
N (x; a, b[k+1] ) =
= Bk,k,[a,b] (x),
b−a
[i+1]
Ni,k+1 (x) = N (x; a
,b
)=
b−x
x−a
=
N (x; a[k−i] , b[i+1] ) +
N (x; a[n+1−i] , b[i] ) =
b−a
b−a
b−x
x−a
=
Bi,k−1,[a,b] (x) +
Bi−1,k−1,[a,b] (x) = Bi,k,[a,b] (x).
b−a
b−a
ci Ni,k (x).
Como punto de partida para usar la fórmula de recurrencia de de Boor, debemos tener en cuenta que las funciones B-spline de grado k = 0 son funciones
caracterı́sticas Ni,1 (x) = 1[τi−1 ,τi ) , i = 0, . . . , n − 1. Hemos de tener en cuenta
que la última función B-spline vale 1 en el extremo derecho del intervalo [a, b],
es decir Nn,1 (x) = 1[τn−1 ,τn ] .
Aplicando las relaciones de recurrencia de de Boor obtenemos
s(x) =
n
�
ci
�
ci
n
�
τi − x
x − τi−k−1
Ni,k−1 (x) +
ci
Ni−1,k−1 (x)
τi − τi−k
τ
− τi−k−1
i−1
i=1
i=0
=
n−1
�
i=0
=
y en el caso general 0 < i < k,
[k+1−i]
n
�
i=1
en los puntos del intervalo [a, b], es decir,
N (x; a[k+1−i] , b[i+1] ) = Bi,k,[a,b] (x) 1[a,b] (x).
n−1
��
i=0
τi − x
x − τi−k−1
Ni,k−1 (x) +
Ni−1,k−1 (x)
τi − τi−k
τi−1 − τi−k−1
�
τi − x
x − τi−k
ci +
ci+1 Ni,k−1 (x),
τi − τi−k
τi − τi−k
y llamando
c1i (x) :=
tenemos que
τi − x
x − τi−k
ci +
ci+1 ,
τi − τi−k
τi − τi−k
s(x) =
n−1
�
c1i (x)Ni,k−1 (x).
i=0
127
i = 0, . . . , n,
128
�
La fórmula anterior es válida si τi−k < τi , i = 0, . . . , n − 1. En el caso general
deben suprimirse en la suma anterior todos los términos correspondientes a
splines con un solo nudo. Por tanto, podemos considerar que son nulos todos
los coeficientes correspondientes a denominador nulo
c1i (x) := 0,
donde los coeficientes cji (x) pueden calcularse mediante la recurrencia
cji (x)
=
si τi = τi−k ,
convenio que resulta útil a la hora de llevar a la práctica los cálculos ya que
evita discutir qué ı́ndices intervienen en cada suma.
Ni,k (x) := N (x; τi−k−1 , . . . , τi ),
ci (x)Ni,k (x) =
i=0
c1i (x) :=
n−1
�
i = 0, . . . , n,
� 1
ci (x)Ni,k−1 (x),
� τ −x
x − τi−k
i
ci (x) +
ci+1 (x),
τi − τi−k
τi − τi−k
0,
� 1
ci (x)Ni,k−1 (x)
:=
�
c1i (x)Ni,k−1 (x) =
τi−k <τi
i=0
si τi−k < τi ,
si τi−k = τi .
�
c1i (x)Ni,k−1 (x).
c1i (x)�=0
Aplicando reiteradamente la proposición anterior se obtiene
s(x) =
n−j
�
� j
ci (x)Ni,k−j (x)
:=
=
�
τi−k+j−1 <τi
i=0
�
si τi−k+j−1 = τi ,
n−k
�
� k
ci (x)Ni,0 (x)
=
cji (x)Ni,k−j (x),
cji (x)�=0
129
�
cki (x)1[τi−1 ,τi ) ,
τi−1 <τi
ası́ que
s(x) = ckr (x),
si x ∈ [τr−1 , τr ).
De las fórmulas anteriores
�n se deduce un algoritmo simple de evaluación de
una función spline s(x) = i=0 ci Ni,k (x) en un punto x, llamado algoritmo
de de Boor. Este algoritmo es útil incluso para calcular una sola función
B-spline, tomando todos los coeficientes ci nulos excepto uno.
La identidad de Marsden
i=0
y
n−1
�
0,
i=0
una sucesión extendida de nudos, τi−k−1 < τi , i = 0, . . . , n y
donde
si τi−k+j−1 < τi
s(x) =
τ−k−1 = · · · = τ−1 = a < τ0 ≤ · · · ≤ τn−k−1 < b = τn−k = · · · = τn
n
�

τi − x
x − τi−k+j−1 , j−1
cj−1 (x) +
c (x),
τi − τi−k+j−1 i
τi − τi−k+j−1 i+1
para j = 1, . . . , k. En particular, tomando j = k, tenemos
Proposición 11.4. Sea
entonces


Cualquier función spline de Sk (τ0 , . . . , τn−k−1 )[a, b] puede expresarse como
combinación lineal de B-splines. Como Pk [a, b],el espacio de polinomios de
grado menor o igual que k es un subespacio del espacio de funciones spline, se
deduce que todo polinomio puede expresarse como una combinación lineal de
B-splines. La identidad de Marsden permite conocer los coeficientes B-spline
de cualquier polinomio.
Proposición 11.5 (Identidad de Marsden). Sea
τ−k−1 = · · · = τ−1 = a < τ0 ≤ · · · ≤ τn−k−1 < b = τn−k = · · · = τn
una sucesión extendida de nudos, τi−k−1 < τi , i = 0, . . . , n y
Ni,k (x) := N (x; τi−k−1 , . . . , τi ),
cji (x)Ni,k−1 (x)
entonces
(x − t)k =
n �
k
�
i=0 j=1
i = 0, . . . , n,
(τi−j − t)Ni,k (x),
130
x ∈ [a, b].
Demostración. Vamos a proceder por inducción sobre k. Si k = 0, tenemos
que Ni,0 (x) = 1[τi−1 ,τi ) y por tanto
n
�
i=0
Ni,0 (x) = 1 = (x − t)0 .
i=0
Supongamos la propiedad cierta para k − 1 y vamos a probarla para k.
Aplicando la Proposición 11.4 obtenemos
n �
k
�
i=0 j=1
con
c1i (x) :=
=
(τi−j − t)Ni,k (x) =
n−1
�
� 1
ci (x)Ni,k−1 (x)
i=0
j=1
(τi−j − t)
= (x − t)
(τi − x)(τi−k − t) + (x − τi−k )(τi − t)
τi − τi−k
k−1
�
j=1
(τi−j − t)
i=0 j=1
(τi−j − t)Ni,k (x) = (x − t)
n−1
� � k−1
�
i=0
j=1
(τi−j − t)Ni,k−1 (x) = (x − t)k .
Derivando respecto a t la identidad de Marsden, se obtienen fórmulas
para representar cualquier potencia de x − t en términos de B-splines
�
�
n
�
J⊆{1,...,k};#J=r
j∈J (τi−j − t)
r
(x − t) =
Ni,k (x), x ∈ [a, b].
�k �
r
i=0
Tomando t = 0 se obtiene
�
�
n
�
J⊆{1,...,k};#J=r
j∈J τi−j
r
x =
Ni,k (x),
�k �
i=0
r
131
n
�
τi−k + · · · + τi−1
k
i=0
Ni,k (x) = x,
x ∈ [a, b].
La fórmula de Leibniz general no es necesaria para demostrar las fórmulas
(11.1–3). Basta con obtener una fórmula que permita expresar la diferencia
dividida cuando multiplicamos por un factor de primer grado.
Lema 11.6. Sea f una función suficientemente diferenciable para que quede
definida [x0 , . . . , xk ]f , es decir, f admite derivadas continuas hasta orden
m(xi ) − 1, m(xi ) = #{j ∈ {0, . . . , k} : j = i} en cada punto xi , i = 0, . . . , k
y sea g(x) = (x − x0 )f (x). Entonces
[x0 , . . . , xk ]g = [x1 , . . . , xk ]f.
si τi−k < τi . Por la hipótesis de inducción tenemos
n �
k
�
El caso r = 1 nos permite obtener una representación de la función lineal x
en términos de la base de B-splines
Otra demostración de las relaciones de recurrencia de de Boor
k
k
τi − x �
x − τi−k �
(τi−j − t) +
(τi+1−j − t)
τi − τi−k j=1
τi − τi−k j=1
k−1
�
El caso particular r = 0, da lugar a la propiedad de normalización de la base
de B-splines
n
�
Ni,k (x) = 1, x ∈ [a, b].
x ∈ [a, b].
Demostración. Veamos el resultado por inducción sobre k. Para k = 1
tenemos
(x1 − x0 )f (x1 )
[x0 , x1 ]g =
= f (x1 ) = [x1 ]f,
x1 − x0
si x1 �= x0 . En caso contrario, teniendo en cuenta que g � (x) = (x − x0 )f � (x) +
f (x), vemos que
[x0 , x0 ]g = g � (x0 ) = f (x0 ) = [x0 ]f.
Supongamos la propiedad cierta para k y veamos que se verifica para k + 1.
Si hay dos puntos distintos en la sucesión x1 , . . . , xk+1 , podemos ordenarlos
para que éstos sean x1 y xk+1 y tenemos
[x0 , x2 , . . . , xk+1 ]g − [x0 , x1 , . . . , xk+1 ]g
xk+1 − x1
[x2 , . . . , xk+1 ]f − [x1 , . . . , xk+1 ]f
=
= [x1 , . . . , xk+1 ]f.
xk+1 − x1
[x0 , . . . , xk+1 ]g =
132
Tomando f (t) = (t − x)k+1
en la fórmula anterior, obtenemos
+
Si todos los puntos de la sucesión x1 = · · · = xk+1 tenemos
[k+1]
[x0 , x1
[k+1]
]g =
[x1
[k]
[k+1]
[k]
]g − [x0 , x1 ]g
[x
]g − [x1 ]f
= 1
.
x1 − x0
x1 − x0
Teniendo en cuenta que g (k) (x) = (x − x0 )f (k) (x) + kf (k−1) (x), tenemos
[k+1]
[x1
]g
[k]
[x1 ]f
−
x1 − x0
=
g (k) (x1 ) − kf (k−1) (x1 )
f (k) (x1 )
[k+1]
=
= [x1
]f,
k!(x1 − x0 )
k!
luego
[k+1]
[x0 , x1
[k+1]
]g = [x1
]f.
Si todos los puntos son coincidentes, podemos aplicar la fórmula g (k+1) (x) =
(x − x0 )f (k+1) (x) + (k + 1)f (k) (x) obteniendo
[k+2]
[x0
]g =
g (k+1) (x0 )
f (k) (x0 )
[k+1]
=
= [x0
]g.
(k + 1)!
k!
Ahora podemos ofrecer una demostración alternativa del Teorema 11.1.
La fórmula de interpolación de Lagrange en τ0 , τk+1 , permite expresar
cualquier polinomio p ∈ P1 en términos de sus valores en τ0 y τk+1
τk+1 − t
t − τ0
p(t) =
p(τ0 ) +
p(τk+1 ).
τk+1 − τ0
τk+1 − τ0
aplicando la fórmula anterior al polinomio p(t) = t − x, donde x es un
parámetro arbitrario obtenemos la representación
τk+1 − t
t − τ0
t−x=
(τ0 − x) +
(τk+1 − x).
τk+1 − τ0
τk+1 − τ0
Por tanto tenemos para cualquier función f
(t − x)f (t) =
x − τ0
τk+1 − x
(t − τk+1 )f (t) +
(t − τ0 )f (t).
τk+1 − τ0
τk+1 − τ0
N (x; τ0 , . . . τk+1 ) =
x − τ0
τk+1 − x
N (x; τ0 , . . . , τk ) +
N (x; τ1 , . . . τk+1 ).
τk+1 − τ1
τk − τ0
La fórmula es válida, excepto si x es un punto de discontinuidad de alguno
de los B-splines que aparecen en la relación. En el caso de que alguno de los
nudos esté repetido k + 1 veces puede deducirse que el término que contiene
un B-spline con todos sus nudos iguales es nulo. Finalmente, la fórmula se
extiende a los puntos de discontinuidad teniendo en cuenta que todas las
funciones que aparecens son continuas por la derecha.
Como consecuencia del lema anterior, también se deduce el siguiente
resultado
Proposición 11.7. Sean τ0 ≤ τ1 ≤ · · · ≤ τk+1 con τ0 < τi < τk+1 , entonces
N (τi ; τ0 , . . . , τk+1 ) = N (τi ; τ0 , . . . , τi−1 , τi+1 , . . . , τk+1 ).
Demostración.
N (τi ; τ0 , . . . , τk+1 ) = (τk+1 − τ0 )[τ0 , . . . , τk+1 ](· − τi )k+
Tomando f (x) := (x − τi )k−1
y teniendo en cuenta que g(x) := (x − τi )f (x) =
+
(x − τi )k+ podemos aplicar el Lema 11.6 y deducir que
[τ0 , . . . , τk+1 ](· − τi )k+ = [τ0 , . . . , τi−1 , τi+1 , . . . , τk+1 ](· − τi )k−1
+
Por tanto, si τ0 < τi < τk+1 , tendremos
N (τi ; τ0 , . . . , τk+1 ) = (τk+1 − τ0 )[τ0 , . . . , τk+1 ](· − τi )k+ =
k−1
(τk+1 − τ0 )[τ0 , . . . , τi−1 , τi+1 , . . . , τk+1 ](· − τi )+
=
N (τi ; τ0 , . . . , τi−1 , τi+1 , . . . , τk+1 ).
y aplicando el Lema 11.6, obtenemos la siguiente relación de recurrencia entre
diferencias divididas
[τ0 , · · · , τk+1 ]((· − x)f ) =
(x − τ0 )[τ0 , . . . , τk ]f + (τk+1 − x)[τ1 , . . . , τk+1 ]f
.
τk+1 − τ0
133
134
12. Independencia lineal local
Una propiedad notable de las funciones B-spline es la independencia lineal
local.
Definición 12.1. Un sistema de funciones (f0 , . . . , fn ), fi : D → R, i =
0, . . . , n, es localmente linealmente independientes si para todo abierto I,
n
�
i=0
ci fi (x) = 0, ∀x ∈ I ∩ D =⇒ ci fi (x) = 0, ∀x ∈ I ∩ D.
La definición significa que para que una combinación lineal de funciones
sea nula sobre un abierto relativo, aquellas funciones con coeficiente no nulo
deben anularse en dicho abierto. Una segunda interpretación de la definición
anterior, es la siguiente: para cada abierto relativo U = D ∩ I, se considera
0 ≤ i1 < · · · < ik ≤ n, tales que
fi |U �= 0 ⇐⇒ i ∈ {i1 , . . . , ik };
entonces las restricciones de las funciones a U no identicamente nulas sobre
U
(fi1 |U , . . . , fik |U )
forman un sistema de funciones linealmente independiente.
La independencia lineal local es más fuerte que la mera independencia
lineal. En efecto, si (f0 , . . . , fn ) es un sistema de funciones localmente linealmente independiente en el que ninguna función es idénticamente nula,
tomando como abierto relativo D, se deduce que las funciones f0 , . . . , fn son
linealmente independientes.
Ejemplo. La independencia no implica la independencia lineal local. Consideremos el sistema de funciones spline (n > k) con nudos en τ0 < · · · < τn .
(x − τ0 )k+ , (x − τ1 )k+ , . . . , (x − τn )k+ .
Se trata de potencias truncadas, y ya hemos visto que estas funciones son linealmente independientes. La restricción de estas funciones al intervalo abierto (τn , +∞), son polinomios de grado k
(x − τi )k+ = (x − τi )k ,
135
x > τn .
Los polinomios de grado k sobre cualquier abierto forman un espacio de dimensión k + 1. Puesto que tenemos un sistema de n + 1 > k + 1 funciones
sobre el abierto (τn , +∞), debe existir alguna relación de dependencia lineal
entre dichas funciones sobre (τn , +∞).
En algunos espacios, la independencia lineal local de funciones no nulas
equivale a la independencia lineal. Sean p0 , . . . , pn polinomios linealmente
independientes
definidos sobre un intervalo de interior no
Supongamos
�n
�vacı́o.
n
que i=0 ci pi se anula en un abierto relativo.
Entonces
c
p
i
i se anula en
i=0
�n
infinitos puntos y, por el Corolario 4.2, i=0 ci pi debe ser el polinomio nulo.
Como p0 , . . . , pn son linealmente independientes, los coeficientes c0 , . . . , cn
deben ser todos nulos. Por tanto, en los espacios de funciones polinómicas
sobre un intervalo de interior no vacı́o, todo conjunto de funciones linealmente
independientes es también localmente linealmente independiente.
Observación
�n12.2. Supongamos que para ciertos conjuntos (Iα ), α ∈ A, se
tiene que si i=0 ci ui se
en Iα ∩D, entonces
cada sumando ci ui se anula
�anula
�
n
en Iα ∩D. Entonces si i=0 ci ui se anula en α∈A Iα ∩D, tendremos que cada
sumando ci ui se anula
� en todos los conjuntos Iα ∩ D , α ∈ A, y también se
anulará en la unión α∈A Iα ∩D. Por tanto, para comprobar la independencia
lineal local basta con considerar una base cualquiera de abiertos. En particular
los intervalos abiertos intersecados con el dominio forman una base de abiertos
relativos. Por tanto, la Definición 12.1, puede formularse equivalentemente
considerando sólo conjuntos I que sean intervalos abiertos.
Lema 12.3. Sea
τ−k−1 = · · · = τ−1 = a < τ0 ≤ · · · ≤ τn−k−1 < b = τn−k = · · · = τn
una sucesión extendida de nudos, τi−k−1 < τi , i = 0, . . . , n, y sea
Ni,k (x) := N (x; τi−k−1 , . . . , τi ),
i = 0, . . . , n,
la base de B-splines del espacio Sk (τ0 , . . . , τn−k−1 )[a, b]. Si una función spline
s(x) :=
n
�
ci Ni,k
(12.1)
i=0
se anula en un abierto no vacı́o contenido en el intervalo (τj−1 , τj ), τj−1 < τj ,
entonces
cj = cj+1 = · · · = cj+k = 0.
136
Demostración. Sea I ⊆ (τj−1 , τj ) un abierto no vacı́o. En el intervalo
(τj , τj+1 ), todos los sumandos del miembro derecho de (12.1) son nulos excepto aquellos para los que supp Ni,k ∩ (τj , τj+1 ) �= ∅. Por Proposición 10.4,
supp Ni,k ⊆ [τi−k−1 , τi ], luego si x ∈ (τj , τj+1 ), la suma se reduce a k + 1
sumandos
j+k
�
ci Ni,k (x), x ∈ (τj , τj+1 ),
s(x) =
�j+k
se deduce que, si s(x) se anula en I, entonces el polinomio i=j ci qi (x) de
grado menor o igual que �
k deberá anularse en todos los puntos de I, lo que
n
implica que el polinomio i=0 ci qi (x) coincide con el polinomio nulo. Teniendo en cuenta la independencia lineal de los qi , i = j, . . . , j + k, se deduce que
cj = · · · = cj+k = 0.
Teorema 12.4. Sea
i=j
Veamos ahora que los polinomios qi ∈ Pk , tales que
qi |(τj ,τj+1 ) = Ni,k |(τj ,τj+1 ) ,
i = j, . . . , j + k,
son linealmente independientes. Como cualquier monomio xr , r = 0, . . . , k,
pertenece al espacio de splines Sk (τ0 , . . . , τp )[a, b], xr tendrá una expresión en
términos de los elementos de la base
xr =
n
�
τ−k−1 = · · · = τ−1 = a < τ0 ≤ · · · ≤ τn−k−1 < b = τn−k = · · · = τn
una sucesión extendida de nudos, τi−k−1 < τi , i = 0, . . . , n. Entonces la base
de B-splines del espacio Sk (τ0 , . . . , τp )[a, b],
Ni,k (x) := N (x; τi−k−1 , . . . , τi ),
es localmente linealmente independiente.
Demostración. Suponer que
αi,r Ni,k (x)
i=0
y restringiendo nuestra atención al intervalo (τj , τj+1 ), deducimos que
xr =
j+k
�
i=j
j+k
�
αi,r qi (x),
s(x) =
i=0
ci Ni,k (x) =
ci Ni,k (x) =
i=j
j+k
�
i=j
137
(12.1)
Como consecuencia de la independencia lineal local, se deduce el siguiente
resultado
en particular qi , i = j, . . . , j + k, forman un sistema generador del espacio de
los polinomios de grado menor o igual que k. Como dim Pk = k+1, deducimos
que qi son linealmente independientes. Teniendo en cuenta que
j+k
�
ci Ni,k (x)
i=0
r = 0, . . . , k,
i=j
n
�
n
�
Como [τi−k−1 , τi ] ∩ I �= ∅, el intervalo abierto I cortará a algún intervalo
de la forma (τj−1 , τj ) con τi−k−1 ≤ τj−1 < τj ≤ τi , luego i − k ≤ j ≤ i.
Aplicando el Lema 12.3 al abierto I ∩(τj−1 , τj ), deducimos que deben anularse
todos los coeficientes cj , cj+1 , . . . , cj+k y como i ∈ {j, . . . , j + k}, deducimos
que ci = 0.
Esto se traduce en una propiedad de los polinomios qi ,
xr =
s(x) :=
es nula sobre algún abierto relativo I ∩ [a, b] y que supp Ni,k ∩ I �= ∅.
x ∈ (τj , τj+1 ).
αi,r Ni,k (x),
i = 0, . . . , n,
ci qi (x),
∀x ∈ (τj , τj+1 ),
Corolario 12.5. supp N (·; τ0 , . . . , τk+1 ) = [τ0 , τk+1 ].
Demostración. Sea a < τ0 < τk+1 < b. Añadamos nudos extra τ−k−1 =
· · · = τ−1 = a y b = τk+2 = . . . = τ2k+2 . Sabemos que la base
Ni,k (x) := N (x; τi−k−1 , . . . , τi ),
138
i = 0, . . . , 2k + 2,
es localmente linealmente independiente. Consideremos la restricción de la
base a un subintervalo (τj−1 , τj ), τj−1 < τj , con 0 ≤ j ≤ k. Por la independencia lineal local, sabemos que Ni,k |(τj−1 ,τj ) , i = j, . . . , j + k, es una base
de Pk en dicho subintervalo, luego Ni,k |(τj−1 ,τj ) �= 0, i = j, . . . , j + k. En
particular, Nk+1,k |(τj−1 ,τj ) es un polinomio no nulo. Por tanto [τj−1 , τj ] ⊆
supp Nk+1,k para todo 0 ≤ j ≤ n − 1, de donde se deduce que supp Nk+1,k =
N (·; τ0 , . . . , τk+1 ) = [τ0 , τk+1 ].
para todo i tal que ci �= 0. Por tanto, tenemos
La independencia lineal local de la base de B-splines permite calcular el
soporte de cualquier función spline
13. Inserción de nudos
Proposición 12.6. Sea
τ−k+1 = · · · = τ−1 = a < τ0 ≤ · · · ≤ τn−k−1 < b = τn−k = · · · = τn
�
ci �=0
Una pregunta que surge de forma natural es si podemos obtener una representación común de funciones spline con nudos distintos y el mismo grado.
Supongamos que tenemos dos funciones spline asociadas a distintas sucesiones
extendidas de nudos
una sucesión extendida de nudos, τi−k−1 < τi , i = 0, . . . , n y
Ni,k (x) := N (x; τi−k−1 . . . , τi ),
i = 0, . . . , n.
τ : τ−k−1 = · · · = τ−1 = a < τ0 ≤ · · · ≤ τn−k−1 < b = τn−k = · · · = τn ,
con τi−k−1 < τi , i = 0, . . . , n y
Entonces se tiene
supp
�
n
�
i=0
�
�
ci Ni,k =
[τi−k−1 , τi ],
ci �=0
es decir, el soporte de una función spline es la unión de los soportes de las
funciones B-spline con coeficientes no nulos.
�n
�
Demostración. Sea s(x) = i=0 ci Ni,k (x). Si x ∈
/ ci �=0 [τi−k−1 , τi ], entonces Ni,k (x) = 0 para todo i tal que ci �= 0. Se deduce que ci Ni,k (x) = 0
para todo i = 0,
�. . . , n, de donde s(x) = 0. Luego s(x) se anula en el abierto
relativo [a, b] \ ci �=0 [τi−k−1 , τi ], es decir
supp s(x) ⊆
�
[τi−k−1 , τi ].
ci �=0
[τi−k−1 , τi ] ⊆ supp s(x).
�
�
τ � : τ−k−1
= · · · = τ−1
= a < τ0� ≤ · · · ≤ τn� � −k−1 < b = τn� � −k = · · · = τn� � .
�
τi−k−1
< τi� , i = 0, . . . , n� . Asociada a cada partición tenemos una base
correspondiente de B-splines
Ni,k,τ (x) = N (x; τi−k−1 , . . . , τi ),
i = 0, . . . , n,
�
Ni,k,τ � (x) = N (x; τi−k−1
, . . . , τi� ),
i = 0, . . . , n� ,
y
�
de modo que cada función spline de Sk (τ )[a, b] y de Sk (τ�
)[a, b] es combin
nación de los elementos de su base respectiva de B-splines i=0 ci,τ Ni,k,τ y
� n�
�
�
i=0 ci,τ Ni,k,τ . Una pregunta que surge de modo natural es si ambos splines
son elementos de algún espacio de funciones spline.
Por otro lado, s se anula en el abierto relativo [a, b] \ supp s. Sea i ∈
{0, . . . , n} tal que ci �= 0. Como la base de B-splines es localmente linealmente
independiente, Ni,k tiene que anularse en el abierto relativo [a, b] \ supp s. Se
deduce que
[τi−k−1 , τi ] = supp Ni,k ⊆ supp s,
Dadas dos particiones extendidas τ y τ � , siempre existe una partición
más fina que ambas, que denotamos por τ ∨ τ � , que se obtiene con los nudos
de ambas, asignándoles a los nudos comunes la máxima multiplicidad de la
que se encuentra en ambas particiones. Todas las funciones de Sk (τ )[a, b] y
de Sk (τ � )[a, b] pueden representarse como combinación lineal de las funciones
B-spline Ni,k,τ̄ , respecto a la partición τ̄ = τ ∨ τ � .
139
140
Por tanto, el problema de encontrar una representación común
�n a splines
con nudos distintos se reduce a expresar una función spline s = i=0 ci,τ Ni,k,τ
respecto a la base de B-splines Ni,k,τ̄ de una partición más fina τ̄ y cómo expresar los coeficientes ci,τ̄ respecto a dicha base en términos de los coeficientes
dados ci,τ .
El problema más simple de este tipo es la inserción de un solo nudo. Cualquier partición τ̄ más fina que una dada τ puede obtenerse de ésta mediante
inserción sucesiva de nudos.
En la inserción de un solo nudo aumentamos la sucesión extendida, o
bien añadiendo un nuevo nudo simple, o bien aumentando la multiplicidad de
un nudo ya existente cuya multiplicidad sea inferior a k + 1. Por tanto, si la
partición más gruesa es de la forma
τ̂ : τ̂−k−1 = · · · = τ̂−1 = a < τ̂0 ≤ · · · ≤ τ̂n−k−1 < b = τ̂n−k = · · · = τ̂n ,
la partición más fina tiene que ser de la forma
τ : τ−k−1 = · · · = τ−1 = a < τ0 ≤ · · · ≤ τn−k < b = τn−k+1 = · · · = τn+1 .
En la partición más fina τ ningún nudo debe tener multiplicidad mayor que
k + 1, luego debe verificarse τi−k−1 < τi , i = 0, . . . , n + 1. Sea τl el nudo
insertado en la sucesión τ̂ y m̂ = m(τl ; τ̂ ) la multiplicidad de τl en la sucesión
τ̂ . Si el nudo no pertenecı́a a la sucesión τ̂ , entonces m̂ = 0 y estamos
añadiendo un nuevo nudo simple, luego
τ̂l−1 = τl−1 < τl < τl+1 = τ̂l .
Si el nudo ya estaba presente, 0 < m̂ < k + 1, lo insertamos aumentando la
multiplicidad m̂. El ı́ndice l del nudo insertado queda unı́vocamente determinado por la condición
τl−m̂−1 < τl−m̂ = · · · = τl < τl+1 .
(13.1)
Una vez elegido el ı́ndice l del nudo insertado queda establecida la siguiente
relación entre ambas particiones
τi = τ̂i ,
i = −k − 1, . . . , l − 1,
τi+1 = τ̂i ,
i = l, . . . , n.
(13.2)
Para obtener la relación entre dos bases de funciones splines respecto a
dos particiones diferentes necesitamos
141
Proposición 13.1 (Fórmula de inserción de nudos). Si τ0 ≤ · · · ≤ τk+2
con τ0 < τk+1 , τ1 < τk+2 y τ0 < τl < τk+2 , entonces
τ l − τ0
N (x; τ0 , . . . , τk+1 )
τk+1 − τ0
τk+2 − τl
+
N (x; τ1 , . . . , τk+2 )
τk+2 − τ1
N (x; τ0 , . . . , τl−1 , τl+1 , · · · , τk+2 ) =
(13.3)
Demostración. Partimos de la relación de recurrencia entre diferencias divididas
[τ0 , . . . , τk+2 ]f =
[τ0 , . . . , τl−1 , τl+1 , · · · , τk+2 ]f − [τ0 , . . . , τk+1 ]f
,
τk+2 − τl
[τ0 , . . . , τk+2 ]f =
[τ1 , . . . , τk+2 ]f − [τ0 , . . . , τl−1 , τl+1 , · · · , τk+2 ]f
.
τl − τ0
y
Igualando ambas ecuaciones obtenemos
(τk+2 − τ0 )[τ0 , . . . , τl−1 , τl+1 , · · · , τk+2 ]f = (τl − τ0 )[τ0 , . . . , τk+1 ]f
+ (τk+2 − τl )[τ1 , . . . , τk+2 ]f
Tomando f = (· − x)k+ , se deduce el resultado.
Observemos que las bases de B-splines tienen algunos elementos comunes. Siempre que la sucesión de nudos τ̂i−k−1 , . . . , τ̂i correspondientes a Ni,τ̂
corresponda a una sucesión de nudos consecutivos en τ , podremos identificar Ni,τ̂ con algún elemento de la base de B-splines respecto de τ . En caso
contrario la Proposición 13.1 nos proporciona la relación entre ambas bases.
Teorema 13.2. Sea
τ̂ : τ̂−k−1 = · · · = τ̂−1 = a < τ̂0 ≤ · · · ≤ τ̂n−k−1 < b = τ̂n−k = · · · = τ̂n ,
una sucesión extendida de nudos y sea
τ : τ−k−1 = · · · = τ−1 = a < τ0 ≤ · · · ≤ τn−k < b = τn−k+1 = · · · = τn+1 .
la sucesión obtenida al insertar el nudo τl de modo que
τl−m̂−1 < τl−m̂ = · · · = τl < τl+1 ,
142
donde m̂ es la multiplicidad del nudo insertado en la sucesión τ̂ . Entonces
Ni,k,τ̂ =

 Ni,k,τ ,

τl −τi−k−1
τi −τi−k−1 Ni,k,τ
Ni,k,τ ,
+
τi+1 −τl
τi+1 −τi−k Ni+1,k,τ
si 0 ≤ i ≤ l − 1,
si l ≤ i ≤ l + k − m̂,
si i ≥ l + k − m̂ + 1.
Demostración. La función B-spline Ni,k,τ̂ utiliza los nudos τ̂j , j = i − k −
1, . . . , i.
Para i = 0, . . . , l − 1, tenemos que los nudos correspondientes a Ni,k,τ̂
son de la forma τj con j ≤ i ≤ l − 1 y por (13.2) tenemos τ̂j = τj . Por tanto,
podemos afirmar que
0, . . . , n + 1, en la que hemos insertado el nudo τl . Tenemos
s=
+
Finalmente para i = l, . . . , l + k − m̂, se tiene que los nudos consecutivos τ̂i−k−1 , . . . , τ̂i de la partición τ̂ no corresponden a nudos consecutivos
en la partición más fina τ ya que τ̂i−k−1 = τi−k−1 < τl < τi+1 = τ̂i . Como Ni,k,τ̂ es una función del espacio de funciones localmente soportadas
Sk0 (τi−k−1 , . . . , τi , τi+1 ), Ni,k,τ̂ sólo puede ser combinación lineal de dos Bsplines, Ni,k,τ y Ni+1,k,τ . Aplicando la Proposición 13.1, deducimos que
Ni,k,τ̂ (x) =
τl − τi−k−1
τi+1 − τl
Ni,k,τ (x) +
Ni+1,k,τ (x).
τi − τi−k−1
τi+1 − τi−k
Observemos que todo B-spline Ni,k,τ̂ se expresa como una combinación
no negativa de los B-splines de la base correspondiente a la partición más fina.
Apliquemos el
anterior para encontrar los coeficientes ci,τ de
�teorema
n
un spline s(x) = i=0 ci,τ̂ Ni,k,τ̂ respecto a la base de B-splines Ni,k,τ , i =
143
l+k−
�m̂
ci,τ̂
i=l
n
�
ci,τ̂ Ni+1,k,τ =
+
l+k−
m̂+1
�
i=l+1
l
�
l−1
�
ci,τ̂ Ni,k,τ +
ci,τ̂ Ni,k,τ +
l+k−
�m̂ �
i=l+1
n+1
�
l+k−
�m̂
i=l
τi − τl
ci−1,τ̂ Ni,k,τ +
τi − τi−k−1
i=0
+
�τ − τ
�
τi+1 − τl
l
i−k−1
Ni,k,τ +
Ni+1,k,τ
τi − τi−k−1
τi+1 − τi−k
i=0
i=l+k−m̂+1
Ni,k,τ̂ (x) = N (x; τ̂i−k−1 , . . . , τ̂i ) = N (x; τi−k−1 , . . . , τi ) = Ni,k,τ (x).
Ni,k,τ̂ (x) = N (x; τ̂i−k−1 , . . . , τ̂i ) = N (x; τi−k , . . . , τi+1 ) = Ni+1,k,τ (x).
ci,τ̂ Ni,k,τ +
i=0
=
Para i = l + k − m̂ + 1, . . . , n, los nudos correspondientes a Ni,k,τ̂ son de
la forma τj con j ≥ i − k − 1 ≥ l − m̂. Si j ≥ l, entonces por (13.2) τ̂j = τj+1 .
En caso contrario, si l − m̂ ≤ j < l, y por (13.1) y (13.2) tendremos que
τ̂j = τj = τl = τj+1 . Por tanto
l−1
�
n+1
�
τl − τi−k−1
ci,τ̂ Ni,k,τ
τi − τi−k−1
ci−1,τ̂ Ni,k,τ
i=l+k−m̂+2
�
τl − τi−k−1
τi − τ l
ci,τ̂ +
ci−1,τ̂ Ni,k,τ
τi − τi−k−1
τi − τi−k−1
ci−1,τ̂ Ni,k,τ .
i=l+k−m̂+1
Observemos que las condiciones i ≤ l, l + 1 ≤ i ≤ l + k − m̂, i ≥ l + k − m̂ + 1
equivalen respectivamente a afirmar que τi ≤ τl , τi−k−1 < τl < τi , τl ≤ τi−k−1 .
Por lo tanto, los coeficientes ci,τ son
ci,τ :=

c ,

 τi,τ̂− τ
l
i−k−1

 τi − τi−k−1
ci−1,τ̂ ,
ci,τ̂
τi − τl
+
ci−1,τ̂ ,
τi − τi−k−1
si τi ≤ τl ,
si τi−k−1 < τl < τi ,
si τl ≤ τi−k−1 .
Evaluación en un nudo
Aplicando la fórmula de recurrencia de de Boor (11.1) a la fórmula de insercion de nudos (13.3), tenemos una nueva demostración de la Proposición
11.7. Si τ0 < τk+1 y τ1 < τk+2 entonces
N (τl ; τ0 , . . . , τk+2 ) = N (τl ; τ0 , . . . , τl−1 , τl+1 , · · · , τk+2 ),
en otras palabras el valor de una función B-spline de grado k + 1 en el nudo
τl coincide con el valor de la función B-spline de grado k en el que se ha
suprimido el nudo τl de la sucesión extendida.
144
El resultado es válido también para los nudos extremos si tenemos discontinuidad de los B-spline en dichos nudos en virtud de las fórmulas (11.2)
y (11.3).
[k+1]
N (τ0 ; τ0
14. Curvas B-spline
Dada la sucesión extendida de nudos en el intervalo [a, b]
[k]
τ−k−1 = · · · = τ−1 = a < τ0 ≤ · · · ≤ τn−k−1 < b = τn−k = · · · = τn
, τk+2 ) = 1 = N (τ0 ; τ0 , τk+2 ),
[k+1]
N (τk+2 ; τ0 , τk+2 )
=0=
[k]
N (τk+2 ; τ0 , τk+2 ).
Sea ahora τ una sucesión de nudos obtenida al insertar el nudo τl en la sucesión
τ̂ . Aplicando las fórmulas anteriores a una base de B-splines tenemos
y un polı́gono de control P0 · · · Pn , la curva B-spline de grado k asociada es
γ(t) =
n
�
Pi Ni,k (t),
i=0
Ni,k+1,τ (τl ) = Ni,k,τ̂ (τl ),
si τi−k−2 < τl < τi .
También tenemos
Ni,k,τ̂ (τl ) = Ni,k,τ (τl ) = Ni,k+1,τ (τl ),
si τl = τi−k−2
y
Ni,k,τ̂ (τl ) = Ni+1,k,τ (τl ) = Ni,k+1,τ (τl ),
si τl = τi .
Además
Ni,k+1,τ (τl ) = 0 = Ni,k,τ̂ (τl )
si τl ∈
/ [τi−k−2 , τi ]
siendo Ni,k (t) = N (t; τi−k−1 , . . . , τi ), i = 0, . . . , n. Observemos que las curvas
B-spline son curvas paramétricas tales que cada componente de la curva es
una función del espacio Sk (τ0 , . . . , τn−k−1 )[a, b].
Al igual que las curvas de Bézier, la base de B-splines es una ley de
mezclas, ası́ que tenemos la propiedad de la cápsula convexa.
Si i ≥ k +1 y τi−k−1 > a, entonces a ∈
/ supp Ni,k , de donde se deduce que
Ni,k (a) = 0. Si 1 ≤ i ≤ k, entonces Ni,k es continua en un entorno del nudo
τi−k = a, y como Ni,k (t) = 0 para
�n todo t ≤ a, vemos que Ni,k (a) = 0. Por
último, teniendo en cuenta que i=0 Ni,k (a) = 1, se deduce que N0,k (a) = 1.
Por tanto, tenemos que
N0,k (a) = 1,
Por tanto, tenemos
Ni,k+1,τ (τl ) = Ni,k,τ̂ (τl ),
i = 0, . . . , n.
�n
�n
Se deduce que si s(x) = i=0 ci Ni,k+1,τ (x) y ŝ(x) = i=0 ci Ni,k,τ̂ (x),
entonces s(τl ) = ŝ(τl ). Es decir, el valor de una función spline en un nudo
coincide con el valor de una función spline de grado inferior cuyos coeficientes
respecto a la base de B-splines en las que se ha suprimido dicho nudo son
idénticos a los coeficientes respecto a la base de B-splines respecto a la sucesión
de nudos original.
Ni,k (a) = 0,
Teniendo en cuenta que las función B-spline Nn,k , discontinua en b, se redefine
para que sea continua por la izquierda en b, puede mostrarse que
Nn,k (b) = 1,
Ni,k (b) = 0,
i = 0, . . . , n − 1,
de donde se deduce que las curvas B-spline verifican la propiedad de interpolación en los extremos.
Las abscisas de Greville correspondientes a la base de funciones B-spline
son
τi−k + · · · + τi−1
, i = 0, . . . , n,
k
lo que permite la reproducción de funciones lineales
ti =
n
�
ti Ni,k (t) = t,
i=0
145
i = 1, . . . , n.
146
e interpretar propiedades geométricas de las gráficas de las funciones B-spline
a través de su polı́gono de control. Observemos que si la curva B-spline es
continua, es decir no existe ningún nudo interior con multiplicidad k + 1,
entonces
τi − τi−k
ti+1 − ti =
> 0,
k
y las abscisas de Greville verifican
a = t0 < t1 < · · · < tn−1 < tn = b.
Para reproducir un segmento de lı́nea recta P0 Pn , basta con tomar el polı́gono
de control
b − ti
ti − a
Pi =
P0 +
Pn , i = 1, . . . , n,
b−a
b−a
y entonces la correspondiente curva B-spline es
γ(t) =
b−t
t−a
P0 +
Pn ,
b−a
b−a
Por definición de función B-spline tenemos
Ni,k (t) = N (t; τi−k−1 , . . . , τi ) = (τi − τi−k−1 )[τi−k−1 , . . . , τi ](· − t)k+ ,
derivando respecto al parámetro t en la fórmula anterior se obtiene
�
(t) = −k(τi − τi−k−1 )[τi−k−1 , . . . , τi ](· − t)k−1
Ni,k
+
�
�
k−1
k−1
= k [τi−k−1 , . . . , τi−1 ](· − t)+ − [τi−k , . . . , τi ](· − t)+
y, teniendo en cuenta la definición de B-spline, se deduce
Las curvas B-spline sin nudos internos corresponden al caso k = n y son
de especial interés. La sucesión de nudos es
τ−n−1 = · · · = τ−1 = a < b = τ0 = · · · = τn ,
y las funciones B-spline coinciden con los polinomios de Bernstein en el intervalo [a, b]
� ��
�n−i �
�i
n
b−t
t−a
,
i
b−a
b−a
t ∈ [a, b].
Por tanto, las curvas de Bézier pueden considerarse un caso particular de las
curvas B-spline.
�
N (t; τi−k−1 , . . . , τi−1 ) N (t; τi−k , . . . , τi )
−
τi−1 − τi−k−1
τi − τi−k
� N
�
Ni,k−1 (t)
i−1,k−1 (t)
=k
−
.
τi−1 − τi−k−1
τi − τi−k
�
(t) = k
Ni,k
t ∈ [a, b].
Probablemente las curvas B-spline cúbicas, sean las más utilizadas porque
conjugan sencillez en la representación, versatilidad y posibilidad de obtener
curvas suaves (con curvatura continua). Las curvas B-spline lineales son de
importancia especial, puesto que la curva asociada es una representación paramétrica del polı́gono de control P0 · · · Pn .
Bi,n,[a,b] (t) =
Derivada de una curva B-spline
En el caso de que τi−k−1 = τi−1 o τi−k = τi , tenemos las fórmulas
�
(t) = k
Ni,k
Ni−1,k−1 (t)
,
τi−1 − τi−k−1
�
Ni,k
(t) = −k
Ni,k−1 (t)
.
τi − τi−k
�n
Sea γ(t) = i=0 Pi Ni,k (t) una curva B-spline. La derivada de la curva puede
expresarse en la forma
γ � (t) =
n
�
�
Pi Ni,k
(t) = k
i=0
n
�
i=0
Pi
� N
Ni,k−1 (t) �
i−1,k−1 (t)
−
,
τi−1 − τi−k−1
τi − τi−k
teniendo en cuenta que si hay k nudos repetidos, deben suprimirse los términos
correspondientes, podemos escribir
γ � (t) = k
n
�
i=1
=
n−1
�
i=0
147
�
n−1
Pi
� Ni,k−1 (t)
Ni−1,k−1 (t)
−k
Pi
τi−1 − τi−k−1
τi − τi−k
i=0
k
(Pi+1 − Pi )Ni,k−1 (t).
τi − τi−k
148
Por tanto, la derivada de una curva B-spline de grado k es una curva B-spline
de grado k − 1
n−1
� (1)
γ � (t) =
Pi Ni,k−1 (t),
Tomando j = k, se obtiene
γ(t) =
si τi−k < τi ,
si τi−k = τi .
Algoritmo de de Boor
Ni,k (t) =
aplicadas a una curva B-spline dan lugar a
γ(t) =
n
�
Pi Ni,k (t) =
i=0
siendo
Pi1 (t)
:=



n−1
�
Pi1 (t)Ni,k−1 (t),
i=0
τi − t
t − τi−k
Pi +
Pi+1 ,
τi − τi−k
τi − τi−k
si τi−k < τi ,
0,
si τi−k = τi .
En la suma anterior deben eliminarse los sumandos correspondientes a Bsplines con todos sus nudos repetidos, lo que justifica la elección de Pi1 (t) := 0
cuando τi+k−1 = τi . Reiterando el proceso, se obtiene para j = 1, 2, . . . , k − 1,
γ(t) =
n−j
�
Pij (t)Ni,k−j (t),
i=0
Pij (t)
donde los
pueden calcularse por la recurrencia

τi − t
t − τi−k+j−1 j−1

Pij−1 (t) +
Pi+1 (t), si τi−k+j−1 < τi ,
j
τ
−
τ
τ
i
i−k+j−1
i − τi−k+j−1
Pi (t) :=

0,
si τi−k+j−1 = τi .
149
Pik (t)1[τi−1 ,τi ) ,
i=0
El número de términos de la suma inicial puede reducirse considerablemente teniendo en cuenta en qué subintervalo de la partición de [a, b] inducida
por los nudos se encuentra t. En efecto si t ∈ [τr−1 , τr ) entonces Ni,k (t) = 0
para todo i < r y todo i > r + k, ası́ que tenemos
r+k
�
Pi Ni,k (t) =
i=r
τi − t
t − τi−k−1
Ni,k−1 (t) +
Ni−1,k−1 (t)
τi − τi−k
τi−1 − τi−k−1
n−k
�
de modo que si t ∈ [τr−1 , τr ), γ(t) = Prk (t).
γ(t) =
Las fórmulas de recurrencia para funciones B-spline
Pik (t)Ni,0 (t) =
i=0
i=0
cuyos puntos de control son

k


∆Pi ,
(1)
Pi = τi − τi−k


0,
n−k
�
r+k−j
�
Pij (t)Ni,k−j (t),
i=r
t ∈ [τr−1 , τr ).
Para tener continuidad en el último punto debemos considerar para t = b
el mismo algoritmo que en el último intervalo [τn−k−1 , b) correspondiente a
r = n−k−1. En los sucesivos pasos del algoritmo (j = 1, . . . , k−1) calculamos
solamente
Pij (t), i = r, . . . , r + k − j.
Esto permite ajustar el número de puntos intermedios necesarios para determinar el punto γ(t) = Prk (t). Como resultado se obtiene el algoritmo de de
Boor
Algoritmo de de Boor.
Buscar r tal que t ∈ [τr−1 , τr ); si t = b, tomar r = n − k
Para i = r, . . . , r + k
Pi0 (t) := Pi
Para j = 1, . . . , k
Para i = r, . . . , r + k − j
Si τi−k+j−1 = τi entonces
Pij (t) := 0
Si τi−k+j−1 �= τi entonces
τi − t
t − τi−k+j−1 j−1
Pij (t) :=
P j−1 (t) +
P
(t)
τi − τi−k+j−1 i
τi − τi−k+j−1 i+1
150
15. Propiedades variacionales del spline cúbico natural
Las funciones spline tienen buenas propiedades de interpolación, son buenos
aproximantes y o una herramienta flexible para el diseño de curvas. Una
justificación de la versatilidad de estas funciones proviene del hecho de que las
funciones splines cúbicas de clase C 2 son un modelo para la forma que adopta
una barra flexible apoyada en sus extremos o empotrada bajo la acción de
cargas concentradas. La fı́sica de materiales elásticos ha servido de base para
el diseño de curvas y superficies. Esto se debe al hecho de que la propiedad
de disminución de la variación rige la relación entre fuerzas y deformaciones
en el material. En cierto sentido puede afirmarse que las variaciones en las
deflexiones de un sólido elástico no pueden ser mayores que las variaciones de
las fuerzas que los crean.
Figura 16. Algoritmo de de Boor para una curva B-spline cúbica
Inserción de nudos
Sea τ una sucesión extendida de nudos que ha sido obtenida de la sucesión
original τ̂ insertando el nudo τl . Las fórmulas de inserción de nudos
Ni,k,τ̂ (t) =
τl − τi−k−1
τi+1 − τl
Ni,k,τ (t) +
Ni+1,k,τ (t).
τi − τi−k−1
τi+1 − τi−k
aplicadas a una curva B-spline dan lugar a
γ(t) =
n
�
Pi,τ̂ Ni,k,τ̂ (t) =
i=0
siendo
Pi,τ
n+1
�
Pi,τ Ni,k,τ (t),
i=0


 Pi,τ̂



τi − τl
τl − τi−k−1
:=
Pi−1,τ̂ +
Pi,τ̂ ,

τ
−
τ
τ
i
i−k−1
i − τi−k−1




Pi−1,τ̂ ,
si τi ≤ τl ,
si τi−k−1 < τl < τi ,
si τi−k−1 ≥ τl .
Un precedente de los sistemas de diseño que usan un control basado en la
propiedad de disminución de la variación se encuentra en los métodos tradicionales de diseño de cascos de barcos. La variaciones de la forma se obtenı́an
mediante la acción de cargas controladas sobre tablones. De hecho, la palabra
inglesa spline hace referencia a una varilla flexible sujeta mediante cargas de
plomo utilizada para facilitar el diseño de curvas. Por lo tanto, algunas de
las buenas propiedades de las curvas spline y parte de sus limitaciones pueden comprenderse mejor teniendo en cuenta las propiedades de los materiales
elásticos.
Cuando sobre un sólido rı́gido se ejercen fuerzas cuya resultante es nula
de modo que la suma de los momentos de las fuerzas sobre cualquier punto es
cero, el cuerpo se halla en equilibrio estático y no se mueve ningún punto del
sólido. Sin embargo, las fuerzas en equilibrio estático ejercidas sobre puntos
de aplicación diferentes crean un estado de tensión que se distribuye en el
medio elástico. Si el sólido es flexible, al ejercer este tipo de fuerzas el sólido
no tiene un movimiento perceptible pero el material sufre desormaciones, se
estira en algunas zonas, en otras se comprime y también se dobla y retuerce
para acomodarse al estado de tensión. Los esfuerzos del material describen el
estado de tensión de un sólido elástico y permiten deducir los deformaciones
en el sólido mediante la relación entre esfuerzo y deformación unitaria.
La inserción de nudos puede aplicarse reiteradamente y en cada paso es
un algoritmo de corte de esquinas similar a un paso del algoritmo de de BoorCox para la evaluación. De hecho, la inserción de un nudo varias veces hasta
obtener multiplicidad k equivale a la evaluación del B-spline en ese nudo.
El estudio de la relación entre fuerzas de tensión y deformaciones producidos en una barra puede ser complicado ya que hay que tener en cuenta
los múltiples factores que pueden intervenir: tipo de materiales, forma de la
barra, tipos de fuerzas que actúan. Para simplificar la descripción se suelen
imponer unas hipótesis muy restrictivas. Si estas hipótesis fallan puede com-
151
152
plicarse el modelo para incluir en la descripción los factores cuya influencia
es más patente o nos interesa resaltar.
Supondremos que tenemos una barra larga y delgada con sección constante y formada por un material isótropo. Esta hipótesis implica que si no
queremos detalles muy precisos podemos describir las deformaciones en la
barra a través de la forma de la lı́nea neutra, que es la lı́nea formada por
los centros de gravedad de las secciones. Si suponemos que la barra tiene
inicialmente una longitud de l y la lı́nea neutra en estado de reposo es un
segmento, podemos elegir coordenadas para que la posición inicial de la barra
venga descrita por (x, 0, 0), x ∈ [0, l].
Consideremos como ejemplo una viga sujeta a una pared, sobre la que
ejercemos una fuerza F de dirección normal a la pared con objeto de producir
un estiramiento. La viga reacciona a esta fuerza produciendo un desplazamiento d(x) que según la Ley de Hooke es proporcional a la fuerza ejercida.
Un análisis más detallado del problema nos revela que el desplazamiento es
directamente proporcional a la distancia x de la pared. Además para conseguir el mismo desplazamiento para una viga cuya sección tiene mayor área A
necesitamos ejercer una fuerza proporcionalmente mayor
d(x) =
Ex
F.
A
La constante E depende del material del que está hecha la viga y recibe el
nombre de módulo de Young. Se define esfuerzo como el cociente entre la
fuerza ejercida sobre una superficie y el área de dicha superficie S = F/A y la
deformación unitaria como el desplazamiento dividido para la longitud total
u(x) := d� (x) = d(x)/x del material que se ha desplazado. Entonces la ley de
Hooke puede expresarse en la forma
u(x) = ES.
En general, el estado de tensión de un sólido puede determinarse en cada
punto del material a través del tensor de esfuerzos S(x). En un entorno de
cada punto podemos construir pequeñas superficies de prueba y analizar la
cantidad de fuerza que ejerce la parte situada a un lado sobre la parte situada
en el otro lado. Dividiendo la fuerza para la superficie y haciendo tender el
área de la superficie hacia cero obtenemos un valor lı́mite para todas las superficies con la misma orientación. Si n es la normal a la superficie de prueba, y
153
x
L
F
x+d(x)
L+d(L)
Figura 17. Fuerza de tensión sobre una viga
A es el área de la superfice de prueba, tenemos que existe una aplicación lineal
que relaciona el vector A = An con el vector fuerza F. Esta aplicación lineal
describe el estado de tensión del solido en dicho punto y recibe el nombre de
tensor de esfuerzos. Existen diferentes tipos de esfuerzos dependiendo de la
acción de las fuerzas que ejercen los puntos del material en un entorno del
punto: esfuerzos de tensión, compresión, expansión, flexión, torsión, etc. Los
esfuerzos pueden clasificarse en dos tipos fundamentales: esfuerzos tensiles y
esfuerzos cortantes (o de cizalladura). Los esfuerzos tensiles corresponden a
la componente de la fuerza normal a la superficie y tienden a expandir o comprimir el material a lo largo de esa dirección. Los esfuerzos cortantes tienden
corresponden a la cumponente de la fuerza paralela a la superficie y tienden
a separar capas paralelas del material. Entre los esfuerzos cortantes podemos
distinguir el esfuerzo flector y el esfuerzo torsor que normalmente aparecen
combinados. Si las fuerzas paralelas a la superficie considerada actúan siempre en el mismo plano podemos despreciar los efectos de la torsión y aparecen
solamente esfuerzos flectores.
La deformación unitaria en un sólido expresa el estado de constricción del
material y puede expresarse en términos de derivadas direccionales del desplazamiento del material. La defomación unitaria en un punto es un tensor y
su expresión coordenada corresponde a una simetrización de la matriz Jacobiana del desplazamiento. Existen varios tipos de deformaciones: dilataciones
o contracciones, cuando la deformación se mide a lo largo de la dirección de
desplazamiento, o cizalladuras, cuando se mide a lo largo de una dirección
perpendicular al desplazamiento.
La proporcionalidad entre esfuerzo y deformación unitaria constituye uno
de los principios básicos de la teorı́a de la elasticidad y tiene validez en cual154
quier trozo pequeño del material cuando los esfuerzos y desplazamientos son
relativamente pequeños. Esto nos permite obtener relaciones entre los tensores de esfuerzos y deformaciones en cualquier punto del material considerado.
Si el material es isótropo las relaciones se simplifican notablemente.
Estudiemos ahora la flexión de una barra. Para eliminar en nuestro
estudio los efectos de la tensión y de la torsión supondremos que todas las
fuerzas que se ejercen sobre la barra son ortogonales a la lı́nea neutra y actúan
en un único plano produciendo flexión pura. Fijamos coordenadas para que
la posición inicial de la lı́nea neutra sea
(x, 0, 0),
x ∈ [0, l].
Como todas las fuerzas son paralelas podemos suponer que son de la forma
(0, Fi , 0),
describe la deflexión de una barra debido a cargas puntuales situadas sobre
ella.
Supongamos que nuestra barra se encuentra apoyada en ambos extremos.
De las condiciones de equilibrio estático
n
�
i = 1, . . . , n − 1,
y que sus puntos de aplicación respectivos son
(xi , 0, 0),
Figura 18. Fuerzas flectoras sobre una barra biapoyada
i=0
i = 1, . . . , n − 1,
donde
0 = x0 < x1 < · · · < xn−1 < xn = l.
Debido al carácter del problema, la barra sufrirá desplazamientos cuya componente en el eje OZ será nula, ası́ que la nueva posición de la lı́nea neutra
de la barra deformada será (x + d(x), y(x), 0), x ∈ [0, l]. Los desplazamientos
en la dirección de las fuerzas y(x) reciben el nombre de deflexiones. Con objeto de simplificar el estudio, despreciaremos los desplazamientos horizontales
d(x) ≈ 0, ya que son mucho menores que las deflexiones y(x). Esto es válido
si todas las fuerzas ejercidas sobre la barra son suficientemente pequeñas y
las deflexiones son relativamente pequeñas
|y � (x)| << 1,
x ∈ [0, l].
Queremos determinar la deflexión y(x) en términos de las fuerzas ejercidas.
Si todas las fuerzas Fi < 0, i = 1, . . . , n − 1, la solución de nuestro problema
155
n
�
xi Fi = 0,
i=0
donde x0 = 0, xn = l, podemos deducir la magnitud de las fuerzas de reacción
(0, F0 , 0) y (0, Fn , 0) en ambos extremos (0, 0, 0), (l, 0, 0):
F0 =
|y(x)| << 1,
Fi = 0,
n−1
−1 �
(l − xi )Fi ,
l i=1
Fn =
n−1
−1 �
x i Fi .
l i=1
Consideremos una superficie de separación normal a la lı́nea neutra en
un punto (x, y(x), 0) sobre el que no se aplican fuerzas. La resultante de
los momentos flectores que actúan desde un lado de la barra es igual a la
resultante de los momentos desde el otro lado dando lugar a un momento
flector
�
�
M (x) =
Fi (x − xi ) =
Fi (xi − x).
xi <x
�
xi >x
�
Observemos que M (0) = F0 y M (l) = −Fn .
Si la barra se encuentra empotrada el material circundante puede ejercer
en ambos extremos momentos opuestos M0 + Mn = 0, por lo que la expresión
del momento flector puede contener un término adicional
M (x) = M0 +
�
xi <x
Fi (x − xi ) = M (0) + M � (0)x +
156
n−1
�
i=1
Fi (x − xi )+ .
La ley de Euler-Bernoulli permite relacionar las fuerzas flectoras y las
deflexiones en una barra sometida a esfuerzos de flexión puros
κ(x) =
1
M (x),
R
siendo κ(x) la curvatura del eje neutro, M (x) el momento flector y R una
constante llamada rigidez flexural que depende de la geometrı́a de la sección
D y del material de la barra
R = EI,
siendo E el módulo de Young e I el llamado momento de inercia de área
�
I=
y 2 dydz.
D
Por ejemplo, para una barra de sección rectangular de anchura a y altura h,
el momento de inercia de área es I = ah3 /12.
La curvatura del eje neutro es
(1 + d� (x))y �� (x) − d�� (x)y � (x)
κ(x) =
((1 + d� (x))2 + y � (x)2 )3/2
y teniendo en cuenta que las fuerzas que intervienen no producen deflexiones
grandes podemos suponer que
�
d (x) ≈ 0,
de donde
��
d (x) ≈ 0,
�
y (x) ≈ 0,
κ(x) ≈ y �� (x).
Por lo tanto podemos expresar la ley de Euler-Bernoulli por la ecuación aproximada
1
y �� (x) = M (x), x ∈ [0, l].
R
Observemos que M (x) es una función spline de grado 1 en [0, l] con
nudos simples interiores en x1 , . . . , xn−1 , expresada en términos de la base de
potencias truncadas. Se deduce que la deflexión y es una función cúbica a
trozos de clase C 2 con nudos simples en los puntos x1 , . . . , xn−1 en los que se
encuentran aplicadas las cargas puntuales.
157
La deflexión queda completamente determinada adjuntando a la ecuación
diferencial anterior información sobre la posición de la barra en los extremos,
dando lugar a las condiciones de contorno y(0) = y(l) = 0. Si la barra se
encuentra biapoyada entonces los momentos de las fuerzas ejercidos sobre los
extremos son nulos M0 = Mn = 0 lo que lleva a las condiciones y �� (0) =
y �� (l) = 0, llamadas condiciones naturales. Entonces tenemos que
M (x) = −
n−1
n−1
n−1
�
�
x�
(l − xi )Fi +
Fi (x − xi )+ = −
Fi Γ(x, xi )
l i=1
i=1
i=1
donde Γ(x, ξ) = x(l − ξ)/l − (x − ξ)+ , es decir
�
x(l − ξ)/l, si x ≤ ξ,
Γ(x, ξ) =
ξ(l − x)/l, si x ≥ ξ.
Para el cálculo de la solución del problema, utilizaremos el principio de
superposición. Debido a la linealidad del problema
y �� (x) =
n−1
−1 �
Fi Γ(x, xi ),
R i=1
y(0) = y(l) = 0
bastará con calcular la solución del problema Y (x, ξ)
y �� (x) = −Γ(x, ξ),
y(0) = y(l) = 0.
La función Y (x, ξ) describe a la deflexión producida por una carga unitaria en
x = ξ y recibe el nombre de función de influencia (también función de Green)
del problema. Integrando el problema de contorno anterior, obtenemos

1 x(l − ξ) 2


(l − (l − ξ)2 − x2 ), si x ≤ ξ,

6
l
Y (x, ξ) =


 1 ξ(l − x) (l2 − (l − x)2 − ξ 2 ), si x ≥ ξ,
6
l
y entonces la deflexión puede expresarse en la forma
y(x) =
n−1
1 �
Fi Y (x, xi ).
R i=1
158
En el caso en que tengamos cargas asociadas a una densidad de fuerzas
f (x), el momento flector es de la forma
M (x) = M (0) + M � (0)x + A
�
x
0
f (x)(x − t)dt,
donde A denota el área de la sección recta de la viga. Derivando la expresión
anterior respecto a x obtenemos
��
M (x) = Af (x)
y la ley de Euler-Bernoulli, nos lleva a la siguiente ecuación diferencial aproximada
Af (x)
y (4) (x) =
.
R
La deflexión en el caso de una viga biapoyada queda determinada adjuntando
las condiciones de contorno naturales y(0) = y(l) = 0, y �� (0) = y �� (l) = 0. La
solución puede expresarse en términos de la función de influencia mediante la
fórmula
�
A l
y(x) =
Y (x, ξ)f (ξ)dξ.
R 0
La energı́a de flexión de una barra es el trabajo que realizan todas las
fuerzas que actúan para llevar a la barra desde la posición de equilibrio a una
posición dada. De la ley de Euler-Bernoulli, puede deducirse que la energı́a
de flexión de una barra admite la siguiente expresión
Hemos visto que si las deflexiones son pequeñas, el eje neutro puede ser
representado por (x, y(x), 0), x ∈ [0, l], con |y � (x)| � 1. En este caso la
energı́a de flexión puede expresarse en la forma
E=
R
2
�
κ(s)2 ds =
Por tanto, el valor
�l
0
R
2
�
l
0
y �� (x)2
(1 + y � (x)2 )
dx ≈
5/2
R
2
�
l
y �� (x)2 dx.
0
y �� (x)2 dx/2 es aproximadamente E/R.
Si la barra soporta cargas concentradas en posiciones x1 < · · · < xn−1 ,
podemos alterar su forma, controlando la magnitud de las cargas y/o modificando la posición en los extremos a = x0 , b = xn para forzar al eje neutro a
pasar por determinados puntos. Esto lleva a las condiciones de interpolación
y(xi ) = yi ,
i = 0, . . . , n.
(15.1)
Parece razonable pensar que en ese caso la posición de la barra pueda
aproximarse por la gráfica de la función que minimiza el funcional cuadrático
J : f ∈ C 2 [a, b] �→
1
2
�
b
f �� (x)2 dx.
(15.2)
a
Esta simplificación es común en el estudio de las flexiones de vigas, obteniéndose soluciones muy aproximadas a la realidad mediante funciones cúbicas
a trozos.
0
La minimización del funcional cuadrático (15.2) sujeto a las restricciones
(15.1) es un problema cuya solución es el interpolante spline cúbico natural,
es decir, una función cúbica a trozos de clase C 2 ,
donde R es la rigidez flexural y κ(s) es la curvatura expresada en términos de
la longitud de arco s.
s ∈ S3 (x1 , . . . , xn−1 )[a, b]
Es bien conocido que ciertos problemas de mecánica pueden resolverse
si conocemos las fuerzas que intervienen. En el caso de tener problemas con
ligaduras, la determinación de las fuerzas de ligadura puede resultar tediosa
y se prefieren formulaciones variacionales en las que pueden incluirse restricciones de modo natural. Puede demostrarse que la ley de Euler-Bernoulli
puede reemplazarse por un principio variacional: la forma que adopta una
barra forzada a pasar por una serie de puntos minimiza la energı́a elástica.
que interpola a los datos s(xi ) = yi , i = 1, . . . , n y verifica las condiciones de
contorno s�� (a) = s�� (b) = 0. Para demostrar la existencia del spline cúbico
natural y su propiedad de minimización probaremos primero el siguiente lema.
159
160
E=
R
2
�
l
κ(s)2 ds,
Lema 15.1. Sean a = x0 < x1 < · · · < xn = b y s, v funciones splines
de S3 (x1 , . . . , xn−1 )[a, b] tales que s�� (a)v � (a) = s�� (b)v � (b) = 0 y v(xi ) = 0,
�b
i = 0, . . . , n. Entonces a s�� (x)v �� (x)dx = 0.
Demostración. Descompongamos la integral como suma de integrales en los
subintervalos [xi−1 , xi ]
�
b
s�� (x)v �� (x)dx =
a
n �
�
i=1
xi
s�� (x)v �� (x)dx,
xi−1
Como cada una de las restricciones s|[xi−1 ,xi ] ∈ C 4 [xi−1 , xi ], i = 1, . . . , n,
podemos integrar por partes y obtener
� b
s�� (x)v �� (x)dx =
a
�
�
� xi
n
�
��
�
��
�
���
�
=
s (xi )v (xi ) − s (xi−1 )v (xi−1 ) −
s (x)v (x)dx =
xi−1
i=1
= s�� (b)v � (b) − s�� (a)v � (a) −
= s�� (b)v � (b) − s�� (a)v � (a) +
n �
�
xi
i=1 xi−1
n � xi
�
i=1
s��� (x)v � (x)dx =
s(4) (x)v(x)dx.
xi−1
Como s es cúbica a trozos, tenemos que s(4) (x) = 0 en todo intervalo [xi−1 , xi ],
i = 1, . . . , n, de donde deducimos
� b
s�� (x)v �� (x)dx = s�� (b)v � (b) − s�� (a)v � (a) = 0.
a
Veamos ahora que el spline cuadrático natural el el único interpolante
que minimiza el funcional cuadrático (15.2)
Teorema 15.2. Sean los datos y0 , y1 . . . , yn correspondientes a los puntos
a = x0 < x1 < · · · < xn = b, y sea J el funcional cuadrático dado por
(15.2). Entonces J alcanza su valor mı́nimo sobre el conjunto de todos los
interpolantes
U := {f ∈ C 2 [a, b] | f (xi ) = yi , i = 0, 1, . . . , n}
en la única función spline s ∈ S3 (x1 , . . . , xn−1 )[a, b] que verifica las siguientes
propiedades
161
(a) s(xi ) = yi , para todo i = 0, 1, . . . , n,
(b) s�� (a) = s�� (b) = 0.
Demostración. El funcional es cuadrático ya que proviene de la forma bilineal
�
1 b ��
j : (f, g) ∈ C 2 [a, b] × C 2 [a, b] �→
f (x)g �� (x)dx.
2 a
Como la integral de una función no negativa es también no negativa, tenemos
J[f ] =
1
2
�
xn
x0
f �� (x)2 dx ≥ 0,
∀f ∈ C 2 [a, b],
es decir la forma bilineal j es semidefinida positiva.
Veamos ahora que la restricción de la forma bilineal sobre el espacio
director
U0 := {v ∈ C 2 [a, b] | v(xi ) = 0, i = 0, 1, . . . , n}
es definida positiva. Para ello, supongamos que v ∈ U0 verifica J[v] = 0.
Entonces tenemos
� b
v �� (x)2 dx = 0.
a
��
Como v es continua, se deduce que v �� (x) = 0; luego v es un polinomio de
primer grado. Como v(a) = v(b) = 0, vemos que v(x) = 0 para todo x ∈ [a, b].
Demostremos ahora la existencia de una única función spline cúbica s ∈
S3 (x1 , . . . , xn )[a, b] que verifica (a) y (b). Añadamos a los nudos interiores,
nudos repetidos en los extremos
a = x−3 = x−2 = x−1 = x0 < x1 < · · · < xn = xn+1 = xn+2 = xn+3 = b
con objeto de describir la base de B-splines
Nj,3 (x) := N (x; xj−4 , xj−3 , xj−2 , xj−1 , xj ),
j = 1, . . . , n + 3.
Cualquier función spline puede expresarse como combinación lineal de los
elementos de la base
n+3
�
s(x) =
ci Nj,3 (x).
(15.3)
j=1
162
Al imponer las condiciones (a) tenemos
n+3
�
Supongamos que una función spline s(x) =
cj Nj,3 (xi ) = yi ,
i = 0, . . . , n.
(15.4)
j=1
n+3
�
��
(a) = 0,
cj Nj,3
��
cj Nj,3
(b) = 0.
(15.5)
j=n+1
Por lo tanto la existencia de la función spline depende de la existencia de
solución del sistema lineal de n + 3 ecuaciones y n + 3 incógnitas dado por
(15.4) y (15.5). Teniendo en cuenta que supp Nj,3 = [xj−4 , xj ], tenemos que
�n+3
�i+4
j=1 cj Nj,3 (xi ) =
j=i cj Nj,3 (xi ). Además el valor Ni,3 (xi ) = 0, a no ser
que i = 1 y el valor Ni+4,3 (xi ) = 0 a no ser que i = n. Por tanto, las
ecuaciones (15.4), (15.5) pueden escribirse en la forma
c 1 = y0 ,
i = 0, . . . , n,
= 0,
n+3
�
(15.6)
��
cj Nj,3
(b)
= 0.
j=n+2
entonces s ∈ S3 (x1 , . . . , xn−1 )[a, b] verifica s(xi ) = 0, i = 0, . . . , n, y s�� (a) =
s�� (b) = 0. Aplicando el Lema 15.1 con v = s, deducimos que J[s] = j[s, s] = 0.
Como J es definido positivo sobre U0 , la función spline s es idénticamente nula,
lo que implica que los coeficientes respecto a la base de B-splines son nulos,
cj = 0, j = 1, . . . , n + 3. Ası́ que el sistema de ecuaciones (15.6) sólo admite
la solución nula. Por tanto, el sistema de ecuaciones (15.4), (15.5) siempre
tiene una única solución.
Sea s la única función spline del espacio S3 (x1 , . . . , xn )[a, b] que verifica
(a) y (b). Por construcción s ∈ U . Si f ∈ U , tenemos que f − s ∈ U0 . Por el
Lema 15.1
�
1 b ��
j[s, v] =
s (x)v �� (x)dx = 0, ∀v ∈ U0 ,
2 a
J[f ] − J[s] = J[f − s] + 2j[s, f − s] = J[f − s] ≥ 0.
j=1
cj Nj,3 (xi ) = yi ,
j=i+1
n+3
�
cj Nj,3 (x) verifica
de donde j[s, f − s] = 0. Por tanto
��
(a) = 0,
cj Nj,3
i+3
�
��
cj Nj,3
(a)
j=1
j=1
3
�
cj Nj,3 (xi ) = 0,
j=1
j=1
2
�
Las condiciones (b) dan lugar a
3
�
n+3
�
�n+3
i = 1, . . . , n − 1,
��
cj Nj,3
(b) = 0,
j=n+1
Luego J[s] es el valor mı́nimo de J sobre U .
Si J[f ] = J[s] para cierta f ∈ U , entonces J[f − s] = 0, y como J es
definido positivo sobre U0 , deducimos que f − s = 0. Esto prueba que s es el
único mı́nimo de J en U .
El spline grapado minimiza la energı́a elástica de una barra flexible sometida a condiciones de empotramiento.
cn+3 = yn ,
lo que revela la estructura tridiagonal de la matriz de coeficientes del problema.
Para deducir la existencia y unicidad de solución, bastará con demostrar
que la única solución del problema homogéneo (correspondiente a yi = 0,
i = 0, . . . , n) es la solución nula.
163
Teorema 15.3. Sean los valores y0 , y1 . . . , yn correspondientes a los puntos
a = x0 < x1 < · · · < xn = b y p0 , pn las pendientes en los extremos. Entonces
el funcional cuadrático (15.2) alcanza su valor mı́nimo sobre el conjunto de
todos los interpolantes
V := {f ∈ C 2 [a, b]) | f (xi ) = yi , i = 0, . . . , n, f � (a) = p0 , f � (b) = pn }
164
en la única función spline s ∈ S3 (x1 , . . . , xn−1 )[a, b] ∩ V .
La existencia y unicidad de solución equivale a decir que la matriz de coeficientes
(Nj,k (xi ))i,j=0,...,n
Demostración. El espacio director de V
V0 := {f ∈ C 2 [a, b]) | f (xi ) = 0, i = 0, . . . , n, f � (a) = f � (b) = 0}
es un subespacio de {v ∈ C 2 [a, b] | v(xi ) = 0, i = 0, 1, . . . , n} donde la forma
J es definida positiva. Por tanto, la restricción de J sobre V0 es también
definida positiva. Del Lema 15.1 se deduce que S3 (x1 , . . . , xn−1 )[a, b] ∩ V0 =
0. Teniendo en cuenta que dim S3 (x1 , . . . , xn−1 )[a, b] = n + 3, el problema
da lugar a un sistema de n + 3 ecuaciones y n + 3 incógnitas. Como el
sistema homogéneo correspondiente sólo admite la solución trivial, se deduce
la existencia de un único spline interpolante s ∈ S3 (x1 , . . . , xn−1 )[a, b] ∩ V .
Usando de nuevo el Lema 15.1, se deduce que si s ∈ S3 (x1 , . . . , xn−1 )[a, b] ∩ V
y v ∈ V0 , entonces j[s, v] = 0, lo que permite demostrar que s es mı́nimo de
J en V . Finalmente, como J es definida positiva sobre V0 , s debe ser el único
mı́nimo.
El problema de interpolación mediante funciones spline de grado k en nudos
τ−k−1 = · · · = τ−1 = a < τ0 ≤ · · · ≤ τn−k−1 < b = τn−k = · · · = τn
con τi−k−1 < τi , i = 0, . . . , n, puede plantearse para cualquier conjunto de
puntos
x 0 < x1 < · · · < xn .
Si expresamos el interpolante en términos de la base de B-splines
n
�
cj Nj,k (x),
Nj,k (x) = N (x; τj−k−1 , . . . , τj ),
j=0
entonces el problema de interpolación da lugar al sistema de ecuaciones

N0,k (x0 )

..

.
N0,k (xn )
···
..
.
···

 
Nn,k (x0 )  c0 
y0
  ..   .. 
..
=

 . .
.
.
Nn,k (xn )
165
Teorema 15.4 (Schoenberg-Whitney). Sea la sucesión extendida de nudos
τ−k−1 = · · · = τ−1 = a < τ0 ≤ · · · ≤ τn−k−1 < b = τn−k = · · · = τn
con τi−k−1 < τi , i = 0, . . . , n y sea
Ni,k (x) := N (x; τi−k−1 , . . . , τi ),
El Teorema de Schoenberg-Whitney
s(x) =
tiene determinante distinto de cero. La matriz de coeficientes tiene estructura
de banda debido a las propiedades de los soportes de los splines. Si algún
elemento diagonal es nulo, Ni,k (xi ) = 0, entonces puede comprobarse que la
matriz de coeficientes contiene una submatriz de ceros demasiado grande, y
esto implica que es singular. El teorema de Schoenberg-Whitney afirma que
la condición necesaria de que los elementos diagonales sean no nulos, también
es suficiente.
cn
yn
i = 0, . . . , n,
la base de B-splines de grado k del espacio Sk (τ0 , . . . , τn−k−1 )[a, b]. El problema de interpolación de Lagrange en los puntos
x 0 < x1 < · · · < xn .
y datos y0 , . . . , yn ∈ R en el espacio de funciones spline de grado k admite
una única solución si y sólo si
Ni,k (xi ) > 0,
i = 0, . . . , n.
Observación. El Teorema de Schoenberg-Whitney también es válido para
problemas de Hermite. En ese caso la condición es
λi Ni,k > 0,
donde λi es el i-ésimo funcional de Hermite asociado a la sucesión extendida
de nodos
x0 ≤ x1 ≤ · · · ≤ xn .
166
16. Diseño de superficies
El diseño de superficies es similar al de curvas. Dada una sucesión de puntos P0 , . . . , PN y u0 , . . . , uN una ley de mezclas de funciones definidas en un
dominio Ω ⊆ R2 , se define la superficie paramétrica
γ(t, s) =
N
�
Pi ui (t, s),
i=0
(t, s) ∈ Ω,
Observemos que si (u0 , . . . , un ) y (v0 , . . . , vm ) son dos leyes de mezclas,
entonces (fij ; i = 0, . . . , n, j = 0, . . . , m) también forma una ley de mezclas.
En efecto, para cada i, j, fij es el producto de dos funciones no negativas,
luego es no negativa, además tenemos
n �
m
�
fij (t, s) =
i=0 j=0
n �
m
�
ui (t)vj (s) =
i=0 j=0
n
��
i=0
ui (t)
m
�� �
j=0
�
vj (s) = 1.
controlada por dichos puntos. De la misma manera que los puntos de una
curva se estructuran en un polı́gono, los puntos de control de superficie se
pueden estructurar en una retı́cula de lineas poligonales, de manera que podemos relacionar propiedades geométricas de la red de control con propiedades
geométricas de la superficie.
Las construcciones asociadas al producto tensorial de espacios de funciones son adecuadas para el diseño de superficies y parches rectangulares. La
ventaja de este tipo de técnicas es que permiten reducir el estudio de algunas
propiedades de la superficie a problemas univariados.
Producto tensorial de espacios de funciones
Sean (u0 (t), . . . , un (t)), t ∈ [a, b], y (v0 (s), . . . , vm (s)), s ∈ [c, d], leyes de
mezclas. Dados puntos de control Pij ∈ Rs , i = 0, . . . , n, j = 0, . . . , m, puede
definirse una superficie producto tensorial mediante la fórmula
El caso más simple de diseño de superficies son las construcciones de tipo
producto tensorial. Dado un espacio U de funciones definidas en [a, b] y
otro espacio V de funciones definidas en [c, d], se define el producto tensorial
de dichos espacios de funciones como el espacio de funciones definidas en el
rectángulo [a, b] × [c, d], tales que
U ⊗ V :=
k
��
j=1
uj (t)vj (s) | uj ∈ U, vj ∈ V,
j = 1, . . . , k,
�
k∈N .
Superficies producto tensorial y red de control
γ(t, s) =
n �
m
�
Pij ui (t)vj (s),
i=0 j=0
(t, s) ∈ [a, b] × [c, d].
El caso más importante desde el punto de vista práctico es s = 3, correspondiente a superficies en el espacio tridimensional.
Si U es un espacio de funciones de dimensión n + 1 con base u0 , . . . , un y V
es un espacio de funciones de dimensión m + 1 con base v0 , . . . , vn , entonces
una base del espacio U ⊗ V viene dada por las funciones
fij (t, s) = ui (t)vj (s),
i = 0, . . . , n,
j = 0, . . . , m,
luego dim U ⊗ V = (n + 1)(m + 1).
Un espacio importante de funciones obtenidas mediante esta técnica es
el espacio
Pn ⊗ Pm = �ti sj | i = 0, . . . , n, j = 0, . . . , m�
de las funciones polinómicas de grado en t menor o igual que n y grado en
s menor o igual que m. Cuando n = m hablamos de polinomios bilineales,
bicuadráticos, bicúbicos, etc.
Figura 19. Una superficie bicuadrática de Bézier y su red de control
167
168
Observemos que las superficies producto tensorial representan siempre
parches definidos sobre dominios rectangulares. Una limitación de los parches rectangulares es que no siempre permiten describir cualquier superficie.
El hecho de que todo dominio poligonal admite una triangulación y la existencia de algoritmos eficientes de triangulación de dominios, hace que en la
práctica muchas superficies complejas aparezcan descritas como una unión
de parches triangulares. Desgraciadamente, las construcciones mediante producto tensorial no nos permiten abordar de manera simple las descripción de
parches con dominio triangular.
Lı́neas isoparamétricas
Toda superficie paramétrica γ : [a, b] × [c, d] → Rs tiene asociadas lı́neas
coordenadas o lı́neas isoparamétricas. Podemos recorrer la primera variable
fijando la segunda coordenada paramétrica s = s0 obteniendo la lı́nea isoparamétrica
γ(·, s0 ) : t ∈ [a, b] → γ(t, s0 ).
Análogamente si fijamos t = t0 y recorremos la segunda variable obtenemos
la lı́nea isoparamétrica
Toda superficie producto tensorial queda determinada por su red de con-
γ(t0 , ·) : s ∈ [c, d] → γ(t0 , s).
trol
(Pij )i=0,...,n;j=0,...,m ,
Podemos considerar una red de control como una tabla bidimensional o matriz
de puntos. Como cada punto Pij ∈ Rs tiene s coordenadas son necesarios tres
ı́ndices para describir todas las coordenadas de todos los puntos de control de
ij
una red Pij = (xij
1 , . . . , xs ), i = 0, . . . , n, j = 0, . . . , m.
Podemos imaginar la red de control como un esqueleto de la superficie,
formado por los segmentos que unen puntos de control consecutivos en una
Pij Pi+1,j ,
i = 0, . . . , n − 1,
Pij Pi,j+1 ,
i = 0, . . . , n,
j = 0, . . . , m,
y otra dirección
j = 0, . . . , m − 1.
La red de control consta de subpolı́gonos en cada una de las direcciones coordenadas
P0j · · · Pnj ,
Pi0 · · · Pim ,
j = 0, . . . , m,
i = 0, . . . , n.
Una red de control también puede verse como una versión discreta de una
superficie paramétrica producto tensorial. En efecto, podemos interpretar la
red de control como una función
P : (i, j) ∈ {0, 1, . . . , n} × {0, 1, . . . , m} �→ Pij ∈ Rs ,
en el que el conjunto de ı́ndices discreto {0, 1, . . . , n} × {0, 1, . . . , m} jugarı́a
el papel del dominio rectangular.
169
En general, dos lı́neas en el espacio no tienen que cortarse, ya que podrı́an cruzarse. Sin embargo, dos lı́neas isoparamétricas que recorren variables
distintas γ(·, s0 ) y γ(t0 , ·) siempre tienen en común un único punto de la superficie γ(t0 , s0 ). En cierto sentido esta propiedad extiende al caso de superficies
más generales el conocido hecho de que dos lı́neas rectas transversales sobre
una superficie plana se cortan en ún solo punto.
En cierto modo los subpolı́gonos de una red (Pij )i=0,...,n;j=0,...,m pueden
considerarse como los análogos discretos de las curvas isoparamétricas. En
efecto, si hacemos variar el primer ı́ndice, tenemos los subpolı́gonos P0j · · · Pnj
que pueden interpretarse como curvas isoparamétricas discretas P·,j , j =
0, . . . , m. Análogamente, si hacemos variar el segundo ı́ndice, tendremos subpolı́gonos Pi0 · · · Pim que corresponderán a las curva isoparamétricas discretas
Pi,· , i = 0, . . . , n.
Podemos asociar a cada subpolı́gono de control una curva paramétrica.
Los subpolı́gonos P0j · · · Pnj tienen asociada la curva
Q1j (t) :=
n
�
Pij ui (t),
i=0
t ∈ [a, b],
para cada j = 0, . . . , m. Asociamos a los subpolı́gonos Pi0 · · · Pim las curvas
Q2i (s) :=
m
�
Pij vj (s),
j=0
para cada i = 0, . . . , n.
170
s ∈ [c, d],
Proposición 16.1. Sea γ(t, s), (t, s) ∈ [a, b] × [c, d] una superficie producto
tensorial. Para cada s0 ∈ [c, d], las lı́neas isoparamétricas γ(t, s0 ) admiten
una representación respecto a la base ui (t)
Análogamente si fijamos t0 ∈ [a, b]
γ(t0 , s) =
γ(t, s0 ) =
n
�
Q2i (s0 )ui (t),
t ∈ [a, b],
i=0
cuyo polı́gono de control Q20 (s0 ) · · · Q2n (s0 ) se obtiene al evaluar en s0 las
curvas asociadas a los subpolı́gonos Pi0 · · · Pim ,
Q2i (s)
m
�
=
Pij vj (s),
j=0
s ∈ [c, d],
para todo i = 0, . . . , n. Análogamente, para cada t0 ∈ [a, b], las lı́neas isoparamétricas γ(t0 , s) admiten una representación respecto a la base vj (s)
γ(t0 , s) =
m
�
Q1j (t0 )vj (s),
j=0
s ∈ [c, d]
cuyo polı́gono de control Q10 (t0 ) · · · Q1m (t0 ) se obtiene al evaluar en t0 las curvas
asociadas a los subpolı́gonos P0j · · · Pnj ,
Q1j (t) =
n
�
Pij ui (t),
i=0
t ∈ [a, b].
=
n �
m
�
Pij ui (t0 )vj (s)
i=0 j=0
m
�
Q1j (t0 )vj (s).
j=0
Pij ui (t0 ) vj (s)
i=0
Aunque las curvas Q1j (t), j = 0, . . . , m, no se encuentran necesariamente
sobre la superficie podemos afirmar que dado t todos los puntos γ(t, s), s ∈
[c, d], se hallan en la cápsula convexa de los puntos Q1j (t) ya que γ(t, s) =
Q1j (t)vj (s). Análogamente, aunque las curvase Q1i (s), i = 0, . . . , n, no se
encuentran necesariamente sobre la superficie, podemos afirmar que, para
cada s fijo, todos los puntos γ(t, s), t ∈ [a, b],
�nse encuentran en la cápsula
convexa de los puntos Q2i (s) ya que γ(t, s) = i=0 Q2i (s)ui (t).
Evaluación de superficies producto tensorial
Como cada punto se encuentra en alguna lı́nea isoparamétrica, se deduce de
la Proposición 16.1 que la evaluación de una superficie producto tensorial se
reduce a combinar apropiadamente los dos algoritmos correspondientes para
curvas en cada variable.
Algoritmo. (Evaluación de superficies producto tensorial)
Evaluar Q2i (s) :=


n �
m
n
m
�
�
�

γ(t, s0 ) =
Pij ui (t)vj (s0 ) =
Pij vj (s0 ) ui (t)
i=0 j=0
i=0
Q2i (s0 )ui (t).
i=0
171
j=0
m
�
Pij vj (s)
j=0
Demostración. Fijamos s0 ∈ [c, d], entonces tenemos
=
j=0
�
Para i = 0, . . . , n
para todo j = 0, . . . , m.
n
�
=
� n
m
�
�
Evaluar γ(t, s) :=
n
�
Q2i (s)ui (t)
i=0
El algoritmo anterior utiliza el hecho de que γ(t, s) se obtiene al evaluar
en t la curva isoparamétrica γ(·, s). Se deduce un algoritmo alternativo al
considerar la evaluación de las curvas isoparamétricas γ(t, ·) en un punto s.
172
Algoritmo. (Evaluación de superficies producto tensorial)
de la convexidad en las representaciones univariadas, obtendremos como consecuencia preservación de la convexidad a lo largo de las lı́neas coordenadas.
Para j = 0, . . . , m
Sin embargo, otras propiedades de forma no se deducen necesariamente
de la construcción producto tensorial. Por ejemplo, no existe un concepto
de disminución de la variación genuino en dos variables. Por otro lado, la
convexidad en dos variables no se reduce simplemente a la convexidad en
cada una de ellas. Por ejemplo, la superficie cuádrica
Evaluar Q1j (t) :=
n
�
Pij ui (t)
i=0
Evaluar γ(t, s) :=
m
�
Q1j (t)vj (s)
j=0
Si nos encontramos en el espacio de superficies polinómicas con componentes en Pn,m := Pn ⊗ Pm , y utilizamos representaciones asociadas a la base
de Bernstein utilizaremos en cada paso el algoritmo de de Casteljau, obteniendo una version bivariada de dicho algoritmo. De la misma manera se pueden
evaluar superficies spline representadas mediante la base de B-splines usando
en cada paso el algoritmo de de Boor, obteniendo una versión bivariada de
dicho algoritmo.
Las evaluación de derivadas parciales puede también realizarse fácilmente
usando algoritmos para calcular las derivadas en una variable.
Las superficies polinómicas más usadas son las superficies bilineales y las
bicúbicas. De la misma manera las superficies splines bilineales y bicúbicas
se usan frecuentemente en sistemas de diseño.
γ(t, s) = (t, s, t2 + 4ts + s2 ),
es convexa a lo largo de las lı́neas coordenadas. Pero la forma cuadrática
t2 + 4ts + s2 no es definida positiva ya que la matriz correspondiente
�
1
2
2
1
tiene determinante negativo. Este hecho implica que la curvatura de Gauss de
γ es negativa en todos los puntos. La superficie γ no es convexa. De hecho, la
restricción sobre la lı́nea del dominio paramétrico (t, −t) da lugar a la curva
cóncava t �→ (t, t, −2t2 ).
Superficies producto tensorial y preservación de forma
Las superficies producto tensorial preservan algunas propiedades de forma.
Si las bases corresponden a una ley de mezclas, tendremos de nuevo que la superficie se encuentra en la cápsula convexa de los puntos de control. También
tendremos preservación de positividad y no negatividad, de manera que si todos los puntos de control se encuentran en un semiespacio (o paralelepı́pedo
o region convexa) la superficie controlada también se encuentra en el mismo
semiespacio (o paralelepı́pedo o region convexa).
Si las bases univariadas preservan propiedades de forma o verifican la
propiedad de disminución de la variación, podemos obtener las mismas propiedades de preservación para las lı́neas coordenadas de la superficie. Por
ejemplo si tenemos preservación de la monotonı́a en las representaciones univariadas obtendremos como consecuencia preservación de la monotonı́a a lo
largo de las direcciones coordenadas. Análogamente si tenemos preservación
173
�
174
Descargar