【要約】整数をペンローズタイリングで2次元化すると残渣はひし形になって現れる [Zenn_Python] | Summary by TechDistill
> Source: Zenn_Python
Execute Primary Source
// Problem
著者は、1次元の準結晶モデルを2次元へ拡張する過程で、設計上の誤りに直面した。窓の形状定義と数値計算手法の不備により、本来の構造を捉えられなかった。詳細は以下の通りである。
- ・窓を正十角形ではなく円板として実装した。
- ・その結果、10方向の対称性が失われ、構造が退化した。
- ・浮動小数点を用いた計算により、黄金比の構造が消失した。
// Approach
著者は、幾何学的な対称性と数学的な厳密性を確保した。窓の形状を正十角形へ再定義し、代数的な数値計算手法を採用した。具体的な手法は以下の通りである。
- ・窓の境界を一次不等式で定義し、解析的に反転時刻を算出した。
- ・$\phi$ を含む数 $p + q\phi$ を扱う
Qpクラスを実装した。 - ・整数演算のみを用いて、大小比較や乗算を厳密に行った。
- ・インフレーション法を用い、構造を自己相似的に拡大した。
// Result
著者は、2次元空間における残渣が「ひし形」として実体化することを突き止めた。幾何学的な構造とフィボナッチ数列の関連性を明確にした。成果は以下の通りである。
- ・反転間隔が $\rho$ ($1/\phi$) の冪のみで構成されることを確認した。
- ・間隔の座標が連続するフィボナッチ数の対として現れることを解明した。
- ・インフレーションにより、誤差なしで第$n$周の骨格を生成可能にした。
Senior Engineer Insight
> 数値計算における「型設計」の重要性を再認識させる。幾何学的な対称性を扱う際、浮動小数点の使用は構造を破壊する。対象の数学的性質に基づき、$\mathbb{Q}(\phi)$ のような独自の数値型を設計するアプローチは、高精度なシミュレーションや物理演算において極めて実戦的な判断である。