lunes, 27 de febrero de 2017

Matemáticas - Polinomios

polinomios de Chebyshev, nombrados en honor a Pafnuti Chebyshev,1 son una familia de polinomios ortogonales que están relacionados con la fórmula de De Moivre y son definidos de forma recursiva con facilidad, tal como ocurre con los números de Fibonacci o los números de Lucas. Usualmente se hace una distinción entre polinomios de Chebyshev de primer tipo que son denotados Tn y polinomios de Chebyshov de segundo tipo, denotados Un. La letra T es usada por la transliteración alternativa del nombre Chebyshov como Tchebychef o Tschebyscheff.
Los polinomios de Chebyshov Tn o Un son polinomios de grado n y la sucesión de polinomios de Chebyshov de cualquier tipo conforma una familia de polinomios.
Los polinomios de Chebyshov son importantes en la teoría de la aproximación porque las raíces de los polinomios de Chebyshov de primer tipo, también llamadas nodos de Chebyshov, son usadas como nodos en interpolación polinómica. El polinomio de interpolación resultante minimiza el problema del fenómeno de Runge y entrega una aproximación cercana del polinomio a la mejor aproximación a una función continua bajo la norma maximal. Esta aproximación conduce directamente al método de la cuadratura de Clenshaw-Curtis.
En el estudio de ecuaciones diferenciales surgen como la solución a las ecuaciones diferenciales de Chebyshov
y
para polinomios del primer y segundo tipo, respectivamente. Estas ecuaciones son casos particulares de la ecuación diferencial de Sturm-Liouville.

Definición

polinomios de Chebyshov de primer tipo Tn
Los polinomios de Chebyshov de primer tipo son definidos mediante la relación de recurrencia
Un ejemplo de función generatriz para Tn es
polinomios de Chebyshov de segundo tipo Un
Los polinomios de Chebyshov de segundo tipo son definidos mediante la relación de recurrencia
Un ejemplo de función generatriz para Un es

Definición trigonométrica

Los polinomios de Chebyshov de primer tipo pueden ser definidos por la identidad trigonométrica:
de donde:
para n = 0, 1, 2, 3,..., mientras que los polinomios de segundo tipo satisfacen:
que es estructuralmente similar al núcleo de Dirichlet.
Ese cos(nx) es un polinomio de grado n-ésimo en cos(x) que puede obtenerse observando que cos(nx) es la parte real de un lado de la fórmula de De Moivre, y que la parte real del otro lado es un polinomio en cos(x) y sin(x), en el que todas las potencias de sin(x) son pares, luego reemplazables vía la identidad cos²(x) + sin²(x) = 1.
Esta identidad es muy útil en conjunto con la fórmula generatriz recursiva, permitiendo calcular el coseno de cualquier integral múltiple de un ángulo únicamente en términos del coseno del ángulo basal. Evaluando los dos primeros polinomios de Chebyshov:
y:
uno puede directamente determinar que:
y así sucesivamente. Para probar trivialmente si los resultados parecen razonables, basta sumar los coeficientes en ambos lados del signo igual (es decir, fijando theta igual a cero, caso en que el coseno equivale a la unidad), obteniendo que 1 = 2 - 1 en la primera expresión y 1 = 4 - 3 en la segunda.
Un corolario inmediato es la identidad de composición
Explícitamente
(sin olvidar que los cosenos hiperbólicos inversos de x y −x difieren por la constante π). A partir de un razonamiento similar al anterior, es posible desarrollar una forma cerrada para la generatriz de polinomios de Chebyshov de tercer tipo:
la cual, combinada con la fórmula de De Moivre:
entrega:
expresión que, por supuesto, es una forma mucho más expedita para determinar el coseno de N veces un ángulo dado que iterar cerca de N veces en la forma recursiva. Finalmente, si reemplazamos  por x, podemos escribir:

Definición a partir de la ecuación de Pell

Los polinomios de Chebyshov también pueden ser definidos como las soluciones a la ecuación de Pell
en un anillo R[x] (e.g., ver Demeyer (2007), p.70). De este modo, pueden ser generados por la técnica estándar para la ecuaciones de Pell consistente en tomar potencias de una solución fundamental:

Relación entre los polinomios de Chebyshov de primer y segundo tipo

