Borrar filtros
Borrar filtros

symsum and a divergent series

4 visualizaciones (últimos 30 días)
Dimitrios Anagnostou
Dimitrios Anagnostou el 9 de Feb. de 2023
Comentada: Torsten el 14 de Feb. de 2023
I apologize if I'm asking something trivial.
I know that symsum can be used for series. For instance,
syms k
symsum(2^k/factorial(k),k,1,Inf)
ans = 
The series whose general term is is a divergent one. When I try symsum with this series I get
symsum(log(k+1)/k,k,1,Inf)
ans = 
Matlab return the series unevaluated. However, I wanted a behavior similar to Mathematica's.
Sum[Log[r + 1]/r, {r, 1, Infinity}]
% Output During evaluation of In[1]:= Sum::div: Sum does not converge.
Is it possible to get such an output from Matlab's Symbolic Math Toolbox? Thank you very much in advance!

Respuesta aceptada

John D'Errico
John D'Errico el 9 de Feb. de 2023
Editada: John D'Errico el 9 de Feb. de 2023
Is it possible? Well, yes. And, sometimes, no.
But you can always use Mathematica. What else can I say?
When symsum returns a result that is the same as what you passed in, this is its way of telling you that no solution could be found, at least not by that tool. symsum does not always offer the ability to tell you a series is divergent, as opposed to merely not convergent.
In some cases of course, symsum has no problem. As you see here, symsum can at least some of the time return the result you want.
syms n
symsum(1./n,1,inf)
ans = 
That last sum is unbounded, greater than any finite number, so an INF. But next, symsum is smart enough to know the difference, for a classically problematic series.
symsum(sin(n),0,inf)
ans = 
NaN
Yes, that series is divergent, and MATLAB knew the sum is not unbounded, but that no value can be applied to the sum. So it returned NaN. to indicate the difference between an unbounded sum and one which can be only represented as NaN. But then we have this sum.
symsum(n,1,inf)
ans = 
DRAT. I could have sworn that Ramanujan proved the latter sum to be -1/12? Maybe I should send Ramanujan a letter pointing out that symsum disagrees? ;-) I would send it to G.H. Hardy of course, who might be able to forward it.
Anyway, that symsum fails to tell you a series was divergent is not always conclusive. It is only conclusive that symsum did not know the answer.
symsum(log(n+1)./n,1,inf)
ans = 
Computers are not omniscient. (Except when they play chess against me. Then they just laugh hysterically.)
  1 comentario
Dyuman Joshi
Dyuman Joshi el 9 de Feb. de 2023
Editada: Dyuman Joshi el 10 de Feb. de 2023
An insightful answer, @John D'Errico

Iniciar sesión para comentar.

Más respuestas (1)

Dimitrios Anagnostou
Dimitrios Anagnostou el 14 de Feb. de 2023
I accepted John D'Errico's thorough answer but to Matlab's defense I post also my answer. The problem was my typo. I have forgotten unfortunately the round brackets. c
syms k
symsum(log((k+1)/k),k,1,Inf)
ans = 
Matlab finds indeed that the series is a divergent one.
I apologize for any inconvenience caused.
  1 comentario
Torsten
Torsten el 14 de Feb. de 2023
But MATLAB should also show Inf as result for
syms x k
symsum(log(k+1)/k,k,1,Inf)
ans = 
But it doesn't.

Iniciar sesión para comentar.

Productos


Versión

R2022a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by