从矩阵中求特征向量
本文关键字:特征 向量 | 更新日期: 2023-09-27 18:04:35
我正在尝试使用这个视频(4:50)制作AHP程序。我被困在寻找特征向量的标准权重。我使用了这个网页上的类库,但结果差别很大。
这是目前为止我写的测试代码。
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);
}
在使用第三方库时,您应该始终非常仔细地阅读所提供的文档。
对于smatrixevd
,它清楚地说明:
A: 对称矩阵,由其上三角部或下三角部给出…
加粗部分以示强调。
你的输入矩阵不是对称的,所以就是这样。
对于一般矩阵,您要调用的函数是rmatrixevd
您必须包括所有11 .cs库文件存在于alglib中,以获得特征值和特征向量的结果,因为一个。cs文件依赖于其他。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.
要获得更多信息,请参阅:Manual of alglib
对于特征向量和特征值看如下:如何使用特征向量库