# How to Make a Matrix Diagonal with Matlab?

12 次查看（过去 30 天）
Hollis Williams2018-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

### 回答（1 个）

Roger Stafford 2018-4-10

Call on Matlab's 'svd' function. Read about it at:
https://www.mathworks.com/help/matlab/ref/svd.html
or possible you need the 'eig' function at:
https://www.mathworks.com/help/matlab/ref/eig.html

### Community Treasure Hunt

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

Start Hunting!

Translated by