基本的なワイア正準型と呼ばれるn × n行列Wのタイプがあります。このようなマトリックスはブロックで記述され、次の参照図を使用して次のプロパティを持ちます。
- 主対角ブロックW IIがあり、N I ×N iが λ形式の行列I N I I N iはあるN I ×N I恒等行列。
- nは1 ≥N 2 ≥...≥N R
- 最初の対角ブロックW K-1、K用2..r∈Kであり、N K-1 ×N Kである行列の行還元階段状のフル列ランクは、以上簡単に言えば、I N k個の上に座っn k-1 -n k行のゼロ。
- 他のすべてのブロックは0行列です。
例えば:
- 主な対角ブロック(黄色)は、n iが4、2、2、および1であるようなものです。
- 最初の超対角ブロックは緑色です。
- グレーゾーンは、他のすべてのブロックで構成され、すべて0です。
この課題では、λ= 1と仮定します。
入力
任意の便利な形式の0と1の正方行列。
出力
入力行列がWeyrであるかどうかについて、2つの異なる値のいずれかを出力します。
ルール
これはcode-golfです。各言語の最少バイト数が優先されます。標準のルール/抜け穴が適用されます。
テストケース
行の配列として提示されます。
ワイアー:
[[1]]
[[1,1],[0,1]]
[[1,0,1,0,0],[0,1,0,1,0],[0,0,1,0,1],[0,0,0,1,0],[0,0,0,0,1]]
[[1,0,0,1,0,0,0,0,0],[0,1,0,0,1,0,0,0,0],[0,0,1,0,0,1,0,0,0],[0,0,0,1,0,0,1,0,0],[0,0,0,0,1,0,0,1,0],[0,0,0,0,0,1,0,0,1],[0,0,0,0,0,0,1,0,0],[0,0,0,0,0,0,0,1,0],[0,0,0,0,0,0,0,0,1]]
[[1,0,0,0,1,0,0,0,0],[0,1,0,0,0,1,0,0,0],[0,0,1,0,0,0,0,0,0],[0,0,0,1,0,0,0,0,0],[0,0,0,0,1,0,1,0,0],[0,0,0,0,0,1,0,1,0],[0,0,0,0,0,0,1,0,1],[0,0,0,0,0,0,0,1,0],[0,0,0,0,0,0,0,0,1]]
非Weyr:
[[0]]
[[1,0],[1,1]]
[[1,0,0,1,0,0],[0,1,0,0,0,0],[0,0,1,0,0,1],[0,0,0,1,0,0],[0,0,0,0,1,0],[0,0,0,0,0,1]]
[[1,0,1,0,0],[0,1,0,0,0],[0,0,1,0,0],[0,0,0,1,0],[0,0,0,0,1]]
[[1,0,0,1,0,0,0,0,0],[0,1,0,0,1,0,0,0,0],[0,0,1,0,0,1,0,0,0],[0,0,0,1,0,0,0,0,0],[0,0,0,0,1,0,1,0,0],[0,0,0,0,0,1,0,1,0],[0,0,0,0,0,0,1,0,1],[0,0,0,0,0,0,0,1,0],[0,0,0,0,0,0,0,0,1]]
2
weyr、マトリックスの定義は非常に不明確です。それを理解するために、最初にウィキペディアから定義を読む必要があります(どちらもあまり明確ではありません)。一つには、n <sub> i </ sub>とは何か、それが何を意味するのかを明確にするだろうが、現在、そのようなnが存在する場合、マトリックスがweであることはあまり明確ではない。マトリックスのプロパティ。
—
小麦ウィザード
単位行列がワイア行列であることは正しいですか?
—
スチューウィーグリフィン
恒等行列は、r = 1およびn_1 = nのWeyr行列です。したがって、縮退した行列ではあります。
—
S.Klumpers
推奨されるテストケース:
—
アーナルド
[[1,0,0,1,0,0,0,0,0],[0,1,0,0,1,0,0,0,0],[0,0,1,0,0,1,0,0,0],[0,0,0,1,0,0,0,0,0],[0,0,0,0,1,0,1,0,0],[0,0,0,0,0,1,0,1,0],[0,0,0,0,0,0,1,0,1],[0,0,0,0,0,0,0,1,0],[0,0,0,0,0,0,0,0,1]]
。私はそれが偽であると思います(しかし、私の答えはそれをそのように識別できません)。
含めた定義は、一般的なweyrマトリックスではなく、基本的なweyrマトリックスのみを識別することを示唆しています。これはあなたがこの挑戦のために意図したものですか?
—
S.Klumpers