マニュアルの記述と実際の動作が合わない

▲マニュアルの記述と実際の動作が合わない.マニュアルでは,「列インデックスとは長さγ-1のべき剰余横数列内の相対位置を示す0~γ-2の整数」としているが,γ=15のとき,列インデックスは0~7までの値になっている.⇒εR値は ε Mod (φ) で計算されている.このφはφ(γ)だ.行の場合はγが除数になっている.つまり,タイルの横幅はγ-1ではなくφ(γ)だ.タイルという発想はマニュアルの中に初めて出てくる用語だが,この発想は2023/06/25のログに出てくる「小ブロック」というアイディアに近い.ただし,このときは最後まで追求せずに終わってしまっている.縦数列の周期と一致しないためだ.

  1. 横周期はφ(γ)より小さい場合がある γ=200のときφ(γ)は80だが,最長周期は20のように見える 実際異種文字数は20を超えていない.
  2. 横周期はΛの最大値としてよいのではないか?この事例ではΛ={10, 20, 20, 2, 1, 1, 20, 20, 10, *}で,いずれも20の約数になっている
  3. 縦周期では0行というのが出てくるので,これを分割単位とするのが分かり易い.γ=200のとき,周期10でゼロ行が発生している
  4. 縦周期の場合の異種文字数は若い列では200という数字も出てくるが,周期に乗った時点では最大105, 25, 22などとなっている.
  5. ゼロ行が発生する周期は#が0,つまりΛが不定となるタイミングなので計算すれば取り出せるのではないか?
  6. ただし,横数列は完全な周期性があるが,縦数列ではそうではないので,インデックスとしてこの値を採用するのは問題がある.

cycle カラー表示の場合にも,ゼロ要素はグレー表示するというのでよいのではないか?このような表示に変えても横数列の周期性には影響しない.というか,現行ではcycleカラーではゼロ要素には色を与えていないように見える.⇒対処した.こうしておけば,縦数列がなぜストライプと呼ばれるかが伝わるかも知れない.

ゼロ行がどこで発生するのか?その機序を突き止める必要がある.γという周期のストライプが入るのは確かだが… γ=123では入らない.122でも同じ.121では周期11のストライプが入る.γ=120では30でストライプが入る.どういうルールになっているのか?いまいちつかめない.γの因数分解も表示しておいた方がよいかもしれない.⇒とりあえず,ダンプすることにしよう.γ=124のストライプは62だ.

▲γ=120,α=1,ε=4のとき,DispResidueCycleで固定桁数不一致が出た.offset=1 drop=0.表示ではoffset=0, #=1となっている.最上行は{1, 1, 1,…}だから,offset=0, #=1が正しい.このoffsetはラムダ関数が出しているものだ.γ=124, α=1でも出る.

▲α=154,ε=4,γ=113のとき,ResidueFuncProで停止した.num <> CType(value_α.Value, BigInteger) これは,αが処理中に書き換えられたことを意味する.

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA