sprank
構造化ランク
説明
例
行列の構造化ランクの計算
2 行 4 列の行列の構造化ランクを計算します。
A = [1 0 2 0 2 0 4 0]; A = sparse(A); rs = sprank(A)
rs = 2
構造化ランクを通常のランクの計算と比較します。
rf = rank(full(A))
rf = 1
この行列の場合、2 列が非ゼロのため、構造化ランクは 2 です。しかし、それらの列は互いの倍数であるため、行列の実際のランクは 1 です。
入力引数
A
— 入力行列
スパース行列
入力行列。スパース行列として指定します。
データ型: double
複素数のサポート: あり
詳細
構造化ランク
行列の構造化ランクは、同じ非ゼロ パターンをもつすべての行列の最大ランクです。対角にゼロ要素がないように並べ替えることができる場合、行列は非スパースの構造化ランクをもちます。
構造化ランクは行列のランクの上限であるため、sprank(A) >= rank(full(A))
を満たします。
以下は、他の関数での構造化ランクの定義の一部です。
構造化ランクは "最大一致" であり、
sprank(A) = sum(dmperm(A)>0)
による Dulmage-Mendelsohn 分解に関連しています。dmperm
と異なり、関数matchpairs
は、一致を計算するときに重みも考慮します。行列を 1 と 0 に変換し、matchpairs(double(A~=0),0,'max')
を使用して一致の重みを最大にすることにより、最大一致を計算できます。これにより、構造化ランクが一致の数と等しくなります。
拡張機能
スレッドベースの環境
MATLAB® の backgroundPool
を使用してバックグラウンドでコードを実行するか、Parallel Computing Toolbox™ の ThreadPool
を使用してコードを高速化します。
この関数はスレッドベースの環境を完全にサポートしています。詳細については、スレッドベースの環境での MATLAB 関数の実行を参照してください。
バージョン履歴
R2006a より前に導入
参考
MATLAB コマンド
次の MATLAB コマンドに対応するリンクがクリックされました。
コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは MATLAB コマンドをサポートしていません。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)