在 maple 上定义自动序列

Defining automatic sequences on maple

我正在使用 maple 研究某些属性或进行数值实验以查看自动序列是否满足某些属性。

首先,我想在 maple 上定义以下序列。序列的第 n 项由以下表达式给出 i_{n}=(-1)^{inv_2(n)},其中 inv_2(n) 表示 10 作为数字 n 的二进制表示中的分散子序列的出现。例如2=0x2^{0}+1x2^{1}+0...所以2的二进制表示是10,因此反转是1所以上面我讲的表达式取-1的值,更一般的例子是12的二进制表示是1100,那么本例中的 inv_2(12) 是 4,因为我们将 10 算作一个分散的子序列。

如何在 maple 上定义这样的序列?

如果我正确解释了您的示例,那么这就是过程 inv_2:

inv_2:= proc(n::nonnegint)
local N:= convert(n, base, 2), L:= nops(N), i, j, ct:= 0;
     for i from L by -1 to 1 do
          if N[i] = 1 then
               for j from i-1 by -1 to 1 do
                    if N[j] = 0 then  ct:= ct+1  end if
               end do
          end if
     end do;
     ct
end proc:

请确认这给出了正确的结果。