⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sample3_15.cs

📁 使用C#编辑的一些矩阵运算的源程序
💻 CS
字号:
/*
 * 示例程序Sample3_15: Matrix类的实对称三对角阵的全部特征值与特征向量的计算
 */

using System;
using CSharpAlgorithm.Algorithm;

namespace CSharpAlgorithm.Sample
{
	class Class1
	{
		[STAThread]
		static void Main(string[] args)
		{
            // 矩阵数据
            double[] mtxData16 = {
                                     10.0,1.0,2.0,3.0,4.0,
                                     1.0,9.0,-1.0,2.0,-3.0,
                                     2.0,-1.0,7.0,3.0,-5.0,
                                     3.0,2.0,3.0,12.0,-1.0,
                                     4.0,-3.0,-5.0,-1.0,15.0};

            // 构造矩阵
            Matrix mtx16 = new Matrix(5, 5, mtxData16);

            // 实对称三对角阵的全部特征值与特征向量的计算
            Matrix mtxQ2 = new Matrix();
            Matrix mtxT2 = new Matrix();
            double[] bArray2 = new double[mtx16.GetNumColumns()];
            double[] cArray2 = new double[mtx16.GetNumColumns()];
            // 1: 约化对称矩阵为对称三对角阵: 豪斯荷尔德变换法
            if (mtx16.MakeSymTri(mtxQ2, mtxT2, bArray2, cArray2))
            {
                // 2: 计算全部特征值与特征向量
                if (mtx16.ComputeEvSymTri(bArray2, cArray2, mtxQ2, 60, 0.0001))
                {
                    Console.WriteLine("特征值=");
                    String s = "";
                    for (int i=0; i<mtxQ2.GetNumColumns(); ++i)
                    {
                        s += bArray2[i].ToString("F") + ", ";
                    }
                    Console.WriteLine(s);
                    Console.WriteLine("-------------------------------"); 
                    Console.WriteLine("对应的特征向量=");
                    for (int i=0; i<mtxQ2.GetNumColumns(); ++i)
                    {
                        Console.WriteLine(mtxQ2.ToStringCol(i, ", "));
                    }
                }
                else
                {
                    Console.WriteLine("失败");
                }
            }
            else
            {
                Console.WriteLine("失败");
            }
        }
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -