A continuación mostraré tres formas de utilizar una regla generada para la sustitución, para lograr el objetivo. Una utiliza simplify
se utiliza applyrule
y uno utiliza subs
.
En primer lugar, Maple puede convertir harmonic(z)
a la forma de suma, pero la operación inversa necesita ayuda. Construiré una ecuación para usar en la sustitución, a partir de lo que Maple calcula realmente para el value
de la Sum
forma de harmonic(z)
.
restart;
convert(harmonic(b), Sum):
Sum(b/_k1/(_k1+b),_k1 = 1 .. infinity)
value(%);
gamma + Psi(1 + b)
Así que vamos a construir una fórmula para utilizarla,
T1 := expand(value(convert(harmonic(z),Sum)) = harmonic(z));
1
T1 := Psi(z) + - + gamma = harmonic(z)
z
Realizando sólo la suma interna,
Q1 := Sum(sum(1/k, k=1..b), b=1..m);
Sum(gamma+Psi(1+b),b = 1 .. m)
Ahora podemos simplify
con T1
como una llamada "relación lateral", después de sustituir z
para b
en Q1
,
simplify(subs(b=z, combine(expand(Q1))), {T1});
Sum(harmonic(z),z = 1 .. m)
En ese momento, Maple hace lo siguiente,
value(%);
harmonic(m + 1) (m + 1) - m - 1
Como alternativa podemos poner T1
en una forma ligeramente diferente, aislando para Psi(z)
,
T2 := isolate(T1, Psi(z));
1
T2 := Psi(z) = harmonic(z) - gamma - -
z
Ahora toma la doble suma,
temp := sum(sum(1/k, k=1..b), b=1..m):
Q2 := simplify(expand(temp),size);
/ 2 \ 2
\m + m/ Psi(m) + 1 + (gamma - 1) m + (gamma + 1) m
Q2 := ----------------------------------------------------
m
Y podemos construir una regla a partir de T2
para su uso con el applyrule
de la orden. Esto no implica la sustitución de m
para z
.
R := subs(Psi(z)=Psi(z::anything), T2):
normal(applyrule(R, Q2));
harmonic(m) m + harmonic(m) - m
Hay otras formas de utilizar T2
para sustituir a Psi(z)
. Sustituyendo primero m
para z
en T2
podemos utilizar subs
directamente.
normal(subs(subs(z=m, T2), Q2));
harmonic(m) m + harmonic(m) - m