アダマール行列の構築における進展
新しいハダマード行列の作成法が計算数学を進化させる。
― 1 分で読む
ハダマール行列って特別な正方行列で、各行が他の行と直交してるんだ。つまり、異なる行を掛け合わせると結果はゼロになるってこと。これらの行列のエントリーは普通1か-1なんだけど、ハダマール予想では、特定のサイズ、特にサイズが1、2、または4の倍数の時に、こういった行列が存在するって提案してる。でも、全てのサイズに対応できる方法はまだ見つかってなくて、いくつかのサイズにはまだ知られているハダマール行列がないんだ。
この行列には量子コンピューティングや画像解析、信号処理など、色んな実用的な使い道があるから、特定のサイズに対して簡単にハダマール行列が作れるかどうかをチェックする能力や、可能ならそれを作成する能力が大事だよね。
プロジェクト概要
このプロジェクトの目標は、Pythonで書かれたオープンソースソフトウェアのSageMathにハダマール行列を作成する方法を実装することだったんだ。このソフトウェアは様々な数学的計算を可能にする。SageMathには既にいくつかの方法があったけど、対応できるサイズが限られてた。プロジェクトの目的は、1000までの全ての知られているハダマール行列とスキュー・ハダマール行列を生成できるようにすることだった。
そのために、補完的差集合やT列などの追加の数学的構造もSageMathに追加されたんだ。これはハダマール行列を構築するために必要だった。新しいコードは既存の文献にある材料の正確さを確認するのにも役立つ。実際、スキュー・ハダマール行列の構成に関する主張の一つには修正が必要だと判明した。
ハダマール行列の定義
行列がハダマール行列と分類されるのは、全てのエントリーが1か-1で、各行が互いに直交している時なんだ。これらの行列の重要な性質は、正しく形成されると、可能な限り大きな行列式が得られること。最初にシルベスターによって説明されて以来、ハダマール行列は広く研究されてきた。
スキュー・ハダマール行列というバリエーションもあって、これは単位行列とスキュー対称行列を含む特定の形式を持っている。ハダマール予想は、ある順序が1または4の倍数の時にハダマール行列が存在すると述べている。現在、1000未満のほとんどの順序にはハダマール行列が知られているけど、668、716、892だけは知られてない。
既存の構築法
パレーの構築法
1933年、パレーはハダマール行列を構築するための2つの方法を発表した。最初の方法では、任意の素数の冪に対して、そのサイズのスキュー・ハダマール行列を作ることができるとされている。2つ目の方法では、特定の素数の冪に対して、ハダマール行列も構築できることが確認されている。
倍増構築法
シルベスターは、特定のサイズのハダマール行列があれば、そのサイズの2倍の新しいハダマール行列を作成できることを発見した。同じ原則がスキュー・ハダマール行列にも適用されて、特定の順序の行列に対してさらなる構築が同じルールに従って行われることを示唆している。
正規対称ハダマール行列
正規対称ハダマール行列は、その対角線に沿って一定の値を持っている。これらの行列のいくつかはSageMathに導入されたけど、範囲は限られていた。プロジェクトは利用可能なサイズを拡大することを目指していた。
コードの設計
SageMathに実装された方法は一貫した構造に従った。このソフトウェアはオープンソースなので、包括的なドキュメントが極めて重要だった。ソフトウェア内で作成された各関数には、説明、入力パラメーター、期待される出力、使用例が含まれていた。
コードの信頼性を確保するために、バグを確認するためのユニットテストが各関数に組み込まれていた。この継続的なテストは、新しいコードが追加されるたびにGitHubを通じて自動的に行われていた。
一般的な関数パラメーター
SageMathでは、コードの正確性を確認することが重要だった。数学的なオブジェクトを生成する各関数は、生成されたアイテムが正しいことを確認するチェックを行った。ただ、この確認プロセスはリソースを大量に消費し、特に大きな入力では遅くなることがある。これを管理するために、ユーザーが特定のチェックをスキップできるようにブールフラグが関数のパラメーターに追加された。
また、構築が適用可能かどうかを判断するのが、入力によっては複雑になることがあった。存在という名前のブールパラメーターが追加され、オブジェクトを実際に生成することなく構築が行えるかどうかを示す単純な真偽を返すことができるようになった。
ユーティリティ関数
コードを効率化し、繰り返しを避けるために、数学的オブジェクトの有効性を確認するユーティリティ関数が作成された。例えば、与えられた集合が補完的差集合であるかどうかを確認するための関数があった。このユーティリティ関数には、チェックが失敗した理由について詳細なフィードバックを提供するオプションの冗長パラメーターがあった。
非周期的自己相関がゼロの列
補完的な列はハダマール行列を構築するのに重要な役割を果たしている。自己相関の特性によって定義されるこれらのユニークなシーケンスは、特定の方法を使用して生成できる。ハダマール行列の生成をサポートするために、様々なタイプのシーケンスが実装された。
差集合
差集合は、各非零要素が特定の方法で表現できるグループの部分集合なんだ。このプロジェクトでは、相対、補足、補完的差集合のいくつかのバリエーションに焦点が当てられた。各タイプには特定の性質があり、ハダマール行列を構築するのを助けることができる。
相対差集合
相対差集合は、正常部分群に特有で、集合内の要素の差がその部分群の外の全要素を適切にカバーする必要がある。これらの集合を作成するための技術がSageMathに統合された。
補足差集合
補足差集合は、各非零要素が一定の数の表現を差として持つようなグループの部分集合。これらの集合のための複数の構築法が追加され、ハダマール行列での応用範囲が広がった。
補完的差集合
補完的差集合は、各要素と関連性が特定のルールに従う2つの集合で構成されている。この関数が実装されて、SageMathで補完的差集合を簡単に生成できるようになっている。
ハダマール行列の構築
多くの知られたハダマール行列の構築法がSageMathに取り入れられていて、ユーザーは様々な順序とタイプのこれらの行列を作成できるようになっている。
ウィリアムソン構築
ウィリアムソン法は、対称循環行列を組み合わせることで特定のサイズのハダマール行列を生成する。この構築法はソフトウェアに追加され、ユーザーがこれらのタイプの行列を扱えるようになっている。
ゲーテールス-ザイデル配列
この方法では、特定の構造にハダマール行列を形成するためにプラグインできる行列を作成する必要がある。この配列はいくつかの行列を組み合わせて目的の結果を達成する。
補足差集合からの構築
補足差集合を使用することで、追加のハダマール行列を作成できる。特定のパラメーターや構造が定義され、構築を促進する手助けをする。
スキュー・ハダマール行列
T列からの構築
T列は、追加のハダマール行列を生成するための助けとして導入された。T列とハダマール行列の関係により、SageMathで関連する行列をさらに探求して作成できるようになった。
良好な行列からのスキュー・ハダマール行列
良好な行列と呼ばれる行列カテゴリを利用して、スキュー・ハダマール行列を生成できる。このアプローチは、これらのユニークな行列を生成するための新しい選択肢を提供している。
ミヤモト構築
ミヤモトの方法は、既知の行列に基づいてハダマール行列を構築し、それらを使用して新しい行列を作成する。この概念は、様々な行列タイプの作成を効率化する。
今後の仕事
このプロジェクトにはさらなる拡張の可能性があって、新しいハダマール行列の構築法の追加が含まれる。カバーできる新しい順序についての研究も有益だろう。ハダマール行列に関する予想は未証明のままで、これを証明または反証する方法を探ることは、今後の作業にとって興味深い道になるだろう。
結論
このプロジェクトを通じて、複数のハダマール行列とスキュー・ハダマール行列の構築がSageMathに成功裏に実装された。これでソフトウェアは1000までの順序についてこれらの行列を生成することをサポートし、以前の方法のギャップを埋めることができた。包括的なドキュメントとテストにより、ユーザーはこれらの数学的構造を効率的かつ正確に扱えるようになった。コードは将来の進展と研究のために簡単に拡張できるようにも設計されている。
タイトル: Implementing Hadamard Matrices in SageMath
概要: Hadamard matrices are $(-1, +1)$ square matrices with mutually orthogonal rows. The Hadamard conjecture states that Hadamard matrices of order $n$ exist whenever $n$ is $1$, $2$, or a multiple of $4$. However, no construction is known that works for all values of $n$, and for some orders no Hadamard matrix has yet been found. Given the many practical applications of these matrices, it would be useful to have a way to easily check if a construction for a Hadamard matrix of order $n$ exists, and in case to create it. This project aimed to address this, by implementing constructions of Hadamard and skew Hadamard matrices to cover all known orders less than or equal to $1000$ in SageMath, an open-source mathematical software. Furthermore, we implemented some additional mathematical objects, such as complementary difference sets and T-sequences, which were not present in SageMath but are needed to construct Hadamard matrices. This also allows to verify the correctness of the results given in the literature; within the $n\leq 1000$ range, just one order, $292$, of a skew Hadamard matrix claimed to have a known construction, required a fix.
著者: Matteo Cati, Dmitrii V. Pasechnik
最終更新: 2023-06-29 00:00:00
言語: English
ソースURL: https://arxiv.org/abs/2306.16812
ソースPDF: https://arxiv.org/pdf/2306.16812
ライセンス: https://creativecommons.org/licenses/by-sa/4.0/
変更点: この要約はAIの助けを借りて作成されており、不正確な場合があります。正確な情報については、ここにリンクされている元のソース文書を参照してください。
オープンアクセスの相互運用性を利用させていただいた arxiv に感謝します。