問題タブ [mathematical-lattices]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
hash - 一意のサイト ラベル付きラティス ツリー (ポリノミノのようなラティス埋め込みグラフ) の決定。polyomino ハッシュではありません
私はいくつかの完全ではないポリオミノ格子 ((最後のコメントを参照) 埋め込みグラフ (以下の例) のようなより多くの結合動物) のハッシュを構築しようとしていますが、いくつかの問題に遭遇しています。
標準的なポリオミノの場合、次のような格子埋め込みグラフがあります (テトリスを考えてください)。
そして、これらのようなものについては、 アルゴリズムの作業を参照して、一意のフリー ポリオミノ (またはポリオミノ ハッシュ) を識別します。
ただし、私の場合は次のとおりです。
どこで - そして | 「結合された」隣人を示す
ここで、私の場合、回転 (最初と最後など) は同じ構造であると考えていますが、2 番目と 5 番目は同じ構造であり、3 番目と 4 番目も同じ構造です。また、「フリップ」も等しいので、次のようになります。
これらの「構造」を生成するコードは、次のように報告します。
(2Dに投影された場合)どれが
構造
現在、この構造を次の文字列として解析します: YXXXb0B1 ここで、b"num" は「分岐」ポイントを示し、B"num" は分岐の数を示します。現在、B"num" は n が小さい場合 (4 ノードなど) は自明ですが、n=7 の場合は次のようになります。
したがって、n=4 の場合、1 つの Y と 3 つの X がある場合、3 つの固有の構造が必要であると予想されます。
私の現在のラベル付け/ハッシュでは、6つの「一意の構造」が得られますが、文字列操作で2つのケースを排除できると思います(最初と最後の文字を交換し、次に2つの中央の文字を交換します)が、これはおそらく排除されません重複する分岐点モデル (b1 または b0 は両方とも分岐点である可能性があり、「回転」によって分離されているだけです)。
簡単にするために、私は現在、Y のみが「分岐」できる (2 つ以上の「結合された」隣人を持つ) という追加の制限があり、最大 3 つの結合された隣人を持つという制限がある (そうではない) ラベル付きラティスに興味があります。典型的なポリオミノはすべて含まれます)。実際、それらは「構造」や結合格子アニマルのようなポリオミノの奇妙なクロスであり、格子ツリー (ループ/サイクルなし) に似ています (リンクを参照: http://www.ms.unimelb.edu.au/~andrewr/ research/intro_html/node8.html )。
編集:
フォローアップとして、次のルールを使用してこれらの構造のいずれかを記述することで解決したと思いました: (+ = 連結)
番号。ブランチの + ブランチ ID (ランダムに割り当てられた) + そのブランチのシーケンス + 次のブランチ ID + シーケンス .... など。しかし、これはまだうまくいきません。
しかし、これで十分かどうかはまだわかりません。Yが3つ以上の結合された隣人を持つ場合、それは機能しないことを私は知っていますが、Yの結合された隣人<= 3の私の限られたケースでは機能するようです。
python - numpy の n-dim fft のスケーリング係数
穴のグリッドのイメージがあります。で処理するとnumpy.fft.fft2
、周期性や基底ベクトルなどをはっきりと確認できる素敵な画像が得られます。
しかし、どうすれば格子間隔を抽出できますか?
実空間の格子点の間隔は約96px
であるため、k 空間での間隔は になります2*Pi / 96px = 0.065 1/px
。
当然、 numpy はサブピクセル間隔の画像配列を返すことができないため、何らかの方法でスケーリングされます-k空間の間隔は約70px
です。
しかし、スケーリングはどのように行われ、正確なスケーリング係数は何ですか?
sequence - N 要素の順序付けられたセットのインデックスを見つける
問題の説明:
を含む N 個の整数のリストのセットは、1 つの整数から開始i1,i2,....,iN
し、最後に追加された整数以上の整数を繰り返し追加すること0<= i1<=i2<=i3<=....<=iN <=M
によって作成されます。0<=i1<=M
リストの最終セットを取得するために最後の整数を追加すると、インデックスは から始まり0 to BinomialC[M+N,N)]-1
ます。
リストは
別の整数を追加するi2>=i1
と、
インデックス付き
このインデックスは、i1、i2、...、iN および M で表すことができます。条件 >= が存在しない場合は、単純に になりますi1*(M+1)^(N-1)+i2*(M+1)^(N-2)+...+iN*(M+1)^(N-N)
。ただし、上記の場合、制限により指数にマイナスのシフトがあります。たとえば、N=2 の場合、シフトは -i1(i1+1)/2 で、インデックスはi = i1*(M+1)^1 + i2*(M+1)^0 -i1(i1+1)/2.
質問: 特に数学のバックグラウンドを持つ人で、一般的な N 要素の場合のインデックスの書き方を知っている人はいますか? それとも最終的な表現ですか?どんな助けでも感謝します!ありがとう!