行列はコンピューター サイエンスと数学における重要なツールであり、難しい計算をすばやく近似するために使用できます。行列は、データや数学的問題を表すことができる、行と列に編成された数値の集合です。
この記事を通じて、対角ドミナント行列を理解します。対角優勢行列の概念、アルゴリズム、例、およびさまざまなプログラミング言語での実装について学びます。
行列の各行について、その行の対角要素のサイズがすべての非対角要素のサイズの合計以上である場合、正方行列を対角優勢と呼ぶことができます。簡単に言うと、行列の対角要素を除いた要素の合計が対角行列より小さい場合です。
i 行 j 列を含む正方行列 a がある場合、数式を使用してそれを対角支配行列として表すことができます -
$$\mathrm{|\:a_{ii}\:|\:\geq\:\displaystyle\sum\limits_{jeq\:i}\:|\:a_{ij} |} $$ は私のものです ここで、aij は列 i と j のエントリを表します。 ###例### リーリー
正方行列が与えられた場合、その行列が対角優勢であるかどうかを確認する JavaScript プログラムを作成します。
###例###ここで、各行の対角要素は 4、4、4 であり、これらはすべて行内の他の要素の絶対値の合計よりも大きくなります。したがって、この行列は斜めに支配的です。
方法 1: ブルート フォース クラッキング
総当たり法では、行列の各行を反復処理し、対角要素が行内の他の要素の絶対値の合計より大きいかどうかを判断します。
###アルゴリズム###
行の対角要素がステップ 2 で決定した合計以上であるかどうかを確認します。
対角要素が合計以上の場合は、次の行まで繰り返します。
対角要素が合計より小さい場合は、行列が対角的に優勢ではないことを示す false を返します。
時間計算量: O(n2)、n は行列のサイズです。
このメソッドでは、各行の絶対値を降順に並べ替えます。次に、行の対角要素が n-1 個の絶対値の最大合計以上であるかどうかを判断します (n は行列のサイズです)。
###アルゴリズム###
行の対角要素が手順 3 で決定した合計以上であるかどうかを確認します。
対角要素が合計以上の場合は、次の行まで繰り返します。
対角要素が合計より小さい場合は、行列が対角的に優勢ではないことを示す false を返します。
時間計算量: O(n
2方法 3: 行のスケーリング
絶対値が最も大きい行を識別します。
すべての行がステップ 4 の基準を満たしている場合は true を返し、行列が対角方向に優勢であることを示します。
ステップ 4 の要件を満たさない行がある場合は、行列が対角的に優勢ではないことを示す false を返します。
時間計算量: O(n
3このブログでは、さまざまな方法を使用して行列が対角優勢であるかどうかを調べるプログラムについて説明します。それらの中には、ループ、並べ替え、および行スケーリング方法を使用するものもあります。この情報がお役に立てば幸いです。
以上が対角優勢行列用の JavaScript プログラムの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。