2016-08-28 13 views
0

this video(4:50)を使ってAHPプログラムを作ろうとしています。私は基準の重みのための固有ベクトルを見つけることに立ち往生しています。私はthis webpageのクラスライブラリを使用しましたが、結果は大きく異なります。行列から固有ベクトルを見つける

これはこれまでに書いたテストコードです。

private void button_calculate_Click(object sender, EventArgs e) 
    { 

     double[,] matrix = new double[,] 
     { 
      {1, 1/3, 1/2}, 
      {3, 1, 1 }, 
      {2, 1, 1} 
     }; 
     double[] eigenValue; 
     double[,] eigenVector; 


     alglib.smatrixevd(matrix, 3, 1, false, out eigenValue, out eigenVector); 
    } 

答えて

1

サードパーティライブラリを使用する場合は、必ず付属のマニュアルをよくお読みください。

A:それははっきり述べsmatrixevdの場合

強調のためにその上三角または下三角部分によって与えられる対称行列...

太字部分。

あなたの入力行列は対称ではないので、そこに行きます。

あなたは一般的な行列のために呼び出したい関数は、あなたが1 .csファイルのファイルが依存しているbecoz固有値と固有ベクトルの結果を得るためにalglibでライブラリファイルに存在するすべての11の.csファイルを含める必要がrmatrixevd

+0

を参照してください。私は、行列も行と列の数が同じであると思ったことを認めなければなりません...それを見ていただき、ありがとうございます。 – tomiG

+0

@ user3699148これは行と列とは関係ありません。最初は正方行列の固有値のみを評価することができます。対称行列とは、行列Aが与えられたとき、それは転置行列が同じであることを意味する。 '転置(A)= A'です。 – InBetween

1

です他の.csファイルに保存します。気にかけておいて!!!!!!!!!!!次のように

CSファイルは以下のとおりです。

alglibmisc.cs - contains different algorithms which are hard to classify 
dataanalysis.cs - contains data mining algorithms 
diffequations.cs - contains differential equation solvers 
fasttransforms.cs - contains FFT and other related algorithms 
integration.cs - contains numerical integration algorithms 
interpolation.cs - contains interpolation algorithms 
linalg.cs - contains linear algebra algorithms 
optimization.cs - contains optimization algorithms 
solvers.cs - contains linear and nonlinear solvers 
specialfunctions.cs - contains special functions 
statistics.cs - statistics 
alglibinternal.cs - contains internal functions which are used by other packages, but not exposed to the external world 
ap.cs - contains publicly accessible vector/matrix classes, most important and general functions and other "basic" functionality. 

詳しい情報は、この見て取得するには:私はこれを試してみました、それが動作しますHow to use eigen vector library

:固有ベクトルと固有値についてManual of alglib

これを見て。 ..

関連する問題