如何确定变量是否为最大值的指数?

How to determine if a variable is exponential in maxima?

我想在表达式中确定 2^nn^22*n 变量 $n$ 是否为指数。所以在那些情况下,只有第一个会 return true.

有什么想法吗?

简单的答案是使用 freeof:

(%i1) exponentp(e,n):=not mapatom(e) and 
                      op(e) = "^" and not freeof(n,second(args(e)))$

然后:

(%i2) map(exponentp,[2*n,n^2,2^n,(n+1)^(a+b), (a+b)^(n+c),2^(3/n+1)],[n,n,n,n,n,n]);

(%o2) [false,false,true,false,true,true]

我相信这是想要的答案。