Should this Symbolic Limit be Zero?

syms x a % complex by default
syms n integer
assume(abs(a)>abs(x));
assumptions
ans = 
limit(x^n/a^n,n,inf)
ans = 
Should that limit be zero under the assumption that abs(a) > abs(x)?

Answers (1)

Sometimes I wish these tools could tell us where they are stumbling in the solution, when they get stuck.
For example, suppose a were zero? After all, a is sort of unconstrained. Then the limit is undefined. Yes, it should understand that a could never be zero, since we know that abs(x) < abs(a). So I tried this instead, explicitly forcing a to be positive. Yes, now it should understand that a is real valued.
syms a x
syms n integer
assume(a > 0)
assume(abs(a) > abs(x))
assumptions
ans = 
limit(x^n/a^n,n,inf)
ans = 
That seems to allow some answer. But as you can see, limit is a little confused even here, although it does try to resolve the issue. But one possiblity it allows is that a==x, even though we said there is a strict inequality. Anyway, the result here seems to offer a bit more of an explanation of where it is getting stuck.

2 Comments

It almost looks like limit ignores assumptions, but that's not documented and doesn't explain why my original example doesn't return a piecewise solution, i.e., it could have determined that x == a is a special case.
Exploring this a bit more, I restricted both a and x to be real.
syms a x real
syms n integer
assumeAlso(abs(a) > abs(x))
assumptions
ans = 
limit(x^n/a^n,n,inf)
ans = 
So that doesn't help. Assume a > 0.
assumeAlso(a > 0)
limit(x^n/a^n,n,inf)
ans = 
Interesting that now the result does not allow a == x as a possibility.
Add assumption that x > 0
assumeAlso(x > 0)
limit(x^n/a^n,n,inf)
ans = 
Which looks like a reasonable result, except that limit is ignoring one of the active assumptions.
assumptions
ans = 
The point seems clear. Limit is at least somewhat unaware of the assumptions placed on the variables.

Sign in to comment.

Products

Release

R2022b

Asked:

on 12 Feb 2023

Commented:

on 13 Feb 2023

Community Treasure Hunt

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

Start Hunting!