Los polinomios de Chebyshov de primer y segundo tipo están relacionados a través de las siguientes ecuaciones
La relación de recurrencia para la derivada de los polinomios de Chebyshov puede ser obtenida de estas relaciones
Esta relación es usada en el método espectral de Chebyshov de resolución de ecuaciones diferenciales.
Equivalentemente, las dos sucesiones pueden también ser definidas a partir de un par de ecuaciones de recurrencia mutua:
Estas pueden ser obtenidas desde fórmulas trigonométricas; por ejemplo, si , entonces
Notar que tanto estas ecuaciones como las trigonométricas adquieren una forma más simple si seguimos la convención alternativa de escribir Un (el polinomio de grado n) como Un+1.

Propiedades

Ortogonalidad

Tanto Tn como Un forman una familia de polinomios ortogonales. Los polinomios de primer tipo son ortogonales con respecto al peso
en el intervalo [−1,1], i.e. tenemos:
Esto puede ser demostrado tomando x= cos(θ) y usando la identidad Tn (cos(θ))=cos(nθ). Similarmente, los polinomios de segundo tipo son ortogonales con respecto al peso
en el intervalo [−1,1], i.e. tenemos:

Norma mínima 

Dado cualquier , entre los polinomios de grado  con primer coeficiente 1,  es tal que el valor absoluto máximo en el intervalo  es mínimo. Este valor absoluto maximal es  y  alcanza este máximo exactamente  veces: en  y  y los otros  puntos extremos de .

Diferenciación e integración

Las derivadas de los polinomios pueden ser menos directas. Diferenciando los polinomios en sus formas trigonométricas, es fácil mostrar que:
Las dos últimas fórmulas pueden ser numéricamente problemáticas debido a la división por cero (0/0 forma indeterminada, específicamente) en x = 1 y x = −1. Puede ser demostrado que:
En cuanto a la integración, la primera derivada de Tn implica que
y la relación de recurrencia para los polinomios de primer tipo involucrando derivadas establece que

Raíces y extremos

Un polinomio de Chebyshov de cualquier tipo con grado n tiene n raíces simples distintas, llamadas nodos de Chebyshov, en el intervalo [−1,1]. Usando la definición trigonométrica y dado que
es fácil demostrar que las raíces de Tn son
Similarmente, las raíces de Un son
Una propiedad única de los polinomios de Chebyshov de primer tipo es que en el intervalo −1 ≤ x ≤ 1 todos los valores extremos tienen valores iguales a −1 o 1. Tanto los de primer y segundo tipo tienen extremos en los puntos de borde, dados por:

Otras propiedades

Los polinomios de Chebyshov son un caso especial de los polinomios de Gegenbauer, que a su vez son un caso especial de los polinomios de Jacobi.
Por cada entero no negativo nTn(x) y Un(x) son ambos polinomios de grado n. Son funciones pares o impares de x si n is par o impar, entonces al ser escritos como polinomios de x sólo tiene términos pares o impares respectivamente.
El primer coeficiente de Tn es 2n − 1 si 1 ≤ n, pero 1 si 0 = n.

Polinomios de Chebyshev

