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