How to Make a Matrix Diagonal with Matlab?

조회 수: 23(최근 30일)
Hollis Williams
Hollis Williams 2018년 4월 10일
편집: Roger Stafford 2018년 4월 10일
I am working on a quantum mechanics problem and would like to get a 4x4 matrix A into diagonal form such that A=UDU^{-1}. Basically I just need to know the values of D and U required in the expression to make A a diagonal matrix (where D is diagonal) as I can then use it to do an explicit calculation for a matrix exponential. As it is the matrix is not diagonal, so I cannot use the explicit expression for the matrix exponential. Is there a code with Matlab that can calculate D and U simply?
The matrix is 4 x 4 and has elements
1 0 0 1
0 -1 1 0
0 1 -1 0
1 0 0 1


Roger Stafford
Roger Stafford 2018년 4월 10일
편집: Roger Stafford 2018년 4월 10일
Call on Matlab's 'svd' function. Read about it at:
or possible you need the 'eig' function at:



Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by