필터 지우기
필터 지우기

symsum and a divergent series

조회 수: 4 (최근 30일)
Dimitrios Anagnostou
Dimitrios Anagnostou 2023년 2월 9일
댓글: Torsten 2023년 2월 14일
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!

채택된 답변

John D'Errico
John D'Errico 2023년 2월 9일
편집: John D'Errico 2023년 2월 9일
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
Dyuman Joshi
Dyuman Joshi 2023년 2월 9일
편집: Dyuman Joshi 2023년 2월 10일
An insightful answer, @John D'Errico

댓글을 달려면 로그인하십시오.

추가 답변 (1개)

Dimitrios Anagnostou
Dimitrios Anagnostou 2023년 2월 14일
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
Torsten
Torsten 2023년 2월 14일
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.

댓글을 달려면 로그인하십시오.

카테고리

Help CenterFile Exchange에서 Calculus에 대해 자세히 알아보기

제품


릴리스

R2022a

Community Treasure Hunt

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

Start Hunting!

Translated by