sample3_14.cs

来自「C#的数值计算的几乎所有算法」· CS 代码 · 共 46 行

CS
46
字号
/*
 * 示例程序Sample3_14: Matrix类的约化对称矩阵为对称三对角阵的豪斯荷尔德变换法
 */

using System;
using CSharpAlgorithm.Algorithm;

namespace CSharpAlgorithm.Sample
{
	class Class1
	{
		[STAThread]
		static void Main(string[] args)
		{
            // 矩阵数据
            double[] mtxData15 = {
                                     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 mtx15 = new Matrix(5, 5, mtxData15);

            // 约化对称矩阵为对称三对角阵的豪斯荷尔德变换法
            Matrix mtxQ1 = new Matrix();
            Matrix mtxT = new Matrix();
            double[] bArray = new double[mtx15.GetNumColumns()];
            double[] cArray = new double[mtx15.GetNumColumns()];
            if (mtx15.MakeSymTri(mtxQ1, mtxT, bArray, cArray))
            {
                Console.WriteLine("乘积矩阵Q=");
                Console.WriteLine(mtxQ1);
                Console.WriteLine("-------------------------------"); 
                Console.WriteLine("三对角阵=");
                Console.WriteLine(mtxT);
            }
            else
            {
                Console.WriteLine("失败");
            }
        }
	}
}

⌨️ 快捷键说明

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