📄 sample3_17.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 + -