从矩阵中求特征向量

本文关键字:特征 向量 | 更新日期: 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

对于特征向量和特征值看如下:如何使用特征向量库