.. -*- coding: utf-8; -*-
=============================
Sturmian文字列
=============================
| 初期文字 :math:`a` , :math:`b` , 指示配列 :math:`SW` によるSturmian文字列
.. raw:: html
・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