I have a symmetric matrix found from the following commands:

a=rand(n);
A=triu(a)+triu(a,1)'

I was wondering how I reduce this symmetric matrix into a tridiagonal matrix?

Any help is appreciated. Thank you very much.

有帮助吗?

解决方案

What you want is to find the upper Hessenberg form of your matrix. For a symmetric matrix, this is tridiagonal.

Use the command hess to do this:

B=hess(A); 
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top