xelmhes.c

来自「< C语言数值算法程序大全>>配套程序」· C语言 代码 · 共 44 行

C
44
字号
/* Driver for routine elmhes */

#include <stdio.h>
#include "nr.h"
#include "nrutil.h"

#define NP 5

main()
{
	int i,j;
	static float b[NP][NP]=
		{1.0,2.0,300.0,4.0,5.0,
		2.0,3.0,400.0,5.0,6.0,
		3.0,4.0,5.0,6.0,7.0,
		4.0,5.0,600.0,7.0,8.0,
		5.0,6.0,700.0,8.0,9.0};
	float **a;

	a=convert_matrix(&b[0][0],1,NP,1,NP);
	printf("***** original matrix *****\n");
	for (i=1;i<=NP;i++) {
		for (j=1;j<=NP;j++) printf("%12.2f",a[i][j]);
		printf("\n");
	}
	printf("***** balance matrix *****\n");
	balanc(a,NP);
	for (i=1;i<=NP;i++) {
		for (j=1;j<=NP;j++) printf("%12.2f",a[i][j]);
		printf("\n");
	}
	printf("***** reduce to hessenberg form *****\n");
	elmhes(a,NP);
	for (j=1;j<=NP-2;j++)
		for (i=j+2;i<=NP;i++)
			a[i][j]=0.0;
	for (i=1;i<=NP;i++) {
		for (j=1;j<=NP;j++) printf("%12.2e",a[i][j]);
		printf("\n");
	}
	free_convert_matrix(a,1,NP,1,NP);
	return 0;
}

⌨️ 快捷键说明

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