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

📄 sample3_17.cs

📁 使用C#编辑的一些矩阵运算的源程序
💻 CS
字号:
/*
 * 示例程序Sample3_17: Matrix类的求赫申伯格矩阵全部特征值的QR方法
 */

using System;
using CSharpAlgorithm.Algorithm;

namespace CSharpAlgorithm.Sample
{
	class Class1
	{
		[STAThread]
		static void Main(string[] args)
		{
            // 矩阵数据
            double[] mtxData18 = {
                                     1.0,6.0,-3.0,-1.0,7.0,
                                     8.0,-15.0,18.0,5.0,4.0,
                                     -2.0,11.0,9.0,15.0,20.0,
                                     -13.0,2.0,21.0,30.0,-6.0,
                                     17.0,22.0,-5.0,3.0,6.0};
            Matrix mtx18 = new Matrix(5, 5, mtxData18);

            // 求赫申伯格矩阵全部特征值的QR方法
            // 1: 生成赫申伯格矩阵
            mtx18.MakeHberg();
            Console.WriteLine("赫申伯格矩阵=");
            Console.WriteLine(mtx18);
		
            // 2: 计算全部特征值的QR方法
            double[] uArray = new double[mtx18.GetNumColumns()];
            double[] vArray = new double[mtx18.GetNumColumns()];
            if (mtx18.ComputeEvHBerg(uArray, vArray, 60, 0.0001))
            {
                Console.WriteLine("特征值=");
                for (int i=0; i<mtx18.GetNumColumns(); ++i)
                {
                    Complex cp = new Complex(uArray[i], vArray[i]);
                    Console.WriteLine(cp);
                }
            }
            else
            {
                Console.WriteLine("失败");
            }
        }
	}
}

⌨️ 快捷键说明

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