Descargar

Polinomios de Legendre (página 2)

Enviado por Aladar Peter Santha


Partes: 1, 2

Dividiendo la ecuación (29) entre edu.redy teniendo en cuenta la definición (1) de los polinomios de Legendre se obtiene que

edu.red

, lo que quiere decir que los polinomios de Legendre edu.redson soluciones de la ecuación (27). Para hallar la solución general de la ecuación (27) se multiplica la ecuación por -1,

edu.red (27")

, luego se busca la solución general en la forma

edu.red (30)

Teniendo en cuenta que

edu.red

edu.red

, la ecuación (27") se transforma en:

edu.red

edu.red

edu.red (31)

Si los ceros de edu.redson edu.redentonces

edu.red

Descomponiendo en fracciones simples,

edu.red (32)

, donde

edu.red, edu.red

edu.rededu.red

Se observa que edu.redPor derivación,

edu.red

edu.red

Escribiendo que edu.redes una solución de la ecuación diferencial (27") resulta que

edu.red

edu.red

edu.red (33)

Poniendo edu.reden (33) resulta que

edu.red

Así, según la relación (31),

edu.red

edu.red (34)

edu.red (34")

, donde

edu.red (34")

, es un polinomio de grado menor o igual que edu.red

Por tanto, según (30), la solución general de la ecuación diferencial (27) es

edu.red (35)

Definición 2: Las funciones

edu.red (36)

, se llaman las funciones de Legendre de tipo 2.

Evidentemente, las funciones (36) son soluciones de la ecuación (27), y los polinomios edu.redse pueden determinar sustituyendo las funciones (36) en la ecuación (27).

Lema 6: edu.red

En efecto, si se introducen las notaciones

edu.red,

, entonces

edu.red (37)

edu.rededu.red

edu.rededu.redEscribiendo que edu.redson soluciones de la ecuación (27), resulta que

edu.red

edu.red (38)

edu.red

edu.red (39)

Luego, teniendo en cuenta que edu.redes solución de la ecuación (27) los coeficientes de t y de s en las igualdades (38) y (39) son nulos. Así (38) y (39) son equivalentes a las siguientes:

edu.red (40)

edu.red (41)

, respectivamente. Sumando las últimas dos ecuaciones se obtiene que

edu.red (42)

Teniendo en cuenta que las únicas soluciones de tipo polinomio de la ecuación diferencial (27) son los polinomios de Legendre de grado edu.redel polinomio nulo y que los polinomios edu.redson de gradoedu.redresulta que

edu.red (43)

Para hallar edu.redhay que sustituir edu.reden la ecuación (36) y tener en cuenta que

edu.redy edu.redy que edu.redes una constante:

edu.red

Entonces, edu.redy

edu.red

Para hallar edu.redhay que sustituir edu.reden la ecuación (40) y tener en cuenta que

edu.redy edu.redy que edu.red

edu.red edu.red

edu.red

edu.red

Para hallar edu.redhay que sustituir edu.reden la ecuación (40) y tener en cuenta que

edu.redy edu.redy que edu.red

edu.red

edu.red

edu.red

edu.red

edu.red

Para hallar edu.redhay que sustituir edu.reden la ecuación (36) y tener en cuenta que

edu.red

edu.red

edu.red

edu.red

edu.red

Lema 7: En los polinomios edu.redlos exponentes de edu.redson todos pares o todos impares (se considera que 0 es par), según que n-1 es par o impar.

En efecto, según la fórmula (34"),

edu.red

, donde se edu.redson los ceros de edu.reden orden creciente. Entonces, teniendo en cuenta el lema 3, edu.rededu.red

edu.red

edu.red

Así, edu.redes una función polinomio par o impar según que edu.redes par o impar.

Observación 4: Teniendo en cuenta el lema 7, en el cálculo de los polinomiosedu.redse puede reducir considerablemente el volumen de los cálculos:

Para hallar edu.redteniendo en cuenta el lema (7) resulta que edu.redpuesto que edu.redLuego, puesto que

edu.red, edu.red

, y sustituyendo en la relación (36) para edu.reda las expresiones siguientes

edu.red

edu.red

edu.red

, resulta que

edu.red

edu.red

edu.red

edu.red

Así,

edu.red

Utilizando la observación 4, se puede averiguar que

edu.red

edu.red

edu.red

El código siguiente permite calcular los polinomios edu.redutilizando las operaciones con números enteros y decimales largos [4] y [5] y las funciones para operar con facciones expuestas a continuación.

Public Function PolLegWNG(ByVal g As Integer) As String

Dim i As Integer, j As Integer, i1 As Integer, pg As String, y() As String, z() As String

Dim res() As String, rc As String, dpleg() As String, dy() As String, y1() As String, resf As String

Dim n As Integer, pot2 As String, cw() As String, gm As Integer, cw1() As String, cw2() As String

Dim expot2 As Integer, rr() As String, nm As Integer, x(2) As String ', cw22() As String

If g < 3 Then

If g = 2 Then

PolLegWNG = "(-3/2)x": Exit Function

End If

If g = 1 Then

PolLegWNG = "-1": Exit Function

End If

Else

ReDim res(g – 1, 2)

rc = Chr$(13) + Chr$(10): gm = Int(g / 2): n = 7

ReDim z(g), cw(g – 1), dy(g – 1), y(g), dpleg(g – 1, 2) ', cw1(g – 1), cw2(g – 2)

y1() = PolLegNG(g)

For i = 0 To g: y(i) = y1(i): Next i

expot2 = y1(g + 1)

x(1) = "2": x(2) = expot2: pot2 = Potencias(x(), n): j = 0

dy() = PolDerivadoNG(y(), n)

For j = 0 To g – 1

x(1) = dy(j): x(2) = "2": dpleg(j, 1) = Multiplicar(x(), n)

Next j

For j = 0 To g – 1: dpleg(j, 2) = pot2: Next j

For i = 0 To g – 1

i1 = i Mod 2

If i1 = 0 Then cw(i) = "1" Else cw(i) = "0"

Next i

cw1() = PolDerivadoNG(cw(), n)

cw2() = PolDerivadoNG(cw1(), n)

nm = Str$(g * (g + 1)): If Left$(nm, 1) = " " Then nm = Mid$(nm, 2)

For i = 0 To g – 1

x(1) = nm: x(2) = cw(i): cw(i) = Multiplicar(x(), n)

Next i

For i = 0 To g – 2

x(1) = "-2": x(2) = cw1(i): x(1) = Multiplicar(x(), n)

x(2) = cw(i): cw(i) = Sumar(x(), n)

Next i

'cw22() = cw2()

For i = 0 To g – 3

x(1) = "-1": x(2) = cw2(i): x(1) = Multiplicar(x(), n)

x(2) = cw(i): cw(i) = Sumar(x(), n)

Next i

For i = 0 To g – 1 Step 2

If i = 0 Then

x(1) = dpleg(i, 1): x(2) = dpleg(i, 2)

z(1) = "-1": z(2) = cw(i): rr() = mufr(x(), z())

res(i, 1) = rr(1): res(i, 2) = rr(2)

Else

x(1) = res(i – 2, 1): x(2) = res(i – 2, 2): z(1) = cw2(i – 2): z(2) = "1": rr() = mufr(x(), z())

x(1) = dpleg(i, 1): x(2) = dpleg(i, 2): z(1) = rr(1): z(2) = rr(2)

rr() = sufr(x(), z())

x(1) = "-1": x(2) = cw(i): rr() = mufr(rr(), x())

res(i, 1) = rr(1): res(i, 2) = rr(2)

End If

Next i

End If

resf = "W" + Mid$(Str$(g – 1), 2) + "(x) = "

For i = 0 To g – 1 Step 2

resf = resf + "(" + res(i, 1) + "/" + res(i, 2) + ")" + "x^" + Str$(g – 1 – i)

If g – 1 – i = 0 Or g – 1 – i = 1 Then

Exit For

Else

resf = resf + " + "

End If

Next i

PolLegWNG = resf

End Function

' ———————————————————————————

Public Function PolDerivadoNG(ByRef p() As String, n As Integer) As Variant

Dim i As Integer, gx As Integer, x(2) As String, xd() As String

gx = UBound(p())

ReDim xd(gx – 1)

For i = 0 To gx – 1

x(1) = Mid$(Str$(gx – i), 2): x(2) = p(i)

xd(i) = Multiplicar(x(), n)

Next i

PolDerivadoNG = xd()

End Function

' ——————————————————————

Public Function sufr(xa() As String, ya() As String) As Variant

Dim x(2) As String, fr(2) As String, rr() As String

Dim n As Integer, r1 As String, r2 As String

n = 7

x(1) = xa(1): x(2) = ya(2): r1 = Multiplicar(x(), n)

x(1) = xa(2): x(2) = ya(1): r2 = Multiplicar(x(), n)

x(1) = r1: x(2) = r2: fr(1) = Sumar(x(), n)

x(1) = xa(2): x(2) = ya(2): fr(2) = Multiplicar(x(), n)

x(1) = fr(1): x(2) = fr(2): rr() = sifr(x())

fr(1) = rr(1): fr(2) = rr(2)

sufr = fr()

End Function

' ——————————————————————-

Public Function refr(xa() As String, ya() As String) As Variant

Dim x(2) As String, fr(2) As etring, rr() As String

Dim n As Integer, r1 As String, r2 As String

n = 7

x(1) = xa(1): x(2) = ya(2): r1 = Multiplicar(x(), n)

x(1) = xa(2): x(2) = ya(1): r2 = Multiplicar(x(), n)

x(1) = r1: x(2) = r2: fr(1) = Restar(x(), n)

x(1) = xa(2): x(2) = ya(2): fr(2) = Multiplicar(x(), n)

x(1) = fr(1): x(2) = fr(2): rr() = sifr(x())

fr(1) = rr(1): fr(2) = rr(2)

refr = fr()

End Function

' ——————————————————————–

Public Function mufr(xa() As String, ya() As String) As Variant

Dim x(2) As String, fr(2) As String, rr() As String

Dim n As Integer

n = 7

x(1) = xa(1): x(2) = ya(1): fr(1) = Multiplicar(x(), n)

x(1) = xa(2): x(2) = ya(2): fr(2) = Multiplicar(x(), n)

rr() = sifr(fr())

fr(1) = rr(1): fr(2) = rr(2)

mufr = fr()

End Function

' ———————————————————————————

Public Function sifr(xa() As String) As Variant

Dim x(2) As String, fr(2) As String, rr() As String

Dim n As Integer, mcd As String, r As String

n = 7

mcd = MaxComDiv(xa(), n)

x(1) = xa(1): x(2) = mcd

rr() = DivisionEuclidea(x(), n): fr(1) = rr(1)

x(1) = xa(2): x(2) = mcd

rr() = DivisionEuclidea(x(), n): fr(2) = rr(1)

sifr = fr()

End Function

Para darse cuenta de la eficacia del código anterior, se obtiene con mucha rapidez el resultado siguiente:

edu.red

Lema 8: edu.red (44)

En efecto, según el binomio de Newton,

edu.red (45)

Derivando la igualdad (45) edu.redsucesivamente se obtiene que

edu.red

edu.red

edu.red

edu.red

edu.red

edu.red

edu.red

Definición 3: Se llama función generatriz de los polinomios de Legendre la función:

edu.red (46)

Para desarrollar en una serie de potencias a la función (46), según la variable edu.redse considera el desarrollo

edu.red (47)

, convergente para edu.red

Teniendo en cuenta que edu.redse puede elegir a edu.redtan pequeño para que tengan lugar las desigualdades

edu.red

Entonces poniendo edu.reden el desarrollo (45) se obtiene que

edu.red (48)

Desarrollado y ordenando a (48) según las potencias de t, resulta que

edu.red

, donde

edu.red

edu.red

edu.red

, y en general el coeficiente del término de edu.redque contiene a edu.redes edu.red

Por tanto, según el lema 8,

edu.red

edu.red

Bibliografía:

[1 ] Nicolae Cioranescu, Tratat de Matematici Speciale, Edititura de Stat Didactic? si Pedagogica,

Bucuresti, 1962

[2] I. GH. Sabac, MATEMATICI SPECIALE, I-II, Edititura de Stat Didactic? si Pedagogica,

Bucuresti, 1962

[ 3] V.Rudner, Editura Didactica si Pegagogic?, Bucuresti, 1970 .

[4] Aladar Peter Santha, Cálculos con números enteros largos en ordenadores, Monografias.com, 2012

[5] Aladar Peter Santha, Cálculos con números decimales largos en ordenadores, Monografias.com, 2012

 

 

Autor:

Aladar Peter Santha

Partes: 1, 2
 Página anterior Volver al principio del trabajoPágina siguiente