Definimos un conjunto de polinomios Tn(x)=cos() de grado n, donde cosθ=x en el intervalo -1≤x≤1.
Para determinar la forma de estos polinomios recordaremos la fórmula cos(a+b)=cos(a)cos(b)-sin(a)sin(b)
{cos((n+1)θ)=cos(nθ)cosθsin(nθ)sinθcos((n1)θ)=cos(nθ)cosθ+sin(nθ)sinθcos((n+1)θ)+cos((n1)θ)=2cos(nθ)cosθTn+1(x)+Tn1(x)=2xTn(x)
Los primeros polinomios son:
T0(x)=cos(0)=1
T1(x)=cosθ=x;
El resto de polinomios se obtiene empleando la relación de recurrencia:
Tn+1(x)=2xTn(x)-Tn-1(x)
T2(x)=cos(2θ)=2x2-1
T3(x)=cos(3θ)=2x(2x2-1)-x=4x3-3x
T4(x)= cos(4θ)=2x(4x3-3x)-( 2x2-1)=8x4-8x2+1
T5(x)= cos(5θ)=2x(8x4-8x2+1)-(4x3-3x)=16x5-20x3+5x
T6(x)= .....
Creamos una función recursiva que nos devuelve el valor del polinomio Tn(x) de grado n para valores dados de x.
function y=chebyshev(n,x)
    if n==0
        y=ones(1,length(x));
    elseif n==1
        y=x;
    else
        y=2*x.*chebyshev(n-1,x)-chebyshev(n-2,x);
    end
end
Otra forma equivalente de crear una función que nos devuela el valor del polinomio Tn(x) de grado n para valores dados de x es la siguiente:
function T=chebyshev(n,x)
    m=length(x);
    T=zeros(1,m);
    T1=ones(1,m);
    T2=x;
    for j=2:n
        T=2*x.*T2-T1;
        T1=T2;
        T2=T;
    end    
end
Mediante el siguiente script, representamos gráficamente los polinomios T1(x), T2(x), T3(x) y T4(x)
hold on
for n=1:4
    f=@(x) chebyshev(n,x);
    fplot(f,[-1,1])
end
title('Polinomios de Chebyshev')
xlabel('x')
ylabel('y')
grid on
hold off 
Se puede obtener los polinomios de Chebyshev T0(x), T1(x), T2(x), T3(x), T4(x) para valores de mediante el siguiente código.
n=5;    
x=-1:0.01:1; %vector de valores de x
m=length(x);
T=zeros(m,n);
T(:,1)=ones(1,m);  %T0(x)
T(:,2)=x;          %T1(x)
hold on
for j=3:n           %de T2(x) a T4(x)
    T(:,j)=2*x'.*T(:,j-1)-T(:,j-2);
end
Creamos una función que nos devuelve el vector de los coeficientes, [a1,a2,...an,an+1], (de mayor a menor grado) del polinomio Tn(x).
function p=chebypoly(n) %n es grado 0,1,2...
    p=zeros(n+1,1);
    p1=[1];
    p2=[1 0];
    if n==0
        p=p1;
     elseif n==1
       p=p2;
    else
       for i=2:n
            p=2*[p2 0]-[0 0 p1];
            p1=p2;
            p2=p;
        end   
    end       
end
La función poly2sym de Math Symbolic convierte los coeficientes del polinomio en la expresión algebraica a1xn+a2xn-1+...anx+an+1. La función ezplot representa gráficamente los polinomios
hold on
for n=1:4
     Tk=poly2sym(chebypoly(n));
     ezplot(Tk,[-1,1]);
end
hold off
title('Polinomios de Chebyshev')
xlabel('x')
ylabel('y')
grid on

Propiedades de los polinomios de Chebyshev

Los polinomios de Chebyshev están definidos en el intervalo [-1,1].

Simetría

Los polinomios de índice par son funciones pares f(x)=f(-x) y los polinomios de índice impar son funciones impares f(x)=-f(-x)

Raíces

Las raíces del polinomio Tn(x), se obtienen igualando cos()=0
nθ=(2k1)π2k=1,2,3....nθ=(2k1)π2nk=1,2,3....nxk=cos((2k1)π2n)k=1,2....n
Observamos que
x1=cos(π2n)xn=cos((2n1)π2n)=cos(ππ2n)=x1x2=cos(3π2n)xn1=cos((2(n1)1)π2n)=cos(π3π2n)=x2xk=xn+1k
Obtenemos las raíces del polinomio T5(x) de tres formas distintas:
  • Mediante la fórmula que hemos deducido anteriormente,
  • Mediante la función roots de MATLAB, si disponemos del vector de los coeficientes del polinomio, que calculamos mediante la función chebypoly
  • Mediante la función solve de Math Symbolic que nos proporciona las raíces exactas del polinomio
>> k=1:5;
>> cos((2*k-1)*pi/(2*5))
ans =    0.9511    0.5878    0.0000   -0.5878   -0.9511

>> roots(chebypoly(5))
ans =
         0
   -0.9511
   -0.5878
    0.9511
    0.5878

>> T5=poly2sym(chebypoly(5))
T5 =16*x^5 - 20*x^3 + 5*x
>> r=solve(T5)
r =
                        0
  (5^(1/2)/8 + 5/8)^(1/2)
  (5/8 - 5^(1/2)/8)^(1/2)
 -(5^(1/2)/8 + 5/8)^(1/2)
 -(5/8 - 5^(1/2)/8)^(1/2)
>> double(r)
ans =
         0
    0.9511
    0.5878
   -0.9511
   -0.5878
Representamos las raíces del polinomio de grado 5, T5(x), mediante puntos de color rojo a lo largo del eje X
n=5;
k=1:n;
ang=(2*k-1)*pi/(2*n);
xk=cos(ang);
yk=sin(ang);
hold on
plot(cosd(1:180),sind(1:180),'b')
for i=1:length(xk)
    line([0,xk(i)],[0,yk(i)])
    hg=line([xk(i),xk(i)],[0,yk(i)]);
    set(hg,'linestyle','--');
end
line([-1,1],[0,0])
plot(xk,0,'ro','markersize',4,'markerfacecolor','r')
hold off
axis equal
title('Raíces')

Máximos y mínimos

Los extremos (máximo o mínimo) del polinomio Tn(x)=cos() donde cosθ=x son 1 y -1, respectivamente.
dTn(x)dx=nsin(nθ)dθdx=nsin(nθ)sinθ
se producen cuando sin()=0, es decir nθ=kπk=1,2…n-1. En las posiciones.
xk'=cos(kπn)k=1,2...n1
Se excluye k=0 y k=n por que
limθ0,πsin(nθ)sinθ=n
>> k=1:4;
>> cos(k*pi/5)
ans = 0.8090    0.3090   -0.3090   -0.8090

>> T5=poly2sym(chebypoly(5)) 
T5 =16*x^5 - 20*x^3 + 5*x
>> dT5=diff(T5) %calcula la derivada
dT5 =80*x^4 - 60*x^2 + 5
>> r=solve(dT5)
r =
   5^(1/2)/4 + 1/4
   5^(1/2)/4 - 1/4
   1/4 - 5^(1/2)/4
 - 5^(1/2)/4 - 1/4
>> y=subs(T5,x,r); %valor del polinomio T5 para cada una de las raíces r.
>> simplify(y) 
ans =
 -1
  1
 -1
  1
>> double(r)
ans =
    0.8090
    0.3090
   -0.3090
   -0.8090

Relaciones entre dos polinomiosTi(x) y Tj(x),

11Ti(x)Tj(x)1x2dx={0ijπi=j=0π2i=j0
>> syms x;
>> T5=poly2sym(chebypoly(5))
T5 =16*x^5 - 20*x^3 + 5*x
>> T4=poly2sym(chebypoly(4))
T4 =8*x^4 - 8*x^2 + 1
>> f=T4*T5/sqrt(1-x^2);
>> int(f,x,-1,1)
ans =0
 
>> f=T5*T5/sqrt(1-x^2);
>> int(f,x,-1,1)
ans =pi/2
 
>> f=1/sqrt(1-x^2);
>> int(f,x,-1,1)
ans =pi
Relación de ortogonalidad
Como hemos visto, las raíces del polinomio de grado nTn(x) son
xk=cos((2k1)π2n)k=1,2....n
Sean dos polinomios, Ti(x) y Tj(x), i,j vamos a comprobar que se cumple la siguiente relación que es importante para la aproximación de funciones f(x)
k=1nTi(xk)Tj(xk)={0ijni=j=0n2i=j0
Esta es una relación análoga a la existente en las series de Fourier
n=7;
k=1:n;
xk=cos((2*k-1)*pi/(2*n));
y5=chebyshev(5,xk);
y4=chebyshev(4,xk);
suma=sum(y5.*y4)
suma=sum(y5.*y5)
suma=sum(y4.*y4)
En la ventana de comandos obtenemos el siguiente resultado
suma = -2.4980e-015
suma =    3.5000
suma =    3.5000
De otra forma, mediante la función chebpoly
>> n=7;
>> k=1:n;
>> xk=cos((2*k-1)*pi/(2*n));
>> T5=chebypoly(5);
>> T4=chebypoly(4);
>> suma=sum(polyval(T5,xk).*polyval(T4,xk))
suma = -1.2768e-015
>> suma=sum(polyval(T5,xk).*polyval(T5,xk))
suma =    3.5000
>> suma=sum(polyval(T4,xk).*polyval(T4,xk))
suma =    3.5000
Utilizando Math Symbolic obtenemos valores exactos
>> syms x;
>> T5=poly2sym(chebypoly(5));
>> T4=poly2sym(chebypoly(4));
>> n=sym('7');  %raices del polinomio T7
>> k=1:n;
>> xk=cos((2*k-1)*pi/(2*n));
>> suma=sum(subs(T5,x,xk).*subs(T4,x,xk))
suma =0 
>> suma=sum(subs(T5,x,xk).*subs(T5,x,xk));
>> simplify(suma)
ans =cos(pi/7) - cos((2*pi)/7) + cos((3*pi)/7) + 3
>> double(ans)
ans =    3.5000  %que es n/2
>> suma=sum(subs(T4,x,xk).*subs(T4,x,xk));
>> simplify(suma)
ans =cos((2*pi)/7) - cos(pi/7) - cos((3*pi)/7) + 4
>> double(ans)
ans =    3.5000 %que es n/2

No hay comentarios:

Publicar un comentario