.. -*- coding: utf-8; -*- ============================= Sturmian文字列 ============================= | 初期文字 :math:`a` , :math:`b` , 指示配列 :math:`SW` によるSturmian文字列 .. raw:: html    
a =
b =
SW =
・Sw(n) = dummy
| **注** :SWを大きいリスト,要素を大きい数にするとおかしくなります.(入力制限で :math:`|SW|<30` としています) | 入力欄には1,1,1の様に正の整数を,区切りで入力してください. | アルゴリズムはループの方を使用. 定義 ========================================= :math:`n` 番目の **Sturmian文字列** *(Sturmian Word)* :math:`Sw_n` を以下のような定義で生成する. 指示配列 :math:`SW` を定義する :math:`SW = (SW_0,SW_1,...,SW_n)` - :math:`Sw_{-1} = b` - :math:`Sw_0 = a` - :math:`Sw_n = (Sw_{n-1})^{(SW[n])} + Sw_{n-2}` 例えば,(4,1,3,2)として生成するとSturmian文字列は次の通りになる. - :math:`Sw_{-1} = b` - :math:`Sw_0 = a` - :math:`Sw_1 = aaaab` - :math:`Sw_2 = aaaaba` - :math:`Sw_3 = aaaabaaaaabaaaaabaaaaab` - :math:`Sw_4 = aaaabaaaaabaaaaabaaaaabaaaabaaaaabaaaaabaaaaabaaaaba` 性質 ======================== .. todo:: などなど,もっと詳しく,わかりやすく,丁寧に色々と書いていきましょう. - :math:`SW = [SW_0,SW_1,…,SW_n]` の要素をすべて1にした場合,フィボナッチ文字列と同じ文字列になる. アルゴリズム集 ========================================= :math:`n` 番目のStrumian文字列を返す ----------------------------------------------- ループを用いたもの :download:`/Scripts/Python/SW.py` .. literalinclude:: /Scripts/Python/SW.py :pyobject: SW 参考文献 -------- - MARCIN PIATKOWSKI and WOJCIECH RYTTER, “ASYMPTOTIC BEHAVIOUR OF THE MAXIMAL NUMBER OF SQUARES IN STANDARD STURMIAN WORDS”, International Journal of Foundations of Computer Science, Vol. 23, No. 02, pp.303-321, 2012