【问题标题】:Conversion between Zeckendorf and Golden Ratio BaseZeckendorf 和黄金比例基础之间的转换
【发布时间】:2011-05-05 15:14:33
【问题描述】:

Zeckendorf 和 Golden Ratio Base 显然密切相关,但从一个转换到另一个似乎仍然很棘手。我知道 Frougny 和 Sakarovitch 对此进行了研究,但我还没有完全理解这一点。一个问题是黄金比例基础表示在小数点周围相当对称,这表明这些表示可能是上下文无关的。 Sakarovitch 和 Frougny 使用“折叠”的黄金比例基数来处理这个问题。通过这种修改后的表示,他们可以使用有限状态传感器进行转换,但我不知道这应该如何工作。

至于黄金比例基数的部分对称性,这与成对出现的根有关(George Bergman (pc) 对此进行了更长的解释)。

关于这两种表示之间的关系,我确实知道的一件事是,对于 d-1...d_i*d_j...d_n 形式的每个黄金比例基本表示(使用 '*' 作为小数点),有是涉及斐波那契数的对应方程:

Example 4 = 101.01 <=> 4f_n = f_{n+2} + f_n + f_{n-2}   (with f_0 = f_1 = 1
                                                          and f_n = f_{n-1} + f_{n-2})
For n=3,  f_n=3:  12 =   10101
for n=4,  f_n=5:  20 =  101010
for n=5   f_n=8:  32 = 1010100    

(等等。有一系列数字都具有与 4 的黄金比例基本表示相同的 Zeckendorf 位模式)。这确实看起来应该有帮助,但是如何?

这种模式在 D. Gerdemann,Zeckendorf family identities Fibonacci Quarterly,2008/2009 的组合证明中进行了讨论。

顺便说一句:尽管我在 Fibonacci Quarterly 上发表过一篇论文,但我在这方面完全是个业余爱好者。我的知识存在很多差距,包括我所询问的差距。

【问题讨论】:

  • 很高兴了解 stackexchange,但似乎对此无济于事。毕竟,我正在寻找一种算法。
  • 在这种情况下,试试cstheory.stackexchange.com :)
  • 再次感谢。泽肯多夫也没有安打。但看起来像一个很棒的网站。所以在这里问我的问题已经为我带来了回报。
  • 编程算法是这里的主题。您在寻找编程算法吗?

标签: fibonacci base-conversion


【解决方案1】:

我知道这个答案晚了 1.75 年,但由于没有其他人试图回答它,我自己也在探索斐波那契数、泽肯多夫表示和黄金比例基础之间的联系,我会继续发布我在相关研究中发现的内容以及我最好的答案:

从现在开始,为了简洁起见,我将 golden ratio base 称为基本 phi 或 phinary。

Fibonacci numbers 相比,基本 phi 与 Lucas numbers 的联系更紧密,这解释了您在直接转换它们时遇到的一些困难。但是卢卡斯数与斐波那契数的关系是:

L[n] = F[n-1] + F[n+1]

5 * F(n) = (L[n-1] + L[n+1])

卢卡斯数以这种方式与基本 phi 相关:

L[n] = phi^n + (-1/phi)^n 因此将为每个卢卡斯数设置基本 phi 中的第 n 和 -n 位。

斐波那契数 F[n] 以 phi 的幂的形式直接表示为:

F[n] = ( phi^n - (-1/phi)^n )/sqrt(5)(注意减号而不是加号)

在 phinary 中翻译为:

F[n] = ( 10^n - (-0.1)^n )/10.1

现在sprt(5) 可以直接用 phinary 表示为 10.1,但它只会在整数中包含 5 的因子时均分斐波那契数,因为 5 和它的倍数是唯一的整数 sqrt(5) 相除。这意味着在基础 phi 中,5 不是素数,但 sqrt(5) (从技术上讲,它是一个原始的素数理想)。 sqrt(5) 的行为非常类似于整数。事实上,在基本 phi 中可以有限表示的任何数字都称为Dirichlet Integer,因为它具有类似整数的行为。

我在this web page 上找到了上述公式,其中包含有关斐波那契数、卢卡斯数和 phi 之间关系的更多信息。

所以这是我对算法的尝试。我请求社区帮助我发现并纠正任何错误。我假设 Zeckendorf 和基本 phi 表示存储在一个数组中,其中 Zeckendorf 数组从 0 到 n 和 Phinary 数组从 -n 到 n,我正在使用类似 C 的伪代码:

for (int n = 0; n < length(Zeckendorf); n++) {
    if (Zeckendorf[n] == 1) {
        Phinary[n] = 1;
        /* in a real array, the negative n needs to be offset like fixed point */
        Phinary[-n] = -1; /* negative phinary digits
        can be converted to positive ones later
        (see Golden Ratio Base article on wikipedia) */
    }
}
Standardize(Phinary); /* Change -1's to 1's with 0,-1,0 -> -1,0,1
negatives will eventually cancel with their positive 1 neighbors to the left. */
/* Divide by sqrt 5 = 10.1 in phinary */
Sqrt5[-1 .. 1] = {1, 0, 1}
PhinalNumber = PhiDivide(Phinary, Sqrt5);

golden ratio base 的维基百科文章中记录了标准化为最小形式的方法,并且可以使用Euclidean Division algorithm 执行除法。

更好的方法可能是使用Balanced Ternary Tau system,以便“围绕基数相当对称”属性变为“围绕第 0 位完全对称”属性(称为镜像对称属性)。描述它的论文是 Alexey Stakhov 的“Brousentsov’s Ternary Principle, Bergman’s Number System and Ternary Mirror-symmetrical Arithmetic”。

【讨论】:

  • 谢谢。不错的答案!同时,我写了一篇关于该主题的论文:Zeckendorf Family Identities 发表在 Fibonacci Quarterly 上,这篇论文开始得到一些有趣的引用。我看到已经独立发现了这种三元镜像对称算法。我真的很惊讶。我把它寄给了乔治·伯格曼(他也很惊讶),然后我制作了一个关于它的 YouTube 视频。我还制作了一个 YouTube 视频,将 Golden Ratio Base 与 Zeckendorf 和 Martin Bunder 的代表联系起来。要生成 Z-(或 B=)reps 序列,生成 GR-base 并折腾负数并重复
  • 太棒了!我很高兴你喜欢我的回答。您是否介意提供指向 Youtube 视频(以及任何相关信息)的链接,以便其他人可以更轻松地找到它们?
  • 你写的地方有一个错误:L[n] = phi^n + (-1/phi)^n。这个公式只适用于每一秒的卢卡斯数。其他的从头到尾都是 10101...10101 模式。你的答案可以解决吗?
  • 好的,我创建了一个包含 10 个视频的播放列表。大多数情况下,它们包含大量的我在玩耍。 youtube.com/…。 (从数字 10 开始)。更重要的信息在 Edward B Burger 等人的新论文 CANONICAL DIOPHANTINE REPRESENTATIONS OF NATURAL NUMBERS WITH RESPECT TO QUADRATIC \BASES" EDWARD B. BURGER in j. Number theory. Abstract. 1957 年,Bergman 证明了每个自然数都可以表示唯一地作为 ' = (1 + p5 )=2 的不同、非连续积分幂的总和。最近,在 2009 年,Gerdemann 表明 ...
  • 我这个周末要去旅行,但我会在下周尝试解决它。也欢迎其他人加入。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-01-05
  • 1970-01-01
  • 2014-05-24
  • 1970-01-01
  • 2017-07-07
  • 1970-01-01
相关资源
最近更新 更多