私はILNumericsにあまり精通していないので、SVDが一般的にあなたの場合に何ができるかを説明してみます。まず第一に、ウィキペディアはSVDの可能なアプリケーションのいくつかの基本的な情報を提供します。あなたの場合、「範囲、零空間、ランク」と「低ランク行列近似」に関する部分が特に重要です。特異値分解は、実際の値を決定するのに役立ちますシステムマトリックスのランク。隣接グラフがスパースである場合、システム行列(たとえば、N×N行列)のランクMはNよりも小さい可能性があります。その場合、その低ランク近似を計算できます。つまり、結果に与える影響が非常に小さいため、N-M個の最小固有値を無視するM×M(M <N)を作成します。もちろん、このコンテキストでの小さな意味は、アプリケーションによって大きく異なります。
編集:サンプルデータでは、元の行列AはA = outUsvdOutoutVとして分解されています。対角行列svdOutは、Aの固有値特異値で構成されますが、outUとoutVの列/行は、それぞれAの左特異ベクトルと右特異ベクトルです。この例では、特異値は1.61803、1.41421、0.61803、および0(2回)です。したがって、元の行列のランクは、ゼロ以外の特異値の数(この例では3つ)によって与えられます。したがって、行列B = outU svdOut * outVを定義できます。ここで、アスタリスクは、最下位の特異値が削除されたことを示します。たとえば、最小の固有値を無視することを決定できます。
svdOut* =
| 1.61803 0 0 0 0 |
| 0 1.41421 0 0 0 |
| 0 0 0 0 0 |
| 0 0 0 0 0 |
| 0 0 0 0 0 |
ただし、もう一度考えてみると、隣接行列のSVDでは、探しているものが直接得られないと思います。重要なノードが実際にコンテキスト内で何であるかを何らかの方法で定義する必要があります。
Edit2(以下のコメントへの応答):SVDは、ノードに関する直接的な情報ではなく、マトリックスに関する情報を提供します。特異ベクトルは、元の行列を別の形式で表現するために使用できる正規直交基底を形成します。特異値は、これらの各ベクトルの影響がどれほど強いかについての情報を提供します。繰り返しになりますが、ウィキペディアは、これがどのように解釈されるかを理解するのに役立つかもしれません。元の質問に戻ると、単純なSVDは実際にはあなたが探しているものではないと思います。